:root{--bg:#f6f7f9;--panel:#ffffff;--line:#d9dee7;--text:#18202e;--muted:#687386;--accent:#0f766e;--accent-strong:#115e59;--danger:#b42318;--warning:#b54708;--ok:#067647}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}button,input,select{font:inherit}a{color:inherit}.admin-shell{min-height:100vh;display:grid;grid-template-columns:236px minmax(0,1fr)}.platform-shell{grid-template-columns:260px minmax(0,1fr)}.sidebar{background:#17202b;color:#f7fafc;padding:24px 18px}.platform-sidebar{background:#071b31;border-right:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;height:100vh;overflow:hidden;position:-webkit-sticky;position:sticky;top:0}.brand{font-size:20px;font-weight:700;line-height:1.35;margin-bottom:28px}.nav-item{width:100%;border:0;display:flex;align-items:center;gap:10px;min-height:40px;padding:0 12px;border-radius:6px;color:#ffffff;font-size:14px;margin-bottom:8px;background:transparent;cursor:pointer;text-align:left}.nav-item-active,.nav-item:hover{background:rgba(255,255,255,.1)}.platform-nav{display:grid;grid-gap:4px;gap:4px;margin:0 -8px;overflow-y:auto;overscroll-behavior:contain;padding:0 8px 28px;scrollbar-color:rgba(148,163,184,.55) transparent;scrollbar-width:thin}.platform-nav::-webkit-scrollbar{width:8px}.platform-nav::-webkit-scrollbar-track{background:transparent}.platform-nav::-webkit-scrollbar-thumb{background:rgba(148,163,184,.45);border-radius:999px}.platform-nav::-webkit-scrollbar-thumb:hover{background:rgba(203,213,225,.7)}.nav-parent{font-weight:700;justify-content:flex-start}.nav-parent .chevron-open{transform:rotate(180deg)}.nav-parent svg:last-child{margin-left:auto}.nav-children{display:grid;grid-gap:2px;gap:2px;margin:0 0 8px 28px}.nav-child{background:transparent;border:0;border-radius:6px;color:#cbd5e1;cursor:pointer;min-height:32px;padding:0 10px;text-align:left}.nav-child-active,.nav-child:hover{background:rgba(37,99,235,.28);color:#ffffff}.nav-group-label{color:#94a3b8;font-size:12px;font-weight:700;letter-spacing:0;margin:18px 0 8px}.content{min-width:0;padding:28px}.mobile-menu-button,.mobile-sidebar-close,.mobile-sidebar-overlay{display:none}.page-head,.topbar{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:22px}.user-box{align-items:center;display:flex;gap:14px}.user-box div{text-align:right}.user-box span,.user-box strong{display:block}.user-box span{color:var(--muted);font-size:12px;margin-top:3px}.page-title{margin:0;font-size:24px;line-height:1.3}.page-subtitle{margin:8px 0 0;color:var(--muted);font-size:14px}.section{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:18px;margin-bottom:18px}.section-title{font-size:16px;font-weight:700;margin:0 0 14px}.section-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.section-actions{align-items:center;display:flex;gap:8px;justify-content:flex-end;flex-shrink:0}.section-subtitle{margin:-6px 0 0;color:var(--muted);font-size:13px}.batch-validation-heading{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.batch-validation-heading .section-subtitle,.batch-validation-heading .status-badge{margin-top:-6px}.upload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.file-box{border:1px dashed #aab4c3;border-radius:8px;padding:16px;background:#fbfcfe}.file-box label{display:block;font-weight:650;margin-bottom:10px}.file-box input{width:100%;color:var(--muted)}.actions{display:flex;align-items:center;gap:12px;margin-top:16px}.parser-order-date{align-items:center;display:inline-flex;gap:8px}.parser-order-date span{color:var(--muted);font-size:13px;font-weight:650;white-space:nowrap}.parser-order-date input{background:#ffffff;border:1px solid var(--line);border-radius:6px;color:var(--text);font:inherit;min-height:40px;padding:0 10px}.data-subsection-title{font-size:15px;margin:22px 0 10px}.data-table-wrap{margin-top:10px}.data-empty{margin-top:12px;min-height:100px}.data-center-page>.metric-grid{grid-template-columns:repeat(5,minmax(170px,220px));justify-content:start;margin-top:14px}.data-center-page>.metric-grid .metric{min-height:88px;padding:10px 12px}.data-filter-bar{align-items:end;background:#f7f9fb;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:12px;gap:12px;grid-template-columns:190px 230px minmax(260px,1fr);margin-top:14px;padding:12px}.data-filter-bar.with-product{grid-template-columns:170px 220px 220px 220px minmax(220px,1fr)}.data-filter-bar label{display:grid;grid-gap:6px;gap:6px}.data-bar-label span,.data-filter-bar label span,.data-filter-note,.data-metric-hint,.data-section-head p{color:var(--muted);font-size:12px}.data-filter-bar select{background:#ffffff;border:1px solid var(--line);border-radius:6px;color:var(--text);font:inherit;min-height:40px;padding:0 10px}.data-filter-note{align-items:center;display:flex;min-height:40px;justify-content:flex-end}.operation-log-export{align-items:flex-end;display:grid;grid-gap:14px 24px;gap:14px 24px;grid-template-columns:minmax(260px,1fr) auto}.operation-log-export .section-title{margin-bottom:6px}.operation-log-export p{color:var(--muted);font-size:13px;line-height:1.6;margin:0}.operation-log-export-controls{align-items:flex-end;display:flex;gap:10px}.operation-log-export-controls label{display:grid;grid-gap:6px;gap:6px}.operation-log-export-controls label span{color:var(--muted);font-size:12px;font-weight:650}.operation-log-export-controls input,.operation-log-export-controls select{background:#ffffff;border:1px solid var(--line);border-radius:6px;color:var(--text);font:inherit;min-height:40px;padding:0 10px}.user-activity-query{margin-top:18px}.user-activity-query .operation-log-export-controls{flex-wrap:wrap}.operation-log-export-controls button{align-items:center;display:inline-flex;gap:7px;min-height:40px;white-space:nowrap}.operation-log-export-error{color:#b42318;font-size:12px;grid-column:2}.data-metric-hint{margin-top:7px}.data-section{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.data-section-head{align-items:flex-end;display:flex;justify-content:space-between;margin-bottom:10px}.data-section-head h3,.data-section-head p{margin:0}.data-section-head h3{font-size:15px}.data-split-grid{display:grid;grid-gap:22px;gap:22px;grid-template-columns:repeat(2,minmax(0,1fr))}.data-bars{display:grid;grid-gap:11px;gap:11px;padding:6px 0}.data-bar-row{align-items:center;display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(120px,.8fr) minmax(150px,2fr) 120px}.data-bar-label{display:grid;min-width:0}.data-bar-label strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-bar-track{background:#e8edf2;border-radius:4px;height:12px;overflow:hidden}.warehouse-product-matrix table{min-width:max-content}.warehouse-product-matrix td,.warehouse-product-matrix th{min-width:112px;text-align:center;white-space:nowrap}.warehouse-product-matrix td:first-child,.warehouse-product-matrix th:first-child{left:0;min-width:150px;position:-webkit-sticky;position:sticky;text-align:left;z-index:1}.warehouse-product-matrix th:first-child{background:#edf1f5}.warehouse-product-matrix td:first-child{background:#ffffff}.matrix-quantity{background:#f0f9f6;color:#087b6f;font-weight:700}.matrix-empty{color:#b1bac5}.matrix-total{background:#e8f3ef;font-weight:800}.matrix-unit-warning{color:#b45309;display:block;font-size:11px;font-weight:400;margin-top:3px}.data-bar-track span{background:#167d72;border-radius:inherit;display:block;height:100%}.data-bar-row>b{font-size:13px;text-align:right}.data-margin-badge{border-radius:999px;display:inline-flex;font-size:12px;font-weight:700;padding:4px 8px}.data-margin-badge.success{background:#e7f7ef;color:#147a50}.data-margin-badge.warning{background:#fff3d8;color:#9a5b00}.data-margin-badge.danger{background:#fdebea;color:#bd2c28}.primary-btn,.secondary-btn{border:0;border-radius:6px;min-height:40px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;text-decoration:none}.primary-btn{background:var(--accent);color:#ffffff}.primary-btn:disabled,.secondary-btn:disabled{opacity:.55;cursor:not-allowed}.secondary-btn{background:#eef2f6;color:var(--text);border:1px solid var(--line)}.secondary-btn.danger-btn{background:#fff5f4;color:var(--danger);border-color:#f2b8b5}.status-text{color:var(--muted);font-size:14px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.dashboard-metrics{grid-template-columns:repeat(auto-fit,minmax(190px,240px));justify-content:flex-start;margin-bottom:18px}.company-dashboard-list{display:grid;grid-gap:14px;gap:14px;margin-bottom:18px}.data-center-page>.company-dashboard-list{margin-top:14px}.company-dashboard{background:#ffffff;border:1px solid var(--line);border-radius:8px;padding:14px}.company-dashboard h2{font-size:16px;margin:0 0 12px}.company-dashboard .dashboard-metrics{margin-bottom:0}.enterprise-metric{background:linear-gradient(180deg,#ffffff,#f8fafc);min-height:112px}.enterprise-metric span{color:var(--danger);display:block;font-size:12px;margin-top:8px}.dashboard-active>.content{background:radial-gradient(circle at 88% 6%,rgba(39,77,171,.16),transparent 26%),radial-gradient(circle at 18% 16%,rgba(0,116,255,.08),transparent 28%),#020a18;color:#eef5ff;min-height:100vh;padding:22px 24px 24px}.dashboard-active>.content>.topbar{align-items:flex-start;margin-bottom:10px}.dashboard-active .page-title{color:#ffffff;font-size:26px;letter-spacing:.01em}.cockpit-intro{color:#8799b5;font-size:12px;margin:5px 0 0;margin-top:3px}.dashboard-active .user-box strong{color:#f3f7ff}.dashboard-active .user-box span{color:#7890ae}.dashboard-active .user-box .secondary-btn{background:rgba(11,27,51,.88);border-color:rgba(71,111,167,.42);color:#c7d7ee}.dashboard-cockpit{--cockpit-border:rgba(47,94,157,0.46);--cockpit-panel:rgba(7,23,46,0.92);color:#e9f2ff;min-width:0}.cockpit-tools{align-items:center;display:flex;gap:10px;justify-content:flex-start;margin:0 0 18px}.cockpit-tools button,.cockpit-tools>div,.cockpit-tools>label{align-items:center;background:rgba(6,20,40,.88);border:1px solid rgba(54,102,163,.42);border-radius:6px;color:#c7d6eb;display:inline-flex;font-size:11px;gap:7px;min-height:34px;padding:0 12px}.cockpit-tools button{cursor:pointer}.cockpit-dashboard-picker{cursor:pointer;position:relative}.cockpit-dashboard-picker>span{color:#7f93ad;white-space:nowrap}.cockpit-dashboard-picker select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:#d5e1f1;cursor:pointer;font:inherit;outline:0;padding:0 2px}.cockpit-company-picker select{min-width:68px}.cockpit-dashboard-picker select option{background:#07172f;color:#eaf2ff}.cockpit-company-kpis{display:grid;grid-gap:16px;gap:16px;margin-bottom:18px}.cockpit-company-kpi-row h2{color:#eef5ff;font-size:15px;margin:0 0 9px}.cockpit-company-kpi-row .cockpit-kpi-grid{margin-bottom:0}.cockpit-kpi-grid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:18px}.cockpit-kpi{--tone:#1768ff;--tone-rgb:23,104,255;background:linear-gradient(135deg,rgba(var(--tone-rgb),.12),rgba(6,18,38,.96) 58%);border:1px solid var(--tone);border-radius:8px;box-shadow:0 0 18px rgba(var(--tone-rgb),.13),inset 0 0 22px rgba(var(--tone-rgb),.04);min-height:108px;overflow:hidden;padding:17px 18px;position:relative}.cockpit-tone-purple{--tone:#8d42f2;--tone-rgb:141,66,242}.cockpit-tone-cyan{--tone:#00b7c9;--tone-rgb:0,183,201}.cockpit-tone-orange{--tone:#f67b2e;--tone-rgb:246,123,46}.cockpit-tone-violet{--tone:#a340f2;--tone-rgb:163,64,242}.cockpit-kpi-copy{padding-right:78px;position:relative;z-index:2}.cockpit-kpi-copy small,.cockpit-kpi-copy>span{color:#a7b8cf;display:block;font-size:12px}.cockpit-kpi-copy strong{color:#f5f8ff;display:block;font-size:clamp(19px,1.38vw,25px);letter-spacing:.01em;margin:8px 0 7px;white-space:nowrap}.cockpit-kpi-copy small b{font-weight:700;margin-left:3px}.cockpit-kpi-copy .is-up{color:#ff5264}.cockpit-kpi-copy .is-down{color:#00d99b}.cockpit-kpi-copy .is-flat{color:#93a6bf}.cockpit-kpi-icon{align-items:center;background:rgba(var(--tone-rgb),.13);border:1px solid rgba(var(--tone-rgb),.3);border-radius:50%;color:var(--tone);display:flex;height:58px;justify-content:center;position:absolute;right:20px;top:50%;transform:translateY(-50%);width:58px}.cockpit-kpi-icon svg{height:30px;width:30px}.cockpit-body-grid{align-items:stretch;display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(0,2.25fr) minmax(300px,.95fr)}.cockpit-main-column,.cockpit-side-column{display:grid;grid-gap:14px;gap:14px;min-width:0}.cockpit-side-column{grid-template-rows:auto auto minmax(288px,1fr)}.cockpit-panel{background:linear-gradient(145deg,rgba(9,28,55,.94),rgba(5,18,37,.96));border:1px solid var(--cockpit-border);border-radius:8px;box-shadow:inset 0 0 30px rgba(17,72,145,.035);min-width:0;padding:15px 17px}.cockpit-panel h2{color:#eef5ff;font-size:15px;margin:0}.cockpit-panel-head{align-items:center;display:flex;gap:14px;justify-content:space-between}.cockpit-panel-head>span{color:#2d8dff;font-size:11px}.cockpit-trend-panel{min-height:342px;padding-bottom:8px}.cockpit-range-tabs{align-items:center;background:rgba(18,45,79,.7);border-radius:6px;display:flex;padding:2px}.cockpit-range-tabs button{background:transparent;border:0;border-radius:5px;color:#9cb0ca;cursor:pointer;font-size:11px;min-height:28px;padding:0 11px}.cockpit-range-tabs button.active{background:linear-gradient(180deg,#205fae,#123e78);box-shadow:0 0 12px rgba(31,110,216,.32);color:#ffffff}.cockpit-chart-legend{display:flex;gap:28px;justify-content:center;margin:12px 0 -2px}.cockpit-chart-legend button{font-size:11px}.cockpit-chart-legend button:before{background:currentColor;border-radius:2px;content:"";display:inline-block;height:7px;margin-right:7px;width:7px}.cockpit-chart-legend button{background:transparent;border:0;cursor:pointer;font:inherit;opacity:.35;padding:2px 4px;transition:opacity .16s ease}.cockpit-chart-legend button.active,.cockpit-chart-legend button:hover{opacity:1}.cockpit-chart-legend .blue{color:#2a79ff}.cockpit-chart-legend .purple{color:#9a4bf1}.cockpit-chart-legend .cyan{color:#00b9c8}.cockpit-trend-chart{display:block;height:270px;overflow:visible;width:100%}.cockpit-trend-chart text{fill:#8294af;font-size:10px}.cockpit-grid-line{stroke:rgba(102,132,173,.16);stroke-width:1}.cockpit-trend-chart path.trend-profit,.cockpit-trend-chart path.trend-purchase,.cockpit-trend-chart path.trend-sales{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.cockpit-trend-chart .trend-sales{stroke:#287bff}.cockpit-trend-chart .trend-purchase{stroke:#9c4cf1}.cockpit-trend-chart .trend-profit{stroke:#00bbca}.cockpit-lower-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:.92fr 1.05fr 1.18fr}.cockpit-lower-grid>.cockpit-panel{min-height:267px}.cockpit-lower-grid>.cockpit-donut-panel,.cockpit-lower-grid>.cockpit-product-panel{display:flex;flex-direction:column}.cockpit-lower-grid>.cockpit-donut-panel .cockpit-donut-layout,.cockpit-lower-grid>.cockpit-product-panel .cockpit-product-list{flex:1 1}.cockpit-donut-layout{align-items:center;display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(108px,.95fr) minmax(120px,1.05fr);min-height:210px}.cockpit-donut-panel.is-compact .cockpit-donut-layout{align-items:center;gap:24px;grid-template-columns:minmax(170px,.85fr) minmax(0,1.15fr);min-height:196px}.cockpit-donut-panel.is-compact .cockpit-donut-legend{padding-top:4px;width:min(100%,230px)}.cockpit-donut-panel.is-compact .cockpit-donut-legend>div{grid-template-columns:7px minmax(0,150px) 46px}.cockpit-donut-panel.is-compact .cockpit-donut-legend b{text-align:right}.cockpit-donut-panel.is-compact .cockpit-donut{max-width:190px}.cockpit-donut{align-items:center;aspect-ratio:1;border-radius:50%;box-shadow:0 0 25px rgba(60,70,255,.17);display:flex;justify-content:center;margin:0 auto;max-width:148px;position:relative;width:100%}.cockpit-donut:after{background:#07172f;border:1px solid rgba(70,109,164,.25);border-radius:50%;content:"";inset:24%;position:absolute}.cockpit-donut>div{display:grid;justify-items:center;position:relative;z-index:1}.cockpit-donut span{color:#8ea0b9;font-size:10px}.cockpit-donut strong{color:#f3f7ff;font-size:12px;margin-top:4px}.cockpit-donut-legend{display:grid;grid-gap:12px;gap:12px}.cockpit-donut-legend>div{align-items:center;display:grid;grid-gap:7px;gap:7px;grid-template-columns:7px minmax(0,1fr) auto}.cockpit-donut-legend i{border-radius:50%;height:7px;width:7px}.cockpit-donut-legend b,.cockpit-donut-legend span{color:#9cafc8;font-size:10px}.cockpit-donut-legend span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cockpit-donut-legend b{color:#e4ecf8}.cockpit-ranking-panel{min-height:176px}.cockpit-ranking-list{display:grid;grid-gap:8px;gap:8px;margin-top:13px}.cockpit-ranking-list>div{align-items:center;display:grid;grid-gap:8px;gap:8px;grid-template-columns:20px minmax(62px,.72fr) minmax(80px,1fr) auto}.cockpit-product-list em,.cockpit-ranking-list em{align-items:center;background:#0b1527;border-radius:50%;color:#b8c5d8;display:flex;font-size:9px;font-style:normal;height:19px;justify-content:center;width:19px}.cockpit-product-list>div:first-child em,.cockpit-ranking-list>div:first-child em{background:rgba(255,137,48,.24);color:#ff9d4d}.cockpit-ranking-list span{color:#d5dfed;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cockpit-ranking-list i{background:rgba(60,93,142,.24);border-radius:999px;height:7px;overflow:hidden}.cockpit-ranking-list i b{background:linear-gradient(90deg,#1b6fe7,#22afe0);border-radius:inherit;display:block;height:100%}.cockpit-ranking-list strong{color:#eef4ff;font-size:9px;white-space:nowrap}.cockpit-product-head,.cockpit-product-list>div{align-items:center;display:grid;grid-gap:8px;gap:8px;grid-template-columns:44px minmax(110px,1.2fr) minmax(58px,.7fr) minmax(94px,1fr)}.cockpit-product-head{color:#7588a4;font-size:9px;margin:17px 0 8px}.cockpit-product-list{display:grid;grid-gap:4px;gap:4px;grid-template-rows:repeat(5,minmax(30px,1fr))}.cockpit-product-head span:first-child,.cockpit-product-head span:nth-child(3),.cockpit-product-list>div>span{text-align:center}.cockpit-product-head span:last-child{text-align:right}.cockpit-product-list b,.cockpit-product-list span,.cockpit-product-list strong{font-size:9px}.cockpit-product-list b{color:#d9e4f2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cockpit-product-list span{color:#93a6bf}.cockpit-product-list strong{color:#edf4ff;text-align:right}.cockpit-map{height:360px;overflow:hidden;position:relative}.cockpit-map>svg{height:100%;opacity:.94;width:100%}.cockpit-map>svg path{fill:rgba(16,65,126,.52);stroke:rgba(64,139,224,.76);stroke-linejoin:round;stroke-width:.45;vector-effect:non-scaling-stroke}.cockpit-map>svg path.is-south-china-sea{fill:none;stroke:rgba(64,139,224,.82);stroke-dasharray:2 2;stroke-width:.65}.cockpit-map-loading{align-items:center;color:#738ba9;display:flex;font-size:11px;inset:0;justify-content:center;position:absolute}.cockpit-map-marker{position:absolute;transform:translate(-50%,-50%);z-index:2}.cockpit-map-marker:after{background:rgba(73,146,231,.72);content:"";height:1px;position:absolute;top:5px;transform-origin:left center;width:23px;z-index:-1}.cockpit-map-marker>i{background:#00e5ff;border:2px solid #d5fbff;border-radius:50%;box-shadow:0 0 0 7px rgba(0,215,255,.18),0 0 18px #00cfff;display:block;height:11px;width:11px}.cockpit-map-marker>span{background:rgba(7,22,45,.9);border:1px solid rgba(66,112,170,.45);border-radius:4px;color:#a6bad3;display:block;font-size:11px;left:14px;line-height:1.35;padding:6px 8px;position:absolute;top:-17px;white-space:nowrap;z-index:3}.cockpit-map-marker[data-label-slot=right-up]>span{left:22px;top:-58px}.cockpit-map-marker[data-label-slot=right-up]:after{left:8px;transform:rotate(-48deg)}.cockpit-map-marker[data-label-slot=right-down]>span{left:22px;top:20px}.cockpit-map-marker[data-label-slot=right-down]:after{left:8px;transform:rotate(48deg)}.cockpit-map-marker[data-label-slot=left-up]>span{left:auto;right:22px;top:-58px}.cockpit-map-marker[data-label-slot=left-up]:after{right:8px;transform:rotate(228deg);transform-origin:right center}.cockpit-map-marker[data-label-slot=left-down]>span{left:auto;right:22px;top:20px}.cockpit-map-marker[data-label-slot=left-down]:after{right:8px;transform:rotate(132deg);transform-origin:right center}.cockpit-map-marker[data-label-slot=top]>span{left:50%;top:-25px;transform:translate(-50%,-100%)}.cockpit-map-marker[data-label-slot=top]:after{height:23px;left:5px;top:-21px;width:1px}.cockpit-map-marker b{color:#f4f8ff;display:block;font-size:12px}.cockpit-activity-panel{display:flex;flex-direction:column;min-height:310px}.cockpit-activity-list{display:grid;margin-top:13px}.cockpit-activity-list>div{align-items:center;display:grid;grid-gap:10px;gap:10px;grid-template-columns:32px minmax(0,1fr) auto;min-height:51px}.cockpit-activity-list>div>i{align-items:center;background:rgba(31,109,242,.2);border-radius:50%;color:#3b8bff;display:flex;height:30px;justify-content:center;width:30px}.cockpit-activity-list>div>i.activity-tone-1{background:rgba(143,65,232,.2);color:#a45bff}.cockpit-activity-list>div>i.activity-tone-2{background:rgba(54,86,130,.25);color:#c6d5e8}.cockpit-activity-list>div>i.activity-tone-3{background:rgba(226,55,73,.22);color:#ff5e70}.cockpit-activity-list>div>i.activity-tone-4{background:rgba(0,183,201,.2);color:#00d1d7}.cockpit-activity-list span{min-width:0}.cockpit-activity-list b,.cockpit-activity-list small{display:block}.cockpit-activity-list b{color:#e2ebf8;font-size:10px}.cockpit-activity-list small{color:#778ba7;font-size:9px;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cockpit-activity-list time{color:#abb9cc;font-size:9px}.cockpit-status-bar{background:linear-gradient(90deg,rgba(7,24,47,.96),rgba(8,27,51,.96));border:1px solid var(--cockpit-border);border-radius:8px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));min-height:58px;overflow:hidden}.cockpit-status-bar button{align-items:center;background:transparent;border:0;color:#eef5ff;cursor:pointer;display:flex;gap:11px;min-width:0;padding:9px 13px;text-align:left}.cockpit-status-bar button+button{border-left:1px solid rgba(69,104,151,.18)}.cockpit-status-bar button>i{align-items:center;background:rgba(29,106,244,.17);border-radius:50%;color:#2e83ff;display:flex;flex:0 0 auto;height:35px;justify-content:center;width:35px}.cockpit-status-bar button>i.status-tone-purple{background:rgba(141,66,242,.17);color:#9e58ff}.cockpit-status-bar button>i.status-tone-orange{background:rgba(246,123,46,.18);color:#ff9a42}.cockpit-status-bar button>i.status-tone-cyan,.cockpit-status-bar button>i.status-tone-teal{background:rgba(0,183,201,.17);color:#05d2d8}.cockpit-status-bar span,.cockpit-status-bar strong{display:block}.cockpit-status-bar span{color:#7f93ae;font-size:9px;overflow:hidden;white-space:nowrap}.cockpit-status-bar strong{color:#eff5ff;font-size:15px;margin-top:2px;overflow:hidden;text-overflow:ellipsis}.cockpit-empty{align-items:center;color:#6e829f;display:flex;font-size:11px;justify-content:center;min-height:80px;width:100%}@media (max-width:1380px){.cockpit-kpi-grid{gap:12px}.cockpit-kpi{padding:14px}.cockpit-kpi-icon{height:50px;right:14px;top:50%;width:50px}.cockpit-kpi-icon svg{height:26px;width:26px}.cockpit-body-grid{grid-template-columns:minmax(0,1.8fr) minmax(280px,.86fr)}.cockpit-lower-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cockpit-map-panel{grid-column:1/-1}}@media (max-width:1120px){.cockpit-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cockpit-body-grid{grid-template-columns:1fr}.cockpit-side-column{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto}.cockpit-activity-panel{grid-column:1/-1}}@media (max-width:900px){.dashboard-active>.content{padding:12px}.dashboard-active>.content>.topbar{margin-bottom:14px}.cockpit-tools{justify-content:flex-start;margin:0 0 12px}.cockpit-kpi-grid,.cockpit-lower-grid,.cockpit-side-column{grid-template-columns:1fr}.cockpit-activity-panel,.cockpit-map-panel{grid-column:auto}.cockpit-kpi{min-height:104px}.cockpit-trend-panel{min-height:310px;overflow:hidden}.cockpit-trend-chart{height:230px;min-width:620px}.cockpit-status-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.cockpit-status-bar button:nth-child(odd){border-left:0}}@media (max-width:560px){.cockpit-tools{align-items:stretch;display:grid}.cockpit-tools button,.cockpit-tools>div,.cockpit-tools>label{justify-content:center}.cockpit-kpi-grid,.cockpit-status-bar{grid-template-columns:1fr}.cockpit-status-bar button+button{border-left:0;border-top:1px solid rgba(69,104,151,.18)}.cockpit-donut-layout,.cockpit-donut-panel.is-compact .cockpit-donut-layout{grid-template-columns:1fr}.cockpit-product-head,.cockpit-product-list>div{grid-template-columns:28px minmax(0,1fr) 34px 72px}}.dashboard-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);margin-bottom:14px}.dashboard-grid.three{grid-template-columns:repeat(auto-fit,minmax(280px,360px));justify-content:flex-start}.pending-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(auto-fit,minmax(190px,240px));justify-content:flex-start}.pending-card{background:#fbfcfe;border:1px solid var(--line);border-radius:8px;cursor:pointer;min-height:86px;padding:12px;text-align:left}.pending-card span,.pending-card strong{display:block}.pending-card span{color:var(--muted);font-size:13px}.pending-card strong{font-size:28px;margin-top:8px}.activity-list{display:grid;grid-gap:10px;gap:10px}.activity-list div{border-bottom:1px solid var(--line);display:grid;grid-gap:2px;gap:2px;grid-template-columns:90px minmax(0,1fr) 150px;padding-bottom:9px}.activity-list span,.activity-list time{color:var(--muted);font-size:12px}.activity-ticker{align-items:center;background:#ffffff;border:1px solid var(--line);border-radius:8px;display:flex;gap:14px;margin-top:14px;padding:10px 12px}.activity-ticker>strong{flex:0 0 auto;font-size:14px}.activity-scroll{display:flex;gap:10px;overflow-x:auto;padding-bottom:2px}.activity-scroll button{align-items:center;background:#fbfcfe;border:1px solid var(--line);border-radius:999px;color:var(--text);cursor:pointer;display:flex;flex:0 0 auto;gap:8px;max-width:320px;padding:8px 12px}.activity-scroll span{font-weight:700}.activity-scroll small,.activity-scroll time{color:var(--muted);font-size:12px}.activity-scroll small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-panel{min-height:240px}.bar-lines{align-items:end;display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(6,minmax(0,1fr));height:160px}.bar-lines span{background:linear-gradient(180deg,#2563eb,#22c55e);border-radius:6px 6px 0 0}.metric{border:1px solid var(--line);border-radius:8px;padding:12px;background:#fbfcfe}.metric-label{color:var(--muted);font-size:12px;margin-bottom:6px}.metric-value{font-size:20px;font-weight:750}.metric-trend{color:var(--danger);font-size:12px;margin-top:6px}.metric-value.ok{color:var(--ok)}.metric-value.bad{color:var(--danger)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px}table{width:100%;border-collapse:collapse;min-width:760px;background:#ffffff}td,th{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;font-size:13px;vertical-align:top}th{background:#f0f3f7;color:#354052;font-weight:700}.empty{color:var(--muted);padding:16px 0}.notice{color:var(--warning);font-size:14px;margin-top:10px}.local-executor-card{align-items:center;background:#fff8e6;border:1px solid #f7df9e;border-radius:8px;color:#7a4b00;display:flex;gap:16px;justify-content:space-between;margin-top:12px;padding:12px}.local-executor-card p{color:#8a5a00;font-size:13px;line-height:1.6;margin:4px 0 0}.local-executor-page{min-height:100vh;background:#eef2f6}.local-executor-head{align-items:center;background:#ffffff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;min-height:64px;padding:10px 24px}.local-executor-brand{align-items:center;display:flex;gap:10px}.local-executor-brand div{display:grid;grid-gap:2px;gap:2px}.local-executor-brand strong{color:var(--text);font-size:16px}.local-executor-brand span:not(.local-executor-icon){color:var(--muted);font-size:12px}.local-executor-icon{align-items:center;background:#fff3bf;border:1px solid #f4d35e;border-radius:6px;color:#7a5200;display:inline-flex;height:38px;justify-content:center;width:38px}.local-only-badge{background:#e8f7f3;border:1px solid #9dd8ca;border-radius:999px;color:#17695b;font-size:12px;padding:5px 9px}.local-executor-content{margin:0 auto;max-width:1500px;padding:18px}.local-launch-panel{align-items:center;display:flex;gap:18px;justify-content:space-between}.local-launch-panel p{color:var(--muted);font-size:13px;margin:4px 0 0}.local-launch-actions{display:flex;gap:8px}.runtime-strip{align-items:center;background:#f7f9fc;border:1px solid var(--line);border-radius:6px;color:var(--muted);display:grid;font-size:13px;grid-gap:12px;gap:12px;grid-template-columns:minmax(190px,1fr) repeat(3,minmax(130px,auto)) 36px;margin-top:12px;min-height:48px;padding:6px 8px 6px 12px}.runtime-strip>div{align-items:center;color:var(--warning);display:flex;font-weight:650;gap:7px}.runtime-strip-ready{background:#f1fbf8;border-color:#acdacf}.runtime-strip-ready>div{color:#17695b}.source-mode-row{align-items:center;display:flex;justify-content:space-between;margin-top:14px}.source-mode-row>span{color:var(--muted);font-size:13px;font-weight:650}.segmented-control{background:#eef2f6;border:1px solid var(--line);border-radius:6px;display:inline-grid;gap:2px;grid-template-columns:repeat(2,minmax(100px,1fr));padding:2px}.segmented-control button{background:transparent;border:0;border-radius:4px;color:var(--muted);cursor:pointer;min-height:32px;padding:0 12px}.segmented-control button.active{background:#ffffff;box-shadow:0 1px 3px rgba(15,23,42,.12);color:var(--text);font-weight:700}.batch-file-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}.batch-file-picker{align-items:center;background:#fbfcfe;border:1px dashed #aeb9c8;border-radius:8px;color:var(--muted);cursor:pointer;display:grid;grid-gap:7px;gap:7px;justify-items:start;min-height:130px;padding:16px}.batch-file-picker:hover{background:#f5f8fb;border-color:#75869c}.batch-file-picker>span{font-size:13px}.batch-file-picker>strong{color:var(--text);font-size:14px;max-width:100%;overflow-wrap:anywhere}.batch-file-picker input{color:var(--muted);font-size:12px;max-width:100%}.cloud-config-notice{align-items:center;background:#fff8e6;border:1px solid #f1d88d;border-radius:6px;color:#7a4b00;display:flex;gap:10px;margin-top:12px;padding:11px 12px}.cloud-config-notice>div{display:grid;grid-gap:3px;gap:3px}.cloud-config-notice strong{font-size:14px}.cloud-config-notice span{color:#8a5a00;font-size:12px}.cloud-browser-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.browser-connection{align-items:center;color:var(--muted);display:inline-flex;font-size:12px;font-weight:650;gap:5px}.browser-connection:before{background:#9aa5b3;border-radius:50%;content:"";height:7px;width:7px}.browser-connection.ready{color:#17695b}.browser-connection.ready:before{background:#18a37a}.cloud-browser-viewer{border:1px solid var(--line);border-radius:6px;margin-top:12px;overflow:hidden}.cloud-browser-toolbar{align-items:center;background:#f5f7fa;border-bottom:1px solid var(--line);display:grid;grid-gap:7px;gap:7px;grid-template-columns:36px 36px auto minmax(260px,1fr) auto;min-height:50px;padding:6px 8px}.cloud-browser-feedback{color:#17695b;font-size:12px;font-weight:650;white-space:nowrap}.cloud-browser-login{align-items:center;background:#ffffff;border-bottom:1px solid var(--line);display:grid;grid-gap:8px;gap:8px;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;padding:8px}.cloud-browser-login-field{align-items:center;border:1px solid var(--line);border-radius:5px;display:grid;grid-gap:7px;gap:7px;grid-template-columns:20px minmax(0,1fr);min-height:38px;padding:0 10px}.cloud-browser-login-field:focus-within{border-color:#168573;box-shadow:0 0 0 2px rgba(22,133,115,.12)}.cloud-browser-login-field>svg{color:var(--muted)}.cloud-browser-login-field input{background:transparent;border:0;color:var(--text);font:inherit;min-width:0;outline:0;width:100%}.cloud-browser-login-meta{align-items:center;color:var(--muted);display:flex;flex-wrap:wrap;font-size:12px;gap:8px;grid-column:1/-1}.cloud-browser-save-option{align-items:center;color:var(--text);display:inline-flex;font-weight:650;gap:6px}.cloud-browser-save-option:first-child{margin-right:auto}.secondary-btn.compact{min-height:34px;padding:0 10px}.cloud-browser-input{align-items:center;background:#ffffff;border:1px solid var(--line);border-radius:5px;display:grid;grid-gap:6px;gap:6px;grid-template-columns:20px minmax(0,1fr) 34px;min-height:36px;padding:0 2px 0 9px}.cloud-browser-input>svg{color:var(--muted)}.cloud-browser-input input{background:transparent;border:0;color:var(--text);font:inherit;min-width:0;outline:0;width:100%}.cloud-browser-screen{align-items:center;aspect-ratio:16/9;background:#e7ebf0;display:flex;justify-content:center;overflow:hidden;position:relative;width:100%}.cloud-browser-screen.ready{cursor:crosshair}.cloud-browser-screen img{display:block;height:100%;object-fit:contain;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.cloud-browser-screen.dragging,.cloud-browser-screen.dragging img{cursor:-webkit-grabbing;cursor:grabbing}.cloud-browser-placeholder{align-items:center;color:var(--muted);display:grid;grid-gap:8px;gap:8px;justify-items:center}.cloud-browser-placeholder strong{font-size:14px}.cloud-upload-progress{background:#f7f9fc;border:1px solid var(--line);border-radius:6px;display:grid;grid-gap:8px;gap:8px;margin-top:12px;padding:10px 12px}.cloud-upload-progress>div:first-child{align-items:center;display:flex;font-size:13px;justify-content:space-between}.uploader-options-grid{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:12px}.uploader-log-path{margin-top:12px}.uploader-actions{flex-wrap:wrap}.uploader-progress-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.current-row span,.current-row strong{overflow-wrap:anywhere}.spin{animation:uploader-spin .9s linear infinite}@keyframes uploader-spin{to{transform:rotate(1turn)}}.form-grid,.path-grid,.template-grid{display:grid;grid-gap:12px;gap:12px}.form-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.path-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}.template-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.template-actions{display:flex;gap:8px;align-items:center}.template-actions select{min-height:40px;min-width:160px;border:1px solid var(--line);border-radius:6px;padding:0 10px;color:var(--text);background:#ffffff}.template-message{border:1px solid var(--line);border-radius:8px;font-size:14px;margin:12px 0;padding:10px 12px}.template-message.success{background:#eefbf4;border-color:#bbefcf;color:#087443}.template-message.info{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.template-message.warning{background:#fff8e6;border-color:#f7df9e;color:#8a5a00}.spin-icon{animation:spin .9s linear infinite}.compact-btn{align-items:center;display:inline-flex;gap:6px;min-height:32px;padding:6px 10px}.rotate-icon{transform:rotate(180deg)}@keyframes spin{to{transform:rotate(1turn)}}.master-form-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.master-form-grid.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}.master-save{align-self:end}.category-check-field{background:#fbfcfe;border:1px solid var(--line);border-radius:8px;padding:10px}.category-check-grid{display:flex;flex-wrap:wrap;gap:8px}.category-check-item{align-items:center;background:#ffffff;border:1px solid var(--line);border-radius:999px;color:var(--text);display:inline-flex;gap:6px;min-height:34px;padding:0 10px}.category-check-item input{height:15px;width:15px}.product-check-field{grid-column:span 2;min-height:86px}.product-check-header{align-items:center;display:flex;justify-content:space-between}.product-check-grid{align-items:stretch;display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));max-height:130px;overflow:hidden}.product-check-field.is-expanded .product-check-grid{max-height:none;overflow:visible}.product-check-item{align-items:center;background:#ffffff;border:1px solid var(--line);border-radius:6px;color:var(--text);display:inline-flex;gap:8px;justify-content:flex-start;min-height:38px;padding:0 10px;width:100%}.product-check-item span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-button{background:transparent;border:0;color:var(--brand);cursor:pointer;font:inherit;font-size:13px;padding:0}.wechat-textarea{color:var(--text);font:inherit;min-height:300px;padding:12px;resize:vertical;width:100%}.validation-card,.wechat-textarea{border:1px solid var(--line);border-radius:8px}.validation-card{background:#fbfcfe;margin-top:14px;padding:14px}.validation-card h3{font-size:15px;margin:0 0 10px}.validation-list{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.validation-list.compact{display:grid;grid-gap:4px;gap:4px;margin:0}.validation-list span{border-radius:999px;font-size:12px;padding:5px 8px}.validation-ok{background:#ecfdf3;color:#067647}.validation-warning{background:#fff7ed;color:#b54708}.validation-error{background:#fef3f2;color:#b42318}.order-batch-list,.settings-list{display:grid;grid-gap:10px;gap:10px}.order-batch-card,.settings-list div{align-items:center;background:#fbfcfe;border:1px solid var(--line);border-radius:8px;display:flex;gap:14px;justify-content:space-between;padding:12px}.order-batch-card span,.order-batch-card strong,.settings-list span,.settings-list strong{display:block}.order-batch-card span,.settings-list span{color:var(--muted);font-size:13px;margin-top:4px}.sms-page{display:grid;grid-gap:14px;gap:14px}.sms-page .section{margin-bottom:0}.sms-recipient-total{background:#e7f4f1;border-radius:999px;color:var(--accent);font-size:13px;font-weight:750;padding:7px 11px}.sms-channel-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}.sms-channel-card{align-items:center;background:#f8fafc;border:1px solid var(--line);border-radius:8px;color:var(--text);cursor:pointer;display:grid;grid-gap:10px;gap:10px;grid-template-columns:24px minmax(0,1fr) auto;min-height:76px;padding:13px;text-align:left}.sms-channel-card.active{background:#f0f8f6;border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.sms-channel-card>svg{color:var(--accent)}.sms-channel-card small,.sms-channel-card strong,.sms-channel-card>span{display:block;min-width:0}.sms-channel-card small{color:var(--muted);font-size:12px;margin-top:4px}.sms-channel-card>b{border-radius:999px;font-size:12px;padding:5px 8px}.sms-channel-card>b.ready{background:#e3f5ec;color:#147a50}.sms-channel-card>b.pending{background:#fff1d6;color:#9a5b00}.sms-form-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}.sms-purpose-field,.sms-template-params-field{grid-column:1/-1}.sms-form-grid textarea,.sms-manual-phones textarea{background:#fff;border:1px solid var(--line);border-radius:6px;color:var(--text);font:inherit;min-height:88px;padding:10px 12px;resize:vertical;width:100%}.sms-form-grid .field small{color:var(--muted);font-size:12px}.sms-recipient-toolbar{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-top:15px}.sms-recipient-toolbar>input{background:#fff;border:1px solid var(--line);border-radius:6px;color:var(--text);font:inherit;min-height:40px;min-width:280px;padding:0 11px}.sms-type-tabs{display:flex;gap:6px}.sms-type-tabs button{background:#eef2f6;border:1px solid var(--line);border-radius:6px;color:var(--text);cursor:pointer;min-height:38px;padding:0 12px}.sms-type-tabs button.active{background:var(--accent);border-color:var(--accent);color:#fff}.sms-recipient-list{border:1px solid var(--line);border-radius:8px;margin-top:12px;max-height:390px;overflow:auto}.sms-recipient-row{align-items:center;border-bottom:1px solid var(--line);cursor:pointer;display:grid;grid-gap:10px;gap:10px;grid-template-columns:18px 52px minmax(0,1fr) 100px;min-height:60px;padding:9px 12px}.sms-recipient-row:last-child{border-bottom:0}.sms-recipient-row:hover{background:#f8fafc}.sms-recipient-row>input{height:16px;margin:0;width:16px}.sms-recipient-row small,.sms-recipient-row strong,.sms-recipient-row>span:not(.sms-recipient-type){display:block;min-width:0}.sms-recipient-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sms-recipient-row small{color:var(--muted);font-size:12px;margin-top:3px}.sms-recipient-row>b{font-size:13px;text-align:right}.sms-recipient-type{border-radius:999px;font-size:11px;font-weight:750;padding:4px 7px;text-align:center}.sms-recipient-type.customer{background:#e8f2ff;color:#2563a9}.sms-recipient-type.supplier{background:#f1eaff;color:#7046a6}.sms-manual-phones{margin-top:14px}.sms-manual-phones textarea{min-height:72px}.sms-send-confirm{align-items:flex-start;background:#fffaf0;border:1px solid #efd9aa;border-radius:7px;color:#75510b;cursor:pointer;display:flex;font-size:13px;gap:9px;margin-top:14px;padding:11px 12px}.sms-send-confirm input{flex:0 0 auto;height:16px;margin-top:1px;width:16px}.sms-send-actions{flex-wrap:wrap}.sms-spinner{animation:sms-spin .9s linear infinite}@keyframes sms-spin{to{transform:rotate(1turn)}}.sms-history-list{display:grid;grid-gap:10px;gap:10px;margin-top:14px}.sms-history-card{border:1px solid var(--line);border-radius:8px;overflow:hidden}.sms-history-summary{align-items:center;background:#fff;border:0;color:var(--text);cursor:pointer;display:grid;grid-gap:11px;gap:11px;grid-template-columns:20px minmax(0,1fr) 140px 86px;padding:13px;text-align:left;width:100%}.sms-history-summary:hover{background:#f8fafc}.sms-history-summary>svg{color:var(--warning)}.sms-history-summary small,.sms-history-summary strong,.sms-history-summary>span{display:block;min-width:0}.sms-history-summary small{color:var(--muted);font-size:12px;margin-top:3px}.sms-history-count{color:var(--muted);font-size:12px;text-align:right}.sms-history-count b{color:var(--text);display:inline}.sms-status{border-radius:999px;font-size:11px;font-style:normal;font-weight:750;padding:5px 7px;text-align:center}.sms-status-全部成功{background:#e3f5ec;color:#147a50}.sms-status-全部失败,.sms-status-部分失败{background:#fdebea;color:#bd2c28}.sms-status-发送中{background:#e8f2ff;color:#2563a9}.sms-history-detail{background:#fbfcfe;border-top:1px solid var(--line);padding:12px}.sms-history-meta{color:var(--muted);display:flex;flex-wrap:wrap;font-size:12px;gap:8px 18px;margin-bottom:10px}.sms-delivery-failed,.sms-delivery-success{border-radius:999px;font-size:12px;font-weight:700;padding:4px 7px}.sms-delivery-success{background:#e3f5ec;color:#147a50}.sms-delivery-failed{background:#fdebea;color:#bd2c28}.sms-empty,.sms-empty-history{min-height:110px}.sms-empty-history{align-items:center;display:flex;flex-direction:column;gap:8px;justify-content:center;margin-top:14px}.row-actions{display:flex;flex-wrap:wrap;gap:8px}.order-detail-panel{background:#fbfcfe;border:1px solid var(--line);border-radius:8px;padding:12px}.batch-summary-row td{background:#fbfcfe;border-top:2px solid var(--line);padding:0}.batch-summary-line{align-items:center;display:flex;flex-wrap:wrap;gap:12px 22px;padding:14px 12px}.batch-summary-line strong{color:var(--text);font-size:15px}.batch-summary-line span{color:var(--muted);font-size:14px}.batch-summary-line b{color:var(--text);font-size:15px;font-weight:800}.batch-summary-toggle{margin-left:auto}.order-detail-panel h3{font-size:15px;margin:0 0 10px}.permission-panel{display:grid;grid-gap:12px;gap:12px;margin-top:14px}.permission-module-head,.permission-toolbar{align-items:center;display:flex;justify-content:space-between}.permission-toolbar span{color:var(--muted);font-size:13px}.permission-module-grid{display:grid;grid-gap:12px;gap:12px}.permission-module{background:#ffffff;border:1px solid var(--line);border-radius:8px;padding:12px}.permission-module-head{margin-bottom:10px}.permission-grid{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.permission-item{align-items:center;background:#fbfcfe;border:1px solid var(--line);border-radius:8px;display:flex;gap:8px;padding:10px}.role-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(5,minmax(0,1fr))}.role-card{background:#fbfcfe;border:1px solid var(--line);border-radius:8px;padding:12px}.role-card span,.role-card strong{display:block}.role-card p,.role-card span{color:var(--muted);font-size:12px}.invoice-ocr-panel{border-color:#c7d7fe}.invoice-picker{min-width:min(520px,100%)}.ocr-result-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:14px}.ocr-field{background:#fbfcfe;border:1px solid var(--line);border-radius:8px;min-height:72px;padding:10px}.ocr-field span,.ocr-field strong{display:block}.ocr-field span{color:var(--muted);font-size:12px;margin-bottom:6px}.ocr-field strong{color:var(--text);font-size:14px;line-height:1.45;overflow-wrap:anywhere}.ocr-raw-text{background:#0f1720;border-radius:8px;color:#d6e4ef;grid-column:1/-1;padding:12px}.ocr-raw-text summary{cursor:pointer;font-weight:700}.ocr-raw-text pre{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.65;margin:10px 0 0;max-height:260px;overflow:auto;white-space:pre-wrap}.reimbursement-preview{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.reimbursement-sheet{background:#ffffff;border:1px solid #cbd5e1;border-radius:8px;margin-top:12px;overflow:hidden}.sheet-title{background:#f8fafc;border-bottom:1px solid #cbd5e1;color:var(--text);font-size:18px;font-weight:800;padding:14px 16px;text-align:center}.sheet-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.sheet-field{border-bottom:1px solid #e2e8f0;border-right:1px solid #e2e8f0;min-height:76px;padding:10px 12px}.sheet-field-wide{grid-column:span 2}.sheet-field span,.sheet-field strong{display:block}.sheet-field span{color:var(--muted);font-size:12px;margin-bottom:7px}.sheet-field strong{color:var(--text);font-size:14px;line-height:1.5;overflow-wrap:anywhere}.sheet-raw{background:#fbfcfe;border-top:1px solid #e2e8f0;padding:12px}.sheet-raw summary{cursor:pointer;font-weight:700}.sheet-raw pre{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.65;max-height:220px;overflow:auto;white-space:pre-wrap}.icon-danger{color:var(--danger)}.item-editor{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.item-editor-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.item-editor-head h3{color:var(--text);font-size:15px;margin:0}.item-editor-head p{color:var(--muted);font-size:13px;margin:6px 0 0}.item-editor-actions{display:flex;gap:8px}.item-list,.item-row{display:grid;grid-gap:10px;gap:10px}.item-row{align-items:end;background:#fbfcfe;border:1px solid var(--line);border-radius:8px;grid-template-columns:40px minmax(180px,1.3fr) minmax(220px,1.4fr) minmax(90px,.5fr) minmax(110px,.6fr) minmax(120px,.6fr) 44px;padding:10px}.item-row-index{background:#e8eef5;border-radius:999px;color:var(--muted);display:grid;font-size:12px;font-weight:700;height:28px;margin-bottom:5px;place-items:center;width:28px}.compact-field input{min-width:0}.item-delete{min-width:40px;padding:0}.check-field,.field,.file-picker{display:flex;flex-direction:column;gap:7px;color:var(--muted);font-size:13px}.field input,.field select,.file-picker input[type=file]{width:100%;min-height:38px;border:1px solid var(--line);border-radius:6px;padding:0 10px;color:var(--text);background:#ffffff}.field .product-check-grid .product-check-item input[type=checkbox]{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;flex:0 0 16px;height:16px;min-height:16px;padding:0;width:16px}.purchase-summary{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.purchase-summary span{background:#f0f5f8;border:1px solid var(--line);border-radius:999px;color:#354052;font-size:12px;font-weight:650;padding:6px 10px}.purchase-filter-grid{align-items:end;display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(6,minmax(0,1fr)) auto}.filter-btn{min-width:92px}.purchase-copy-list{display:grid;grid-gap:16px;gap:16px}.purchase-copy-card{background:#ffffff;border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 24px rgba(15,23,42,.04);padding:18px}.purchase-card-head{align-items:flex-start;display:flex;gap:14px;justify-content:space-between;margin-bottom:14px}.purchase-title{color:var(--text);font-size:18px;font-weight:760}.purchase-meta{color:var(--muted);font-size:13px;margin-top:5px}.status-badge{border-radius:999px;flex:0 0 auto;font-size:12px;font-weight:700;padding:6px 10px}.status-pending{background:#fff7ed;color:#9a3412}.status-copied{background:#eff6ff;color:#1d4ed8}.status-confirmed,.status-sent{background:#ecfdf3;color:#067647}.status-partial_shortage{background:#fef3c7;color:#92400e}.status-cancelled{background:#f1f5f9;color:#475569}.sales-invoice-center{display:grid;grid-gap:14px;gap:14px}.invoice-hero{align-items:flex-end;display:flex;gap:24px;justify-content:space-between;margin-bottom:0}.invoice-eyebrow{color:var(--accent);font-size:12px;font-weight:750;letter-spacing:.08em;margin:0 0 8px}.invoice-filter-row{display:flex;flex:0 0 auto;gap:10px}.invoice-toolbar{align-items:flex-end;display:grid;grid-gap:10px;gap:10px;justify-items:end}.invoice-archive-actions,.invoice-export-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.invoice-archive-actions label{display:grid;grid-gap:6px;gap:6px}.invoice-archive-actions label>span{color:var(--muted);font-size:12px;font-weight:650}.invoice-archive-actions select{background:#fff;border:1px solid var(--line);border-radius:7px;color:var(--text);font:inherit;min-height:34px;padding:5px 9px}.invoice-archive-summary{background:#f8fafc;border:1px solid var(--line);border-radius:8px;display:flex;gap:24px;margin:14px 0;padding:12px 14px}.invoice-archive-summary span{color:var(--muted);font-size:13px}.invoice-archive-summary strong{color:var(--text);font-size:15px;margin-left:4px}.invoice-archive-file{align-items:center;display:flex;gap:8px;min-width:210px}.invoice-archive-file span{display:grid;grid-gap:3px;gap:3px}.invoice-archive-file small,.invoice-archive-uploaded-at{color:var(--muted);display:block;font-size:11px}.invoice-filter-row label,.invoice-form-grid label{display:grid;grid-gap:6px;gap:6px}.invoice-filter-row label>span,.invoice-form-grid label>span{color:var(--muted);font-size:12px;font-weight:650}.invoice-filter-row select,.invoice-form-grid input{background:#fff;border:1px solid var(--line);border-radius:7px;color:var(--text);font:inherit;min-height:40px;padding:8px 10px}.invoice-metrics{grid-template-columns:repeat(3,minmax(190px,260px))}.invoice-metric{background:#fff;min-height:94px}.invoice-metric.ok{border-color:#a7d8b4}.invoice-metric.warning{border-color:#f1c77d}.invoice-metric-hint{color:var(--muted);font-size:12px;margin-top:6px}.invoice-result-count{color:var(--muted);font-size:13px;white-space:nowrap}.invoice-task-list{display:grid;grid-gap:10px;gap:10px}.invoice-task-card{border:1px solid var(--line);border-radius:9px;overflow:hidden}.invoice-task-main{align-items:center;background:#fff;display:flex;gap:10px;padding:10px}.invoice-task-summary{align-items:center;background:transparent;border:0;color:inherit;cursor:pointer;display:grid;flex:1 1;grid-gap:14px;gap:14px;grid-template-columns:130px minmax(230px,1fr) 180px 82px 18px;min-width:0;padding:4px;text-align:left}.invoice-task-summary small,.invoice-task-summary span{color:var(--muted);display:block;font-size:12px}.invoice-task-summary strong{display:block;font-size:14px;margin-top:4px}.invoice-task-buyer small,.invoice-task-money small{margin-top:4px}.invoice-task-money{text-align:right}.invoice-task-money strong{font-size:16px}.invoice-register-button{align-items:center;display:inline-flex;flex:0 0 auto;gap:7px;justify-content:center}.invoice-task-detail{background:#f8fafc;border-top:1px solid var(--line);display:grid;grid-gap:14px;gap:14px;padding:14px}.invoice-detail-table table{min-width:620px}.invoice-detail-table tfoot td{font-weight:750}.invoice-detail-table tfoot td:first-child{text-align:right}.invoice-file-list{display:grid;grid-gap:8px;gap:8px}.invoice-file-list h3{font-size:13px;margin:0 0 2px}.invoice-file-row{align-items:center;background:#fff;border:1px solid var(--line);border-radius:7px;display:grid;grid-gap:10px;gap:10px;grid-template-columns:18px minmax(150px,1fr) 90px 120px minmax(160px,auto) 32px;padding:9px 10px}.invoice-file-row a{color:var(--accent);font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invoice-file-row small,.invoice-file-row span{color:var(--muted);font-size:12px}.icon-btn{align-items:center;background:#fff;border:1px solid var(--line);border-radius:7px;color:var(--text);cursor:pointer;display:inline-flex;height:32px;justify-content:center;padding:0;width:32px}.icon-btn.danger{color:var(--danger)}.invoice-dialog-backdrop{align-items:center;background:rgba(15,23,42,.48);display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:100}.invoice-dialog{background:#fff;border-radius:12px;box-shadow:0 24px 70px rgba(15,23,42,.22);max-height:calc(100vh - 40px);max-width:620px;overflow:auto;padding:20px;width:100%}.invoice-dialog-head{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px}.invoice-dialog-head h2,.invoice-dialog-head p,.invoice-dialog-head span{margin:0}.invoice-dialog-head p,.invoice-dialog-head span{color:var(--muted);font-size:12px}.invoice-dialog-head h2{font-size:18px;margin:4px 0}.invoice-form-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-form-wide{grid-column:1/-1}.invoice-upload-field{background:#f8fafc;border:1px dashed #aab4c3;border-radius:8px;padding:14px}.invoice-upload-field small{color:var(--muted);font-size:12px}.invoice-recognition-status{align-items:center;border:1px solid;border-radius:8px;display:flex;gap:10px;padding:11px 12px}.invoice-recognition-status span{display:grid;grid-gap:3px;gap:3px}.invoice-recognition-status strong{font-size:13px}.invoice-recognition-status small{font-size:12px}.invoice-recognition-status.loading{background:#f8fafc;border-color:#cbd5e1;color:#475569}.invoice-recognition-status.loading svg{animation:spin 1s linear infinite}.invoice-recognition-status.match{background:#eefbf3;border-color:#9bd4ae;color:#166534}.invoice-recognition-status.mismatch{background:#fff7ed;border-color:#fdba74;color:#9a3412}.invoice-dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}.warehouse-list{border:1px solid var(--line);border-radius:8px;overflow:hidden}.warehouse-row{align-items:center;display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(0,1fr) auto;padding:12px}.warehouse-row+.warehouse-row{border-top:1px solid var(--line)}.warehouse-row span,.warehouse-row strong{display:block}.warehouse-row strong{font-size:14px;margin-bottom:4px}.warehouse-row span{color:var(--muted);font-size:13px;line-height:1.55}.warehouse-row b{color:var(--accent-strong);font-size:20px;white-space:nowrap}.copy-preview{background:#f8fafc;border:1px solid var(--line);border-radius:8px;color:#1f2937;font-family:inherit;font-size:14px;line-height:1.65;margin:14px 0;max-height:260px;overflow:auto;padding:12px;white-space:pre-wrap}.purchase-actions{display:flex;flex-wrap:wrap;gap:10px}.copy-btn{min-width:148px}.purchase-records{border-top:1px solid var(--line);color:var(--muted);display:flex;flex-wrap:wrap;gap:12px;font-size:12px;margin-top:14px;padding-top:12px}.purchase-records span{align-items:center;display:inline-flex;gap:5px}.edit-panel,.source-panel{background:#fbfcfe;border:1px solid var(--line);border-radius:8px;margin-top:14px;padding:14px}.edit-panel h3,.source-panel h3{font-size:15px;margin:0 0 12px}.source-group+.source-group{margin-top:14px}.source-group>strong{display:block;font-size:13px;margin-bottom:8px}.purchase-edit-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:12px}.warehouse-edit-row{background:#ffffff;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:10px;gap:10px;grid-template-columns:minmax(140px,1fr) 100px 90px minmax(120px,1fr) minmax(130px,1fr) minmax(120px,1fr);margin-bottom:10px;padding:10px}.address-field{grid-column:span 4}.loading-panel{align-items:center;color:var(--muted);display:flex;gap:8px}.file-picker input[type=file]{padding:7px 10px}.inventory-upload-panel{border-color:#c9d8e8}.inventory-threshold{min-width:130px}.inventory-rule-panel{background:#f8fafc;border:1px solid var(--line);border-radius:8px;margin:12px 0;padding:12px}.inventory-rule-head{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:10px}.inventory-rule-head span,.inventory-rule-head strong{display:block}.inventory-rule-head strong{font-size:14px}.inventory-rule-head span{color:var(--muted);font-size:12px;margin-top:2px}.inventory-rule-grid{display:grid;grid-gap:8px;gap:8px}.inventory-rule-row{align-items:end;background:#ffffff;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:10px;gap:10px;grid-template-columns:minmax(180px,1fr) 120px 96px 76px;padding:10px}.inventory-rule-row .compact-btn{min-height:34px;padding:0 10px}.inventory-rule-row .field{gap:5px}.inventory-rule-row .field input{min-height:34px}.inventory-rule-row .inventory-rule-check{align-items:center;flex-direction:row;justify-content:flex-start;min-height:34px;padding-bottom:1px}.inventory-dropzone{align-items:center;background:#fbfcfe;border:1px dashed #9fb0c4;border-radius:8px;color:var(--muted);cursor:pointer;display:grid;grid-gap:8px;gap:8px;justify-items:center;min-height:154px;padding:22px;text-align:center}.inventory-dropzone strong{color:var(--text);font-size:16px}.inventory-dropzone input{display:none}.inventory-file-summary{align-items:flex-start;background:#f8fafc;border:1px solid var(--line);border-radius:8px;display:flex;gap:10px;margin-top:12px;padding:12px}.inventory-file-summary span,.inventory-file-summary strong{display:block}.inventory-file-summary span{color:var(--muted);font-size:13px;line-height:1.55;margin-top:3px}.inventory-metrics{margin-bottom:18px}.inventory-alert-panel{border-color:#f6c7bf}.inventory-alert-groups{display:grid;grid-gap:12px;gap:12px;margin-top:14px}.inventory-alert-group{background:#fffaf8;border:1px solid #f6c7bf;border-radius:8px;overflow:hidden}.inventory-alert-group-head{align-items:center;background:#fff3ee;border-bottom:1px solid #f6c7bf;display:flex;gap:12px;justify-content:space-between;padding:11px 12px}.inventory-alert-group-head strong{color:var(--text);font-size:15px}.inventory-alert-group-head span{color:var(--danger);font-size:13px;font-weight:700}.inventory-alert-group .table-wrap{border:0;border-radius:0}.inventory-alert-title,.inventory-empty-panel,.inventory-ok-panel{align-items:flex-start;display:flex;gap:10px}.inventory-alert-title svg,.inventory-danger-number{color:var(--danger);font-weight:750}.inventory-empty-panel svg,.inventory-ok-panel svg{color:var(--accent-strong)}.inventory-grid{align-items:start}.file-picker strong{color:var(--text);font-size:12px;font-weight:600}.check-field{justify-content:flex-end;flex-direction:row;align-items:center;min-height:62px}.check-field input{width:16px;height:16px}.pill{flex:0 0 auto;min-height:28px;border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-size:12px;color:var(--muted);background:#f8fafc}.pill-running{color:var(--accent-strong);border-color:#99d6ce;background:#e6fffb}.log-box{min-height:180px;max-height:360px;overflow:auto;background:#0f1720;color:#d6e4ef;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.65}.log-box,.progress-panel{border:1px solid var(--line);border-radius:8px;padding:12px}.progress-panel{margin-bottom:12px;background:#fbfcfe}.progress-top{display:flex;justify-content:space-between;color:var(--muted);font-size:13px;margin-bottom:8px}.progress-top strong{color:var(--text)}.progress-track{height:10px;border-radius:999px;overflow:hidden;background:#e6ebf2}.progress-fill{height:100%;min-width:0;border-radius:inherit;background:var(--accent);transition:width .18s ease}.progress-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:12px}.current-row,.progress-grid div{border:1px solid var(--line);border-radius:6px;padding:9px 10px;background:#ffffff}.current-row span,.progress-grid span{display:block;color:var(--muted);font-size:12px}.current-row strong,.progress-grid strong{display:block;margin-top:3px;font-size:18px}.current-row{display:grid;grid-template-columns:120px 180px minmax(0,1fr) 120px;grid-gap:8px;gap:8px;align-items:center;margin-top:10px}.current-row strong{margin:0;font-size:14px}.risk-box{margin-top:12px;border:1px solid #fed7aa;border-radius:8px;padding:12px;background:#fff7ed}.risk-check{justify-content:flex-start;min-height:auto;margin-bottom:10px;color:var(--warning);font-weight:650}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:#eef2f6}.admin-session-gate{align-content:center;color:var(--muted);gap:10px;grid-auto-flow:column;justify-content:center}.login-panel{width:min(420px,100%);border:1px solid var(--line);border-radius:8px;padding:28px;background:#ffffff;box-shadow:0 18px 45px rgba(15,23,42,.08)}.login-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:8px;margin-bottom:18px;color:#ffffff;background:var(--accent)}.login-panel h1{margin:0;font-size:24px;line-height:1.3}.login-panel p{margin:8px 0 20px;color:var(--muted)}.login-panel .field+.field{margin-top:14px}.login-btn{width:100%;margin-top:18px}.login-error{margin-top:12px;color:var(--danger);font-size:14px}.meituan-processor-page{display:grid;grid-gap:16px;gap:16px}.processor-hero{align-items:flex-start;background:linear-gradient(135deg,#ffffff,#f0fdfa);display:flex;justify-content:space-between}.processor-hero .section-title{font-size:24px;margin-top:8px}.processor-eyebrow{align-items:center;color:var(--accent);display:inline-flex;font-size:12px;font-weight:750;gap:6px;letter-spacing:.04em}.processor-runtime-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.processor-status-card{align-items:flex-start;background:var(--panel);border:1px solid var(--line);border-radius:8px;display:flex;gap:12px;min-width:0;padding:16px}.processor-status-card.success{border-color:#a6dfc4}.processor-status-card.waiting{border-color:#f1d19a}.processor-status-icon{align-items:center;background:#f2f5f8;border-radius:7px;color:var(--muted);display:flex;flex:0 0 38px;height:38px;justify-content:center}.processor-status-card.success .processor-status-icon{background:#ecfdf3;color:var(--ok)}.processor-status-card.waiting .processor-status-icon{background:#fffaeb;color:var(--warning)}.processor-status-card>div:last-child{display:grid;grid-gap:3px;gap:3px;min-width:0}.processor-status-card small,.processor-status-card span{color:var(--muted)}.processor-status-card span{font-size:12px;font-weight:650}.processor-status-card strong{font-size:15px;overflow-wrap:anywhere}.processor-status-card small{font-size:12px}.processor-account-section{overflow:hidden}.processor-account-form{background:#f8fafc;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px;padding:16px}.processor-account-form>label:not(.processor-clear-cookie){display:grid;grid-gap:6px;gap:6px}.processor-account-form>label>span{color:var(--muted);font-size:12px;font-weight:650}.processor-account-form input:not([type=checkbox]),.processor-account-form textarea{background:#ffffff;border:1px solid var(--line);border-radius:8px;color:var(--text);font:inherit;min-height:42px;padding:9px 11px;width:100%}.processor-account-form textarea{line-height:1.45;min-height:98px;resize:vertical}.processor-account-form input:focus,.processor-account-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(15,118,110,.1);outline:0}.processor-account-actions,.processor-account-form .template-message,.processor-account-note,.processor-clear-cookie,.processor-cookie-field{grid-column:1/-1}.processor-clear-cookie{align-items:center;display:flex;gap:8px}.processor-clear-cookie input{height:16px;margin:0;width:16px}.processor-account-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.processor-account-note{color:var(--muted);font-size:13px;margin:0}.processor-step-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.processor-step{border-right:1px solid var(--line);color:#98a2b3;display:grid;grid-gap:4px;gap:4px;padding:3px 18px}.processor-step:first-child{padding-left:0}.processor-step:last-child{border-right:0}.processor-step.done{color:var(--ok)}.processor-step.active{color:var(--accent)}.processor-step span{font-size:11px;font-weight:650}.processor-step strong{color:var(--text);font-size:14px}.processor-dropzone{align-items:center;background:#fbfcfe;border:1px dashed #98a2b3;border-radius:8px;color:var(--muted);cursor:pointer;display:grid;grid-gap:7px;gap:7px;justify-items:center;margin-top:14px;min-height:164px;padding:24px;text-align:center;transition:border-color .15s ease,background .15s ease}.processor-dropzone.has-file,.processor-dropzone:hover{background:#f0fdfa;border-color:var(--accent);color:var(--accent)}.processor-dropzone input{height:1px;opacity:0;overflow:hidden;position:absolute;width:1px}.processor-dropzone strong{color:var(--text);font-size:15px}.processor-dropzone span{font-size:12px}.processor-primary-action{align-items:center;display:flex;gap:12px;margin-top:14px}.processor-primary-action>span{color:var(--muted);font-size:12px}.processor-batch-status{border-radius:999px;display:inline-flex;font-size:12px;font-weight:750;padding:6px 10px}.processor-batch-status.waiting,.processor-batch-status.warning{background:#fffaeb;color:var(--warning)}.processor-batch-status.running{background:#eff8ff;color:#175cd3}.processor-batch-status.success{background:#ecfdf3;color:var(--ok)}.processor-batch-status.danger{background:#fef3f2;color:var(--danger)}.processor-batch-message{align-items:center;background:#f8fafc;border:1px solid var(--line);border-radius:7px;display:flex;gap:10px;margin-top:14px;padding:12px}.processor-batch-message>svg{color:var(--warning);flex:0 0 auto}.processor-batch-message>div{display:grid;grid-gap:2px;gap:2px}.processor-batch-message strong{font-size:13px}.processor-batch-message span{color:var(--muted);font-size:12px}.processor-metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:14px}.processor-progress{background:#e9eef5;border-radius:999px;height:6px;margin-top:14px;overflow:hidden}.processor-progress>div{background:var(--accent);border-radius:inherit;height:100%;transition:width .2s ease}.processor-row-ready,.processor-row-warning,.processor-warning-summary{align-items:center;display:inline-flex;font-size:12px;font-weight:650;gap:5px}.processor-row-warning,.processor-warning-summary{color:var(--warning)}.processor-row-ready{color:var(--ok)}.processor-table-note{color:var(--muted);font-size:12px;margin:10px 0 0}.processor-empty-state{align-items:center;color:var(--muted);display:grid;grid-gap:7px;gap:7px;justify-items:center;min-height:180px;text-align:center}.processor-empty-state strong{color:var(--text)}.processor-empty-state span{font-size:13px}@media (max-width:900px){.sms-channel-grid,.sms-form-grid{grid-template-columns:1fr}.sms-recipient-toolbar{align-items:stretch;display:grid}.sms-recipient-toolbar>input{min-width:0;width:100%}.sms-type-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.sms-recipient-row{grid-template-columns:18px 52px minmax(0,1fr)}.sms-recipient-row>b{grid-column:3;text-align:left}.sms-history-summary{grid-template-columns:20px minmax(0,1fr) auto}.sms-history-count{grid-column:2;text-align:left}.sms-status{grid-column:3;grid-row:1/span 2}.admin-shell{grid-template-columns:1fr;overflow-x:clip}.platform-sidebar{bottom:0;box-shadow:12px 0 30px rgba(7,27,49,.22);height:100dvh;left:0;max-height:none;max-width:320px;overflow:hidden;padding:20px 16px;position:fixed;top:0;transform:translateX(-105%);transition:transform .18s ease;width:84vw;z-index:50}.platform-sidebar.mobile-open{transform:translateX(0)}.platform-nav{margin:0;max-height:none;overflow-y:auto;padding:0 0 12px}.brand{margin-bottom:14px;padding-right:44px}.content{min-width:0;padding:12px}.mobile-menu-button,.mobile-sidebar-close{align-items:center;background:#eef2f7;border:1px solid var(--line);border-radius:6px;color:var(--text);cursor:pointer;display:inline-flex;height:40px;justify-content:center;width:40px}.mobile-sidebar-close{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.16);color:#ffffff;position:absolute;right:14px;top:18px}.mobile-sidebar-overlay{background:rgba(7,27,49,.48);border:0;bottom:0;cursor:pointer;height:100dvh;left:0;padding:0;position:fixed;right:0;top:0;width:100vw;z-index:40}.mobile-sidebar-overlay.is-visible{display:block}.topbar{grid-gap:10px 12px;gap:10px 12px;margin-bottom:14px}.topbar>div:first-of-type{min-width:0}.page-title{font-size:20px}.page-subtitle{font-size:12px;line-height:1.5;margin-top:4px}.topbar .user-box{grid-column:1/-1;justify-content:space-between}.topbar .user-box div{text-align:left}.section{border-radius:6px;margin-bottom:12px;padding:12px}.section-title{margin-bottom:10px}.dashboard-grid,.dashboard-grid.three,.dashboard-metrics,.form-grid,.inventory-grid,.inventory-metrics,.master-form-grid,.master-form-grid.three-col,.ocr-result-grid,.page-head,.path-grid,.pending-grid,.permission-grid,.purchase-edit-grid,.purchase-filter-grid,.role-grid,.sheet-grid,.template-grid,.topbar,.upload-grid,.warehouse-edit-row{grid-template-columns:1fr;display:block}.section-actions{justify-content:stretch;width:100%}.order-batch-card,.section-actions,.settings-list div,.user-box{align-items:stretch;display:grid}.user-box div{text-align:left}.activity-list div{grid-template-columns:1fr}.activity-ticker{align-items:stretch;display:grid}.activity-scroll button{max-width:82vw}.purchase-summary{justify-content:flex-start;margin-top:12px}.copy-btn,.filter-btn,.purchase-actions button{width:100%}.purchase-card-head,.warehouse-row{grid-template-columns:1fr;display:grid}.warehouse-row b{font-size:18px}.address-field,.sheet-field-wide{grid-column:auto}.item-editor-head,.section-head,.template-actions{display:block}.item-editor-actions,.item-editor-head button,.template-actions button,.template-actions select{width:100%;margin-top:10px}.item-editor-actions{display:grid}.item-row{grid-template-columns:1fr}.item-row-index{margin-bottom:0}.item-delete{width:100%}.local-executor-card{align-items:stretch;display:grid}.local-executor-head,.local-launch-panel,.source-mode-row{align-items:stretch;display:grid;grid-gap:10px;gap:10px}.local-executor-content{padding:10px}.batch-file-grid,.local-launch-actions,.runtime-strip,.uploader-options-grid,.uploader-progress-grid{display:grid;grid-template-columns:1fr}.local-launch-actions a,.segmented-control{width:100%}.runtime-strip{align-items:start}.cloud-browser-toolbar{grid-template-columns:36px 36px minmax(0,1fr)}.cloud-browser-input{grid-column:1/-1}.cloud-browser-login{grid-template-columns:1fr}.cloud-browser-feedback{grid-column:1/-1}.cloud-browser-actions{align-items:stretch;display:grid}.cloud-browser-screen{min-height:260px}.field+.field,.file-box+.file-box,.file-picker+.file-picker{margin-top:14px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-metrics,.data-center-page>.metric-grid,.pending-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.data-filter-bar,.data-split-grid,.operation-log-export{grid-template-columns:1fr}.operation-log-export-controls{align-items:stretch;display:grid;grid-template-columns:1fr}.operation-log-export-controls button{justify-content:center;width:100%}.operation-log-export-error{grid-column:1}.data-filter-note{justify-content:flex-start}.data-section-head{align-items:flex-start;display:grid;grid-gap:4px;gap:4px}.data-bar-row{grid-template-columns:minmax(100px,1fr) minmax(100px,1.5fr)}.data-bar-row>b{grid-column:2}.current-row,.progress-grid{grid-template-columns:1fr}.metric,.pending-card{min-width:0;padding:12px}.metric strong,.metric-value{font-size:18px;overflow-wrap:anywhere}.data-table-wrap,.table-wrap{max-width:100%;-webkit-overflow-scrolling:touch}.batch-summary-line{align-items:flex-start;display:flex;flex-wrap:wrap;gap:8px 12px}.batch-summary-line>strong{flex-basis:100%;overflow-wrap:anywhere}.batch-summary-toggle{margin-left:0}.topbar{align-items:start;display:grid;grid-template-columns:40px minmax(0,1fr)}.topbar .user-box{align-items:center;display:flex}}@media (max-width:420px){.content{padding:10px}.dashboard-metrics,.data-center-page>.metric-grid,.metric-grid,.pending-grid{gap:8px}.metric,.pending-card{padding:10px}.user-box .secondary-btn{min-height:38px;padding:0 12px}}@media (max-width:900px){.invoice-hero,.invoice-task-main{align-items:stretch;display:grid}.invoice-archive-actions,.invoice-export-actions,.invoice-file-row,.invoice-filter-row,.invoice-task-summary,.invoice-toolbar{grid-template-columns:1fr}.invoice-filter-row{display:grid;width:100%}.invoice-archive-actions,.invoice-export-actions,.invoice-toolbar{justify-items:stretch;width:100%}.invoice-archive-actions .secondary-btn,.invoice-archive-actions label,.invoice-archive-actions select,.invoice-export-actions .secondary-btn{width:100%}.invoice-task-summary{align-items:start}.invoice-task-money{text-align:left}.invoice-task-summary>.status-badge{justify-self:start}.invoice-register-button{min-height:42px;width:100%}.invoice-file-row{align-items:start}.invoice-file-row>svg:first-child{display:none}.invoice-file-row .icon-btn{width:100%}.invoice-form-grid,.invoice-metrics{grid-template-columns:1fr}.invoice-form-wide{grid-column:auto}.processor-hero,.processor-primary-action{align-items:stretch;display:grid}.processor-account-form,.processor-metrics,.processor-runtime-grid,.processor-step-grid{grid-template-columns:1fr}.processor-account-actions,.processor-account-form .template-message,.processor-account-note,.processor-clear-cookie,.processor-cookie-field{grid-column:auto}.processor-account-actions{align-items:stretch;display:grid}.processor-account-actions button{width:100%}.processor-step{border-bottom:1px solid var(--line);border-right:0;grid-template-columns:24px auto 1fr;padding:10px 0}.processor-step:last-child{border-bottom:0}.processor-step span,.processor-step strong{align-self:center}.processor-primary-action .primary-btn{width:100%}}