:root{--ink:#15231f;--muted:#66746f;--line:#dfe7e3;--paper:#f5f7f5;--card:#fff;--green:#0f6f53;--green2:#0a513e;--mint:#dff3eb;--orange:#b65d20;--red:#b33c42;--shadow:0 18px 50px rgba(25,45,37,.1)}
*{box-sizing:border-box}body{margin:0;font-family:"Segoe UI","Microsoft YaHei",sans-serif;background:var(--paper);color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.muted{color:var(--muted)}.error{color:var(--red);min-height:20px;margin:4px 0}.eyebrow{margin:0 0 5px;color:var(--green);font-size:11px;font-weight:800;letter-spacing:.18em}.brand-mark{display:grid;place-items:center;width:62px;height:62px;border-radius:21px;background:linear-gradient(145deg,var(--green),#179373);color:#fff;font-family:STKaiti,KaiTi,serif;font-size:32px;box-shadow:0 12px 28px rgba(15,111,83,.28)}.brand-mark.small{width:38px;height:38px;border-radius:12px;font-size:21px;box-shadow:none}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 18% 20%,#dceee7 0,transparent 34%),radial-gradient(circle at 85% 78%,#f0dfcf 0,transparent 30%),#eef3f0}.login-card{width:min(430px,100%);background:rgba(255,255,255,.92);padding:46px;border:1px solid rgba(255,255,255,.8);border-radius:28px;box-shadow:var(--shadow);backdrop-filter:blur(14px)}.login-card h1{font-size:30px;margin:22px 0 8px}.stack{display:grid;gap:16px;margin-top:28px}label{display:grid;gap:7px;font-size:13px;font-weight:650;color:#43514c}input,select,textarea{width:100%;border:1px solid #ccd8d3;background:#fff;color:var(--ink);border-radius:10px;padding:11px 12px;outline:none;transition:.2s}textarea{min-height:88px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(15,111,83,.12)}button{border:0;border-radius:9px;padding:10px 15px;font-weight:700}.primary{background:var(--green);color:#fff}.primary:hover{background:var(--green2)}.wide{width:100%;padding:12px}.ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}.link{background:transparent;color:#b9cec6;padding:3px}.icon-btn{background:#eef2f0;color:var(--muted);font-size:22px;padding:2px 10px}
.app-shell{min-height:100vh;display:grid;grid-template-columns:230px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:#102c24;color:#fff;padding:24px 16px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;padding:0 8px 28px}.brand b{display:block;font-size:16px}.brand small{display:block;color:#93aaa2;margin-top:3px}.sidebar nav{display:grid;gap:5px}.sidebar nav button{display:flex;align-items:center;gap:12px;background:transparent;color:#a9bdb6;text-align:left;padding:11px 13px}.sidebar nav button span{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:rgba(255,255,255,.07);font-size:12px}.sidebar nav button:hover,.sidebar nav button.active{background:#1e493d;color:#fff}.sidebar nav button.active span{background:#dbefe8;color:var(--green)}.sidebar-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding:18px 8px 0;display:flex;justify-content:space-between;color:#d8e4df;font-size:13px}
main{min-width:0}.topbar{height:96px;padding:20px 32px;display:flex;align-items:center;justify-content:space-between;background:rgba(245,247,245,.9);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5;backdrop-filter:blur(12px)}.topbar h2{margin:0;font-size:23px}.top-actions{display:flex;align-items:center;gap:10px}.status{font-size:12px;padding:7px 10px;border-radius:99px}.status.good{background:var(--mint);color:var(--green)}.status.warn{background:#faead8;color:var(--orange)}.content{padding:28px 32px 50px;max-width:1540px;margin:auto}.hero{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px}.hero h3{font-size:26px;margin:0 0 5px}.hero p{margin:0;color:var(--muted)}
.metrics{display:grid;grid-template-columns:repeat(6,minmax(140px,1fr));gap:14px;margin-bottom:22px}.metric{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px}.metric small{color:var(--muted)}.metric strong{display:block;font-size:28px;margin-top:11px}.metric.accent{background:var(--green);color:#fff;border-color:var(--green)}.metric.accent small{color:#c6e0d6}.grid-2{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.panel{background:var(--card);border:1px solid var(--line);border-radius:15px;padding:20px;overflow:hidden}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.panel h3{margin:0;font-size:16px}.quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.quick{border:1px solid var(--line);background:#fbfcfb;text-align:left;padding:16px}.quick b{display:block;margin-bottom:4px}.quick small{color:var(--muted)}
.toolbar{display:flex;gap:10px;margin:0 0 15px}.toolbar input,.toolbar select{max-width:230px;background:#fff}.table-wrap{background:var(--card);border:1px solid var(--line);border-radius:15px;overflow:auto}table{width:100%;border-collapse:collapse;min-width:780px}th{background:#f0f4f2;color:#64736d;font-size:11px;letter-spacing:.05em;text-align:left;padding:12px 15px;white-space:nowrap}td{border-top:1px solid #e7ece9;padding:13px 15px;font-size:13px;vertical-align:top}tbody tr:hover{background:#fbfdfc}.empty{text-align:center!important;color:var(--muted);padding:48px!important}.pill{display:inline-flex;padding:4px 8px;border-radius:99px;background:#e9efec;color:#54625d;font-size:11px;font-weight:700}.pill.green{background:var(--mint);color:var(--green)}.pill.orange{background:#faead8;color:var(--orange)}.pill.red{background:#f8dfe1;color:var(--red)}.money{font-variant-numeric:tabular-nums;font-weight:700}.positive{color:var(--green)}.negative{color:var(--red)}.row-actions{display:flex;gap:5px}.row-actions button{padding:6px 9px;font-size:11px;background:#edf3f0;color:var(--green)}
dialog{width:min(760px,calc(100% - 32px));border:0;border-radius:18px;padding:0;box-shadow:0 30px 90px rgba(12,31,25,.28)}dialog::backdrop{background:rgba(9,27,22,.48);backdrop-filter:blur(3px)}#modal-form{padding:25px}.modal-head{display:flex;align-items:start;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:20px}.modal-head h3{margin:0;font-size:21px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.form-grid .span-2{grid-column:span 2}.check{display:flex;align-items:center;gap:8px;margin-top:25px}.check input{width:auto}.modal-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding-top:18px;margin-top:20px}.toast{position:fixed;right:24px;bottom:24px;background:#183c32;color:#fff;padding:13px 18px;border-radius:10px;box-shadow:var(--shadow);opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s;z-index:20}.toast.show{opacity:1;transform:none}.loading{padding:70px;text-align:center;color:var(--muted)}
.auth-dialog{width:min(900px,calc(100% - 32px))}.auth-dialog-body{padding:25px}.auth-content{max-height:66vh;overflow:auto;padding-right:4px}.auth-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}.auth-check{border:1px solid var(--line);border-radius:12px;padding:13px;background:#fbfcfb}.auth-check b{display:block;margin-bottom:5px}.auth-check.ok{border-color:#a8d7c6;background:#eff9f5}.auth-check.warn{border-color:#ebc8a8;background:#fff8f1}.auth-notice{border-left:4px solid var(--orange);background:#fff8f1;padding:13px 15px;border-radius:8px;margin:12px 0}.auth-notice.ok{border-color:var(--green);background:#eff9f5}.auth-flow{margin:16px 0;padding:0;list-style:none;counter-reset:auth-step;display:grid;gap:8px}.auth-flow li{counter-increment:auth-step;display:flex;gap:10px;align-items:flex-start}.auth-flow li:before{content:counter(auth-step);display:grid;place-items:center;flex:0 0 24px;height:24px;border-radius:50%;background:var(--mint);color:var(--green);font-size:12px;font-weight:800}.auth-cases{display:grid;gap:8px;margin-top:16px}.auth-cases details{border:1px solid var(--line);border-radius:10px;padding:11px 13px;background:#fff}.auth-cases summary{cursor:pointer;font-weight:750}.auth-cases ol{color:var(--muted);line-height:1.75;margin-bottom:4px}.auth-issue{color:var(--red);font-weight:700}.auth-dialog .modal-actions{position:sticky;bottom:-25px;background:#fff;padding-bottom:0}
@media(max-width:1100px){.metrics{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:1fr}}@media(max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:static;padding:14px}.brand{padding-bottom:12px}.sidebar nav{display:flex;overflow:auto}.sidebar nav button{min-width:max-content}.sidebar-foot{display:none}.topbar{padding:16px;height:auto}.content{padding:20px 14px}.metrics{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.top-actions .status{display:none}.auth-summary{grid-template-columns:1fr}.auth-dialog .modal-actions{flex-wrap:wrap}.auth-dialog .modal-actions button{flex:1}}

/* 雷神拍单品牌层：保留原有页面结构，仅统一颜色与品牌资产。 */
:root{--ink:#172033;--muted:#667085;--line:#dde4ef;--paper:#f5f7fb;--green:#2563eb;--green2:#1d4ed8;--mint:#e8f0ff;--shadow:0 18px 50px rgba(23,37,84,.12)}
.eyebrow{color:#7c3aed}.brand-mark{display:block;width:62px;height:62px;border-radius:18px;object-fit:cover;background:none;box-shadow:0 12px 28px rgba(37,99,235,.28)}.brand-mark.small{width:38px;height:38px;border-radius:11px;box-shadow:none}
.login-shell{background:radial-gradient(circle at 18% 20%,#dbeafe 0,transparent 34%),radial-gradient(circle at 85% 78%,#ede9fe 0,transparent 30%),#f5f7fb}.sidebar{background:#111c3d}.sidebar nav button:hover,.sidebar nav button.active{background:#1e3a6d}.sidebar nav button.active span{background:#dbeafe;color:#2563eb}
