/* Scoped to the firmware section; other admin tables retain their widths. */
#firmware>h2{margin-bottom:20px}
#firmware .fw-upload{padding:22px;background:var(--panel);border:1px solid var(--line);border-radius:14px}
#firmware .fw-upload-panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden}
#firmware .fw-upload-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 22px;color:var(--text);font-weight:600;cursor:pointer;list-style:none}
#firmware .fw-upload-panel>summary::-webkit-details-marker{display:none}
#firmware .fw-upload-panel>summary::after{content:'';width:8px;height:8px;flex:none;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(45deg);margin-right:3px}
#firmware .fw-upload-panel[open]>summary{border-bottom:1px solid var(--line)}
#firmware .fw-upload-panel[open]>summary::after{transform:rotate(225deg)}
#firmware .fw-upload-panel>summary:hover{background:#1b283b}
#firmware .fw-upload-panel>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
#firmware .fw-upload-panel>.fw-upload{border:0;border-radius:0}
#firmware .fw-fields{display:grid;grid-template-columns:minmax(130px,1fr) minmax(180px,1.5fr) minmax(90px,.65fr) minmax(130px,.85fr);gap:18px}
#firmware label{display:flex;flex-direction:column;gap:8px;min-width:0;color:var(--muted);font-size:13px;font-weight:500}
#firmware input,#firmware select,#firmware textarea{box-sizing:border-box;width:100%;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--text);font:14px/1.5 system-ui,sans-serif}
#firmware input,#firmware select{min-height:44px}
#firmware input[readonly]{color:var(--muted);font:12px/1.5 ui-monospace,monospace}
#firmware .fw-field-file{grid-column:1/-1}
#firmware input[type=file]{padding:8px}
#firmware input[type=file]::file-selector-button{margin-right:12px;padding:7px 12px;border:1px solid var(--line);border-radius:6px;background:#20324e;color:var(--text);cursor:pointer}
#firmware .fw-descriptions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:22px;padding-top:22px;border-top:1px solid var(--line)}
#firmware textarea{min-height:110px;resize:vertical}
#firmware .fw-save{margin-top:20px;padding:10px 18px;background:#2869cc;border-color:#427fde;color:#fff;font-weight:600}
#firmware>p:empty{display:none}
#firmware>p:not(:empty){padding:10px 14px;border-radius:8px;background:var(--panel);color:var(--accent)}
#firmware>h3{margin:28px 0 12px;font-size:17px}
#firmware .fw-table-wrap table{table-layout:fixed;min-width:820px}
#firmware .fw-col-version{width:68px}
#firmware .fw-col-version_code{width:92px}
#firmware .fw-col-hardware{width:158px}
#firmware .fw-col-state{width:122px}
#firmware .fw-col-actions{width:130px}
#firmware .fw-table-wrap th{white-space:normal;line-height:1.4}
#firmware .fw-table-wrap th,#firmware .fw-table-wrap td{padding:14px 12px}
#firmware .fw-version,#firmware .fw-code{font-variant-numeric:tabular-nums;white-space:nowrap}
#firmware .fw-version{font-weight:650}
#firmware .fw-code{color:var(--muted)}
#firmware .fw-hardware{font:12px/1.6 ui-monospace,monospace;overflow-wrap:anywhere;color:var(--muted)}
#firmware .fw-changes{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}
#firmware .fw-actions button{display:block;width:100%;margin:0 0 8px;padding:6px 8px;font-size:12px}
#firmware .fw-actions button:last-child{margin-bottom:0}
#firmware button:disabled{cursor:default}
#firmware .fw-state{display:inline-block;padding:4px 8px;border-radius:6px;font-size:11px;line-height:1.5}
#firmware .fw-state-published{background:#153b32;color:#8ee6bf}
#firmware .fw-state-withdrawn{background:#4a2530;color:#ffafbb}
#firmware .fw-state-draft{background:#403722;color:#eed394}
@media(max-width:1200px){#firmware .fw-fields{grid-template-columns:repeat(2,minmax(0,1fr))}#firmware .fw-descriptions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){#firmware .fw-upload{padding:16px}#firmware .fw-fields,#firmware .fw-descriptions{grid-template-columns:1fr;gap:14px}#firmware .fw-col-hardware{width:140px}#firmware .fw-table-wrap table{min-width:820px}}

#firmware .fw-table-wrap{max-height:65vh;overflow:auto;scrollbar-gutter:stable}
#firmware .fw-table-wrap thead{position:sticky;top:0;z-index:1;background:var(--panel)}
#firmware tr[hidden]{display:none}
.admin-section-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:28px;padding:2px 5px;margin-right:10px;font-size:18px;line-height:1.1}
.admin-section-folded>.admin-section-heading .admin-section-toggle{transform:rotate(-90deg)}
main>section.admin-section-folded>:not(.admin-section-heading){display:none!important}

#store-orders .store-admin-order{padding:14px;margin:12px 0;border:1px solid var(--line);border-radius:10px}
#store-orders summary{cursor:pointer;font-weight:600}
#store-orders .store-order-form{display:grid;gap:12px;max-width:650px}
#store-orders .store-order-form label{display:grid;gap:6px}
#store-orders textarea{min-height:90px;resize:vertical}
#store-orders input,#store-orders select,#store-orders textarea{max-width:100%;box-sizing:border-box;font:inherit;color:inherit;background:var(--panel);border:1px solid var(--line);padding:8px;border-radius:6px}

main>section>.admin-section-heading{justify-content:flex-start;gap:10px}
main>section>.admin-section-heading>h2{flex:1;margin:0}
main>section>.admin-section-heading>.admin-section-toggle{margin-right:0;flex:none}
