:root{--ink:#0f1e33;--navy:#071c42;--muted:#64748b;--canvas:#f7f9fc;--brand:#13be91;--branddeep:#0e9e78;--brandtint:#e7f8f1;--brandtext:#0f7a5a;--brandink:#04231a;--amber:#f59e0b;--ambertint:#fdf3e1;--ambertext:#a16207;--redtint:#fbeaea;--redtext:#b03030;--cardline:#e9edf3;--inputline:#d5dce4;--card-radius:14px;--ctrl-radius:10px;--font-sans:"Segoe UI", system-ui, -apple-system, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, monospace;--shadow-card:0 1px 2px #0f1e330a, 0 4px 16px #0f1e330d}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}#root{min-height:100vh}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.tab-shell{flex-direction:column;min-height:100vh;display:flex}.tab-header{border-bottom:1px solid var(--cardline);background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.tab-header .wordmark{letter-spacing:.02em;font-size:15px;font-weight:700}.tab-nav{gap:4px;display:flex}.nav-link{font:inherit;color:var(--muted);border-radius:var(--ctrl-radius);cursor:pointer;background:0 0;border:1px solid #0000;padding:7px 12px;font-size:12.5px;font-weight:600;transition:background .12s,color .12s}.nav-link:hover{color:var(--ink);background:var(--canvas)}.nav-link.active{color:var(--brandtext);background:var(--brandtint);border-color:var(--brand)}.tab-content{flex-direction:column;gap:8px;padding:20px;display:flex}.placeholder{color:var(--muted);margin:0}.home{flex-direction:column;gap:16px;display:flex}.greeting{letter-spacing:-.01em;color:var(--ink);margin:0;font-size:19px;font-weight:700}.card{border:1px solid var(--cardline);border-radius:var(--card-radius);box-shadow:var(--shadow-card);background:#fff}.card-pad{padding:18px 20px}.loading{color:var(--muted);padding:24px 20px}.error-state{border-color:#f1c9c9}.error-state .lead{color:var(--redtext);margin:0 0 4px;font-weight:700}.error-state p:last-child{color:var(--muted);margin:0}.week-glance-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.week-glance-title{font-size:13.5px;font-weight:700}.week-glance-total{color:var(--muted);font-size:12.5px}.week-glance-total strong{font-family:var(--font-mono);color:var(--ink);font-size:14px}.week-strip{gap:8px;display:flex;overflow-x:auto}.week-day{border-radius:var(--ctrl-radius);background:var(--canvas);flex-direction:column;flex:1 1 0;align-items:center;gap:4px;min-width:56px;padding:10px 6px;display:flex}.week-day-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.week-day-hours{font-family:var(--font-mono);color:var(--ink);font-size:14px;font-weight:700}.week-day.gap{background:var(--ambertint);border:1px solid #f1d9a8}.week-day.gap .week-day-label,.week-day.gap .week-day-hours{color:var(--ambertext)}.week-day-flag{letter-spacing:.08em;text-transform:uppercase;color:var(--ambertext);font-size:10px;font-weight:700}.btn{font:inherit;border-radius:var(--ctrl-radius);cursor:pointer;border:1px solid #0000;padding:9px 18px;font-weight:700;transition:background .12s,border-color .12s}.btn.primary{background:var(--brand);color:var(--brandink)}.btn.primary:hover{background:var(--branddeep)}.btn.quiet{color:var(--ink);border-color:var(--inputline);background:#fff}.btn.quiet:hover{border-color:var(--muted)}.log-time-btn{align-self:stretch;padding:13px 18px;font-size:14.5px}.log-time{flex-direction:column;gap:16px;display:flex}.log-time-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.log-time-head .lead{color:var(--ink);margin:0;font-size:17px;font-weight:700}.log-time-form{flex-direction:column;gap:16px;display:flex}.field-block{color:var(--ink);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.field-block .hint{color:var(--muted);font-size:12.5px;font-weight:400}.ctrl{font:inherit;color:var(--ink);border:1px solid var(--inputline);border-radius:var(--ctrl-radius);background:#fff;min-height:40px;padding:9px 12px}.ctrl:hover{border-color:var(--muted2,var(--muted))}.ctrl:disabled{background:var(--canvas);color:var(--muted)}textarea.ctrl{resize:vertical;min-height:76px}.form-actions{align-items:center;gap:12px;margin-top:4px;display:flex}.success-state{border-color:#bfe9d9}.success-state .lead{color:var(--brandtext);margin:0 0 4px;font-weight:700}.warn-state{border-color:#f1d9a8}.warn-state .lead{color:var(--ambertext);margin:0 0 4px;font-weight:700}.success-state p:not(.lead),.warn-state p:not(.lead){color:var(--muted);margin:0 0 12px}.favorites{flex-direction:column;gap:16px;display:flex}.favorites-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.favorites-head .lead{color:var(--ink);margin:0;font-size:17px;font-weight:700}.favorites-list{flex-direction:column;margin:0;padding:4px;list-style:none;display:flex}.favorites-row{border-bottom:1px solid var(--cardline);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.favorites-row:last-child{border-bottom:none}.favorites-name{color:var(--ink);font-size:13.5px;font-weight:600}.star-toggle{border:1px solid var(--inputline);width:32px;height:32px;color:var(--muted);cursor:pointer;background:#fff;border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:18px;line-height:1;transition:background .12s,border-color .12s,color .12s;display:flex}.star-toggle:hover{border-color:var(--brand);color:var(--branddeep)}.star-toggle.active{background:var(--brandtint);border-color:var(--brand);color:var(--brand)}.signin-wrap{background-color:var(--navy);background-image:radial-gradient(circle at 62% 78%,#13be912e,#0000 26%),linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px);background-size:100% 100%,56px 56px,56px 56px;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.signin-card{background:#fff;border-radius:18px;width:min(440px,100%);padding:44px 48px;box-shadow:0 24px 64px #020a1e73}.signin-card .wordmark{color:var(--ink);letter-spacing:.12em;flex-direction:column;align-items:flex-start;padding:0 0 26px;font-size:15px;font-weight:700;display:inline-flex}.signin-card .wordmark .tri{border-left:5px solid #0000;border-right:5px solid #0000;border-bottom:7px solid var(--brand);width:0;height:0;margin-bottom:2px;margin-left:1px}.signin-card .wordmark .product{letter-spacing:.24em;color:var(--muted);text-transform:uppercase;margin-top:3px;font-size:10px;font-weight:400;display:block}.signin-card h1{letter-spacing:-.01em;color:var(--ink);margin:0 0 8px;font-size:28px;font-weight:900}.signin-card p{color:var(--muted);margin:0 0 24px}.signin-card .btn{width:100%;padding:13px 18px;font-size:15px}.signin-card .foot{text-align:center;color:var(--muted);margin:18px 0 0;font-size:12.5px}.boot-loading{min-height:100vh;color:var(--muted);background:var(--canvas);justify-content:center;align-items:center;display:flex}.boot-error>div{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.boot-error p{color:var(--redtext);margin:0;font-weight:600}.btn.small{padding:6px 12px;font-size:12px}
