:root{--ink:#16233d;--muted:#6c7890;--line:#e7ebf2;--surface:#ffffff;--wash:#f5f7fb;--blue:#315efb;--blue-dark:#2146cf;--teal:#0c9f9b;--danger:#d9485f;--warning:#b7791f;--success:#168a63;--shadow:0 12px 36px rgba(35,53,90,0.09)}*{box-sizing:border-box}body,html{min-height:100%}body{margin:0;color:var(--ink);background:var(--wash);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit;text-decoration:none}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(380px,.9fr);background:#fff}.login-hero{position:relative;overflow:hidden;display:flex;align-items:center;padding:clamp(36px,8vw,120px);color:#fff;background:radial-gradient(circle at 88% 8%,rgba(93,147,255,.6),transparent 34%),linear-gradient(145deg,#183179,#2c56cb 57%,#5093f3)}.login-hero:after{content:"";position:absolute;width:480px;height:480px;right:-200px;bottom:-220px;border-radius:50%;border:1px solid rgba(255,255,255,.18);box-shadow:0 0 0 50px rgba(255,255,255,.04),0 0 0 100px rgba(255,255,255,.035),0 0 0 150px rgba(255,255,255,.025)}.hero-content{position:relative;z-index:1;max-width:600px}.brand-mark{display:inline-flex;align-items:center;gap:10px;font-weight:700;letter-spacing:.04em}.brand-mark>span:first-child{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;color:var(--blue);background:#fff;font-size:17px;font-weight:800}.hero-title{margin:52px 0 16px;font-size:clamp(32px,4.4vw,58px);line-height:1.12;letter-spacing:-.04em}.hero-subtitle{margin:0;color:rgba(255,255,255,.78);font-size:17px}.feature-list{display:grid;grid-gap:17px;gap:17px;margin:44px 0 0;padding:0;list-style:none;color:rgba(255,255,255,.88)}.feature-list li{display:flex;align-items:center;gap:12px}.feature-list li:before{content:"✓";display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.18);font-size:12px}.login-panel{display:flex;align-items:center;justify-content:center;padding:42px clamp(24px,7vw,100px);background:#fff}.login-card{width:min(100%,390px)}.eyebrow{margin:0 0 9px;color:var(--blue);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.login-card h1{margin:0;font-size:30px;letter-spacing:-.03em}.login-card .intro{margin:10px 0 30px;color:var(--muted)}.form-stack{display:grid;grid-gap:18px;gap:18px}.field{display:grid;grid-gap:7px;gap:7px}.field label{color:#394561;font-size:13px;font-weight:600}.field input,.field select,.field textarea{width:100%;border:1px solid #dce2ed;border-radius:10px;padding:11px 13px;color:var(--ink);outline:none;background:#fff;transition:border .18s,box-shadow .18s}.field input:focus,.field select:focus,.field textarea:focus{border-color:#7592ff;box-shadow:0 0 0 3px rgba(49,94,251,.12)}.field textarea{min-height:94px;resize:vertical}.field-hint{color:var(--muted);font-size:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;border:1px solid transparent;border-radius:9px;padding:9px 15px;font-weight:650;transition:background .18s,border .18s,transform .18s}.button:not(:disabled):active{transform:translateY(1px)}.button-primary{color:#fff;background:var(--blue);box-shadow:0 5px 14px rgba(49,94,251,.2)}.button-primary:hover:not(:disabled){background:var(--blue-dark)}.button-secondary{border-color:#dae1ee;color:#40506d;background:#fff}.button-secondary:hover:not(:disabled){background:#f7f9fc}.button-danger{color:#fff;background:var(--danger)}.button-success{color:#fff;background:var(--success)}.button-ghost{border-color:transparent;color:var(--muted);background:transparent}.button-sm{min-height:33px;padding:6px 10px;font-size:12px}.error-box{border:1px solid #facbd3;border-radius:9px;color:#a72e42;background:#fff4f5}.error-box,.success-box{margin:0 0 15px;padding:10px 12px;font-size:13px}.success-box{border:1px solid #bfe9d7;border-radius:9px;color:#14714f;background:#f0fbf6}.login-footnote{margin:28px 0 0;color:var(--muted);font-size:12px;line-height:1.7}.app-shell,.sidebar{display:flex;min-height:100vh}.sidebar{position:-webkit-sticky;position:sticky;top:0;z-index:20;flex:0 0 248px;flex-direction:column;border-right:1px solid #e3e8f1;background:#fff}.sidebar-brand{display:flex;align-items:center;gap:10px;min-height:75px;padding:0 25px;border-bottom:1px solid var(--line);font-size:16px;font-weight:750}.sidebar-brand .brand-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;color:#fff;background:var(--blue);font-size:13px}.nav{display:grid;grid-gap:4px;gap:4px;padding:23px 14px}.nav-label{padding:0 12px 8px;color:#a4aec1;font-size:11px;font-weight:700;letter-spacing:.09em}.nav-link{display:flex;align-items:center;gap:12px;width:100%;border:0;border-radius:9px;padding:11px 12px;color:#69758c;text-align:left;background:transparent}.nav-link:hover{color:var(--blue);background:#f3f6ff}.nav-link.active{color:var(--blue);background:#edf1ff;font-weight:700}.nav-icon{display:grid;place-items:center;width:20px;color:currentColor;font-size:16px}.sidebar-bottom{margin-top:auto;padding:16px;border-top:1px solid var(--line)}.account-mini{display:flex;align-items:center;gap:10px;padding:7px}.avatar{display:grid;flex:0 0 auto;place-items:center;width:34px;height:34px;border-radius:50%;color:#fff;background:linear-gradient(140deg,#5d80fb,#3abdb6);font-weight:700}.account-copy{min-width:0}.account-name{overflow:hidden;color:var(--ink);font-weight:650;text-overflow:ellipsis;white-space:nowrap}.account-role{color:var(--muted);font-size:11px}.content-shell{min-width:0;flex:1 1}.topbar{display:flex;align-items:center;justify-content:space-between;min-height:75px;padding:0 clamp(18px,4vw,48px);border-bottom:1px solid var(--line);background:#fff}.mobile-menu{display:none;border:0;color:var(--ink);background:transparent;font-size:22px}.crumb{color:var(--muted);font-size:13px}.top-actions{display:flex;align-items:center;gap:10px}.notification-button{position:relative;display:grid;place-items:center;width:37px;height:37px;border:1px solid var(--line);border-radius:50%;color:#66748d;background:#fff}.notification-dot{position:absolute;top:6px;right:6px;width:7px;height:7px;border:1px solid #fff;border-radius:50%;background:var(--danger)}.page-content{max-width:1480px;margin:0 auto;padding:clamp(24px,4vw,45px)}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:27px}.page-heading h1{margin:0;font-size:clamp(23px,2.5vw,31px);letter-spacing:-.035em}.page-heading p{margin:6px 0 0;color:var(--muted)}.heading-actions{display:flex;flex-wrap:wrap;gap:9px}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:15px;gap:15px;margin-bottom:25px}.stat-card{border:1px solid var(--line);border-radius:13px;padding:18px;background:var(--surface);box-shadow:0 3px 12px rgba(35,53,90,.025)}.stat-label{color:var(--muted);font-size:12px}.stat-value{margin-top:6px;font-size:27px;font-weight:750;letter-spacing:-.04em}.stat-meta{margin-top:5px;color:var(--muted);font-size:11px}.card{border:1px solid var(--line);border-radius:13px;background:var(--surface);box-shadow:0 3px 12px rgba(35,53,90,.025)}.card-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:19px 21px;border-bottom:1px solid var(--line)}.card-header h2{margin:0;font-size:16px}.card-header p{margin:3px 0 0;color:var(--muted);font-size:12px}.card-body{padding:21px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px}.grid-2,.grid-3{display:grid;gap:16px}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px}.span-full{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:9px;margin-top:8px}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;min-width:720px}.data-table th{padding:12px 15px;color:#8994a8;font-size:11px;font-weight:700;letter-spacing:.04em;text-align:left;text-transform:uppercase;white-space:nowrap}.data-table td{padding:15px;border-top:1px solid #eff1f6;color:#3f4c64;vertical-align:middle}.data-table tr:hover td{background:#fbfcff}.strong{color:var(--ink);font-weight:650}.subtle{color:var(--muted);font-size:12px}.actions-cell{display:flex;flex-wrap:wrap;gap:6px;white-space:nowrap}.status{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:650;white-space:nowrap}.status-draft{color:#67758e;background:#eef1f6}.status-payment_pending,.status-submitted{color:#8a5b13;background:#fff4d9}.status-approved,.status-ready_for_pickup{color:#126b53;background:#dff7ec}.status-rejected{color:#a83248;background:#ffebee}.status-paid,.status-picked_up{color:#2367a9;background:#e7f2ff}.status-purchasing{color:#5b46a5;background:#eee9ff}.empty-state{display:grid;place-items:center;grid-gap:6px;gap:6px;min-height:170px;padding:30px;color:var(--muted);text-align:center}.empty-state strong{color:#526078}.notice-list{display:grid;grid-gap:0;gap:0}.notice-item{display:flex;align-items:flex-start;gap:14px;padding:17px 21px;border-bottom:1px solid #eff1f6}.notice-item:last-child{border-bottom:0}.notice-item.unread{background:#fafbff}.notice-bullet{flex:0 0 auto;width:9px;height:9px;margin-top:7px;border-radius:50%;background:#ccd3e2}.notice-item.unread .notice-bullet{background:var(--blue);box-shadow:0 0 0 4px #e7ecff}.notice-content{min-width:0;flex:1 1}.notice-title{color:var(--ink);font-weight:650}.notice-message{margin-top:3px;color:var(--muted)}.notice-time{margin-top:7px;color:#a1a9b9;font-size:11px}.loading{display:grid;place-items:center;min-height:220px;color:var(--muted)}.skeleton{display:inline-block;width:70px;height:10px;border-radius:5px;background:linear-gradient(90deg,#ebedf2,#f7f8fa,#ebedf2);background-size:180px 100%;animation:shimmer 1.2s infinite}@keyframes shimmer{to{background-position:180px 0}}.toast{position:fixed;z-index:100;right:25px;bottom:25px;max-width:min(380px,calc(100vw - 35px));border:1px solid #c8d5ff;border-radius:10px;padding:12px 16px;color:#2146cf;background:#f5f7ff;box-shadow:var(--shadow)}.divider{height:1px;margin:22px 0;background:var(--line)}.check-row{display:flex;align-items:center;gap:8px}.check-row input{width:16px;height:16px;accent-color:var(--blue)}.import-drop{border:1px dashed #b9c6e6;border-radius:12px;padding:26px;color:var(--muted);text-align:center;background:#fafbff}.import-drop input{max-width:100%;margin-top:13px}.company-pill{display:inline-flex;border:1px solid #e3e8f1;border-radius:999px;padding:4px 9px;color:#67758e;font-size:11px;background:#fafbfe}.company-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.company-setting{display:flex;align-items:flex-end;gap:10px;border:1px solid #edf0f5;border-radius:11px;padding:14px;background:#fbfcff}.company-setting .field{flex:1 1}.mini-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid #eff1f6}.mini-row:last-child{border-bottom:0}.mini-right{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:9px}.form-card{margin-bottom:22px}.section-gap{margin-top:22px}.pickup-code{margin-top:4px;color:var(--blue);font-size:12px;font-weight:700;letter-spacing:.08em}.attachment-links{display:flex;gap:7px;flex-wrap:wrap}.attachment-links a{color:var(--blue);text-decoration:underline;font-size:12px}@media (max-width:980px){.login-page{grid-template-columns:1fr}.login-hero{min-height:345px;padding:42px clamp(25px,8vw,80px)}.hero-title{margin-top:33px;font-size:clamp(31px,8vw,46px)}.feature-list{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:28px;gap:10px;font-size:12px}.login-panel{min-height:520px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.sidebar{position:fixed;inset:0 auto 0 0;width:248px;transform:translateX(-100%);transition:transform .22s;box-shadow:12px 0 30px rgba(24,40,77,.12)}.sidebar.open{transform:translateX(0)}.sidebar-backdrop{display:block;position:fixed;inset:0;z-index:10;background:rgba(18,29,52,.35)}.mobile-menu{display:inline-grid;place-items:center}.topbar{gap:12px;padding:0 18px}.crumb{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-content{padding:25px 17px}.page-heading{display:block;margin-bottom:21px}.heading-actions{margin-top:16px}.company-settings,.grid-2,.grid-3{grid-template-columns:1fr}.span-full{grid-column:auto}}@media (max-width:500px){.feature-list{grid-template-columns:1fr}.login-panel{padding:35px 22px}.stat-grid{gap:9px}.stat-card{padding:13px}.stat-value{font-size:22px}.card-body,.card-header{padding:16px}.top-actions .account-copy{display:none}}