:root{--ink:#173c55;--blue:#246997;--line:#dde7ec;--muted:#617c8d;--bg:#f3f7fa}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);font:14px system-ui,-apple-system,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #ccdbe4;border-radius:7px;margin-top:6px;color:var(--ink);background:white}textarea{min-height:90px}input[type=checkbox]{width:auto}label{display:block;font-size:12px;font-weight:650;color:var(--muted)}button{border:1px solid #ccdbe4;background:white;padding:10px 15px;border-radius:7px;color:var(--ink)}button.primary{background:var(--blue);color:white;border-color:var(--blue)}h1{font-size:30px;letter-spacing:-1px;margin:0}h2{font-size:21px;margin:0 0 20px}h3{font-size:16px}p{color:var(--muted);line-height:1.6}aside{position:fixed;inset:0 auto 0 0;background:var(--ink);color:white;width:230px;padding:30px 18px}.brand{font-size:30px;font-weight:750;letter-spacing:-1.5px}.brand span,.welcome h1 span{color:#9bd2e8}.brand small{display:block;font-size:11px;letter-spacing:0;color:#c0d6e2;font-weight:400;margin-top:6px}.nav{margin-top:35px}.nav button{display:block;width:100%;text-align:left;color:#c9dce6;border:0;background:none;margin:6px 0}.nav button.active{background:#ffffff18;color:white}.user{font-size:12px;margin-top:35px;color:#c0d6e2;line-height:1.6}.user button{margin-top:12px}main{margin-left:230px;padding:30px 36px;max-width:1800px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.tag{font-size:11px;text-transform:uppercase;letter-spacing:1.4px;font-weight:700;color:var(--blue)}.notice{padding:13px 17px;background:#fff5df;color:#856020;border-radius:8px;margin-bottom:22px;font-size:12px}.card{padding:24px;border:1px solid var(--line);border-radius:12px;background:white;margin-bottom:20px}.row{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin:15px 0}.row label{min-width:160px;flex:1}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.full{grid-column:1/-1}.welcome{max-width:500px;margin:7vh auto;padding:35px;background:white;border:1px solid var(--line);border-radius:15px}.welcome label{margin-bottom:15px}.welcome h1{margin-bottom:10px}.error{color:#ac3838;line-height:1.5}.muted{font-size:12px;color:var(--muted)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}td,th{padding:14px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:11px;color:var(--muted);text-transform:uppercase;background:#f7fafb}td small{display:block;color:var(--muted);margin-top:4px}.badge{display:inline-block;padding:5px 9px;border-radius:20px;font-size:11px;background:#eaf3f8;color:var(--blue)}.calendar{overflow:auto;border:1px solid var(--line);border-radius:9px}.calendar-head,.calendar-row{display:grid;grid-template-columns:60px repeat(7,minmax(125px,1fr));min-width:1000px}.calendar-head>div{padding:12px;background:#f0f6fa;font-size:12px;font-weight:650;border-right:1px solid var(--line)}.calendar-row>div{padding:4px;min-height:62px;border-top:1px solid var(--line);border-right:1px solid var(--line)}.time{font-size:11px;color:var(--muted);padding:10px!important}.slot{font-size:11px;border:0;padding:4px 7px;color:#65899f;background:#f5f9fb;margin:2px}.event{display:block;width:100%;text-align:left;font-size:11px;padding:7px;background:#e7f2fa;border:0;border-left:3px solid var(--blue);margin-bottom:4px}.event.cancel{background:#f0f1f2;border-color:#919da4}.event.absent{background:#ffeded;border-color:#b85555}.event.done{background:#e8f5ee;border-color:#4d9574}.event small{display:block}.blocked{background:repeating-linear-gradient(135deg,#eee,#eee 8px,#fafafa 8px,#fafafa 16px);padding:5px;font-size:10px;color:#6c7b83}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:14px}.metrics strong{display:block;font-size:27px;margin-top:8px}dialog{max-width:780px;width:calc(100% - 30px);border:1px solid var(--line);border-radius:14px;padding:28px;color:var(--ink);max-height:90vh}dialog::backdrop{background:#13324799}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}#toast{position:fixed;right:20px;bottom:20px;background:var(--ink);color:white;padding:15px 22px;border-radius:8px;display:none;max-width:90vw;z-index:100}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:13px system-ui}.empty{padding:25px;text-align:center;color:var(--muted)}[hidden]{display:none!important}@media(max-width:850px){aside{position:static;width:100%;padding:18px}.nav{display:flex;overflow:auto;margin-top:20px}.nav button{white-space:nowrap;width:auto}.user{margin-top:15px}.user button{margin:0 0 0 10px}main{margin:0;padding:20px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}header{gap:15px}h1{font-size:24px}.calendar-head,.calendar-row{min-width:960px}}

.brand{display:flex;align-items:center;gap:12px;font-size:26px;letter-spacing:-.6px}.brand img{width:48px;height:48px;object-fit:contain;flex-shrink:0}.brand small{font-size:12px}.welcome-logo{display:block;width:76px;height:76px;object-fit:contain;margin-bottom:18px}

.calendar-day .calendar-head,.calendar-day .calendar-row{grid-template-columns:60px minmax(250px,1fr);min-width:0}.calendar-head .is-today{background:#d9f2fc;color:#075d92}.calendar-row>.is-today{background-color:#f3fbff}.calendar-head .selected-date{box-shadow:inset 0 -3px #246997}.calendar-summary{font-weight:600;color:var(--ink)}button[aria-pressed=true]{background:#e0f1fa;border-color:var(--blue)}.calendar[aria-busy=true]{opacity:.65}
