:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--void:#05070a;--panel:#0e131ad6;--panel-solid:#0e131a;--line:#22303e;--line-soft:#1a242f;--text:#dde8f0;--muted:#93a3b4;--dim:#77879a;--accent:#46e3c0;--accent-dim:#1f6f61;--accent-soft:#46e3c017;--accent-glow:#46e3c0cc;--amber:#f0b866;--violet:#8b7cf0;--danger:#ff6b6b;--mono:ui-monospace, "SF Mono", SFMono-Regular, "JetBrains Mono", Menlo, Consolas, monospace;--statusbar-h:46px}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--void);color:var(--text);font:14px/1.55 var(--mono);letter-spacing:.01em;-webkit-font-smoothing:antialiased;padding-bottom:var(--statusbar-h);margin:0}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(60% 45% at 18% 0,#46e3c014,#0000 70%),radial-gradient(50% 40% at 92% 8%,#8b7cf014,#0000 70%),radial-gradient(80% 60% at 50% 120%,#46e3c00a,#0000 70%);position:fixed;inset:0}body:after{content:"";pointer-events:none;z-index:3;background:repeating-linear-gradient(#ffffff03 0 1px,#0000 1px 4px),radial-gradient(125% 105%,#0000 64%,#00000052 100%);position:fixed;inset:0}#root{z-index:1;max-width:920px;margin:0 auto;padding:26px 22px 40px;position:relative}::selection{background:#46e3c038}.topbar{margin-bottom:20px}.topbar h1{letter-spacing:.22em;text-transform:uppercase;text-shadow:0 0 18px #46e3c029;margin:0;font-size:16px;font-weight:600;line-height:1}.logo,.cursor{vertical-align:baseline;height:.72em;display:inline-block}.logo{background:linear-gradient(var(--accent), var(--accent)) 0 0 / 50% 50% no-repeat, linear-gradient(var(--accent), var(--accent)) 100% 100% / 50% 50% no-repeat;filter:drop-shadow(0 0 7px #46e3c0a6);width:.72em;margin-right:.55em}.cursor{background:var(--accent);width:.6em;box-shadow:0 0 10px var(--accent-glow);margin-left:.3em;animation:1.15s step-end infinite blink}@keyframes blink{0%,55%{opacity:1}56%,to{opacity:0}}@media (prefers-reduced-motion:reduce){.cursor{animation:none}}.crumb{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-bottom:20px;font-size:11.5px}.crumb b{color:var(--text);font-weight:400}.crumb .sep{color:var(--dim);margin:0 6px}.crumb a{color:var(--muted);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.crumb a:hover{color:var(--accent)}.empty{color:var(--dim);letter-spacing:.05em;padding:16px 14px;font-size:13px}.empty:before{content:"// ";color:var(--line)}.prompt{color:var(--accent);text-shadow:0 0 10px #46e3c099;flex:none}.pagelink{letter-spacing:.12em;text-transform:uppercase;margin:-6px 0 18px;font-size:11.5px}.pagelink a{color:var(--muted);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.pagelink a:hover{color:var(--accent)}.pagelink .arrow{color:var(--dim);margin-left:7px}.notice{color:var(--danger);letter-spacing:.03em;flex:100%;padding-top:2px;font-size:12px}.notice.warn{color:var(--amber)}.notice:before{content:"// ";opacity:.55}.panel>.notice{padding:14px}.fields{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:14px;padding:14px;display:grid}.field{flex-direction:column;gap:5px;min-width:0;display:flex}.field.wide{grid-column:1/-1}.field label{letter-spacing:.14em;text-transform:uppercase;color:var(--dim);font-size:11px}.field input{flex:none;width:100%}@media (width<=680px){.fields{grid-template-columns:1fr}}form.prompt-row{border-top:1px solid var(--line);background:#46e3c006;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;display:flex}.pagelink .pl-admin{margin-left:14px}.panel{background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);margin-bottom:18px;position:relative;box-shadow:0 0 0 1px #00000080,0 18px 40px -24px #000000e6}.panel:before,.panel:after{content:"";pointer-events:none;width:9px;height:9px;position:absolute}.panel:before{border-top:1px solid var(--accent-dim);border-left:1px solid var(--accent-dim);top:-1px;left:-1px}.panel:after{border-bottom:1px solid var(--accent-dim);border-right:1px solid var(--accent-dim);bottom:-1px;right:-1px}.panel>h2{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line-soft);background:linear-gradient(#46e3c009,#0000);margin:0;padding:11px 14px;font-size:11px;font-weight:600}.panel>h2 .n{color:var(--accent)}.panel.raised{z-index:4}button.add{font:inherit;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--accent-dim);color:var(--accent);cursor:pointer;background:#46e3c012;flex:none;padding:5px 10px;font-size:12px;transition:background 90ms linear,box-shadow 90ms linear}button.add:before{content:"[";color:var(--accent-dim);margin-right:5px}button.add:after{content:"]";color:var(--accent-dim);margin-left:5px}button.add:hover{background:#46e3c029;box-shadow:0 0 18px -4px #46e3c0b3}button.danger{font:inherit;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--line);color:var(--dim);cursor:pointer;background:0 0;padding:6px 12px;font-size:11px}button.danger:hover,button.danger.armed{color:var(--danger);border-color:#ff6b6b80}button.danger.armed{background:#ff6b6b14}button.del{color:var(--dim);font:inherit;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;opacity:0;white-space:nowrap;background:0 0;border:1px solid #0000;flex:none;justify-self:end;padding:2px 6px;font-size:11px;transition:opacity 90ms linear}li:hover button.del,.row:hover button.del,button.del:focus-visible{opacity:1}button.del:hover{color:var(--danger);border-color:#ff6b6b66}button.del.armed{opacity:1;color:var(--danger);border-color:var(--danger);background:#ff6b6b14}input{min-width:0;font:inherit;color:var(--text);caret-color:var(--accent);border:0;border-bottom:1px solid var(--line);background:0 0;flex:130px;padding:5px 2px;transition:border-color 90ms linear,box-shadow 90ms linear}input::placeholder{color:var(--dim);letter-spacing:.08em}input:focus{border-bottom-color:var(--accent);outline:none;box-shadow:0 1px 12px -4px #46e3c0e6}input.ident-field{color:var(--amber);flex:0 110px}input.big{letter-spacing:.02em;padding:5px 2px;font-size:18px}input.check{appearance:none;border:1px solid var(--line);cursor:pointer;background:0 0;flex:none;justify-self:start;width:15px;height:15px;padding:0;position:relative}input.check:hover{border-color:var(--accent-dim)}input.check:checked{border-color:var(--accent-dim);background:var(--accent-soft)}input.check:checked:after{content:"×";color:var(--accent);text-shadow:0 0 9px #46e3c0b3;justify-content:center;align-items:center;font-size:15px;line-height:1;display:flex;position:absolute;inset:-1px 0 0}input.check:focus{border-bottom-color:var(--line);box-shadow:none}input.check:focus-visible{border-color:var(--accent);outline:none;box-shadow:0 0 12px -3px #46e3c0e6}.auth-wrap{min-height:calc(100vh - var(--statusbar-h) - 120px);flex-direction:column;justify-content:center;display:flex}.auth-panel{width:min(400px,100%);margin:0 auto 18px}.auth-panel .fields{grid-template-columns:1fr}.auth-panel .actions{align-items:center;gap:10px;padding:0 14px 14px;display:flex}.auth-panel .notice{padding:0 14px 12px}.auth-foot{text-align:center;color:var(--dim);letter-spacing:.1em;text-transform:uppercase;font-size:11.5px}.statusbar{z-index:2;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);background:#05070ad1;align-items:center;gap:22px;padding:9px 22px;font-size:11px;display:flex;position:fixed;bottom:0;left:0;right:0}.statusbar .k{color:var(--muted)}.statusbar .v{color:var(--accent);text-transform:none}.statusbar .spacer{flex:1}.statusbar .live{color:var(--accent);text-shadow:0 0 10px var(--accent-glow)}@media (width<=680px){.statusbar .opt{display:none}}.combo-list{z-index:5;background:var(--panel-solid);border:1px solid var(--line);text-transform:none;letter-spacing:.01em;min-width:200px;max-height:240px;font-size:13px;position:absolute;top:calc(100% + 5px);left:0;overflow-y:auto;box-shadow:0 0 0 1px #0009,0 18px 34px -16px #000000f2}.combo-list.up{top:auto;bottom:calc(100% + 5px)}.combo-item{cursor:pointer;color:var(--text);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:8px;padding:7px 11px;display:flex;overflow:hidden}.combo-item+.combo-item{border-top:1px solid var(--line-soft)}.combo-item:hover,.combo-item.active{background:var(--accent-soft);color:var(--accent);box-shadow:inset 2px 0 0 var(--accent)}.combo-item.novel{color:var(--muted)}.combo-item.novel .plus{color:var(--accent);margin-right:1px}.combo-item .sub{color:var(--muted)}.combo-item .sub:after{content:" /";color:var(--dim)}.combo-item:hover .sub,.combo-item.active .sub{color:var(--accent-dim)}.combo-empty{color:var(--dim);padding:7px 11px;font-size:12px}.team-switcher{display:inline-block;position:relative}.ts-trigger{font:inherit;font-size:inherit;letter-spacing:inherit;text-transform:inherit;color:var(--text);cursor:pointer;background:0 0;border:0;padding:0}.ts-trigger:hover{color:var(--accent)}.ts-trigger .caret{color:var(--dim)}.ts-role{color:var(--dim);letter-spacing:.12em;text-transform:uppercase;margin-left:auto;font-size:10px}.ts-create{border-top:1px solid var(--line-soft);background:#46e3c006;align-items:center;gap:8px;padding:7px 11px;display:flex}.ts-create input{flex:1}.admin-nav{letter-spacing:.12em;text-transform:uppercase;flex-wrap:wrap;gap:4px 18px;margin:-6px 0 16px;font-size:11.5px;display:flex}.admin-nav a{color:var(--muted);text-decoration:none}.admin-nav a:hover{color:var(--accent)}.admin-nav a.active{color:var(--text);text-shadow:0 0 12px #46e3c040}.admin-nav a.active:before{content:"▸ ";color:var(--accent)}.role-toggle{display:inline-flex}.role-toggle button{font:inherit;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);border:1px solid var(--line);cursor:pointer;background:0 0;padding:2px 8px;font-size:11px}.role-toggle button+button{border-left:0}.role-toggle button.on{color:var(--accent);border-color:var(--accent-dim);background:var(--accent-soft)}.row.crud{grid-template-columns:16px minmax(0,1fr) 80px 80px}.row.crud.item{cursor:default}.ct-center{text-align:center;justify-content:center;display:flex}.row.crud.archived .truncate{color:var(--dim);text-decoration:line-through}.ct-arch{justify-self:end}.row.crud:hover .ct-arch{opacity:1}.ct-fold{text-align:left;width:100%;font:inherit;letter-spacing:.13em;text-transform:uppercase;color:var(--dim);border:0;border-top:1px solid var(--line-soft);cursor:pointer;background:0 0;padding:8px 14px;font-size:11px;display:block}.ct-fold:hover{color:var(--muted)}.ct-notice{padding:6px 14px 0}.crud .lead{color:var(--muted)}.crud .slash{color:var(--dim);padding:0 5px 0 3px}.combo{flex:170px;min-width:0;display:flex;position:relative}.combo>input{width:100%}.row.member{grid-template-columns:16px minmax(0,1fr) auto 80px}.row.member.item{cursor:default}.mb-email{color:var(--dim);margin-left:8px;font-size:12px}.mb-you{color:var(--accent-dim);letter-spacing:.08em;font-size:11px}.mb-role-fixed{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;border:1px solid #0000;padding:2px 8px;font-size:11px}.mb-remove{justify-self:end}.row.member:hover .mb-remove{opacity:1}.mb-notice{padding:8px 14px 0}@media (width<=680px){.row.member{grid-template-columns:14px minmax(0,1fr) auto auto}.mb-email{display:none}}.ts-hint{color:var(--dim);letter-spacing:.03em;text-transform:none;font-size:11px}.ts-billable{letter-spacing:.14em;text-transform:uppercase;color:var(--dim);cursor:pointer;align-items:center;gap:8px;font-size:11px;display:flex}.ts-notice{padding:0 14px 10px}.ts-actions{align-items:center;gap:10px;padding:0 14px 14px;display:flex}.ts-saved{color:var(--accent);font-size:12px}input[type=time]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.row.entry{cursor:pointer;grid-template-columns:16px minmax(0,1fr) auto 52px}.e-main{align-items:baseline;gap:10px;min-width:0;display:flex}.e-desc{color:var(--text)}.e-desc.none{color:var(--dim)}.e-proj{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.e-proj .slash{color:var(--dim);padding:0 4px}.e-times{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.e-dash{color:var(--dim);padding:0 2px}.e-dur{text-align:right}.row.entry.overlapping .e-times{color:var(--amber)}.overlap-marker{color:var(--amber);letter-spacing:.18em;text-transform:uppercase;background:#f0b8660d;border-top:1px dashed #f0b86666;border-bottom:1px dashed #f0b86666;padding:2px 14px;font-size:10px}@media (width<=680px){.row.entry{grid-template-columns:14px minmax(0,1fr) auto 48px}.e-main{flex-wrap:wrap;gap:1px 10px}}.recents-pop{width:min(560px,100vw - 44px);max-height:320px;left:22px;right:auto}.rp-head{letter-spacing:.16em;text-transform:uppercase;color:var(--dim);border-top:1px solid var(--line-soft);background:linear-gradient(#46e3c008,#0000);padding:6px 11px 4px;font-size:10px}.rp-head:first-child{border-top:0}.rp-desc{flex:auto}.rp-path{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:55%;font-size:11px;overflow:hidden}.rp-path .slash,.rp-desc~.rp-path .slash{color:var(--dim);padding:0 3px}.combo-item:hover .rp-path,.combo-item.active .rp-path{color:var(--accent-dim)}@media (width<=680px){.recents-pop{width:calc(100vw - 28px);left:14px}}.entry-bar{z-index:4;left:0;right:0;bottom:var(--statusbar-h);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);background:#05070ad1;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 22px;display:flex;position:fixed}.entry-bar .eb-desc{flex:3 220px}.entry-bar .combo{flex:170px}.entry-bar .eb-time{text-align:center;flex:0 72px}.entry-bar .notice{flex:100%;padding:0}.entry-bar .eb-deliv{cursor:pointer;flex:none;max-width:140px;font-family:inherit}.entry-bar .eb-deliv:hover{border-color:var(--amber)}@media (width<=680px){.entry-bar{padding:10px 14px}.entry-bar .eb-desc{flex:100%}.entry-bar .eb-time{flex:60px}}.modal-overlay{z-index:10;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#05070aa6;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{width:min(480px,100%);max-height:calc(100vh - 40px);overflow-y:auto}.modal .panel{margin-bottom:0}.ee-times{gap:12px;min-width:0;display:flex}.ee-times>.field{flex:1 1 0}.ee-billable{letter-spacing:.14em;text-transform:uppercase;color:var(--dim);cursor:pointer;grid-column:1/-1;align-items:center;gap:8px;font-size:11px;display:flex}.ee-notice{padding:0 14px 10px}.ee-actions{align-items:center;gap:10px;padding:0 14px 14px;display:flex}.ee-spacer{flex:1}input[type=date]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}input[type=date]::-webkit-calendar-picker-indicator{opacity:.4}.home{padding-bottom:64px}.row{grid-template-columns:16px minmax(0,1fr) 88px;align-items:center;gap:10px;padding:10px 14px;display:grid}.row.head{letter-spacing:.13em;text-transform:uppercase;color:var(--dim);border-bottom:1px solid var(--line-soft);background:linear-gradient(#46e3c009,#0000);font-size:11px}.row.item{border-bottom:1px solid var(--line-soft);transition:background 90ms linear,box-shadow 90ms linear}.row.item:last-of-type,.panel>div:last-child>.row.item{border-bottom:0}.row.item:hover,.row.item:focus-visible{background:var(--accent-soft);box-shadow:inset 2px 0 0 var(--accent);outline:none}.marker{color:var(--dim)}.marker:before{content:"·"}.row.item:hover .marker{color:var(--accent)}.row.item:hover .marker:before{content:"▸"}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.count{color:var(--accent);font-variant-numeric:tabular-nums;letter-spacing:.08em}.count.zero{color:var(--dim)}.ident{max-width:100%;color:var(--amber);letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase;background:#f0b8660f;border:1px solid #f0b86657;padding:0 5px;font-size:11px;display:inline-block;overflow:hidden}.statusbar button.exit{opacity:1;letter-spacing:.12em}@media (width<=680px){.row{grid-template-columns:14px minmax(0,1fr) auto}}.week-nav{letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:14px;margin:-6px 0 14px;font-size:11.5px;display:flex}.wn-btn{font:inherit;font-size:inherit;letter-spacing:inherit;text-transform:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0}.wn-btn:hover{color:var(--accent)}.wn-range{color:var(--text)}.wn-now{color:var(--accent)}.report-scroll{overflow-x:auto}table.report{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;min-width:640px;font-size:13px}table.report th,table.report td{text-align:right;white-space:nowrap;padding:8px 10px}table.report thead th{letter-spacing:.13em;text-transform:uppercase;color:var(--dim);border-bottom:1px solid var(--line-soft);background:linear-gradient(#46e3c009,#0000);font-size:11px;font-weight:600}table.report .rt-project{text-align:left;max-width:220px}table.report tbody .rt-project .lead{color:var(--muted)}table.report tbody .rt-project .slash{color:var(--dim);padding:0 5px 0 3px}table.report tbody tr{border-bottom:1px solid var(--line-soft)}table.report tbody tr:hover{background:#46e3c00a}table.report td .zero{color:var(--line)}table.report .rt-total{color:var(--accent)}table.report .today{background:#46e3c00b}table.report tfoot td{border-top:1px solid var(--line);color:var(--muted);font-size:12px}table.report tfoot .rt-project{letter-spacing:.13em;text-transform:uppercase;color:var(--dim);font-size:11px}table.report tfoot .rt-total{color:var(--accent)}.report-split{border-top:1px solid var(--line-soft);color:var(--dim);letter-spacing:.13em;text-transform:uppercase;padding:10px 14px;font-size:11px}.report-split .rs-val{color:var(--accent);text-transform:none;letter-spacing:.05em}.report-split .rs-val.amber{color:var(--amber)}.report-split .rs-sep{color:var(--line);padding:0 8px}
