:root{color:#0f2744;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--navy:#0f2744;--navy-2:#193b63;--yellow:#ffcd11;--yellow-soft:#fff8d7;--canvas:#f4f6f8;--surface:#fff;--surface-subtle:#f8fafc;--text:#10243d;--muted:#66758a;--quiet:#94a0ae;--line:#e5eaf0;--line-strong:#d5dde6;--success:#16794a;--success-soft:#eaf7f0;--warning:#9a6500;--warning-soft:#fff4da;--danger:#b3261e;--danger-soft:#fff0ef;--info-soft:#eef5fb;--shadow-sm:0 1px 2px #0f27440a, 0 8px 26px #0f27440d;--shadow-lg:0 24px 70px #0f27442e;--radius-sm:12px;--radius-md:18px;--radius-lg:24px;--content:1180px;background:#f4f6f8;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html{background:var(--canvas);min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;color:var(--text);background:var(--canvas);margin:0;overflow-x:hidden}body,button,input,textarea,select{font:inherit}button,input,textarea,select{-webkit-tap-highlight-color:transparent}button{color:inherit}button:not(:disabled){cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #ffcd1180}h1,h2,h3,p,ul,dl,dd{margin:0}button{background:0 0;border:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.eyebrow{color:var(--navy-2);letter-spacing:.11em;text-transform:uppercase;font-size:12px;font-weight:750}.eyebrow--light{color:#ffffffa3}.button{letter-spacing:-.01em;border:1px solid #0000;border-radius:13px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 18px;font-size:14px;font-weight:720;text-decoration:none;transition:transform .16s,box-shadow .16s,background .16s,border-color .16s;display:inline-flex}.button:not(:disabled):active{transform:scale(.98)}.button:disabled{opacity:.48}.button--primary{color:var(--navy);background:var(--yellow);box-shadow:0 8px 20px #ffcd112e}.button--primary:not(:disabled):hover{background:#ffd62f;box-shadow:0 10px 26px #ffcd113d}.button--secondary{color:var(--navy);background:var(--surface);border-color:var(--line-strong)}.button--secondary:not(:disabled):hover,.button--ghost:not(:disabled):hover{background:var(--surface-subtle);border-color:#c4cfdb}.button--ghost{color:var(--navy);background:0 0;border-color:#0000}.button--danger{color:#fff;background:var(--danger)}.button--wide{width:100%}.icon-button{width:36px;height:36px;color:var(--muted);border-radius:11px;flex:0 0 36px;justify-content:center;align-items:center;transition:color .15s,background .15s;display:inline-flex}.icon-button:hover{color:var(--navy);background:#edf1f5}.brand-mark{color:var(--navy);align-items:center;gap:10px;display:inline-flex}.brand-mark__icon{width:39px;height:39px;color:var(--navy);background:var(--yellow);border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.brand-mark__name{letter-spacing:-.03em;font-size:18px;font-weight:780}.brand-mark--compact .brand-mark__icon{border-radius:10px;width:34px;height:34px}.status-badge{white-space:nowrap;border-radius:999px;align-items:center;min-height:25px;padding:0 9px;font-size:11px;font-weight:700;display:inline-flex}.status-badge--neutral{color:#536276;background:#eef2f6}.status-badge--warning{color:var(--warning);background:var(--warning-soft)}.status-badge--success{color:var(--success);background:var(--success-soft)}.status-badge--danger{color:var(--danger);background:var(--danger-soft)}.notice{border:1px solid #0000;border-radius:14px;align-items:flex-start;gap:10px;padding:13px 15px;font-size:13px;line-height:1.55;display:flex}.notice>svg{flex:none;margin-top:1px}.notice>div{flex:1}.notice--success{color:var(--success);background:var(--success-soft);border-color:#cfecdc}.notice--danger{color:var(--danger);background:var(--danger-soft);border-color:#f4d4d1}.notice--info{color:var(--navy-2);background:var(--info-soft);border-color:#d9e8f4}.inline-action{color:inherit;text-underline-offset:3px;margin-left:10px;padding:0;font-weight:750;text-decoration:underline}.field{flex-direction:column;gap:8px;min-width:0;display:flex;position:relative}.field>span{color:#34465c;align-items:center;gap:6px;font-size:13px;font-weight:680;display:flex}.field>span small{color:var(--quiet);font-size:11px;font-weight:560}.field input,.field textarea,.field select{border:1px solid var(--line-strong);width:100%;min-height:48px;color:var(--text);background:#fff;border-radius:13px;padding:12px 14px;transition:border-color .15s,box-shadow .15s,background .15s;box-shadow:0 1px 1px #0f274405}.field textarea{resize:vertical;min-height:96px;line-height:1.6}.field select{appearance:none;background-image:linear-gradient(45deg,#0000 50%,#748397 50%),linear-gradient(135deg,#748397 50%,#0000 50%);background-position:calc(100% - 18px) 21px,calc(100% - 13px) 21px;background-repeat:no-repeat;background-size:5px 5px,5px 5px}.field input:hover,.field textarea:hover,.field select:hover{border-color:#b8c4d0}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--navy-2);outline:0;box-shadow:0 0 0 3px #0f274414}.field input:disabled,.field textarea:disabled,.field select:disabled{color:#58677a;background:#f2f4f7}.field input::placeholder,.field textarea::placeholder{color:#a2acb8}.field.has-error input,.field.has-error textarea,.field.has-error select{background:snow;border-color:#dd7d77}.field-error{color:var(--danger);font-size:11px}.field-help{color:var(--quiet);font-size:10px;position:absolute;bottom:8px;right:9px}.stack{flex-direction:column;gap:12px;display:flex}.skeleton-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;gap:14px;min-height:112px;padding:24px;display:flex}.skeleton-line{background:#e9edf2;border-radius:999px;height:12px;animation:1.35s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.48}}.empty-state{border:1px solid var(--line);border-radius:var(--radius-lg);text-align:center;background:var(--surface);flex-direction:column;justify-content:center;align-items:center;min-height:290px;padding:42px 24px;display:flex}.empty-state--compact{min-height:190px}.empty-state__icon{width:48px;height:48px;color:var(--navy);background:var(--yellow-soft);border-radius:16px;justify-content:center;align-items:center;margin-bottom:17px;display:inline-flex}.empty-state h3{letter-spacing:-.02em;margin-bottom:8px;font-size:18px}.empty-state p{max-width:420px;color:var(--muted);font-size:13px;line-height:1.65}.empty-state__action{margin-top:22px}.auth-page{min-height:100vh;padding:max(28px, env(safe-area-inset-top)) max(28px, env(safe-area-inset-right)) max(28px, env(safe-area-inset-bottom)) max(28px, env(safe-area-inset-left));background:var(--navy);grid-template-columns:minmax(0,1.1fr) minmax(420px,.9fr);display:grid}.auth-intro{color:#fff;flex-direction:column;justify-content:space-between;min-height:calc(100vh - 56px);padding:20px clamp(20px,5vw,82px) 28px 20px;display:flex}.auth-intro .brand-mark{color:#fff}.auth-intro__content{max-width:660px}.auth-intro__content h1{letter-spacing:-.055em;max-width:620px;margin:14px 0 24px;font-size:clamp(42px,5vw,76px);font-weight:750;line-height:1.06}.auth-intro__content>p:last-child{color:#ffffffa8;max-width:520px;font-size:17px;line-height:1.75}.auth-benefits{color:#ffffffbf;flex-wrap:wrap;gap:24px;padding:0;font-size:13px;list-style:none;display:flex}.auth-benefits li{align-items:center;gap:8px;display:flex}.auth-benefits svg{color:var(--yellow)}.auth-panel{min-height:calc(100vh - 56px);box-shadow:var(--shadow-lg);background:#fff;border-radius:30px;flex-direction:column;justify-content:center;display:flex}.auth-panel__body{width:min(100% - 64px,390px);margin:auto}.auth-panel__icon{width:48px;height:48px;color:var(--navy);background:var(--yellow);border-radius:15px;justify-content:center;align-items:center;margin-bottom:28px;display:inline-flex}.auth-panel h2{letter-spacing:-.04em;margin:9px 0 10px;font-size:30px}.auth-panel__lead{color:var(--muted);margin-bottom:28px;font-size:14px;line-height:1.6}.auth-panel .notice{margin-bottom:18px}.auth-form{flex-direction:column;gap:17px;display:flex}.auth-form .button{margin-top:4px}.auth-alternative{color:var(--quiet);align-items:center;gap:13px;margin-top:22px;font-size:12px;display:flex}.auth-alternative:before,.auth-alternative:after{background:var(--line);content:"";flex:1;height:1px}.auth-alternative a{color:var(--navy-2);white-space:nowrap;font-weight:680;text-decoration:none}.demo-login{color:var(--muted);text-underline-offset:3px;align-items:center;gap:5px;margin:18px auto 0;padding:8px;font-size:12px;text-decoration:underline;display:flex}.admin-users-page>.notice{margin-bottom:14px}.admin-user-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:24px;display:grid}.admin-user-summary article{border:1px solid var(--line);min-height:84px;box-shadow:var(--shadow-sm);background:#fff;border-radius:17px;align-items:center;gap:13px;padding:18px;display:flex}.admin-user-summary article>svg{width:39px;height:39px;color:var(--navy);background:var(--yellow-soft);border-radius:12px;padding:10px}.admin-user-summary article span{color:var(--muted);flex-direction:column;gap:2px;font-size:10px;display:flex}.admin-user-summary article strong{color:var(--text);font-size:22px;line-height:1}.admin-user-card{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;overflow:hidden}.admin-user-toolbar{border-bottom:1px solid var(--line);background:var(--surface-subtle);align-items:center;gap:9px;padding:18px;display:flex}.admin-user-search{border:1px solid var(--line-strong);min-height:44px;color:var(--muted);background:#fff;border-radius:13px;flex:1;align-items:center;gap:10px;padding:0 14px;display:flex}.admin-user-search:focus-within{border-color:var(--navy-2);box-shadow:0 0 0 3px #0f274414}.admin-user-search input{width:100%;min-width:0;color:var(--text);background:0 0;border:0;outline:0;font-size:13px}.admin-user-loading{grid-template-columns:1fr 1fr;gap:12px;padding:18px;display:grid}.admin-user-list{flex-direction:column;display:flex}.admin-user-row{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(200px,1.5fr) minmax(150px,1fr) minmax(118px,.7fr) auto auto;align-items:center;gap:15px;min-height:82px;padding:13px 18px;display:grid}.admin-user-row:last-child{border-bottom:0}.admin-user-row.is-disabled{background:#fafbfc}.admin-user-avatar{color:#fff;background:var(--navy);border-radius:13px;justify-content:center;align-items:center;width:40px;height:40px;font-size:14px;font-weight:760;display:inline-flex}.admin-user-row.is-disabled .admin-user-avatar{background:#9aa6b4}.admin-user-identity{min-width:0}.admin-user-identity>div{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.admin-user-identity strong{font-size:13px}.admin-user-identity p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:10px;overflow:hidden}.user-state{min-height:21px;color:var(--warning);background:var(--warning-soft);border-radius:999px;align-items:center;gap:4px;padding:0 7px;font-size:9px;font-weight:680;display:inline-flex}.user-state--disabled{color:var(--danger);background:var(--danger-soft)}.admin-user-roles{flex-wrap:wrap;gap:5px;display:flex}.admin-user-roles span{color:var(--navy-2);background:var(--info-soft);border-radius:7px;padding:5px 7px;font-size:9px;font-weight:650}.admin-user-link{color:var(--muted);white-space:nowrap;align-items:center;gap:5px;font-size:9px;display:flex}.admin-user-meta{color:var(--quiet);white-space:nowrap;font-size:9px}.admin-user-actions{gap:2px;display:flex}.admin-user-form{flex-direction:column;gap:22px;display:flex}.admin-user-form__grid{grid-template-columns:1fr 1fr;gap:15px;display:grid}.admin-user-form__span{grid-column:1/-1}.role-picker{border:0;min-width:0;padding:0}.role-picker legend,.admin-user-link-fields>p{color:#34465c;margin-bottom:10px;font-size:13px;font-weight:680}.role-picker>div{flex-wrap:wrap;gap:7px;display:flex}.role-option{border:1px solid var(--line);min-height:34px;color:var(--muted);background:#fff;border-radius:10px;align-items:center;padding:0 11px;font-size:10px;font-weight:650;display:inline-flex}.role-option.is-selected{color:var(--navy);background:var(--yellow-soft);border-color:#e8c12c}.role-option input{opacity:0;width:1px;height:1px;position:absolute}.admin-user-link-fields{background:var(--surface-subtle);border-radius:15px;grid-template-columns:1fr 1fr;gap:13px;padding:16px;display:grid}.admin-user-link-fields>p{grid-column:1/-1;align-items:center;gap:6px;margin-bottom:0;display:flex}.admin-user-link-fields>p small{color:var(--quiet);font-size:9px;font-weight:560}.admin-user-active{border:1px solid var(--line);border-radius:13px;align-items:flex-start;gap:10px;padding:14px;display:flex}.admin-user-active input{width:17px;height:17px;accent-color:var(--navy);margin:1px 0 0}.admin-user-active span{flex-direction:column;gap:3px;display:flex}.admin-user-active strong{font-size:11px}.admin-user-active small{color:var(--muted);font-size:9px}.auth-panel__footer{border-top:1px solid var(--line);color:var(--quiet);justify-content:center;align-items:center;gap:7px;padding:23px 30px;font-size:11px;display:flex}.auth-page--loading{justify-content:center;align-items:center;display:flex}.auth-loading{color:#fff;text-align:center;flex-direction:column;align-items:center;display:flex}.auth-loading__mark{margin-bottom:50px}.auth-loading>svg{color:var(--yellow);margin-bottom:20px}.auth-loading h1{margin-bottom:8px;font-size:22px}.auth-loading p{color:#ffffff94;font-size:13px}.app-shell{min-height:100vh}.topbar{z-index:50;padding-top:env(safe-area-inset-top);-webkit-backdrop-filter:saturate(180%)blur(18px);background:#ffffffeb;border-bottom:1px solid #dae1e9d9;position:sticky;top:0}.topbar__inner{width:min(calc(100% - 48px), var(--content));align-items:center;gap:16px;min-height:64px;margin:0 auto;display:flex}.brand-button{color:inherit;border-radius:14px;align-items:center;padding:3px;text-decoration:none;display:inline-flex}.brand-button:hover{background:#f5f7f9}.brand-button:focus-visible{outline-offset:2px;outline:3px solid #ffcd1180}.topbar-nav{align-items:center;gap:5px;margin-left:18px;display:flex}.topbar-nav button{min-height:38px;color:var(--muted);border-radius:12px;align-items:center;gap:7px;padding:0 12px;font-size:12px;font-weight:680;display:inline-flex}.topbar-nav button:hover{color:var(--navy);background:#f4f6f8}.topbar-nav button.is-active{color:var(--navy);background:var(--yellow-soft)}.topbar-nav button:focus-visible{outline-offset:1px;outline:3px solid #ffcd1180}.app-menu{margin-left:auto;position:relative}.app-menu>summary{width:38px;height:38px;color:var(--muted);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;list-style:none;transition:color .15s,background .15s;display:inline-flex}.app-menu>summary::-webkit-details-marker{display:none}.app-menu>summary:hover,.app-menu[open]>summary{color:var(--navy);background:#f1f4f7}.app-menu>summary:focus-visible{outline-offset:2px;outline:3px solid #ffcd1180}.app-menu__panel{z-index:70;border:1px solid var(--line);-webkit-backdrop-filter:blur(18px);background:#fffffffa;border-radius:15px;gap:2px;width:168px;padding:6px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 46px #0f274429}.app-menu__panel button{width:100%;min-height:40px;color:var(--text);text-align:left;border-radius:10px;align-items:center;gap:9px;padding:0 11px;font-size:12px;font-weight:650;display:flex}.app-menu__panel button:hover{background:#f3f6f8}.access-screen{min-height:100dvh;color:var(--muted);background:var(--canvas);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:24px;display:flex}.access-screen__mark{background:var(--yellow);border-radius:15px;width:46px;height:46px;animation:1.8s ease-in-out infinite access-pulse;position:relative;box-shadow:0 12px 30px #ffcd1140}.access-screen__mark:before{border:2px solid var(--navy);content:"";border-radius:3px;position:absolute;inset:12px 14px}.access-screen__mark:after{background:var(--navy);width:10px;height:2px;box-shadow:0 5px 0 var(--navy), 0 10px 0 var(--navy);content:"";position:absolute;top:17px;left:18px}.access-screen p{font-size:12px}@keyframes access-pulse{50%{transform:translateY(-2px);box-shadow:0 16px 34px #ffcd1152}}.app-main{min-height:calc(100vh - 65px - env(safe-area-inset-top))}.page{width:min(calc(100% - 48px), var(--content));margin:0 auto;padding:58px 0 90px}.page-header{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:34px;display:flex}.page-header h1{letter-spacing:-.045em;margin-top:9px;font-size:clamp(30px,4vw,44px);font-weight:750;line-height:1.1}.page-header__description{color:var(--muted);margin-top:11px;font-size:14px}.section-block{margin-top:50px}.section-block--flush{margin-top:26px}.section-heading{justify-content:space-between;align-items:flex-end;margin-bottom:18px;display:flex}.section-heading h2{letter-spacing:-.03em;margin-top:7px;font-size:23px}.section-heading__hint{color:var(--quiet);font-size:11px}.page--home .page-header{margin-bottom:26px}.page--home .section-block--flush{margin-top:0}.history-tools{justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.history-search{border:1px solid var(--line-strong);width:min(100%,340px);min-height:42px;color:var(--quiet);background:var(--surface);border-radius:13px;align-items:center;gap:9px;padding:0 12px;display:flex}.history-search:focus-within{border-color:#92a4b6;box-shadow:0 0 0 3px #143a5c14}.history-search input{min-width:0;color:var(--text);background:0 0;border:0;outline:0;flex:1;font-size:12px}.history-search button{width:26px;height:26px;color:var(--quiet);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.history-search button:hover{color:var(--navy);background:#f1f4f7}.history-filters{background:#eef2f5;border-radius:13px;align-items:center;gap:4px;padding:4px;display:flex}.history-filters button{min-height:34px;color:var(--muted);border-radius:10px;align-items:center;gap:6px;padding:0 10px;font-size:11px;font-weight:660;display:inline-flex}.history-filters button span{color:var(--quiet);font-size:9px}.history-filters button.is-active{color:var(--navy);background:#fff;box-shadow:0 2px 8px #0f274414}.reimbursement-list{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);overflow:hidden}.reimbursement-row{text-align:left;grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center;gap:16px;width:100%;padding:18px 20px;transition:background .15s;display:grid;position:relative}.reimbursement-row__open{z-index:1;border-radius:inherit;width:100%;position:absolute;inset:0}.reimbursement-row__open:focus-visible{outline-offset:-3px;outline:3px solid #143a5c47}.reimbursement-row__delete{z-index:2;color:var(--quiet);position:relative}.reimbursement-row__delete:hover{color:#a13232;background:#fff0f0}.reimbursement-row+.reimbursement-row{border-top:1px solid var(--line)}.reimbursement-row:hover{background:#fafbfd}.document-symbol{border-radius:13px;flex:0 0 42px;justify-content:center;align-items:center;width:42px;height:42px;font-size:13px;font-weight:800;display:inline-flex}.document-symbol--expense{color:var(--navy);background:var(--yellow-soft)}.document-symbol--travel{color:#fff;background:var(--navy)}.reimbursement-row__main{min-width:0}.reimbursement-row__title-line{align-items:center;gap:10px;min-width:0;display:flex}.reimbursement-row__title-line>strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.reimbursement-row__meta{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:6px;font-size:11px;display:block;overflow:hidden}.reimbursement-row__amount{flex-direction:column;align-items:flex-end;min-width:100px;display:flex}.reimbursement-row__amount strong{font-size:14px}.reimbursement-row__amount small{color:var(--quiet);margin-top:5px;font-size:10px}.reimbursement-row__arrow{color:#abb4bf}.editor-page{padding-top:28px;padding-bottom:132px}.editor-back{justify-content:space-between;align-items:center;min-height:34px;margin-bottom:20px;display:flex}.editor-back button{color:var(--muted);align-items:center;gap:7px;padding:7px 0;font-size:12px;font-weight:650;display:inline-flex}.editor-back button:hover{color:var(--navy)}.editor-back>span{color:var(--quiet);font-size:11px}.editor-hero{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;display:flex}.editor-hero h1{letter-spacing:-.05em;margin:8px 0 10px;font-size:clamp(30px,4vw,43px);line-height:1.08}.editor-hero>div>p:last-child{color:var(--muted);font-size:13px}.type-select{border:1px solid var(--line);min-height:42px;color:var(--navy);background:#ffffffd1;border-radius:14px;flex:none;align-items:center;gap:8px;padding:0 13px;display:inline-flex;position:relative;box-shadow:0 2px 8px #0f27440a}.type-select select{appearance:none;min-width:86px;color:inherit;background:linear-gradient(45deg,#0000 50%,currentColor 50%) calc(100% - 5px) 54%/5px 5px no-repeat,linear-gradient(135deg,currentColor 50%,#0000 50%) 100% 54%/5px 5px no-repeat;border:0;outline:0;padding:0 17px 0 0;font-size:12px;font-weight:720}.type-select select:disabled{opacity:.55}.editor-page>.notice{margin-bottom:16px}.editor-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:20px;display:grid}.editor-content{flex-direction:column;gap:16px;min-width:0;display:flex}.form-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);padding:28px}.form-card__header{align-items:flex-start;gap:13px;margin-bottom:25px;display:flex}.step-number{width:34px;height:34px;color:var(--navy);background:var(--yellow-soft);border-radius:11px;flex:0 0 34px;justify-content:center;align-items:center;font-size:11px;font-weight:800;display:inline-flex}.form-card__header h2{letter-spacing:-.025em;margin:1px 0 5px;font-size:18px}.form-card__header p{color:var(--muted);font-size:11px;line-height:1.55}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.field--span-2{grid-column:span 2}.travel-card{border-color:#dbe6f0}.upload-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;display:grid}.upload-grid .upload-zone:last-child:nth-child(3){grid-column:span 2}.upload-grid--single .upload-zone{grid-column:1/-1}.upload-zone{cursor:pointer;background:#fbfcfd;border:1.5px dashed #c7d1dc;border-radius:16px;flex-direction:column;min-width:0;transition:border-color .15s,background .15s;display:flex;position:relative;overflow:visible}.upload-zone.is-disabled{pointer-events:none}.upload-zone.is-disabled .upload-zone:focus-within{border-color:var(--navy-2);box-shadow:0 0 0 4px #193b631a}.upload-zone__icon{width:41px;height:41px;color:var(--navy);background:var(--yellow-soft);border-radius:13px;flex:0 0 41px;justify-content:center;align-items:center;display:inline-flex}.upload-zone__copy{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.upload-zone__copy strong{font-size:14px}.upload-zone__copy small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.match-card__heading-copy{flex:1;min-width:0}.match-card__run{white-space:nowrap;flex:none}.upload-zone__count{color:var(--navy-2);font-size:11px;font-weight:720}.file-list{border-top:1px solid var(--line);flex-direction:column;gap:7px;margin-top:17px;padding-top:17px;display:flex}.file-row{background:#f8fafc;border-radius:12px;align-items:center;gap:10px;min-width:0;min-height:54px;padding:8px 10px;display:flex}.file-row--queued{background:var(--yellow-soft)}.file-row--failed{color:var(--danger);background:var(--danger-soft)}.file-row__icon{width:28px;height:28px;color:var(--navy);background:#fff;border-radius:9px;flex:0 0 28px;justify-content:center;align-items:center;display:inline-flex}.file-row__main{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.file-row__main strong,.file-row__main small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-row__main strong{font-size:11px}.file-row__main small{color:var(--muted);font-size:9px}.file-row__amount{flex:none;font-size:11px}.inline-empty{border:1px dashed var(--line-strong);min-height:95px;color:var(--muted);border-radius:15px;justify-content:center;align-items:center;gap:10px;font-size:12px;display:flex}.match-list{flex-direction:column;gap:9px;display:flex}.match-row{border:1px solid var(--line);background:#fbfcfd;border-radius:15px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:14px;display:grid}.match-row.is-ready{background:#fbfefc;border-color:#cfe8da}.match-row__invoice,.match-row__payment{align-items:center;gap:10px;min-width:0;display:flex}.match-row__symbol{width:34px;height:34px;color:var(--navy);background:var(--yellow-soft);border-radius:10px;flex:0 0 34px;justify-content:center;align-items:center;display:inline-flex}.match-row__invoice>div,.match-row__payment>div{flex-direction:column;gap:3px;min-width:0;display:flex}.match-row p,.match-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.match-row p{color:var(--muted);font-size:9px}.match-row strong{font-size:12px}.match-row small{color:var(--quiet);font-size:8px}.match-row__chevron{color:#b4bec9}.match-status-dot{background:#bdc5cf;border-radius:50%;flex:0 0 9px;width:9px;height:9px;box-shadow:0 0 0 4px #eef1f4}.match-status-dot.is-warning{box-shadow:0 0 0 4px var(--warning-soft);background:#e0a219}.match-status-dot.is-ready{background:var(--success);box-shadow:0 0 0 4px var(--success-soft)}.match-row__action{border:1px solid var(--line-strong);min-height:34px;color:var(--navy);white-space:nowrap;background:#fff;border-radius:10px;padding:0 10px;font-size:10px;font-weight:720}.match-row__action:disabled{opacity:.4}.editor-summary{top:calc(91px + env(safe-area-inset-top));flex-direction:column;gap:12px;display:flex;position:sticky}.summary-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);padding:23px}.summary-total{flex-direction:column;margin-top:20px;display:flex}.summary-total>span{color:var(--muted);font-size:11px}.summary-total strong{letter-spacing:-.04em;margin:7px 0 4px;font-size:29px}.summary-total small{color:var(--quiet);font-size:10px}.summary-divider{background:var(--line);height:1px;margin:20px 0}.check-list{flex-direction:column;gap:13px;padding:0;list-style:none;display:flex}.check-list li{color:var(--muted);align-items:center;gap:8px;display:flex}.check-list li.is-ready{color:var(--success)}.check-list li span{color:var(--text);flex:1;font-size:11px}.check-list li small{font-size:9px}.summary-hint{color:var(--warning);background:var(--warning-soft);border-radius:11px;align-items:flex-start;gap:8px;margin-top:18px;padding:11px;font-size:10px;line-height:1.5;display:flex}.summary-hint svg{flex:none}.summary-note{color:#ffffffb8;background:var(--navy);border-radius:16px;align-items:flex-start;gap:10px;padding:16px;display:flex}.summary-note svg{color:var(--yellow);flex:none}.summary-note p{font-size:9px;line-height:1.65}.summary-note strong{color:#fff;margin-bottom:3px;font-size:10px;display:block}.editor-actions{z-index:45;padding-bottom:env(safe-area-inset-bottom);-webkit-backdrop-filter:blur(18px);background:#fffffff0;border-top:1px solid #d5dde6e6;position:fixed;bottom:0;left:0;right:0}.editor-actions__inner{width:min(calc(100% - 48px), var(--content));justify-content:flex-end;align-items:center;gap:20px;min-height:78px;margin:0 auto;display:flex}.editor-actions__buttons{gap:8px;display:flex}.editor-steps{grid-template-columns:repeat(3,1fr);width:min(100%,620px);margin:4px auto 34px;display:grid;position:relative}.editor-steps:before{background:var(--line-strong);content:"";height:1px;position:absolute;top:6px;left:16.66%;right:16.66%}.editor-steps button{z-index:1;color:var(--quiet);flex-direction:column;align-items:center;gap:8px;font-size:10px;font-weight:670;display:flex;position:relative}.editor-steps button:not(:disabled){cursor:pointer}.editor-steps button:focus-visible{outline-offset:4px;outline:3px solid #ffcd1173}.editor-steps i{border:3px solid var(--canvas);background:#cbd2da;border-radius:50%;width:13px;height:13px;box-shadow:0 0 0 1px #cbd2da}.editor-steps button.is-current{color:var(--navy)}.editor-steps button.is-current i{background:var(--yellow);box-shadow:0 0 0 1px var(--navy)}.editor-steps button.is-complete{color:var(--muted)}.editor-steps button.is-complete i{background:var(--navy);box-shadow:0 0 0 1px var(--navy)}.editor-stage-wrap{width:min(100%,1080px);margin:0 auto}.editor-stage{border:1px solid var(--line);background:var(--surface);border-radius:28px;padding:32px;box-shadow:0 18px 54px #0f274414}.editor-information-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.editor-information-grid.is-expense{grid-template-columns:1fr}.editor-information-card{border:1px solid var(--line);background:#fbfcfd;border-radius:20px;min-width:0;padding:22px}.editor-information-card--travel{background:#f8fbfd;border-color:#dbe5ef}.editor-section-heading{align-items:center;gap:12px;margin-bottom:20px;display:flex}.editor-section-heading>span{width:40px;height:40px;color:var(--navy);background:var(--yellow-soft);border-radius:13px;flex:0 0 40px;justify-content:center;align-items:center;display:inline-flex}.editor-section-heading p{color:var(--quiet);letter-spacing:.08em;margin-bottom:3px;font-size:9px;font-weight:720}.editor-section-heading h2{letter-spacing:-.025em;font-size:17px}.editor-section-heading small{color:var(--muted);margin-top:4px;font-size:10px;line-height:1.5;display:block}.editor-information-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.editor-information-fields .field--wide{grid-column:1/-1}.editor-information-grid.is-expense .editor-information-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-upload-section{border-top:1px solid var(--line);margin-top:22px;padding-top:24px}.editor-section-heading--upload{margin-bottom:14px}.editor-stage--upload .upload-zone{background:linear-gradient(135deg,#fbfcfd,#f5f8fb);border-radius:20px}.editor-stage--upload .upload-zone__button{min-height:126px;padding:25px 26px}.editor-stage--upload .upload-zone__icon{border-radius:16px;flex-basis:52px;width:52px;height:52px}.editor-stage--upload .upload-zone__copy strong{letter-spacing:-.015em;font-size:16px}.editor-stage--upload .upload-zone__copy small{font-size:11px}.travel-fields,.editor-meta{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.travel-fields h2{letter-spacing:-.02em;margin-bottom:18px;font-size:16px}.editor-meta summary,.match-details summary{cursor:pointer;width:max-content;color:var(--muted);font-size:11px;font-weight:680;list-style-position:outside}.editor-meta__fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px;display:grid}.review-result{color:#fff;background:var(--navy);border-radius:20px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;min-height:104px;padding:24px;display:grid}.review-result>svg{color:var(--yellow)}.review-result h2{letter-spacing:-.025em;margin-bottom:5px;font-size:18px}.review-result p{color:#ffffffa8;font-size:11px}.review-result>strong{letter-spacing:-.03em;font-size:22px}.review-result.has-issues{color:#6f3515;background:var(--warning-soft)}.review-result.has-issues>svg{color:var(--warning)}.review-result.has-issues p{color:#895933}.review-exceptions,.editor-stage--review>.match-list,.match-details{margin-top:18px}.review-blockers{gap:8px;margin-top:18px;display:grid}.review-blockers p{color:#8a4d21;background:var(--warning-soft);border-radius:12px;align-items:center;gap:9px;min-height:44px;padding:0 13px;font-size:11px;font-weight:650;display:flex}.match-details{border-top:1px solid var(--line);padding-top:18px}.match-details .match-list{margin-top:14px}.editor-stage--generate{min-height:0;padding:0;overflow:hidden}.generation-mark{width:64px;height:64px;color:var(--navy);background:var(--yellow);border-radius:21px;flex:0 0 64px;justify-content:center;align-items:center;display:inline-flex;box-shadow:0 12px 30px #fcc40038}.generation-summary{border-bottom:1px solid var(--line);background:linear-gradient(135deg,#fffdf4 0%,#fff 58%,#f5f8fb 100%);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px 22px;padding:30px 32px;display:grid}.generation-summary__main{min-width:0}.generation-summary h2{letter-spacing:-.045em;max-width:620px;margin:7px 0 0;font-size:clamp(22px,3vw,30px)}.generation-total{color:var(--navy);letter-spacing:-.055em;white-space:nowrap;font-size:clamp(28px,4vw,40px);line-height:1}.generation-trip{color:var(--muted);margin-top:8px;font-size:11px}.generation-facts{color:var(--muted);grid-column:2/4;gap:24px;font-size:11px;display:flex}.generation-facts span{align-items:baseline;gap:5px;display:flex}.generation-facts b{color:var(--text);font-size:15px}.generation-review{gap:20px;padding:28px 32px 22px;display:grid}.generation-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:22px 32px 0;display:grid}.generation-details.is-expense{grid-template-columns:1fr}.generation-details article{border:1px solid var(--line);background:#fbfcfd;border-radius:16px;min-width:0;padding:17px 18px}.generation-details article>header{color:var(--navy);align-items:center;gap:8px;margin-bottom:13px;font-size:12px;font-weight:740;display:flex}.generation-details dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;display:grid}.generation-details dl>div{min-width:0}.generation-details dt{color:var(--quiet);margin-bottom:5px;font-size:9px}.generation-details dd{overflow-wrap:anywhere;color:var(--text);font-size:11px;font-weight:650;line-height:1.5}.generation-review__section{min-width:0}.generation-review__section+.generation-review__section{border-top:1px solid var(--line);padding-top:22px}.generation-review__section>header{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:13px;display:flex}.generation-review__section h3{letter-spacing:-.025em;margin-top:5px;font-size:17px}.generation-review__section>header>span{color:var(--muted);white-space:nowrap;font-size:10px}.file-list--summary{border-top:0;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0;padding-top:0;display:grid}.match-list--summary .match-row{background:#fff}.generation-note{color:var(--quiet);background:#f5f7f9;border-radius:12px;margin:0 32px 28px;padding:13px 15px;font-size:10px;line-height:1.65}.editor-actions__buttons .button{min-width:142px}.dialog-backdrop{z-index:100;padding:max(20px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(8px);background:#05122175;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{width:min(100%,540px);max-height:min(760px,100vh - 40px);box-shadow:var(--shadow-lg);background:#fff;border:1px solid #ffffff80;border-radius:24px;overflow:auto}.dialog__header{z-index:1;border-bottom:1px solid var(--line);background:#fffffff5;justify-content:space-between;align-items:center;min-height:68px;padding:0 24px;display:flex;position:sticky;top:0}.dialog__header h2{letter-spacing:-.025em;font-size:18px}.dialog__body{padding:24px}.dialog__footer{border-top:1px solid var(--line);background:#fffffff5;justify-content:flex-end;gap:9px;padding:16px 24px;display:flex;position:sticky;bottom:0}.print-dialog{gap:16px;display:grid}.printer-connection>div{flex-direction:column;gap:3px;min-width:0;display:flex}.printer-connection strong{color:var(--text);font-size:12px}.printer-connection small{font-size:10px}.print-dialog__hint{color:var(--muted);font-size:11px;line-height:1.6}.print-options{gap:9px;display:grid}.print-option{border:1px solid var(--line);cursor:pointer;background:#fbfcfd;border-radius:14px;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:11px;padding:14px;transition:border-color .15s,background .15s;display:grid}.print-option.is-selected{background:#fffdf3;border-color:#d4ad13}.print-option input{accent-color:var(--navy)}.print-option>svg{color:var(--navy)}.print-option>span{flex-direction:column;gap:4px;min-width:0;display:flex}.print-option strong{font-size:12px}.print-option small{color:var(--muted);font-size:10px;line-height:1.45}.match-dialog__invoice{background:var(--yellow-soft);border-radius:15px;flex-direction:column;padding:18px;display:flex}.match-dialog__invoice span,.match-dialog__invoice small{color:var(--muted);font-size:10px}.match-dialog__invoice strong{letter-spacing:-.03em;margin:5px 0;font-size:24px}.match-dialog__label{color:var(--muted);margin:23px 0 10px;font-size:11px}.payment-options{flex-direction:column;gap:7px;max-height:260px;display:flex;overflow:auto}.payment-option{border:1px solid var(--line);border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;transition:border-color .15s,background .15s;display:grid}.payment-option.is-selected{background:#fffdf2;border-color:#d4ad13}.payment-option input{accent-color:var(--navy)}.payment-option>span{flex-direction:column;gap:4px;min-width:0;display:flex}.payment-option strong,.payment-option small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.payment-option strong,.payment-option b{font-size:11px}.payment-option small{color:var(--muted);font-size:9px}.match-dialog__total{color:var(--warning);background:var(--warning-soft);border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:3px 10px;margin-top:16px;padding:13px;display:grid}.match-dialog__total.is-enough{color:var(--success);background:var(--success-soft)}.match-dialog__total span{font-size:10px}.match-dialog__total strong{font-size:14px}.match-dialog__total small{grid-column:1/-1;font-size:9px}.approval-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.approval-card{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;overflow:hidden}.approval-card__header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:54px;padding:0 20px;display:flex}.approval-card__owner{color:var(--muted);align-items:center;gap:7px;font-size:11px;display:inline-flex}.approval-card__content{align-items:flex-start;gap:13px;padding:20px;display:flex}.approval-card__content>div{min-width:0}.approval-card__content p{color:var(--muted);margin-bottom:6px;font-size:9px}.approval-card__content h2{text-overflow:ellipsis;white-space:nowrap;margin-bottom:7px;font-size:16px;overflow:hidden}.approval-card__content div>span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;display:block;overflow:hidden}.approval-card__facts{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin:0 20px;padding:15px 0;display:grid}.approval-card__facts>div{flex-direction:column;gap:5px;display:flex}.approval-card__facts dt{color:var(--quiet);font-size:8px}.approval-card__facts dd{font-size:10px;font-weight:670}.approval-card__open{border-top:1px solid var(--line);width:100%;min-height:50px;color:var(--navy);background:#fbfcfd;justify-content:center;align-items:center;gap:7px;font-size:11px;font-weight:720;display:flex}.approval-detail__hero{background:var(--surface-subtle);border-radius:15px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:17px;display:grid}.approval-detail__icon{width:40px;height:40px;color:var(--navy);background:var(--yellow);border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.approval-detail__hero p{color:var(--muted);font-size:9px}.approval-detail__hero h3{margin-top:4px;font-size:14px}.approval-detail__hero>strong{font-size:15px}.detail-list{margin:18px 0}.detail-list>div{border-bottom:1px solid var(--line);grid-template-columns:82px minmax(0,1fr);gap:10px;padding:11px 0;font-size:11px;line-height:1.6;display:grid}.detail-list dt{color:var(--muted)}.lifecycle-strip{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:16px;align-items:center;gap:15px;padding:17px 20px;display:flex}.lifecycle-strip span{color:var(--muted);white-space:nowrap;align-items:center;gap:7px;font-size:11px;display:inline-flex}.lifecycle-strip span:first-child,.lifecycle-strip span:last-child{color:var(--navy);font-weight:680}.lifecycle-strip i{background:var(--line-strong);flex:1;height:1px}.finance-list{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;overflow:hidden}.finance-row{grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:20px;display:grid}.finance-row+.finance-row{border-top:1px solid var(--line)}.finance-row__main{min-width:0}.finance-row__title{align-items:center;gap:10px;display:flex}.finance-row__title h2{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.finance-row__main>p{color:var(--muted);margin-top:7px;font-size:10px}.print-mark{color:var(--success);white-space:nowrap;align-items:center;gap:4px;font-size:9px;display:inline-flex}.finance-row__amount{text-align:right;min-width:100px;font-size:14px}.finance-row__actions{gap:7px;display:flex}.finance-row__actions .button{min-height:39px;padding:0 12px;font-size:10px}.archive-warning{color:var(--danger);background:var(--danger-soft);border-radius:15px;align-items:flex-start;gap:13px;padding:16px;display:flex}.export-warning{color:var(--navy);background:var(--info-soft);border-radius:15px;align-items:flex-start;gap:13px;padding:17px;display:flex}.export-warning__icon{background:#fff;border-radius:13px;flex:0 0 41px;justify-content:center;align-items:center;width:41px;height:41px;display:inline-flex}.export-warning h3{margin-bottom:8px;font-size:14px}.export-warning p{color:#4c647e;font-size:11px;line-height:1.7}.archive-warning__icon{background:#fff;border-radius:12px;flex:0 0 39px;justify-content:center;align-items:center;width:39px;height:39px;display:inline-flex}.archive-warning h3{margin-bottom:7px;font-size:13px}.archive-warning p{color:#8f3934;font-size:10px;line-height:1.65}.confirm-check{border:1px solid var(--line);border-radius:13px;align-items:flex-start;gap:10px;margin-top:18px;padding:14px;font-size:11px;line-height:1.5;display:flex}.confirm-check input{width:17px;height:17px;accent-color:var(--navy);margin:0}@media (width<=980px){.editor-layout{grid-template-columns:minmax(0,1fr) 265px}.finance-row{grid-template-columns:auto minmax(0,1fr) auto}.finance-row__actions{grid-column:2/-1;justify-content:flex-end}.admin-user-row{grid-template-columns:auto minmax(190px,1.5fr) minmax(140px,1fr) auto}.admin-user-link,.admin-user-meta{display:none}}@media (width<=760px){.auth-page{min-height:100dvh;padding:max(16px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));display:block}.auth-intro{min-height:auto;padding:8px 10px 34px}.auth-intro__content{margin-top:50px}.auth-intro__content h1{margin:11px 0 15px;font-size:39px}.auth-intro__content>p:last-child{font-size:14px}.auth-benefits{display:none}.auth-panel{border-radius:25px;min-height:auto}.auth-panel__body{width:calc(100% - 42px);padding:34px 0 30px}.auth-panel__icon{display:none}.auth-panel h2{font-size:25px}.auth-panel__footer{text-align:center;padding:18px}.topbar__inner{width:calc(100% - 28px);min-height:58px}.topbar .brand-mark__icon{width:34px;height:34px}.topbar .brand-mark__name{font-size:16px}.app-menu__panel{top:calc(59px + env(safe-area-inset-top));position:fixed;right:14px}.app-main{min-height:calc(100vh - 59px - env(safe-area-inset-top))}.page{width:calc(100% - 28px);padding:34px 0 calc(78px + env(safe-area-inset-bottom))}.page-header{align-items:flex-start;margin-bottom:25px}.page-header h1{font-size:32px}.page-header__description{font-size:12px}.page-header__action .button{width:44px;padding:0;font-size:0}.quick-start-card{flex-direction:column;align-items:stretch;min-height:170px;padding:23px}.quick-start-card__copy{align-items:flex-start}.quick-start-card__icon{flex-basis:47px;width:47px;height:47px}.quick-start-card__copy h2{font-size:21px;line-height:1.3}.quick-start-card__action{justify-content:center}.metric-grid{gap:8px}.metric-card{flex-direction:column;align-items:flex-start;gap:8px;min-height:91px;padding:13px}.metric-card__icon{width:31px;height:31px}.metric-card strong{font-size:20px}.metric-card>div{flex-direction:row;justify-content:space-between;align-items:baseline;width:100%}.metric-card span:last-child{margin:0;font-size:10px}.section-block{margin-top:34px}.reimbursement-row{grid-template-columns:auto minmax(0,1fr) auto auto;gap:11px;padding:15px 13px}.reimbursement-row__amount{display:none}.reimbursement-row__arrow{width:15px}.reimbursement-row__title-line{align-items:flex-start}.reimbursement-row__title-line>strong{max-width:58%}.editor-page{padding-top:17px;padding-bottom:calc(116px + env(safe-area-inset-bottom))}.editor-hero{flex-direction:column;align-items:stretch;margin-bottom:20px}.editor-hero h1{font-size:31px}.type-select{justify-content:center;align-self:stretch}.type-select select{width:auto}.editor-layout{flex-direction:column;display:flex}.editor-content{width:100%}.form-card{border-radius:20px;padding:20px 16px}.form-card__header{margin-bottom:21px}.match-card .form-card__header{flex-wrap:wrap}.match-card__run{justify-content:center;width:100%}.form-grid,.upload-grid{grid-template-columns:1fr}.field--span-2,.upload-grid .upload-zone:last-child:nth-child(3){grid-column:span 1}.upload-zone__button{min-height:82px}.file-row__amount{display:none}.match-row{grid-template-columns:minmax(0,1fr) auto;gap:12px}.match-row__invoice,.match-row__payment{min-height:54px}.match-row__payment{border-top:1px solid var(--line);grid-area:2/1/auto/-1;padding-top:11px}.match-row__chevron{display:none}.match-row__action{grid-area:1/2}.editor-summary{width:100%;position:static}.summary-note{display:none}.editor-actions{padding-bottom:env(safe-area-inset-bottom);bottom:0}.editor-actions__inner{flex-direction:column;justify-content:center;align-items:stretch;gap:6px;width:calc(100% - 28px);min-height:96px}.editor-actions__buttons{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.editor-actions__buttons .button{min-width:0;padding:0 9px;font-size:11px}.approval-grid{grid-template-columns:1fr}.lifecycle-strip{gap:6px;padding:14px;overflow-x:auto}.lifecycle-strip i{min-width:14px}.finance-row{grid-template-columns:auto minmax(0,1fr) auto;gap:11px;padding:16px 13px}.finance-row__amount{min-width:auto;font-size:12px}.finance-row__actions{grid-column:1/-1;justify-content:stretch}.finance-row__actions .button{flex:1}.admin-user-summary{grid-template-columns:1fr 1fr;gap:8px}.admin-user-summary article{min-height:72px;padding:13px}.admin-user-summary article>svg{width:34px;height:34px;padding:8px}.admin-user-card{border-radius:19px}.admin-user-toolbar{padding:12px}.admin-user-toolbar .button{width:44px;padding:0;font-size:0}.admin-user-toolbar .button:after{content:"搜";font-size:12px}.admin-user-loading{grid-template-columns:1fr}.admin-user-row{grid-template-columns:auto minmax(0,1fr) auto;gap:11px;min-height:76px;padding:12px}.admin-user-roles,.admin-user-link,.admin-user-meta{display:none}.admin-user-form__grid,.admin-user-link-fields{grid-template-columns:1fr}.admin-user-form__span,.admin-user-link-fields>p{grid-column:auto}.dialog-backdrop{align-items:flex-end;padding:0}.dialog{width:100%;max-height:calc(92dvh - env(safe-area-inset-top));padding-bottom:env(safe-area-inset-bottom);border-radius:24px 24px 0 0}.dialog__header{min-height:62px;padding:0 18px}.dialog__body{padding:18px}.dialog__footer{padding:13px 18px}}@media (width<=400px){.topbar .brand-mark__name,.reimbursement-row__title-line .status-badge{display:none}.reimbursement-row__title-line>strong{max-width:100%}.editor-actions__buttons .button svg{display:none}.approval-card__facts{grid-template-columns:1.2fr .8fr .8fr}.finance-row__amount{display:none}}@media (width<=760px){.page--home .page-header{margin-bottom:22px}.history-tools{flex-direction:column;align-items:stretch}.history-search{width:100%}.history-filters{overflow-x:auto}.history-filters button{flex:none}.editor-back{margin-bottom:13px}.editor-steps{width:calc(100% - 20px);margin-bottom:24px}.editor-hero{gap:16px}.editor-hero h1{margin-bottom:8px;font-size:29px}.editor-stage{border-radius:22px;padding:20px 16px;box-shadow:0 12px 38px #0f274412}.editor-information-grid,.editor-information-grid.is-expense{grid-template-columns:1fr}.editor-information-card{border-radius:17px;padding:18px 15px}.editor-information-fields,.editor-information-grid.is-expense .editor-information-fields{grid-template-columns:1fr}.editor-information-fields .field--wide{grid-column:auto}.editor-stage--upload .upload-zone__button{min-height:105px;padding:19px 16px}.editor-stage--upload .upload-zone__icon{flex-basis:44px;width:44px;height:44px}.editor-stage--upload .upload-zone__copy strong{font-size:14px}.upload-zone__count{display:none}.travel-fields,.editor-meta{margin-top:20px;padding-top:20px}.editor-meta__fields{grid-template-columns:1fr}.review-result{grid-template-columns:auto minmax(0,1fr);gap:13px;padding:20px 16px}.review-result>strong{grid-column:2;font-size:19px}.review-result h2{font-size:16px}.editor-stage--generate{min-height:0;padding:0}.generation-summary{grid-template-columns:auto minmax(0,1fr);gap:15px;padding:22px 18px}.generation-details,.generation-details.is-expense{grid-template-columns:1fr;padding:18px 18px 0}.generation-details dl{grid-template-columns:1fr}.generation-mark{border-radius:17px;flex-basis:52px;width:52px;height:52px}.generation-total{grid-column:2;font-size:30px}.generation-facts{grid-column:1/-1;justify-content:flex-start;gap:14px;width:100%}.generation-review{padding:22px 16px 18px}.file-list--summary{grid-template-columns:1fr}.generation-note{margin:0 16px 20px}.editor-actions__buttons{gap:8px;width:100%;display:flex}.editor-actions__buttons .button{flex:1;min-width:0;padding:0 10px;font-size:11px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{.topbar,.editor-actions,.editor-back,.editor-steps,.editor-hero,.editor-page>.notice{display:none!important}body{background:#fff}.page{width:100%;padding:0}.editor-stage-wrap{width:100%}.editor-stage--generate{min-height:0;box-shadow:none;border:0}}.single-flow{font-variant-numeric:tabular-nums;width:min(100% - 32px,760px);min-height:100vh;margin:0 auto;padding:28px 0 64px}.single-flow>.notice{border-radius:14px;margin:0 0 12px;padding:11px 14px;font-size:13px}.flow-card,.history-panel{border:1px solid var(--line);background:var(--surface);border-radius:20px;margin:0 0 12px;box-shadow:0 1px 1px #0f274408,0 12px 36px #0f27440d}.flow-card{padding:24px}.flow-card__header{justify-content:space-between;align-items:flex-start;gap:16px;min-height:40px;margin-bottom:18px;display:flex}.flow-card__header h1,.flow-card__header h2{color:var(--navy);letter-spacing:-.025em;font-size:19px;font-weight:750;line-height:1.25}.flow-card__header h2 label{cursor:pointer}.flow-card__header small{color:var(--muted);margin-top:5px;font-size:13px;display:block}.type-switch{background:#eef2f6;border-radius:12px;grid-template-columns:1fr 1fr;margin-bottom:14px;padding:3px;display:inline-grid}.type-switch button{min-width:108px;min-height:36px;color:var(--muted);border-radius:9px;padding:0 14px;font-size:13px;font-weight:700;transition:color .16s,background .16s,box-shadow .16s}.type-switch button.is-active{color:var(--navy);background:#fff;box-shadow:0 1px 2px #0f274414,0 3px 10px #0f274414}.content-input textarea{resize:vertical;border:1px solid var(--line-strong);width:100%;min-height:116px;color:var(--text);background:#fff;border-radius:14px;padding:15px 16px;font-size:15px;line-height:1.7;transition:border-color .14s,box-shadow .14s;display:block}.content-input textarea:focus-visible{border-color:var(--navy-2);outline:0;box-shadow:0 0 0 4px #193b631a}.content-input textarea::placeholder{color:#9aa6b4}.content-input textarea:disabled,.travel-fields input:disabled{color:var(--text);opacity:1;background:var(--surface-subtle)}.field-error{color:var(--danger);margin-top:6px;font-size:12px;display:block}.travel-fields{grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;display:grid}.travel-fields label{color:var(--muted);gap:6px;font-size:12px;font-weight:650;display:grid}.travel-fields input,.summary-export select{border:1px solid var(--line-strong);width:100%;min-height:42px;color:var(--text);background:#fff;border-radius:11px;padding:0 12px}.travel-fields__wide{grid-column:1/-1}.materials-card .upload-zone{margin:0}.material-list{grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;display:grid}.material-item{min-width:0;min-height:58px;color:var(--success);background:var(--surface-subtle);border-radius:13px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 8px 9px 13px;transition:background .16s;display:grid}.material-item.is-queued{color:var(--navy-2);background:var(--info-soft)}.material-item.is-processing{color:var(--navy-2)}.material-item.is-attention{color:var(--warning);background:var(--warning-soft)}.material-item span{min-width:0}.material-item strong,.material-item small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.material-item strong{color:var(--text);font-size:13px;font-weight:700}.material-item small{color:var(--muted);margin-top:3px;font-size:11px}.files-cleared,.history-empty{color:var(--muted);background:var(--surface-subtle);text-align:center;border-radius:12px;padding:26px}.pair-list{gap:8px;display:grid}.pair{border:1px solid var(--line);background:#fff;border-left-width:3px;border-radius:14px;grid-template-columns:minmax(0,1.05fr) auto minmax(0,1.25fr) auto;align-items:center;gap:12px;min-height:62px;padding:11px 12px 11px 14px;transition:border-color .16s,background .16s;display:grid}.pair--confirmed{background:#f8fcfa;border-left-color:#2f9e6a}.pair--suggested{background:#fffcf2;border-left-color:#e0a800}.pair--unmatched{border-style:dashed dashed dashed solid;border-left-color:#c9d2dc}.pair__invoice,.pair__payment,.spare-payments li{min-width:0;color:var(--navy);align-items:center;gap:9px;display:flex}.pair__invoice>svg,.pair__payment>svg,.spare-payments li>svg{color:var(--quiet);flex:none}.pair__arrow{color:#b8c3cf}.pair__invoices{gap:10px;min-width:0;display:grid}.pair__group-note{color:var(--muted);font-size:11px}.pair__payments{gap:6px;min-width:0;display:grid}.pair__difference{color:var(--warning);font-size:11px;font-weight:650}.evidence{gap:2px;min-width:0;display:grid}.evidence strong{color:var(--text);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:720;overflow:hidden}.evidence small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.evidence--empty{color:var(--quiet);font-size:12px}.pair__actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.pair__state{letter-spacing:.01em;white-space:nowrap;border-radius:999px;align-items:center;min-height:24px;padding:0 9px;font-size:11px;font-weight:750;display:inline-flex}.pair__state--confirmed{color:var(--success);background:var(--success-soft)}.pair__state--suggested{color:var(--warning);background:#fff1c2}.pair__state--unmatched{color:var(--muted);background:#eef2f6}.pair__confirm.button{min-height:32px;box-shadow:none;border-radius:9px;padding:0 13px;font-size:12px}.pair__adjust{min-height:32px;color:var(--navy-2);white-space:nowrap;padding:0 6px;font-size:12px;font-weight:700}.pair__adjust:disabled{color:var(--quiet)}.spare-payments{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.spare-payments h3{color:var(--muted);margin-bottom:8px;font-size:12px;font-weight:700}.spare-payments ul{grid-template-columns:1fr 1fr;gap:6px;margin:0;padding:0;list-style:none;display:grid}.spare-payments li{background:var(--surface-subtle);border-radius:11px;padding:8px 10px}.flow-actions{z-index:5;border:1px solid var(--line);-webkit-backdrop-filter:saturate(160%)blur(14px);background:#ffffffdb;border-radius:18px;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 12px;padding:8px;display:grid;position:sticky;bottom:12px;box-shadow:0 10px 34px #0f27441a}.flow-actions .button{border-radius:12px;min-width:0;min-height:42px;padding:0 10px;font-size:13px}.history-panel{overflow:hidden}.history-panel>summary{min-height:64px;color:var(--navy);cursor:pointer;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:0 24px;font-weight:750;list-style:none;display:grid}.history-panel>summary::-webkit-details-marker{display:none}.history-panel>summary span:nth-child(2){color:var(--muted);font-size:12px;font-weight:600}.history-panel>summary svg{color:var(--quiet);transition:transform .18s}.history-panel[open]>summary svg{transform:rotate(180deg)}.history-panel__body{border-top:1px solid var(--line);gap:16px;padding:0 24px 24px;display:grid}.summary-export{grid-template-columns:minmax(160px,1fr) auto;gap:10px;padding-top:16px;display:grid}.history-month>header{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.history-month>header strong{font-size:14px}.history-month>header span{color:var(--muted);font-size:11px}.history-records{gap:6px;display:grid}.history-record{border:1px solid var(--line);background:var(--surface-subtle);border-radius:13px;grid-template-columns:minmax(0,1fr) auto;align-items:center;transition:border-color .14s,background .14s;display:grid}.history-record:hover{border-color:var(--line-strong);background:#fff}.history-record.is-active{background:var(--yellow-soft);border-color:#e3c53a}.history-record__open{text-align:left;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;min-width:0;padding:11px 14px;display:grid}.history-record__open>span:first-child{min-width:0}.history-record__open strong,.history-record__open small{display:block}.history-record__open strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.history-record__open small{color:var(--muted);margin-top:4px;font-size:11px}.history-record__amount{text-align:right}.history-record__amount>strong{margin-bottom:4px;display:block}.match-dialog,.print-dialog{gap:9px;display:grid}.match-dialog__summary{color:var(--muted);background:var(--surface-subtle);border-radius:12px;justify-content:space-between;gap:12px;margin-bottom:4px;padding:10px 12px;font-size:13px;display:flex}.match-dialog__summary strong{color:var(--text)}.match-dialog__summary.is-balanced{color:var(--success);background:var(--success-soft)}.match-dialog__summary.is-balanced strong{color:var(--success)}.match-dialog label,.print-choice{border:1px solid var(--line);border-radius:12px;align-items:center;gap:12px;min-height:54px;padding:10px 12px;transition:border-color .14s,background .14s;display:flex}.match-dialog label:hover,.print-choice:hover{border-color:var(--line-strong);background:var(--surface-subtle)}.match-dialog label.is-taken{opacity:.6}.match-dialog label input,.print-choice input{width:18px;height:18px;accent-color:var(--navy);margin:0}.match-dialog label span,.print-choice span,.printer-connection span{gap:3px;min-width:0;display:grid}.match-dialog label strong,.print-choice strong{font-size:14px}.match-dialog small,.print-choice small,.printer-connection small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.printer-connection{color:var(--warning);background:var(--warning-soft);border-radius:12px;align-items:center;gap:11px;padding:12px;display:flex}.printer-connection.is-ready{color:var(--success);background:var(--success-soft)}@media (width<=640px){.single-flow{width:min(100% - 20px,860px);padding-top:12px;padding-bottom:32px}.flow-card{border-radius:18px;padding:18px 16px}.material-list,.travel-fields,.spare-payments ul{grid-template-columns:1fr}.travel-fields__wide{grid-column:auto}.pair{grid-template-columns:minmax(0,1fr) auto;row-gap:8px;padding:12px}.pair__arrow{display:none}.pair__payments{grid-column:1/-1;padding-left:25px}.flow-actions{bottom:max(8px, env(safe-area-inset-bottom));border-radius:16px;gap:5px;padding:6px}.flow-actions .button{gap:4px;min-height:40px;padding:0 5px;font-size:12px}.flow-actions .button svg{width:14px;height:14px}.summary-export{grid-template-columns:1fr}.history-panel>summary,.history-panel__body{padding-left:16px;padding-right:16px}.history-record__open{grid-template-columns:1fr;gap:7px}.history-record__amount{text-align:left;justify-content:space-between;align-items:center;display:flex}}@media (prefers-reduced-motion:reduce){.spin{animation-duration:2s}}@media print{.flow-actions,.history-panel,.upload-zone,.flow-card__header .button{display:none!important}}
