:root{--ink:#16191d;--ink-soft:#5b6572;--line:#dfe3e8;--bg:#f4f6f8;--card:#fff;--accent:#0f766e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink);font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px}*{box-sizing:border-box}body{background:var(--bg);margin:0}button{font:inherit}.topbar{background:var(--card);border-bottom:1px solid var(--line);z-index:20;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 16px;display:flex;position:sticky;top:0}.topbar h1{letter-spacing:-.01em;margin:0;font-size:16px;font-weight:700}.spacer{flex:1}.btn{border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;border-radius:6px;padding:5px 10px;line-height:1.4}.btn:hover{background:#eef1f4}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{filter:brightness(1.07)}.btn:disabled{opacity:.5;cursor:default}.layout{grid-template-columns:260px 1fr;align-items:start;gap:12px;padding:12px;display:grid}@media (width<=900px){.layout{grid-template-columns:1fr}}.panel{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:10px}.panel h2{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);margin:0 0 8px;font-size:12px}.week{gap:8px;display:grid}.weekrow{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}@media (width<=1100px){.weekrow{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=640px){.weekrow{grid-template-columns:1fr}}.day{background:var(--card);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:5px;min-height:122px;padding:6px;display:flex}.day.today{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.day.weekend{background:#fafbfc}.day.over{border-color:var(--accent);background:#e7f5f3}.day>header{align-items:baseline;gap:6px;display:flex}.day .dow{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.day .dnum{font-weight:700}.chip{border-left:4px solid var(--c);border:1px solid var(--line);border-left:4px solid var(--c);cursor:grab;background:#fff;border-radius:6px;gap:1px;padding:4px 6px;font-size:12px;display:grid}.chip:active{cursor:grabbing}.chip .who{color:var(--ink-soft)}.chip .scope{color:var(--c);text-transform:uppercase;letter-spacing:.03em;font-size:11px;font-weight:700}.chip.done{opacity:.55}.chip.hold{background:repeating-linear-gradient(135deg,#fff,#fff 6px,#fff4e5 6px 12px)}.tray{gap:6px;max-height:60vh;display:grid;overflow:auto}.legend{flex-wrap:wrap;gap:10px;font-size:12px;display:flex}.legend span{align-items:center;gap:5px;display:inline-flex}.dot{border-radius:2px;width:10px;height:10px;display:inline-block}.backdrop{z-index:50;background:#0f141973;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog{background:var(--card);border-radius:10px;width:min(460px,100%);max-height:90vh;padding:16px;overflow:auto}.dialog h3{margin:0 0 10px;font-size:15px}.fld{gap:3px;margin-bottom:9px;font-size:12.5px;display:grid}.fld>span{color:var(--ink-soft)}.fld input,.fld select,.fld textarea{border:1px solid var(--line);font:inherit;border-radius:6px;width:100%;padding:6px 8px}.row{gap:8px;display:flex}.row>*{flex:1}.muted{color:var(--ink-soft)}.err{color:#b3261e}.login{place-items:center;min-height:100vh;display:grid}.login form{background:var(--card);border:1px solid var(--line);border-radius:10px;width:min(340px,92vw);padding:22px}
