:root{--ink: #0e1b2e;--ink-2: #d8e3ef;--mist: #8ba3bf;--plate: #152943;--plate-soft: #1f3654;--line: #2e4763;--signal: #12bfdb;--amber: #f5b301;--danger: #e7473c;--emerald: #10b981;--sans: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;--data: "JetBrains Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--ink);color:var(--ink-2);font-family:var(--sans);font-size:17px;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}.app{display:flex;flex-direction:column;height:100%}.bar{display:flex;align-items:center;gap:12px;padding:14px 20px;background:var(--plate);border-bottom:1px solid var(--line)}.brand{font-weight:600;letter-spacing:-.01em}.mark{display:block;flex:none}.bar>.mark+.brand{margin-left:-2px}.who{color:var(--mist);font-size:.9rem}.clock{margin-left:auto;display:flex;align-items:center;gap:12px;min-height:46px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:var(--plate-soft);color:var(--ink-2);font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.clock:active{background:var(--plate)}.clock-time{font-family:var(--data);font-weight:600;font-size:1.15rem;letter-spacing:.04em}.clock-rule{width:1px;align-self:stretch;margin:10px 0;background:currentColor;opacity:.3}.clock-out{display:flex;align-items:center;gap:7px;font-size:.92rem;font-weight:700}.clock.warn{border-color:#f5b30199;color:#ffd97a;background:#f5b30124}.clock.hot{border-color:#e7473cb3;color:#ffc9c4;background:#e7473c29;animation:pulse 1s ease-in-out infinite}@keyframes pulse{50%{opacity:.45}}@media(prefers-reduced-motion:reduce){.clock.hot{animation:none}}.pane{flex:1;overflow:auto;padding:24px 20px 32px;max-width:560px;width:100%;margin-inline:auto}.pane-head{font-size:1.3rem;font-weight:600;margin:0 0 16px}.muted{color:var(--mist)}.num{font-family:var(--data)}.minus{color:#ffd97a}.big{font-size:1.5rem;color:#7fe3c4}.error{color:#ffc9c4;font-size:.9rem}.pad{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:20px}.pad-ask{margin:0;color:var(--mist)}.pad-number{font-family:var(--data);font-size:2rem;letter-spacing:.12em;min-height:2.4rem}.pad-dots{display:flex;gap:14px;min-height:2.4rem;align-items:center}.pad-dots i{width:15px;height:15px;border-radius:50%;border:1px solid var(--line);display:block}.pad-dots i.on{background:var(--signal);border-color:var(--signal)}.pad-error{color:#ffc9c4;font-size:.9rem;margin:0;text-align:center;max-width:34ch}.pad-keys{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;width:min(340px,90vw)}.key{aspect-ratio:1.6;display:flex;align-items:center;justify-content:center;font-family:var(--data);font-size:1.5rem;color:var(--ink-2);background:var(--plate-soft);border:1px solid var(--line);border-radius:12px;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.key:active{background:var(--plate)}.key:disabled{opacity:.5}.key--ok{background:var(--signal);border-color:var(--signal);color:var(--ink)}.loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding:20px;animation:appear .2s ease-out}.loading-mark{width:min(280px,60vw);height:auto}.loading-label{margin:0;font-size:1.3rem;font-weight:600}@keyframes appear{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}@keyframes signal-emit{0%{opacity:0;transform:translate(6px)}30%{opacity:1}to{opacity:0;transform:translate(-10px)}}.loader-arc{transform-box:fill-box;transform-origin:center;animation:signal-emit 1.4s ease-in-out infinite}.loader-arc--2{animation-delay:.22s}.loader-arc--3{animation-delay:.44s}@media(prefers-reduced-motion:reduce){.loader-arc{animation-duration:2.6s}.loading{animation:none}}.summary{border:1px solid #1d5c78;background:var(--plate);border-radius:16px;padding:18px 20px;margin-bottom:18px}.summary-kicker{margin:0 0 6px;font-family:var(--data);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mist)}.summary-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.summary-count{font-size:3rem;font-weight:700;line-height:1}.summary-money{font-size:2.1rem;font-weight:700;color:var(--signal);line-height:1}.summary-row--sub{margin-top:6px;font-size:.92rem}.summary-oldest{margin:12px 0 0;padding-top:10px;border-top:1px solid var(--line);font-size:.88rem}.shift{display:block;width:100%;text-align:left;background:transparent;border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:10px;color:inherit;font:inherit;cursor:pointer}.shift:active{background:var(--plate-soft)}.shift-when{display:block;font-family:var(--data);font-size:.85rem;color:var(--mist)}.shift-sum{display:flex;gap:8px;align-items:baseline;margin-top:4px}.shift-sum b{font-family:var(--data);font-size:1.1rem}.shift-gross{margin-left:auto}.facts{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 18px}.facts dt{font-family:var(--data);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mist)}.facts dd{margin:3px 0 0;font-size:1.1rem}.expenses{list-style:none;margin:0 0 14px;padding:0}.expenses li{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--line);font-size:.92rem}.expenses li .num{margin-left:auto;color:#ffd97a}.expenses li button{background:transparent;border:none;color:var(--mist);font-size:1rem;cursor:pointer}.expense-cat{font-size:.8rem;font-weight:700;padding:3px 10px;border-radius:999px;background:var(--plate-soft);border:1px solid var(--line)}.expense-note{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expense-add{display:flex;flex-direction:column;gap:12px;margin-bottom:18px;padding:14px;border:1px solid var(--line);border-radius:14px}.expense-step{margin:0;font-size:.88rem;color:var(--mist)}.expense-cats{display:flex;flex-wrap:wrap;gap:8px}.chip{min-height:50px;padding:0 18px;border-radius:12px;border:1px solid var(--line);background:var(--plate-soft);color:var(--ink-2);font:inherit;font-weight:600;cursor:pointer;touch-action:manipulation}.chip--on{background:var(--signal);border-color:var(--signal);color:var(--ink)}.pane-actions,.done-actions{display:flex;gap:10px;margin-top:20px}.primary,.ghost{flex:1;height:54px;border-radius:12px;font:inherit;font-weight:600;cursor:pointer;touch-action:manipulation}.primary{background:var(--signal);border:1px solid var(--signal);color:var(--ink)}.ghost{background:transparent;border:1px solid var(--line);color:var(--mist)}.primary:disabled,.ghost:disabled{opacity:.5}.badge{font-size:.75rem;font-weight:700;padding:3px 10px;border-radius:999px;white-space:nowrap}.badge--office{background:#2b2440;border:1px solid #6d5bd0;color:#d6ccff}.pad{position:relative}.pad-office{position:absolute;right:20px;bottom:20px;display:flex;align-items:center;gap:8px}.notice{margin:16px auto 0;max-width:520px;padding:10px 14px;border-radius:10px;background:#f5b3011f;border:1px solid rgba(245,179,1,.5);color:#ffd97a}.warning{margin:0 0 14px;padding:10px 14px;border-radius:10px;font-size:.9rem;line-height:1.45;background:#f5b3011f;border:1px solid rgba(245,179,1,.5);color:#ffd97a}.check{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;color:var(--mist);line-height:1.4}.check input{width:20px;height:20px;margin:0;flex:none;accent-color:var(--signal)}.office-sign-in .ghost,.office-sign-in .primary{flex:none}.pane--wide{max-width:860px}.pane--form{max-width:720px}.step{margin:0 0 4px;font-size:.85rem}.search{width:100%;height:52px;padding:0 14px;margin-bottom:14px;border-radius:10px;border:1px solid var(--signal);background:var(--plate);color:var(--ink-2);font:inherit;-webkit-user-select:text;user-select:text}.pick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.pick-grid--3{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));margin:12px 0 4px}.pick{text-align:left;display:flex;flex-direction:column;gap:4px;min-height:64px;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--plate);color:var(--ink-2);font:inherit;cursor:pointer;touch-action:manipulation}.pick:active{background:var(--plate-soft)}.pick--recent{border-color:var(--signal)}.pick-main{font-weight:600}.pick-main--big{font-size:1.4rem;font-weight:700}.pick-sub{font-size:.8rem}.period{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin-bottom:14px}.period .field{flex:1 1 200px}.period input{font-family:var(--data)}.period-hint{font-size:.8rem;flex:1 1 100%}.income{border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-bottom:14px}.income-row{display:grid;grid-template-columns:minmax(0,1fr) 48px minmax(120px,auto);gap:10px;align-items:center;padding:12px 16px}.income>.income-row{border-bottom:1px solid var(--line)}.income-ext{background:#122339;padding-bottom:12px}.income-ext .lines,.income-ext .line-add{margin-left:16px;margin-right:16px}.income-hint{font-size:.8rem}.income-rides{text-align:right}.income-amount{text-align:right;font-size:1.1rem}.income-edit{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.income-edit input{width:140px;height:42px;padding:0 10px;text-align:right;border-radius:9px;border:1px solid var(--signal);background:var(--plate);color:var(--ink-2);font-family:var(--data);font-size:1.05rem;-webkit-user-select:text;user-select:text}.income-was{font-size:.72rem}.lines{list-style:none;margin:0 0 10px;padding:0}.lines li{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px dashed var(--line);font-size:.92rem}.lines .num{margin-left:auto}.lines-note{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lines li button{background:transparent;border:none;color:var(--mist);font-size:1rem;cursor:pointer}.line-add{display:flex;gap:8px;flex-wrap:wrap}.line-add input{flex:1 1 110px;min-width:0;height:46px;padding:0 12px;border-radius:10px;border:1px solid var(--line);background:var(--plate);color:var(--ink-2);font:inherit;-webkit-user-select:text;user-select:text}.line-add .line-add-wide{flex:3 1 200px}.line-add .line-add-go{flex:none;height:46px;padding:0 16px}.line-add .line-add-go:not(:disabled){color:var(--signal);border-color:var(--signal)}.expense-add .income-row{padding:0 0 4px}.facts--3{grid-template-columns:repeat(3,minmax(0,1fr))}.primary--wide{flex:2}.done{text-align:center}.tick{font-size:3rem;color:#7fe3c4;line-height:1}.done-amount{font-family:var(--data);font-size:2.2rem;font-weight:700;margin-top:6px}.done-next{margin-top:14px}.label{position:absolute;left:-10000px;top:0}@media print{.app>*:not(.pane),.bar,.pane>*:not(.label){display:none!important}html,body,.app,.pane{background:#fff!important;margin:0!important;padding:0!important;min-height:0!important}.label{position:static;left:auto;display:block;width:auto;max-width:72mm;margin:0;padding:1mm 1mm 4mm;color:#000;background:#fff;font-family:Arial,Helvetica,sans-serif;font-size:10pt;line-height:1.35;text-align:left;overflow-wrap:anywhere}.label *{color:#000!important;background:transparent!important}.label-row{display:flex;justify-content:space-between;gap:2mm}.label-row>span:last-child{text-align:right;flex:none}.label-center{text-align:center}.label-right{text-align:right}.label-strong{font-weight:700}.label-caps{text-transform:uppercase}.label-small{font-size:9pt}.label-title{font-weight:700;font-size:12pt;letter-spacing:.06em}.label-amount{font-weight:700;font-size:20pt;line-height:1.15}.label-rule{border-top:1px dashed #000;margin:1.5mm 0}.label-rule--strong{border-top:2px solid #000}.label-sign{margin-top:4mm}.label-sign-line{border-bottom:1px solid #000;height:5mm}}@page{margin:0}.setup{max-width:420px}.setup-why{margin:0 0 22px;font-size:.92rem;line-height:1.5}.setup-form{display:flex;flex-direction:column;gap:14px}.field{display:flex;flex-direction:column;gap:6px;font-size:.85rem;color:var(--mist)}.field input{height:50px;padding:0 14px;border-radius:10px;border:1px solid var(--line);background:var(--plate);color:var(--ink-2);font:inherit;font-size:1rem;-webkit-user-select:text;user-select:text}.field input:focus{outline:none;border-color:var(--signal)}.setup-note{margin-top:22px;font-size:.8rem;line-height:1.5}.bar--foot{border-bottom:none;border-top:1px solid var(--line);justify-content:flex-end}.ghost--small{flex:none;height:38px;padding:0 14px;font-size:.85rem;font-weight:500}.pad-company{margin:4px 0 0;font-size:.78rem;color:var(--mist);letter-spacing:.02em}.brand{cursor:default;-webkit-user-select:none;user-select:none}
