:root{--ink:#17251d;--green:#21864b;--mint:#69e38f;--canvas:#f3f6f2;--muted:#718078;--line:#e5eae6}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}button,input,select{font:inherit}.app-shell{display:flex;min-height:100vh;max-width:1600px;margin:auto}.sidebar{width:248px;flex:none;background:#101a16;color:#fff;padding:28px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--mint);color:#102218;font-size:20px;font-weight:900}.brand b,.brand small{display:block}.brand small{color:#ffffff70;font-size:11px;margin-top:2px}.sidebar nav{margin-top:38px;display:grid;gap:5px}.sidebar nav a{display:flex;gap:13px;align-items:center;color:#ffffff90;text-decoration:none;border-radius:12px;padding:12px 13px;font-size:14px}.sidebar nav a:hover,.sidebar nav a.active{background:#ffffff12;color:var(--mint)}.account{margin-top:auto;padding:16px;border:1px solid #ffffff12;background:#ffffff08;border-radius:16px}.account small,.account b,.account span{display:block}.account small{font-size:9px;letter-spacing:.14em;color:#ffffff60}.account b{font-size:14px;margin-top:10px}.account span{font-size:12px;color:#ffffff70;margin-top:2px}.account a{display:inline-flex;margin-top:14px;color:#ffffff80;font-size:12px;text-decoration:none}.workspace{min-width:0;flex:1}.topbar{height:76px;padding:0 32px;background:#ffffffde;backdrop-filter:blur(14px);border-bottom:1px solid #0000000f;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20}.title-row{display:flex;align-items:center;gap:12px}.title-row small{font-size:10px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.15em}.title-row h1{font-size:20px;margin:3px 0 0}.content{padding:30px}.btn{border:0;border-radius:11px;height:40px;padding:0 15px;font-weight:700;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none}.btn.dark{background:#14231b;color:#fff}.btn.primary,.btn.green-btn{background:var(--green);color:#fff}.btn.mint{background:var(--mint);color:#102218}.btn.outline{background:#fff;border:1px solid var(--line);color:var(--ink)}.btn.danger{background:#fff0f0;color:#b73535}.btn.small{height:32px;font-size:11px;padding:0 10px}.btn.wide{width:100%;height:45px}.worker-callout{background:#15241c;color:#fff;border-radius:22px;padding:25px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.worker-callout small{color:var(--mint);letter-spacing:.15em;font-size:10px;font-weight:800}.worker-callout h2{margin:8px 0 4px;font-size:21px}.worker-callout p{margin:0;color:#ffffff80;font-size:13px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:22px}.stats article{background:#fff;border:1px solid #0000000f;border-radius:20px;padding:19px;box-shadow:0 10px 30px #1c2c2308}.stats i{display:grid;width:38px;height:38px;border-radius:12px;place-items:center;font-style:normal;font-weight:900}.stats i.green{background:#e8f8ed;color:#21864b}.stats i.amber{background:#fff4db;color:#b97709}.stats i.blue{background:#e9f1ff;color:#356bc4}.stats i.purple{background:#f1eafe;color:#7950bb}.stats span{display:block;color:var(--muted);font-size:13px;margin-top:18px}.stats b{display:block;font-size:24px;margin-top:3px}.stats small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.panel{background:#fff;border:1px solid #0000000f;border-radius:22px;overflow:hidden;box-shadow:0 12px 35px #1c2c2309}.panel-head{padding:20px 23px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px}.panel h2{margin:0;font-size:16px}.panel-head p{margin:5px 0 0;color:var(--muted);font-size:12px}.filters{display:flex;gap:8px}.filters input,.filters select{height:37px;border:1px solid var(--line);border-radius:9px;padding:0 11px;background:#fff;outline:none}.filters input:focus,.filters select:focus,input:focus{border-color:#59ae75;box-shadow:0 0 0 3px #59ae7520}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:780px;text-align:left;font-size:13px}th{background:#f8faf8;color:var(--muted);font-size:9px;letter-spacing:.12em;text-transform:uppercase;padding:12px 16px}td{border-top:1px solid #0000000d;padding:15px 16px}td small,td a{display:block}td small{color:var(--muted);margin-top:3px}code{font-size:11px}.receipt-link{font-size:10px;color:var(--green);font-weight:700;margin-top:5px;text-decoration:none}.status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:800}.status.due{background:#fff2d7;color:#a96800}.status.paid{background:#e9f8ed;color:#21864b}.icon-btn{width:32px;height:32px;border:1px solid var(--line);display:grid;place-items:center;border-radius:9px;color:var(--ink);text-decoration:none}.empty{text-align:center;padding:70px 20px;color:var(--muted)}.empty>b{display:grid;margin:auto;width:48px;height:48px;place-items:center;border-radius:50%;background:#edf4ef;color:var(--green);font-size:20px}.worker-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:20px}.worker-card{border:1px solid var(--line);border-radius:16px;padding:18px}.avatar{display:grid;width:42px;height:42px;place-items:center;background:#e8f8ed;color:var(--green);font-weight:900;border-radius:50%;margin-bottom:13px}.worker-main{display:flex;justify-content:space-between;gap:8px}.worker-main h3{font-size:14px;margin:0}.worker-main p{font-size:11px;color:var(--muted);margin:4px 0}.access{font-size:9px;font-weight:800;height:max-content;padding:4px 7px;border-radius:999px}.access.on{background:#e9f8ed;color:var(--green)}.access.off{background:#f2f2f2;color:#777}.worker-due{margin:17px 0;padding:13px;background:#f7faf7;border-radius:11px;display:flex;align-items:center;justify-content:space-between}.worker-due span{font-size:11px;color:var(--muted)}.worker-due b{color:var(--green)}.worker-actions{display:flex;justify-content:space-between;gap:7px}.worker-actions form{margin-left:auto}.alert{border-radius:12px;padding:12px 14px;font-size:12px;margin-bottom:17px;position:relative}.alert.success{background:#e8f8ed;color:#176d3a}.alert.error{background:#fff0f0;color:#a92d2d}.dismissible button{position:absolute;right:9px;top:6px;border:0;background:none;font-size:20px;color:inherit;cursor:pointer}.modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:16px;background:#08130c99;backdrop-filter:blur(4px)}.modal.open{display:flex}.modal-card{width:100%;max-width:430px;max-height:calc(100vh - 32px);overflow:auto;background:#fff;border-radius:22px;padding:27px;position:relative;box-shadow:0 24px 80px #0004}.modal-card.wide-modal{max-width:580px}.modal-card h2{font-size:19px;margin:0}.modal-card>p{font-size:12px;color:var(--muted);margin:7px 0 22px}.modal-x{position:absolute;right:14px;top:12px;border:0;background:#f1f4f1;width:30px;height:30px;border-radius:9px;font-size:20px;cursor:pointer}.form-stack{display:grid;gap:15px}.form-stack label,.form-grid label{display:grid;gap:7px;font-size:12px;font-weight:700}.form-stack input,.form-grid input{height:42px;width:100%;border:1px solid var(--line);border-radius:10px;padding:0 11px;outline:none}.password-wrap{position:relative}.password-wrap input{padding-right:60px}.password-wrap button{position:absolute;right:5px;top:5px;height:32px;border:0;background:#eef3ef;color:var(--green);border-radius:7px;font-size:10px;font-weight:800;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.upload-box{border:2px dashed #b9d8c2;border-radius:16px;background:#f5faf6;min-height:115px;display:flex!important;align-items:center;justify-content:center;text-align:center;cursor:pointer}.upload-box input{display:none}.upload-box b,.upload-box span{display:block}.upload-box b{color:var(--green);font-size:13px}.upload-box span{font-size:10px;color:var(--muted);margin-top:5px}.auth-body{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 50% 0,#e2f5e8,#f3f6f2 52%);padding:20px}.auth-card{width:100%;max-width:420px;background:#fff;border:1px solid #00000010;border-radius:25px;padding:34px;box-shadow:0 25px 70px #15392112;text-align:center}.brand.center{justify-content:center;text-align:left}.auth-icon{display:grid;width:55px;height:55px;place-items:center;border-radius:50%;background:#e8f8ed;color:var(--green);font-size:21px;margin:30px auto 13px}.auth-card h1{font-size:23px;margin:0}.auth-card>p{font-size:13px;color:var(--muted);margin:8px 0 24px}.auth-card .form-stack{text-align:left}.security-note{display:block;color:var(--muted);font-size:10px;margin-top:18px}.menu-btn,.mobile-close{display:none}.mobile-overlay{display:none}
@media(max-width:1100px){.stats{grid-template-columns:repeat(2,1fr)}.worker-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.sidebar{position:fixed;z-index:60;transform:translateX(-100%);transition:.2s}.menu-open .sidebar{transform:translateX(0)}.menu-open .mobile-overlay{display:block;position:fixed;inset:0;background:#0006;z-index:50}.mobile-close{display:block;margin-left:auto;background:none;border:0;color:#fff;font-size:24px}.menu-btn{display:grid;width:36px;height:36px;place-items:center;border:1px solid var(--line);background:#fff;border-radius:9px}.topbar{padding:0 16px}.content{padding:18px}.worker-grid{grid-template-columns:1fr}.panel-head{align-items:flex-start;flex-direction:column}.filters{width:100%}.filters input{min-width:0;flex:1}}
@media(max-width:560px){.stats{grid-template-columns:1fr 1fr;gap:10px}.stats article{padding:15px}.stats b{font-size:20px}.topbar .btn{padding:0 10px}.worker-callout{align-items:flex-start;flex-direction:column}.form-grid{grid-template-columns:1fr}.filters{flex-direction:column}.filters input,.filters select{width:100%}.auth-card{padding:27px 22px}}
.modal-card.ocr-modal{max-width:880px}.ocr-privacy{padding:10px 12px;border-radius:10px;background:#eaf7ee;color:#237346;font-size:11px;font-weight:650}.ocr-status{padding:13px;border:1px solid var(--line);border-radius:12px}.ocr-status>div{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:var(--muted);margin-bottom:8px}.ocr-status progress{width:100%;height:8px;accent-color:var(--green)}.ocr-status.error{background:#fff0f0;color:#a92d2d}.ocr-results{display:grid;gap:13px}.ocr-card{display:grid;grid-template-columns:105px minmax(0,1fr);border:1px solid #cfe7d6;border-radius:16px;overflow:hidden;background:#fff}.ocr-card.needs-review{border-color:#e8b04d;box-shadow:0 0 0 3px #f4bb5420}.ocr-preview{position:relative;background:#101a16;min-height:170px}.ocr-preview img{width:100%;height:100%;object-fit:cover}.ocr-preview span{position:absolute;left:8px;top:8px;display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#101a16dd;color:#fff;font-size:10px;font-weight:800}.ocr-card-body{padding:14px}.ocr-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:13px}.ocr-card-head b,.ocr-card-head small{display:block}.ocr-card-head b{max-width:430px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.ocr-card-head small{margin-top:3px;color:var(--muted);font-size:9px}.needs-review .ocr-card-head small{color:#a96800}.confidence{flex:none;padding:4px 7px;border-radius:999px;background:#eef4ef;color:#47715a;font-size:9px;font-weight:800}.ocr-card .form-grid{gap:10px}.ocr-card .form-grid label{font-size:10px}.ocr-card .form-grid input{height:36px;font-size:12px}.ocr-drop{min-height:130px}.ocr-drop b{font-size:15px}
@media(max-width:650px){.modal-card.ocr-modal{padding:20px 15px}.ocr-card{grid-template-columns:1fr}.ocr-preview{height:125px;min-height:0}.ocr-preview img{object-position:top}.ocr-card-head b{max-width:210px}}
.worker-profile-link{display:block;color:inherit;text-decoration:none}.worker-profile-link:hover h3,.open-profile{color:var(--green)}.open-profile{display:block;font-size:10px;font-weight:800;margin:-8px 0 14px}.back-link{color:var(--green);text-decoration:none}.profile-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#15241c;color:#fff;border-radius:22px;padding:22px 25px;margin-bottom:18px}.profile-person{display:flex;align-items:center;gap:15px}.profile-avatar{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:var(--mint);color:#102218;font-size:24px;font-weight:900}.profile-name-line{display:flex;align-items:center;gap:10px}.profile-name-line h2{margin:0;font-size:21px}.profile-person p{margin:5px 0 0;color:#ffffff9a;font-size:12px}.profile-quick{text-align:right}.profile-quick span,.profile-quick b{display:block}.profile-quick span{color:#ffffff80;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.profile-quick b{font-size:28px}.profile-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}.profile-main,.profile-side{display:grid;gap:18px}.today-grid{display:grid;grid-template-columns:repeat(3,1fr);padding:18px;gap:12px}.today-grid>div{padding:16px;background:#f7faf7;border-radius:13px}.today-grid span,.today-grid b{display:block}.today-grid span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.today-grid b{font-size:20px;margin-top:6px}.tabs{display:flex;gap:6px;padding:14px 18px;border-bottom:1px solid var(--line);overflow:auto}.tabs a{white-space:nowrap;padding:8px 12px;border-radius:9px;color:var(--muted);font-size:11px;font-weight:800;text-decoration:none}.tabs a.active{background:#e8f8ed;color:var(--green)}.manual-list{padding:18px;border-bottom:1px solid var(--line)}.manual-list h3{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:0 0 10px}.manual-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:11px 0;border-top:1px solid #0000000c}.manual-row:first-of-type{border-top:0}.manual-row b,.manual-row span{display:block}.manual-row>div>span,.manual-row time{font-size:10px;color:var(--muted);margin-top:2px}.status.cancelled{background:#fff0f0;color:#b73535}.row-actions{display:flex;gap:5px}.side-form{padding:18px}.form-help{color:var(--muted);text-align:center}.btn:disabled{opacity:.45;cursor:not-allowed}.razer-list{padding:0 18px 18px}.razer-list>div{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 0;border-top:1px solid var(--line)}.razer-list b{font-size:12px}.razer-list small{display:inline-flex;margin-left:7px;padding:3px 6px;border-radius:999px;background:#e8f8ed;color:var(--green);font-size:8px;font-weight:800}.text-btn{border:0;background:none;color:var(--green);font-size:10px;font-weight:800;cursor:pointer}.mini-empty{margin:0;padding:4px 0;color:var(--muted);font-size:11px}
@media(max-width:1100px){.profile-layout{grid-template-columns:1fr}.profile-side{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.profile-hero{align-items:flex-start}.profile-quick{display:none}.profile-side{grid-template-columns:1fr}.today-grid{grid-template-columns:1fr 1fr}.manual-row{grid-template-columns:1fr auto}.manual-row>.status{display:none}}
.status.partial{background:#fff0c7;color:#9a6500}.payment-kind{display:inline-flex!important;padding:5px 8px;border-radius:999px;background:#edf4ef;color:var(--green);font-size:9px!important;font-weight:800}.pay-all-form{padding:0 18px 18px}.payment-history .empty{padding:35px 20px}.manual-row>div{min-width:0}.manual-row>div>span{white-space:normal;word-break:break-word}
.confirm-card{text-align:center;max-width:390px}.confirm-icon{display:grid;place-items:center;width:54px;height:54px;margin:4px auto 14px;border-radius:50%;background:#e8f8ed;color:var(--green);font-size:22px;font-weight:900}.confirm-card>p{line-height:1.55}.confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.confirm-actions form,.confirm-actions .btn{width:100%}
.backup-card{max-width:820px;margin:0 auto;background:#fff;border:1px solid #0000000f;border-radius:24px;padding:38px;display:grid;grid-template-columns:92px minmax(0,1fr);gap:25px;box-shadow:0 15px 45px #1c2c230c}.backup-icon{display:grid;place-items:center;width:78px;height:78px;border-radius:22px;background:#e8f8ed;color:var(--green);font-size:31px;font-weight:900}.backup-card small{color:var(--green);font-size:9px;font-weight:900;letter-spacing:.14em}.backup-card h2{font-size:25px;margin:8px 0}.backup-card p{color:var(--muted);font-size:13px;line-height:1.6}.backup-card ul{margin:20px 0;padding-left:20px;color:#4d5e54;font-size:12px;line-height:2}.backup-download{height:46px}.backup-card .backup-warning{margin:14px 0 0;color:#9b6b13;font-size:10px}@media(max-width:600px){.backup-card{grid-template-columns:1fr;padding:25px}.backup-icon{width:60px;height:60px;border-radius:17px}}
.ocr-card input[readonly]{background:#f2f5f2;color:#34443a;cursor:not-allowed}.settings-card{max-width:620px;margin:0 auto;background:#fff;border:1px solid #0000000f;border-radius:24px;padding:32px;box-shadow:0 15px 45px #1c2c230c}.settings-card>small{color:var(--green);font-size:9px;font-weight:900;letter-spacing:.14em}.settings-card h2{margin:8px 0 5px;font-size:23px}.settings-card>p{margin:0 0 23px;color:var(--muted);font-size:12px;line-height:1.6}.settings-user{display:flex;justify-content:space-between;align-items:center;gap:15px;background:#f5f8f5;border-radius:13px;padding:14px 16px;margin-bottom:22px}.settings-user span,.settings-user b{display:block}.settings-user span{font-size:10px;color:var(--muted)}.settings-user b{font-size:13px;margin-top:3px}.settings-card form{max-width:440px}@media(max-width:600px){.settings-card{padding:24px 20px}}
.rate-banner{padding:11px 13px;border-radius:11px;background:#edf7f0;color:#247246;font-size:11px;font-weight:800}.ocr-card-tools{display:flex;align-items:center;gap:7px}.remove-receipt{border:0;border-radius:7px;background:#fff0f0;color:#ae3434;height:27px;padding:0 8px;font-size:9px;font-weight:800;cursor:pointer}.duplicate-warning{margin:-3px 0 12px;padding:9px 11px;border-radius:9px;background:#fff0f0;color:#ae3434;font-size:10px;font-weight:800}.ocr-card.duplicate{border-color:#df4d4d;box-shadow:0 0 0 3px #df4d4d24}.ocr-card.duplicate .ocr-card-head small{color:#ae3434}.rate-card{border-color:#cfe7d6}.rate-card .form-help{line-height:1.5}
.settings-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.settings-layout .settings-card{width:100%;margin:0}@media(max-width:900px){.settings-layout{grid-template-columns:1fr}}
