:root{--bg: #f3efe6;--bg-elevated: #fffdf8;--ink: #1c1914;--muted: #6b6458;--line: #d9d0c0;--accent: #1f6f5b;--accent-strong: #155445;--danger: #b42318;--warn: #c45c26;--team: #2b4c7e;--active: #d92d20;--shadow: 0 10px 30px rgba(28, 25, 20, .08);--radius: 12px;--font: "DM Sans", sans-serif;--mono: "IBM Plex Mono", monospace}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:var(--font);color:var(--ink);background:radial-gradient(circle at top left,rgba(31,111,91,.12),transparent 28%),radial-gradient(circle at top right,rgba(196,92,38,.1),transparent 24%),linear-gradient(180deg,#f7f3ea 0%,var(--bg) 48%,#ebe4d7 100%)}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;display:grid;grid-template-rows:auto auto 1fr}.topnav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.25rem;border-bottom:1px solid var(--line);background:#fffdf8e0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:20}.brand{font-weight:700;letter-spacing:-.03em;font-size:1.15rem}.nav-links{display:flex;flex-wrap:wrap;gap:.35rem}.nav-links a{padding:.45rem .75rem;border-radius:999px;color:var(--muted);font-weight:500}.nav-links a.active{background:var(--ink);color:#fff}.user-chip{display:flex;align-items:center;gap:.5rem}.user-chip select,.panel select,.panel input,.panel textarea,.tracker-bar input,.tracker-bar select{border:1px solid var(--line);background:#fff;border-radius:10px;padding:.55rem .7rem;color:var(--ink)}.tracker-bar-wrap{background:var(--bg-elevated);border-bottom:1px solid var(--line);box-shadow:var(--shadow)}.fav-chips{display:flex;flex-wrap:wrap;gap:.4rem;padding:.55rem 1.25rem 0;align-items:center}.fav-chip{display:inline-flex;align-items:center;gap:.35rem;border:1px dashed var(--line);background:transparent;border-radius:999px;padding:.25rem .65rem;color:var(--muted);cursor:pointer;font-weight:600}.fav-chip.filled{border-style:solid;background:#1f6f5b1a;color:var(--accent-strong)}.fav-label{font-weight:500;font-size:.8rem}.help-panel{padding:.35rem 1.25rem 0;font-size:.85rem}.tracker-bar{display:grid;grid-template-columns:1.4fr .85fr .85fr .85fr .7fr auto auto auto;gap:.55rem;align-items:center;padding:.7rem 1.25rem .9rem}.inline-form,.stack{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.stack{flex-direction:column;align-items:stretch}.tab-row{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}.table-wrap{overflow-x:auto}.calendar-drag-grid{display:grid;grid-template-columns:64px repeat(7,1fr);gap:.35rem}.cal-hours{padding-top:1.6rem}.cal-day{position:relative;background:var(--bg-elevated);border:1px solid var(--line);border-radius:10px;overflow:hidden}.cal-day-label{position:sticky;top:0;z-index:2;background:#fffdf8f2;padding:.35rem .45rem;border-bottom:1px solid var(--line);font-size:.85rem}.cal-block{position:absolute;left:.3rem;right:.3rem;background:#1f6f5b2e;border-left:3px solid var(--accent);border-radius:8px;padding:.25rem .4rem;cursor:grab;overflow:hidden}.cal-block-title{font-weight:600;font-size:.8rem}.cal-resize{position:absolute;left:0;right:0;bottom:0;height:8px;cursor:ns-resize;background:#1c191414}.timer-display{font-family:var(--mono);font-weight:600;font-size:1.15rem;min-width:6.5rem;text-align:center}.btn{border:0;border-radius:10px;padding:.6rem .95rem;font-weight:600;cursor:pointer;background:var(--accent);color:#fff}.btn:hover{background:var(--accent-strong)}.btn.secondary{background:transparent;color:var(--ink);border:1px solid var(--line)}.btn.danger{background:var(--danger)}.btn.ghost{background:transparent;color:var(--muted)}.content{padding:1.25rem;max-width:1200px;width:100%;margin:0 auto}.panel{background:#fffdf8eb;border:1px solid var(--line);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow)}.panel+.panel{margin-top:1rem}.panel h2,.panel h3{margin:0 0 .75rem;letter-spacing:-.02em}.muted{color:var(--muted)}.day-group{margin-bottom:1.25rem}.day-group h3{margin:0 0 .5rem;font-size:.95rem;color:var(--muted)}.entry-row{display:grid;grid-template-columns:1.4fr .9fr .7fr .5fr auto;gap:.6rem;align-items:center;padding:.75rem 0;border-top:1px solid var(--line)}.tag{display:inline-flex;align-items:center;padding:.15rem .45rem;border-radius:999px;font-size:.75rem;background:#1f6f5b1f;color:var(--accent-strong);margin-right:.25rem}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.stat{padding:1rem;border-radius:var(--radius);background:linear-gradient(160deg,#fff,#f4efe4);border:1px solid var(--line)}.stat strong{display:block;font-size:1.6rem;font-family:var(--mono);margin-top:.35rem}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:.55rem .4rem;border-bottom:1px solid var(--line);font-size:.92rem}.dot{width:.55rem;height:.55rem;border-radius:50%;background:var(--active);display:inline-block;margin-right:.4rem;box-shadow:0 0 0 4px #d92d2026}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:1rem}.login-card{width:min(420px,100%);background:var(--bg-elevated);border:1px solid var(--line);border-radius:18px;padding:1.5rem;box-shadow:var(--shadow)}.login-card h1{margin:0 0 .35rem;letter-spacing:-.04em}.login-card label{display:block;margin:.9rem 0 .35rem;font-weight:600;font-size:.9rem}.login-card input,.login-card select{width:100%}.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.bar-chart{display:flex;flex-direction:column;gap:.55rem}.bar-row{display:grid;grid-template-columns:120px 1fr auto;gap:.5rem;align-items:center}.bar-track{height:10px;background:#e8e0d2;border-radius:999px;overflow:hidden}.bar-fill{height:100%;background:var(--accent)}.calendar-grid{display:grid;grid-template-columns:64px repeat(7,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}.calendar-cell{background:var(--bg-elevated);min-height:88px;padding:.4rem;font-size:.8rem}.calendar-block{background:#1f6f5b29;border-left:3px solid var(--accent);border-radius:6px;padding:.25rem .35rem;margin-top:.25rem}.timesheet-grid{width:100%;border-collapse:collapse}.timesheet-grid th,.timesheet-grid td{border:1px solid var(--line);padding:.45rem;text-align:center}.timesheet-grid input{width:100%;text-align:center}@media(max-width:960px){.tracker-bar{grid-template-columns:1fr 1fr}.grid-2,.grid-3,.entry-row,.bar-row{grid-template-columns:1fr}}
