:root{color-scheme:dark;--bg:#0b1120;--surface:#151e30;--surface2:#1d293d;--outline:#28364b;--text:#f4f7fe;--muted:#9dabbd;--accent:#8bffa4;--accent-ink:#10211b;--amber:#ffcc7b;--red:#ff8e8e;--shadow:0 18px 60px rgba(2,5,12,.28)}
*{box-sizing:border-box}html{min-height:100%}body{margin:0;background:radial-gradient(circle at 10% -10%,#1b3450 0%,transparent 40%),var(--bg);color:var(--text);font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Arial,sans-serif}button,input{font:inherit}button{cursor:pointer}a{color:var(--accent)}.app-shell{max-width:570px;min-height:100dvh;margin:auto;padding:0 22px 108px;position:relative}.topbar{display:flex;align-items:center;gap:10px;height:79px}.brandmark{display:grid;place-items:center;width:37px;height:37px;flex-shrink:0;border-radius:12px;background:var(--accent);color:#09201a}.brandmark svg{width:27px;height:27px}.brand{font-size:19px;letter-spacing:-.75px;font-weight:800}.brand span:first-child{color:var(--accent)}.brand-dot{display:inline-block;background:var(--accent);height:5px;width:5px;border-radius:50%;margin-left:3px}.top-tag{margin-left:auto;background:#223047;color:#b8c8db;border:1px solid #32445a;border-radius:50px;padding:5px 10px;font-size:11px;font-weight:650}.eyebrow{margin:0 0 4px;color:var(--accent);font-size:10px;font-weight:850;letter-spacing:1.4px;text-transform:uppercase}.page-title{font-size:28px;font-weight:780;letter-spacing:-1.1px;line-height:1.14;margin:3px 0 9px}.subhead{color:var(--muted);font-size:13px;margin:0 0 20px}.month-switch{display:inline-flex;align-items:center;gap:14px;padding:7px 10px;background:#1c293c;border:1px solid #28394f;border-radius:14px;margin-bottom:19px}.month-switch .icon-button{padding:0 5px;width:24px;height:24px;font-size:21px;color:#c7d6e9}.month-switch span{font-weight:750;font-size:13px;min-width:120px;text-align:center}.icon-button{display:inline-grid;place-items:center;border:0;background:transparent;color:var(--text);border-radius:9px}.hero{background:linear-gradient(143deg,#253e54 0%,#19332e 58%,#14352b 100%);border:1px solid #456d67;padding:22px;border-radius:25px;position:relative;overflow:hidden;box-shadow:var(--shadow)}.hero:after{content:"";position:absolute;right:-42px;top:-51px;width:202px;height:202px;border:1px solid rgba(182,255,193,.18);border-radius:50%;box-shadow:0 0 0 23px rgba(182,255,193,.035),0 0 0 54px rgba(182,255,193,.04)}.hero>*{position:relative;z-index:1}.hero .hero-label{color:#c7e5d8;font-size:13px;margin:0}.hero .amount{font-size:clamp(34px,8vw,43px);line-height:1.15;letter-spacing:-1.8px;font-weight:800;margin:7px 0}.hero .hero-tip{display:inline-block;font-size:12px;color:#cbebdb;background:rgba(185,255,211,.1);border:1px solid rgba(185,255,211,.16);border-radius:10px;padding:6px 9px}.hero .hero-footer{display:flex;align-items:center;justify-content:space-between;margin-top:27px;gap:10px;flex-wrap:wrap}.hero .hero-footer span{color:#c1ded0;font-size:12px}.small-button{background:var(--accent);color:var(--accent-ink);border:0;border-radius:11px;font-weight:780;padding:9px 13px;font-size:12px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:13px 0 25px}.stat{background:var(--surface);border:1px solid var(--outline);border-radius:17px;padding:14px 11px}.stat .value{font-size:20px;letter-spacing:-.6px;font-weight:760}.stat .legend{font-size:11px;color:var(--muted);margin-top:2px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:23px 0 12px}.section-head h2{font-size:17px;letter-spacing:-.3px;margin:0}.inline-action{border:0;background:transparent;color:var(--accent);font-size:13px;font-weight:750;padding:4px}.card{background:var(--surface);border:1px solid var(--outline);border-radius:19px;padding:18px}.breakdown-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0}.breakdown-item+.breakdown-item{border-top:1px solid #2a3548}.breakdown-left{display:flex;align-items:center;gap:10px}.color-dot{height:9px;width:9px;border-radius:3px;background:#8bffa4;flex-shrink:0}.breakdown-left .label{font-size:13px;color:#b9c6d7}.breakdown-item b{font-size:13px;white-space:nowrap}.muted{color:var(--muted)}.empty{border:1px dashed #344259;border-radius:18px;padding:24px;text-align:center;color:var(--muted);background:rgba(28,39,56,.4)}.empty .empty-icon{display:grid;place-items:center;margin:auto auto 12px;width:44px;height:44px;border-radius:15px;background:#243a43;font-size:23px}.empty h3{font-size:15px;color:var(--text);margin:0 0 7px}.empty p{font-size:13px;margin:0 0 17px}.btn{border:0;border-radius:13px;padding:12px 17px;font-weight:760;font-size:14px;transition:transform .13s}.btn:active,.small-button:active,.nav-item:active{transform:scale(.97)}.btn.primary{background:var(--accent);color:var(--accent-ink)}.btn.secondary{background:#27394b;color:var(--text);border:1px solid #3a4c60}.btn.ghost{background:#3b2933;color:#ffa1ae}.btn.full{width:100%}.btn.grow{flex:1}.btn:disabled{opacity:.45;cursor:not-allowed}.shift-row{background:var(--surface);border:1px solid var(--outline);border-radius:17px;padding:15px;display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;color:var(--text);text-align:left;margin-bottom:9px}.shift-row .date{font-weight:740;font-size:14px}.shift-row .meta{font-size:12px;color:var(--muted);margin-top:4px}.shift-row .money{text-align:right;font-size:15px;font-weight:780}.shift-row .tips{font-size:11px;color:var(--accent);margin-top:2px;text-align:right}.shift-row .arrow{color:#77889f;padding-left:7px}.notice{font-size:12px;line-height:1.6;color:var(--muted);background:#172236;border:1px solid #2c4059;padding:13px;border-radius:13px;margin-top:15px}.audit-total{padding:18px;border-radius:19px;background:#1a2639;border:1px solid #34445d;display:flex;align-items:flex-start;justify-content:space-between;gap:9px}.audit-total .l{font-size:12px;color:var(--muted)}.audit-total strong{display:block;font-size:22px;letter-spacing:-.7px;margin-top:5px}.audit-total .difference{font-size:14px;font-weight:730;text-align:right;padding-top:6px}.positive{color:var(--red)}.negative{color:var(--accent)}.audit-table{width:100%;border-collapse:collapse;font-size:12px}.audit-table th{text-align:right;padding:10px 8px;color:#8293aa;font-weight:650}.audit-table th:first-child{text-align:left}.audit-table td{border-top:1px solid #29364a;padding:12px 8px;text-align:right;vertical-align:top}.audit-table td:first-child{text-align:left;color:#d6dfec;font-weight:650}.audit-table .total-row td{color:var(--text);font-weight:800;border-top:1px solid #50627a}.audit-table .cell-muted{color:#6f8198}.issue-card{padding:13px 14px;background:rgba(255,184,113,.07);border:1px solid rgba(255,184,113,.24);border-radius:14px;margin-bottom:8px}.issue-card b{font-size:13px}.issue-card p{font-size:12px;color:#e3cdb8;margin:3px 0 0}.question{font-size:13px;padding:12px 0;border-bottom:1px solid #2e3b4e;color:#d8e1ed}.question:last-child{border:0}.question .counter{font-size:11px;color:var(--accent);font-weight:800;margin-right:8px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:13px;min-width:0}.field span{font-size:12px;color:#b8c8d8;font-weight:620}.field input{width:100%;min-width:0;color:var(--text);background:#10192a;border:1px solid #35445a;border-radius:12px;padding:12px;font-size:15px;outline:none}.field input:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgba(139,255,164,.10)}.field input[readonly]{color:#d5deea;background:#182233}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.settings-intro{font-size:13px;color:var(--muted);margin:0 0 22px}.hint{font-size:12px;color:var(--muted);margin-top:4px}.settings-actions{display:flex;gap:10px;margin-top:18px}.bottom-nav{position:fixed;z-index:8;bottom:0;left:50%;transform:translateX(-50%);display:flex;justify-content:space-around;gap:2px;max-width:570px;width:100%;padding:11px 18px calc(13px + env(safe-area-inset-bottom));background:rgba(13,22,35,.97);border-top:1px solid #2c3b4d;backdrop-filter:blur(16px)}.nav-item{min-width:0;flex:1;display:flex;align-items:center;flex-direction:column;gap:4px;border:0;background:transparent;color:#8898ad;font-size:10px;font-weight:700;padding:3px 0;line-height:1.15}.nav-item svg{width:21px;height:21px}.nav-item.active{color:var(--accent)}.dialog{border:0;padding:0;background:transparent;max-width:min(560px,100%);width:100%;color:var(--text);max-height:95dvh;overflow:visible}.dialog::backdrop{background:rgba(0,5,13,.81);backdrop-filter:blur(3px)}.dialog-card{background:#162237;border:1px solid #3a4d62;border-radius:23px;padding:21px;display:flex;flex-direction:column;max-height:92dvh;box-shadow:var(--shadow)}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:14px}.dialog-head h2{font-size:20px;letter-spacing:-.4px;margin:0}.dialog-head .icon-button{font-size:21px;width:32px;height:32px}.modal-scroll{overflow:auto;overscroll-behavior:contain;padding-right:2px}.dialog-actions{display:flex;align-items:center;gap:10px;padding-top:13px;border-top:1px solid #304157;margin-top:8px}.soft-note{background:#233044;color:#aebcd0;font-size:11px;line-height:1.55;padding:12px;border-radius:10px;margin:5px 0 12px}.dialog-lead{color:#aab9ca;font-size:12px;margin:0 0 13px}.form-caption{font-weight:800;font-size:12px;color:var(--accent);margin:14px 0}.hidden{display:none!important}.toast{position:fixed;z-index:40;bottom:94px;left:50%;transform:translate(-50%,20px);padding:11px 15px;border-radius:12px;background:#31433b;color:#d9ffdf;font-size:13px;white-space:nowrap;max-width:90vw;overflow:hidden;text-overflow:ellipsis;opacity:0;pointer-events:none;transition:all .18s}.toast.show{opacity:1;transform:translate(-50%,0)}.list-actions{display:flex;gap:8px;flex-wrap:wrap}.pt8{padding-top:8px}.mt14{margin-top:14px}.mt22{margin-top:22px}.status-ok{background:rgba(139,255,164,.08);border:1px solid #3c5b4c;color:#b9eec4;border-radius:13px;padding:13px;font-size:12px}.footer-tiny{margin-top:30px;color:#74879e;font-size:11px;text-align:center}
.month-switch.roomy{width:100%;justify-content:space-between}.month-switch.roomy .icon-button{width:40px;height:40px}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.cal-dow{text-align:center;color:var(--muted);font-size:11px;font-weight:750;padding:2px 0 6px}.cal-day{min-height:54px;border:1px solid var(--outline);background:var(--surface);color:var(--text);border-radius:14px;padding:6px 2px 5px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:2px}.cal-day:disabled{opacity:.28}.cal-day .num{font-size:13px;font-weight:760;line-height:1}.cal-earn{font-size:9px;line-height:1.15;font-weight:750;color:var(--accent);letter-spacing:-.3px;max-width:100%;overflow:hidden}.cal-day.has-shift{background:#16291f;border-color:#3c6650}.cal-day.overnight{box-shadow:inset 0 2px 0 var(--amber)}.cal-day.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.cal-day.selected.overnight{box-shadow:inset 0 2px 0 var(--amber),0 0 0 1px var(--accent)}.day-panel{margin-top:16px}.day-panel h2{font-size:18px;letter-spacing:-.4px;margin:0}.shift-detail{margin-bottom:10px}.shift-detail p{margin:6px 0 0;font-size:13px;color:#c5d2e2}.shift-detail .detail-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.shift-detail .detail-top b{font-size:18px;letter-spacing:-.5px;white-space:nowrap}.detail-actions{display:flex;gap:8px;margin-top:12px}
@media(min-width:650px){.app-shell{border-left:1px solid #263348;border-right:1px solid #263348;min-height:100vh}.bottom-nav{border-left:1px solid #263348;border-right:1px solid #263348}}@media(max-width:365px){.app-shell{padding-left:13px;padding-right:13px}.two-col{gap:8px}.field input{padding:10px 8px}.dialog-card{padding:14px}.audit-table th,.audit-table td{padding-left:4px;padding-right:4px}.cal-grid{gap:3px}.cal-day{min-height:48px;border-radius:11px;padding:5px 1px}.cal-earn{font-size:8px}.bottom-nav{padding-left:6px;padding-right:6px}.hour-grid,.check-grid{grid-template-columns:1fr}}
.hour-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.hour-card{padding:14px}.hour-card .k,.check-card .k{color:var(--muted);font-size:12px}.hour-card strong{display:block;margin-top:4px;font-size:28px;letter-spacing:-1px}.hour-card span,.week-col span{color:var(--muted);font-size:12px}.week-nav{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:6px 0}.week-nav span{font-size:12px;text-align:center}.week-chart{display:flex;align-items:flex-end;gap:8px;margin-top:8px}.week-col{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:4px}.week-track{height:92px;width:100%;display:flex;align-items:flex-end;background:#182233;border-radius:12px;overflow:hidden}.week-bar{width:100%;background:linear-gradient(#c8ffd8,var(--accent));border-radius:12px 12px 0 0}.week-col b{font-size:12px}.week-col span{font-size:10px;line-height:1.25;text-align:center}.check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.check-card{background:var(--surface);border:1px solid var(--outline);border-radius:16px;padding:12px 10px}.check-card strong{display:block;margin:6px 0;font-size:16px;letter-spacing:-.3px}.check-card strong.positive{color:var(--amber)}.check-card strong.negative{color:var(--red)}.pill{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700;background:#223047;color:#b8c8db}.pill.match{background:#173528;color:var(--accent)}.pill.difference{background:#3a2228;color:var(--red)}.pill.clarify{background:#3a311c;color:var(--amber)}.section-head .pill{margin-left:8px}.check-field{display:flex;gap:10px;align-items:flex-start;margin:12px 0;color:var(--text)}.check-field input{width:18px;height:18px;margin-top:3px;accent-color:#8bffa4}
.app-shell{padding-top:calc(var(--tg-safe-area-inset-top, 0px) + var(--tg-content-safe-area-inset-top, 0px));padding-bottom:calc(108px + var(--tg-safe-area-inset-bottom, env(safe-area-inset-bottom, 0px)) + var(--tg-content-safe-area-inset-bottom, 0px))}
.bottom-nav{padding-bottom:calc(13px + var(--tg-safe-area-inset-bottom, env(safe-area-inset-bottom, 0px)) + var(--tg-content-safe-area-inset-bottom, 0px))}
.field select{width:100%;min-height:48px;border:1px solid var(--outline);border-radius:14px;background:#10192a;color:var(--text);padding:12px 14px}
.calendar-page .page-title{margin-bottom:2px}.calendar-page .subhead{margin:0 0 6px}.calendar-page .hero{margin-top:8px;padding:12px 14px}.calendar-page .hero .amount{font-size:32px;line-height:1.05}.calendar-page .stats{margin-top:8px;gap:8px}.calendar-page .stat{padding:8px 6px}.calendar-page .section-head{margin:10px 0 4px}.calendar-page .week-track{height:64px}.calendar-page .cal-grid{margin-top:8px}.calendar-page .day-panel{margin-top:10px;padding:12px 12px 8px}.calendar-page .shift-detail{margin-top:8px}
.day-empty{margin:8px 0 0;color:var(--muted);font-size:14px}
.quick-add{display:flex;flex-direction:column;gap:8px;margin-top:10px}.quick-add .form-caption{margin:0}
.template-pick{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;width:100%;min-height:48px;padding:10px 12px;border-radius:14px;border:1px solid #3c6650;background:#16291f;color:var(--text);text-align:left}
.template-pick strong{font-size:15px;line-height:1.2}.template-pick span{color:#b7c9bc;font-size:12px;line-height:1.3}
.add-manual{min-height:52px;font-size:16px}
.template-list{padding:12px 14px}.template-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid var(--outline)}
.template-row:first-child{border-top:0;padding-top:0}.template-row strong{display:block}.template-row span{display:block;color:var(--muted);font-size:12px;line-height:1.3}.template-row .btn{min-height:44px;flex-shrink:0}
@media(max-width:365px){.hour-grid,.check-grid{grid-template-columns:1fr}.calendar-page .hero .amount{font-size:28px}.nav-item{font-size:9px}.nav-item svg{width:18px;height:18px}}
.section-head .page-title{margin:0}
.extra-pay{margin:4px 0 14px;border:1px solid var(--outline);border-radius:14px;padding:10px 12px;background:#121b2c}
.extra-pay summary{cursor:pointer;font-weight:750;margin-bottom:8px}
.tip-cat,.tip-person{display:grid;grid-template-columns:auto 1fr 96px;gap:8px;align-items:center;margin-bottom:8px}
.tip-person{grid-template-columns:1fr 84px auto}
.tip-cat input[type=checkbox],.self-flag input{width:18px;height:18px;accent-color:#8bffa4}
.tip-cat span{font-size:14px}
.weight-field,.self-flag{margin:0}
.self-flag{display:flex;align-items:center;gap:6px;font-size:13px;white-space:nowrap}
.mode-row{display:flex;gap:14px;margin:4px 0 12px}
.mode-row label{display:flex;align-items:center;gap:6px}
.statement{white-space:pre-wrap;font:13px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:#10192a;border:1px solid #35445a;border-radius:12px;padding:12px;margin:12px 0;color:#e7eef8}
.payout-card{margin-bottom:12px}
.payout-card .detail-top b{font-size:28px;letter-spacing:-.8px}
.payout-card .statement{margin-top:10px}
.cal-day.has-plan:not(.has-shift){border-style:dashed;border-color:#8a6a32;background:#241d14}
.cal-day.has-shift.has-plan{box-shadow:inset 0 -3px 0 var(--amber)}
.cal-day.selected.has-plan:not(.has-shift){box-shadow:0 0 0 1px var(--accent)}
.cal-plan{font-size:9px;line-height:1.15;font-weight:750;color:var(--amber)}
.plan-card{margin-bottom:10px;border-style:dashed;border-color:#6d5a32;background:#241d14}
.plan-card p{margin:6px 0 0;font-size:13px;color:#e6d3b4}
.import-launch{margin:0 0 16px}
.import-choice{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;margin-bottom:8px;padding:12px;border-radius:14px;border:1px solid var(--outline);background:var(--surface);color:var(--text);text-align:left}
.import-choice.suggested{border-color:var(--amber)}
.import-row{margin-bottom:12px}
.import-row select,.import-row input{width:100%;color:var(--text);background:#10192a;border:1px solid #35445a;border-radius:12px;padding:10px}
.import-note{font-size:12px;color:var(--amber);margin:6px 0 0}
