:root{--ink:#233b35;--muted:#7d8983;--green:#286552;--line:#e5ebe6;--canvas:#f6f8f5;--white:#fff}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font:14px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif}a{color:var(--green);text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);padding:9px 17px}button:hover{background:#edf3ee}input,select,textarea{width:100%;padding:10px 12px;border:1px solid #dce4de;border-radius:6px;background:white;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:#43836e;box-shadow:0 0 0 3px #28655210}h1,h2,h3,p{margin-top:0}h1{font-size:28px;letter-spacing:1px;margin-bottom:8px}h2{font-size:17px;font-weight:600}h3{font-size:15px}.muted{color:var(--muted)}.small{font-size:12px}.primary{background:var(--green);color:#fff;border-color:var(--green)}.primary:hover{background:#1d4e3e}.wide{width:100%}.sidebar{width:228px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:28px 18px 18px}.brand{display:flex;align-items:center;gap:12px;padding:0 12px;color:var(--ink);font-size:19px;font-weight:650}.brand small{display:block;color:var(--muted);font-size:10px;letter-spacing:2px;font-weight:400}.brand-icon{width:39px;height:42px;display:inline-flex;justify-content:center;align-items:center;background:var(--green);color:#fff;border-radius:11px 3px 11px 3px;font-size:21px}.nav-label{color:#9ba59d;font-size:10px;letter-spacing:2px;margin:34px 16px 10px}.sidebar nav{overflow:auto;flex:1}.sidebar nav a{display:flex;align-items:center;gap:13px;padding:10px 16px;margin:3px 0;border-radius:7px;color:#6c7a71}.nav-dot{width:6px;height:6px;border:1px solid #a3b1a9;border-radius:2px}.sidebar nav a.selected{background:#eaf2ed;color:#215b47;font-weight:600}.selected .nav-dot{background:var(--green);border-color:var(--green)}.sidebar-footer{font-size:11px;color:#738277;border-top:1px solid var(--line);padding:18px 12px 0}.sidebar-footer span{font-size:10px;color:#9ba59d}.workspace{margin-left:228px}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 36px;font-size:12px}.account{display:flex;align-items:center;gap:12px}.avatar{background:#eaf0e8;width:30px;height:30px;text-align:center;line-height:30px;border-radius:50%}.text-button{border:0;background:transparent;color:#879488;padding:0 4px}main{padding:33px 36px;max-width:1800px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;color:#7c927e;margin-bottom:10px}.date-label{color:#7d8983;font-size:12px;border:1px solid var(--line);background:#fff;padding:8px 12px;border-radius:6px}.notice{padding:12px 17px;border:1px solid #eadfbc;background:#fffaf0;color:#917641;border-radius:7px;font-size:12px;margin-bottom:20px}.success{background:#eef7f0;color:#36745b;border-color:#d5e6d9}.danger{background:#fff0ed;color:#a45142;border-color:#f0d8d1}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}.stat{position:relative;border:1px solid var(--line);background:#fff;border-radius:10px;padding:22px}.stat-index{position:absolute;right:20px;top:18px;font-size:12px;color:#c5cfc7}.stat p{font-size:12px;color:#829087;margin-bottom:10px}.stat strong{display:block;font-size:31px;letter-spacing:1px;font-weight:550}.stat small{display:block;font-size:10px;color:#a0aba3;margin-top:14px}.stat:first-child{border-top:3px solid var(--green)}.panel{background:#fff;border:1px solid var(--line);border-radius:10px;margin-bottom:22px;overflow:hidden}.panel-title{padding:21px 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eef2ee;gap:16px}.panel-title h2{margin:0}.panel-title a{font-size:12px}.panel-title small{font-size:11px;margin-left:8px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}th{background:#fafcf9;color:#8b978e;font-size:11px;font-weight:500;padding:13px 19px;white-space:nowrap}td{padding:16px 19px;border-bottom:1px solid #eff2ed;max-width:300px;overflow-wrap:anywhere}tbody tr:last-child td{border:0}tbody tr:hover{background:#fcfdfb}.badge{background:#edf3ed;color:#56755a;padding:4px 8px;border-radius:4px;font-size:11px;white-space:nowrap}.overview-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:22px}.workflow{padding:24px}.workflow>a{display:flex;gap:15px;align-items:center;border-top:1px solid var(--line);padding:20px 0;color:var(--ink)}.workflow>a:last-child{padding-bottom:0}.workflow b{color:#9bae92;font-weight:400;font-size:19px}.workflow small{display:block;font-size:10px;color:#929d91;margin-top:5px}.workflow a>span{margin-left:auto}.rules{padding:24px}.rules>div{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.rules p{margin:5px 0}.rules b{display:block;font-size:12px;font-weight:500}.rules span{display:block;color:#8d988e;font-size:11px;margin-top:6px}footer{display:flex;justify-content:space-between;font-size:10px;color:#a1aaa3;padding:10px 0}.form-panel{padding:0 24px}summary{cursor:pointer;font-weight:600;padding:17px 0}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:12px 0 24px}.form-grid label{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#738076}.full,.form-end{grid-column:1/-1}.check{flex-direction:row!important;align-items:center}.check input{width:auto}.search{display:flex;gap:8px}.search input{max-width:240px;font-size:12px}.pagination{display:flex;justify-content:space-between;padding:18px 24px;color:#9ba59c;font-size:11px}.pagination a{margin-left:18px}.empty{text-align:center;padding:60px;color:#9aa799}.detail{padding:24px}.actions a{margin-right:8px;white-space:nowrap}.login-body{min-height:100vh;display:grid;place-items:center;background:#edf2ec}.login-shell{display:grid;grid-template-columns:1fr 1fr;background:#fff;max-width:1000px;width:90%;border-radius:16px;overflow:hidden;box-shadow:0 22px 70px #263d3310}.login-intro{padding:70px 55px;background:#244f40;color:#f4f5ea;position:relative}.login-intro .eyebrow{color:#a4baa5}.login-intro h1{font-size:43px;line-height:1.45;margin-top:55px;font-weight:500;letter-spacing:4px}.login-intro p{font-size:12px;color:#b8cbbd;margin-top:25px}.login-mark{margin-top:130px;letter-spacing:6px;font-size:12px;color:#91ad9b}.login-form{padding:70px 55px}.login-form h2{font-size:23px;margin:28px 0 8px}.login-form form{margin:32px 0}.login-form label{display:block;margin:18px 0;font-size:12px}.login-form input{margin-top:9px}.login-form button{margin-top:12px}.error-card{max-width:650px;background:#fff;border-radius:12px;margin:100px auto;padding:45px}@media(max-width:1100px){.stats{grid-template-columns:repeat(2,1fr)}.overview-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:repeat(2,1fr)}main{padding:24px}.sidebar{width:195px}.workspace{margin-left:195px}}@media(max-width:720px){.sidebar{position:static;width:auto;padding:15px}.sidebar nav{display:flex;overflow:auto}.nav-label,.sidebar-footer{display:none}.sidebar nav a{white-space:nowrap;font-size:12px}.workspace{margin:0}.topbar{padding:0 20px;height:60px}.stats{gap:10px}.stat{padding:16px}.stat strong{font-size:24px}.form-grid,.rules>div{grid-template-columns:1fr}.date-label{display:none}.login-shell{grid-template-columns:1fr}.login-intro{display:none}.login-form{padding:40px 28px}main{padding:20px 14px}.panel-title{padding:17px;flex-wrap:wrap}h1{font-size:23px}}
:where(button){white-space:nowrap;flex-shrink:0}
.button{display:inline-flex;align-items:center;justify-content:center;padding:8px 15px;border:1px solid var(--line);border-radius:5px;font-size:13px;background:#fff;color:var(--ink);white-space:nowrap}.button.primary{background:var(--green);color:#fff;border-color:var(--green)}.button.selected{background:#e9f3ee;border-color:var(--green);color:var(--green)}.page-heading{margin-bottom:18px}.page-heading .eyebrow{display:none}.page-heading h1{font-size:23px}.page-heading p{margin-bottom:0}.list-toolbar{padding:20px;display:flex;align-items:center;justify-content:space-between;gap:15px}.toolbar-actions{display:flex;gap:10px;flex-wrap:wrap}.filter-bar{display:flex;gap:10px;flex-wrap:wrap;padding:0 20px 20px;border-bottom:1px solid var(--line)}.filter-bar input{width:250px}.filter-bar select{width:160px}.filter-bar input,.filter-bar select{padding:8px 10px}.operation-column{position:sticky;right:0;background:white;min-width:150px;box-shadow:-3px 0 6px #233b3505}th.operation-column{background:#fafcf9}.actions{white-space:nowrap}.inline-form{display:inline;margin:0}.row-button{border:0;padding:2px 5px;background:transparent;color:var(--green);font-size:12px}.danger-text{color:#bb4949}.badge.off{color:#84908b;background:#f0f2f1}.product-cell{display:flex;align-items:center;gap:12px;min-width:230px}.product-cell img,.image-placeholder{width:54px;height:54px;object-fit:cover;border-radius:5px;flex-shrink:0}.image-placeholder{display:grid;place-items:center;background:#f2f4f2;font-size:10px;color:#a1aaa5}.product-cell small{display:block;margin-top:5px}.operation-dialog{border:0;border-radius:10px;padding:0 25px 12px;width:min(820px,94vw);max-height:88vh;box-shadow:0 20px 90px #132b3440;color:var(--ink)}.operation-dialog::backdrop{background:#182c3b66}.dialog-heading{display:flex;align-items:center;justify-content:space-between;padding:17px 0;border-bottom:1px solid var(--line);margin-bottom:15px}.dialog-heading h2{margin:0}.dialog-heading button{border:0;font-size:22px;padding:0 8px}.operation-dialog .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.operation-dialog .form-end{text-align:right;border-top:1px solid var(--line);padding-top:18px}.editor-heading{display:flex;align-items:center;gap:20px;margin-bottom:18px}.editor-section{padding:24px 28px}.editor-section h2{display:flex;align-items:center;gap:10px;margin-bottom:22px}.step-number{display:inline-grid;place-items:center;width:24px;height:24px;font-size:12px;background:#e8f2ec;color:var(--green);border-radius:50%}.editor-fields{display:grid;grid-template-columns:2fr 1fr;gap:24px}.editor-fields.four{grid-template-columns:repeat(4,1fr)}.editor-fields label{display:flex;flex-direction:column;gap:8px;font-size:13px;position:relative}.editor-fields em{color:#cf5050;position:absolute;right:0;top:0}.editor-footer{position:sticky;bottom:0;z-index:4;display:flex;align-items:center;justify-content:space-between;background:white;border:1px solid var(--line);box-shadow:0 -4px 20px #233b3508;padding:16px 28px;border-radius:8px}.editor-footer>div{display:flex;gap:10px}.editor-footer .check{display:flex;gap:8px}.sku-tabs{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.image-gallery{display:flex;gap:14px;flex-wrap:wrap;min-height:20px;margin-bottom:18px}.gallery-card{width:132px;border:1px solid var(--line);border-radius:7px;position:relative;background:white;cursor:grab;overflow:hidden}.gallery-card>img{display:block;width:130px;height:130px;object-fit:cover}.gallery-card.dragging{opacity:.35}.gallery-badge{position:absolute;top:5px;left:5px;background:#286552df;color:white;border-radius:3px;padding:1px 7px;font-size:11px}.gallery-controls{display:flex;justify-content:space-between;border-top:1px solid var(--line)}.gallery-controls button{font-size:11px;padding:5px 8px;border:0;border-radius:0}.gallery-controls button:disabled{opacity:.3;cursor:default}.upload-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.upload-button{position:relative;cursor:pointer;overflow:hidden}.upload-button input{position:absolute;inset:0;opacity:0;cursor:pointer;padding:0}.rich-toolbar{display:flex;flex-wrap:wrap;background:#f7f9f8;border:1px solid #dce4de;border-radius:6px 6px 0 0;padding:8px;gap:5px}.rich-toolbar button,.rich-toolbar .button{font-size:12px;padding:5px 10px;background:#fff}.rich-editor{min-height:330px;max-height:850px;overflow:auto;border:1px solid #dce4de;border-top:0;border-radius:0 0 6px 6px;padding:22px;outline:none;font-size:15px;line-height:1.8}.rich-editor:focus{border-color:var(--green)}.rich-editor img{max-width:100%;height:auto}.rich-editor ul,.rich-editor ol{padding-left:28px}.rich-editor ul{list-style:disc}.rich-editor ol{list-style:decimal}.rich-editor blockquote{border-left:3px solid #b4ccbe;padding-left:16px;color:#728478}.align-center{text-align:center}.align-left{text-align:left}.align-right{text-align:right}.rich-editor h2{display:block;font-size:22px}.rich-editor h3{font-size:19px}.editor-section>p.muted{font-size:12px}.rich-editor+.muted{margin-top:12px}button:disabled{cursor:not-allowed;opacity:.6}@media(max-width:1000px){.editor-fields.four{grid-template-columns:repeat(2,1fr)}.operation-column{position:static}.filter-bar input{width:200px}}@media(max-width:720px){.editor-fields,.editor-fields.four{grid-template-columns:1fr}.editor-section{padding:20px}.list-toolbar{align-items:flex-start}.operation-dialog .form-grid{grid-template-columns:1fr}.filter-bar input,.filter-bar select{flex:1;min-width:120px}.editor-footer{padding:12px}.gallery-card{width:110px}.gallery-card>img{width:108px;height:108px}}
[hidden]{display:none!important}.logistics-timeline{list-style:none;padding-left:18px;border-left:2px solid #dce8df}.logistics-timeline li{padding:6px 0 12px}.logistics-timeline p{margin:4px 0}
.editor-fieldset{border:0;padding:0;margin:0;min-width:0}.editor-fieldset:disabled{opacity:.85}[data-lookup]{margin-top:14px}[data-lookup] .filter-bar{padding:12px 0;border:0}.lookup-selected{display:flex;gap:8px;flex-wrap:wrap}.selection-chip{background:#eaf4ed;color:#286552;font-size:12px;padding:5px 10px}.lookup-result{display:block;width:100%;text-align:left;border-radius:0;border-bottom:1px solid #e5ebe6}.evidence-gallery{display:flex;gap:12px;flex-wrap:wrap;margin:15px 0}.evidence-gallery img{width:130px;height:130px;object-fit:cover;border:1px solid #e5ebe6;border-radius:6px}.preserve-lines{white-space:pre-wrap}
#sku-management table{min-width:780px}#sku-management th{white-space:nowrap}#sku-management td:first-child{min-width:170px}#sku-management td:last-child{min-width:310px}#sku-management details{margin-top:10px}#sku-management details[open]{max-width:480px}#sku-management summary{cursor:pointer;color:var(--green,#286552)}

.banner-editor{grid-template-columns:repeat(2,minmax(0,1fr));padding:24px 28px}.banner-preview{display:block;width:100%;max-width:750px;aspect-ratio:2.5;object-fit:cover;border-radius:10px}.banner-preview[hidden]{display:none}.banner-thumbnail{width:160px;height:64px;object-fit:cover;border-radius:6px}.lookup-search{display:flex;gap:8px;margin-top:12px}@media(max-width:720px){.banner-editor{grid-template-columns:1fr;padding:20px}}
.permission-tree{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin:20px 0}.permission-tree fieldset{border:1px solid #e1e5e3;border-radius:8px;padding:14px}.permission-tree legend{font-weight:600;padding:0 6px}.permission-tree .check{display:flex;margin:8px 0}.permission-tree legend button{font-size:12px;padding:3px 6px}
.wang-container{border:1px solid #d9dfdc;border-radius:6px;--w-e-toolbar-active-color:#23634f;--w-e-textarea-bg-color:#fff}.wang-container [data-rich-toolbar]{border-bottom:1px solid #d9dfdc}.wang-container [data-rich-editor] table{border-collapse:collapse}.wang-container [data-rich-editor] td,.wang-container [data-rich-editor] th{border:1px solid #ccc;padding:8px}.w-e-full-screen-container{z-index:10000!important}.wang-container button{min-width:0;border-radius:0;margin:0}.wang-container p{margin:8px 0}
#role-editor{padding:24px}#role-editor>h2{margin-bottom:20px}#role-editor>form>label{display:block;margin-bottom:16px}#role-editor>form>label>input:not([type=checkbox]){max-width:480px}.roles-panel>.muted{margin:0 24px 18px}
.wang-container [data-rich-editor]{height:460px}.w-e-full-screen-container [data-rich-editor]{height:calc(100vh - 90px)}
/* Shared action spacing, including independent editors and modal forms. */
.form-end{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:12px}
.operation-dialog .form-end{justify-content:flex-end}
.editor-footer{gap:16px;flex-wrap:wrap}
.editor-footer>div{gap:12px;flex-wrap:wrap}
.row-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.row-actions>a,.row-actions .row-button{white-space:nowrap}

.button.danger-button{color:#ad3434;background:#fff1f1;border-color:#e3b5b5}.button.danger-button:hover{background:#ffe3e3;border-color:#cb7777}
/* Compact role-table actions keep the list's visual density. */
.roles-panel .row-actions{gap:8px}
.roles-panel .row-actions .button{height:28px;padding:0 10px;font-size:12px;line-height:26px;border-radius:4px;white-space:nowrap}
.roles-panel .row-actions .button.primary{background:#edf5f0;color:var(--green);border-color:#bdd5c8}
.roles-panel .row-actions .button.primary:hover{background:#deeee4;border-color:#8fb7a1}
/* Consistent compact admin actions; rich-text and image tools keep their own controls. */
:is(.toolbar-actions,.panel-title,.list-toolbar,.filter-bar,.editor-heading,.form-end,.editor-footer,.pagination) > :is(button,.button),.editor-footer>div>:is(button,.button){min-height:32px;padding:5px 12px;font-size:12px;line-height:20px;border-radius:4px}
.actions>a,.actions>button,.actions>form,.actions>div>button{display:inline-flex;vertical-align:middle;margin:2px 8px 2px 0}
.actions>form{padding:0}
.actions>a,.actions button,.row-button,.row-actions .button{display:inline-flex;align-items:center;justify-content:center;height:28px;padding:0 10px;font-size:12px;line-height:26px;border:1px solid #bdd5c8;border-radius:4px;background:#edf5f0;color:var(--green);white-space:nowrap;text-decoration:none}
.actions>a:hover,.actions button:hover,.row-button:hover{background:#deeee4;border-color:#8fb7a1}
.actions .danger-text,.row-button.danger-text,.actions .danger-button{background:#fff1f1;color:#ad3434;border-color:#e3b5b5}
.actions .danger-text:hover,.row-button.danger-text:hover,.actions .danger-button:hover{background:#ffe3e3;border-color:#cb7777}
.row-actions{gap:8px}

.home-placement{padding:18px;border:1px solid var(--line);border-radius:6px}.home-placement .check{margin-bottom:14px}.home-placement .muted{margin:12px 0 0}.home-placement .check input{width:auto}

.product-profile-fields{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.placement-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.placement-tags .badge{padding:1px 5px;font-size:10px}@media(max-width:720px){.product-profile-fields{grid-template-columns:1fr}}
/* System navigation and branding settings. */
.system-nav-group{margin-top:24px;padding-top:16px;border-top:1px solid #e0e8e1}.brand-name{flex:1;min-width:0;overflow:hidden}.brand-title,.brand-name small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-icon{flex-shrink:0}.brand-icon img{display:block;width:100%;height:100%;object-fit:contain;border-radius:inherit}.brand-icon.has-logo{background:transparent;overflow:hidden}.settings-panel form{padding:12px 24px}.settings-panel fieldset{border:0;padding:0;margin:0;min-width:0}.settings-logo-row{display:flex;align-items:center;gap:20px;margin-top:12px}.settings-logo-preview{width:88px;height:88px;flex:0 0 88px;background:#f1f6f0;border:1px solid #dce6dd;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#376b54;font-size:32px}.settings-logo-preview img{width:100%;height:100%;object-fit:contain}.settings-logo-preview [hidden]{display:none}.logo-file-label{display:inline-block;margin-right:12px;font-size:12px}.logo-file-label input{display:block;max-width:260px;margin-top:8px}.settings-logo-row p{font-size:12px;margin:10px 0}.settings-panel .form-end{gap:12px}@media(max-width:720px){.system-nav-group{margin-top:12px;padding-top:10px}.system-nav-group .nav-label{display:block}.settings-logo-row{align-items:flex-start;flex-wrap:wrap}}
@media(min-width:721px){.sidebar{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}}
.sidebar nav a.nav-child{margin-left:18px;padding-left:17px;font-size:12px}.nav-parent-label{display:flex;align-items:center;gap:12px;padding:14px 16px;color:#7d8983;font-size:13px}

.category-image-preview{display:block;width:84px;height:84px;object-fit:cover;border-radius:12px;margin:12px 0}.category-image-preview[hidden]{display:none}

.category-list-image{width:48px;height:48px;object-fit:cover;border-radius:10px}

.sku-editor-table input:not([type=checkbox]):not([type=hidden]){min-width:100px;width:100%;box-sizing:border-box}.sku-editor-table td:first-child{min-width:180px}[data-sku-row][hidden],[data-single-choice][hidden],[data-sku-add][hidden]{display:none}

.radio-options{display:flex;gap:24px;flex-wrap:wrap;margin:16px 0}.radio-options input[type=radio]{width:auto}[data-spec-panel]{border:1px solid #eadfe3;border-radius:12px;padding:16px;margin:16px 0}[data-spec-panel] legend{padding:0 8px;font-weight:600}[data-spec-panel][hidden],[data-commission-panel][hidden]{display:none}
