:root{--ink:#000000;--brand:#2F4550;--slate:#586F7C;--mint:#B8DBD9;--paper:#F4F4F9;--line:#586F7C;color-scheme:light}*{box-sizing:border-box}body{margin:0;font:16px/1.5 system-ui,'Segoe UI',sans-serif;color:var(--ink);background:var(--paper)}header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 24px;background:white;border-bottom:1px solid var(--line)}.logo{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:700}.symbol{display:grid;place-items:center;width:38px;height:38px;background:var(--brand);color:white;border-radius:5px}.account{display:flex;align-items:center;gap:12px}.account form{margin:0}.shell{display:grid;grid-template-columns:190px minmax(0,1fr)}nav{padding:20px 12px;background:white;border-right:1px solid var(--line)}nav a{display:block;padding:11px 12px;margin:2px 0;color:var(--brand);text-decoration:none;border-radius:4px}nav a:hover,nav a[aria-current=page]{background:var(--mint);color:var(--ink)}.nav-note{margin:30px 12px 0;font-size:13px;color:var(--brand)}main{padding:26px;max-width:1400px;width:100%;min-width:0;min-height:85vh}h1{font-size:26px;line-height:1.2;margin:0 0 8px}h2{font-size:18px;margin:0 0 8px}h3{font-size:16px;margin:0 0 6px}p{margin:0 0 12px}a{color:var(--brand);text-underline-offset:3px}.panel{background:white;border:1px solid var(--line);border-radius:6px;padding:20px;margin:18px 0}.titlebar,.row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.stats strong{display:block;font-size:30px;margin-top:6px}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.full{grid-column:1/-1}label{display:block;margin-bottom:6px;font-weight:600;color:var(--brand)}input,select,textarea{font:inherit;width:100%;min-width:0;padding:10px;border:1px solid var(--slate);border-radius:4px;background:white;color:var(--ink)}textarea{min-height:95px;resize:vertical}button,.button{font:inherit;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 14px;border:1px solid var(--brand);border-radius:4px;background:var(--brand);color:white;cursor:pointer;text-decoration:none}.secondary{background:white;color:var(--brand)}button:hover,.button:hover{box-shadow:0 0 0 2px var(--mint)}:focus-visible{outline:3px solid var(--brand);outline-offset:3px}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:16px}.actions input{flex:1;min-width:130px}.item{padding:16px 0;border-bottom:1px solid #B8DBD9;overflow-wrap:anywhere}.item:last-child{border:0}.badge{display:inline-block;border-radius:4px;padding:4px 8px;background:var(--mint);color:var(--brand);margin:3px 4px 3px 0}.hint{margin-top:16px;color:var(--brand)}.notice{padding:12px;border:1px solid var(--brand);background:var(--mint);border-radius:4px;margin-bottom:16px}.errorlist{color:#000;font-weight:600;border-left:4px solid var(--brand);padding-left:24px}.login{max-width:440px;margin:30px auto}@media(max-width:700px){header{padding:14px;flex-wrap:wrap}.shell{display:block}nav{display:flex;flex-wrap:wrap;border-right:0;border-bottom:1px solid var(--line);padding:8px}nav a{padding:8px;font-size:14px}.nav-note{display:none}main{padding:16px}.fields{grid-template-columns:1fr}.stats{grid-template-columns:1fr}.stats .panel{margin:0}.account{font-size:14px}.panel{padding:16px}.full{grid-column:auto}}
[hidden]{display:none!important}.client-choice{padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid var(--mint)}.client-choice> .field{max-width:430px}.client-choice .fields{margin-top:16px}.income-totals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0 26px}.income-totals>div{background:var(--paper);padding:16px;border-radius:4px}.income-totals strong{display:block;font-size:26px;margin-top:8px}.income-row{padding:16px 0;border-bottom:1px solid var(--mint)}.bar-track{height:18px;background:var(--paper);border:1px solid var(--slate);border-radius:3px;margin:8px 0}.income-bar{height:100%;background:var(--brand);border-radius:2px}.income-panel:nth-of-type(2) .income-bar{background:var(--slate)}@media(max-width:700px){.income-totals{grid-template-columns:1fr}.income-totals strong{font-size:23px}}
.calendar-controls{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.calendar-controls input{width:auto}.calendar-controls label{margin:0}.calendar-scroll{height:650px;overflow:auto;border:1px solid var(--slate);border-radius:5px;background:white;position:relative}.calendar-grid{display:grid;grid-template-columns:64px repeat(7,minmax(125px,1fr));min-width:940px}.calendar-header{position:sticky;top:0;z-index:4;background:var(--paper);border-right:1px solid var(--mint);border-bottom:1px solid var(--slate);padding:10px;text-align:center;height:68px}.calendar-header strong,.calendar-header span{display:block}.calendar-header.today{background:var(--mint)}.hour-column,.day-column{height:1152px;position:relative;background:repeating-linear-gradient(to bottom,transparent 0,transparent 47px,#B8DBD9 47px,#B8DBD9 48px);border-right:1px solid var(--mint)}.hour-column{background:var(--paper);position:sticky;left:0;z-index:3}.time-header{left:0;z-index:5}.hour-label{position:absolute;left:6px;font-size:12px;color:var(--brand)}.calendar-event{position:absolute;display:block;padding:3px 5px;border:1px solid var(--brand);border-radius:4px;background:var(--mint);color:var(--ink);text-decoration:none;overflow:hidden;font-size:12px;line-height:18px;z-index:1}.calendar-event strong,.calendar-event span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event.confirmed{background:var(--brand);color:white}.calendar-event:hover{outline:2px solid var(--ink);z-index:2}.day-empty{position:absolute;top:365px;width:100%;text-align:center;color:var(--brand);font-size:13px}@media(max-width:700px){.calendar-scroll{height:550px}.calendar-controls .actions{gap:6px}.calendar-controls .button{font-size:14px;padding:8px}.calendar-grid{min-width:940px}}

input[type=checkbox]{width:22px;height:22px;min-height:22px;vertical-align:middle}details{margin:18px 0;border-top:1px solid var(--mint);padding-top:16px}summary{font-weight:650;color:var(--brand);cursor:pointer;margin-bottom:14px}.section-tabs{display:flex;gap:10px;flex-wrap:wrap;border:0;background:var(--mint);border-radius:4px;padding:10px}.section-tabs a{padding:8px}.otp-qr svg{max-width:100%;height:auto;max-height:300px}section[id]{scroll-margin-top:18px}.errorlist{background:#F4F4F9;padding:10px 10px 10px 24px}.filter-form{margin-bottom:20px}.printable h2{margin-top:22px}@media print{header,nav,.no-print{display:none!important}.shell{display:block}main{padding:0}.panel{border:0}body{background:white}}

.appointment-status.in-progress{font-weight:750;text-decoration:underline}.calendar-event .appointment-status{white-space:normal;line-height:15px;font-size:11px}
