:root{--bg:#f6f6f4;--surface:#fff;--surface-2:#f1f1ee;--border:#e3e3de;--text:#1c1c1a;--muted:#74746e;--accent:#1c1c1a;--accent-text:#fff;--focus:#3b6ef5;--opex:#2f6fd6;--opex-bg:#e6eefb;--capex:#a2560f;--capex-bg:#fbeedd;--ok:#1d7a46;--ok-bg:#e2f3e9;--danger:#c0352b;--danger-bg:#fbe5e3;--radius:10px;--shadow:0 1px 2px #0000000a, 0 2px 8px #0000000a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#141413;--surface:#1d1d1b;--surface-2:#262624;--border:#33332f;--text:#ededea;--muted:#9a9a93;--accent:#ededea;--accent-text:#141413;--opex:#82a9f0;--opex-bg:#1f2a3f;--capex:#e7ad6f;--capex-bg:#3a2a17;--ok:#6fcf97;--ok-bg:#18301f;--danger:#f08a80;--danger-bg:#3a1d1a;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.brand img,.login-card img{filter:invert()}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0;font:14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1{letter-spacing:-.01em;margin:0;font-size:20px;font-weight:650}h2{margin:0 0 12px;font-size:15px}h3{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:18px 0 8px;font-size:12px}code{background:var(--surface-2);border-radius:4px;padding:1px 4px;font-size:12px}.muted{color:var(--muted)}.small{font-size:12px}.error{color:var(--danger)}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.strong{font-weight:650}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:1px solid #0000;border-radius:8px;padding:8px 14px}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.primary{background:var(--accent);color:var(--accent-text);font-weight:600}.ghost{border-color:var(--border);background:var(--surface)}.ghost:hover:not(:disabled){background:var(--surface-2)}.small{padding:4px 9px}button.small{font-size:12px}.icon{color:var(--muted);padding:4px 9px;font-size:18px;line-height:1}.icon:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.icon.small{padding:3px 7px;font-size:15px}.danger{color:var(--danger)}button.danger:not(.icon){background:var(--danger-bg)}.link{color:var(--focus);padding:0;font-weight:600;text-decoration:underline}.block{width:100%;margin-top:10px}input,select,textarea{font:inherit;color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:8px;width:100%;min-width:0;padding:8px 10px}textarea{resize:vertical}input[aria-invalid=true]{border-color:var(--danger)}label>span,.f-type>span{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:4px;font-size:11px;font-weight:600;display:block}label.check{align-items:center;gap:6px;font-size:13px;display:inline-flex}label.check input{width:auto}.seg{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:2px;display:inline-flex}.seg button{color:var(--muted);border-radius:6px;padding:5px 10px;font-size:12px;font-weight:600}.seg button.on{background:var(--accent);color:var(--accent-text)}.seg button.on.OPEX{background:var(--opex-bg);color:var(--opex)}.seg button.on.CAPEX{background:var(--capex-bg);color:var(--capex)}.badge{letter-spacing:.04em;vertical-align:1px;border-radius:5px;padding:2px 6px;font-size:10px;font-weight:700;display:inline-block}.badge.OPEX{background:var(--opex-bg);color:var(--opex)}.badge.CAPEX{background:var(--capex-bg);color:var(--capex)}.badge.paid{background:var(--ok-bg);color:var(--ok);margin-left:4px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.empty{text-align:center;padding:32px}.centered{text-align:center;place-items:center;min-height:60vh;padding:24px;display:grid}.spinner{border:2px solid var(--border);border-top-color:var(--text);border-radius:50%;width:22px;height:22px;margin:auto;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.topbar{z-index:10;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);align-items:center;gap:16px;padding:8px 20px;display:flex;position:sticky;top:0}.brand img{height:30px;display:block}.tabs{flex:1;gap:2px;display:flex}.tabs button{color:var(--muted);padding:7px 12px;font-weight:600}.tabs button.active{color:var(--text);background:var(--surface-2)}.user{align-items:center;gap:8px;display:flex}.user img{border-radius:50%;width:28px;height:28px}main{max-width:1240px;margin:0 auto;padding:20px}.login{place-items:center;min-height:100vh;padding:16px;display:grid}.login-card{text-align:center;width:min(380px,100%);padding:32px 28px}.login-card img{width:230px;max-width:100%}.google{align-items:center;gap:10px;margin-top:12px;padding:10px 18px;display:inline-flex}.hours-layout{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:20px;display:grid}.main-col{flex-direction:column;gap:14px;display:flex}.side-col{position:sticky;top:70px}.period-nav{align-items:center;gap:6px;display:flex}.period-nav h1{min-width:0}.period-nav .ghost{margin-left:auto}.day-strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-bottom:14px;display:grid}.day{border:1px solid var(--border);background:var(--surface);border-radius:8px;flex-direction:column;align-items:center;padding:5px 2px;line-height:1.2;display:flex}.day:hover{background:var(--surface-2)}.day.weekend{opacity:.6}.day.today .dnum{text-underline-offset:3px;text-decoration:underline}.day.selected{background:var(--accent);color:var(--accent-text);border-color:var(--accent);opacity:1}.day .dow{opacity:.7;font-size:10px}.day .dnum{font-size:15px;font-weight:650}.day .dtot{font-variant-numeric:tabular-nums;opacity:.8;font-size:10px}.f-task{margin-bottom:10px}.f-task>label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:4px;font-size:11px;font-weight:600;display:block}.task-wrap{position:relative}textarea.autogrow{resize:none;max-height:40vh;line-height:1.45;overflow-y:auto}.suggest{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:8px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;box-shadow:0 8px 24px #0000001f}.suggest li{cursor:pointer;border-radius:6px;justify-content:space-between;gap:12px;padding:6px 10px;display:flex}.suggest li.hi{background:var(--surface-2)}.suggest .s-task{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.suggest .muted{flex-shrink:0}.qa-row{grid-template-columns:minmax(0,220px) 100px auto auto;align-items:end;gap:10px;display:grid}.f-add{height:38px}.f-type .seg{align-items:stretch;height:38px}.qa-hint{margin-top:8px;font-size:12px}.chips{border-top:1px dashed var(--border);flex-wrap:wrap;gap:6px;margin-top:12px;padding-top:12px;display:flex}.chip{border:1px solid var(--border);background:var(--surface-2);border-radius:999px;padding:4px 10px;font-size:12px}.chip:hover{border-color:var(--text)}.chip b{font-variant-numeric:tabular-nums;margin-left:4px}.entry-list{flex-direction:column;gap:14px;display:flex}.week{padding:0;overflow:hidden}.week-head{background:var(--surface-2);border-bottom:1px solid var(--border);justify-content:space-between;padding:10px 16px;font-weight:650;display:flex}.day-group+.day-group{border-top:1px solid var(--border)}.day-head{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;justify-content:space-between;padding:10px 16px 4px;font-size:12px;font-weight:650;display:flex}.entry{grid-template-columns:130px minmax(0,1fr) auto 48px 64px;align-items:baseline;gap:10px;padding:6px 16px;display:grid}.entry:hover{background:var(--surface-2)}.entry .proj{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.entry .task{white-space:pre-wrap;overflow-wrap:anywhere}.entry .hrs{text-align:right;font-variant-numeric:tabular-nums;font-weight:650}.entry .actions{opacity:0;justify-content:flex-end;display:flex}.entry:hover .actions,.entry:focus-within .actions{opacity:1}.entry.editing{background:var(--surface-2);grid-template-columns:140px 150px minmax(0,1fr) 70px auto auto;align-items:start;padding:10px 16px}.entry.editing .actions{opacity:1;gap:6px}.summary .sum-total{align-items:baseline;gap:8px;margin-bottom:8px;display:flex}.summary .big{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:30px;font-weight:700}.sum-table{border-collapse:collapse;width:100%}.sum-table td{border-bottom:1px solid var(--border);padding:5px 0}.sum-table td+td{padding-left:8px}.sum-table.projects td:first-child{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.split{width:70px}.bar{background:var(--capex);border-radius:3px;height:6px;display:block;overflow:hidden}.bar .opex{background:var(--opex);height:100%;display:block}.inv-mini{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;padding:8px 0;display:flex}.inv-actions{gap:4px;display:flex}.stale{background:var(--capex-bg);width:100%;color:var(--capex);border-radius:6px;padding:6px 8px;font-size:12px}.modal-backdrop{z-index:50;background:#00000059;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{width:min(640px,100%);max-height:calc(100vh - 32px);padding:22px;overflow:auto}.grid-form{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;display:grid}.grid-form small{margin-top:4px;font-size:11px;display:block}.drafts{flex-direction:column;gap:8px;margin:18px 0;display:flex}.draft{border:1px solid var(--border);cursor:pointer;border-radius:8px;align-items:flex-start;gap:12px;padding:12px;display:flex}.draft input{width:auto;margin-top:3px}.draft.off{opacity:.5}.draft-body{flex:1;min-width:0}.draft-top{grid-template-columns:auto 1fr auto auto auto;align-items:center;gap:12px;display:grid}.filename{word-break:break-all;margin:4px 0 2px;font-family:ui-monospace,Consolas,monospace;font-size:11.5px}.modal-actions{justify-content:flex-end;gap:8px;display:flex}.page{flex-direction:column;gap:16px;max-width:1000px;margin:0 auto;display:flex}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.page-head>div{gap:8px;display:flex}.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.stat-value{font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.table-wrap{padding:0;overflow-x:auto}.inv-table{border-collapse:collapse;width:100%}.inv-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 12px;font-size:11px}.inv-table th.num{text-align:right}.inv-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:10px 12px}.inv-table tr:last-child td{border-bottom:0}.row-actions{white-space:nowrap;justify-content:flex-end;gap:4px;display:flex}.status{border:1px solid var(--border);white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.status.paid{background:var(--ok-bg);color:var(--ok);border-color:#0000}.status.overdue{background:var(--danger-bg);color:var(--danger);border-color:#0000}.settings section .grid-form+p{margin-bottom:0}.projects-list{flex-direction:column;gap:6px;margin:10px 0;display:flex}.project-row{grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;display:grid}.project-row.archived input:not([type=checkbox]){opacity:.5}.reorder{display:flex}.inline-form{flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;display:flex}.inline-form>input{flex:1;min-width:180px}.inline-form .primary{margin-left:auto}.toasts{z-index:100;flex-direction:column;gap:8px;width:min(480px,100% - 32px);display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.toast{background:var(--accent);color:var(--accent-text);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:13px;display:flex;box-shadow:0 6px 20px #0003}.toast.error{background:var(--danger);color:#fff}.toast .link{color:inherit}@media (width<=960px){.hours-layout{grid-template-columns:minmax(0,1fr)}.side-col{position:static}}@media (width<=680px){main{padding:16px}.topbar{gap:8px;padding:8px 16px}.brand,.user img{display:none}.qa-row{grid-template-columns:minmax(0,1fr) auto auto}.f-project{grid-column:1/-1}.entry{grid-template-columns:minmax(0,1fr) auto 44px;row-gap:2px}.entry .proj{grid-column:1/-1}.entry .actions{opacity:1;grid-column:1/-1;justify-content:flex-start}.entry.editing,.stats{grid-template-columns:minmax(0,1fr)}.draft-top{grid-template-columns:auto 1fr auto}.day .dtot{display:none}}.import-preview{border:1px solid var(--border);border-radius:8px;margin-top:12px}.preview-more{padding:0 12px}.nowrap{white-space:nowrap}.skipped{margin-top:10px}.skipped ul{margin:4px 0 0;padding-left:18px}
