[hidden]{display:none!important}.app .card-body{min-height:158px}.app.locked .card-body{min-height:216px}.settings-panel{max-width:760px}.settings-panel h2{font-size:20px;margin:0 0 16px}.check-list label{min-height:48px;cursor:pointer}.check-list input{min-width:20px;min-height:20px}.account-picker{display:grid;gap:8px;margin-bottom:20px}.check-list{margin-top:18px}.note{font-size:14px;color:var(--muted)}.empty-state{background:#fff;border:1px solid var(--border);border-radius:12px;padding:24px}.login-panel h1{font-size:24px}.locked .card-action{position:relative;z-index:0}.card-status{margin:12px 0;font-size:14px;min-height:24px}.settings-panel select{max-width:400px}.page-head h1{font-size:28px}@media(max-width:600px){.page-head h1{font-size:24px}.identity{flex-wrap:wrap}.identity>span{margin-left:0}.brand{white-space:normal}}

.login-panel label{font-size:15px}.login-panel input{font:inherit;min-height:44px;border:1px solid var(--control);border-radius:6px;padding:8px 10px;min-width:0;width:100%}.login-panel button{justify-self:start}.field-error{color:var(--danger);font-size:14px;min-height:22px;margin:0}.account-list{list-style:none;margin:16px 0 0;padding:0}.account-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--border);padding:12px 0}.account-list .meta{font-size:13px;color:var(--muted);overflow-wrap:anywhere}.account-list .row-actions{display:flex;gap:8px;flex-wrap:wrap}.code-box{font-family:ui-monospace,Menlo,monospace;font-size:15px;word-break:break-all;background:var(--subtle);border-radius:8px;padding:12px;margin:10px 0;user-select:all}.settings-panel+.settings-panel{margin-top:24px}.store-checks{display:grid;gap:6px}
.login-panel input[type=checkbox]{width:18px;min-height:0;height:18px;accent-color:var(--main)}.login-panel .check-row{display:flex;gap:10px;align-items:center}

/* Phase4 account and catalog delta: keep controls compact while preserving clear sections. */
main.account-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start;gap:16px;max-width:1320px}
.account-layout>.account-message{grid-column:1/-1;margin:0}
.account-layout>.settings-panel{width:100%;max-width:none;margin-top:0}
.account-layout>.settings-panel+.settings-panel{margin-top:0}
.account-personal{display:flex;flex-direction:column;gap:16px}
.account-heading h1{margin:0}
.account-heading .note{margin:4px 0 0}
.account-self-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.account-subsection{min-width:0}
.account-subsection h2,.account-staff h2{font-size:18px;margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid var(--border)}
.account-subsection form{gap:5px}
.account-subsection input:not([type=checkbox]){min-height:44px;width:100%;max-width:100%}
.account-subsection button{min-height:44px;margin-top:4px;max-width:100%}
.account-change-note{margin-top:10px}
.account-bootstrap-warning{margin:0;padding:10px 12px;font-size:13px;overflow-wrap:anywhere}
.account-staff>h2{margin-bottom:8px}
.account-staff>.note{margin:0 0 10px}
.account-staff .account-list{margin:8px 0 12px}
.account-staff .account-list li{gap:8px;padding:8px 0}
.account-staff .row-actions{gap:6px}
.account-staff .row-actions button{min-height:44px;padding:7px 9px;font-size:13px}
.account-staff #staff-form{gap:5px}
.account-staff .store-checks label{display:flex;align-items:center;gap:8px;min-height:36px}
.grid{grid-auto-rows:minmax(406px,1fr)}
.app{min-height:406px}
.visual{flex:0 0 190px}
.app .card-body{min-height:216px}
.app h2{min-height:1.5em}
.app p{min-height:3em}
.app.locked .card-body{padding-top:18px}
@media(max-width:1080px){main.account-layout{grid-template-columns:minmax(0,1fr);max-width:760px}}
@media(max-width:700px){main.account-layout{display:block}.account-layout>.settings-panel+.settings-panel{margin-top:16px}.account-personal,.account-staff{padding:18px}.account-self-grid{grid-template-columns:minmax(0,1fr);gap:18px}.account-subsection form{gap:6px}}

/* Email reset delta: the primary form heading uses a visible structural boundary. */
.login-panel h1{width:100%;padding-bottom:12px;border-bottom:1px solid var(--border)}

/* Email reset and authentication form spacing/success feedback. */
.login-panel .login-lead{margin:12px 0 14px}
.login-panel form{gap:8px}
.login-panel form .field-error:empty{display:none}
.login-panel .primary{margin-top:0}
.login-panel>.note{margin-top:10px}
.login-panel .reset-success{margin:8px 0 0;padding:12px 14px;color:#14532d;background:#ecfdf3;border:1px solid #86efac;border-left:4px solid #15803d;border-radius:8px;font-weight:700;line-height:1.55}

/* Keep the selected-store control in the header menu at every width. */
.header .identity .context-menu{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:0;padding:0;border:0;min-width:0}
.header .identity .context-menu>div{display:flex;align-items:center;gap:8px;min-width:0}
.header .context-menu label{font-size:13px;color:var(--text);font-weight:600}
.header .context-menu select{width:auto;min-width:150px;max-width:230px;min-height:40px}

/* Compact catalog cards; locked and available cards share one body geometry. */
.grid{grid-auto-rows:minmax(358px,1fr)}
.app{min-height:358px}
.app .card-body,.app.locked .card-body{min-height:168px;padding:16px 22px 16px}
.app h2{min-height:1.5em}
.app p{min-height:2em;margin-bottom:10px}
.app.locked .card-body{position:relative;z-index:2}
.app.locked .lock-overlay{background:linear-gradient(rgba(25,35,47,.22) 0 190px,transparent 190px)}
.lock-mark{top:50%;left:50%;transform:translate(-50%,-50%);width:112px;height:112px;z-index:2;opacity:.62}
.app .card-state{display:flex;align-items:center;justify-content:center;min-height:44px;margin:auto 0 0;color:var(--muted);font-size:14px;font-weight:600;line-height:1.4;text-align:center}

/* Restore the owner-approved full-card lock treatment for 09 and 11 only. */
.app.locked[data-app="coupon"] .card-body,.app.locked[data-app="raffle"] .card-body{z-index:auto}
.app.locked[data-app="coupon"] .lock-overlay,.app.locked[data-app="raffle"] .lock-overlay{z-index:3;background:rgba(17,24,39,.68)}
.app.locked[data-app="coupon"] .lock-mark,.app.locked[data-app="raffle"] .lock-mark{width:144px;height:144px;opacity:1}
.app.locked[data-app="coupon"] .card-state,.app.locked[data-app="raffle"] .card-state{position:relative;z-index:4;min-height:44px;margin:auto 0 0;padding:9px 12px;color:var(--muted);font-size:15px;line-height:1.65;text-align:center;background:#fff;border:1px solid var(--control);border-radius:8px;pointer-events:none}

/* Align the remaining password and staff controls on wide screens. */
main.account-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;max-width:1320px}
.account-layout>.account-message{grid-column:1/-1;margin:0}
.account-layout>.account-heading{grid-column:1/-1;display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:0}
.account-heading h1{margin:0}
.account-heading .note{margin:0;overflow-wrap:anywhere}
.account-layout>.settings-panel{width:100%;max-width:none;margin:0;padding:20px}
.account-layout>.settings-panel+.settings-panel{margin-top:0}
.account-layout:has(#staff[hidden])>.account-subsection{grid-column:1/-1;max-width:720px;justify-self:center}
.account-layout>.settings-panel>h2,.account-layout .account-subsection h2{font-size:18px;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--border)}
.account-layout .account-staff h3{font-size:16px;margin:18px 0 10px;padding-bottom:8px;border-bottom:1px solid var(--border)}
.account-layout .settings-panel form{display:grid;gap:8px}
.account-layout .settings-panel form .field-error:empty{display:none}
.account-layout .settings-panel input:not([type=checkbox]),.account-layout .settings-panel select{width:100%;max-width:100%;min-width:0}
.account-layout .settings-panel form button{width:100%;justify-self:stretch;margin-top:2px}
.account-layout .account-staff #code-copy{width:100%}
.account-layout .account-change-note{margin:10px 0 0}
.account-layout .account-staff>.note{margin:0 0 10px}
.account-layout .account-staff .account-list{margin:8px 0 12px}
.account-layout .account-staff .account-list li{gap:8px;padding:8px 0}
.account-layout .account-staff .row-actions{gap:6px}
.account-layout .account-staff .row-actions button{min-height:44px;padding:7px 9px;font-size:13px}
.account-layout .store-checks{display:grid;gap:6px}
.account-layout .store-checks label{display:flex;align-items:center;gap:8px;min-height:36px}
.account-bootstrap-warning{grid-column:1/-1;margin:0;padding:10px 12px;font-size:13px;overflow-wrap:anywhere}
@media(max-width:1100px){main.account-layout{grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px}}
@media(max-width:700px){
 .header .identity .context-menu{width:100%;justify-content:flex-start}
 .header .identity .context-menu>div{width:100%;justify-content:space-between}
 .header .context-menu select{max-width:none;flex:1}
 main.account-layout{display:grid;grid-template-columns:minmax(0,1fr);max-width:760px;gap:14px}
 .account-layout>.account-heading{align-items:flex-start;flex-direction:column;gap:2px}
 .account-layout>.settings-panel{padding:18px}
}
