:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#20253a;background:#f7f8fc;font-synthesis:none;--ink:#20253a;--muted:#767d94;--line:#e9ebf2;--purple:#7658e8;--purple-2:#aa7af7;--teal:#12bca1;--orange:#ff9c58;--card:#fff;--shadow:0 14px 40px rgba(37,43,79,.055)}
*{box-sizing:border-box}html{min-height:100%;scroll-behavior:smooth}body{margin:0;min-width:0;padding-bottom:env(safe-area-inset-bottom);-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.62}input,select,textarea{color:var(--ink)}a{color:inherit}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}.icon.sm{width:17px;height:17px}.icon.lg{width:24px;height:24px}.app-shell{min-height:100vh}.startup{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:14px;color:var(--muted);font-weight:650}.startup-logo,.logo-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:15px;color:white;background:linear-gradient(145deg,#9169f6,#5f53db);font-size:24px;font-weight:900;box-shadow:0 8px 20px rgba(112,89,231,.25)}
.topbar{background:rgba(255,255,255,.92);border-bottom:1px solid #eef0f5;position:sticky;top:0;z-index:20;backdrop-filter:blur(16px)}.topbar-inner{max-width:1190px;margin:auto;min-height:73px;padding:12px 24px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:850;font-size:21px;letter-spacing:-.04em;white-space:nowrap}.brand .logo-mark{height:38px;width:38px;font-size:21px;border-radius:13px}.desktop-nav{display:flex;align-items:center;gap:4px;margin-left:16px}.nav-button{display:flex;align-items:center;gap:8px;background:transparent;border:0;border-radius:12px;color:#777e93;font-size:14px;font-weight:700;padding:11px 13px;white-space:nowrap}.nav-button:hover,.nav-button.active{background:#f1edff;color:#674bdc}.top-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.avatar{height:36px;width:36px;border-radius:12px;background:#e9f6f5;display:grid;place-items:center;color:#168d7d;font-weight:800}.person-name{font-size:13px;font-weight:750;max-width:135px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.main{max-width:1190px;margin:auto;padding:28px 24px 100px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:4px 0 22px}.eyebrow{font-size:11px;color:var(--purple);font-weight:850;text-transform:uppercase;letter-spacing:.12em}.page-heading h1{font-size:29px;letter-spacing:-.04em;line-height:1.1;margin:7px 0 0}.page-heading p{margin:8px 0 0;color:var(--muted);font-size:14px}.page-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 15px;border:1px solid transparent;border-radius:12px;background:#eeeefa;color:var(--ink);text-decoration:none;font-size:13px;font-weight:780;white-space:nowrap;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.button:hover{transform:translateY(-1px)}.button:focus-visible,.nav-button:focus-visible,.icon-button:focus-visible,.bottom-nav button:focus-visible,.job-card:focus-visible{outline:3px solid #bfa8ff;outline-offset:2px}.button.primary{background:#7155e9;color:white;box-shadow:0 8px 19px rgba(96,77,221,.22)}.button.primary:hover{background:#6448d9}.button.light{background:white;border-color:var(--line)}.button.teal{background:#e2faf5;color:#087d6c}.button.danger{background:#fff0f0;color:#c44351}.button.slim{min-height:34px;padding:7px 11px;font-size:12px}.button.full{width:100%}.icon-button{border:1px solid var(--line);background:white;color:var(--ink);height:38px;width:38px;border-radius:11px;display:inline-grid;place-items:center}.icon-button:hover{background:#f6f4ff;color:var(--purple)}.icon-button.ghost{border-color:transparent;background:transparent}.icon-button.danger:hover{background:#fff1f2;color:#c44351}
.grid{display:grid;gap:18px}.dashboard-grid{grid-template-columns:minmax(0,1.62fr) minmax(320px,1fr);align-items:start}.column{display:grid;gap:18px;min-width:0}.card{background:var(--card);border:1px solid #edf0f5;border-radius:22px;box-shadow:var(--shadow);min-width:0}.card-pad{padding:23px}.card-header{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:19px}.card-header h2,.section-title{margin:0;font-size:18px;letter-spacing:-.03em;font-weight:850}.card-header p{margin:5px 0 0;color:var(--muted);font-size:12px}.card-header .text-link{font-size:12px}.text-link{border:0;background:transparent;color:#6f51e3;font-weight:780;display:inline-flex;align-items:center;gap:3px;padding:3px 0;text-decoration:none}.text-link:hover{text-decoration:underline}
.hero{background:linear-gradient(115deg,#7454e9 0%,#8c69ef 62%,#ac7bf0 100%);color:white;border-radius:26px;min-height:238px;box-shadow:0 20px 35px rgba(105,82,225,.21);padding:30px 32px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}.hero:before,.hero:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.13);border-radius:50%;pointer-events:none}.hero:before{width:350px;height:350px;right:-95px;top:-220px}.hero:after{width:260px;height:260px;right:92px;bottom:-216px}.hero-top,.hero-bottom{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:10px}.hero-kicker{font-weight:700;font-size:13px;opacity:.88}.hero-date{font-size:12px;border-radius:100px;background:rgba(255,255,255,.18);padding:7px 10px;white-space:nowrap}.hero-amount{position:relative;z-index:1;font-size:clamp(42px,5.8vw,64px);line-height:1.08;letter-spacing:-.065em;font-weight:850;margin:23px 0 18px;font-variant-numeric:tabular-nums}.hero-amount .currency{font-size:.55em;letter-spacing:0;margin-left:5px;opacity:.82}.hero-bottom span{font-size:12px;color:rgba(255,255,255,.82);line-height:1.45}.hero .button{color:#5e47ca;background:#fff;border-color:transparent}.hero .button:hover{background:#f5f0ff}.stat-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stat-card{background:white;padding:16px 17px;border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow)}.stat-label{font-size:12px;color:var(--muted);display:block;margin-bottom:7px}.stat-value{font-weight:850;font-size:20px;letter-spacing:-.035em;font-variant-numeric:tabular-nums}.stat-card.accent .stat-value{color:#6e4de0}.stat-card.teal .stat-value{color:#09967f}
.job-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.job-card{border:1px solid transparent;background:#f5f2ff;text-align:left;min-height:104px;border-radius:17px;padding:14px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .16s,box-shadow .16s}.job-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(53,47,99,.09)}.job-card .job-top{display:flex;justify-content:space-between;align-items:center}.job-card .job-dot{height:28px;width:28px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.72);font-weight:900;font-size:13px}.job-card .job-name{font-size:13px;font-weight:820;line-height:1.1}.job-card .job-rate{font-size:11px;opacity:.78;margin-top:3px}.job-card.purple{background:#f1ecff;color:#694bd8}.job-card.blue{background:#eaf2ff;color:#3475d5}.job-card.cyan{background:#e7f8fa;color:#158898}.job-card.orange{background:#fff1e4;color:#da7730}.job-card.pink{background:#fff0f1;color:#d45c70}.job-card.green{background:#e5f8ed;color:#249059}
.chart-wrap{position:relative}.earnings-chart{display:block;width:100%;height:165px;overflow:visible}.chart-grid{stroke:#edf0f4;stroke-width:1}.chart-line{fill:none;stroke:#8a64ed;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.chart-fill{fill:rgba(138,100,237,.11)}.chart-dot{fill:white;stroke:#815dee;stroke-width:2}.chart-label-row{display:flex;justify-content:space-between;font-size:11px;color:#9aa0ae;margin-top:5px}.chart-empty{height:155px;display:grid;place-items:center;text-align:center;color:#9aa0ae;font-size:13px}.chart-total{font-size:22px;font-weight:850;letter-spacing:-.04em;margin-bottom:8px;font-variant-numeric:tabular-nums}.chart-caption{font-size:12px;color:var(--muted)}
.period-pill{display:inline-flex;align-items:center;gap:8px;background:#f1efff;color:#6850cb;border-radius:100px;padding:8px 11px;font-size:12px;font-weight:800}.period-control{display:flex;align-items:center;gap:6px}.period-control .icon-button{height:31px;width:31px;border-color:#ede8ff;background:#f7f4ff;color:#6a50d1}.period-control .reverse{transform:rotate(180deg)}.period-label{font-size:12px;color:#777d92;font-weight:760;white-space:nowrap;padding:0 3px}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.cal-weekday{text-align:center;color:#a3a8b7;font-size:11px;font-weight:750;padding:3px 0 9px}.cal-day{min-height:53px;background:#f8f9fc;border:1px solid transparent;border-radius:12px;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:3px;font-size:13px;font-weight:760;color:#5a6175;position:relative}.cal-day.muted{opacity:.33}.cal-day.has-shift{background:#efeaff;color:#7654d9}.cal-day.today{border-color:#8f70ee}.cal-day.selected{background:#7556e7;color:white}.cal-dot{height:4px;width:4px;background:currentColor;border-radius:50%}.calendar-hint{margin:14px 0 0;color:var(--muted);font-size:11px}.calendar-panel{margin-top:12px;background:#f7f5ff;color:#5b4aa8;padding:10px 12px;border-radius:11px;font-size:12px;display:flex;justify-content:space-between;gap:8px}
.material-mini-list,.balance-grid{display:grid;gap:9px}.material-mini{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border-radius:13px;background:#f7f9fb}.material-name{font-size:13px;font-weight:730}.material-unit{font-size:11px;color:var(--muted);font-weight:550}.material-qty{font-weight:830;font-variant-numeric:tabular-nums;font-size:14px}.material-qty.low{color:#df7652}.material-qty.good{color:#138e7d}.balance-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.balance-card{border:1px solid var(--line);border-radius:16px;padding:15px;min-width:0}.balance-card .material-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.balance-card .material-qty{font-size:24px;margin:10px 0 2px;letter-spacing:-.04em}.balance-card .balance-detail{font-size:11px;color:var(--muted)}.balance-card .balance-detail span{color:#169c80}.balance-card .balance-detail .spent{color:#ed875d}
.table-list{display:grid;gap:9px}.list-row{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:14px;border:1px solid var(--line);background:white;min-width:0}.list-icon{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;flex:none;font-size:16px;font-weight:850}.list-icon.purple{background:#f0ebff;color:#7152dd}.list-icon.teal{background:#e5f9f2;color:#13a07e}.list-icon.orange{background:#fff0e7;color:#e77e49}.list-body{min-width:0;flex:1}.list-title{font-weight:790;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-sub{color:var(--muted);font-size:11px;margin-top:4px;line-height:1.35}.list-number{font-size:14px;font-weight:850;white-space:nowrap;font-variant-numeric:tabular-nums}.list-number.purple{color:#7153db}.list-number.teal{color:#0c9b80}.list-number.orange{color:#df8052}.row-actions{display:flex;gap:2px;align-items:center}.row-actions .icon-button{border:0;height:32px;width:32px}.empty{padding:36px 18px;text-align:center;border:1px dashed #dddfe9;border-radius:16px;background:#fafbfe}.empty-icon{width:44px;height:44px;border-radius:15px;background:#f0ebff;color:#775be0;display:grid;place-items:center;margin:0 auto 11px}.empty-title{font-size:14px;font-weight:800;margin:0 0 5px}.empty-copy{font-size:12px;color:var(--muted);line-height:1.5;margin:0}.empty .button{margin-top:16px}
.section-stack{display:grid;gap:19px}.split-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr);gap:18px}.section-subtitle{font-size:13px;font-weight:780;margin:0 0 12px}.segmented{display:inline-flex;gap:4px;padding:4px;background:#eeeff5;border-radius:12px}.segmented button{border:0;background:transparent;border-radius:9px;padding:7px 11px;font-size:12px;color:#7a8194;font-weight:760}.segmented button.active{background:white;color:#6d52d7;box-shadow:0 2px 7px rgba(35,40,74,.07)}.summary-stack{display:grid;gap:10px}.summary-line{display:flex;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid var(--line);font-size:13px;color:#70788e}.summary-line:last-child{border-bottom:0}.summary-line strong{color:var(--ink);font-variant-numeric:tabular-nums}.summary-line.total{font-weight:800;font-size:17px;color:#6c4ed9}.summary-line.total strong{color:#6c4ed9}.hint{color:var(--muted);font-size:11px;line-height:1.5;margin:10px 0 0}.small-note{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:11px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field{display:grid;gap:6px;min-width:0}.field.wide{grid-column:1/-1}.field label,.field .label{font-size:12px;color:#596075;font-weight:760}.field input,.field select,.field textarea{width:100%;border:1px solid #dfe3ed;background:white;border-radius:11px;min-height:42px;padding:9px 11px;outline:none;transition:border-color .15s,box-shadow .15s;font-size:14px}.field textarea{resize:vertical;min-height:70px}.field input:focus,.field select:focus,.field textarea:focus{border-color:#967bec;box-shadow:0 0 0 3px rgba(136,104,234,.13)}.field input[type=number]{font-variant-numeric:tabular-nums}.field-help{color:var(--muted);font-size:11px;line-height:1.35}.form-section{margin:20px 0 0}.form-section-title{font-size:14px;font-weight:850;margin:0 0 11px}.job-input-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.job-input{background:#f7f5ff;border:1px solid #f0ebff;border-radius:12px;padding:10px}.job-input label{display:block;font-size:11px;color:#6652bb;font-weight:780;margin-bottom:5px}.job-input input{width:100%;font-size:18px;font-weight:840;text-align:center;border:1px solid #e5defa;background:white;border-radius:9px;min-height:35px;outline:none}.material-input-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(90px,.8fr) minmax(70px,.6fr) 28px;gap:6px;margin-bottom:7px}.material-input-row select,.material-input-row input{width:100%;border:1px solid #e1e3ec;border-radius:9px;padding:8px;font-size:12px;background:white;min-height:36px}.material-input-row .icon-button{height:36px;width:28px;border:0}.form-footer{display:flex;gap:9px;justify-content:flex-end;padding-top:20px;border-top:1px solid var(--line);margin-top:20px}.inline-form{display:flex;gap:8px;align-items:end}.inline-form .field{flex:1}.settings-rate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.setting-row{display:flex;align-items:center;gap:12px;padding:11px;border:1px solid var(--line);border-radius:13px}.setting-row>div:first-child{flex:1;min-width:0}.setting-row strong{font-size:12px}.setting-row input{width:91px;min-height:37px;border:1px solid #e0e3ed;border-radius:9px;padding:7px;font-size:13px;text-align:right}.setting-row .button{padding:6px 9px;min-height:36px}.setting-row small{display:block;font-size:10px;color:var(--muted);margin-top:3px}
.modal-backdrop{position:fixed;inset:0;z-index:50;background:rgba(29,31,57,.5);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:16px}.modal{background:white;border-radius:22px;width:min(100%,530px);max-height:min(90vh,840px);overflow:auto;box-shadow:0 30px 90px rgba(27,30,57,.28);padding:22px}.modal-header{display:flex;align-items:start;justify-content:space-between;gap:10px;margin-bottom:15px}.modal-header h2{font-size:20px;margin:0;letter-spacing:-.03em}.modal-header p{font-size:12px;color:var(--muted);margin:5px 0 0}.modal-header .icon-button{border:0;background:#f5f6fa;height:30px;width:30px}.modal-error{background:#fff1f1;border:1px solid #ffd9d9;color:#ac3948;padding:10px 12px;border-radius:10px;margin:12px 0;font-size:12px}.toast-root{position:fixed;z-index:100;bottom:24px;left:50%;transform:translateX(-50%);width:min(90vw,380px);pointer-events:none}.toast{background:#222840;color:white;padding:12px 15px;border-radius:12px;box-shadow:0 12px 28px rgba(28,32,55,.22);font-size:13px;margin-top:8px;animation:toast-in .2s ease}.toast.error{background:#b54653}@keyframes toast-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.bottom-nav{display:none}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at 80% 8%,#eee7ff,transparent 42%),#f7f8fc}.login-card{background:white;border:1px solid var(--line);border-radius:27px;box-shadow:0 25px 70px rgba(38,36,78,.09);padding:36px;max-width:410px;width:100%}.login-card .logo-mark{margin-bottom:23px}.login-card h1{font-size:28px;line-height:1.13;letter-spacing:-.05em;margin:0 0 12px}.login-card p{font-size:14px;line-height:1.6;color:var(--muted);margin:0 0 22px}.login-card .button{width:100%;min-height:48px}.login-card .small-note{display:block;margin-top:15px;text-align:center}.auth-error{background:#fff0f1;color:#a83d50;border-radius:11px;padding:12px;font-size:12px;line-height:1.5;margin:0 0 17px}
.material-pair{background:#fafbfe;border:1px solid #edf0f5;border-radius:12px;padding:8px;margin-bottom:8px}.material-pair .material-input-row{margin:0}.movement-note{width:100%;border:1px solid #e1e3ec;border-radius:9px;padding:8px;font-size:12px;background:white;min-height:36px;margin-top:6px}
.card-header{flex-wrap:wrap}.card-header .period-control{margin-left:auto}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:#f0eef9;border-radius:12px;padding:4px;margin:0 0 18px}.auth-tabs button{border:0;background:transparent;border-radius:9px;min-height:39px;color:#73798b;font-size:13px;font-weight:780}.auth-tabs button.active{background:white;color:#654ad0;box-shadow:0 2px 9px rgba(37,43,79,.08)}.auth-form{display:grid;gap:13px}.auth-form .button{margin-top:5px}.auth-divider{display:flex;align-items:center;gap:12px;color:#9aa0ae;font-size:11px;margin:17px 0}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:var(--line);flex:1}.access-intro{margin:-6px 0 10px}.access-block{padding:17px 0;border-top:1px solid var(--line)}.access-block .section-subtitle{margin-bottom:4px}.access-block .hint{margin:0 0 13px}.auth-settings-form{display:grid;gap:13px}.auth-settings-form .button{justify-self:start}.access-actions{display:flex;flex-wrap:wrap;gap:8px}.access-logout{padding-top:8px}.link-code-box{display:grid;gap:5px;margin-top:13px;padding:12px;border-radius:12px;background:#f1edff;color:#513ab0}.link-code-box span,.link-code-box small{font-size:11px}.link-code-box strong{font-size:13px;overflow-wrap:anywhere;user-select:all}
.admin-context{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#e9f8f5;color:#126e61;padding:11px 15px;border:1px solid #c7ece3;border-radius:14px;margin:0 0 18px;font-size:13px}.admin-user-list{display:grid;gap:10px}.admin-user{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;border:1px solid var(--line);border-radius:14px}.admin-user-main{display:flex;align-items:center;gap:11px;min-width:0}.admin-user-main>div{min-width:0}.admin-user-main strong,.admin-user-main span:not(.avatar){display:block}.admin-user-main strong{font-size:13px}.admin-user-main span:not(.avatar){font-size:11px;color:var(--muted);margin-top:4px;line-height:1.4;overflow-wrap:anywhere}.admin-user-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.admin-invite-code{margin-top:16px}.admin-nav{grid-template-columns:repeat(6,1fr)}
.admin-user .admin-self{display:inline;margin:0 0 0 4px;padding:2px 5px;border-radius:5px;background:#e9f8f5;color:#147666;font-size:10px}.admin-user-actions .button{white-space:nowrap}.admin-account-panel,.admin-secret,.admin-confirm{display:grid;gap:16px}.admin-account-panel>.hint,.admin-secret .hint,.admin-confirm .hint{margin:0}.admin-account-panel form{display:grid;gap:4px}.admin-account-actions{display:flex;flex-wrap:wrap;gap:9px;padding-top:16px;border-top:1px solid var(--line)}.admin-secret>p:first-child,.admin-confirm>p:first-child{margin:0;color:#4e566d;font-size:13px;line-height:1.55}.admin-secret-input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace!important;font-size:15px!important;letter-spacing:.025em}.admin-delete-form{display:grid;gap:18px}.admin-delete-warning{margin:0;padding:13px 14px;border:1px solid #f6ced4;border-radius:12px;background:#fff3f4;color:#9b3443;font-size:13px;line-height:1.55}.admin-delete-form .field strong{color:#a43343}.admin-delete-form .button.danger{background:#c44351;color:white}.admin-delete-form .button.danger:hover{background:#ab3644}
.admin-list-tools{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.admin-action-list{display:grid;gap:8px}.admin-action{display:grid;gap:4px;padding:11px 12px;border:1px solid var(--line);border-radius:11px}.admin-action strong{font-size:12px}.admin-action span{color:var(--muted);font-size:11px;line-height:1.45}
@media(max-width:740px){.page-heading{flex-wrap:wrap}.page-actions{justify-content:flex-start}}
@media(max-width:1000px){.desktop-nav{gap:0;margin-left:3px}.nav-button{font-size:0;gap:0;padding:10px}.nav-button .icon{width:22px;height:22px}.topbar-inner{gap:9px}.dashboard-grid{grid-template-columns:minmax(0,1.3fr) minmax(280px,1fr)}.balance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:740px){.topbar-inner{min-height:62px;padding:9px 16px}.desktop-nav{display:none}.top-actions .person-name{display:none}.main{padding:20px 14px calc(96px + env(safe-area-inset-bottom))}.page-heading{margin:0 2px 18px;align-items:start}.page-heading h1{font-size:25px}.page-heading p{font-size:12px}.page-actions{justify-content:flex-end}.dashboard-grid,.split-grid{grid-template-columns:1fr}.card{border-radius:19px}.card-pad{padding:19px}.hero{min-height:214px;border-radius:22px;padding:24px}.hero-amount{font-size:55px}.hero-bottom span{max-width:160px}.stat-strip{gap:8px}.stat-card{padding:13px;border-radius:14px}.stat-label{font-size:10px}.stat-value{font-size:17px}.job-grid{gap:7px}.job-card{min-height:95px;padding:11px;border-radius:13px}.job-card .job-name{font-size:12px}.job-card .job-rate{font-size:10px}.bottom-nav{position:fixed;z-index:30;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,1fr);padding:7px 6px calc(8px + env(safe-area-inset-bottom));border-top:1px solid #eceef4;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);box-shadow:0 -8px 26px rgba(34,39,73,.04)}.bottom-nav button{border:0;background:none;color:#959bad;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:10px;font-weight:750;min-width:0;padding:4px 0}.bottom-nav button.active{color:#7254e6}.bottom-nav .icon{width:22px;height:22px}.balance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-backdrop{padding:0;align-items:flex-end}.modal{width:100%;max-height:calc(92vh - env(safe-area-inset-top));border-radius:23px 23px 0 0;padding:22px 18px calc(22px + env(safe-area-inset-bottom))}.toast-root{bottom:calc(80px + env(safe-area-inset-bottom))}}
@media(max-width:740px){.bottom-nav.admin-nav{grid-template-columns:repeat(6,1fr)}.admin-user{align-items:flex-start;flex-direction:column}.admin-user-actions{width:100%;justify-content:flex-start}.admin-context{align-items:flex-start;flex-direction:column}.admin-context .button{align-self:flex-start}}
@media(max-width:440px){.admin-user-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-user-actions .button{min-width:0;white-space:normal}.admin-account-actions .button{flex:1 1 100%}.admin-delete-form .form-footer{flex-direction:column-reverse}.admin-delete-form .form-footer .button{width:100%}.admin-secret .form-footer{flex-wrap:wrap}.admin-secret .form-footer .button{flex:1 1 100%}}
@media(max-width:440px){.hero-amount{font-size:48px}.hero .button{padding:8px 10px;font-size:11px}.period-label{font-size:11px}.page-actions .button span.desktop-label{display:none}.job-input-grid{grid-template-columns:repeat(2,1fr)}.settings-rate-grid{grid-template-columns:1fr}.material-input-row{grid-template-columns:minmax(0,1fr) 91px 69px 26px}.list-row{padding:10px}.list-number{font-size:12px}.row-actions .icon-button{width:28px}.balance-card{padding:12px}.balance-card .material-qty{font-size:20px}}
@media(max-width:380px){.bottom-nav.admin-nav button{font-size:9px}.bottom-nav.admin-nav button span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* ЛинкПульс: responsive visual system and account controls */
:root{--ink:#19213b;--muted:#68748e;--line:#e5e9f3;--purple:#6454e8;--purple-2:#8a6ef6;--teal:#0cae9b;--orange:#e97845;--card:#fff;--shadow:0 18px 45px rgba(53,63,117,.075);background:#f5f7fd;color:var(--ink)}
body{background:radial-gradient(circle at 8% 3%,rgba(129,107,255,.12),transparent 28%),radial-gradient(circle at 93% 22%,rgba(17,204,188,.10),transparent 26%),#f5f7fd}
.logo-mark,.startup-logo{background:linear-gradient(140deg,#5446e8,#477cff 58%,#16cbb7);box-shadow:0 8px 22px rgba(71,124,255,.26)}
.topbar{background:rgba(255,255,255,.9);border-bottom-color:#e7ebf6}
.topbar-inner{max-width:1280px}.main{max-width:1280px}
.brand{color:#26325b;letter-spacing:-.045em}.nav-button{transition:background .2s,color .2s,transform .2s}.nav-button:hover{transform:translateY(-1px)}.nav-button.active{background:linear-gradient(120deg,#eceafe,#e8f4ff);color:#5145c8}
.top-actions{position:relative}.profile-trigger{display:flex;align-items:center;gap:5px;background:transparent;color:var(--ink);border:0;border-radius:14px;padding:3px 2px 3px 3px}.profile-trigger:hover,.profile-trigger[aria-expanded=true]{background:#f0f2fc}.profile-trigger:focus-visible,.profile-menu button:focus-visible,.category-tabs button:focus-visible,.chart-point:focus-visible{outline:3px solid #9ac9ff;outline-offset:2px}.profile-chevron{transform:rotate(90deg);width:14px;height:14px;color:var(--muted)}
.profile-menu{position:absolute;right:0;top:calc(100% + 12px);width:min(300px,calc(100vw - 28px));background:var(--card);border:1px solid var(--line);border-radius:19px;box-shadow:0 22px 65px rgba(27,38,83,.18);padding:9px;z-index:42;animation:menu-pop .18s ease-out}
@keyframes menu-pop{from{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
.profile-menu-head{display:flex;gap:11px;align-items:center;padding:12px 9px 15px;border-bottom:1px solid var(--line);margin-bottom:5px}.profile-menu-head strong,.profile-menu-head small{display:block}.profile-menu-head strong{font-size:14px}.profile-menu-head small{color:var(--muted);font-size:11px;margin-top:3px}
.profile-menu>button{display:flex;align-items:center;gap:10px;background:transparent;color:var(--ink);border:0;border-radius:11px;width:100%;text-align:left;padding:11px;font-weight:700;font-size:13px}.profile-menu>button:hover{background:#f1f3fc;color:#5145c8}.theme-picker{padding:11px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:6px 0}.theme-picker>span{display:block;color:var(--muted);font-size:11px;font-weight:750;margin-bottom:8px}.theme-picker>div{display:flex;gap:5px}.theme-picker button{flex:1;min-height:34px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink);font-size:12px;font-weight:800}.theme-picker button.active{background:linear-gradient(120deg,#6356eb,#438cf8);border-color:transparent;color:white}
.hero{background:linear-gradient(115deg,#5646e6 0%,#5175f5 47%,#11bbaa 100%);box-shadow:0 22px 42px rgba(58,89,215,.27);isolation:isolate}.hero:before{width:430px;height:430px;right:-135px;top:-300px}.hero:after{width:330px;height:330px;right:12px;bottom:-245px}.hero-orb{position:absolute;border-radius:50%;filter:blur(2px);pointer-events:none;z-index:0}.orb-one{width:180px;height:180px;background:rgba(255,255,255,.13);right:18%;top:22%;animation:orb-drift 7s ease-in-out infinite}.orb-two{width:95px;height:95px;background:rgba(255,138,158,.32);right:-28px;bottom:-25px;animation:orb-drift 5s ease-in-out infinite reverse}@keyframes orb-drift{50%{transform:translate(12px,-15px) scale(1.1)}}
.hero-amount{font-variant-numeric:tabular-nums;animation:rise-in .5s ease both}@keyframes rise-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.hero .button{box-shadow:0 10px 24px rgba(21,47,117,.18);color:#3c4ed1}.hero .button:hover{transform:translateY(-3px) scale(1.02)}
.card{border-color:#e7ebf5;box-shadow:var(--shadow)}.card-pad{padding:24px}.stat-card{position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-4px);box-shadow:0 18px 34px rgba(61,70,122,.13)}.stat-card:before{content:"";position:absolute;inset:auto -21px -30px auto;width:105px;height:105px;border-radius:50%;background:rgba(100,84,232,.08)}.stat-card.teal:before{background:rgba(12,174,155,.1)}.stat-card:nth-child(2):before{background:rgba(255,165,93,.13)}.stat-spark{position:absolute;right:16px;top:14px;font-size:19px;color:#afa7ef;font-weight:900}.stat-card.teal .stat-spark{color:#6fdacb}.stat-card:nth-child(2) .stat-spark{color:#eeae79}
.job-card{min-height:120px;position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s,filter .2s}.job-card:before{content:"";position:absolute;width:105px;height:105px;border-radius:50%;background:rgba(255,255,255,.4);right:-42px;top:-47px}.job-card:hover,.job-card:focus-visible{transform:translateY(-5px) scale(1.015);box-shadow:0 16px 28px rgba(55,65,124,.14);filter:saturate(1.1)}.job-card:active{transform:scale(.98)}.job-card .job-name{font-weight:900;letter-spacing:.025em}.job-card .job-dot{position:relative}.card-flair{display:grid;place-items:center;min-width:38px;height:38px;padding:0 8px;border-radius:12px;background:#f1efff;color:#6253d6;font-size:12px;font-weight:900}
.chart-stage{position:relative;height:165px}.chart-stage .earnings-chart{position:absolute;inset:0}.chart-point{position:absolute;z-index:2;display:grid;place-items:center;width:18px;height:28px;padding:0;transform:translate(-50%,-50%);border:0;background:transparent;border-radius:50%}.chart-point span{display:block;width:6px;height:6px;border-radius:50%;background:transparent;transition:all .16s}.chart-point.earned span{background:#7259e9;box-shadow:0 0 0 2px #fff}.chart-point:hover span,.chart-point.selected span,.chart-point:focus-visible span{width:13px;height:13px;background:#ff8a91;box-shadow:0 0 0 5px rgba(255,138,145,.18)}.chart-tooltip{display:none;position:absolute;z-index:4;top:4px;min-width:130px;padding:9px 11px;text-align:center;transform:translateX(-50%);border-radius:11px;background:#212747;color:white;box-shadow:0 9px 22px rgba(25,32,70,.28);pointer-events:none}.chart-tooltip.visible{display:grid;gap:2px}.chart-tooltip strong{font-size:13px;white-space:nowrap}.chart-tooltip span{font-size:10px;color:#d6ddf6;white-space:nowrap}.chart-help{font-size:11px;color:var(--muted);margin:9px 0 0}.chart-line{stroke:#6759ea}.chart-fill{fill:rgba(88,111,238,.13)}.chart-grid{stroke:#e8ecf4}
.cal-day{transition:transform .16s,box-shadow .16s,background .16s}.cal-day:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 7px 15px rgba(61,69,125,.12)}.cal-day.weekend{background:#fff4e9;color:#c3743e}.cal-day.weekend.has-shift{background:linear-gradient(135deg,#eee9ff,#fff0df);color:#7254d9;box-shadow:inset 0 0 0 1px #e6d7ff}.cal-day.selected,.cal-day.weekend.selected{background:#6655e9;color:white}.cal-weekday:nth-child(6),.cal-weekday:nth-child(7){color:#d1814b}.legend-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin:0 4px 1px 10px}.legend-dot:first-child{margin-left:0}.legend-dot.worked{background:#8567ed}.legend-dot.weekend{background:#eeae75}
.balance-card{position:relative;overflow:hidden;transition:transform .18s,box-shadow .18s}.balance-card:hover{transform:translateY(-3px);box-shadow:0 12px 25px rgba(62,71,127,.1)}.balance-card:before{content:"";position:absolute;right:-30px;top:-30px;width:70px;height:70px;border-radius:50%;background:#effdfa}.material-mini{transition:transform .16s,background .16s}.material-mini:hover{transform:translateX(3px);background:#effaf8}.category-tabs{display:flex;gap:7px;overflow-x:auto;padding:2px 0 15px;margin-bottom:4px;scrollbar-width:thin}.category-tabs button{border:1px solid var(--line);background:var(--card);color:var(--muted);border-radius:999px;min-height:36px;padding:7px 14px;white-space:nowrap;font-size:12px;font-weight:750}.category-tabs button.active{border-color:transparent;color:white;background:linear-gradient(100deg,#6353e6,#4b85f2);box-shadow:0 6px 15px rgba(81,98,231,.2)}
.movement-chart{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));align-items:end;gap:4px;min-height:128px}.movement-column{min-width:0;display:flex;align-items:center;flex-direction:column;gap:5px}.movement-column small{font-size:9px;color:var(--muted)}.movement-bars{height:105px;width:100%;display:flex;align-items:end;justify-content:center;gap:2px;border-bottom:1px solid var(--line)}.movement-bar{display:block;width:min(12px,42%);border-radius:5px 5px 2px 2px;min-height:0;transition:filter .2s,transform .2s}.movement-column:hover .movement-bar{filter:saturate(1.3);transform:scaleX(1.15)}.movement-bar.received{background:linear-gradient(#58ddc3,#07a98f)}.movement-bar.spent{background:linear-gradient(#ffc080,#ea8155)}.movement-legend{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:11px;margin-top:13px}.movement-legend span{display:inline-flex;align-items:center;gap:5px}.movement-legend i{display:block;width:8px;height:8px;border-radius:3px}.movement-legend i.received{background:#12b79a}.movement-legend i.spent{background:#f1905b}
.workday-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.workday-card{border:1px solid var(--line);border-radius:17px;padding:16px;background:linear-gradient(135deg,rgba(113,96,234,.065),rgba(44,189,182,.04));transition:transform .18s,box-shadow .18s}.workday-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(46,57,117,.1)}.workday-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.workday-head>strong{font-size:18px;color:#6352d9;white-space:nowrap;font-variant-numeric:tabular-nums}.workday-date{display:flex;align-items:center;gap:8px;color:var(--ink);font-size:12px;font-weight:800;text-transform:capitalize;line-height:1.25}.workday-day-number{width:39px;height:39px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,#6957ea,#4898f6);color:#fff;font-size:18px}.weekend-label{display:block;color:#cf7b47;font-size:10px;font-weight:700;margin-top:3px}.workday-metrics{display:flex;flex-wrap:wrap;gap:7px;margin:13px 0}.workday-metrics span{display:flex;align-items:center;gap:3px;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:6px 8px;color:var(--muted);font-size:10px;font-weight:700}.workday-metrics .icon{width:13px;height:13px;color:#0aa88f}.service-chips{display:flex;flex-wrap:wrap;gap:7px}.service-chip{display:inline-flex;align-items:center;gap:4px;border-radius:8px;padding:7px 8px;background:#eeeafe;color:#6251d5;font-size:11px;font-weight:700}.service-chip small{font-size:9px;font-weight:600;opacity:.78}.service-chip.blue{background:#e9f1ff;color:#3372cf}.service-chip.cyan{background:#e5f8f8;color:#168995}.service-chip.orange{background:#fff0e3;color:#d47635}.service-chip.pink{background:#fff0f3;color:#ca5675}.service-chip.green{background:#e6f7ed;color:#249260}.workday-note{font-size:11px;color:var(--muted);line-height:1.5;margin:10px 0 0}.workday-actions{display:flex;gap:7px;margin-top:14px}.workday-actions .button{font-size:11px}.adjustment-card{background:linear-gradient(135deg,rgba(102,85,230,.08),rgba(12,174,155,.07)),var(--card)}
.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.admin-stats>div{display:grid;gap:5px;min-height:90px;padding:17px;border:1px solid var(--line);border-radius:17px;background:linear-gradient(135deg,#edeaff,#eaf5ff)}.admin-stats>div:nth-child(2){background:linear-gradient(135deg,#e3faf4,#eaf8fd)}.admin-stats>div:nth-child(3){background:linear-gradient(135deg,#fff0e6,#fff8ef)}.admin-stats span{font-size:12px;color:#6b6e93;font-weight:720}.admin-stats strong{font-size:27px;color:#5146c3}.admin-context-actions{display:flex;gap:7px;flex-wrap:wrap}
.bottom-nav{grid-template-columns:repeat(4,1fr)}
@media(max-width:740px){.card-pad{padding:18px}.job-card{min-height:110px}.workday-list{grid-template-columns:1fr}.profile-menu{top:calc(100% + 8px)}.bottom-nav.admin-nav{grid-template-columns:repeat(5,1fr)}.hero-orb.orb-one{width:110px;height:110px}.admin-stats{gap:7px}.admin-stats>div{min-height:76px;padding:12px}.admin-stats span{font-size:10px}.admin-stats strong{font-size:22px}}
@media(max-width:420px){.brand{font-size:19px}.brand .logo-mark{height:35px;width:35px}.job-card .job-name{font-size:11px}.job-card .job-rate{font-size:9px}.hero-bottom span{font-size:10px}.workday-head>strong{font-size:16px}.movement-chart{gap:2px}.service-chip{font-size:10px}}
:root[data-theme=dark]{--ink:#eef3ff;--muted:#aab6d0;--line:#35415b;--purple:#9e91ff;--purple-2:#b9a8ff;--teal:#5cddc7;--orange:#ffb179;--card:#1d2940;--shadow:0 15px 40px rgba(0,0,0,.22);background:#111a2b;color:var(--ink);color-scheme:dark}
:root[data-theme=dark] body{background:radial-gradient(circle at 0 0,rgba(94,81,215,.19),transparent 30%),radial-gradient(circle at 100% 20%,rgba(5,159,157,.12),transparent 30%),#111a2b}
:root[data-theme=dark] .topbar,:root[data-theme=dark] .bottom-nav{background:rgba(21,31,49,.95);border-color:#35415b}
:root[data-theme=dark] .brand,:root[data-theme=dark] .profile-trigger{color:var(--ink)}
:root[data-theme=dark] .card,:root[data-theme=dark] .stat-card,:root[data-theme=dark] .balance-card,:root[data-theme=dark] .list-row,:root[data-theme=dark] .setting-row,:root[data-theme=dark] .admin-user,:root[data-theme=dark] .modal,:root[data-theme=dark] .login-card,:root[data-theme=dark] .admin-action{background:#1d2940;border-color:#35415b;color:var(--ink)}
:root[data-theme=dark] .button.light,:root[data-theme=dark] .icon-button,:root[data-theme=dark] .segmented button.active,:root[data-theme=dark] .auth-tabs button.active,:root[data-theme=dark] .theme-picker button{background:#283650;border-color:#40506f;color:var(--ink)}
:root[data-theme=dark] .profile-menu>button:hover,:root[data-theme=dark] .profile-trigger:hover,:root[data-theme=dark] .nav-button.active{background:#30375d;color:#d7d0ff}
:root[data-theme=dark] .field input,:root[data-theme=dark] .field select,:root[data-theme=dark] .field textarea,:root[data-theme=dark] .job-input input,:root[data-theme=dark] .material-input-row input,:root[data-theme=dark] .material-input-row select,:root[data-theme=dark] .movement-note,:root[data-theme=dark] .setting-row input{background:#172238;border-color:#40506b;color:var(--ink)}
:root[data-theme=dark] .material-mini,:root[data-theme=dark] .material-pair,:root[data-theme=dark] .job-input,:root[data-theme=dark] .empty,:root[data-theme=dark] .cal-day,:root[data-theme=dark] .segmented,:root[data-theme=dark] .auth-tabs{background:#26344d;border-color:#3b4965;color:var(--ink)}
:root[data-theme=dark] .cal-day.weekend{background:#3a3441;color:#ffd39d}:root[data-theme=dark] .cal-day.has-shift{background:#383761;color:#d5caff}:root[data-theme=dark] .cal-day.weekend.has-shift{background:#47405b;color:#efc7f9}:root[data-theme=dark] .cal-day.selected,:root[data-theme=dark] .cal-day.weekend.selected{background:#6e5ee5;color:white}
:root[data-theme=dark] .chart-grid{stroke:#34415b}:root[data-theme=dark] .chart-dot{fill:#1d2940}:root[data-theme=dark] .chart-point.earned span{box-shadow:0 0 0 2px #1d2940}
:root[data-theme=dark] .admin-stats>div{background:linear-gradient(135deg,#303352,#263a52)}:root[data-theme=dark] .admin-stats>div:nth-child(2){background:linear-gradient(135deg,#204a4d,#273d52)}:root[data-theme=dark] .admin-stats>div:nth-child(3){background:linear-gradient(135deg,#463843,#354052)}:root[data-theme=dark] .admin-stats span{color:#c0c9dc}:root[data-theme=dark] .admin-stats strong{color:#ded9ff}
:root[data-theme=dark] .workday-card{background:linear-gradient(135deg,#2e3052,#24404c)}:root[data-theme=dark] .workday-head>strong{color:#c3b9ff}:root[data-theme=dark] .calendar-panel,:root[data-theme=dark] .admin-context,:root[data-theme=dark] .link-code-box{background:#293b53;border-color:#415f6c;color:#d6e8ef}
:root[data-theme=dark] .login-screen{background:radial-gradient(circle at 80% 8%,#333156,transparent 42%),#111a2b}:root[data-theme=dark] .job-card.purple{background:#373253;color:#d8ccff}:root[data-theme=dark] .job-card.blue{background:#293f5c;color:#b9d8ff}:root[data-theme=dark] .job-card.cyan{background:#24474b;color:#b7f1ef}:root[data-theme=dark] .job-card.orange{background:#4d3d39;color:#ffd0a7}:root[data-theme=dark] .job-card.pink{background:#4a3549;color:#ffd0df}:root[data-theme=dark] .job-card.green{background:#2d4a42;color:#baf1c9}
:root[data-theme=dark] .earnings-preview{background:#263654;border-color:#445e83}:root[data-theme=dark] .earnings-preview-rates span{background:#344566;color:#d8e9ff}:root[data-theme=dark] .workday-material.received{background:#244d4c;color:#baf0df}:root[data-theme=dark] .workday-material.spent{background:#504039;color:#ffdab9}
.earnings-preview{margin-top:18px;padding:16px;border:1px solid #cfdaf8;border-radius:16px;background:linear-gradient(130deg,#f0edff,#eaf9fb);color:var(--ink);font-size:13px}.earnings-preview-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:800}.earnings-preview-row strong{font-size:23px;color:var(--purple);font-variant-numeric:tabular-nums;white-space:nowrap}.earnings-preview-rates{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}.earnings-preview-rates span{padding:5px 8px;border-radius:8px;background:#fff;color:#4c5c8d;font-size:11px}.earnings-preview small{display:block;margin-top:10px;color:var(--muted);font-size:11px}.workday-materials{margin-top:13px;padding-top:11px;border-top:1px solid var(--line)}.workday-materials>strong{display:block;margin-bottom:8px;font-size:11px;color:var(--muted)}.workday-materials>div{display:flex;flex-wrap:wrap;gap:6px}.workday-material{padding:6px 8px;border-radius:8px;font-size:10px;font-weight:720}.workday-material.received{background:#e1f7ef;color:#187d62}.workday-material.spent{background:#fff0e3;color:#a45d26}
.wizard-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;list-style:none;padding:0;margin:0 0 22px}.wizard-steps li{display:flex;align-items:center;gap:5px;min-width:0;padding:6px;border-radius:10px;background:#f3f5fb;color:#8b93a8;font-size:11px;font-weight:750;white-space:nowrap}.wizard-steps li span{display:grid;place-items:center;flex:none;width:23px;height:23px;border-radius:8px;background:#e4e8f4;color:#74819a;font-variant-numeric:tabular-nums}.wizard-steps li.active{background:#eae8ff;color:#5748c9}.wizard-steps li.active span,.wizard-steps li.done span{background:#6555e6;color:#fff}.wizard-steps li.done{color:#5961a2}.wizard-panel[hidden],.wizard-footer [hidden]{display:none!important}.wizard-panel h3{margin:0 0 6px;font-size:17px;letter-spacing:-.02em}.wizard-panel>p.hint{margin:0 0 17px;font-size:12px}.wizard-note{margin-top:18px}.wizard-footer{margin-top:23px;flex-wrap:wrap}.wizard-footer [data-action=close-modal]{margin-right:auto}.workday-review{display:grid;gap:0;border:1px solid var(--line);border-radius:14px;overflow:hidden}.workday-review>div{display:grid;grid-template-columns:95px minmax(0,1fr);gap:10px;padding:10px 12px;border-bottom:1px solid var(--line);font-size:12px}.workday-review>div:last-child{border-bottom:0}.workday-review strong{color:var(--muted)}.workday-review .review-items{display:flex;flex-wrap:wrap;gap:5px}.workday-review .review-items>span{display:inline-flex;padding:4px 6px;border-radius:7px;background:#f0f3fb;color:var(--ink)}.material-search{display:grid;gap:6px;margin:0 0 14px}.material-search label{font-size:12px;font-weight:760;color:var(--muted)}.material-search input{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:var(--card);color:var(--ink);font:inherit;font-size:13px}.material-search input:focus-visible{outline:3px solid #9ac9ff;outline-offset:2px}
:root[data-theme=dark] .theme-picker button.active{background:linear-gradient(120deg,#7969f3,#3c85db);border-color:transparent;color:#fff}:root[data-theme=dark] .wizard-steps li{background:#26344d;color:#aebbd2}:root[data-theme=dark] .wizard-steps li.active{background:#403b6a;color:#eeeaff}:root[data-theme=dark] .wizard-steps li span{background:#34415b;color:#c2cde0}:root[data-theme=dark] .wizard-steps li.active span,:root[data-theme=dark] .wizard-steps li.done span{background:#8272f1;color:#fff}:root[data-theme=dark] .workday-review .review-items>span{background:#34435e;color:#e9efff}
@media(max-width:740px){.modal-header .icon-button,.profile-trigger,.category-tabs button,.bottom-nav button,.wizard-footer .button{min-height:44px}.modal-header .icon-button{min-width:44px}.bottom-nav button{justify-content:center}.wizard-steps li{flex-direction:column;justify-content:center;gap:3px;font-size:10px;white-space:normal;text-align:center}.wizard-steps li span{width:25px;height:25px}.wizard-footer .button{flex:1 1 auto}.wizard-footer [data-action=close-modal]{flex:0 0 auto}.earnings-preview-row strong{font-size:21px}}
.discard-backdrop{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:16px;background:rgba(14,20,42,.62)}.discard-card{width:min(100%,410px);padding:22px;border-radius:19px;background:var(--card);color:var(--ink);box-shadow:0 25px 65px rgba(11,18,40,.25)}.discard-card h2{margin:0 0 9px;font-size:20px}.discard-card p{margin:0 0 20px;font-size:13px;line-height:1.5;color:var(--muted)}.discard-card>div{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:9px}.admin-last-hint{align-self:center;margin:0}
@media(max-width:440px){.discard-card>div .button{flex:1 1 100%;min-height:44px}}

/* A worker's saved schedule and date exceptions, never inferred from Saturday/Sunday. */
.cal-weekday:nth-child(6),.cal-weekday:nth-child(7){color:var(--muted)}
.cal-day.muted{opacity:.78;border-style:dashed;border-color:var(--line)}
.cal-day.muted:hover{opacity:1;border-color:var(--purple);background:#f0ecff;transform:translateY(-2px)}
.cal-day.offday{background:#fff0e5;color:#ad5930;box-shadow:inset 0 0 0 1px #f4c5a9}
.cal-day.offday.has-shift{background:linear-gradient(135deg,#eeeaff,#ffe7d5);color:#6645b3}
.cal-day.selected,.cal-day.offday.selected{background:#6655e9;color:#fff;box-shadow:0 7px 16px rgba(98,81,220,.25)}
.cal-day.today{outline:2px solid #06a991;outline-offset:1px;border-color:#fff}
.cal-day.today:before{content:"";position:absolute;top:5px;right:5px;width:5px;height:5px;border-radius:50%;background:#06a991}
.cal-day.today.selected:before{background:#fff}
.legend-dot.offday{background:#efa875}.legend-dot.today{background:#06a991}
.calendar-panel{display:grid;gap:10px;align-items:start}
.calendar-panel-summary{display:flex;justify-content:space-between;align-items:center;gap:10px}
.calendar-panel-summary strong{white-space:nowrap}
.calendar-panel-actions{display:flex;flex-wrap:wrap;gap:6px}
.calendar-panel-actions .button{min-height:34px;padding:6px 9px;font-size:11px}
.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.calendar-weekdays-settings{margin-top:16px}
.calendar-weekday-toggle{min-height:36px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--muted);font:inherit;font-size:11px;font-weight:800;cursor:pointer}
.calendar-weekday-toggle.active{border-color:#e8a87e;background:#fff0e5;color:#a95429}
.calendar-weekday-toggle:focus-visible,.cal-day:focus-visible{outline:3px solid #06a991;outline-offset:2px}
.calendar-weekday-toggle:disabled{opacity:.55;cursor:wait}
:root[data-theme=dark] .cal-day.offday{background:#443849;color:#ffd0ae;box-shadow:inset 0 0 0 1px #87614f}
:root[data-theme=dark] .cal-day.muted:hover{background:#354269;color:#fff}
:root[data-theme=dark] .cal-day.offday.has-shift{background:linear-gradient(135deg,#464066,#563d46);color:#f1d9ff}
:root[data-theme=dark] .cal-day.selected,:root[data-theme=dark] .cal-day.offday.selected{background:#6e5ee5;color:#fff}
:root[data-theme=dark] .calendar-weekday-toggle{background:#26344d;color:#c4cde0}
:root[data-theme=dark] .calendar-weekday-toggle.active{background:#493b43;color:#ffd2b2;border-color:#806044}
.cal-day.muted:not(.selected),.cal-day.muted.offday:not(.selected),.cal-day.muted.has-shift:not(.selected){background:#e8edf5;color:#647086;border:1px dashed #a8b5c9;box-shadow:inset 0 0 0 1px #d0d8e5;opacity:1}
.cal-day.muted:not(.selected):hover{background:#ded9ff;color:#5141b1;border-color:#8e7be7;box-shadow:0 5px 12px rgba(91,73,180,.13)}
:root[data-theme=dark] .cal-day.muted:not(.selected),:root[data-theme=dark] .cal-day.muted.offday:not(.selected),:root[data-theme=dark] .cal-day.muted.has-shift:not(.selected){background:#172437;color:#a9b9d3;border:1px dashed #62738e;box-shadow:inset 0 0 0 1px #2a3a52;opacity:1}
:root[data-theme=dark] .cal-day.muted:not(.selected):hover{background:#354269;color:#fff;border-color:#9a8af0;box-shadow:0 5px 12px rgba(0,0,0,.2)}
/* Calendar weekends are a gentle cue; recorded work and the worker's own days off take priority. */
.cal-weekday:nth-child(6),.cal-weekday:nth-child(7){color:#a58e9d}
.cal-day.standard-weekend:not(.offday):not(.has-shift):not(.selected):not(.muted){background:#f9f6f8;border-color:#eae3eb;color:#626072}
.cal-day.standard-weekend:not(.offday):not(.has-shift):not(.selected):not(.muted):after{content:"";position:absolute;left:6px;top:6px;width:4px;height:4px;border-radius:50%;background:#c5aab5}
.legend-dot.standard-weekend{background:#c5aab5}
:root[data-theme=dark] .cal-weekday:nth-child(6),:root[data-theme=dark] .cal-weekday:nth-child(7){color:#b9a7bc}
:root[data-theme=dark] .cal-day.standard-weekend:not(.offday):not(.has-shift):not(.selected):not(.muted){background:#303347;border-color:#45445a;color:#d6d2e2}
:root[data-theme=dark] .cal-day.standard-weekend:not(.offday):not(.has-shift):not(.selected):not(.muted):after{background:#a897ad}
.theme-picker{border-bottom:0;margin-bottom:0}
.access-logout{padding-top:14px}
.hero-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.hero .button.secondary{color:#fff;background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.45)}
.hero .button.secondary:hover{background:rgba(255,255,255,.28)}
@media(max-width:740px){.hero-bottom{align-items:flex-start;flex-direction:column}.hero-bottom span{max-width:none}.hero-actions{justify-content:flex-start;width:100%}.hero-actions .button{min-height:40px}}
:root[data-theme=dark] .service-chip.purple{background:#40365e;color:#d6caff}:root[data-theme=dark] .service-chip.blue{background:#304568;color:#c3ddff}:root[data-theme=dark] .service-chip.cyan{background:#285256;color:#c0eeee}:root[data-theme=dark] .service-chip.orange{background:#584237;color:#ffddb6}:root[data-theme=dark] .service-chip.pink{background:#563e52;color:#ffd4e4}:root[data-theme=dark] .service-chip.green{background:#2f5143;color:#bef3d4}
:root[data-theme=dark] .summary-line strong,:root[data-theme=dark] .material-name,:root[data-theme=dark] .list-title{color:var(--ink)}:root[data-theme=dark] .summary-line.total,:root[data-theme=dark] .summary-line.total strong,:root[data-theme=dark] .text-link{color:#b7a9ff}:root[data-theme=dark] .balance-card:before{background:rgba(68,183,167,.08)}:root[data-theme=dark] .modal-backdrop{background:rgba(5,9,20,.7)}

/* Forms in the Telegram bottom sheet need room for native iOS date controls. */
.modal .form-grid,.wizard-panel,.modal-content,.field{min-width:0}
.field input,.field select,.field textarea,.material-input-row input,.material-input-row select{min-width:0;max-width:100%}
.field input[type=date]{display:block;width:100%;max-width:100%}
.field input[type=date]::-webkit-date-and-time-value{min-width:0;text-align:left}
.field-help{display:block;overflow-wrap:anywhere}
:root[data-theme=dark] .field label,:root[data-theme=dark] .field .label{color:#c7d1e6}
.workday-review>div>span{min-width:0;overflow-wrap:anywhere}
@media(max-width:520px){
  .modal .form-grid{grid-template-columns:minmax(0,1fr);gap:16px}
  .modal .field{align-content:start}
  .modal .field input,.modal .field select,.modal .field textarea{min-height:46px}
  .wizard-footer .button{min-width:0;white-space:normal;text-align:center}
}
@media(max-width:430px){
  .material-input-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 38px;gap:7px}
  .material-input-row select[name=materialCode]{grid-column:1/-1}
  .material-input-row select,.material-input-row input,.material-input-row .icon-button{min-height:42px}
  .material-input-row .icon-button{width:38px;height:42px}
}

/* Invitation links stay legible and usable in both themes and narrow Mini Apps. */
.invite-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.invite-grid>*{min-width:0}
.invite-create-card,.invite-history-card{min-width:0}
.invite-result{display:grid;gap:14px;margin-top:16px;padding:17px;border:1px solid #d9def8;border-radius:16px;background:linear-gradient(140deg,#f1efff,#ecf9ff);color:var(--ink)}
.invite-result-main{display:flex;align-items:center;gap:15px;min-width:0}
.invite-result-main>*{min-width:0}
.invite-result-main>.icon-button{flex:none}
.invite-qr{display:grid;place-items:center;flex:none;width:min(100%,260px);aspect-ratio:1;padding:9px;border:1px solid #dce2ef;border-radius:13px;background:#fff;box-shadow:0 8px 22px rgba(44,60,110,.09)}
.invite-qr svg,.invite-qr img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain}
.invite-link-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}
.invite-link-row input,.invite-link-row a{flex:1 1 180px;min-width:0;max-width:100%;overflow-wrap:anywhere}
.invite-link-row input{min-height:44px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);font-size:12px}
.invite-code{min-width:0}
.invite-code label{display:block;margin:0 0 8px;font-size:12px;font-weight:800;color:var(--ink)}
.invite-code input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;user-select:all}
.invite-form-action{align-self:end}
.invite-form-action .button{width:100%;min-height:46px}
.invite-result h3{margin:0 0 6px;font-size:17px}
.invite-result p{margin:0 0 8px;font-size:12px;line-height:1.5}
.invite-result p:last-child{margin-bottom:0}
.invite-actions{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.invite-actions .button{min-width:0;white-space:normal;text-align:center}
.invite-list{display:grid;gap:10px;min-width:0}
.invite-row{display:grid;gap:8px;min-width:0;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--ink)}
.invite-row-head{display:flex;align-items:flex-start;justify-content:space-between;gap:9px;flex-wrap:wrap;min-width:0}
.invite-row-head>*{min-width:0;overflow-wrap:anywhere}
.invite-row-head>div>strong{display:block;margin:0 0 4px;font-size:13px}
.invite-row>p{margin:0}
.invite-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;color:var(--muted);font-size:11px;line-height:1.5}
.invite-status{display:inline-flex;align-items:center;flex:none;gap:5px;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:800;line-height:1.2;background:#eef2f8;color:#58657b}
.invite-status.active{background:#def7ef;color:#10745e}
.invite-status.used{background:#ede9ff;color:#6251bd}
.invite-status.expired{background:#fff0df;color:#9b5c24}
.invite-status.revoked{background:#fce7ea;color:#a44350}
.invite-usage-list{display:grid;gap:6px;min-width:0;margin:0;padding:0;list-style:none}
.invite-usage{display:flex;justify-content:space-between;flex-wrap:wrap;gap:3px 9px;min-width:0;padding:8px 10px;border-radius:9px;background:#f6f8fd;color:var(--ink);font-size:11px;line-height:1.45;overflow-wrap:anywhere}
.invite-usage small{color:var(--muted)}
.invite-empty{padding:20px;border:1px dashed var(--line);border-radius:13px;background:var(--card);color:var(--muted);font-size:12px;line-height:1.5;text-align:center}
.bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr))}
.bottom-nav button span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:900px){.invite-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:520px){
  .invite-create-card .form-grid{grid-template-columns:minmax(0,1fr);gap:11px}
  .invite-result-main{align-items:flex-start}
  .invite-qr{align-self:center;width:min(100%,260px)}
  .invite-link-row>*{flex:1 1 100%;min-width:0}
  .invite-actions .button{flex:1 1 calc(50% - 8px)}
  .invite-row-head{align-items:flex-start}
}
@media(max-width:340px){.invite-actions .button{flex-basis:100%}}
@media(max-width:420px){.bottom-nav button{font-size:9px;letter-spacing:-.03em}}
@media(max-width:360px){.bottom-nav button{font-size:9px;letter-spacing:-.02em}}
:root[data-theme=dark] .invite-result{background:linear-gradient(140deg,#2c3155,#1d4050);border-color:#48527b}
:root[data-theme=dark] .invite-qr{background:#fff;border-color:#74809f}
:root[data-theme=dark] .invite-usage{background:#283852;color:var(--ink)}
:root[data-theme=dark] .invite-status.active{background:#214f48;color:#a9f3d7}
:root[data-theme=dark] .invite-status.used{background:#403b68;color:#d4caff}
:root[data-theme=dark] .invite-status.expired{background:#574636;color:#ffdaa8}
:root[data-theme=dark] .invite-status.revoked{background:#593640;color:#ffc3cb}

/* Working day wizard: a calm, compact sheet with a clear primary action. */
.modal-workday{
  --wizard-surface:#fff;
  --wizard-tint:#f6f7fc;
  --wizard-border:#e5e9f3;
  --wizard-text:#20263c;
  --wizard-muted:#717b92;
  --wizard-accent:#6955e7;
  width:min(100%,560px);
  max-height:min(90dvh,860px);
  padding:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  border:1px solid var(--wizard-border);
  background:var(--wizard-surface);
  color:var(--wizard-text);
  box-shadow:0 32px 90px rgba(24,29,58,.3);
}
.modal-workday .modal-header{
  flex:none;
  align-items:center;
  margin:0;
  padding:25px 26px 17px;
  background:linear-gradient(135deg,#f6f3ff 0%,#f7fbff 72%,#fff 100%);
}
.modal-workday .modal-header h2{font-size:23px;line-height:1.16;letter-spacing:-.045em;color:var(--wizard-text)}
.modal-workday .modal-header p{margin-top:5px;font-size:12px;line-height:1.4;color:var(--wizard-muted)}
.modal-workday .modal-header .icon-button{width:39px;height:39px;flex:none;border:1px solid var(--wizard-border);border-radius:12px;background:rgba(255,255,255,.78);color:var(--wizard-muted)}
.modal-workday .modal-header .icon-button:hover{background:#fff;color:var(--wizard-accent)}
.modal-workday .modal-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-padding-bottom:calc(86px + env(safe-area-inset-bottom));padding:0 26px}
.workday-wizard{min-width:0}
.workday-wizard .wizard-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0 0 20px;padding:18px 0 0}
.workday-wizard .wizard-steps li{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px;min-width:0;padding:0 2px;background:transparent;border-radius:0;color:#929bad;line-height:1.2;text-align:center;white-space:normal;font-size:11px;font-weight:680}
.workday-wizard .wizard-steps li:not(:last-child):after{content:"";position:absolute;z-index:0;top:14px;left:calc(50% + 19px);width:calc(100% - 38px);height:2px;border-radius:999px;background:#e4e8f2}
.workday-wizard .wizard-steps li.done:after{background:linear-gradient(90deg,#7964ea,#a493f3)}
.workday-wizard .wizard-step-number{position:relative;z-index:1;display:grid;place-items:center;width:30px;height:30px;flex:none;border:1px solid #e4e8f2;border-radius:50%;background:#f3f5fa;color:#8590a6;font-size:12px;font-weight:800;font-variant-numeric:tabular-nums;box-shadow:0 0 0 4px var(--wizard-surface)}
.modal-workday .workday-wizard .wizard-steps .wizard-step-label{display:block;width:auto;height:auto;flex:none;padding:0;border:0;border-radius:0;background:transparent;color:inherit;box-shadow:none;font:inherit}
.workday-wizard .wizard-steps li.active{color:var(--wizard-accent);font-weight:820}
.workday-wizard .wizard-steps li.active .wizard-step-number{border-color:transparent;background:linear-gradient(135deg,#8269f2,#6654e5);color:#fff;box-shadow:0 0 0 4px var(--wizard-surface),0 5px 14px rgba(101,81,220,.26)}
.workday-wizard .wizard-steps li.done{color:#636d85}
.workday-wizard .wizard-steps li.done .wizard-step-number{border-color:#d9d1ff;background:#e9e4ff;color:#5f4ed0}
.workday-wizard .wizard-panel{min-width:0}
.workday-wizard .wizard-panel-intro{margin:0 0 17px}
.workday-wizard .wizard-panel-kicker{display:block;margin:0 0 5px;color:var(--wizard-accent);font-size:10px;font-weight:850;letter-spacing:.095em;text-transform:uppercase}
.workday-wizard .wizard-panel h3{margin:0;color:var(--wizard-text);font-size:20px;line-height:1.2;letter-spacing:-.035em;font-weight:850}
.workday-wizard .wizard-panel h3:focus{outline:none}
.workday-wizard .wizard-panel-intro .hint{margin:5px 0 0;color:var(--wizard-muted);font-size:12px;line-height:1.4}
.workday-wizard .wizard-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.workday-wizard .wizard-fields .field{align-content:start;gap:7px;min-width:0;padding:12px;border:1px solid var(--wizard-border);border-radius:15px;background:var(--wizard-tint)}
.workday-wizard .wizard-fields .field label{font-size:12px;font-weight:780;color:var(--wizard-text)}
.workday-wizard .wizard-fields .field input{display:block;width:100%;min-width:0;min-height:49px;padding:10px 12px;border:1px solid #d9e0ee;border-radius:11px;background:var(--wizard-surface);color:var(--wizard-text);font-size:16px;line-height:1.2;font-variant-numeric:tabular-nums}
.workday-wizard .wizard-fields .field input[type=date]::-webkit-date-and-time-value{min-width:0;text-align:left}
.workday-wizard .wizard-fields .field-help{font-size:11px;line-height:1.3;color:var(--wizard-muted)}
.workday-wizard .wizard-tip{margin:14px 0 0;padding:10px 12px;border:1px solid #d6edec;border-radius:11px;background:#effaf9;color:#3a716d;font-size:11px;line-height:1.45}
.workday-wizard .job-input-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.workday-wizard .job-input{min-width:0;padding:10px;border:1px solid var(--wizard-border);border-radius:15px;background:var(--wizard-tint)}
.workday-wizard .job-input-top{display:flex;align-items:center;gap:6px;min-width:0;margin-bottom:8px}
.workday-wizard .job-input-mark{display:grid;place-items:center;flex:none;width:25px;height:25px;border-radius:8px;background:#e7e1ff;color:#6c53de;font-size:12px;font-weight:900}
.workday-wizard .job-input label{min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--wizard-text);font-size:11px;font-weight:790}
.workday-wizard .job-input input{width:100%;min-height:42px;border:1px solid #dfe3ef;border-radius:10px;background:var(--wizard-surface);color:var(--wizard-text);font-size:18px;font-weight:800}
.workday-wizard .job-input input[type=number]{-moz-appearance:textfield;appearance:textfield}
.workday-wizard .job-input input[type=number]::-webkit-inner-spin-button,.workday-wizard .job-input input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.workday-wizard .job-input-purple .job-input-mark{background:#e9e3ff;color:#7156d4}
.workday-wizard .job-input-blue .job-input-mark{background:#e0edff;color:#3173c7}
.workday-wizard .job-input-cyan .job-input-mark{background:#ddf7f8;color:#178c93}
.workday-wizard .job-input-orange .job-input-mark{background:#fff0df;color:#cc742b}
.workday-wizard .job-input-pink .job-input-mark{background:#ffe8ef;color:#c45177}
.workday-wizard .job-input-green .job-input-mark{background:#dff6e7;color:#2c8d59}
.workday-wizard .material-pair{padding:10px;margin-bottom:9px;border:1px solid var(--wizard-border);border-radius:14px;background:var(--wizard-tint)}
.workday-wizard .material-input-row select,.workday-wizard .material-input-row input,.workday-wizard .movement-note{min-height:42px;border-color:#dce2ed;border-radius:10px;background:var(--wizard-surface);color:var(--wizard-text);font-size:13px}
.workday-wizard .material-input-row .icon-button{min-width:36px;width:36px;min-height:42px;height:42px;color:#bd5b6b}
.workday-wizard .wizard-add-material{min-height:43px;border:1px dashed #bfb3f5;background:#f5f2ff;color:#6552c9;box-shadow:none}
.workday-wizard .wizard-add-material:hover{background:#ede8ff}
.workday-wizard .wizard-note{margin-top:17px}
.workday-wizard .wizard-note label{color:var(--wizard-text);font-size:12px}
.workday-wizard .field-optional{margin-left:4px;color:var(--wizard-muted);font-size:10px;font-weight:550}
.workday-wizard .wizard-note textarea{min-height:78px;padding:12px;border-radius:12px;background:var(--wizard-tint);border-color:var(--wizard-border);font-size:14px}
.workday-wizard .earnings-preview{margin:0 0 14px;padding:16px;border:0;border-radius:15px;background:linear-gradient(120deg,#6f5ce4,#5e84df 70%,#4eacbf);color:#fff;box-shadow:0 12px 25px rgba(84,90,195,.18)}
.workday-wizard .earnings-preview-row strong,.workday-wizard .earnings-preview small{color:#fff}
.workday-wizard .earnings-preview-rates span{background:rgba(255,255,255,.2);color:#fff}
.workday-wizard .workday-review{border-color:var(--wizard-border);border-radius:13px}
.workday-wizard .workday-review>div{border-color:var(--wizard-border);color:var(--wizard-text);font-size:12px}
.workday-wizard .workday-review strong{color:var(--wizard-muted)}
.workday-wizard .workday-review .review-items>span{background:var(--wizard-tint);color:var(--wizard-text)}
.workday-wizard .wizard-footer{position:sticky;z-index:2;bottom:0;display:flex;flex-wrap:nowrap;gap:10px;align-items:center;margin:20px -26px 0;padding:14px 26px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--wizard-border);background:var(--wizard-surface);box-shadow:0 -9px 20px rgba(34,43,82,.035)}
.workday-wizard .wizard-footer .button{min-width:0;min-height:49px;margin:0;white-space:normal;text-align:center;border-radius:12px;font-size:13px;line-height:1.2}
.workday-wizard .wizard-footer .button.primary{flex:1;background:linear-gradient(105deg,#6d58e6,#7961e9);box-shadow:0 8px 18px rgba(95,78,213,.19)}
.workday-wizard .wizard-footer .button.primary:hover{background:linear-gradient(105deg,#604bd7,#6e54df)}
.workday-wizard .wizard-footer .button.light{flex:0 0 92px;border-color:var(--wizard-border);background:var(--wizard-tint);color:var(--wizard-text)}

:root[data-theme=dark] .modal-workday{
  --wizard-surface:#1d2a42;
  --wizard-tint:#24334e;
  --wizard-border:#364661;
  --wizard-text:#f1f4ff;
  --wizard-muted:#aebbd0;
  --wizard-accent:#ac9cff;
  border-color:#40516e;
  background:var(--wizard-surface);
}
:root[data-theme=dark] .modal-workday .modal-header{background:linear-gradient(135deg,#2c3157 0%,#203651 66%,#1d2a42 100%)}
:root[data-theme=dark] .modal-workday .modal-header .icon-button{background:#34415c;border-color:#465370;color:#d0d8ec}
:root[data-theme=dark] .modal-workday .modal-header .icon-button:hover{background:#465174;color:#fff}
:root[data-theme=dark] .workday-wizard .wizard-steps li{background:transparent;color:#94a2bc}
:root[data-theme=dark] .workday-wizard .wizard-steps li.active{color:#cbbfff}
:root[data-theme=dark] .workday-wizard .wizard-steps li.done{color:#b3bfd5}
:root[data-theme=dark] .workday-wizard .wizard-steps li:not(:last-child):after{background:#43506a}
:root[data-theme=dark] .workday-wizard .wizard-steps li.done:after{background:#8673e7}
:root[data-theme=dark] .workday-wizard .wizard-step-number{background:#2b3953;border-color:#44516e;color:#aebbd2}
:root[data-theme=dark] .workday-wizard .wizard-steps li.active .wizard-step-number{border-color:transparent;background:linear-gradient(135deg,#9c84ff,#7461e8);color:#fff}
:root[data-theme=dark] .workday-wizard .wizard-steps li.done .wizard-step-number{border-color:#696295;background:#46446e;color:#ddd4ff}
:root[data-theme=dark] .modal-workday .workday-wizard .wizard-steps .wizard-step-label{background:transparent;color:inherit}
:root[data-theme=dark] .workday-wizard .wizard-fields .field{background:var(--wizard-tint);border-color:var(--wizard-border)}
:root[data-theme=dark] .workday-wizard .wizard-fields .field label,:root[data-theme=dark] .workday-wizard .wizard-note label{color:var(--wizard-text)}
:root[data-theme=dark] .workday-wizard .wizard-fields .field input,:root[data-theme=dark] .workday-wizard .job-input input,:root[data-theme=dark] .workday-wizard .material-input-row select,:root[data-theme=dark] .workday-wizard .material-input-row input,:root[data-theme=dark] .workday-wizard .movement-note{background:#172238;border-color:#44536e;color:var(--wizard-text)}
:root[data-theme=dark] .workday-wizard .job-input,:root[data-theme=dark] .workday-wizard .material-pair{background:var(--wizard-tint);border-color:var(--wizard-border)}
:root[data-theme=dark] .workday-wizard .job-input-mark{background:#514875;color:#e5daff}
:root[data-theme=dark] .workday-wizard .job-input-purple .job-input-mark{background:#514277;color:#e0d0ff}
:root[data-theme=dark] .workday-wizard .job-input-blue .job-input-mark{background:#31516f;color:#c5e1ff}
:root[data-theme=dark] .workday-wizard .job-input-cyan .job-input-mark{background:#2c5b63;color:#b6f4f2}
:root[data-theme=dark] .workday-wizard .job-input-orange .job-input-mark{background:#5d493d;color:#ffdcad}
:root[data-theme=dark] .workday-wizard .job-input-pink .job-input-mark{background:#624052;color:#ffcede}
:root[data-theme=dark] .workday-wizard .job-input-green .job-input-mark{background:#315747;color:#c0f5d5}
:root[data-theme=dark] .workday-wizard .wizard-tip{background:#254448;border-color:#3d6669;color:#c6f2eb}
:root[data-theme=dark] .workday-wizard .wizard-add-material{background:#363760;border-color:#6961a5;color:#dfd4ff}
:root[data-theme=dark] .workday-wizard .wizard-add-material:hover{background:#454270}
:root[data-theme=dark] .workday-wizard .wizard-note textarea{background:var(--wizard-tint);border-color:var(--wizard-border);color:var(--wizard-text)}
:root[data-theme=dark] .workday-wizard .wizard-footer{background:var(--wizard-surface);border-color:var(--wizard-border);box-shadow:0 -9px 20px rgba(9,15,30,.14)}
:root[data-theme=dark] .workday-wizard .wizard-footer .button.light{background:#2e3c57;border-color:#495674;color:var(--wizard-text)}

@media(max-width:740px){
  .modal-workday{width:100%;max-height:calc(100dvh - env(safe-area-inset-top) - 10px);border:0;border-radius:27px 27px 0 0}
  .modal-workday .modal-header{position:relative;padding:27px 20px 15px}
  .modal-workday .modal-header:before{content:"";position:absolute;top:8px;left:50%;width:38px;height:4px;transform:translateX(-50%);border-radius:999px;background:#cfd2e5}
  .modal-workday .modal-content{padding:0 20px}
  .workday-wizard .wizard-fields{grid-template-columns:minmax(0,1fr)}
  .workday-wizard .job-input-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .workday-wizard .wizard-footer{margin-left:-20px;margin-right:-20px;padding:12px 20px calc(14px + env(safe-area-inset-bottom))}
  .workday-wizard .wizard-footer .button.primary{flex:1 1 auto}
  .workday-wizard .wizard-footer .button.light{flex:0 0 84px}
  :root[data-theme=dark] .modal-workday .modal-header:before{background:#65708d}
}
@media(max-width:370px){
  .modal-workday .modal-header{padding-left:16px;padding-right:16px}
  .modal-workday .modal-header h2{font-size:21px}
  .modal-workday .modal-content{padding-left:16px;padding-right:16px}
  .workday-wizard .wizard-step-label{font-size:10px}
  .workday-wizard .wizard-footer{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}
  .workday-wizard .job-input{padding:8px}
}
@media(max-height:650px) and (max-width:740px){
  .modal-workday .modal-header{padding-top:20px;padding-bottom:10px}
  .modal-workday .modal-header:before{top:6px}
  .workday-wizard .wizard-steps{padding-top:12px;margin-bottom:14px}
  .workday-wizard .wizard-panel-intro{margin-bottom:12px}
}
@media(prefers-reduced-motion:reduce){.modal-workday .button{transition:none}}

/* Fast daily entry and a clear indication of what has been saved. */
.today-status{display:flex;align-items:center;gap:11px;min-width:0;margin:0;padding:11px 13px;border:1px solid #dfe6f3;border-radius:15px;background:#f5f8fe;color:#385576}
.today-status-icon{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:11px;background:#e6eefb;color:#4f76a7;font-size:17px}
.today-status-copy{display:grid;gap:2px;flex:1;min-width:0}
.today-status-copy strong{display:block;font-size:12px;line-height:1.3;font-weight:840;color:var(--ink)}
.today-status-copy span{display:block;font-size:11px;line-height:1.4;color:var(--muted)}
.today-status-action{display:inline-flex;align-items:center;justify-content:center;gap:4px;flex:none;min-height:44px;padding:8px 11px;border:1px solid currentColor;border-radius:10px;background:rgba(255,255,255,.75);color:inherit;font:inherit;font-size:11px;font-weight:800;line-height:1.2;text-align:center;white-space:normal}
.today-status.draft{border-color:#f1d9a9;background:#fff7e7;color:#9b6423}
.today-status.draft .today-status-icon{background:#ffebbf;color:#986123}
.today-status.saved{border-color:#c4eadb;background:#edfaf3;color:#238066}
.today-status.saved .today-status-icon{background:#d7f3e5;color:#177357}
.today-status-action:hover{filter:brightness(.97)}
.today-status-action:focus-visible{outline:3px solid #b3a2ff;outline-offset:2px}

.workday-wizard .wizard-save-state{display:inline-flex;align-items:center;gap:6px;max-width:100%;min-height:24px;margin:-8px 0 12px;padding:4px 8px;border-radius:8px;background:#f3f5fa;color:#727f94;font-size:10px;font-weight:720;line-height:1.35}
.workday-wizard .wizard-save-state:before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:currentColor}
.workday-wizard .wizard-save-state[data-status=saving]{background:#fff2de;color:#a46b24}
.workday-wizard .wizard-save-state[data-status=saved]{background:#e7f7ef;color:#208264}
.workday-wizard .wizard-save-state[data-status=error]{background:#ffeced;color:#b64958}

/* One full-width service row keeps the 44px counter targets usable at 320px. */
.workday-wizard .job-input-grid{grid-template-columns:minmax(0,1fr);gap:7px}
.workday-wizard .job-input{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:62px;padding:8px 10px}
.workday-wizard .job-input-top{margin:0;gap:8px}
.workday-wizard .job-input-mark{width:29px;height:29px;border-radius:9px;font-size:13px}
.workday-wizard .job-input label{font-size:12px;line-height:1.2}
.workday-wizard .job-counter{display:grid;grid-template-columns:44px 48px 44px;align-items:center;gap:3px;min-width:0}
.workday-wizard .job-counter button{display:grid;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:1px solid #dadff0;border-radius:10px;background:#fff;color:#6654c9;font-size:22px;font-weight:650;line-height:1;touch-action:manipulation;transition:transform .12s ease,background .12s ease}
.workday-wizard .job-counter button:hover{background:#efecff}
.workday-wizard .job-counter button:active{transform:scale(.95)}
.workday-wizard .job-counter button:focus-visible{outline:3px solid #b8aaff;outline-offset:2px}
.workday-wizard .job-counter .job-counter-plus{border-color:#d9d1fb;background:#ebe6ff;color:#5e49c7}
.workday-wizard .job-counter input{width:48px;min-width:0;min-height:44px;padding:4px 2px;border-radius:9px;font-size:17px;text-align:center;font-variant-numeric:tabular-nums}
.workday-wizard .wizard-live-preview{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:5px 12px;margin-top:12px;padding:11px 13px;border:1px solid #dcd5fc;border-radius:13px;background:linear-gradient(110deg,#f3f0ff,#eff8ff);color:#5d4cc3;box-shadow:none;font-size:12px;line-height:1.35}
.workday-wizard .wizard-live-preview strong{color:#5d4cc3;font-size:18px;font-weight:850;font-variant-numeric:tabular-nums;white-space:nowrap}
.workday-wizard .wizard-live-preview .earnings-preview-row,.workday-wizard .wizard-live-preview .earnings-preview-rates{width:100%}
.workday-wizard .wizard-live-preview small{display:block;width:100%;color:#697795;font-size:10px}
.workday-wizard .wizard-live-preview .earnings-preview-rates span{background:#fff;color:#5d4cc3}
.workday-wizard .wizard-live-preview[data-status=error]{border-color:#f2ccd2;background:#fff1f1;color:#a64252}

.workday-wizard .wizard-frequent{margin:0 0 15px;padding:12px;border:1px solid var(--wizard-border);border-radius:13px;background:var(--wizard-tint)}
.workday-wizard .wizard-frequent>strong,.workday-wizard .wizard-frequent>span{display:block;margin:0 0 8px;color:var(--wizard-text);font-size:11px;font-weight:800;line-height:1.35}
.workday-wizard .wizard-frequent-list{display:flex;flex-wrap:wrap;gap:7px}
.workday-wizard .wizard-frequent-item{display:inline-flex;align-items:center;justify-content:center;gap:5px;max-width:100%;min-height:44px;padding:8px 11px;border:1px solid #d9d1f8;border-radius:10px;background:#fff;color:#6551c7;font:inherit;font-size:11px;font-weight:760;line-height:1.25;text-align:center;white-space:normal;overflow-wrap:anywhere;touch-action:manipulation}
.workday-wizard .wizard-frequent-item:hover{background:#f3efff}
.workday-wizard .wizard-frequent-item:focus-visible{outline:3px solid #b7a6fa;outline-offset:2px}

.repeat-day-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:38px;padding:7px 10px;border:1px solid #d9d0f9;border-radius:10px;background:#f4f0ff;color:#614bcb;font:inherit;font-size:11px;font-weight:790;line-height:1.2;white-space:normal;text-align:center}
.row-actions .repeat-day-button.icon-button{min-height:34px;width:34px;height:34px;padding:0;border:1px solid #d9d0f9;background:#f4f0ff;color:#614bcb}
.workday-actions .repeat-day-button.button{min-height:40px;border:1px solid #d9d0f9;background:#f4f0ff;color:#614bcb}
.repeat-day-button:hover{background:#ece5ff}
.repeat-day-button:focus-visible{outline:3px solid #b7a6fa;outline-offset:2px}
.draft-resume{min-width:0;padding:16px;border:1px solid #e3dbfa;border-radius:15px;background:linear-gradient(145deg,#f6f2ff,#f2f8ff);color:var(--ink)}
.draft-resume h3{margin:0 0 7px;font-size:17px;letter-spacing:-.025em}
.draft-resume p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}
.draft-resume .journal-detail{margin-top:9px;overflow-wrap:anywhere}
.draft-resume .journal-detail strong{color:var(--ink)}
.draft-resume .journal-server{display:grid;gap:5px;margin:12px 0;padding:10px 12px;border:1px solid #d7d8ef;border-radius:10px;background:rgba(255,255,255,.65);overflow-wrap:anywhere}
.draft-resume .journal-server strong{font-size:12px}
.draft-resume-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}
.draft-resume-actions .button{flex:1 1 140px;min-height:44px;min-width:0;white-space:normal;text-align:center}
.draft-resume-actions [data-action=draft-replace]{border-color:#f0d4c9;background:#fff2ed;color:#aa533e}
.wizard-clone-notice{display:grid;gap:4px;margin:0 0 15px;padding:13px 15px;border:1px solid #f0cf8d;border-radius:13px;background:#fff5de;color:#77551c;font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.wizard-clone-notice strong{font-size:13px;color:#724c0f}

:root[data-theme=dark] .today-status{border-color:#3e536d;background:#26384e;color:#b5d4ed}
:root[data-theme=dark] .today-status-icon{background:#36516c;color:#c9e6ff}
:root[data-theme=dark] .today-status-copy strong{color:#f1f4ff}
:root[data-theme=dark] .today-status-copy span{color:#bbc7db}
:root[data-theme=dark] .today-status-action{background:#304862;color:inherit}
:root[data-theme=dark] .today-status.draft{border-color:#765a39;background:#493d37;color:#ffdda6}
:root[data-theme=dark] .today-status.draft .today-status-icon{background:#624a31;color:#ffe1af}
:root[data-theme=dark] .today-status.saved{border-color:#38695c;background:#24453f;color:#c0f4df}
:root[data-theme=dark] .today-status.saved .today-status-icon{background:#2b5a4d;color:#c2f7dc}
:root[data-theme=dark] .workday-wizard .wizard-save-state{background:#2b3953;color:#aebcd1}
:root[data-theme=dark] .workday-wizard .wizard-save-state[data-status=saving]{background:#4e4435;color:#f4d090}
:root[data-theme=dark] .workday-wizard .wizard-save-state[data-status=saved]{background:#295044;color:#a9f3d3}
:root[data-theme=dark] .workday-wizard .wizard-save-state[data-status=error]{background:#543640;color:#ffc0ca}
:root[data-theme=dark] .workday-wizard .job-counter button{border-color:#4b5978;background:#324360;color:#e0d9ff}
:root[data-theme=dark] .workday-wizard .job-counter button:hover{background:#465475}
:root[data-theme=dark] .workday-wizard .job-counter .job-counter-plus{border-color:#7265af;background:#474370;color:#eee7ff}
:root[data-theme=dark] .workday-wizard .wizard-live-preview{border-color:#514d80;background:linear-gradient(110deg,#34345b,#24435e);color:#e9e3ff}
:root[data-theme=dark] .workday-wizard .wizard-live-preview strong{color:#fff}
:root[data-theme=dark] .workday-wizard .wizard-live-preview small{color:#c1cce0}
:root[data-theme=dark] .workday-wizard .wizard-live-preview .earnings-preview-rates span{background:rgba(255,255,255,.12);color:#efeaff}
:root[data-theme=dark] .workday-wizard .wizard-live-preview[data-status=error]{border-color:#7f4a59;background:#533644;color:#ffd2d9}
:root[data-theme=dark] .workday-wizard .wizard-frequent{background:var(--wizard-tint);border-color:var(--wizard-border)}
:root[data-theme=dark] .workday-wizard .wizard-frequent-item{background:#303e5a;border-color:#62578d;color:#e6ddff}
:root[data-theme=dark] .workday-wizard .wizard-frequent-item:hover{background:#424a70}
:root[data-theme=dark] .repeat-day-button{background:#37385f;border-color:#62589c;color:#e4dcff}
:root[data-theme=dark] .row-actions .repeat-day-button.icon-button,:root[data-theme=dark] .workday-actions .repeat-day-button.button{background:#37385f;border-color:#62589c;color:#e4dcff}
:root[data-theme=dark] .repeat-day-button:hover{background:#45426f}
:root[data-theme=dark] .draft-resume{border-color:#534d78;background:linear-gradient(145deg,#343452,#244055);color:#f1f4ff}
:root[data-theme=dark] .draft-resume p{color:#c0cadd}
:root[data-theme=dark] .draft-resume .journal-detail strong{color:#f1f4ff}
:root[data-theme=dark] .draft-resume .journal-server{border-color:#626182;background:#29374e}
:root[data-theme=dark] .draft-resume-actions [data-action=draft-replace]{border-color:#855955;background:#543d42;color:#ffd1c3}
:root[data-theme=dark] .wizard-clone-notice{border-color:#8d6a33;background:#443a2c;color:#f1d49c}
:root[data-theme=dark] .wizard-clone-notice strong{color:#ffe3af}

@media(max-width:740px){
  .workday-wizard .job-input-grid{grid-template-columns:minmax(0,1fr)}
  .repeat-day-button{min-height:44px}
}
@media(max-width:440px){
  .shift-list-row{display:grid;grid-template-columns:39px minmax(0,1fr) auto;align-items:center;gap:7px 10px}
  .shift-list-row>.list-icon{grid-column:1;grid-row:1}
  .shift-list-row>.list-body{grid-column:2/4;grid-row:1}
  .shift-list-row>.list-number{grid-column:1/3;grid-row:2;min-width:0}
  .shift-list-row>.row-actions{grid-column:3;grid-row:2;justify-self:end}
  .shift-list-row .row-actions .icon-button{width:40px;height:40px;min-height:40px}
  .workday-actions{gap:6px;flex-wrap:wrap}
  .workday-actions .button{flex:1 1 75px;min-width:0;min-height:48px;padding:7px 5px;white-space:normal;flex-wrap:wrap;text-align:center;line-height:1.2}
}
@media(max-width:360px){
  .today-status{flex-wrap:wrap}
  .today-status-action{flex:1 1 100%;width:100%}
  .workday-wizard .job-input{padding:7px;gap:5px}
  .workday-wizard .job-input-top{gap:5px}
  .workday-wizard .job-input-mark{width:26px;height:26px;font-size:11px}
  .workday-wizard .job-input label{font-size:11px}
  .workday-wizard .job-counter{grid-template-columns:44px 39px 44px;gap:1px}
  .workday-wizard .job-counter input{width:39px;font-size:16px}
}
@media(prefers-reduced-motion:reduce){.workday-wizard .job-counter button{transition:none}}


/* Phone layout: keep names, amounts and controls readable in Telegram's iOS WebView. */
@media(max-width:600px){
  .auth-settings-form .form-grid,.adjustment-card .form-grid{grid-template-columns:minmax(0,1fr);gap:16px}
  .auth-settings-form .form-grid .field.wide,.adjustment-card .form-grid .field.wide{grid-column:1}
  .auth-settings-form>.button,.adjustment-card .field.wide .button{width:100%;justify-self:stretch;min-height:46px}
  .workday-wizard .wizard-fields .field{width:100%;max-width:100%;overflow:hidden}
  .workday-wizard .wizard-fields .field input[type=date]{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;overflow:hidden;-webkit-appearance:none;appearance:none}
  .workday-wizard .wizard-fields .field input[type=date]::-webkit-datetime-edit{min-width:0;max-width:100%;overflow:hidden}
}
@media(max-width:440px){
  .hero-actions .button:only-child{width:100%;min-height:46px;padding:10px 14px;font-size:13px}
  .list-row .list-title{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;line-height:1.28}
  .list-row .list-sub{overflow-wrap:anywhere}
  .list-row:not(.shift-list-row){display:grid;grid-template-columns:39px minmax(0,1fr) 40px;align-items:center;column-gap:11px;row-gap:8px;padding:12px}
  .list-row:not(.shift-list-row)>.list-icon{grid-column:1;grid-row:1;align-self:start}
  .list-row:not(.shift-list-row)>.list-body{grid-column:2/4;grid-row:1;min-width:0}
  .list-row:not(.shift-list-row)>.list-number{grid-column:2;grid-row:2;min-width:0;font-size:13px}
  .list-row:not(.shift-list-row)>.icon-button,.list-row:not(.shift-list-row)>.row-actions{grid-column:3;grid-row:2;justify-self:end}
  .list-row:not(.shift-list-row)>.icon-button{width:40px;height:40px;min-height:40px}
}
@media(max-width:350px){
  .list-row:not(.shift-list-row){column-gap:8px;padding:10px}
  .workday-wizard .wizard-fields .field{padding:10px}
}

@media(max-width:600px){
  .adjustment-card>.card-header{display:grid;grid-template-columns:minmax(0,1fr) 38px;align-items:start;gap:10px}
  .adjustment-card>.card-header>div{min-width:0}
  .adjustment-card>.card-header h2{font-size:clamp(17px,4.7vw,20px);line-height:1.2;overflow-wrap:break-word}
  .adjustment-card>.card-header .card-flair{width:38px;min-width:38px;justify-self:end}
}

@media(max-width:440px){
  .hero-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
  .hero-actions .button,.hero-actions .button:only-child{width:100%;min-width:0;min-height:44px;padding:9px 12px;font-size:13px;line-height:1.2;white-space:normal;text-align:center}
  .hero-actions .button.secondary{box-shadow:none;font-weight:730}
  .hero-top{flex-wrap:wrap}
}

/* iOS enlarges the viewport when an editable control uses a font below 16px. */
@media(max-width:740px){
  .workday-wizard .wizard-fields .field input,
  .workday-wizard .material-input-row select,
  .workday-wizard .material-input-row input,
  .workday-wizard .movement-note,
  .workday-wizard .wizard-note textarea{font-size:16px}
}

.admin-stats.has-owner{grid-template-columns:repeat(4,minmax(0,1fr))}
.admin-stats.has-owner>div:nth-child(4){background:linear-gradient(135deg,#f0eaff,#e7ecff)}
:root[data-theme=dark] .admin-stats.has-owner>div:nth-child(4){background:linear-gradient(135deg,#3f365b,#303c58)}
.admin-role-form{display:grid;gap:16px}
.admin-role-form>.hint{margin:0}
.admin-role-options{display:grid;gap:9px}
.admin-role-option{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid var(--line);border-radius:13px;background:var(--card);cursor:pointer}
.admin-role-option:focus-within{outline:3px solid #9ac9ff;outline-offset:2px}
.admin-role-option input{flex:none;width:19px;height:19px;margin:0;accent-color:#7254e6}
.admin-role-option span{display:grid;gap:4px;min-width:0}
.admin-role-option strong{font-size:14px;color:var(--ink)}
.admin-role-option small{font-size:12px;line-height:1.35;color:var(--muted)}
@media(max-width:740px){.admin-stats.has-owner{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:440px){.admin-role-form .form-footer{flex-direction:column-reverse}.admin-role-form .form-footer .button{width:100%}}

/* Calendar-year and selected-period averages, with a year-based forecast. */
.earnings-forecast{margin-top:18px;padding-top:17px;border-top:1px solid var(--line)}
.forecast-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.forecast-metric{display:grid;align-content:start;gap:5px;min-width:0;padding:14px;border:1px solid #dedbf8;border-radius:15px;background:linear-gradient(145deg,#f7f3ff,#f3f7ff);transition:transform .2s ease,box-shadow .2s ease}
.forecast-metric.period{border-color:#edd6a8;background:linear-gradient(145deg,#fff8e9,#fff3e9)}
.forecast-metric.estimate{grid-column:1/-1;border-color:#c9e9e3;background:linear-gradient(145deg,#eaf9f6,#f1f6ff)}
.forecast-metric:hover{transform:translateY(-2px);box-shadow:0 9px 18px rgba(72,74,143,.11)}
.forecast-kicker{color:#6655b0;font-size:12px;font-weight:800;line-height:1.3}
.forecast-metric.period .forecast-kicker{color:#83560f}
.forecast-metric.estimate .forecast-kicker{color:#087e77}
.forecast-metric strong{min-width:0;color:#3d327c;font-size:clamp(17px,2vw,23px);font-weight:850;line-height:1.2;letter-spacing:-.035em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.forecast-metric.period strong{color:#80500d}
.forecast-metric.estimate strong{color:#096f6b}
.forecast-metric small{color:#68718d;font-size:12px;line-height:1.4}
.forecast-explainer{display:flex;align-items:flex-start;gap:9px;margin-top:10px;color:var(--muted);font-size:12px;line-height:1.45}
.forecast-pulse{flex:none;width:8px;height:8px;margin-top:3px;border-radius:50%;background:#31b9a7;box-shadow:0 0 0 4px rgba(49,185,167,.14);animation:forecast-breathe 2.5s ease-in-out infinite}
.forecast-empty{margin-top:16px;padding:13px 14px;border:1px dashed #ddd8f1;border-radius:12px;background:#faf8ff;color:var(--muted);font-size:12px;line-height:1.45}
@keyframes forecast-breathe{50%{box-shadow:0 0 0 8px rgba(49,185,167,.06)}}

/* Draft stock is shown before save, with each row consuming the prior row's balance. */
.material-live-summary{min-width:0;margin:0 0 12px;padding:12px;border:1px solid #d6e7e5;border-radius:14px;background:linear-gradient(135deg,#f0fbf8,#f3f7ff)}
.material-live-summary.has-negative{border-color:#eeb9af;background:linear-gradient(135deg,#fff2ee,#fff7f4)}
.material-live-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:9px}
.material-live-heading strong{color:#227b72;font-size:12px}
.material-live-heading span{color:#668c8a;font-size:12px}
.material-live-list{display:grid;gap:6px;max-height:190px;overflow:auto}
.material-live-item{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding:8px 10px;border:1px solid #d6ede5;border-radius:10px;background:rgba(255,255,255,.76)}
.material-live-item>span{min-width:0;color:#294d4d;font-size:12px;font-weight:760;overflow-wrap:anywhere}
.material-live-item small{display:block;margin-top:3px;color:#687f85;font-size:12px;font-weight:500;line-height:1.35}
.material-live-item>strong{flex:none;color:#087e71;font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}
.material-live-item.negative{border-color:#f2b7ad;background:#fff1ee}
.material-live-item.negative>strong,.material-live-warning{color:#b54236}
.material-live-warning{margin:9px 0 0;font-size:12px;font-weight:750;line-height:1.4}
.material-live-empty{margin:0;color:#527775;font-size:12px;line-height:1.45}
.material-live-row{display:flex;justify-content:space-between;gap:7px;flex-wrap:wrap;margin:8px 2px 2px;color:#647689;font-size:12px;line-height:1.35;font-variant-numeric:tabular-nums}
.material-live-row strong{color:#247c72;white-space:nowrap}
.material-live-row strong.received{color:#078f78}
.material-live-row strong.negative{color:#bc473b}
.material-pair.overdrawn{border-color:#ec9f94;background:#fff5f3}
.workday-wizard [data-action=workday-next]:disabled,#movement-form [type=submit]:disabled,#opening-form [type=submit]:disabled{cursor:not-allowed}
.opening-live{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:12px;border:1px solid #d6e7e5;border-radius:12px;background:#f2fbf8;color:#3a6462;font-size:12px}
.opening-live strong{color:#087e71;font-size:17px;font-variant-numeric:tabular-nums}
.opening-live strong.negative,.opening-live small{color:#b54236}
.opening-live strong.legacy,.opening-live small.legacy{color:#9b6819}
.opening-live small{flex-basis:100%;font-size:11px}
:root[data-theme=dark] .forecast-metric{border-color:#514a7d;background:linear-gradient(145deg,#323050,#2d3d57)}
:root[data-theme=dark] .forecast-metric.period{border-color:#76603f;background:linear-gradient(145deg,#463c38,#403c47)}
:root[data-theme=dark] .forecast-metric.estimate{border-color:#386764;background:linear-gradient(145deg,#254a49,#2c3b58)}
:root[data-theme=dark] .forecast-kicker{color:#d3c4ff}
:root[data-theme=dark] .forecast-metric.period .forecast-kicker{color:#f4d394}
:root[data-theme=dark] .forecast-metric.estimate .forecast-kicker{color:#a2e8db}
:root[data-theme=dark] .forecast-metric strong{color:#f0eaff}
:root[data-theme=dark] .forecast-metric.period strong{color:#ffe0a2}
:root[data-theme=dark] .forecast-metric.estimate strong{color:#a4f5df}
:root[data-theme=dark] .forecast-metric small{color:#c1cbe0}
:root[data-theme=dark] .forecast-empty{border-color:#545070;background:#2a2e49}
:root[data-theme=dark] .material-live-summary{border-color:#386962;background:linear-gradient(135deg,#233d43,#2b3552)}
:root[data-theme=dark] .material-live-summary.has-negative{border-color:#9b5e59;background:linear-gradient(135deg,#50323a,#3c344a)}
:root[data-theme=dark] .material-live-heading strong,:root[data-theme=dark] .material-live-item>strong{color:#a9f4da}
:root[data-theme=dark] .material-live-heading span,:root[data-theme=dark] .material-live-empty,:root[data-theme=dark] .material-live-row{color:#b4c9cd}
:root[data-theme=dark] .material-live-item{border-color:#416b66;background:rgba(20,33,49,.52)}
:root[data-theme=dark] .material-live-item>span{color:#e2f6f1}
:root[data-theme=dark] .material-live-item small{color:#b4c9cd}
:root[data-theme=dark] .material-live-item.negative{border-color:#a76360;background:#563b43}
:root[data-theme=dark] .material-live-item.negative>strong,:root[data-theme=dark] .material-live-row strong.negative,:root[data-theme=dark] .material-live-warning{color:#ffc0b0}
:root[data-theme=dark] .material-live-row strong{color:#a9f4da}
:root[data-theme=dark] .material-pair.overdrawn{border-color:#a76360;background:#453440}
:root[data-theme=dark] .opening-live{border-color:#386962;background:#243e43;color:#c0ded8}
:root[data-theme=dark] .opening-live strong{color:#a9f4da}
:root[data-theme=dark] .opening-live strong.negative,:root[data-theme=dark] .opening-live small{color:#ffc0b0}
:root[data-theme=dark] .opening-live strong.legacy,:root[data-theme=dark] .opening-live small.legacy{color:#ffd193}
@media(max-width:520px){.forecast-metrics{grid-template-columns:minmax(0,1fr)}.forecast-metric.estimate{grid-column:auto}.material-live-item{align-items:flex-start}}
@media(max-width:740px){#movement-form .material-input-row input,#movement-form .material-input-row select,#movement-form .movement-note,#opening-form input{font-size:16px}}
@media(prefers-reduced-motion:reduce){.forecast-pulse{animation:none}.forecast-metric{transition:none}}
