
:root{--page:#f6f7f9;--surface:#fff;--text:#17191c;--muted:#667085;--border:#e6e8ec;--primary:#6d42f5;--primary-soft:#f2edff;--success:#12b76a;--warning:#f79009;--danger:#f04438;--sidebar:216px;--topbar:56px;--radius:10px;--gap:16px}
*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--text);font:14px system-ui,"Microsoft YaHei",sans-serif}main{min-height:100vh}h1{font-size:22px;line-height:1.35;margin:0 0 5px}h2{font-size:16px;margin:0 0 12px}.muted{color:var(--muted)}.hidden{display:none!important}.notice{padding:10px;background:var(--primary-soft);color:#5130bf;border-radius:7px;margin-top:10px}.error{background:#fff0f0;color:#ae1b1b}
#login{max-width:420px;margin:10vh auto;padding:24px}#login .card{margin-top:24px}#login button{width:100%}
.admin-layout{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);height:100vh;min-height:620px}.sidebar{background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:20px 14px;overflow-y:auto}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:4px 8px 22px;font-size:16px;font-weight:700;line-height:1.3}.brand-mark{width:34px;height:34px;flex:none;display:grid;place-items:center;background:var(--primary);border-radius:9px;color:#fff;font-weight:700}.nav-label{padding:20px 12px 7px;color:#98a2b3;font-size:11px;font-weight:700;letter-spacing:.08em}.nav-link{display:flex;align-items:center;gap:11px;color:#475467;text-decoration:none;border-radius:8px;padding:11px 12px;font-weight:600}.nav-link:hover,.nav-link:focus-visible{background:#f7f7fb;color:var(--primary)}.nav-link.active{background:var(--primary-soft);color:var(--primary)}.nav-icon{display:inline-grid;place-items:center;width:18px;font-size:16px;font-weight:400}.sidebar-foot{margin-top:auto;border-top:1px solid var(--border);padding-top:12px}.sidebar-foot .nav-link{font-size:13px}
.admin-workspace{display:flex;min-width:0;min-height:0;flex-direction:column}.topbar{height:var(--topbar);flex:none;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 24px}.product-context{border:1px solid var(--border);border-radius:8px;padding:8px 12px;color:#344054;font-weight:600;background:#fff}.topbar-right{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:12px}.topbar-user{display:flex;align-items:center;gap:8px;color:var(--text);font-weight:600}.topbar-user small{display:block;color:var(--muted);font-size:11px;font-weight:400}.user-avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--primary);color:#fff}.topbar button{margin:0}.content-scroll{overflow:auto;min-height:0;padding:24px}.content-inner{max-width:1500px;margin:auto}.admin-view{display:none}.admin-view.active{display:block}.page-header{margin-bottom:16px}.page-header p{margin:3px 0 0;color:var(--muted)}.eyebrow{color:var(--primary);font-size:12px;font-weight:700;margin-bottom:5px}.quick-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.quick-links a{color:var(--primary);text-decoration:none;background:var(--primary-soft);border-radius:7px;padding:9px 12px;font-weight:600}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;margin:0 0 var(--gap)}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap)}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end}.card h2{margin-bottom:14px}label{display:block;font-weight:600;margin:10px 0 5px}input,select,textarea{padding:9px;border:1px solid #d5dce8;border-radius:7px;font:inherit;width:100%;background:#fff;color:var(--text)}input[type=checkbox]{width:auto}button{background:var(--primary);color:#fff;border:1px solid var(--primary);border-radius:7px;padding:9px 13px;margin:10px 6px 0 0;cursor:pointer;font:inherit;font-weight:600}button:hover{filter:brightness(.96)}button.secondary{background:#fff;color:#475467;border-color:#d5dce8}button.danger{background:var(--danger);border-color:var(--danger)}button:disabled{opacity:.45;cursor:not-allowed}
.admin-table-wrap{width:100%;overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}td,th{text-align:left;padding:12px 10px;border-bottom:1px solid var(--border)}th{background:#f8faff;color:#667085;font-size:12px;font-weight:600}td{height:48px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px}.toolbar-title{display:flex;align-items:center;gap:10px}.toolbar-title h2{margin:0}.toolbar>div:last-child{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.toolbar input,.toolbar select{width:auto;min-width:110px}.pill{display:inline-block;padding:3px 8px;border-radius:99px;background:#e8fbf1;color:#087443}.pill.off{background:#f1f2f4;color:#667085}.key-output{font-family:ui-monospace,monospace;white-space:pre-wrap;word-break:break-all;background:#f8faff;padding:10px;border-radius:7px;margin-top:10px}
.admin-modal-backdrop{position:fixed;inset:0;background:#10182866;display:grid;place-items:center;z-index:50}.admin-modal{width:min(520px,calc(100vw - 32px));max-height:calc(100vh - 40px);overflow:auto;background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:0 22px 60px #10182826}.admin-drawer-backdrop{position:fixed;inset:0;background:#10182855;z-index:50}.admin-drawer{position:absolute;right:0;top:0;height:100%;width:min(520px,100vw);overflow:auto;background:#fff;border-left:1px solid var(--border);padding:24px;box-shadow:-12px 0 35px #1018281a}
.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap);margin-bottom:var(--gap)}.stat-card{min-height:124px;margin:0;display:flex;flex-direction:column;justify-content:space-between}.stat-label{color:var(--muted);font-size:13px}.stat-value{font-size:28px;font-weight:700;line-height:1.15;font-variant-numeric:tabular-nums}.stat-meta{color:var(--muted);font-size:12px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:var(--gap)}.dashboard-grid .card{min-width:0}.dashboard-grid .wide{grid-column:1/-1}.data-empty{color:var(--muted);padding:20px 0}.summary-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}.summary-list div{padding:12px;background:#f8faff;border-radius:8px}.summary-list dt{font-size:12px;color:var(--muted)}.summary-list dd{margin:6px 0 0;font-weight:600;word-break:break-word}.product-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);gap:var(--gap)}.product-card-head{display:flex;align-items:center;gap:14px}.product-card-head h2{margin:0 0 3px}.product-logo{width:54px;height:54px;border:1px solid var(--border);border-radius:11px;object-fit:contain;background:#fff}.product-logo-placeholder{width:54px;height:54px;border-radius:11px;background:var(--primary);color:#fff;display:grid;place-items:center;font-size:22px;font-weight:700}.product-card-head .pill{margin-left:auto}.product-actions{display:flex;justify-content:flex-end;margin-top:15px}.product-actions a,.detail-back{display:inline-block;text-decoration:none;color:#fff;background:var(--primary);border-radius:7px;padding:9px 13px;font-weight:600}.detail-back{background:none;color:var(--primary);padding:0;margin-bottom:12px}.detail-tabs{border-bottom:1px solid var(--border);margin-bottom:16px}.detail-tabs span{display:inline-block;padding:11px 14px;border-bottom:2px solid var(--primary);color:var(--primary);font-weight:600}.logo-preview{display:flex;align-items:center;gap:14px;padding:14px;border:1px dashed #cbd5e1;border-radius:8px;background:#fbfcff;margin:12px 0}.logo-preview img{width:64px;height:64px;object-fit:contain}.brand-form{max-width:820px}
.page-actions{display:flex;justify-content:space-between;align-items:start;gap:12px}.page-actions>button{margin:0}.section-note{color:var(--muted);font-size:12px;margin:-6px 0 14px}.filter-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0 14px}.filter-bar input{max-width:260px}.filter-bar select{width:auto;min-width:130px}.filter-bar button{margin:0}.status-badge{display:inline-block;padding:4px 9px;border-radius:99px;font-size:12px;font-weight:700;white-space:nowrap}.status-badge.good{background:#e8fbf1;color:#087443}.status-badge.warn{background:#fff3e6;color:#b54708}.status-badge.neutral{background:#f1f2f4;color:#667085}.status-badge.bad{background:#fef0ef;color:#b42318}.row-actions{display:flex;align-items:center;gap:6px}.row-actions button{margin:0;padding:6px 9px}.row-actions details{position:relative}.row-actions summary{list-style:none;cursor:pointer;border:1px solid #d5dce8;border-radius:7px;padding:6px 9px;color:#475467}.row-actions summary::-webkit-details-marker{display:none}.row-actions .row-menu{position:absolute;right:0;top:calc(100% + 4px);min-width:130px;padding:6px;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 10px 25px #1018281f;z-index:3}.row-actions .row-menu button{display:block;width:100%;text-align:left;background:#fff;border:0;color:var(--danger);padding:8px}.row-actions .row-menu button:hover{background:#fff0ef}.card-code{font:12px ui-monospace,monospace}.admin-modal .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.modal-head h2{margin:0}.modal-head button{margin:0}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.modal-actions button{margin:0}.auth-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap)}.auth-settings-grid .card{min-width:0}#cardStats{grid-template-columns:repeat(5,minmax(0,1fr))}
 .customer-id{display:block;color:var(--muted);font-size:11px;margin-top:3px}.drawer-section{border-top:1px solid var(--border);padding:17px 0}.drawer-section:first-child{border-top:0;padding-top:0}.drawer-section h3{font-size:15px;margin:0 0 12px}.drawer-meta{display:grid;grid-template-columns:120px minmax(0,1fr);gap:9px 12px;margin:0}.drawer-meta dt{color:var(--muted)}.drawer-meta dd{margin:0;overflow-wrap:anywhere}.drawer-item{border:1px solid var(--border);border-radius:8px;padding:11px;margin:8px 0;overflow-wrap:anywhere}.drawer-item strong{display:block}.drawer-item p{color:var(--muted);font-size:12px;margin:5px 0}.drawer-item button{margin:4px 6px 0 0}.drawer-actions{display:flex;flex-wrap:wrap;gap:7px}.drawer-actions button{margin:0}.device-note{padding:10px 12px;border-radius:8px;background:#f8faff;color:var(--muted);font-size:12px;margin:0 0 14px}.protocol-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap)}.protocol-editor .card{margin:0}.protocol-editor textarea{min-height:360px;resize:vertical;line-height:1.65}.protocol-meta{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:10px;font-size:12px}.action-drawer .drawer-actions button{width:100%;text-align:left;padding:11px 12px}.action-drawer .drawer-actions{display:grid;gap:8px}
.system-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.system-summary div{padding:13px;background:#f8faff;border-radius:8px}.system-summary dt{font-size:12px;color:var(--muted)}.system-summary dd{font-size:20px;font-weight:700;margin:5px 0 0}.audit-filter{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0 14px}.audit-filter input,.audit-filter select{width:auto;min-width:130px}.audit-filter input[type=search]{min-width:240px}.audit-result{white-space:pre-wrap;word-break:break-word;max-width:420px}.backup-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0 16px}.backup-status div{border:1px solid var(--border);border-radius:8px;padding:13px}.backup-status strong{display:block;font-size:15px}.backup-status span{display:block;color:var(--muted);font-size:12px;margin-top:5px}.safety-note{border-left:3px solid var(--warning);background:#fff9ed;color:#7a4b08;padding:11px 13px;border-radius:0 7px 7px 0;margin:12px 0}.audit-drawer{width:min(560px,100vw)}
@media(max-width:1120px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#cardStats{grid-template-columns:repeat(3,minmax(0,1fr))}.product-layout,.dashboard-grid{grid-template-columns:1fr}}
@media(max-width:1000px){.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid,.auth-settings-grid{grid-template-columns:1fr}.topbar{padding:0 16px}.content-scroll{padding:16px}}@media(max-width:760px){.admin-layout{grid-template-columns:68px minmax(0,1fr)}.sidebar{padding:15px 8px}.sidebar-brand{padding:4px 8px 20px}.sidebar-brand span:last-child,.nav-link>span:not(.nav-icon):not(.feedback-unread-badge),.nav-label,.sidebar-foot{display:none}.nav-link{justify-content:center;position:relative}.nav-link .feedback-unread-badge{position:absolute;top:0;right:0;margin:0}.toolbar{align-items:flex-start;flex-direction:column}.topbar-right .topbar-user{display:none}.form-grid,.admin-modal .form-grid{grid-template-columns:1fr}#cardStats{grid-template-columns:repeat(2,minmax(0,1fr))}}


body.modal-open{overflow:hidden}
.audit-filter{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0 14px}
.audit-filter input,.audit-filter select{height:38px}
.admin-table-wrap td code{display:inline-block;max-width:280px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}
.admin-table-wrap td code.card-code{max-width:220px}
.global-notice{position:fixed;left:50%;top:76px;transform:translateX(-50%);z-index:70;max-width:min(560px,calc(100vw - 48px));min-width:280px;text-align:center;box-shadow:0 8px 24px #1018281f}


.pager-meta{display:flex;align-items:center;gap:10px;margin-left:10px;color:#667085;font-size:13px}.pager-meta select{height:34px}.danger-ghost{color:#b42318;border-color:#fecdca;background:#fff}.inline-form{display:grid;gap:12px}.inline-form label{display:grid;gap:6px}.modal-actions .danger{background:#b42318}.archive-row{opacity:.72}
.checkbox-row{display:flex!important;align-items:center;gap:8px;min-height:40px;margin:0!important;font-weight:600;cursor:pointer}.checkbox-row input[type=checkbox]{width:16px;height:16px;flex:none;margin:0}.checkbox-row span{line-height:1.4}
.table-check{display:inline-flex;align-items:center;justify-content:center;margin:0!important;font-weight:400}.table-check input{width:16px!important;height:16px;margin:0}.select-column{width:118px;text-align:center!important}.select-column .table-check{width:100%;min-height:24px}.bulk-header-check{display:inline-flex;align-items:center;justify-content:center;gap:6px;margin:0!important;white-space:nowrap;cursor:pointer}.bulk-header-check input{width:16px!important;height:16px;margin:0;flex:none}.bulk-header-check span{font-size:12px}.bulk-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:#fbfcff}.bulk-heading{font-size:12px;color:#475467;font-weight:700;padding-right:2px}.bulk-toolbar .muted{font-size:12px}.bulk-toolbar button{margin:0}.bulk-toolbar select,.bulk-toolbar input{width:auto;min-width:130px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}


/* Keep row action menus visible above scrollable table containers. */
.admin-table-wrap:has(details[open]) { overflow: visible; }
.row-actions .row-menu { min-width: 150px; z-index: 20; }


.content-inner{width:100%;max-width:none;margin:0;min-width:0}.admin-view{min-width:0}.admin-view[data-view="products"] .product-layout,.admin-view[data-view="product"] .product-layout{max-width:1600px}.admin-view[data-view="protocols"] .protocol-editor{max-width:1700px}
.nav-icon{width:20px;height:20px;flex:none;font-size:0}.nav-icon svg,.context-icon{width:19px;height:19px;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.nav-link{min-height:42px}.nav-link.active .nav-icon{color:var(--primary)}.product-context{display:inline-flex;align-items:center;gap:7px}.sidebar-foot .nav-icon{color:var(--muted)}
.card,.stat-card,.product-layout>*{min-width:0}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}#cardStats{grid-template-columns:repeat(5,minmax(0,1fr))}.toolbar{flex-wrap:wrap;align-items:center}.toolbar>div:last-child{min-width:0}.filter-bar,.audit-filter{row-gap:10px}.filter-bar input[type="search"],.filter-bar input:not([type]),.audit-filter input[type="search"]{flex:1 1 230px;max-width:360px;min-width:180px}.filter-bar select,.filter-bar input[type="date"],.audit-filter select,.audit-filter input[type="date"]{flex:0 1 auto}.bulk-toolbar{min-width:0}.admin-modal{max-width:min(560px,calc(100vw - 24px))}.admin-drawer{width:min(620px,100vw)}.drawer-meta dd,.drawer-item{min-width:0;overflow-wrap:anywhere}.modal-head{position:sticky;top:-20px;z-index:1;background:#fff;padding:12px 0}
.admin-table-wrap{min-width:0;overflow-x:auto}.admin-table-wrap:has(details[open]){overflow-x:auto}.admin-table-wrap table{width:100%;table-layout:fixed;white-space:normal}.admin-table-wrap table:has(td[colspan]){table-layout:auto}.admin-table-wrap th,.admin-table-wrap td{min-width:0;overflow-wrap:anywhere;vertical-align:middle;padding:10px 8px}.admin-table-wrap th{white-space:nowrap}.admin-table-wrap td code,.admin-table-wrap td strong,.admin-table-wrap td .customer-id{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-table-wrap td code{vertical-align:baseline}.admin-table-wrap td .status-badge{max-width:100%;overflow:hidden;text-overflow:ellipsis}.admin-table-wrap .row-actions{flex-wrap:wrap;gap:5px}.admin-table-wrap .row-actions button{white-space:nowrap}.admin-table-wrap td>button{margin:0;white-space:nowrap}.admin-table-wrap .select-column{width:108px}.admin-table-wrap .bulk-header-check{gap:5px}.admin-table-wrap .bulk-header-check span{font-size:11px}.admin-table-wrap .table-check{min-height:22px}
[data-view="customers"] .admin-table-wrap th:nth-child(2){width:25%}[data-view="customers"] .admin-table-wrap th:last-child{width:255px}[data-view="customers"] .admin-table-wrap td:nth-child(2) strong{font-size:12px}[data-view="customers"] .admin-table-wrap td:nth-child(2) .customer-id{font-size:11px}
[data-view="licenses"] .admin-table-wrap th:nth-child(2){width:28%}[data-view="licenses"] .admin-table-wrap th:last-child{width:245px}
[data-view="cards"] .admin-table-wrap th:nth-child(2){width:17%}[data-view="cards"] .admin-table-wrap th:nth-child(3){width:12%}[data-view="cards"] .admin-table-wrap th:last-child{width:112px}
[data-view="devices"] .admin-table-wrap th:first-child{width:25%}[data-view="devices"] .admin-table-wrap th:last-child{width:170px}[data-view="devices"] .admin-table-wrap td code{max-width:100%}
[data-view="admins"] .admin-table-wrap th:first-child{width:23%}[data-view="admins"] .admin-table-wrap th:last-child{width:215px}
[data-view="audit"] .admin-table-wrap th:nth-child(2){width:150px}[data-view="audit"] .admin-table-wrap th:nth-child(7){width:22%}[data-view="audit"] .admin-table-wrap th:last-child{width:86px}[data-view="audit"] .admin-table-wrap .audit-result{max-width:none;max-height:52px;overflow:hidden;text-overflow:ellipsis}
[data-view="cards"] .filter-bar input:not([type]){flex-basis:180px;max-width:240px}[data-view="cards"] .filter-bar input[type="date"]{width:175px;min-width:150px}[data-view="cards"] .filter-bar select{min-width:108px}
[data-view="customers"] .admin-table-wrap th:last-child{width:132px;text-align:right}[data-view="customers"] .admin-table-wrap .row-actions{justify-content:flex-end;flex-wrap:nowrap;gap:6px}[data-view="customers"] .admin-table-wrap .row-actions button{height:34px;margin:0}[data-view="customers"] .row-action-more{width:34px;padding:0;display:inline-grid;place-items:center;flex:none}[data-view="customers"] .row-action-more svg{display:block;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:1800px){[data-view="cards"] .admin-table-wrap th:nth-child(8),[data-view="cards"] .admin-table-wrap td:nth-child(8),[data-view="cards"] .admin-table-wrap th:nth-child(9),[data-view="cards"] .admin-table-wrap td:nth-child(9){display:none}}
@media(max-width:1650px){[data-view="customers"] .admin-table-wrap th:nth-child(8),[data-view="customers"] .admin-table-wrap td:nth-child(8){display:none}[data-view="customers"] .admin-table-wrap th:nth-child(2){width:27%}}
@media(max-width:1450px){[data-view="customers"] .admin-table-wrap th:nth-child(5),[data-view="customers"] .admin-table-wrap td:nth-child(5){display:none}[data-view="cards"] .admin-table-wrap th:nth-child(6),[data-view="cards"] .admin-table-wrap td:nth-child(6){display:none}[data-view="audit"] .admin-table-wrap th:nth-child(6),[data-view="audit"] .admin-table-wrap td:nth-child(6){display:none}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#cardStats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1120px){[data-view="customers"] .admin-table-wrap th:nth-child(7),[data-view="customers"] .admin-table-wrap td:nth-child(7){display:none}[data-view="cards"] .admin-table-wrap th:nth-child(7),[data-view="cards"] .admin-table-wrap td:nth-child(7){display:none}.admin-table-wrap table{min-width:760px}.admin-view:not([data-view="dashboard"]) .admin-table-wrap th:last-child,.admin-view:not([data-view="dashboard"]) .admin-table-wrap td:last-child:not([colspan]){position:sticky;right:0;z-index:1;background:#fff;box-shadow:-1px 0 var(--border)}.admin-view:not([data-view="dashboard"]) .admin-table-wrap th:last-child{background:#f8faff}.dashboard-grid,.product-layout,.protocol-editor{grid-template-columns:1fr}}
@media(max-width:760px){.content-scroll{padding:14px}.admin-layout{grid-template-columns:64px minmax(0,1fr)}.sidebar{padding:14px 7px}.nav-link{justify-content:center}.nav-icon{width:20px;height:20px}.product-context{padding:7px}.topbar-right>span:first-child{display:none}.stat-grid,#cardStats{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-bar input,.audit-filter input{max-width:none}.admin-modal{width:calc(100vw - 24px)}.admin-drawer{padding:18px}.page-actions{align-items:flex-start;flex-wrap:wrap}.page-actions>button{margin:0}}


.update-filter-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:4px 0 14px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:#fbfcff}
.update-filter-bar input,.update-filter-bar select{height:36px;width:auto;min-width:150px}.update-filter-bar input[type=search]{flex:1 1 240px;max-width:360px}.update-filter-bar .update-count{margin-left:auto;color:var(--muted);font-size:12px}
.updates-table-wrap{width:100%;overflow-x:auto}.updates-table{min-width:900px;table-layout:fixed!important}.updates-table th,.updates-table td{vertical-align:middle}.updates-table th:nth-child(1){width:86px}.updates-table th:nth-child(2){width:24%}.updates-table th:nth-child(3){width:24%}.updates-table th:nth-child(4){width:115px}.updates-table th:nth-child(5){width:150px}.updates-table th:nth-child(6){width:118px}.updates-table th:last-child{width:150px}.updates-table td code{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.update-row-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.update-row-actions button{margin:0;white-space:nowrap}.update-pager{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:12px}.update-pager button{margin:0;padding:6px 10px}.update-pager span{color:var(--muted);font-size:12px;min-width:90px;text-align:center}.update-status-note{display:block;margin-top:4px;color:var(--muted);font-size:11px;white-space:normal}
@media(max-width:760px){.update-filter-bar .update-count{width:100%;margin-left:0}.updates-table{min-width:860px}}
.feedback-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:var(--gap);margin-bottom:var(--gap)}
.feedback-image-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.feedback-image-button{width:96px;height:72px;padding:0;border:1px solid var(--border);border-radius:8px;background:#fff;overflow:hidden;cursor:zoom-in}.feedback-image{display:block;width:100%;height:100%;object-fit:cover}.feedback-image-preview{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:32px;background:rgba(15,23,42,.78);cursor:zoom-out}.feedback-image-preview img{max-width:min(92vw,1200px);max-height:90vh;object-fit:contain;background:#fff;border-radius:8px}.feedback-image-preview-close{position:absolute;top:20px;right:24px;width:36px;height:36px;border:0;border-radius:50%;background:#fff;color:#344054;font-size:24px;cursor:pointer}.feedback-category-head{margin-top:18px}.feedback-category-head h3{margin:0}.feedback-categories{display:grid;gap:8px;margin:10px 0 4px}.feedback-category-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) auto;gap:8px;align-items:center}.feedback-category-row input{min-width:0}.feedback-category-row button{margin:0;padding:7px 10px}.feedback-detail-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}.feedback-detail-meta div{padding:10px;background:#f8faff;border-radius:8px}.feedback-detail-meta dt{font-size:12px;color:var(--muted)}.feedback-detail-meta dd{margin:4px 0 0;font-weight:600;word-break:break-word}.feedback-description{white-space:pre-wrap;background:#f8faff;border:1px solid var(--border);border-radius:8px;padding:12px;line-height:1.6;overflow-wrap:anywhere}.feedback-thread{display:grid;gap:10px;margin:12px 0 18px}.feedback-message{padding:11px 12px;border:1px solid var(--border);border-radius:8px;background:#fff}.feedback-message.admin{background:#f4f8ff;border-color:#c9d9f4}.feedback-message p{white-space:pre-wrap;margin:7px 0 0;line-height:1.6;overflow-wrap:anywhere}.feedback-message small{color:var(--muted)}.feedback-attachment{font-size:12px;color:var(--muted);margin-top:8px}.feedback-drawer{width:min(680px,100vw)}.feedback-drawer textarea{min-height:110px}.feedback-drawer .modal-actions{margin-top:12px}.feedback-log-panel{margin:16px 0}.feedback-log-action-msg{color:var(--muted);font-size:12px;align-self:center}.feedback-log-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.feedback-log-title h3{margin-bottom:0}.feedback-log-actions{display:flex;gap:8px;margin:8px 0}.feedback-log-content{max-height:520px;overflow:auto;white-space:pre-wrap;word-break:break-word;background:#101828;color:#d0d5dd;border-radius:8px;padding:12px;font:12px/1.5 Consolas,monospace}.feedback-log-link{padding:2px 7px;font-size:12px}
@media(max-width:900px){.feedback-layout{grid-template-columns:1fr}.feedback-detail-meta{grid-template-columns:1fr}}


.workbench-shell{min-height:100vh;background:linear-gradient(180deg,#f7f9fc 0%,#eef3f9 100%);color:#17233c}
.workbench-topbar{height:72px;background:#fff;border-bottom:1px solid #e5eaf2;display:flex;align-items:center;justify-content:space-between;padding:0 48px;gap:20px}
.workbench-brand{display:flex;align-items:center;gap:12px;font-weight:750;font-size:17px}.workbench-brand .brand-mark{background:#2458d3;box-shadow:0 6px 14px #2458d333}
.workbench-user{display:flex;align-items:center;gap:12px;color:#52627b}.workbench-user strong{display:block;color:#17233c;font-size:13px}.workbench-user small{display:block;font-size:12px;margin-top:2px}.workbench-user button{margin:0}
.workbench-content{max-width:1240px;margin:0 auto;padding:52px 40px 64px}.workbench-kicker{color:#3867dc;font-size:12px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.workbench-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px}.workbench-heading h1{font-size:32px;letter-spacing:-.02em;margin:8px 0 8px}.workbench-heading p{color:#6b7890;margin:0;max-width:680px;line-height:1.7}.workbench-heading .workbench-meta{color:#7c8aa2;font-size:13px;text-align:right;white-space:nowrap}
.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.product-entry{position:relative;background:#fff;border:1px solid #e0e6ef;border-radius:16px;padding:24px;min-height:248px;display:flex;flex-direction:column;box-shadow:0 8px 24px #243b5a0a;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.product-entry:not(.is-disabled):hover{transform:translateY(-3px);border-color:#9db6f1;box-shadow:0 14px 34px #243b5a18}.product-entry.is-disabled{background:#fbfcfe;opacity:.78}.product-entry-head{display:flex;align-items:flex-start;gap:16px}.product-icon{width:56px;height:56px;border-radius:15px;display:grid;place-items:center;color:#fff;font-size:23px;font-weight:800;flex:none;box-shadow:inset 0 0 0 1px #ffffff33}.product-icon.image{background:linear-gradient(135deg,#5a7af0,#7c55dd)}.product-icon.video{background:linear-gradient(135deg,#ec6b57,#e53e69)}.product-icon.butterfly{background:linear-gradient(135deg,#3cbf9d,#1b9fba)}.product-icon.demand{background:linear-gradient(135deg,#f1a83b,#eb6a45)}.product-entry h2{font-size:19px;margin:2px 0 6px}.product-entry .desc{color:#718096;font-size:13px;line-height:1.65;margin:0}.product-status{margin-left:auto;display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;background:#eaf8f0;color:#127348;font-size:12px;font-weight:700;white-space:nowrap}.product-status.planned{background:#f2f4f7;color:#718096}.product-status::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.product-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:24px 0 18px;padding-top:18px;border-top:1px solid #edf0f4}.product-stat label{display:block;color:#8a96a8;font-size:11px;margin:0 0 5px}.product-stat strong{font-size:17px;font-variant-numeric:tabular-nums}.product-entry-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:auto}.product-version{color:#8995a8;font-size:12px}.product-entry button{margin:0;border-radius:8px;padding:9px 15px}.product-entry button.secondary{background:#fff}.workbench-notice{margin-top:26px;padding:15px 18px;border:1px solid #dbe5f6;background:#f6f9ff;border-radius:11px;color:#5f6f88;font-size:13px;line-height:1.7}.workbench-notice strong{color:#314a76}
@media(max-width:800px){.workbench-topbar{padding:0 20px}.workbench-content{padding:34px 20px 48px}.workbench-heading{display:block}.workbench-heading .workbench-meta{text-align:left;margin-top:12px}.product-grid{grid-template-columns:1fr}}
@media(max-width:480px){.workbench-topbar{height:64px}.workbench-brand{font-size:15px}.workbench-brand .brand-mark{width:32px;height:32px}.workbench-user small{display:none}.workbench-heading h1{font-size:27px}.product-entry{padding:20px}.product-status{font-size:11px}.product-stats{gap:6px}.product-stat strong{font-size:15px}}
