:root{--bg: #f4f5f7;--panel: #fff;--text: #1d2330;--muted: #6b7385;--line: #e1e4ea;--accent: #2f5d50;--accent-text: #fff;--danger: #b3261e;--off: #eef0f3;--sidebar: #1d2330;--radius: 10px;--tap: 44px}@media (prefers-color-scheme: dark){:root{--bg: #14171d;--panel: #1d222b;--text: #e8eaf0;--muted: #9aa3b5;--line: #2c3340;--off: #181c23;--accent: #5fa08c;--accent-text: #0c1411;--sidebar: #0f1217}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}h1{font-size:1.5rem;margin:0 0 .25rem}h2{font-size:1.15rem;margin:0 0 .75rem}.muted{color:var(--muted)}.small{font-size:.85rem}.pad{padding:1rem}code{background:var(--off);padding:1px 5px;border-radius:4px}.btn{min-height:var(--tap);padding:0 14px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);font:inherit;cursor:pointer}.btn:hover{border-color:var(--accent)}.btn.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.btn.danger{color:var(--danger);border-color:var(--danger)}.btn.block{width:100%}.btn:disabled{opacity:.55;cursor:default}.btn-link{background:none;border:0;color:var(--accent);cursor:pointer;font:inherit;padding:6px}input,select,textarea{font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:10px 12px;min-height:var(--tap);width:100%}input[type=checkbox]{width:22px;height:22px;min-height:0}label{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}label>span{font-size:.85rem;color:var(--muted)}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:16px}.card.narrow{width:min(420px,100%)}.center-screen{min-height:100%;display:grid;place-items:center;padding:16px}.shell{display:grid;grid-template-columns:250px 1fr;min-height:100%}.sidebar{background:var(--sidebar);color:#dfe3ec;padding:16px 12px;overflow-y:auto;position:sticky;top:0;height:100vh}.brand-logo{font-weight:700;letter-spacing:.12em;padding:4px 10px 16px;color:#fff}.sidebar nav a{display:block;padding:10px;border-radius:8px;color:#c9cfdc;text-decoration:none}.sidebar nav a:hover{background:#ffffff12}.sidebar nav a.active{background:var(--accent);color:var(--accent-text)}.nav-title{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#8791a6;padding:14px 10px 4px}.main{min-width:0;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--panel);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.menu-btn{display:none}.user{display:flex;align-items:center;gap:10px}.content{padding:16px;max-width:1400px;width:100%}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:12px}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.filter{margin-bottom:12px;max-width:420px}.search{position:relative;flex:1;min-width:0;max-width:560px}.search-results{position:absolute;left:0;right:0;top:100%;background:var(--panel);border:1px solid var(--line);border-radius:8px;margin-top:4px;box-shadow:0 8px 24px #00000026;max-height:60vh;overflow:auto}.search-hit{padding:10px 12px;display:flex;gap:8px;border-bottom:1px solid var(--line)}.tag{font-size:.7rem;text-transform:uppercase;background:var(--off);border-radius:4px;padding:2px 6px;height:fit-content}.bell{position:relative}.badge{background:var(--danger);color:#fff;border-radius:10px;font-size:.7rem;padding:1px 6px;margin-left:4px}.bell-panel{position:absolute;right:0;top:100%;width:min(380px,92vw);background:var(--panel);border:1px solid var(--line);border-radius:8px;margin-top:4px;box-shadow:0 8px 24px #00000026;max-height:70vh;overflow:auto}.bell-head{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid var(--line)}.notif{padding:10px 12px;border-bottom:1px solid var(--line)}.notif.unread{background:var(--off)}.guide{display:flex;justify-content:space-between;gap:8px;border-radius:8px;padding:12px 14px;margin-bottom:12px;border:1px solid var(--line);background:var(--panel)}.guide p{margin:4px 0 0}.guide-error{border-color:var(--danger)}.guide-warning{border-color:#b8860b}.guide-success{border-color:var(--accent)}.table-wrap{padding:0;overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap;max-width:320px;overflow:hidden;text-overflow:ellipsis}th{font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}tbody tr{cursor:pointer}tbody tr:hover{background:var(--off)}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:0 16px}.form-grid .wide{grid-column:1 / -1}.cal-nav{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.cal-head{font-size:.8rem;color:var(--muted);text-align:center}.cal-day{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:6px;min-height:140px;min-width:0}.cal.month .cal-day{min-height:96px}.cal-day.off{background:var(--off)}.cal-day.other{opacity:.5}.cal-day.today{outline:2px solid var(--accent)}.cal-date{font-size:.8rem;font-weight:600;margin-bottom:4px}.note{font-size:.75rem;color:var(--muted);margin-bottom:2px}.chip{font-size:.8rem;padding:3px 6px;margin-bottom:3px;border-radius:6px;background:var(--off);border-left:3px solid var(--accent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip.high{border-left-color:var(--danger)}.chip.done{opacity:.6;text-decoration:line-through}.list-day{display:grid;grid-template-columns:130px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.list-date{font-weight:600}@media (max-width: 1024px){.shell{grid-template-columns:210px 1fr}}@media (max-width: 820px){.shell{display:block}.sidebar{position:fixed;z-index:20;left:0;top:0;bottom:0;width:270px;transform:translate(-100%);transition:transform .2s}.menu-open .sidebar{transform:none}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:15}.menu-btn{display:inline-block}.user-name{display:none}.content{padding:12px}.cal{grid-template-columns:1fr}.cal-head{display:none}.cal.month{grid-template-columns:repeat(7,minmax(0,1fr))}.cal.month .cal-head{display:block}.cal.month .cal-day{min-height:64px;padding:3px}.cal.month .chip{font-size:.65rem;padding:1px 3px}.cal-day{min-height:0!important}.list-day{grid-template-columns:1fr;gap:4px}}
