:root{color:#1c2530;--accent:#1f6feb;background:#f5f7fa;font-family:system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}.topbar{background:#fff;border-bottom:1px solid #dde3ea;flex-wrap:wrap;align-items:center;gap:1.5rem;padding:.75rem 1rem;display:flex}.topbar nav{flex-wrap:wrap;gap:1rem;display:flex}.topbar nav a{color:inherit;padding:.25rem 0;text-decoration:none}.topbar nav a.active{color:var(--accent);font-weight:600}.content{max-width:56rem;margin:0 auto;padding:1rem}.topbar .spacer{flex:1}.muted{color:#66707c}.auth-loading{text-align:center;padding:2rem}.error{color:#b42318}.login-page{place-items:center;min-height:100vh;padding:1rem;display:grid}.card{background:#fff;border:1px solid #dde3ea;border-radius:8px;margin-bottom:1rem;padding:1rem}.login-page .card{width:100%;max-width:24rem}.form{gap:.75rem;display:grid}.form label,.form fieldset{gap:.25rem;font-size:.9rem;display:grid}.form fieldset{border:1px solid #dde3ea;border-radius:6px;flex-wrap:wrap;gap:.5rem 1rem;display:flex}.form legend{padding:0 .25rem}.form label.check{align-items:center;gap:.5rem;display:flex}.divider{text-align:center;color:#66707c;margin-top:1rem;font-size:.85rem}input,select,textarea{font:inherit;background:#fff;border:1px solid #c3ccd6;border-radius:6px;padding:.4rem .5rem}input[type=checkbox]{padding:0}.btn{font:inherit;cursor:pointer;background:#fff;border:1px solid #c3ccd6;border-radius:6px;padding:.45rem .9rem}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.danger{color:#b42318;border-color:#e6b3ae}.btn.small{padding:.2rem .55rem;font-size:.85rem}.btn:disabled{opacity:.6;cursor:default}.form-actions{gap:.5rem;display:flex}.section-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.section-head h2{margin:.5rem 0}.subnav{flex-wrap:wrap;gap:.25rem 1rem;margin-bottom:.75rem;display:flex}.subnav a{color:inherit;border-bottom:2px solid #0000;padding:.25rem 0;text-decoration:none}.subnav a.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;background:#fff;width:100%}.table th,.table td{text-align:left;vertical-align:middle;border-bottom:1px solid #e6ebf0;padding:.45rem .6rem}.table .actions{white-space:nowrap;justify-content:flex-end;gap:.4rem;display:flex}.swatch-label{align-items:center;gap:.4rem;display:inline-flex}.swatch{border:1px solid #0002;border-radius:3px;width:1rem;height:1rem}.content{max-width:96rem}.toolbar{flex-wrap:wrap;align-items:end;gap:.75rem;display:flex}.toolbar label{gap:.25rem;font-size:.9rem;display:grid}.toolbar .spacer{flex:1}.badge{vertical-align:middle;background:#e6ebf0;border-radius:999px;margin-left:.5rem;padding:.1rem .5rem;font-size:.75rem}.badge.published{background:#d5f0dd}.badge.warn{background:#fdecc8}.plan-layout{grid-template-columns:minmax(0,1fr) 22rem;align-items:start;gap:1rem;display:grid}@media (width<=960px){.plan-layout{grid-template-columns:1fr}}.board-grid{grid-template-columns:repeat(auto-fill,minmax(28rem,1fr));align-items:start;gap:.75rem;display:grid}.board{overflow-x:auto}.board h3{margin:0 0 .4rem;font-size:1rem}.board-table th,.board-table td{vertical-align:top;border:1px solid #e6ebf0;padding:.15rem .3rem;font-size:.8rem}.board-table thead th{border-bottom:3px solid #4f86c6}.board-table tbody th{white-space:nowrap;font-weight:600}.board-table .muted{font-size:.7rem;font-weight:400}.board-cell{height:1px;padding:0}.board-empty{background:#f4f6f8}.chip.block{justify-content:center;height:100%;margin:0}.chip{text-align:left;width:100%;font:inherit;cursor:pointer;background:#fff;border:1px solid #dde3ea;border-left:4px solid #4f86c6;border-radius:4px;flex-direction:column;margin-bottom:.25rem;padding:.25rem .4rem;font-size:.85rem;display:flex}.chip:disabled{cursor:default}.chip.vacant{background:#fde8e6;border-color:#e6b3ae}.chip.warn{background:#fff4d6;border-color:#e8cf86}.chip.selected{outline:2px solid var(--accent)}.chip-fn{color:#66707c;font-size:.75rem}.side h3{margin:0 0 .5rem;font-size:1rem}.picker,.plain{margin:.5rem 0;padding:0;list-style:none}.picker li,.plain li{padding:.2rem 0}.picker li.dim{opacity:.6}.link{font:inherit;color:var(--accent);cursor:pointer;text-align:left;background:0 0;border:none;padding:0}.table.compact th,.table.compact td{padding:.2rem .4rem;font-size:.85rem}.date-nav{align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.date-title{text-align:center;flex:1}.date-nav .btn{min-width:2.75rem;min-height:2.75rem}.filters{flex-wrap:wrap;gap:.75rem;margin-bottom:.75rem;display:flex}.filters label{gap:.2rem;font-size:.85rem;display:grid}.week-schedule{gap:2px;display:grid}.ws-day-head{text-align:center;background:#fff;border:1px solid #dde3ea;border-radius:4px;padding:.3rem;font-weight:600}.ws-day-head.closed{background:#f0f2f5}.ws-events{margin:0;padding:0;list-style:none}.ws-events li{background:#e8f0fe;border-radius:4px;margin-bottom:2px;padding:.15rem .4rem;font-size:.8rem}.ws-time{white-space:nowrap;flex-direction:column;justify-content:center;padding:.2rem .5rem .2rem 0;font-size:.8rem;display:flex}.ws-time .muted{font-size:.7rem}.ws-empty{background:#f4f6f8;border-radius:4px}.ws-slot{overflow-wrap:anywhere;background:#f8fafc;border:1px solid #dde3ea;border-left:4px solid #4f86c6;border-radius:4px;flex-direction:column;gap:.2rem;min-width:0;padding:.3rem .4rem;font-size:.8rem;display:flex}.ws-slot.mine{background:#e6f4ea;font-weight:600}.ws-slot.vacant{background:#fde8e6;border-color:#e6b3ae}.ws-fn{color:#66707c;font-size:.7rem}.entries li.empty{background:0 0;border-left-color:#0000;justify-content:center}.day-card{background:#fff;border:1px solid #dde3ea;border-radius:8px;margin-bottom:.75rem;padding:.6rem .75rem}.day-card.closed{background:#f0f2f5}.day-head{margin:0 0 .4rem;font-size:1rem;position:sticky;top:0}.period h4{margin:.5rem 0 .25rem;font-size:.9rem}.entries,.events{margin:0;padding:0;list-style:none}.events li{background:#e8f0fe;border-radius:4px;margin-bottom:.25rem;padding:.2rem .4rem;font-size:.9rem}.entries li{background:#f8fafc;border-left:4px solid #4f86c6;border-radius:4px;justify-content:space-between;gap:.5rem;margin-bottom:.25rem;padding:.5rem .6rem;display:flex}.entries li.mine{background:#e6f4ea;font-weight:600}.entries li.booking{background:#fff7e0;border-left-color:#e8a317}.entry-fn{color:#3c4652}@media (width<=640px){.content{padding:.5rem}.topbar{gap:.5rem 1rem}.topbar nav a{padding:.5rem 0}.filters select{min-height:2.5rem}}.topbar .company-name{font-weight:600}.chat{flex-direction:column;gap:.75rem;max-width:52rem;display:flex}.chat-log{flex-direction:column;gap:.5rem;display:flex}.chat-msg{white-space:pre-wrap;border-radius:8px;max-width:90%;padding:.5rem .75rem}.chat-msg.user{background:#dbe8f7;align-self:flex-end}.chat-msg.assistant{background:#fff;border:1px solid #e6ebf0;align-self:flex-start}.chat-form{gap:.5rem;display:flex}.chat-form input{flex:1}.chat-chips{flex-wrap:wrap;gap:.4rem;display:flex}.chat-proposal{border:1px solid var(--accent);background:#fff;border-radius:8px;padding:.6rem}.chat-proposal .actions{gap:.5rem;margin-top:.5rem;display:flex}.coverage td,.coverage th{text-align:center;white-space:nowrap}.coverage th[scope=row]{text-align:left}.coverage-full{background:#e3f4e6}.coverage-partial{background:#fff4d6}.coverage-none{background:#fbe3e1}.coverage-na{color:#8a95a3}.chat-settings{flex-wrap:wrap;align-items:center;gap:.75rem;font-size:.9rem;display:flex}.chat-usage{color:#6b7785;margin-top:.25rem;display:block}
