/* GMERP / AURORA — one shared interface system. */
:root{color-scheme:dark;--bg:#080f1e;--nav:#0b1425;--surface:#111d31;--ink:#e4edf9;--muted:#91a3bf;--line:#24334d;--teal:#4bd7ed;--green:#66e5b5;--radius:14px}
*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:#354865 transparent}[hidden]{display:none!important}
body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 'Segoe UI','Microsoft YaHei',sans-serif;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid transparent;border-radius:8px;transition:background .18s,border-color .18s,box-shadow .18s,transform .18s;color:inherit}button:disabled{opacity:.38;cursor:default}button:focus-visible{outline:2px solid var(--teal);outline-offset:3px}button:not(:disabled):hover{border-color:#627ca7}
input,select,textarea{background:#0c1729;border:1px solid #30415e;border-radius:8px;padding:10px 12px;color:var(--ink);outline:none;min-width:0}input::placeholder,textarea::placeholder{color:#7486a2}input:focus,select:focus,textarea:focus{border-color:#65b9ff;box-shadow:0 0 0 3px #65b9ff16}textarea{resize:vertical}input[type=checkbox]{accent-color:#6c96ff}input[type=date]{color-scheme:dark}
.primary{background:linear-gradient(115deg,#5775f6,#3a9dd5);color:#fff;padding:10px 18px;font-weight:600;white-space:nowrap;box-shadow:0 5px 20px #4669ed25;border-color:#7c9aff66}.primary:not(:disabled):hover{background:linear-gradient(115deg,#6b87ff,#43b2e9);box-shadow:0 5px 25px #5d7bff45;transform:translateY(-1px)}.secondary{background:#18263c;color:#b9c9e2;border-color:#30425f;padding:9px 13px;white-space:nowrap;font-size:13px}.secondary:not(:disabled):hover{background:#213450;color:#fff}.plain,.icon-button{background:transparent;color:var(--muted);padding:6px 9px}.icon-button{font-size:22px;line-height:1.2}.danger,.row-actions .danger{color:#ff9ba8}.muted{color:var(--muted);line-height:1.8;font-size:13px}.eyebrow{font-size:10px;letter-spacing:2.4px;font-weight:600;color:#68cfe7}h1,h2,h3,p{overflow-wrap:anywhere}h1{font-size:29px;line-height:1.3;letter-spacing:.5px;margin:9px 0 10px;font-weight:650}h2{font-size:21px;margin:5px 0}h3{font-size:15px;margin:0;font-weight:600}
.sidebar{width:240px;position:fixed;inset:0 auto 0 0;background:linear-gradient(170deg,#111d32,#0b1425 55%);border-right:1px solid #23324a;display:flex;flex-direction:column;z-index:6;padding:28px 16px 16px}.brand{display:flex;gap:12px;align-items:center;white-space:nowrap}.brand>b{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;font-size:25px;color:white;background:linear-gradient(145deg,#7c8bff,#258fa9);box-shadow:0 0 28px #667eff30,inset 0 1px 0 #ffffff50}.brand span{font-size:21px;font-weight:650;letter-spacing:1px}.brand em{font-size:9px;font-style:normal;letter-spacing:3.5px;display:block;color:#8397b7;margin-top:2px}.sidebar .brand{padding:0 10px 29px}.nav-home{display:flex;align-items:center;gap:12px;padding:12px 14px;width:100%;text-align:left;background:transparent;color:#aabbd5}.nav-home.active{background:linear-gradient(100deg,#344c8a80,#253d6055);border-color:#5a7ed44d;color:#ccdcff}.nav-home span{font-size:14px}.nav-label{font-size:10px;letter-spacing:2px;color:#67809e;padding:25px 14px 12px}nav{overflow:auto;flex:1;min-height:0;padding-right:4px}.group-toggle{display:flex;align-items:center;gap:12px;width:100%;padding:11px 12px;text-align:left;background:transparent;color:#a5b6d0;margin:2px 0;font-size:13px}.group-toggle>span:first-child{display:grid;place-items:center;width:22px;height:22px;font-size:17px;color:#729ac6}.group-toggle.open{background:#1a2b45;color:#d7e8ff;border-color:#2b4265}.group-toggle.open>span:first-child{color:var(--teal)}.chevron{margin-left:auto;color:#6d83a5}.submenus{margin:5px 0 12px 23px;padding-left:10px;border-left:1px solid #2d405c;max-height:36vh;overflow:auto;overscroll-behavior:contain}.menu-section{padding:14px 10px 5px;color:#6f8eaf;font-size:10px;letter-spacing:2px}.submenus button{display:block;width:100%;text-align:left;padding:9px 10px;background:transparent;color:#95aaca;font-size:12px;line-height:1.6;border-radius:6px}.submenus button.selected{color:#8ae9fb;background:linear-gradient(90deg,#1b617d66,#27385866);border-color:#3888a94d;box-shadow:inset 3px 0 #52d5f0}.sidebar-foot{margin-top:16px;border-top:1px solid #23324b;padding:16px 7px 0;color:#9aacc5;font-size:11px}.sidebar-foot small{float:right;color:#657d9d}.dot{width:6px;height:6px;display:inline-block;border-radius:50%;background:var(--green);box-shadow:0 0 10px #66e5b588;margin-right:7px}
main{margin-left:240px;min-height:100vh;background:radial-gradient(ellipse at 95% 0,#273b752e,transparent 50%),radial-gradient(ellipse at 0 35%,#135a6c16,transparent 45%)}header{height:72px;border-bottom:1px solid #25334b;background:#0c1628e8;backdrop-filter:blur(18px);position:sticky;top:0;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 32px;font-size:12px;color:#92a6c3}.header-right{display:flex;align-items:center;gap:16px}.search-trigger{background:#16243a;border:1px solid #2b3c58;color:#9fb2cf;padding:8px 12px;min-width:184px;text-align:left;font-size:12px}kbd{float:right;margin-left:18px;background:#22334d;color:#9cb2d2;border:1px solid #3a4a63;border-radius:4px;font:10px/1.6 'Segoe UI',sans-serif;padding:0 5px}.demo-label{color:#74dfca;font-size:10px;padding:4px 8px;background:#183a3c;border:1px solid #2c5b57;border-radius:5px}.avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;color:#b9caff;background:linear-gradient(140deg,#344b81,#243153);border:1px solid #506898;font-weight:700}#mobile-nav{display:none}
#workspace{padding:34px 32px 22px;min-height:calc(100vh - 116px);animation:arrive .3s ease-out}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:25px}.page-heading p{margin:0}.heading-buttons{display:flex;gap:9px;align-items:center;flex-wrap:wrap;padding-top:17px}.notice{border:1px solid #30435c;border-left:3px solid #5485c1;background:linear-gradient(90deg,#162b43b3,#13203690);border-radius:8px;padding:12px 16px;margin-bottom:22px;font-size:11px;color:#97b1cf;line-height:1.8}.panel{background:linear-gradient(145deg,#142239,#101b2d);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 10px 30px #00000012}.panel-title{padding:20px 23px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px}.panel-title small{font-size:10px;color:#6b89b1;letter-spacing:1.4px}
.toolbar{padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;border-bottom:1px solid var(--line);background:#14213799}.filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.filters input{width:240px;font-size:13px}.filters select{font-size:13px}.count{font-size:11px;color:#7f98bb;display:flex;align-items:center;gap:12px}.count .secondary{padding:6px 9px;font-size:11px}.table-wrap{overflow:auto;max-height:calc(100vh - 355px);min-height:230px;overscroll-behavior:contain}table{width:100%;border-collapse:separate;border-spacing:0;white-space:nowrap;text-align:left;font-size:13px}th{background:#1a2941;color:#9cb2d1;font-weight:500;padding:14px 18px;border-bottom:1px solid #34445e;position:sticky;top:0;z-index:2;font-size:12px}td{padding:16px 18px;border-bottom:1px solid #25344b;color:#c0cfe4;max-width:260px;overflow:hidden;text-overflow:ellipsis;background:#121f33}tbody tr:nth-child(even) td{background:#142238}tbody tr:hover td{background:#1c3451}.code{font-family:'Consolas','Microsoft YaHei',monospace;color:#7edaf0;font-weight:600}.table-wrap th:first-child,.table-wrap td:first-child{position:sticky;left:0;z-index:1;box-shadow:3px 0 8px #00000013}.table-wrap th:last-child,.table-wrap td:last-child{position:sticky;right:0;z-index:1;box-shadow:-3px 0 8px #00000013}.table-wrap th:first-child,.table-wrap th:last-child{z-index:3}.sort-column{padding:0;background:transparent;color:inherit;font-size:inherit}.dense td{padding:10px 16px}.row-actions{display:flex;gap:10px}.row-actions button{background:transparent;color:#7dbdff;font-size:12px;padding:4px}.badge{display:inline-block;padding:4px 10px;border-radius:5px;font-size:11px;background:#293952;color:#b2c4de;border:1px solid #3b506c}.badge.执行中,.badge.已确认,.badge.仓库已确认{background:#203f69;color:#91c7ff;border-color:#365c86}.badge.已完成{background:#163e3a;color:#7fe1bd;border-color:#2a6055}.badge.待处理{background:#463a22;color:#f0cf82;border-color:#6c5530}.badge.已取消{background:#432b3d;color:#e9a2be;border-color:#654058}.pager{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:17px 20px;color:#829abd;font-size:11px;background:#101b2c}.pager button{background:#1a2a43;border-color:#314764;padding:7px 11px;margin-left:6px;font-size:12px}.page-size{display:flex;align-items:center;gap:8px}.page-size select{padding:5px 8px;font-size:11px}.overdue-note{color:#f0ca7b}.overdue-row td:first-child{border-left:3px solid #e3b46a}.empty{text-align:center;min-height:260px;padding:65px 20px;color:#7890b1;font-size:13px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px}.empty:before{content:'◇';font-size:33px;line-height:58px;width:60px;height:60px;color:#73b6ec;border:1px solid #3a5b82;background:linear-gradient(145deg,#24497055,#23386555);border-radius:17px;box-shadow:0 0 30px #426da317;margin-bottom:5px}.empty b{display:block;color:#bdcde5;font-size:16px;font-weight:500}.loading{text-align:center;padding:80px 20px;color:#91c4e3}.error{color:#ff9ba8;font-size:12px}.error:empty{display:none}.hint{font-size:11px;line-height:1.8;color:#7e98b9}.error-banner{background:#472a3a;border:1px solid #7b3e54;color:#ffa9bb;padding:15px;border-radius:8px}footer{display:flex;justify-content:space-between;gap:16px;padding:12px 32px 18px;font-size:10px;color:#647e9f}#db-state{color:#78afad}
.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px}.stat{position:relative;overflow:hidden;border:1px solid #33476a;border-radius:var(--radius);background:linear-gradient(125deg,#1b2e4d,#142138);padding:22px;box-shadow:0 5px 25px #00000016}.stat:after{content:'';position:absolute;right:-32px;bottom:-75px;width:150px;height:150px;border:1px solid #5883cf30;border-radius:50%;box-shadow:0 0 0 22px #5883cf06,0 0 0 44px #5883cf04;pointer-events:none}.stat:nth-child(2){background:linear-gradient(125deg,#15384a,#122337);border-color:#2d5263}.stat:nth-child(3){background:linear-gradient(125deg,#253355,#162239)}.stat:nth-child(4){background:linear-gradient(125deg,#302949,#1c233b)}.stat-top{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#a7bddb}.stat-icon{width:34px;height:34px;display:grid;place-items:center;border:1px solid #6e98de44;border-radius:10px;background:#6e98de15;color:#91c5ff;font-size:20px}.stat strong{display:block;font-size:36px;letter-spacing:1px;font-weight:600;margin:10px 0;color:#edf7ff}.stat small{font-size:11px;color:#7899bd}.stat small b{color:#5be2be}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);gap:22px}.quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:22px}.quick{padding:20px 17px;text-align:left;background:linear-gradient(140deg,#1b2e49,#16253b);border-color:#2b4161;border-radius:10px}.quick:hover{transform:translateY(-3px);box-shadow:0 8px 25px #020a1933;background:#203654}.quick b{display:block;width:35px;height:35px;color:#7dd4f1;font-size:22px;margin-bottom:13px}.quick span{font-size:13px;color:#c0d2eb;display:block}.quick small{display:block;font-size:11px;color:#708eaf;margin-top:6px}.workflow{padding:23px 18px;display:flex;align-items:center;gap:8px;color:#526d94;font-size:11px}.workflow span{flex:1;text-align:center;background:#192c45;border:1px solid #30496a;color:#9bb9dc;border-radius:7px;padding:12px 4px}.activity{display:flex;gap:13px;padding:17px 22px;border-bottom:1px solid #24344d;font-size:12px;color:#b6c8e2}.activity i{display:grid;place-items:center;background:#1e3a54;color:#7dd9ef;border:1px solid #2e5069;border-radius:9px;font-style:normal;width:31px;height:31px;flex:none}.activity small{display:block;margin-top:5px;color:#6d8aad;font-size:10px}
dialog{background:linear-gradient(140deg,#182942,#101c30);color:var(--ink);border:1px solid #405579;border-radius:16px;width:690px;max-width:94vw;max-height:90vh;overflow:auto;padding:26px;box-shadow:0 30px 120px #00000088,0 0 45px #557fff10}dialog::backdrop{background:#030917b8;backdrop-filter:blur(7px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px;padding-bottom:19px;border-bottom:1px solid #31435f}.dialog-head .eyebrow{font-size:9px}.dialog-foot{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}#editor{width:1040px;padding:26px 30px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}label{display:block;color:#8fa9cc;font-size:12px}label input,label textarea,label select{display:block;width:100%;margin-top:8px}.field-value{min-height:39px;padding:9px 0;color:#dce8f8;border-bottom:1px solid #2a3d59;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}.wide-field,.field-section,.record-summary{grid-column:1/-1}.record-summary{display:flex;align-items:center;flex-wrap:wrap;gap:14px;background:linear-gradient(100deg,#233d6155,#20335333);border:1px solid #365577;border-radius:10px;padding:15px 18px;color:#bfe4ff;font-weight:600}.record-summary small{color:#7e9abb;font-weight:400;font-size:11px}.field-section{font-weight:600;letter-spacing:1px;color:#79c9ee;padding:12px 0 9px;border-bottom:1px solid #334967;margin-top:4px}#record-form>.dialog-foot{position:sticky;bottom:-26px;background:#132137f5;backdrop-filter:blur(14px);padding:18px 0;border-top:1px solid #344967;z-index:3}#record-tabs{display:flex;gap:8px;border-bottom:1px solid #30425e;padding-bottom:10px;margin-bottom:22px}#record-tabs button{padding:10px 21px;background:transparent;color:#8fa8cb;font-weight:600}#record-tabs button[aria-selected=true]{background:#26496a88;color:#8ee6f9;border-color:#41678c;box-shadow:inset 0 -2px #62cbe8}.detail-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px}.detail-toolbar small{display:block;margin-top:8px;color:#82a7c9}.detail-table{overflow:auto;max-height:300px;border:1px solid #344862;border-radius:9px;margin:18px 0}.detail-table th,.detail-table td{padding:12px}.detail-table .secondary{padding:6px 10px}.detail-table .line-selected td{background:#203e5b}.line-editor-title{padding:17px 0;margin-top:18px;border-top:1px solid #344761;color:#b4d8f7}.column-dialog{width:730px}.column-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;max-height:55vh;overflow:auto}.column-options label{display:flex;align-items:center;gap:9px}.column-options input{width:auto;margin:0}#menu-search{width:100%}#search-results{max-height:380px;overflow:auto;margin-top:16px}#search-results button{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;gap:20px;padding:14px;background:#1a2e49;margin:6px 0;color:#bcd6f5}#search-results small{color:#7899bf}#toast{display:none;position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#243d60;color:#d8efff;border:1px solid #5579a7;padding:14px 24px;border-radius:10px;z-index:100;box-shadow:0 15px 50px #00000055}#undo-remove{padding:6px 12px;background:#357c77;color:white;margin-left:16px}
.login{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr;background:radial-gradient(ellipse at 20% 25%,#294a7f55,transparent 60%),#0c1526}.login-art{position:relative;padding:70px 12%;overflow:hidden;border-right:1px solid #293d59;background:radial-gradient(ellipse at 90% 80%,#155d7833,transparent 65%)}.login-art h1{font-size:48px;line-height:1.5;margin:100px 0 22px;letter-spacing:-1px}.login-art p{color:#89a4ca;font-size:14px;line-height:2}.login-art small{position:absolute;bottom:45px;color:#54759e;font-size:11px}.art-grid{position:absolute;right:-60px;bottom:40px;transform:rotate(-25deg);display:grid;grid-template-columns:170px 170px;gap:18px;opacity:.3}.art-grid i{height:160px;border:1px solid #62b9de;border-radius:28px;background:linear-gradient(130deg,#638bff18,transparent)}.login form{width:80%;max-width:355px;align-self:center;margin:auto}.login form .brand{margin-bottom:48px}.login h2{font-size:28px}.login label{margin-top:22px}.login form .primary{width:100%;margin-top:28px;padding:13px}.login .hint{text-align:center}
.page-size{white-space:nowrap;flex-shrink:0}
header:after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,#5687bc70,#79d8ef40,transparent);pointer-events:none}
@keyframes arrive{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(min-width:1200px){#editor .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1200px){.sidebar{width:216px}main{margin-left:216px}#workspace{padding:28px 24px}header{padding:0 24px}.demo-label{display:none}.toolbar{align-items:flex-start}.dashboard-grid{grid-template-columns:1fr}.stat-grid{gap:12px}.stat{padding:18px}.heading-buttons{gap:6px}.heading-buttons button{font-size:12px;padding:10px 12px}}
@media(max-width:900px){.page-heading{flex-direction:column;gap:0}.heading-buttons{padding-top:16px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.header-right{gap:9px}.search-trigger{min-width:140px}#breadcrumb{max-width:42%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-wrap{max-height:55vh}footer span:last-child{display:none}}
@media(max-width:760px){.sidebar{width:240px;transform:translateX(-100%);transition:transform .2s}.sidebar.visible{transform:none;box-shadow:20px 0 80px #00000088}main{margin-left:0}header{padding:0 14px;height:64px;gap:8px}#mobile-nav{display:block}.header-right{gap:7px}.search-trigger{min-width:0;font-size:0;padding:6px}.search-trigger kbd{font-size:9px;margin:0}.header-right .plain{display:none}.avatar{width:28px;height:28px}#workspace{padding:24px 16px}h1{font-size:25px}.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:15px;gap:10px}.quick{padding:16px 12px}.toolbar{padding:15px}.filters{width:100%}.filters input{width:100%;flex:1;min-width:160px}.filters button{padding:9px 10px}.count{flex-wrap:wrap}.table-wrap th:last-child,.table-wrap td:last-child{position:static}.pager{padding:15px}.pager>div{width:100%}.pager button{padding:7px 9px}.form-grid{grid-template-columns:1fr}#editor{padding:20px;width:96vw}#record-form>.dialog-foot{bottom:-20px}.column-options{grid-template-columns:1fr 1fr}.workflow{overflow:auto;gap:7px;padding:18px 12px}.workflow span{min-width:60px}.login{display:block}.login-art{display:none}.login form{padding:70px 0}footer{padding:12px 16px;flex-wrap:wrap}.stat strong{font-size:32px}.notice{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
