*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #ffffff;--bg2: #f7f6f3;--bg3: #f0ede8;--border: rgba(0,0,0,.12);--border2: rgba(0,0,0,.22);--text: #1a1a18;--text2: #5a5a56;--text3: #9a9a94;--blue: #185FA5;--blue-bg: #E6F1FB;--green: #1D9E75;--green-bg: #E1F5EE;--green-dark: #085041;--amber: #BA7517;--amber-bg: #FAEEDA;--red: #E24B4A;--red-bg: #FCEBEB;--purple: #534AB7;--purple-bg: #EEEDFE;--radius: 8px;--radius-lg: 12px;--bottom-nav-height: 56px}[data-theme=dark]{--bg: #1c1c1a;--bg2: #252523;--bg3: #303030;--border: rgba(255,255,255,.13);--border2: rgba(255,255,255,.22);--text: #f0ede8;--text2: #a8a8a2;--text3: #6a6a64;--blue: #5BA3E8;--blue-bg: #0d2a42;--green: #2ec48d;--green-bg: #0a2a1e;--green-dark: #9FE1CB;--amber: #e8a93a;--amber-bg: #2a1f08;--red: #e85b5a;--red-bg: #2a0f0f;--purple: #8f88e8;--purple-bg: #1a1840}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;transition:background .2s,color .2s}button{font-family:inherit;font-size:13px;cursor:pointer;border:.5px solid var(--border2);background:transparent;color:var(--text);padding:6px 13px;border-radius:var(--radius);transition:background .1s,opacity .1s;-webkit-tap-highlight-color:transparent}button:hover{background:var(--bg2)}button:active{transform:scale(.97)}button:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:var(--text)!important;color:var(--bg)!important;border-color:var(--text)!important}.btn-primary:hover{opacity:.85}input,select,textarea{font-family:inherit;font-size:13px;color:var(--text);background:var(--bg);border:1px solid var(--border2);border-radius:var(--radius);padding:7px 10px;outline:none;width:100%;transition:border-color .1s;-webkit-appearance:none}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 2px #185fa51f}.card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px}.tag{display:inline-block;font-size:11px;font-weight:500;padding:2px 8px;border-radius:20px;white-space:nowrap}.tag-green{background:var(--green-bg);color:#1a7a52}.tag-amber{background:var(--amber-bg);color:#8a5010}.tag-blue{background:var(--blue-bg);color:#0c447c}.tag-purple{background:var(--purple-bg);color:#3c3489}.tag-red{background:var(--red-bg);color:#791f1f}.tag-gray{background:var(--bg3);color:var(--text2)}[data-theme=dark] .tag-green{color:#9fe1cb}[data-theme=dark] .tag-amber{color:#fac775}[data-theme=dark] .tag-blue{color:#85b7eb}[data-theme=dark] .tag-purple{color:#afa9ec}[data-theme=dark] .tag-red{color:#f09595}a{color:inherit;text-decoration:none}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:flex-end;justify-content:center;z-index:1000;padding:0}@media (min-width: 640px){.overlay{align-items:center;padding:20px}}.modal{background:var(--bg);border-radius:var(--radius-lg) var(--radius-lg) 0 0;border:1px solid var(--border);width:100%;max-width:100%;max-height:92vh;overflow-y:auto}@media (min-width: 640px){.modal{border-radius:var(--radius-lg);max-width:500px;max-height:88vh}.modal-lg{max-width:820px}}.avail-grid-wrap{overflow:auto;border:1px solid var(--border);border-radius:var(--radius);max-height:480px;-webkit-user-select:none;user-select:none;-webkit-overflow-scrolling:touch}.avail-grid{display:grid;gap:2px;padding:8px;min-width:max-content}.avail-hdr{font-size:11px;font-weight:500;color:var(--text2);text-align:center;padding:4px 2px;min-width:58px;position:sticky;top:0;background:var(--bg);z-index:5;white-space:nowrap}.avail-time{font-size:10px;color:var(--text3);text-align:right;padding-right:5px;height:28px;display:flex;align-items:center;justify-content:flex-end;width:52px;white-space:nowrap}.avail-cell{height:28px;min-width:58px;border-radius:3px;background:var(--bg2);border:.5px solid var(--border);cursor:pointer;transition:background .05s;touch-action:none}.avail-cell.selected{background:#b5d4f4;border-color:#185fa5}.avail-cell.tentative{background:#faeeda;border-color:#ba7517}[data-theme=dark] .avail-cell{background:var(--bg3);border-color:var(--border)}[data-theme=dark] .avail-cell.selected{background:#0d2a42;border-color:var(--blue)}[data-theme=dark] .avail-cell.tentative{background:#2a1f08;border-color:var(--amber)}.heat-cell{height:28px;min-width:58px;border-radius:3px;cursor:default;position:relative}.heat-cell .tooltip{display:none;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);background:var(--text);color:var(--bg);font-size:11px;padding:4px 8px;border-radius:5px;white-space:nowrap;z-index:100;pointer-events:none}.heat-cell:hover .tooltip{display:block}.bottom-nav{display:none}@media (max-width: 639px){.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:var(--bottom-nav-height);background:var(--bg);border-top:1px solid var(--border);z-index:500;align-items:stretch}.main-content-mobile{padding-bottom:var(--bottom-nav-height)}.desktop-sidebar{display:none!important}}@media (min-width: 640px){.desktop-sidebar{display:flex!important}}.bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:10px;color:var(--text3);cursor:pointer;border:none;background:transparent;padding:0;-webkit-tap-highlight-color:transparent;position:relative}.bottom-nav-item.active{color:var(--text)}.bottom-nav-item svg{width:20px;height:20px}.bottom-nav-badge{position:absolute;top:6px;right:calc(50% - 14px);width:7px;height:7px;border-radius:50%;background:var(--red)}@media (max-width: 639px){.page-pad{padding:14px}.page-topbar{padding:0 14px}}@media (min-width: 640px){.page-pad{padding:20px}.page-topbar{padding:0 20px}}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 480px){.two-col{grid-template-columns:1fr}}.three-col{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}@media (max-width: 600px){.three-col{grid-template-columns:1fr}}.warning-box{background:var(--amber-bg);border:1px solid var(--amber);border-radius:var(--radius);padding:10px 13px;font-size:12px;color:var(--amber);line-height:1.6}[data-theme=dark] .warning-box{color:#fac775}
