:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#17243b;background:#f3f6fb}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.topbar{height:68px;background:#101b30;color:white;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 clamp(18px,3vw,44px)}.brand{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:800;letter-spacing:.08em;white-space:nowrap}.brand b{color:#ffbe30}.brand-mark{font-size:24px;color:#ffbe30}.topbar nav{display:flex;align-items:center;gap:5px;height:100%}.topbar nav a{padding:12px 15px;border-radius:10px;color:#b8c5da;font-size:13px;font-weight:700}.topbar nav a:hover,.topbar nav .current{color:white;background:#ffffff1b}.user{display:flex;align-items:center;gap:16px;font-size:12px;color:#d5e0ef;white-space:nowrap}.user button{border:1px solid #526078;background:none;border-radius:9px;padding:8px 10px;color:#fff}main{max-width:1580px;margin:auto;padding:clamp(20px,3vw,44px)}.heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:27px}.eyebrow{font-size:10px;letter-spacing:.19em;font-weight:900;color:#ba7600}.heading h1{font-size:clamp(32px,3.2vw,49px);letter-spacing:-.045em;margin:9px 0 7px}.heading p,.side-header p{margin:0;color:#6f7f99;font-size:14px}.primary{border:0;border-radius:11px;background:#ffbf2f;color:#172138;font-weight:800;padding:13px 18px;box-shadow:0 6px 15px #e8a5272d}.primary:hover{background:#ffcf5b}.toolbar{display:flex;align-items:end;justify-content:space-between;gap:18px;background:white;border:1px solid #e0e8f3;border-radius:16px;padding:14px 18px;margin-bottom:17px;box-shadow:0 5px 18px #375b8509}.toolbar label,.form-grid label{display:grid;gap:7px;font-size:12px;font-weight:750;color:#43536c}.toolbar select{min-width:195px}.toolbar select,.form-grid input,.form-grid select,.form-grid textarea{background:white;color:#14213a;border:1px solid #cbd8e9;border-radius:9px;padding:10px 12px;outline:none}.toolbar select:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#4398ea;box-shadow:0 0 0 3px #7fbaff30}.navigator{display:flex;align-items:center;gap:5px}.navigator button,.view-switch button,.dialog-actions button:not(.primary){border:1px solid #d7e3f1;border-radius:9px;background:#fff;color:#30425e;padding:9px 12px;font-weight:700}.navigator button:first-child,.navigator button:nth-child(3){font-size:22px;line-height:17px}.navigator strong{font-size:17px;margin-left:12px;min-width:150px;text-transform:capitalize}.view-switch{display:flex;background:#f0f4fa;padding:4px;border-radius:10px}.view-switch button{border:0;background:transparent;padding:8px 13px;color:#6a7c96;font-size:12px}.view-switch button.active{background:white;color:#14294a;box-shadow:0 2px 6px #1d426322}.layout{display:grid;grid-template-columns:minmax(0,1fr) 335px;gap:18px;align-items:start}.calendar-card,.side{background:white;border:1px solid #e0e8f3;border-radius:17px;box-shadow:0 7px 25px #3b60900e;overflow:hidden}.calendar{min-height:550px}.weekdays,.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekdays{background:#f8fafd;border-bottom:1px solid #e6edf6}.weekdays span{padding:14px 9px;color:#75849a;font-size:11px;text-align:center;text-transform:uppercase;font-weight:800;letter-spacing:.08em}.day-cell{min-height:108px;border-right:1px solid #edf1f7;border-bottom:1px solid #edf1f7;padding:9px;cursor:pointer;overflow:hidden}.day-cell:nth-child(7n){border-right:0}.day-cell:hover,.day-cell.selected{background:#fffaf0}.day-cell.outside{background:#fbfcfe;color:#adbacb}.day-number{font-size:12px;font-weight:800;display:inline-flex;width:27px;height:27px;align-items:center;justify-content:center;border-radius:50%}.day-cell.today .day-number{background:#ffbe30;color:#19243a}.event-pill{display:block;width:100%;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:4px 0 0;padding:5px 7px;border:0;border-left:3px solid;border-radius:5px;background:#edf5ff;color:#245c91;font-size:10px;font-weight:700}.event-pill.booking,.event-card.booking{border-color:#05a991;background:#e8fbf5;color:#087866}.event-pill.task,.event-card.task{border-color:#7a62da;background:#f0edff;color:#5c46b4}.event-pill.block,.event-card.block{border-color:#ee8c4e;background:#fff2e7;color:#a45825}.event-pill.tentative{opacity:.65}.event-pill.cancelled{text-decoration:line-through;opacity:.45}.more{font-size:10px;color:#63748c;padding:3px}.side-header{padding:21px 22px;border-bottom:1px solid #e8edf6}.side-header h2{margin:7px 0;font-size:20px;letter-spacing:-.03em}.event-list{padding:14px;max-height:610px;overflow:auto;min-height:250px}.event-card{display:block;width:100%;text-align:left;border:0;border-left:4px solid #388de0;background:#f1f7ff;color:#245c91;border-radius:9px;padding:12px;margin-bottom:8px}.event-card strong{display:block;font-size:13px;color:#17243b;margin:4px 0}.event-card small{font-size:11px}.event-card span{display:block;font-size:11px;opacity:.8}.empty{color:#7a8ba2;font-size:13px;line-height:1.5;padding:12px}.legend{display:flex;flex-wrap:wrap;gap:8px 12px;padding:15px 22px;border-top:1px solid #e8edf6;font-size:10px;color:#61718b}.legend span{display:flex;align-items:center;gap:5px}.legend i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#388de0}.legend i.booking{background:#05a991}.legend i.task{background:#7a62da}.legend i.block{background:#ee8c4e}.compact-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.compact-grid .day-cell{min-height:440px}.compact-grid.day-view{grid-template-columns:1fr}.compact-grid.day-view .day-cell{min-height:440px}.compact-grid .event-pill{white-space:normal;overflow:visible}.notice{padding:12px 15px;border-radius:9px;background:#fff1df;color:#7c4d13;font-size:13px}dialog{width:min(670px,calc(100vw - 26px));max-height:calc(100vh - 30px);overflow:auto;border:1px solid #dbe5f1;border-radius:18px;padding:0;box-shadow:0 25px 70px #0d284b4a}dialog::backdrop{background:#0d1d34a8}#event-form{padding:25px}.dialog-head{display:flex;align-items:start;justify-content:space-between}.dialog-head h2{font-size:25px;margin:8px 0 20px}.close{background:#f0f4fa;border:0;border-radius:8px;font-size:25px;width:34px;height:34px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid .wide{grid-column:1/-1}.form-grid small{font-weight:400;color:#7688a2}.form-grid textarea{resize:vertical}.dialog-actions{display:flex;justify-content:end;gap:9px;margin-top:22px}.dialog-actions .danger{margin-right:auto;color:#ae3434!important}.form-error{color:#aa3333;background:#fff0f0;padding:10px;border-radius:8px;font-size:12px}@media(max-width:1050px){.layout{grid-template-columns:1fr}.side{display:block}.event-list{min-height:0}.topbar nav{display:none}}@media(max-width:700px){.toolbar{flex-wrap:wrap}.navigator{order:3;width:100%}.heading{align-items:start}.heading .primary{white-space:nowrap}.day-cell{min-height:80px;padding:4px}.event-pill{font-size:0;height:7px;padding:0;border-radius:5px}.weekdays span{font-size:9px;padding:10px 0}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.user span{display:none}}
[hidden]{display:none!important}
