:root{--violet: #290044;--indigo: #4e008e;--indigo-soft: #cdbbe0;--indigo-tint: #fbf7fe;--ink: #1c272e;--muted: #6b7482;--faint: #9aa1ab;--line: #e4e2e9;--hairline: #f0eef3;--paper: #faf9fb;--panel: #ffffff;--over: #8c0038;--over-tint: #fdf6f9;--done: #0f7a45;--progress: #4e008e;--waiting: #8a5200;--waiting-tint: #fff6e0;--waiting-line: #f0dca8;color-scheme:light;font-family:Hanken Grotesk,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:var(--paper);font-size:14px;-webkit-font-smoothing:antialiased}.label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:500}.muted{color:var(--muted)}.spacer{flex:1}.appbar{background:var(--indigo);height:64px;padding:0 40px;display:flex;align-items:center;gap:24px}.appbar img{width:105px;height:30px}.appbar .rule{width:1px;height:26px;background:#7a3bb0}.appbar .name{font-size:14px;color:#fff;font-weight:500}.appbar .who{font-size:13px;color:#d6c2ea}.wrap{padding:28px 40px 64px}.bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:24px}select,input,button{font:inherit;border:1px solid var(--line);border-radius:0;padding:10px 14px;background:var(--panel);color:inherit}button{cursor:pointer}button:hover:not(:disabled){border-color:#c9cdd4}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--indigo);border-color:var(--indigo);color:#fff;font-weight:500;padding:11px 24px}button.primary:hover:not(:disabled){background:var(--violet);border-color:var(--violet)}.client-chip{display:flex;align-items:center;gap:12px;background:var(--panel);border:1px solid var(--line);padding:8px 14px}.client-chip img{height:20px;width:auto;display:block}.client-chip .sep{color:#c9cdd4}.client-chip select.contract{font-size:14px;border:none;padding:0;background:transparent}.state{display:inline-flex;align-items:center;gap:8px;font-size:13px;padding:9px 14px;border:1px solid transparent}.state i{width:6px;height:6px;border-radius:50%;flex:none}.state.draft{background:var(--waiting-tint);border-color:var(--waiting-line);color:var(--waiting)}.state.draft i{background:var(--waiting)}.state.published{background:#eaf6ef;border-color:#bfe0cd;color:var(--done)}.state.published i{background:var(--done)}.figures{background:var(--panel);border:1px solid var(--line);display:flex;flex-wrap:wrap;margin-bottom:22px}.figures>div{padding:22px 30px;border-right:1px solid var(--line);min-width:170px;flex-grow:1}.figures>div:last-child{border-right:none}.figure{font-size:32px;font-weight:300;line-height:1;font-variant-numeric:tabular-nums;margin-top:10px}.figure .of{font-size:18px;color:var(--faint)}.figure.over{color:var(--over)}.figures>div.over{background:var(--over-tint)}.figures>div.over .label{color:var(--over)}.table-scroll{overflow-x:auto;border:1px solid var(--line);background:var(--panel)}table{width:100%;min-width:940px;border-collapse:collapse;background:var(--panel)}th{text-align:left;padding:13px 18px;font-size:11px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap}th.own{color:var(--indigo)}td{padding:11px 18px;border-bottom:1px solid var(--hairline);vertical-align:top;font-size:14px;line-height:1.45}tbody tr:last-child td{border-bottom:none}tr.adjusted{background:var(--indigo-tint)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}td.key{font-size:13px;color:var(--muted);white-space:nowrap}td.approved{color:var(--faint)}td.logged{color:var(--muted)}td.gap{color:var(--waiting)}td.summary{min-width:260px}td.editable{padding:0}td.editable input{width:100%;padding:11px 18px;border:1px solid transparent;background:transparent;font-size:14px}td.editable input:hover:not(:disabled){background:#fbfbfc}td.editable input:focus{outline:none;border-color:var(--indigo);background:var(--panel)}input.hours{text-align:right;font-variant-numeric:tabular-nums}input.note{min-width:180px;font-style:italic;color:var(--muted)}td.actions{width:1%;white-space:nowrap}td.actions button{padding:5px 12px;font-size:12px;color:var(--muted)}.status{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.status i{width:6px;height:6px;border-radius:50%;flex:none}.status.done{color:var(--done)}.status.done i{background:var(--done)}.status.progress{color:var(--progress)}.status.progress i{background:var(--progress)}.status.waiting{color:var(--waiting)}.status.waiting i{background:var(--waiting)}.status.todo{color:var(--muted)}.status.todo i{background:#c3c8d0}.notice,.error{border:1px solid var(--waiting-line);background:var(--waiting-tint);color:var(--waiting);padding:12px 16px;margin-bottom:16px;font-size:13px}.error{background:#fdf0f3;border-color:#f0bccb;color:var(--over)}.empty{color:var(--muted);padding:64px 0;text-align:center}.foot{margin-top:14px;font-size:13px;color:var(--muted)}.statement{background:var(--paper);border:1px solid var(--line);max-width:1080px}.statement .masthead{background:var(--violet);padding:32px 56px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.statement .masthead>img{width:130px;height:37px}.statement .for{display:flex;align-items:center;gap:18px}.statement .for .label{color:#c9a8e8}.statement .for .chip{background:#fff;padding:10px 18px;display:flex;align-items:center}.statement .for .chip img{height:28px;width:auto;display:block}.statement .for .chip .fallback{font-size:16px;font-weight:600;color:var(--ink)}.statement .head{padding:44px 56px 0;display:flex;align-items:flex-end;justify-content:space-between;gap:32px;flex-wrap:wrap}.statement h1{margin:12px 0 0;font-size:56px;font-weight:200;letter-spacing:-.02em;line-height:1}.statement .issued{text-align:right;font-size:14px;color:var(--muted);line-height:1.7}.statement .summary{margin:40px 56px 0;background:var(--panel);border:1px solid var(--line);display:flex;flex-wrap:wrap}.statement .summary>div{flex-grow:1;padding:26px 32px;border-right:1px solid var(--line);min-width:200px}.statement .summary>div:last-child{border-right:none}.statement .summary .figure{font-size:40px;margin-top:12px}.statement .summary .included .figure{color:var(--muted)}.statement .summary .additional{background:var(--over-tint)}.statement .summary .additional .label,.statement .summary .additional .figure{color:var(--over)}.statement .ledger{margin:36px 56px 0}.statement .ledger table{min-width:0;border:1px solid var(--line)}.statement .ledger th{padding:16px 20px;letter-spacing:.14em}.statement .ledger td{padding:14px 20px;font-size:15px}.statement .ledger td.work{min-width:240px}.statement .ledger td.hours{font-weight:500;color:var(--ink)}.statement .ledger tr.total td{border-top:1px solid var(--line);border-bottom:none;padding:20px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.statement .ledger tr.total td.hours{font-size:20px;letter-spacing:0;text-transform:none;color:var(--ink)}.statement .colophon{margin:32px 56px 44px;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:flex-start;gap:40px;flex-wrap:wrap}.statement .colophon p{margin:0;font-size:13px;color:var(--muted);line-height:1.7;max-width:620px}@media(max-width:720px){.appbar{padding:0 20px;gap:16px}.appbar .who{display:none}.wrap{padding:20px 16px 48px}.statement .masthead,.statement .head{padding-left:24px;padding-right:24px}.statement .summary,.statement .ledger,.statement .colophon{margin-left:24px;margin-right:24px}.statement h1{font-size:38px}.statement .issued{text-align:left}.statement .summary>div{min-width:100%;border-right:none;border-bottom:1px solid var(--line)}.statement .summary>div:last-child{border-bottom:none}}.breakdown{background:var(--panel);border:1px solid var(--line);padding:20px 24px;margin-bottom:22px}.breakdown .bars{display:flex;flex-wrap:wrap;gap:28px;margin-top:14px}.breakdown .slice{flex:1 1 160px;min-width:150px}.breakdown .bar{height:4px;background:var(--indigo);margin-bottom:10px;min-width:2px}.breakdown .slice.other .bar{background:#c3c8d0}.breakdown .values{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.breakdown .name{font-size:13px;color:var(--ink)}.breakdown .hours{font-size:18px;font-weight:400;font-variant-numeric:tabular-nums}.breakdown .share{font-size:12px;color:var(--faint)}.statement .split{margin:32px 56px 0}.statement .split .breakdown{margin-bottom:0}@media(max-width:720px){.statement .split{margin-left:24px;margin-right:24px}}.toggle{display:flex}.toggle button{border-radius:0;border-right-width:0;color:var(--muted);padding:10px 18px}.toggle button:last-child{border-right-width:1px}.toggle button.on{background:var(--indigo);border-color:var(--indigo);color:#fff;font-weight:500}.toggle button.on+button{border-left-color:var(--indigo)}table.weekly{min-width:900px}table.weekly th.week,table.weekly td.week{width:88px}table.weekly th.week{text-align:right;line-height:1.5}table.weekly th.week .range{display:block}table.weekly th.week .wk{display:block;color:var(--faint);font-size:10px;letter-spacing:.08em}table.weekly td.week{color:var(--muted);font-variant-numeric:tabular-nums}table.weekly td.hours{font-weight:500;color:var(--ink)}table.weekly td.work{min-width:220px}table.weekly tr.total td{border-top:1px solid var(--line);border-bottom:none;font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);padding-top:16px}table.weekly tr.total td.week,table.weekly tr.total td.hours{font-size:15px;letter-spacing:0;text-transform:none;color:var(--ink)}tr.history td{padding:0;background:var(--indigo-tint)}.history-panel{padding:16px 18px 18px}.history-panel .head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.history-panel .head button{padding:4px 12px;font-size:12px}.history-panel ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:10px}.history-panel li{font-size:13px;line-height:1.6}.history-panel .move{font-variant-numeric:tabular-nums}.history-panel .note{display:block;color:var(--waiting);font-style:italic}.history-panel .who{display:block;color:var(--faint);font-size:12px}td.actions button.on{background:var(--indigo);border-color:var(--indigo);color:#fff}.signin{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--violet);padding:24px}.signin .card{background:var(--panel);padding:48px 44px 36px;max-width:420px;width:100%;text-align:center}.signin img{width:132px;height:38px;margin-bottom:28px}.signin h1{margin:0 0 6px;font-size:34px;font-weight:200;letter-spacing:-.01em}.signin p{margin:0 0 24px;font-size:14px}.signin .google{display:block;background:var(--indigo);color:#fff;text-decoration:none;font-weight:500;padding:14px 20px;margin-bottom:20px}.signin .google:hover{background:var(--violet)}.signin .fine{font-size:12px;margin:0}.signin .error{text-align:left}.appbar .signout{background:transparent;border-color:#7a3bb0;color:#d6c2ea;padding:6px 14px;font-size:12px;margin-left:14px}.appbar .signout:hover{border-color:#fff;color:#fff}.wrap.client{max-width:1140px;margin:0 auto;padding-top:32px}.signin .field{display:block;text-align:left;margin-bottom:18px}.signin .field .label{display:block;margin-bottom:8px}.signin .field input{width:100%}button.wide{width:100%;padding:14px 20px}.appbar .screens{display:flex;gap:4px;margin-left:8px}.appbar .screens button{background:transparent;border:none;color:#c9a8e8;padding:6px 12px;font-size:13px}.appbar .screens button:hover{color:#fff}.appbar .screens button.on{color:#fff;font-weight:500;border-bottom:2px solid #fff}table.clients{min-width:820px}table.clients td{vertical-align:middle}.client-name{display:flex;align-items:center;gap:12px}.client-name img{height:20px;width:auto;max-width:92px;display:block}.client-name .mark{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;background:var(--indigo-tint);color:var(--indigo);font-weight:600;flex:none}button.link{border:none;background:transparent;padding:0;color:var(--indigo);text-decoration:underline;text-underline-offset:3px}.copied{margin-left:8px;font-size:12px;color:var(--done)}button.danger{color:var(--over)}button.danger:hover:not(:disabled){border-color:var(--over)}.set-password{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.set-password input{min-width:200px}.just-set{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px;padding:10px 12px;background:var(--waiting-tint);border:1px solid var(--waiting-line)}.just-set .label{color:var(--waiting);letter-spacing:.06em}.just-set code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;background:var(--panel);padding:4px 10px;border:1px solid var(--line)}.syncing{background:var(--panel);border:1px solid var(--indigo-soft);padding:18px 22px;margin-bottom:22px}.syncing .head{display:flex;align-items:center;gap:12px;margin-bottom:16px;font-size:14px}.syncing .spinner{width:14px;height:14px;border:2px solid var(--indigo-soft);border-top-color:var(--indigo);border-radius:50%;animation:spin .8s linear infinite;flex:none}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.syncing .spinner{animation-duration:3s}}.syncing .steps{display:flex;flex-wrap:wrap;gap:8px 28px;margin-bottom:14px}.syncing .step{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--faint)}.syncing .step .dot{width:7px;height:7px;border-radius:50%;background:var(--line);flex:none}.syncing .step.done{color:var(--muted)}.syncing .step.done .dot{background:var(--done)}.syncing .step.on{color:var(--indigo);font-weight:500}.syncing .step.on .dot{background:var(--indigo)}.syncing .detail{font-size:13px;line-height:1.6}.picker{display:flex;align-items:center;gap:10px}.picker select{min-width:180px}.carried{display:block;margin-top:3px;font-size:11px;color:var(--indigo);letter-spacing:.04em}.history-panel.decision .field-inline{display:flex;align-items:center;gap:10px;margin-bottom:16px}.history-panel.decision .field-inline span{font-size:13px;color:var(--muted)}.history-panel.decision .field-inline input{flex:1;max-width:520px}.history-panel .choices{display:flex;flex-wrap:wrap;gap:16px}.history-panel .choice{flex:1 1 320px;background:var(--panel);border:1px solid var(--line);padding:14px 16px;display:flex;flex-direction:column;gap:12px}.history-panel .choice .what{display:flex;flex-direction:column;gap:6px}.history-panel .choice .what strong{font-weight:500}.history-panel .choice .what .muted{font-size:12px;line-height:1.55}.history-panel .choice .do{display:flex;gap:8px;align-items:center}.set-aside{margin-top:18px;background:var(--panel);border:1px solid var(--line);padding:16px 20px}.set-aside ul{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}.set-aside li{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;font-size:13px}.set-aside .key{color:var(--muted);white-space:nowrap}.set-aside .summary{flex:1 1 260px}.set-aside .what{color:var(--indigo)}.set-aside .what em{color:var(--muted)}.figures .allowance-cell{padding:0;display:flex}button.allowance{border:none;background:transparent;text-align:left;padding:22px 30px;width:100%;display:block}button.allowance:hover{background:#fbfbfc}button.allowance .figure{margin-top:10px}button.allowance .was{font-size:13px;color:var(--faint)}button.allowance .why{display:block;margin-top:6px;font-size:12px;color:var(--waiting)}.allowance-edit{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap;padding:18px 24px}.allowance-edit label{display:flex;flex-direction:column;gap:8px}.allowance-edit input[type=number]{width:110px}.allowance-edit input[type=text]{min-width:220px}
