:root{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:#18342c;background:#f4f8f5;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 90% 0%,#e0efe2,transparent 37%),#f4f8f5}button,input{font:inherit}button{cursor:pointer}.topbar{height:66px;background:#163d2e;color:#fff;padding:0 clamp(16px,4vw,50px);display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:10;box-shadow:0 7px 28px #173e2b20}.mark{width:39px;height:39px;object-fit:contain;flex:none}.brand{display:flex;flex-direction:column;line-height:1.22}.brand strong{font-size:17px;letter-spacing:-.4px}.brand small{font-size:11px;color:#d2e8d8}.version{margin-left:auto;border:1px solid #729485;border-radius:8px;padding:4px 8px;font-size:11px}.language{background:transparent;border:1px solid #729485;color:#fff;border-radius:9px;padding:7px 9px}.layout{max-width:1080px;margin:32px auto;padding:0 20px 50px}.panel{background:white;border:1px solid #dde9df;border-radius:21px;padding:24px;box-shadow:0 8px 32px #163a2820}.auth{max-width:480px;margin:clamp(10px,6vh,65px) auto}.auth .icon{background:#e5f3e7;color:#145d3c;width:58px;height:58px;border-radius:18px;font-size:30px;display:grid;place-items:center}h1{font-size:clamp(24px,3.4vw,35px);margin:16px 0 8px;line-height:1.13;letter-spacing:-.7px}h2{font-size:17px;margin:0 0 8px}.muted{color:#667d72;line-height:1.5}.small{font-size:12px}form{display:grid;gap:9px;margin-top:20px}label{font-size:13px;font-weight:650;margin-top:6px}input{height:47px;border:1px solid #bdcfc4;border-radius:11px;padding:0 13px;width:100%;background:#f9fcfa;color:#193729;min-width:0}input:focus{outline:2px solid #2f8c5b;outline-offset:1px}.primary{background:#256744;color:white;border:0;padding:14px;border-radius:12px;font-weight:700;margin-top:7px}.primary:hover{background:#1d5538}.error{min-height:16px;color:#ae3030;font-size:13px;margin:0}.intro{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:10px 0 24px}.eyebrow{font-size:10px;color:#56866b;font-weight:800;letter-spacing:1.2px}.intro h1{margin:8px 0}.ghost{border:1px solid #bed1c5;background:white;border-radius:10px;padding:10px 13px;color:#24593c;flex:none;font-size:13px;font-weight:650}.feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}.feature{background:white;border:1px solid #dfebe1;border-radius:19px;padding:19px;min-width:0;box-shadow:0 5px 16px #113b2810}.feature.active{border-color:#83c49c}.feature-icon{font-size:24px;margin-bottom:14px}.feature p{font-size:13px;color:#6e8175;line-height:1.5;min-height:58px}.upcoming,.ready{display:inline-block;border-radius:8px;padding:6px 9px;font-size:10px;font-weight:700;background:#edf0ee;color:#667b70}.ready{background:#e2f5e8;color:#1c7641}.panelhead{display:flex;justify-content:space-between;align-items:center;gap:10px}.panelhead h2{margin:0}.status-content{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:19px}.metric{border:1px solid #e4ece7;border-radius:13px;padding:14px;min-width:0}.metric b{display:block;font-size:19px;margin-top:4px;overflow-wrap:anywhere}.metric small{color:#698073;font-size:12px}.audit-content{margin-top:12px;font-size:13px}.audit-row{padding:11px 0;border-bottom:1px solid #eff2ef;display:flex;gap:14px;justify-content:space-between}.audit-row:last-child{border-bottom:none}footer{padding:22px 0;text-align:center;color:#718379;font-size:12px}section.panel+section.panel{margin-top:20px}[hidden]{display:none!important}@media(max-width:750px){.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.status-content{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:430px){.layout{margin:16px auto;padding:0 12px 24px}.panel{padding:18px;border-radius:17px}.auth{margin:18px auto}.feature-grid{gap:9px}.feature{padding:13px;border-radius:14px}.feature h2{font-size:14px}.feature p{font-size:12px;min-height:78px}.intro{align-items:start}.intro .ghost{margin-top:8px}.topbar{height:60px;padding:0 12px}.brand strong{font-size:15px}.brand small{font-size:10px}.version{display:none}.feature-icon{margin-bottom:9px}}

.backup-manager{margin-bottom:20px}.backup-start{min-width:190px}.backup-start:disabled{opacity:.5;cursor:not-allowed}.backup-manager h3{font-size:15px;margin:23px 0 10px}.backup-list{display:grid;gap:11px}.backup-entry{border:1px solid #dfe9e2;border-radius:12px;background:#fbfdfb;padding:14px;display:grid;gap:8px;min-width:0}.backup-entry-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.backup-meta{font-size:12px;color:#6a7c72;overflow-wrap:anywhere}.job-badge,.worker-state{font-size:11px;padding:6px 9px;border-radius:999px;font-weight:700;background:#eef2ef;color:#436150}.job-badge.completed,.worker-state.online{background:#dcf2e4;color:#246b42}.job-badge.failed,.worker-state.offline{background:#ffeded;color:#a54545}.job-badge.running{background:#e4eef9;color:#356c9b}.backup-progress{height:8px;background:#e0eae2;overflow:hidden;border-radius:10px}.backup-progress-bar{background:#358259;height:100%;transition:width .3s}.backup-download{width:max-content;display:inline-block;text-decoration:none;color:#fff;background:#286b4a;padding:9px 13px;border-radius:9px;font-size:12px;font-weight:700}.backup-download:hover{background:#194a32}.backup-entry small{font-size:11px;color:#5d7f68}

.backup-stall-warning{color:#9b4b09;background:#fff3e1;border:1px solid #e7c798;padding:10px 12px;border-radius:11px;font-size:12px;font-weight:700;margin:8px 0 0}

.release-manager{margin-bottom:20px}.release-manager>label{display:block;font-weight:700;font-size:13px;margin:12px 0 8px}.release-manager>input[type=file]{height:auto;min-height:50px;padding:12px 11px}.release-manager .primary{display:block;min-height:45px;margin:12px 0}.release-manager .primary:disabled{opacity:.5;cursor:not-allowed}.release-warning{background:#fff5dd;color:#765309;border:1px solid #ebd294;padding:12px;border-radius:12px;font-size:12px;font-weight:650;line-height:1.5}.release-backup-status{margin-top:17px;padding:11px 12px;border:1px solid #dce9e0;border-radius:11px;font-size:12px;line-height:1.5}.release-backup-status b{color:#256744}.release-manager h3{font-size:15px;margin:20px 0 10px}.release-list{display:grid;gap:10px}.release-entry{border:1px solid #e0eae3;border-radius:13px;padding:13px;background:#fbfdfb;display:grid;gap:7px;min-width:0}.release-entry-head{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}.release-entry strong{font-size:13px;overflow-wrap:anywhere}.release-meta{font-size:11px;color:#718276;overflow-wrap:anywhere}.release-action{display:flex;flex-wrap:wrap;align-items:center;gap:9px}.release-action input{max-width:150px;height:40px}.release-action button{font-size:12px;min-height:39px;border:1px solid #b3d0bc;background:#e7f3e9;color:#245b3a;font-weight:700;border-radius:9px;padding:9px 12px}.release-action button:disabled{opacity:.5}.release-upload-progress{margin:11px 0 0}.release-upload-progress small{font-size:12px}.release-thumbprint{color:#315e46;font-size:11px;overflow-wrap:anywhere;font-family:ui-monospace,monospace}
@media(max-width:430px){.release-entry{padding:11px}.release-action input{width:140px}.release-manager .primary{width:100%}}

.release-signing{display:flex;align-items:center;flex-wrap:wrap;gap:9px;padding-top:11px;border-top:1px solid #dfeae1}.release-signing input[type=file]{height:auto;min-height:42px;max-width:100%;padding:8px}.release-signing input[type=text]{max-width:170px}.release-signing button{min-height:42px;border:1px solid #b3d0bc;background:#e7f3e9;color:#245b3a;border-radius:10px;padding:8px 12px;font-weight:700;font-size:12px}.release-signing button:disabled{opacity:.5}.release-signing .deploy-primary{background:#256744;color:#fff;border-color:#256744}.release-deployment-status{font-size:12px;color:#225a3e;background:#e7f3ea;padding:10px 12px;border-radius:10px;overflow-wrap:anywhere}

/* FN28D5F4 mobile-first one click update */
.update-backup-choice{display:flex!important;gap:12px;align-items:center;margin:16px 0!important;padding:15px;border:1px solid #d9e9dd;border-radius:13px;background:#f3f9f3;font-size:13px;line-height:1.5}.update-backup-choice input{width:20px;height:20px;flex:0 0 auto;accent-color:#236847}.release-entry .deploy-primary{background:#225d3d;color:#fff;border-color:#225d3d;padding:11px 18px}.release-entry .backup-progress{margin:4px 0 6px}.release-entry .release-deployment-status{overflow-wrap:anywhere;line-height:1.5}.release-manager>.primary{width:100%;max-width:380px} @media(max-width:460px){.release-entry .release-action{display:flex;flex-direction:column;align-items:stretch}.release-entry .release-action button{width:100%}}

/* FN28D5F4A: diagnosable background backup failures on narrow screens */
.backup-error-detail{display:block;overflow-wrap:anywhere;line-height:1.45;color:#a43d32;background:#fff5f3;border:1px solid #f2d9d4;border-radius:9px;padding:8px 10px;margin-top:6px;white-space:normal}

.watermark-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:12px;align-items:end}.watermark-form label{display:flex;flex-direction:column;gap:7px}.watermark-form input,.watermark-form select{max-width:100%;min-width:0}.watermark-admin-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}

/* FN28D5F4ZB responsive backup history */
.backup-history-tabs{display:flex;gap:9px;flex-wrap:wrap;margin:14px 0 8px}
.backup-tab{border:1px solid #bed1c5;background:#f6faf7;border-radius:10px;color:#286343;font-weight:700;padding:10px 13px;min-height:43px}
.backup-tab.selected{background:#256744;border-color:#256744;color:#fff}
.backup-pages{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:15px 0}
.backup-pages button:disabled{opacity:.35}
.backup-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center}
.backup-actions>*{min-height:40px}
.backup-danger{color:#983d34;background:#fff0ef;border:1px solid #e6bab5;padding:9px 12px;border-radius:9px;font-size:13px;font-weight:650}
.backup-pending-warning{color:#85600c;background:#fff8df;padding:7px 9px;border-radius:8px}
#backupActionNotice{overflow-wrap:anywhere;min-height:1em}
@media(max-width:430px){.backup-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.backup-actions>*{width:100%;text-align:center;justify-content:center}}

/* FN28D5F4ZC – mobile friendly release history */
.release-history-tabs{display:flex;gap:9px;flex-wrap:wrap;margin:14px 0 8px}
.release-tab{border:1px solid #bed1c5;background:#f6faf7;border-radius:10px;color:#286343;font-weight:700;padding:10px 13px;min-height:43px}
.release-tab.selected{background:#256744;border-color:#256744;color:#fff}
.release-history-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:8px 0 12px}
.release-pages{display:flex;justify-content:space-between;align-items:center;gap:9px;margin:14px 0}
.release-pages button:disabled{opacity:.35}
.release-history-actions{display:flex;gap:9px;flex-wrap:wrap}
.release-history-actions>*{min-height:42px}
.release-purge{border:1px solid #e5b8b0;color:#9e3e35;background:#fff1ef;padding:9px 12px;border-radius:9px;font-size:12px;font-weight:700}
.release-purge:disabled{opacity:.42;cursor:not-allowed}
#releaseActionNotice{min-height:1em;overflow-wrap:anywhere}
@media(max-width:430px){.release-history-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.release-history-actions button{width:100%}}

/* FN28D5F4ZI: platform-wide content management without a second sign-in */
.editorial-launch{cursor:pointer;text-align:left;min-height:150px;font:inherit;color:inherit;border:1px solid #c3d7c9;border-radius:16px;background:#fff;padding:18px}
.editorial-launch:hover,.editorial-launch:focus-visible{outline:2px solid #2b754c;outline-offset:2px}
.editorial-panel[hidden],.editorial-editor[hidden]{display:none!important}
.editorial-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:12px;margin:14px 0}
.editorial-filters label,.editorial-editor label{display:grid;gap:6px;font-weight:650}
.editorial-filters input,.editorial-filters select,.editorial-editor input,.editorial-editor textarea,.editorial-tools select{width:100%;box-sizing:border-box;min-width:0;padding:11px;border:1px solid #bfcfc4;border-radius:11px;background:#fff;color:#173628;font:inherit}
.editorial-tools{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:15px 0}
.editorial-tools label{display:flex;align-items:center;gap:6px}
.editorial-tools input[type=checkbox]{width:20px;height:20px}
.editorial-tools select{max-width:180px}
.editorial-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(195px,1fr));gap:12px}
.editorial-card{border:1px solid #d3e0d6;border-radius:17px;overflow:hidden;background:#fff;min-width:0}
.editorial-art{height:110px;background:linear-gradient(110deg,#d5e7d8,#eee2c6);display:flex;align-items:center;justify-content:center;font-size:32px;overflow:hidden}
.editorial-art img{width:100%;height:100%;object-fit:cover}
.editorial-card-body{padding:12px;display:grid;gap:8px}
.editorial-card h4{margin:0;font-size:1rem;line-height:1.3;overflow-wrap:anywhere}
.editorial-card small{color:#60746b}
.editorial-card-actions{display:flex;gap:8px;flex-wrap:wrap}
.editorial-card-actions button{padding:9px 12px}
.editorial-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin:16px 0}
.editorial-editor{margin-top:18px;border-top:2px solid #c5ddcd;padding-top:18px}
.editorial-editor form{display:grid;gap:12px}
.editorial-number-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.editorial-preview-image{max-width:100%;max-height:260px;object-fit:contain;border-radius:12px}
@media(max-width:520px){.editorial-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editorial-card-actions button{width:100%}.editorial-number-row{grid-template-columns:1fr}.editorial-tools select{max-width:none}}

/* FN28D5F4ZL: reusable asset registry editor. Desktop: paired columns; mobile: stacked. */
.fn-asset-workbench{border:1px solid #d6e5d9;background:#f8fcf9;border-radius:19px;padding:15px;min-width:0}
.fn-asset-workbench h4{margin:0 0 5px;font-size:18px}.fn-asset-workbench-head p{margin:0 0 10px}
.fn-asset-kind-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.fn-asset-kind-tabs button{border:1px solid #bcd3c3;border-radius:11px;background:#fff;color:#22593f;font-weight:700;font-size:13px;padding:10px 12px;min-height:44px}
.fn-asset-kind-tabs .selected{background:#246845;color:#fff;border-color:#246845}
.fn-asset-workbench-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(255px,.87fr);gap:14px;align-items:start}
.fn-asset-selected,.fn-asset-browser{background:#fff;border:1px solid #d9e5dd;border-radius:15px;padding:13px;min-width:0}
.fn-asset-column-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.fn-asset-column-title h5{font-size:14px;margin:4px 0 11px}
.fn-asset-dropzone,.fn-asset-library-results{display:grid;gap:8px;min-height:90px}
.fn-asset-dropzone.drag-target{background:#e8f6ec;outline:2px dashed #438e60;outline-offset:4px;border-radius:9px}
.fn-asset-line{display:flex;align-items:center;gap:8px;background:#f7faf8;border:1px solid #e1eae4;padding:9px;border-radius:12px;min-width:0}
.fn-asset-line[draggable=true]{cursor:grab}.fn-asset-icon{display:grid;place-items:center;flex:0 0 37px;height:37px;font-size:22px;border-radius:10px;background:#e9f3eb}
.fn-asset-line-info{flex:1;min-width:0;display:grid;gap:4px}.fn-asset-line-info strong{font-size:13px;overflow-wrap:anywhere}.fn-asset-line-info small{color:#6b7e73;font-size:11px}
.fn-asset-number-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.fn-asset-number-row input{width:75px!important;height:35px;padding:5px 7px;font-size:13px}
.fn-asset-number-row input.fn-asset-unit{width:65px!important}
.fn-asset-line-actions{display:grid;gap:5px;flex:none}.fn-asset-line-actions button{width:32px;min-height:30px;padding:3px;background:#fff;border:1px solid #bcd1c3;border-radius:8px;color:#236044;font-weight:700}
.fn-asset-line-actions .fn-asset-remove{color:#ac4242;border-color:#e8c3c3}
.fn-asset-library-results .fn-asset-line{background:#fff}
.fn-asset-library-results .fn-asset-add{min-height:40px;padding:6px 10px;border-radius:9px;background:#e4f3e8;color:#22663c;border:1px solid #b7d6c1;font-weight:700}
.fn-asset-pager{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-top:10px;font-size:12px}
.fn-asset-pager button{min-height:38px;padding:8px;font-size:11px}
.fn-asset-browser label{margin:0 0 12px}.fn-asset-browser input{height:44px}
.fn-asset-empty{font-size:13px;color:#66776c;background:#f4f8f4;border:1px dashed #ccdacf;padding:18px;border-radius:10px;line-height:1.5}
@media(max-width:760px){.fn-asset-workbench-columns{grid-template-columns:1fr}}
@media(max-width:450px){.fn-asset-workbench{padding:10px}.fn-asset-kind-tabs button{flex:1 1 35%;padding:9px 6px}.fn-asset-selected,.fn-asset-browser{padding:10px}.fn-asset-line{gap:6px;padding:7px}.fn-asset-icon{flex-basis:32px;height:32px;font-size:19px}}

/* FN28D5F4ZM: FamilyNexa-style administrative workspace.
   The update, backup and editorial widgets retain their own IDs and handlers. */
body.admin-authenticated .layout{max-width:1740px;margin:0 auto;padding:0 clamp(12px,2vw,30px) 50px}
.admin-shell{display:grid;grid-template-columns:250px minmax(0,1fr);align-items:start;gap:22px;min-height:calc(100vh - 66px)}
.admin-sidebar{position:sticky;top:82px;margin-top:18px;max-height:calc(100vh - 98px);overflow-y:auto;overscroll-behavior:contain;background:#fff;border:1px solid #d9e6dc;border-radius:20px;padding:18px 11px;box-shadow:0 10px 26px #173e2b11;z-index:6}
.admin-sidebar-head{padding:6px 12px 15px;border-bottom:1px solid #e5eee7;display:grid;gap:2px}
.admin-sidebar-head strong{font-size:17px;color:#1d5638}.admin-sidebar-head span{font-size:11px;color:#718477}
.admin-nav-group{display:grid;gap:4px;margin:17px 0 0}
.admin-nav-label{padding:4px 11px;font-size:10px;text-transform:uppercase;letter-spacing:1.1px;font-weight:800;color:#789084}
.admin-nav-link{width:100%;display:flex;align-items:center;gap:12px;padding:11px 12px;min-height:45px;border:1px solid transparent;border-radius:11px;background:transparent;color:#315a43;text-align:left;font-size:13px;font-weight:680;line-height:1.35}
.admin-nav-link:hover{background:#edf5ef}.admin-nav-link:focus-visible{outline:2px solid #2c8658;outline-offset:2px}
.admin-nav-link.selected{background:#dcf0e2;border-color:#c4e3cb;color:#195b36;box-shadow:inset 3px 0 #287848}
.admin-nav-icon{display:grid;place-items:center;min-width:23px;font-size:18px}.admin-nav-text{min-width:0}
.admin-workspace{min-width:0;padding-top:14px;max-width:100%}
.admin-workspace>.intro{margin:0 0 15px;border-bottom:1px solid #dce8df;padding:12px 1px 15px}
.admin-workspace>.intro h1{margin:5px 0 4px;font-size:clamp(23px,2.5vw,30px)}
.admin-workspace>.intro #adminEmail{font-size:12px;margin:3px 0 0}
.admin-view{min-width:0;max-width:100%}.admin-view[hidden]{display:none!important}
.admin-overview .feature-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.admin-feature-link{cursor:pointer;transition:border-color .16s,transform .16s}
.admin-feature-link:hover{border-color:#76b48a;transform:translateY(-2px)}
.admin-feature-link:focus-visible{outline:2px solid #27854b;outline-offset:3px}
.admin-overview .editorial-launch{width:100%;text-align:left}
.admin-menu-toggle{border:1px solid #6c957c;background:#214936;color:#fff;border-radius:10px;padding:5px 10px;font-size:24px;line-height:1.25;min-width:41px;min-height:41px}
.admin-sidebar-backdrop{display:none}
.admin-workspace .editorial-editor{border:1px solid #dce8df;margin:0;padding:24px;background:#fff}
.admin-workspace .editorial-editor h3{font-size:20px;margin:0 0 6px}
.admin-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:11px;margin-top:15px}
.admin-library-card{background:#f8fcf9;border:1px solid #dce8de;border-radius:14px;padding:12px;display:flex;gap:12px;align-items:center;min-width:0}
.admin-library-icon{width:47px;height:47px;flex:0 0 47px;display:grid;place-items:center;background:#e7f3ea;border-radius:12px;font-size:25px}
.admin-library-description{min-width:0;display:grid;gap:5px}.admin-library-description strong{font-size:13px;overflow-wrap:anywhere}.admin-library-description small{font-size:11px;color:#6e8276;overflow-wrap:anywhere}
.admin-library-pager{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:17px 0 0}
#adminAssetSearch{margin:8px 0 0}
@media(min-width:761px){.admin-menu-toggle{display:none!important}.admin-sidebar-backdrop{display:none!important}}
@media(max-width:1050px) and (min-width:761px){.admin-shell{grid-template-columns:205px minmax(0,1fr);gap:13px}.admin-sidebar{padding:12px 7px}.admin-nav-link{padding:10px 8px;font-size:12px}.admin-workspace .panel{padding:18px}.admin-feature-link{min-width:0}}
@media(max-width:760px){
 body.admin-authenticated .layout{padding:0 12px 30px}
 .admin-shell{display:block;min-height:calc(100vh - 60px)}
 .admin-sidebar{position:fixed;left:0;top:60px;bottom:0;max-height:none;width:min(310px,87vw);margin:0;border-radius:0 16px 16px 0;z-index:30;transform:translateX(-104%);transition:transform .18s ease-out;box-shadow:10px 0 32px #113b2840;overflow:auto}
 body.admin-sidebar-open .admin-sidebar{transform:translateX(0)}
 .admin-sidebar-backdrop:not([hidden]){display:block;position:fixed;inset:60px 0 0 0;background:#081f17a6;border:0;z-index:29;width:100%;height:calc(100vh - 60px);cursor:pointer}
 body.admin-sidebar-open{overflow:hidden}
 .admin-workspace{padding-top:13px}.admin-workspace>.intro{padding:5px 0 13px}
 .admin-overview .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .admin-workspace .editorial-editor{padding:16px}
 .admin-library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .admin-library-card{padding:9px;gap:7px}.admin-library-icon{width:36px;height:36px;flex-basis:36px;font-size:21px}
 .admin-library-pager{gap:6px}.admin-library-pager button{padding:9px;font-size:12px}
}
@media(max-width:400px){.admin-library-grid{grid-template-columns:1fr}.admin-overview .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-feature-link{padding:12px}.admin-workspace .panel{padding:13px}}
.admin-view{scroll-margin-top:84px}

/* FN28D5F4ZN: shared canonical icon management */
.fn-icon-kind-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
.fn-icon-kind-tabs button{padding:9px 12px;background:#f0f7f1;border:1px solid #bed6c4;border-radius:11px;color:#1e5037;cursor:pointer}
.fn-icon-kind-tabs button.selected{background:#216c47;color:#fff}
.fn-icon-filterbar{display:grid;grid-template-columns:minmax(0,2fr) minmax(150px,1fr);gap:12px;margin-bottom:16px}
.fn-icon-filterbar label{font-size:13px;font-weight:600}
.fn-icon-filterbar input,.fn-icon-filterbar select{width:100%;margin-top:5px}
.fn-icon-shell{display:grid;grid-template-columns:minmax(240px,1fr) minmax(270px,1fr);align-items:start;gap:16px}
.fn-icon-browser,.fn-icon-editor{min-width:0;background:#f8fbf9;border:1px solid #dfebe2;padding:15px;border-radius:17px}
.fn-icon-list{display:grid;gap:8px;max-height:600px;overflow-y:auto}
.fn-icon-list-item{display:flex;align-items:center;gap:11px;min-width:0;text-align:left;width:100%;border:1px solid #dce7df;border-radius:12px;padding:9px;background:#fff;cursor:pointer}
.fn-icon-list-item.selected{border-color:#22875a;background:#e9f5eb}
.fn-icon-list-info{display:grid;gap:4px;min-width:0}.fn-icon-list-info strong{font-size:13px;overflow-wrap:anywhere}.fn-icon-list-info small{font-size:11px;color:#6d8173}
.fn-icon-preview-icon{display:grid;place-items:center;flex:0 0 48px;height:48px;background:#edf5ef;border-radius:12px;font-size:25px}
.fn-icon-preview-icon img,.fn-asset-icon img,.admin-library-icon img{width:90%;height:90%;max-width:100%;object-fit:contain;border-radius:7px}
.fn-icon-preview{width:116px;height:116px;border:1px solid #d2e1d5;border-radius:17px;margin:12px 0;padding:8px;background:#fff;display:grid;place-items:center}
.fn-icon-preview .fn-icon-preview-icon{width:96px;height:96px;font-size:60px}
.fn-icon-editor form{display:grid;gap:10px}.fn-icon-editor label{font-size:13px;display:grid;gap:5px}
.fn-icon-editor .fn-icon-review-toggle{display:flex;flex-direction:row;align-items:center;gap:8px}.fn-icon-review-toggle input{width:auto}
.fn-icon-editor .editorial-tools{flex-wrap:wrap}
@media(max-width:930px){.fn-icon-shell{grid-template-columns:1fr}.fn-icon-list{max-height:310px}}
@media(max-width:500px){.fn-icon-filterbar{grid-template-columns:1fr}.fn-icon-kind-tabs button{flex:1 1 30%;padding:9px 5px;font-size:12px}.fn-icon-browser,.fn-icon-editor{padding:11px}}

/* FN28D5F4ZO: accessible, searchable icon gallery, one consistent vector style. */
.fn-library-open{overflow:hidden}
.fn-library-overlay:not([hidden]){position:fixed;inset:0;z-index:6000;display:flex;align-items:center;justify-content:center;padding:18px}
.fn-library-backdrop{position:absolute;inset:0;background:rgba(10,37,28,.72)}
.fn-library-dialog{position:relative;z-index:1;background:#fff;width:min(860px,100%);max-height:calc(100dvh - 36px);overflow-y:auto;border-radius:20px;padding:clamp(14px,2vw,24px);box-shadow:0 12px 60px #092a2052;color:#1d3b2b}
.fn-library-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.fn-library-head h3{margin:4px 0;font-size:24px}
.fn-library-controls{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:12px;margin:12px 0}
.fn-library-controls label{min-width:0;font-weight:600;font-size:13px}
.fn-library-controls input,.fn-library-controls select{width:100%;margin-top:5px;max-width:100%}
.fn-library-actions{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin:8px 0 16px}
.fn-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(122px,1fr));gap:11px;min-height:100px;max-height:min(50vh,460px);overflow-y:auto;padding:5px 4px}
.fn-library-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:146px;padding:10px 7px;background:#f9fcf7;border:1px solid #d8e9d8;border-radius:14px;color:#244a35;cursor:pointer;text-align:center;transition:background .12s,border-color .12s,transform .12s}
.fn-library-tile:hover,.fn-library-tile:focus-visible{background:#e5f4e9;border-color:#278054;transform:translateY(-1px)}
.fn-library-tile strong{font-size:12px;line-height:1.3;overflow-wrap:anywhere}.fn-library-tile small{font-size:10px;color:#688275;line-height:1.2}
.fn-library-art{display:grid;place-items:center;width:84px;height:84px}.fn-library-art img{width:100%;height:100%;object-fit:contain}
.fn-library-empty{grid-column:1/-1;padding:14px;color:#64796b}
.fn-library-dialog .admin-library-pager{margin-top:14px}
.fn-library-launch{max-width:100%}
.fn-icon-editor .fn-library-launch{justify-self:start}
@media(max-width:570px){.fn-library-overlay:not([hidden]){padding:0}.fn-library-dialog{height:100dvh;max-height:100dvh;border-radius:0;padding:14px;overflow-y:auto}.fn-library-head h3{font-size:20px}.fn-library-controls{grid-template-columns:1fr}.fn-library-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:48vh;gap:7px}.fn-library-tile{min-height:121px;padding:7px 3px}.fn-library-art{width:68px;height:68px}.fn-library-tile strong{font-size:11px}.fn-library-tile small{font-size:9px}}

/* FN-ADMIN-BOUNDARY-01: protected platform module inventory */
.admin-module-inventory{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:11px;margin-top:16px}
.admin-module-inventory-card{padding:14px;border-radius:13px;background:#f5faf6;border:1px solid #d9e7dd;display:flex;flex-direction:column;gap:7px;min-width:0}
.admin-module-inventory-card strong{font-size:14px;overflow-wrap:anywhere}
.admin-module-inventory-card small{overflow-wrap:anywhere;font-size:12px;line-height:1.45}

.admin-catalog-count{font-size:25px;font-weight:780;color:#205839;font-variant-numeric:tabular-nums}

/* FN28D5F4ZZ – scoped operational panels; no dependency on other Nexa apps. */
.fn-ops-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:10px;margin:12px 0 16px}
.fn-ops-summary .metric,.status-content .metric{min-width:0;overflow-wrap:anywhere}
.fn-stage-list{display:grid;gap:7px;margin:13px 0 16px;padding:12px;background:#f8fbf9;border:1px solid #dae8dd;border-radius:14px}
.fn-stage{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;padding:6px 7px;border-radius:8px;color:#68796e;font-size:12px}
.fn-stage.done{color:#1d6140}.fn-stage.current{color:#174f35;background:#e5f4e9;font-weight:700}
.fn-stage-marker{display:grid;place-items:center;border:1px solid #cbd8cd;border-radius:50%;width:25px;height:25px;font-weight:700;font-size:12px;background:#fff}
.fn-stage.done .fn-stage-marker{border-color:#87b99b;color:#1b6a40}.fn-stage.current .fn-stage-marker{background:#1c633f;color:#fff;border-color:#1c633f}
.fn-stage-state{font-size:11px;white-space:nowrap}.fn-stage-error{font-size:12px;color:#8b3232;padding:9px;background:#fff3f2;border-radius:7px}
.fn-status-note{grid-column:1/-1;border:1px solid #d6e5d9;border-radius:12px;background:#f6faf7;padding:12px;color:#345b45;font-size:12px}
@media(max-width:540px){.fn-ops-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.fn-stage{grid-template-columns:27px minmax(0,1fr)}.fn-stage-state{grid-column:2;white-space:normal}}

/* FN28D5F5A: archived ZIP retention and explicit cleanup, mobile-friendly. */
.fn-retention-panel{margin:18px 0;padding:16px;background:#f6faf7;border:1px solid #cadfce;border-radius:15px}
.fn-retention-panel h3{margin:0 0 8px;color:#235238}.fn-retention-preview{margin-top:12px;display:grid;gap:10px}
.fn-retention-preview[hidden]{display:none!important}.fn-retention-rows{display:grid;gap:7px;max-height:380px;overflow:auto}
.fn-retention-item{display:flex;align-items:center;gap:11px;background:#fff;border:1px solid #d7e4da;border-radius:10px;padding:11px;overflow-wrap:anywhere;font-size:13px}
.fn-retention-item input{height:19px;width:19px;flex:none;accent-color:#206945}.fn-retention-item span{min-width:0;overflow-wrap:anywhere}
.fn-retention-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;margin:10px 0}
.fn-retention-stats>.metric{min-width:0}.fn-retention-stats>p{grid-column:1/-1}
@media(max-width:500px){.fn-retention-panel{padding:11px}.fn-retention-stats{grid-template-columns:1fr 1fr}.fn-retention-panel .fn-ops-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* FN-DEMO-MEDIA-ADMIN01 – responsive production media workbench */
.fn-media-panel{min-width:0}.fn-media-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:9px;margin:15px 0}
.fn-media-step{padding:17px;margin:14px 0;border:1px solid #dae9de;border-radius:14px;background:#fbfefb;min-width:0}
.fn-media-step h3{font-size:16px;margin:0 0 9px}.fn-media-step input[type=file]{height:auto;padding:12px;max-width:100%}
.fn-media-step progress{display:block;width:100%;height:11px;accent-color:#267247;margin:13px 0}
.fn-media-actions{display:flex;flex-wrap:wrap;gap:9px;margin:11px 0}
.fn-media-actions button{margin:0;min-height:42px}.fn-media-actions button:disabled{opacity:.43}
.fn-media-sessions{display:grid;gap:7px;margin:12px 0}.fn-media-session{font:inherit;text-align:left;border:1px solid #d4e2d8;padding:10px 12px;border-radius:10px;background:#fff;overflow-wrap:anywhere}
.fn-media-items{display:grid;gap:9px;margin-top:12px;max-height:640px;overflow-y:auto}
.fn-media-item,.fn-media-match{display:flex;gap:12px;align-items:center;padding:10px;border:1px solid #d7e6db;border-radius:11px;background:#fff;min-width:0}
.fn-media-item img{width:76px;height:76px;object-fit:cover;border-radius:9px;background:#ebf3e9;flex:none}
.fn-media-item-info,.fn-media-match-meta{min-width:0;flex:1;overflow-wrap:anywhere}.fn-media-item-info strong,.fn-media-match-meta strong{font-size:12px;display:block;line-height:1.4}
.fn-media-item-info small,.fn-media-match-meta small{font-size:11px;color:#61766a;display:block;margin-top:5px}
.fn-media-check,.fn-media-match-label{display:flex;gap:6px;align-items:center;font-size:12px;white-space:nowrap;margin:0}
.fn-media-check input,.fn-media-match-label input{height:20px;width:20px;accent-color:#256744;flex:none}
.fn-media-match{flex-wrap:wrap}.fn-media-match>input{width:100%;height:41px;flex-basis:100%;font-size:12px}
@media(max-width:560px){.fn-media-step{padding:11px}.fn-media-item img{width:60px;height:60px}.fn-media-actions button{width:100%}.fn-media-match-meta{flex-basis:100%}}

/* FN-DEMO-MEDIA-ADMIN02 – selected image + searchable filtered recipe target */
.fn-media-workspace-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:12px 0}
.fn-media-workspace-controls label{display:grid;gap:5px;font-size:12px;font-weight:650;min-width:0;color:#395d46}
.fn-media-workspace-controls input,.fn-media-workspace-controls select{min-width:0;width:100%;height:40px;font-size:13px;background:white}
.fn-media-workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;min-width:0}
.fn-media-workspace-column{min-width:0;overflow:hidden;border:1px solid #dbe9de;border-radius:12px;background:#fff;padding:10px}
.fn-media-workspace-column h4{margin:2px 3px 10px;font-size:14px;color:#244935}
.fn-media-select-list{display:grid;align-content:start;gap:7px;max-height:480px;overflow:auto;overscroll-behavior:contain}
.fn-media-selectable{display:flex;gap:10px;min-width:0;width:100%;align-items:center;padding:9px;border:1px solid #d9e6dc;border-radius:10px;background:#fff;text-align:left;color:#204634;font:inherit;cursor:pointer}
.fn-media-selectable[aria-selected="true"]{border:2px solid #278654;background:#ecf8f0;padding:8px}
.fn-media-selectable:focus-visible{outline:2px solid #25894f;outline-offset:2px}
.fn-media-selectable img{height:59px;width:59px;flex:none;object-fit:cover;border-radius:8px;background:#eff4ef}
.fn-media-selectable-info{display:grid;min-width:0;gap:4px;flex:1;overflow-wrap:anywhere}
.fn-media-selectable-info strong{font-size:12px;line-height:1.35}.fn-media-selectable-info small{font-size:11px;color:#60776a;overflow-wrap:anywhere}
.fn-media-media-state{font-size:10px;color:#276d47;white-space:nowrap}
.fn-media-selectable[disabled]{cursor:not-allowed;opacity:.55}
.fn-media-pair-confirm{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:12px;border-top:1px solid #d4e4d8;padding-top:12px}
.fn-media-pair-confirm button{min-height:44px}
.fn-media-paging{display:flex;justify-content:space-between;gap:7px;align-items:center;margin-top:12px}
.fn-media-paging button{font-size:12px;padding:8px}
.fn-media-match img{width:68px;height:68px;border-radius:8px;object-fit:cover}
.fn-media-match .fn-media-match-preview{display:flex;gap:10px;align-items:center;min-width:0;flex:1}
@media(max-width:850px){.fn-media-workspace-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.fn-media-workspace-grid{grid-template-columns:minmax(0,1fr)}.fn-media-select-list{max-height:330px}.fn-media-workspace-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.fn-media-workspace-column{padding:9px}.fn-media-pair-confirm button{width:100%}}

/* FN28D5F5G: review public community recipes without showing private user data. */
.fn-curation-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:13px;min-width:0}
.fn-curation-card{padding:16px;border:1px solid #d4e2d9;border-radius:15px;background:#fff;overflow-wrap:anywhere;min-width:0}
.fn-curation-card strong{font-size:1rem;color:#203e30}
.fn-curation-card .fn-curation-state{font-weight:700;color:#2b744a}
.fn-curation-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.fn-curation-actions select,.fn-curation-actions button{width:auto;min-width:0;max-width:100%;padding:9px;border:1px solid #c4d8c9;border-radius:9px}
.fn-curation-actions select{flex:1 1 160px}
.fn-editorial-remove{color:#97392c;border-color:#e1beb9!important;overflow-wrap:anywhere;white-space:normal}
@media(max-width:650px){.fn-curation-list{grid-template-columns:minmax(0,1fr)}.fn-curation-actions button{flex:1 1 120px}.editorial-panel .editorial-filters{grid-template-columns:minmax(0,1fr)}}

/* FN28D5F5H: mobile-first review decisions; never a wide horizontal form. */
.fn-curation-review-form{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-top:10px}
.fn-curation-review-form fieldset{border:1px solid #d3e1d5;border-radius:9px;min-width:0;padding:9px}
.fn-curation-quality label{display:flex;align-items:center;gap:8px;padding:5px 0}
.fn-curation-quality input{width:auto;min-width:auto;flex:0 0 auto}
.fn-curation-review-form>label,.fn-curation-actions label{display:grid;gap:4px;min-width:0;width:100%}
.fn-curation-review-form textarea,.fn-curation-review-form select{box-sizing:border-box;width:100%;min-width:0;max-width:100%;padding:9px;border:1px solid #c4d8c9;border-radius:9px}
.fn-curation-review-form .fn-curation-actions button{flex:1 1 125px}
