@charset "UTF-8";
:root{--bg:#f5f7f8;--surface:#fff;--ink:#1e3437;--muted:#859193;--teal:#177f73;--teal-dark:#11675e;--line:#e8edec;--amber:#b7822b;--red:#b34e4e;--shadow:0 8px 32px #193a3c08;font-family:Inter,"Segoe UI","Microsoft YaHei",Arial,sans-serif;color:var(--ink);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-size:14px;line-height:1.6}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button{color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid #49b0a9;outline-offset:4px}input:focus,select:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px #177f7310}h1,h2,h3,p{margin:0}button{border:0}svg{width:20px;height:20px;display:block;stroke-width:1.7;flex-shrink:0}[data-icon]{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}[hidden]{display:none!important}input:not([type=checkbox]),select{width:100%;height:44px;border:1px solid #dfe6e4;border-radius:8px;background:#fff;padding:0 13px;transition:border-color .18s,box-shadow .18s;color:var(--ink)}input::placeholder{color:#a1aaab}input[type=checkbox]{width:15px;height:15px;accent-color:var(--teal);cursor:pointer}label{display:flex;align-items:center;gap:8px;margin:19px 0 8px;font-size:13px;font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 18px;border-radius:8px;font-size:13px;font-weight:600;white-space:nowrap;transition:background .2s,box-shadow .2s,transform .2s}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn svg{width:17px;height:17px}.primary{background:var(--teal);color:white;box-shadow:0 3px 8px #177f7315}.primary:hover:not(:disabled){background:var(--teal-dark);box-shadow:0 4px 14px #177f7326}.secondary{background:#fff;border:1px solid #dfe6e4}.secondary:hover:not(:disabled){background:#f3f8f7}.danger{background:#b94f4f;color:white}.full{width:100%}.icon-btn{padding:7px;display:inline-flex;justify-content:center;align-items:center;background:transparent;border-radius:6px;transition:background .2s}.icon-btn:hover{background:#7e929213}.icon-btn svg{width:18px;height:18px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;color:#7e9693;display:block}.brand{display:flex;align-items:center;gap:12px;font-size:25px;font-weight:700;letter-spacing:3px;line-height:1.3}.brand-icon{width:41px;height:41px;background:var(--teal);color:#fff;border-radius:12px;transform:rotate(-5deg)}.brand-icon svg{width:25px;height:25px}.brand-en{display:block;font-size:8px;font-weight:400;letter-spacing:2.2px;margin-top:6px}.brand-light{color:#f0f7f5}.brand-light .brand-icon{background:#fcffff0e;border:1px solid #c7edea28;color:#8ed3c5}.muted{color:var(--muted)}.status-dot{display:inline-block;width:6px;height:6px;background:#6eb598;border-radius:50%;flex-shrink:0}
/* Account entry */
.auth-view{display:grid;grid-template-columns:48% 52%;min-height:100vh;background:white}.auth-story{background:#143b3d;color:white;position:relative;overflow:hidden;display:flex;flex-direction:column;padding:48px 12%;min-height:760px}.auth-story:before{content:"";position:absolute;width:700px;height:700px;border:1px solid #82ada91a;border-radius:50%;bottom:-280px;right:-240px;box-shadow:0 0 0 75px #82ada907,0 0 0 150px #82ada907;pointer-events:none}.story-copy{margin-top:90px;z-index:1}.eyebrow.light{color:#86b5ad;font-size:9px;letter-spacing:2px}.story-copy h1{font-size:clamp(30px,3.2vw,47px);font-weight:500;line-height:1.55;letter-spacing:2px;margin:20px 0}.story-copy p{color:#acc3c0;font-size:14px;line-height:2}.ticket-art{position:relative;width:350px;max-width:95%;margin:55px auto 55px;z-index:1;animation:float-in .8s ease both}.art-ticket{background:#f8faf5;color:#24494a;padding:23px 25px;border-radius:12px;transform:rotate(-7deg);box-shadow:6px 14px 25px #041c1c30}.art-top{display:flex;justify-content:space-between;color:#859890;font-size:9px;letter-spacing:2px}.art-check{background:#deeee4;border-radius:50%;width:20px;height:20px;text-align:center;color:#4c8972;line-height:20px}.art-route{display:flex;align-items:center;justify-content:space-between;margin-top:25px}.art-route b{font-size:25px;letter-spacing:2px}.art-route>span{color:#7faba0;letter-spacing:3px;font-size:14px}.art-sub{display:flex;justify-content:space-between;color:#8d9c95;font-size:8px;letter-spacing:2px;margin-top:4px}.art-dash{border-top:1px dashed #cdd8d0;margin:25px -25px 18px;position:relative}.art-dash:before,.art-dash:after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:#143b3d;top:-9px}.art-dash:before{left:-9px}.art-dash:after{right:-9px}.art-bottom{display:flex;justify-content:space-between;font-size:11px}.art-bottom b{font-size:16px}.art-tag{position:absolute;bottom:-26px;right:-20px;background:#e5f1e9;color:#286654;border-radius:8px;padding:12px 17px;font-size:11px;box-shadow:0 5px 20px #00120e20;display:flex;align-items:center;gap:9px;transform:rotate(3deg)}.art-tag svg{width:17px;height:17px}.story-foot{margin-top:auto;padding-top:32px;display:flex;justify-content:space-between;font-size:10px;color:#8faeaa;position:relative}.auth-panel{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:60px 50px 80px}.auth-form-wrap{width:370px;max-width:100%}.auth-form-wrap h2{font-size:30px;letter-spacing:1px;font-weight:600;margin:12px 0 8px}.auth-form-wrap>.muted{font-size:13px}.auth-tabs{display:flex;background:#f3f6f5;border-radius:9px;padding:4px;margin:32px 0 26px}.auth-tabs button{width:50%;padding:9px;background:none;color:#8b9996;border-radius:6px;font-size:13px}.auth-tabs button.active{background:white;color:var(--teal);font-weight:600;box-shadow:0 2px 6px #193b3010}.input-icon{position:relative}.input-icon>span{position:absolute;left:13px;top:13px;color:#9caaa6}.input-icon>span svg{width:18px;height:18px}.input-icon input{padding-left:42px!important;padding-right:44px!important}.input-icon button{position:absolute;right:6px;top:6px;color:#8c9c95}.auth-form-wrap .primary{margin-top:28px;height:46px}.auth-note{font-size:11px;color:#899994;display:flex;align-items:center;justify-content:center;gap:7px;margin-top:16px}.auth-note svg{width:14px;height:14px}.auth-helper{border-top:1px solid var(--line);padding-top:22px;margin-top:28px;font-size:11px;line-height:1.9;color:#94a09b}.auth-footer{position:absolute;left:50px;right:50px;bottom:25px;display:flex;justify-content:space-between;color:#a5afab;font-size:10px}.auth-mobile-brand{display:none}.form-error{color:#ab4b3e;background:#fff3ef;border:1px solid #f5d6cc;border-radius:7px;font-size:12px;padding:10px 12px;margin-top:16px}
/* Workspace */
.app-shell{min-height:100vh;display:flex}.sidebar{background:#132f32;width:226px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;padding:35px 20px 20px;color:#9bb1b1;z-index:20}.sidebar .brand{margin:0 14px 50px}.nav-caption{font-size:10px;letter-spacing:1.2px;color:#6c8b8d;margin:0 17px 14px}.nav-item{display:flex;align-items:center;gap:12px;padding:13px 16px;margin:5px 0;border-radius:8px;background:transparent;color:#9eb5b4;width:100%;text-align:left;font-size:13px;transition:background .2s,color .2s}.nav-item svg{width:18px;height:18px}.nav-item:hover{background:#ffffff06;color:#e4f3ef}.nav-item.active{background:#22484a;color:#e2f0ec;box-shadow:inset 3px 0 #7ab8a4}.nav-count{font-size:10px;min-width:20px;height:19px;text-align:center;margin-left:auto;background:#446c68;color:#daeee6;border-radius:4px;line-height:19px}.tiny-dot{width:5px;height:5px;background:#668d86;border-radius:50%;margin-left:auto}.sidebar-bottom{margin-top:auto}.space-card{background:#1b393c;border:1px solid #2b494b;border-radius:9px;margin-bottom:22px;padding:16px 13px}.space-card>div{display:flex;align-items:center;gap:7px;font-size:11px;color:#c5d6d1}.space-card>div svg{width:15px;height:15px}.space-card .status-dot{margin-left:auto}.space-card p{font-size:10px;color:#91a8a3;margin:13px 0 4px}.space-card progress{width:100%;height:4px;border:0;border-radius:3px;display:block;background:#35514e;overflow:hidden}.space-card progress::-webkit-progress-bar{background:#35514e}.space-card progress::-webkit-progress-value{background:#7ab8a4}.space-card small{font-size:9px;color:#6f928e;display:block;margin-top:10px}.user-block{display:flex;align-items:center;gap:10px;border-top:1px solid #30484a;padding-top:20px}.avatar{width:33px;height:33px;border-radius:10px;background:#dce8db;color:#3f6453;display:flex;align-items:center;justify-content:center;font-size:14px}.user-block strong{display:block;font-size:12px;font-weight:500;color:#d5e4de;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-block small{display:block;font-size:9px;color:#708f8c;margin-top:2px}.user-block button{margin-left:auto;color:#8ba9a4}.main{margin-left:226px;flex:1;min-width:0}.topbar{height:74px;border-bottom:1px solid var(--line);background:#ffffffbc;display:flex;align-items:center;justify-content:space-between;padding:0 40px;font-size:11px}.breadcrumb{color:#8c999a}.breadcrumb-slash{margin:0 15px;color:#c6cece}.topbar-right{display:flex;align-items:center;gap:25px;color:#91a09e;font-size:10px}.private-label{display:flex;align-items:center;gap:6px}.private-label svg{width:14px;height:14px;color:#6f9a88}.content{max-width:1510px;margin:0 auto;padding:36px 40px 0}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;gap:20px}.page-heading h1{font-size:27px;font-weight:600;letter-spacing:.3px;margin:7px 0}.heading-dot{color:var(--teal)}.page-heading p{font-size:12px;color:#8c989a}.page-heading .eyebrow{font-size:8px;letter-spacing:1.8px}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:25px}.stat-card{background:white;border:1px solid var(--line);border-radius:11px;display:flex;align-items:center;padding:22px 20px;position:relative;min-height:113px;gap:15px;box-shadow:var(--shadow)}.stat-icon{height:43px;width:43px;border-radius:11px}.stat-icon svg{width:22px;height:22px}.teal{color:#508f86;background:#eff7f4}.amber{color:#b39259;background:#faf5ec}.green{color:#729b76;background:#f0f6ee}.stat-label{font-size:11px;color:#8a9697}.stat-card strong{font-size:27px;font-weight:600;line-height:1.5;font-variant-numeric:tabular-nums;letter-spacing:-.5px}.stat-unit{color:#a3acac;font-size:10px;margin-left:8px}.currency{font-size:17px;margin-right:6px;font-weight:500}.stat-detail{position:absolute;bottom:21px;right:16px;color:#a6b1ae;font-size:9px}.upload-section{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:27px;padding:18px 18px 0;box-shadow:var(--shadow)}.drop-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px 15px 24px;background:#fafcfb;border:1.5px dashed #cbded7;border-radius:9px;transition:all .2s;cursor:pointer}.drop-zone:hover,.drop-zone.dragging{background:#eff7f3;border-color:#6da89a}.drop-zone.dragging{transform:scale(.993);box-shadow:inset 0 0 0 3px #6da89a18}.upload-art{position:relative;margin-bottom:12px;color:#528b7b;background:#e9f2ed;display:flex;align-items:center;justify-content:center;width:47px;height:47px;border-radius:13px;transform:rotate(-4deg)}.upload-art svg{height:24px;width:24px}.upload-spark{position:absolute;right:-5px;top:-4px;font-size:17px;color:#93b4a2;line-height:1}.drop-zone h2{font-size:15px;font-weight:500;letter-spacing:.3px;margin-bottom:5px}.drop-zone p{font-size:11px;color:#96a29e}.text-link{color:#378675;font-weight:500}.upload-hint{font-size:9px;color:#abb4b1;margin-top:14px;letter-spacing:.2px}.upload-footer{display:flex;align-items:center;gap:25px;padding:14px 8px;color:#91a09b;font-size:10px}.upload-footer>span{display:flex;align-items:center;gap:6px}.upload-footer svg{height:14px;width:14px;color:#85a093}.upload-auto{margin-left:auto;color:#789689;font-size:9px}.receipts-panel{background:white;border:1px solid var(--line);border-radius:11px;overflow:hidden;box-shadow:var(--shadow)}.panel-heading{padding:23px 24px 18px;display:flex;align-items:center;justify-content:space-between}.panel-heading>div{display:flex;align-items:center;gap:15px}.panel-heading h2{font-size:15px;font-weight:600;display:flex;align-items:center;gap:8px}.count-bubble{font-size:10px;color:#8b9b95;background:#f0f4f2;line-height:20px;min-width:24px;text-align:center;border-radius:5px}.panel-description{font-size:10px;color:#a2aca8}.panel-heading .btn{height:34px;font-size:11px;padding:0 12px}.list-toolbar{padding:0 24px 14px;display:flex;justify-content:space-between;gap:14px;align-items:center}.filter-tabs{display:flex;gap:17px}.filter-tabs button{font-size:11px;background:none;color:#8c9a94;padding:9px 0;white-space:nowrap;position:relative}.filter-tabs button.active{color:var(--teal);font-weight:600}.filter-tabs button.active:after{content:"";height:2px;background:var(--teal);position:absolute;bottom:0;left:0;right:0;border-radius:2px}.filter-tabs button span{font-size:9px;color:#a4b1ab;margin-left:5px}.filter-tabs button.active span{color:#4c9181}.search-input{position:relative;width:210px;max-width:35%}.search-input>span{position:absolute;top:8px;left:10px;color:#acb6b0}.search-input svg{width:15px;height:15px}.search-input input{height:33px!important;font-size:10px;padding-left:32px!important;background:#fcfdfc!important}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{font-size:10px;color:#8c9c94;font-weight:400;background:#f8faf9;height:36px;border-block:1px solid #f0f3f1}td{padding:16px 10px;font-size:11px;border-bottom:1px solid #eff3f0}th:not(.check-cell){padding:0 10px}.check-cell{width:42px;text-align:center;padding-left:12px}td.check-cell{padding-left:12px}tbody tr{transition:background .18s;animation:float-in .25s ease both}tbody tr:hover{background:#fbfdfb}.file-cell{display:flex;gap:10px;align-items:center;max-width:370px}.file-type-icon{width:35px;height:40px;background:#eff5f2;border-radius:7px;color:#7e9e8a;display:flex;align-items:center;justify-content:center;flex-shrink:0}.file-type-icon.pdf{background:#faf0ed;color:#c49684}.file-type-icon svg{width:18px;height:18px}.file-text{min-width:0}.file-title{display:block;font-weight:500;max-width:300px;overflow:hidden;text-overflow:ellipsis;color:#415a4e}.file-meta{font-size:9px;color:#a4afa7;display:block;max-width:300px;overflow:hidden;text-overflow:ellipsis;margin-top:3px}.row-date{color:#8a9a90;font-variant-numeric:tabular-nums}.row-amount{font-weight:600;color:#496354;font-variant-numeric:tabular-nums}.amount-head{text-align:right}.amount-cell{text-align:right}.status-badge{display:inline-flex;gap:5px;align-items:center;padding:3px 7px;border-radius:5px;font-size:9px;white-space:nowrap}.status-badge:before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:currentColor}.status-confirmed{background:#edf6ef;color:#6d9877}.status-attention{background:#fff4e9;color:#be9258}.status-review{background:#edf4f7;color:#6a91a1}.status-processing{background:#f1eff7;color:#9a8bae}.status-processing:before{animation:pulse 1.2s infinite}.actions-head{text-align:right;padding-right:24px!important}.row-actions{display:flex;justify-content:flex-end;gap:4px;align-items:center}.row-actions .text-button{font-size:11px;margin-right:4px}.row-actions .icon-btn{padding:5px;color:#a2b0a7}.row-actions .icon-btn svg{width:15px;height:15px}.row-actions .icon-btn:hover{color:var(--teal)}td:last-child{padding-right:19px}.empty-state{text-align:center;padding:38px 20px 43px}.empty-state>span{color:#bacfc3;background:#f5f8f5;padding:13px;border-radius:50%;margin-bottom:12px}.empty-state svg{width:26px;height:26px}.empty-state h3{font-size:13px;font-weight:500;color:#8a9d91}.empty-state p{font-size:10px;color:#acb6af;margin-top:5px}.table-footer{display:flex;justify-content:space-between;padding:13px 23px;font-size:9px;color:#a0afa5;background:#fdfefd}.table-footer>span:last-child{display:flex;align-items:center;gap:6px}.bottom-tip{display:flex;align-items:center;gap:9px;margin:18px 3px;color:#9caaa1;font-size:10px}.bottom-tip>span svg{width:14px;height:14px}.bottom-tip button{margin-left:auto;display:flex;align-items:center;gap:4px;background:none;font-size:10px;color:#7b9989;white-space:nowrap}.bottom-tip button svg{width:13px;height:13px}.main-footer{display:flex;justify-content:space-between;margin:38px 0 20px;color:#adb7b1;font-size:9px}.main-footer>span:first-child{letter-spacing:1.5px}.text-button{background:none;color:var(--teal);padding:0;display:inline-flex;align-items:center;gap:5px;font-size:12px}.upload-progress{display:flex;align-items:center;gap:15px;border:1px solid #c9e3d8;background:#f2faf5;padding:16px 20px;border-radius:10px;margin-bottom:20px;font-size:12px}.upload-progress p{font-size:10px;color:#88a08e;margin-top:3px}.upload-progress progress{margin-left:auto;max-width:30%;height:5px;accent-color:var(--teal)}.notice{display:flex;gap:10px;align-items:flex-start;padding:14px 17px;background:#fcf8ef;border:1px solid #eee3c9;border-radius:8px;color:#9b8153;font-size:12px;margin:0 0 20px}.notice>span{padding-top:2px}.notice>span svg{width:17px;height:17px}.notice>button{margin-left:auto}.notice ul{padding-left:17px;margin:5px 0 0}.rules-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:30px 0}.rule-card{background:white;border:1px solid var(--line);padding:27px;border-radius:12px}.rule-top{display:flex;gap:12px;align-items:center;margin-bottom:18px}.rule-top>span{background:#eff7f3;color:#5c9783;padding:10px;border-radius:9px}.rule-top h2{font-size:16px;font-weight:500}.rule-card p{font-size:12px;color:#87998e;margin-bottom:18px;line-height:1.9}.rule-example{font-size:12px;background:#f6f9f6;padding:14px;border:1px solid #e4eee6;border-radius:8px;color:#507560;word-break:break-all;line-height:1.9}.rule-card small{display:block;margin-top:12px;color:#a5b2a7;font-size:10px}
/* Receipt review */
dialog{padding:0;border:1px solid #e2eae4;box-shadow:0 30px 100px #061f2040;border-radius:16px;color:var(--ink)}dialog::backdrop{background:#0c282b85;backdrop-filter:blur(4px)}dialog[open]{animation:dialog-in .22s ease both}.review-dialog{width:min(1120px,calc(100vw - 48px));max-height:calc(100dvh - 48px);overflow:auto}.dialog-heading{padding:19px 25px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.dialog-heading .eyebrow{font-size:8px}.dialog-heading h2{font-size:19px;font-weight:600;margin-top:3px}.review-layout{display:grid;grid-template-columns:54% 46%;min-height:620px}.preview-section{background:#f0f3f2;display:flex;flex-direction:column;min-width:0}.preview-toolbar{display:flex;align-items:center;justify-content:space-between;padding:12px 15px;background:#f8faf9;border-bottom:1px solid var(--line);gap:8px}.preview-toolbar>span{font-size:11px;color:#8a9b92;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:50%}.preview-toolbar>div{display:flex;align-items:center;gap:2px}.zoom-label{background:none;font-size:10px;color:#8b9e93;min-width:38px}.preview-stage{height:570px;overflow:auto;display:block;padding:25px;position:relative;background-color:#eef1f0;background-image:radial-gradient(#c5d0c9 1px,transparent 1px);background-size:15px 15px}.preview-stage img{width:100%;height:auto;display:block;margin:auto;box-shadow:0 3px 17px #172d2320;transform-origin:top left}.preview-stage img.zoom-125{width:125%;max-width:none}.preview-stage img.zoom-150{width:150%;max-width:none}.preview-stage img.zoom-200{width:200%;max-width:none}.preview-stage img.zoom-75{width:75%}#preview-unavailable{text-align:center;padding-top:150px;color:#96a69c;font-size:13px}#preview-unavailable svg{width:40px;height:40px;margin-bottom:15px}#preview-unavailable small{font-size:11px}.preview-pagination{display:flex;align-items:center;gap:10px;font-size:11px;color:#8b9e90;padding:10px 15px;margin-top:auto}.preview-tip{margin-left:auto;font-size:9px}.review-form-section{padding:24px 28px;background:white;min-width:0}.form-section-title{display:flex;align-items:center;gap:8px}.form-section-title h3{font-size:13px;font-weight:600}.step-number{font-size:9px;color:#659881;background:#eef6f0;border-radius:4px;padding:2px 5px}.mini-tag{font-size:9px;color:#9bac9e;margin-left:auto}.review-form-section label{font-size:11px;margin-top:16px}.review-form-section input,.review-form-section select{height:40px;font-size:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.route-dot{height:6px;width:6px;border:1.5px solid #6da088;border-radius:50%;display:inline-block}.destination-dot{border-color:#c29c6b}.manual-badge{font-size:9px;color:#b58d58;margin-left:auto;font-weight:400}.field-help{font-size:10px;color:#a0ada2;line-height:1.8;margin-top:10px}.second{margin-top:23px}.filename-preview{display:flex;align-items:flex-start;gap:10px;background:#f1f7f2;border:1px solid #e2ece2;padding:13px;margin-top:12px;border-radius:8px}.filename-preview>span{color:#7aa284;margin-top:2px}.filename-preview svg{width:18px;height:18px}.filename-preview p{font-size:12px;color:#577b60;word-break:break-all;line-height:1.9}.review-warnings{background:#fff9ec;border:1px solid #f0e4c6;color:#af8b51;border-radius:7px;font-size:10px;padding:10px 12px;margin-top:15px}.review-warnings p+p{margin-top:5px}.raw-details{margin-top:16px;font-size:10px;color:#8f9e93}.raw-details summary{cursor:pointer}.raw-details pre{white-space:pre-wrap;font:10px/1.8 monospace;max-height:170px;overflow:auto;padding:10px;background:#f6f8f5;color:#869680}.review-actions{display:flex;gap:10px;margin-top:22px}.review-actions .btn{font-size:11px;flex:1;padding:0 10px}.review-form-section .text-button{font-size:10px;margin-top:14px;color:#9bad9d}.review-form-section .text-button svg{width:12px;height:12px}.confirm-dialog{max-width:400px;width:calc(100vw - 40px);padding:30px}.delete-icon{background:#fcf0eb;color:#b77b6a;border-radius:12px;padding:12px;margin-bottom:15px}.confirm-dialog h2{font-size:19px;margin-bottom:10px}.confirm-dialog p{font-size:12px;line-height:1.9;color:#8a9b90}.confirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.boot-screen{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:24px;background:var(--bg);z-index:100}.boot-screen p{font-size:12px;color:var(--muted)}.spinner{width:20px;height:20px;border:2px solid #c8dfd6;border-top-color:var(--teal);border-radius:50%;display:inline-block;animation:spin .8s linear infinite}#toast-region{position:fixed;top:22px;left:50%;transform:translateX(-50%);z-index:200;display:flex;flex-direction:column;gap:8px;pointer-events:none;max-width:90vw}.toast{padding:12px 20px;background:#173c36;color:white;box-shadow:0 5px 25px #16352c30;border-radius:9px;animation:float-in .25s ease both;font-size:12px}.toast.error{background:#8e4941}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.3}}@keyframes float-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes dialog-in{from{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(min-width:1500px){.content{padding-top:42px}.drop-zone{padding-block:32px}.stat-card{min-height:125px}.page-heading h1{font-size:30px}.upload-section{margin-bottom:30px}}
@media(max-width:1200px){.sidebar{width:205px;padding-inline:15px}.main{margin-left:205px}.content{padding:30px 25px 0}.topbar{padding:0 25px}.stat-detail{display:none}.stat-card{padding:20px 15px;gap:11px}.stat-card strong{font-size:25px}.upload-auto{display:none!important}.file-cell{max-width:260px}.file-title,.file-meta{max-width:215px}.panel-description{display:none}.search-input{width:175px}.review-form-section{padding:24px 22px}}
@media(max-width:950px){.sidebar{width:76px;padding:25px 10px}.sidebar .brand{margin:0 8px 45px}.sidebar .brand>span:last-child,.nav-caption,.nav-count,.tiny-dot,.space-card,.user-block>div,.user-block .icon-btn{display:none}.sidebar .brand-icon{width:38px;height:38px}.nav-item{font-size:0;gap:0;justify-content:center;padding:16px 0}.nav-item svg{width:21px;height:21px}.user-block{justify-content:center}.main{margin-left:76px}.topbar-right{gap:10px}.private-label{display:none}.stats-grid{gap:12px}.stat-card{padding:20px 13px;gap:9px}.stat-icon{width:35px;height:35px}.stat-label{font-size:10px}.file-cell{max-width:230px}.file-title,.file-meta{max-width:180px}.auth-story{padding:40px 10%}.story-copy h1{font-size:31px}.auth-panel{padding-inline:35px}.ticket-art{margin-top:60px}.review-layout{grid-template-columns:49% 51%}.preview-stage{padding:15px}.preview-tip{display:none}}
@media(max-width:700px){.auth-view{display:block}.auth-story{display:none}.auth-panel{min-height:100dvh;padding:35px 26px 85px;justify-content:flex-start}.auth-mobile-brand{display:flex;align-self:flex-start;margin-bottom:45px;font-size:23px}.auth-form-wrap{width:400px}.auth-form-wrap h2{font-size:27px}.auth-footer{left:26px;right:26px;font-size:9px}.auth-footer>span{display:none}.sidebar{width:100%;height:65px;inset:auto 0 0;padding:0 12px;flex-direction:row;background:#153637;align-items:center}.sidebar>.brand,.sidebar-bottom{display:none}.sidebar nav{display:flex;width:100%;justify-content:space-around}.nav-item{display:flex;font-size:10px;flex-direction:column;gap:3px;padding:8px 16px;margin:0}.nav-item.active{box-shadow:none;background:#234849}.nav-item svg{width:19px;height:19px}.main{margin:0 0 65px}.topbar{height:55px;padding-inline:20px;font-size:10px}.topbar-right{font-size:9px}.topbar-right:after{content:""}.content{padding:25px 17px 0}.page-heading{gap:10px;margin-bottom:23px}.page-heading h1{font-size:21px;margin:8px 0}.page-heading .eyebrow{font-size:6px;letter-spacing:1.4px}.page-heading p{font-size:10px;max-width:240px}.page-heading>.btn{padding:0 10px;font-size:10px;height:36px}.page-heading>.btn svg{width:14px;height:14px}.stats-grid{gap:8px;margin-bottom:20px}.stat-card{display:block;padding:13px 12px;min-height:115px}.stat-icon{width:28px;height:28px;margin-bottom:8px;border-radius:8px}.stat-icon svg{width:16px;height:16px}.stat-label{font-size:8px;white-space:nowrap}.stat-card strong{font-size:23px}.stat-unit{font-size:8px;margin-left:4px}.currency{font-size:13px;margin-right:3px}.upload-section{padding:10px 10px 0;margin-bottom:22px}.drop-zone{padding:23px 10px}.drop-zone h2{font-size:13px}.drop-zone p{font-size:10px}.upload-hint{font-size:8px;max-width:240px;text-align:center;line-height:1.9}.upload-footer{gap:0;justify-content:space-between;font-size:8px;padding:12px 2px}.upload-footer svg{width:12px;height:12px}.upload-footer>span{gap:4px}.panel-heading{padding:17px 14px 13px}.panel-heading h2{font-size:13px}.panel-heading .btn{font-size:9px;height:31px;padding:0 8px}.panel-heading .btn svg{width:14px;height:14px}.list-toolbar{padding:0 14px 13px;display:block}.filter-tabs{justify-content:space-between;gap:12px}.filter-tabs button{font-size:10px}.search-input{margin-top:12px;width:100%;max-width:none}table{min-width:630px}.table-footer{padding:12px 14px;font-size:8px}.table-footer>span:last-child{gap:4px}.bottom-tip{align-items:flex-start;font-size:9px}.bottom-tip button{font-size:9px;padding:0}.bottom-tip p{max-width:80%}.main-footer{margin-top:25px;font-size:8px}.rules-grid{grid-template-columns:1fr;gap:15px;margin-top:22px}.rule-card{padding:22px}.review-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:12px}.dialog-heading{padding:14px 17px}.dialog-heading h2{font-size:17px}.review-layout{display:block}.preview-stage{height:330px}.preview-toolbar{padding:8px 12px}.preview-pagination{padding:6px 12px}.review-form-section{padding:22px}.review-actions{position:sticky;bottom:-22px;background:white;padding:12px 0;margin-bottom:-5px;border-top:1px solid #eff3ee}.upload-progress{padding:12px;font-size:10px;gap:10px}.upload-progress p{font-size:9px}.notice{font-size:10px}.empty-state{padding-block:30px}.file-title{max-width:230px}.file-cell{max-width:280px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Desktop readability and whole-ticket preview. */
.preview-stage img{width:auto;max-width:100%;max-height:100%;object-fit:contain}
.preview-stage img.zoom-75{width:75%;max-width:none;max-height:none}
.preview-stage img.zoom-125{width:125%;max-width:none;max-height:none}
.preview-stage img.zoom-150{width:150%;max-width:none;max-height:none}
.preview-stage img.zoom-200{width:200%;max-width:none;max-height:none}
@media(min-width:701px){
.topbar{font-size:12px}.topbar-right{font-size:11px}.stat-label{font-size:12px}.stat-detail{font-size:10px}
.page-heading p{font-size:13px}.drop-zone h2{font-size:16px}.drop-zone p{font-size:12px}.upload-hint{font-size:10px}
.upload-footer{font-size:11px}.upload-auto{font-size:10px}.panel-description{font-size:11px}.filter-tabs button{font-size:12px}
.search-input input{font-size:11px}th{font-size:11px}td{font-size:12px}.file-meta{font-size:10px}.status-badge{font-size:10px}
.row-actions .text-button{font-size:12px}.table-footer{font-size:10px}.bottom-tip{font-size:11px}.bottom-tip button{font-size:11px}
.review-form-section label{font-size:12px}.review-form-section input,.review-form-section select{font-size:13px}
.review-warnings{font-size:11px}.field-help{font-size:11px}.filename-preview p{font-size:13px}.review-actions .btn{font-size:12px}
}

.status-downloaded{background:#e6f4ec;color:#287854}
.panel-heading .download-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.merge-hint{font-size:10px;color:#899c91;padding:0 24px 13px;line-height:1.8}.panel-heading>.download-actions{flex-shrink:0}.panel-heading:has(.download-actions){gap:12px;flex-wrap:wrap}
@media(max-width:700px){.merge-hint{padding-inline:14px;font-size:9px}.panel-heading>.download-actions{margin-left:auto}}
.login-options{display:flex;align-items:center;justify-content:space-between;margin-top:17px;gap:18px}.login-options .checkbox-label{margin:0;font-size:12px;font-weight:400;gap:7px}.login-options .text-button{font-size:12px}.auth-form-wrap #remember-help{margin-top:7px;font-size:10px}.auth-form-wrap #registration-security select{font-size:12px}.auth-form-wrap:has(#registration-security:not([hidden])) .auth-tabs{margin-block:20px 15px}.auth-form-wrap:has(#registration-security:not([hidden])) label{margin-top:12px}.account-dialog{width:min(450px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto}.account-form{padding:22px 26px 26px}.account-form>.muted{font-size:12px;line-height:1.9}.account-form .full{margin-top:24px}.account-form label{font-size:12px}.account-form #recovery-restart{margin-top:18px}.recovery-question{padding:13px 14px;background:#f0f7f3;border:1px solid #dae9df;border-radius:8px;font-size:13px;color:#48785e}.security-reminder{align-items:center;background:#eff7f3;border-color:#d6e9de;color:#58816c}.security-reminder>.text-button{margin-left:auto;white-space:nowrap}.trip-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:20px 22px;margin-bottom:22px;box-shadow:var(--shadow)}.trip-identity{display:flex;align-items:center;gap:14px;min-width:0}.trip-identity>div{min-width:0}.trip-icon{width:44px;height:44px;border-radius:12px;background:#edf5ef;color:#729782}.trip-identity .eyebrow{font-size:8px;letter-spacing:1px}.trip-identity h2{font-size:17px;font-weight:600;margin-top:3px;overflow-wrap:anywhere}.trip-identity p{font-size:11px;color:#98a79d;margin-top:4px}.trip-actions{display:flex;gap:10px;flex-shrink:0}.trip-actions .btn{font-size:11px;height:36px;padding-inline:12px}.history-trip-group{width:260px;max-width:45%;flex-shrink:0}.history-trip-group label{font-size:10px;margin:0 0 5px;color:#92a295}.history-trip-group select{height:37px;font-size:12px}.trip-meta{font-size:9px;color:#8eaa95;margin-left:5px}
@media(max-width:1100px){.trip-bar{align-items:flex-start;flex-wrap:wrap}.trip-actions{margin-left:auto}.panel-heading>div{flex-wrap:wrap;gap:5px}.filter-tabs{gap:12px}.filter-tabs button{font-size:11px}}
@media(max-width:700px){.trip-bar{padding:16px;gap:15px}.trip-identity h2{font-size:15px}.trip-identity p{font-size:10px}.trip-actions{width:100%;justify-content:flex-end}.history-trip-group{width:100%;max-width:none}.account-form{padding:20px}.security-reminder{font-size:10px}.filter-tabs{gap:10px;overflow-x:auto;justify-content:flex-start}.sidebar #open-security{padding-inline:10px;font-size:9px}}

/* Batch actions and a single, clearly labelled upload entry. */
.danger-outline{color:var(--red);background:#fff;border:1px solid #ecd4d4}.danger-outline:hover:not(:disabled){background:#fff5f4;border-color:#d7a5a5}
.content:has(#workspace-view:not([hidden])){padding-top:26px}
@media(max-width:700px){.content:has(#workspace-view:not([hidden])){padding-top:20px}}
.panel-heading>.download-actions{align-items:center}.panel-heading>.download-actions #delete-selected{margin-right:8px}
@media(max-width:700px){.panel-heading>.download-actions{width:100%;justify-content:flex-start;margin-left:0}.panel-heading>.download-actions #delete-selected{margin-right:0}}

.onboarding{padding:24px;background:#f3faf6;border:1px solid #cfe4d7;border-radius:12px;margin-bottom:24px}.guide-heading{display:flex;justify-content:space-between;gap:18px;align-items:center}.guide-heading h2{font-size:21px;margin-top:4px}.guide-heading p,.guide-steps p{color:#647c70;font-size:12px;margin-top:6px}.guide-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;list-style:none;padding:0;margin:22px 0}.guide-steps b{font-size:13px}.guide-foot{border-top:1px solid #d7e7dc;padding-top:14px;font-size:11px;color:#617c6c}.daily-upload-usage{font-size:12px;color:#607c70;padding:0 4px 12px}.onboarding .eyebrow{font-size:10px}
@media(max-width:1050px){.guide-steps{grid-template-columns:1fr 1fr}}@media(max-width:700px){.onboarding{padding:18px}.guide-heading{align-items:flex-start}.guide-heading h2{font-size:18px}.guide-steps{grid-template-columns:1fr;gap:14px}.daily-upload-usage{font-size:10px}}

@media(max-width:700px){.sidebar .nav-item{flex:1;min-width:0;padding:8px 3px;font-size:9px;white-space:nowrap}.sidebar .nav-count{display:none}}

.preview-stage{scrollbar-gutter:stable;overscroll-behavior:contain}.preview-stage img{max-width:none;max-height:none;height:auto;overflow-anchor:none}

#today-label{white-space:nowrap;font-variant-numeric:tabular-nums}
@media(max-width:700px){.topbar{gap:10px;padding-inline:14px}.breadcrumb-slash{margin-inline:7px}.topbar-right{flex-shrink:0}}

.site-notice{position:sticky;top:0;z-index:40;padding:14px 24px;background:#fff3d8;border-bottom:1px solid #ebd9ad;color:#624c25;display:flex;flex-wrap:wrap;gap:8px 16px;font-size:13px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.site-notice strong{flex-shrink:0}.site-notice #site-notice-text{flex:1;min-width:200px}.maintenance-screen{position:fixed;inset:0;z-index:100;background:#f3f6f3;display:grid;place-items:center;padding:24px}.maintenance-card{max-width:560px;background:white;border:1px solid var(--line);border-radius:18px;padding:44px;box-shadow:var(--shadow)}.maintenance-card h1{font-size:28px;margin:24px 0}.maintenance-card p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9;margin:12px 0}.maintenance-card small{display:block;color:#728477;line-height:1.8}.maintenance-card>div{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}#maintenance-content{width:100%;resize:vertical;min-height:110px;border:1px solid var(--line);border-radius:8px;padding:12px;font:inherit;font-size:13px;line-height:1.7}.maintenance-tasks{margin-top:18px;padding:12px;border-radius:8px;background:#f0f6f2;font-size:12px;line-height:1.8}.site-notice[hidden],.maintenance-screen[hidden],#open-maintenance[hidden]{display:none}

@media(min-width:701px){.sidebar{top:var(--notice-height,0px)}}

body.maintenance-active{overflow:hidden}.maintenance-screen{overflow:auto}.maintenance-card{width:min(560px,100%)}

.analytics-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:8px 0 26px}.analytics-heading h1{font-size:25px;margin:8px 0}.analytics-heading p{font-size:12px;color:var(--muted)}.analytics-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.analytics-cards article{padding:22px 24px;border:1px solid var(--line);border-radius:12px;background:white;box-shadow:var(--shadow)}.analytics-cards span{display:block;color:#667e79;font-size:12px}.analytics-cards strong{display:block;font-size:32px;line-height:1.3;margin:12px 0;font-weight:600;font-variant-numeric:tabular-nums}.analytics-cards small{font-size:11px;color:#8b9a95}.analytics-breakdown{display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding:18px 22px;margin:16px 0 26px;border:1px solid #dce9e4;border-radius:10px;background:#eef6f2;font-size:12px}.analytics-breakdown>span{color:#668377}.analytics-breakdown b{font-weight:500}.analytics-breakdown em{font-style:normal;font-weight:650;margin-left:10px;color:var(--teal)}.analytics-panel{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:24px;box-shadow:var(--shadow)}.analytics-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid var(--line)}.analytics-panel-heading h2{font-size:15px;font-weight:600}.analytics-panel-heading>span{font-size:11px;color:var(--muted)}.analytics-search{display:flex;gap:8px;width:300px;max-width:60%}.analytics-search input{height:36px;font-size:12px}.analytics-search .btn{height:36px;font-size:12px}.analytics-user-table{min-width:1100px}.analytics-panel th,.analytics-panel td{white-space:nowrap;text-align:left}.analytics-panel td{font-size:12px;padding-block:15px;font-variant-numeric:tabular-nums}.analytics-panel td small{display:block;color:#8c9e95;font-size:10px}.analytics-panel td .analytics-time{display:block;font-size:11px;color:#7e9388}.analytics-panel td:first-child{max-width:220px;overflow:hidden;text-overflow:ellipsis}.analytics-pagination{padding:15px 24px;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:12px;color:var(--muted)}.analytics-pagination>div{display:flex;gap:10px}.analytics-pagination .btn{height:32px;font-size:11px}.analytics-notes{font-size:11px;line-height:1.9;color:#81958b;margin-top:8px}.analytics-notes p+p{margin-top:6px}#open-analytics[hidden]{display:none}
@media(max-width:700px){.analytics-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.analytics-cards article{padding:16px}.analytics-cards strong{font-size:25px}.analytics-cards small{font-size:10px}.analytics-heading h1{font-size:21px}.analytics-breakdown{gap:12px 18px;padding:16px}.analytics-panel-heading{padding:16px}.analytics-search{max-width:65%}.analytics-panel-heading>span{max-width:50%;text-align:right}.analytics-pagination{padding:14px}.analytics-panel td:first-child{max-width:150px}}

.analytics-panel tbody tr{animation:none}.analytics-panel .view-user-files{height:30px;font-size:11px;padding:0 10px}.admin-files-dialog{width:min(1180px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto}.admin-files-toolbar{padding:18px 24px;display:flex;justify-content:space-between;gap:20px;align-items:center}.admin-files-toolbar>p{font-size:12px;color:var(--muted);max-width:60%}.admin-files-table{min-width:900px}.admin-files-table td{vertical-align:top;color:#37564d}.admin-files-table td:first-child{max-width:320px;min-width:250px;overflow-wrap:anywhere}.admin-files-table td small{display:block;color:#8a9d91;font-size:10px;line-height:1.7;margin-top:4px}.admin-files-table td:nth-child(2){max-width:180px;overflow-wrap:anywhere}.admin-files-table td:nth-child(3){white-space:nowrap;font-size:11px}.admin-files-table td:last-child{white-space:nowrap}.admin-files-table .btn{height:30px;font-size:11px;padding:0 10px}.admin-files-table tbody tr{animation:none}#admin-files-error{margin:0 24px 16px}.admin-preview-dialog{width:min(1120px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto}.admin-preview-dialog h2{font-size:16px;overflow-wrap:anywhere}.admin-preview-layout{display:grid;grid-template-columns:62% 38%}.admin-preview-layout>section{min-width:0}.admin-preview-stage{background:#edf1ee;height:570px;overflow:auto;padding:20px;display:flex;align-items:flex-start;justify-content:center}.admin-preview-stage img{max-width:100%;height:auto;box-shadow:0 3px 18px #173d3718}.admin-preview-stage>p{margin:auto;font-size:13px;color:#789083;padding:20px}.admin-file-details{padding:26px}.admin-file-details h3{font-size:15px;margin-bottom:18px}.admin-file-details dl{display:grid;grid-template-columns:70px 1fr;gap:12px;font-size:12px}.admin-file-details dt{color:#86998c}.admin-file-details dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.admin-file-details>.btn{margin-top:24px}.admin-file-details .raw-details pre{max-height:180px}.admin-files-dialog .dialog-heading h2{overflow-wrap:anywhere}
@media(max-width:700px){.admin-files-toolbar{align-items:stretch;flex-direction:column;padding:16px}.admin-files-toolbar>p{max-width:none}.admin-files-toolbar .analytics-search{max-width:none;width:100%}.admin-preview-layout{grid-template-columns:1fr}.admin-preview-stage{height:360px}.admin-file-details{padding:20px}}

.admin-files-table .analytics-time{display:block;color:#7e9388;font-size:11px}
