/* رابط عملیاتی نوین برتر — فقط لایه ظاهر؛ منطق/دسترسی/API دست‌نخورده */
:root{
  --line:var(--border);--card:var(--surface);--ink:var(--text);--muted:var(--text-muted);
  color-scheme:light;
}
:root[data-theme="dark"]{color-scheme:dark}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text)}
body{font-family:var(--font-fa);font-size:var(--fs-md);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer}
.hide{display:none!important}
.ltr{direction:ltr;unicode-bidi:isolate}

/* app frame */
.wrap{width:min(100%,var(--screen-ref));margin:0 auto;padding:0 16px}
#loginPage{min-height:100dvh;display:flex;flex-direction:column;justify-content:center;padding-block:24px;background:var(--bg)}
#app{position:relative;min-height:100dvh;padding:var(--header-height) 16px calc(var(--bottom-nav-height) + env(safe-area-inset-bottom) + 28px);background:var(--bg);overflow-x:hidden}
@media(min-width:600px){body{background:var(--surface-2)}#app,#loginPage{border-inline:1px solid var(--border);box-shadow:var(--shadow-card)}}

/* header */
.head{position:fixed;z-index:18;top:0;left:50%;transform:translateX(-50%);width:min(100%,var(--screen-ref));height:var(--header-height);padding:0 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface);border-bottom:1px solid var(--border)}
.brand-head{display:flex;align-items:center;gap:9px;min-width:0}
.brand-head img{width:38px;height:38px;object-fit:contain;flex:none}
.brand-copy{min-width:0}
.brand-name{font-size:var(--fs-md);font-weight:700;line-height:1.2;white-space:nowrap}
.brand-sub{font-size:var(--fs-xs);color:var(--text-muted);line-height:1.35;margin-top:2px;white-space:nowrap}
.user-head{display:flex;align-items:center;gap:8px;min-width:0;margin-inline-start:auto}
.user-copy{min-width:0;text-align:left}
#hName{font-size:var(--fs-sm);font-weight:500;line-height:1.25;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#hRole{font-size:var(--fs-xs);color:var(--text-muted);line-height:1.25;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ava{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);border:1px solid var(--border);font-size:var(--fs-xs);font-weight:700;flex:none}
.header-tools{display:flex;align-items:center;gap:4px}.header-tools #helpBtn,.header-tools #out{display:none}
.bell,.helpbtn{position:relative;width:var(--tap-min);height:var(--tap-min);padding:0;margin:0;border-radius:var(--radius-md);background:transparent;color:var(--text-muted);border:0;display:grid;place-items:center;font-size:18px}
.bell b{position:absolute;top:2px;left:2px;min-width:18px;height:18px;border-radius:9px;background:var(--danger-solid);color:var(--on-danger);font-size:11px;line-height:18px;padding:0 5px}

/* hide old 12-wide nav but keep buttons alive for existing JS */
.legacy-tabs{display:none!important}

/* page type */
h1,h2,h3,p{margin:0}.page-head{margin:16px 0}.page-head h1{font-size:var(--fs-xl);font-weight:700;line-height:1.35}.page-head p{font-size:var(--fs-sm);color:var(--text-muted);margin-top:2px}
h2{font-size:var(--fs-md);font-weight:700;margin:22px 0 10px}.sub{color:var(--text-muted);font-size:var(--fs-sm);margin-top:4px}.small{font-size:var(--fs-sm)}

/* surfaces */
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px;box-shadow:var(--shadow-card)}
.card+.card{margin-top:10px}.note{margin-top:14px;padding:12px 14px;border-radius:var(--radius-md);background:var(--surface-2);color:var(--text-muted);font-size:var(--fs-sm);line-height:1.9;border:1px solid var(--border)}
.row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);font-size:var(--fs-sm);min-height:48px}.row:last-child{border-bottom:0}.row .k{color:var(--text-muted)}.row .v{font-weight:700;text-align:left}
.u{padding:13px 0;border-bottom:1px solid var(--border)}.u:last-child{border-bottom:0}.u .n{font-size:var(--fs-md);font-weight:700;line-height:1.45}.u .m{font-size:var(--fs-sm);color:var(--text-muted);margin-top:3px;line-height:1.7}.u .a{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap}.off{opacity:.55}
.tag{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;font-size:var(--fs-xs);border-radius:999px;background:var(--surface-2);border:1px solid var(--border);color:var(--text);line-height:1.6;margin:2px}.perm{padding:10px 0;border-bottom:1px solid var(--border);font-size:var(--fs-sm)}.perm:last-child{border-bottom:0}
.nrow{padding:12px 0;border-bottom:1px solid var(--border)}.nrow:last-child{border-bottom:0}.nrow.unread{background:var(--surface-2);margin:0 -8px;padding:12px 8px}

/* forms */
label{display:block;font-size:var(--fs-sm);font-weight:500;margin:13px 0 6px;color:var(--text)}
input,select,textarea{width:100%;min-height:50px;padding:10px 13px;font-size:var(--fs-md);border:1px solid var(--border);border-radius:var(--radius-md);outline:none;background:var(--surface-2);color:var(--text)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--info);outline-offset:0;border-color:transparent}
input[type="checkbox"],input[type="radio"]{min-height:0;accent-color:var(--text)}
button{width:100%;min-height:50px;padding:0 16px;margin-top:16px;font-size:var(--fs-md);font-weight:700;color:var(--btn-primary-text);background:var(--btn-primary-bg);border:1px solid transparent;border-radius:var(--radius-md)}
button:disabled{opacity:var(--btn-disabled-opacity);cursor:not-allowed}
button.ghost{background:transparent;color:var(--text);border:1px solid var(--border);font-weight:500;margin-top:10px}
button.mini{width:auto;min-height:var(--tap-min);padding:0 12px;margin:0 0 0 6px;font-size:var(--fs-sm);font-weight:500}.msg{margin-top:12px;padding:10px 12px;border-radius:var(--radius-md);font-size:var(--fs-sm);line-height:1.8}.err{background:var(--error-soft);color:var(--error);border:1px solid transparent}.ok{background:var(--success-soft);color:var(--success);border:1px solid transparent}

/* segmented controls — not primary navigation */
.tabs:not(.legacy-tabs){display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;padding:4px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);margin:14px 0}
.tabs:not(.legacy-tabs) button{margin:0;min-height:40px;padding:0 8px;background:transparent;color:var(--text-muted);border:0;font-size:var(--fs-sm);font-weight:500}.tabs:not(.legacy-tabs) button.on{background:var(--btn-primary-bg);color:var(--btn-primary-text);font-weight:700;border-radius:9px}

/* login */
.login-brand{text-align:center;margin:0 auto 28px}.login-logo{display:block;width:min(78%,260px);max-height:170px;object-fit:contain;margin:0 auto 6px}.login-brand h1{font-size:var(--fs-lg);font-weight:700}.login-brand .sub{margin-top:4px}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;box-shadow:var(--shadow-card)}.pw-wrap{position:relative}.pw-wrap input{padding-inline-end:52px}.pw-eye{position:absolute;inset-inline-end:4px;top:50%;transform:translateY(-50%);width:44px;height:44px;min-height:44px;padding:0;margin:0;background:transparent;color:var(--text-muted);border:0;display:grid;place-items:center}.login-foot{margin-top:20px;text-align:center;font-size:var(--fs-xs);color:var(--text-muted);line-height:1.8}

/* home */
.home-welcome{margin:16px 0 12px}.home-welcome h1{font-size:var(--fs-xl);font-weight:700}.home-welcome p{font-size:var(--fs-sm);color:var(--text-muted);margin-top:3px}.home-status{display:flex;align-items:center;gap:12px}.home-status-main{flex:1;min-width:0}.home-status-main strong{display:block;font-size:var(--fs-md)}.home-status-main span{display:block;font-size:var(--fs-sm);color:var(--text-muted);margin-top:2px}.home-status button{width:auto;min-height:44px;padding:0 14px;margin:0;font-size:var(--fs-sm)}.section-head{display:flex;align-items:center;justify-content:space-between;margin:22px 0 10px}.section-head h2{margin:0}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.quick-tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:96px;padding:10px 5px;margin:0;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-lg);font-size:var(--fs-sm);font-weight:500;text-align:center;line-height:1.4;box-shadow:var(--shadow-card)}.quick-tile svg,.bottom-nav svg,.more-action svg{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* profile / more */
.more-actions{display:grid;gap:8px;margin-bottom:14px}.more-action{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:10px 12px;margin:0;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);text-align:right;font-weight:500}.more-action .copy{flex:1}.more-action .copy span{display:block;font-size:var(--fs-xs);color:var(--text-muted);font-weight:400;margin-top:2px}.theme-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.theme-toggle{width:auto;min-width:112px;min-height:44px;margin:0;padding:0 12px;background:var(--surface-2);color:var(--text);border:1px solid var(--border);font-size:var(--fs-sm)}

/* bottom navigation */
.bottom-nav{position:fixed;z-index:20;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,var(--screen-ref));height:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(5,1fr);background:var(--surface);border-top:1px solid var(--border)}
.bottom-nav button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:100%;min-height:var(--tap-min);padding:0;margin:0;background:transparent;color:var(--text-muted);border:0;border-radius:0;font-size:var(--fs-xs);font-weight:500}.bottom-nav button[aria-current="page"]{color:var(--text);font-weight:700}.bottom-nav button[aria-current="page"] svg{color:var(--tab-active);stroke-width:2.2}.bottom-nav button[aria-current="page"]::before{content:"";position:absolute;top:0;width:28px;height:3px;border-radius:0 0 3px 3px;background:var(--tab-active)}

/* sheets */
.sheet{position:fixed;inset:0;z-index:50;background:var(--scrim);display:flex;align-items:flex-end}.sheet>div{background:var(--surface);width:min(100%,var(--screen-ref));margin:0 auto;max-height:88%;overflow-y:auto;border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;padding:12px 16px calc(16px + env(safe-area-inset-bottom));box-shadow:var(--shadow-sheet)}.q{border-bottom:1px solid var(--border);padding:12px 0}.q:last-child{border-bottom:0}.q b{display:block;font-size:var(--fs-sm);margin-bottom:5px}.q span{font-size:var(--fs-sm);color:var(--text-muted);line-height:1.9}.installbar{position:fixed;bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom));right:50%;transform:translateX(50%);width:min(100%,var(--screen-ref));z-index:40;background:var(--text);color:var(--bg);padding:12px 16px;font-size:var(--fs-sm);line-height:1.8}.installbar button{width:auto;min-height:44px;padding:0 14px;margin:8px 0 0;background:var(--bg);color:var(--text)}

/* full-page task proof expansion */
.task-detail-full{position:fixed!important;z-index:30;inset:var(--header-height) 50% calc(var(--bottom-nav-height) + env(safe-area-inset-bottom)) auto;transform:translateX(50%);width:min(100%,var(--screen-ref));overflow-y:auto;background:var(--bg);padding:16px}.task-detail-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px}.task-detail-close{width:auto;min-height:44px;margin:0 0 12px;padding:0 12px;background:transparent;color:var(--text);border:1px solid var(--border);font-size:var(--fs-sm)}

/* score emphasis */
#myScore{background:var(--gold-soft);border-color:var(--gold-fill)}#myScore .n,#myScore strong{color:var(--text)}

/* utility */
#permissionsSummary{display:none!important}.technical-key{display:none!important}
:focus-visible{outline:2px solid var(--info);outline-offset:2px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* list states: empty / loading / offline */
.list-state{text-align:center;padding:28px 18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-muted);font-size:var(--fs-sm)}
.list-state strong{display:block;color:var(--text);font-size:var(--fs-md);margin-bottom:4px}.list-state .state-icon{width:52px;height:52px;margin:0 auto 10px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);font-size:22px}.list-state.loading .state-icon{animation:nb-pulse 1.1s ease-in-out infinite alternate}.list-state.offline .state-icon{color:var(--warning)}@keyframes nb-pulse{to{opacity:.45}}

/* score details */
.score-total{font-size:var(--fs-score);font-weight:700;line-height:1;margin:8px 0 18px}.metric{padding:10px 0;border-top:1px solid var(--border)}.metric:first-of-type{border-top:0}.metric-head{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:var(--fs-sm)}.metric-head b{font-size:var(--fs-md)}.progress{height:8px;margin-top:8px;border-radius:999px;background:var(--surface-2);overflow:hidden}.progress>i{display:block;height:100%;border-radius:999px;background:var(--gold-fill)}
.doc-confirm-check{display:flex;align-items:flex-start;gap:10px;margin-top:12px;min-height:44px;padding:8px 0;font-size:var(--fs-sm)}.doc-confirm-check input{width:22px;height:22px;flex:none;margin:1px 0 0}.doc-confirm-btn{margin-top:4px}.zone-mine{border:2px solid var(--text)}
.action-sheet-form{display:grid;gap:10px}.action-sheet-form textarea{min-height:120px;resize:vertical}.action-sheet-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.action-sheet-actions button+button{margin-top:0}

/* =============================================================
   Launcher / Workbench v3 — owner-approved mobile-home model
   ============================================================= */

/* top bar: centered brand, compact controls, mobile-home feeling */
.head{justify-content:center;padding-inline:58px;box-shadow:0 1px 0 var(--border)}
.brand-head{position:absolute;left:50%;transform:translateX(-50%);gap:7px;max-width:190px}
.brand-head img{width:34px;height:34px}
.brand-name{font-size:var(--fs-sm)}
.brand-sub{font-size:11px}
.user-head{position:absolute;inset-inline-end:8px;margin:0}
.user-copy{display:none}
.ava{width:38px;height:38px;background:var(--gold-soft);border-color:transparent;color:var(--text)}
.header-tools{position:absolute;inset-inline-start:8px;gap:0}
.header-tools .bell{display:grid}

/* module page header with explicit close */
.page-head.module-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0 14px}
.module-head-copy{min-width:0}
.module-close{width:44px;height:44px;min-height:44px;flex:none;margin:0;padding:0;display:grid;place-items:center;border-radius:50%;background:var(--surface);color:var(--text);border:1px solid var(--border)}
.module-close svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}

/* home launcher */
.home-launcher{padding-top:10px}
.launcher-identity{display:flex;align-items:center;gap:12px;padding:13px 14px;background:linear-gradient(135deg,var(--surface),var(--surface-2));border:1px solid var(--border);border-radius:22px}
.launcher-identity .launcher-avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--gold-soft);font-size:var(--fs-lg);font-weight:700;flex:none}
.launcher-identity-copy{min-width:0;flex:1}
.home-welcome{margin:0}.home-welcome h1{font-size:var(--fs-lg)}.home-welcome p{margin-top:2px}
.launcher-search{position:relative;margin:14px 0 18px}
.launcher-search svg{position:absolute;inset-inline-start:15px;top:50%;transform:translateY(-50%);width:20px;height:20px;stroke:var(--text-muted);fill:none;stroke-width:1.8;pointer-events:none}
.launcher-search input{min-height:48px;border-radius:24px;padding-inline:46px 46px;background:var(--surface);box-shadow:var(--shadow-card)}
.launcher-section-head{display:flex;align-items:center;justify-content:space-between;margin:4px 0 12px}
.launcher-section-head h2{margin:0;font-size:var(--fs-md)}
.launcher-section-head .sub{margin:0;font-size:var(--fs-xs)}
.launcher-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 10px;align-items:start}
.launcher-item{position:relative;min-width:0;text-align:center}
.launcher-open{position:relative;width:100%;min-height:82px;padding:0;margin:0;background:transparent;border:0;color:var(--text);display:flex;flex-direction:column;align-items:center;gap:7px;font-size:var(--fs-xs);font-weight:500;line-height:1.35}
.launcher-icon{width:58px;height:58px;border-radius:17px;display:grid;place-items:center;border:1px solid var(--border);box-shadow:var(--shadow-card);overflow:hidden}
.launcher-icon svg{width:28px;height:28px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.launcher-icon.tone-gold{background:linear-gradient(145deg,var(--gold-fill),var(--brand-gold));color:var(--btn-primary-text);border-color:transparent}
:root[data-theme="dark"] .launcher-icon.tone-gold{color:var(--brand-black)}
.launcher-icon.tone-red{background:linear-gradient(145deg,var(--brand-red),var(--danger-solid));color:var(--on-danger);border-color:transparent}
.launcher-icon.tone-success{background:var(--success-soft);color:var(--success);border-color:transparent}
.launcher-icon.tone-info{background:var(--info-soft);color:var(--info);border-color:transparent}
.launcher-icon.tone-warning{background:var(--warning-soft);color:var(--warning);border-color:transparent}
.launcher-icon.tone-neutral{background:linear-gradient(145deg,var(--surface-2),var(--surface));color:var(--text);border-color:var(--border)}
.launcher-label{display:block;max-width:78px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.launcher-pin{position:absolute;top:-5px;inset-inline-end:1px;width:26px;height:26px;min-height:26px;padding:0;margin:0;border-radius:50%;display:grid;place-items:center;background:var(--surface);color:var(--text-muted);border:1px solid var(--border);z-index:3;box-shadow:var(--shadow-card)}
.launcher-pin svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.8}
.launcher-pin.is-pinned{color:var(--gold-fill);background:var(--gold-soft);border-color:transparent}
.launcher-pin.is-pinned svg{fill:currentColor}
.launcher-badge{position:absolute;top:-3px;inset-inline-start:calc(50% + 12px);min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--danger-solid);color:var(--on-danger);font-size:10px;line-height:20px;text-align:center;z-index:4}
.launcher-empty,.workbench-empty{grid-column:1/-1;padding:28px 16px;text-align:center;background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius-lg)}
.launcher-empty strong,.workbench-empty strong{display:block;font-size:var(--fs-md)}
.launcher-empty span,.workbench-empty span{display:block;margin-top:4px;color:var(--text-muted);font-size:var(--fs-sm)}
.workbench-empty button{width:auto;min-height:44px;margin-top:14px;padding-inline:18px}

.launcher-hint{margin-top:22px;padding:13px 14px;border:1px solid var(--border);border-radius:18px;background:var(--surface);font-size:var(--fs-xs);color:var(--text-muted);line-height:1.9}
.launcher-hint b{color:var(--text)}

/* workbench */
#workbenchPanel{padding-top:10px}
.workbench-hero{padding:14px;background:linear-gradient(135deg,var(--gold-soft),var(--surface));border:1px solid var(--border);border-radius:22px;margin-bottom:18px}
.workbench-hero-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.workbench-hero h1{font-size:var(--fs-xl);margin:0}
.workbench-hero p{font-size:var(--fs-sm);color:var(--text-muted);margin-top:3px}
.workbench-hero .desk-mark{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--gold-soft);color:var(--gold-fill)}
.workbench-hero .desk-mark svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.9}
.workbench-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 10px}
.workbench-manage-card{margin-top:22px;padding:14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}
.workbench-manage-card h2{margin:0 0 4px}.workbench-manage-card>.sub{margin-bottom:10px}
.workbench-manage{display:grid;gap:7px}
.workbench-manage-item{display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:9px;width:100%;min-height:48px;margin:0;padding:8px 10px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);color:var(--text);text-align:right;font-size:var(--fs-sm);font-weight:500}
.workbench-manage-item svg{width:18px;height:18px;stroke:var(--text-muted);fill:none;stroke-width:1.8}.workbench-manage-item.on svg{stroke:var(--gold-fill);fill:var(--gold-fill)}
.workbench-manage-item small{font-size:var(--fs-xs);color:var(--text-muted);font-weight:400}

/* bottom nav v3 */
.bottom-nav button[data-ui-nav="workbench"] svg{width:24px;height:24px}

/* desktop still looks like a phone, not a wide admin dashboard */
@media(min-width:600px){
  #app,#loginPage{max-width:390px}
  #app{min-height:min(844px,calc(100dvh - 32px));height:min(844px,calc(100dvh - 32px));margin-block:16px;border-radius:30px;overflow-y:auto;overflow-x:hidden}
  #loginPage{min-height:min(844px,calc(100dvh - 32px));margin-block:16px;border-radius:30px}
  .head,.bottom-nav{width:390px}
}

@media(max-width:360px){.launcher-grid,.workbench-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* v3 polish to mirror the approved launcher preview */
.home-launcher,#workbenchPanel{position:relative}
.home-launcher::before,#workbenchPanel::before{content:"";position:fixed;z-index:-1;top:64px;left:50%;transform:translateX(-50%);width:min(100%,var(--screen-ref));height:280px;background:radial-gradient(circle at 50% 0,var(--gold-soft),transparent 68%);pointer-events:none}
.launcher-brand-hero{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;margin:6px 0 14px;text-align:center}
.launcher-brand-hero img{width:64px;height:64px;object-fit:contain;filter:none}
.launcher-brand-hero strong{display:block;font-size:var(--fs-lg);font-weight:700;line-height:1.2}
.launcher-brand-hero span{display:block;margin-top:2px;color:var(--gold-fill);font-size:var(--fs-xs);font-weight:500}
.bottom-nav button[aria-current="page"] svg{color:var(--brand-gold)}
.bottom-nav button[aria-current="page"]::before{background:var(--brand-gold)}

/* ============================================================
   Launcher v5 — Home + App Menu + fixed Home + 4 personal dock tools
   UI-only. No authorization or business logic lives here.
   ============================================================ */
.head-nav-icon{width:40px;height:40px;min-height:40px;padding:0;margin:0;display:grid;place-items:center;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text)}
.head-nav-icon svg,.home-menu-button svg,.layout-mini svg,.module-home svg,.dock-preview svg,.dock-replace-options svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.home-menu-button{width:auto;min-width:62px;min-height:48px;padding:5px 10px;margin:0;border:1px solid var(--border);border-radius:14px;background:var(--surface-2);color:var(--text);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;font-size:var(--fs-xs);font-weight:500}
.launcher-section-head>div{min-width:0}.launcher-section-head>div>.sub{display:block;margin-top:2px}
.layout-link,.layout-edit-toggle{width:auto;min-height:40px;margin:0;padding:0 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);font-size:var(--fs-xs);font-weight:500}
.empty-menu-link{display:inline-flex!important;align-items:center;justify-content:center;margin-top:14px!important}
.home-shortcuts{min-height:92px}
.app-menu-panel{padding-top:10px}
.app-menu-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 8px}
.app-menu-title-row h1{margin:0;font-size:var(--fs-xl)}.app-menu-title-row p{margin:2px 0 0;font-size:var(--fs-sm);color:var(--text-muted)}
.layout-edit-toggle[aria-pressed="true"]{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:transparent}
.menu-grid .launcher-layout-controls{display:none}.menu-grid.is-editing .launcher-layout-controls{display:grid}
.launcher-item.with-layout-controls{padding-bottom:0}
.launcher-layout-controls{grid-template-columns:1fr 1fr;gap:4px;margin-top:4px}
.layout-mini{min-width:0;min-height:34px;padding:3px 4px;margin:0;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text-muted);display:flex;align-items:center;justify-content:center;gap:3px}
.layout-mini span{display:grid;place-items:center}.layout-mini svg{width:14px;height:14px}.layout-mini small{font-size:10px}.layout-mini.on{background:var(--gold-soft);color:var(--gold-fill);border-color:transparent}.layout-mini:disabled{opacity:.45;cursor:not-allowed}
.dock-config-summary{margin:6px 0 18px;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}
.dock-config-summary>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:10px}.dock-config-summary strong{font-size:var(--fs-sm)}.dock-config-summary>div:first-child span{font-size:var(--fs-xs);color:var(--text-muted)}
.dock-preview{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;direction:rtl}
.dock-preview button{position:relative;min-width:0;min-height:58px;padding:6px 2px;margin:0;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);color:var(--text);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}
.dock-preview button small{max-width:100%;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dock-preview button b{position:absolute;top:3px;inset-inline-start:4px;font-size:9px;color:var(--text-muted);font-weight:500}.dock-preview button.fixed-slot{opacity:1;background:var(--gold-soft);color:var(--gold-fill);border-color:transparent;cursor:default}.dock-preview button.fixed-slot:disabled{opacity:1}
.bottom-nav{grid-template-columns:repeat(5,1fr)}
.bottom-nav button svg{width:23px;height:23px}.bottom-nav .launcher-badge{top:5px;inset-inline-start:calc(50% + 5px)}
.module-head-actions{display:flex;align-items:center;gap:5px}.module-home{width:44px;height:44px;min-height:44px;padding:0;margin:0;display:grid;place-items:center;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text)}
.layout-sheet .sheet-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.layout-sheet .sheet-top h2{margin:0;font-size:var(--fs-lg)}.layout-sheet .sheet-top p{margin:2px 0 0;color:var(--text-muted);font-size:var(--fs-sm)}
.dock-replace-options{display:grid;gap:8px}.dock-replace-options button{width:100%;min-height:58px;padding:9px 11px;margin:0;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);color:var(--text);display:grid;grid-template-columns:28px 1fr;align-items:center;gap:10px;text-align:right}.dock-replace-options button>span{min-width:0}.dock-replace-options strong,.dock-replace-options small{display:block}.dock-replace-options strong{font-size:var(--fs-sm)}.dock-replace-options small{margin-top:2px;font-size:var(--fs-xs);color:var(--text-muted)}
.manager-important-card{display:grid;grid-template-columns:42px 1fr;gap:11px;align-items:start;margin:14px 0 18px;padding:13px 14px;border:1px solid var(--gold-fill);border-radius:18px;background:var(--gold-soft);color:var(--text)}.manager-important-card.hide{display:none}.manager-important-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--gold-fill);color:var(--brand-black);font-weight:700;font-size:var(--fs-lg)}.manager-important-copy{min-width:0}.manager-important-copy strong{display:block;font-size:var(--fs-sm)}.manager-important-copy p{margin:4px 0 0;font-size:var(--fs-sm);line-height:1.9;color:var(--text)}
@media(max-width:360px){.menu-grid,.home-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr))}.header-tools{gap:4px}.head-nav-icon{width:36px;height:36px;min-height:36px}.dock-preview button small{display:none}}
