/* Functional admin pages reuse the supplied shell, colors, panels and controls. */
.admin-image-preview{display:block;width:100%;max-height:240px;object-fit:contain;border:1px solid var(--line);border-radius:10px;background:#fff}
body{font-size:15px;line-height:1.5}
.nav a,.logout,.side-profile strong,.profile-btn,.btn,.admin-table .btn,.admin-tabs a,.period button,.text-btn{font-size:14px}
.nav p,.nav em,.side-profile span,.side-help span,.side-help button,.crumb span,.market-status,.eyebrow,.label,.stat small,.y-labels,.x-labels,.quick small,.security small,.account-row small,.badge,.admin-table .badge,footer{font-size:12px;line-height:1.5}
.quick strong,.security strong,.account-row strong,.account-value strong,.empty-state p{font-size:14px;line-height:1.5}
.nav a{min-height:44px}.panel-head,.welcome{flex-wrap:wrap;gap:14px}
.equity span,.brand-mark,.avatar,.account-icon{font-size:12px}.stat-top,.welcome p{font-size:14px}.panel h2{font-size:17px}
[hidden]{display:none!important}
.sidebar .brand,.sidebar .side-profile,.sidebar .side-help,.sidebar .logout{flex-shrink:0}
.sidebar .nav{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin}
.sidebar .side-help{margin-top:16px}
.sidebar.open{z-index:55}
.admin-form label{display:grid;gap:7px;font-size:12px;font-weight:600;color:var(--ink)}
.admin-form input,.admin-form select,.admin-form textarea{width:100%;min-width:0;border:1px solid var(--line);border-radius:9px;padding:10px 11px;background:#fff;color:var(--ink);font:inherit}
.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus{outline:2px solid #cdd7fb;outline-offset:1px;border-color:#7794ff}
.admin-form textarea{min-height:95px;resize:vertical}
.admin-form{display:grid;gap:16px}
.admin-form small{color:var(--muted);font-weight:400;line-height:1.5}
.admin-filters{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end;margin:20px 0}
.admin-filters .filter-actions,.admin-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px}
.admin-tabs a{text-decoration:none}
.btn[href]{text-decoration:none}
.admin-tabs a[aria-current=page]{color:var(--blue);background:#edf2ff;border-color:#cdd7fb}
.admin-table-wrap{overflow-x:auto;max-width:100%}
.admin-table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}
.admin-table th{font-size:10px;letter-spacing:.03em;color:var(--muted);font-weight:600;background:#f8f9fc}
.admin-table td,.admin-table th{padding:14px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
.admin-table td{max-width:300px;overflow-wrap:anywhere}
.admin-table td small{display:block;color:var(--muted);margin-top:5px}
.admin-table .admin-actions{min-width:120px}
.admin-table .btn{padding:7px 10px;font-size:11px}
.admin-table .badge{display:inline-block;white-space:nowrap;font-size:10px}
.admin-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;color:var(--muted);font-size:12px}
.admin-record{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0}
.admin-record div{min-width:0}.admin-record dt{color:var(--muted);font-size:10px;margin-bottom:5px}.admin-record dd{margin:0;font-size:12px;overflow-wrap:anywhere;white-space:pre-wrap}
.modal.admin-detail{width:min(760px,calc(100% - 30px));max-height:90vh;overflow:auto}
.modal .admin-actions .btn{width:auto;margin-top:0}
.modal .admin-form{margin-top:18px}
.modal .admin-form .btn{margin-top:0}
.admin-error{color:#a33b42;border:1px solid #f3d2d5;background:#fff7f7;padding:12px;border-radius:9px;line-height:1.5}
.admin-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.admin-settings .panel h2{margin-bottom:20px}
.admin-settings .btn{justify-self:start}
.admin-empty{padding:35px 16px}.admin-empty p{font-size:12px;line-height:1.6}
.admin-section-note{color:var(--muted);font-size:12px;line-height:1.6}
.admin-chart-empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font-size:12px}
button:disabled{cursor:not-allowed;opacity:.55;transform:none!important}
.admin-login .login-container{width:min(440px,calc(100% - 32px));margin:10vh auto 40px}
.admin-login .panel{padding:30px}
.admin-login .brand{color:var(--ink);padding:0 0 30px}.admin-login .brand-mark{color:#fff}
.admin-login h1{font-size:24px;margin:10px 0}.admin-login p{color:var(--muted);font-size:13px;line-height:1.6}
.admin-login .admin-form{margin:24px 0}.admin-login #loginError{color:#a33b42;margin:0}
.login-links{display:flex;gap:16px;justify-content:space-between;font-size:12px}.login-links a{color:var(--blue);text-decoration:none}
.login-note{text-align:center}
@media(max-width:760px){.admin-settings{grid-template-columns:1fr}.admin-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-pagination{flex-wrap:wrap}}
@media(max-width:520px){.admin-record{grid-template-columns:1fr}.admin-filters{grid-template-columns:1fr}.admin-login .panel{padding:24px}}

/* Override compact table and form labels after the functional rules. */
.admin-table{font-size:14px;line-height:1.5}.admin-table th,.admin-table td small,.admin-table .badge{font-size:12px}.admin-table .btn,.admin-form label,.admin-pagination,.admin-section-note,.admin-empty p,.admin-record dt,.admin-record dd{font-size:14px}.admin-form small{font-size:12px}.admin-form input,.admin-form select,.admin-form textarea{font-size:14px}.admin-table .btn{min-height:38px}
@media(max-width:760px){.admin-form input,.admin-form select,.admin-form textarea{font-size:16px}}

.admin-form .admin-field-error{display:block;color:#8f3026;font-size:14px;line-height:1.5;margin-top:6px}.admin-form [aria-invalid="true"]{border-color:#b84135}
/* Dedicated investment and product workspaces. */
.workspace-panel{padding:28px!important;max-width:1180px}.workspace-nav{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid #dce5e2}.workspace-form{display:block!important}.workspace-section{border:1px solid #dce5e2;border-radius:16px;padding:24px;margin:0 0 24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;background:#fff;min-width:0}.workspace-section legend{font-size:20px;font-weight:750;padding:0 10px;color:#173d32}.workspace-help{grid-column:1/-1;color:#5d7068;line-height:1.6;margin:0 0 4px;font-size:15px}.workspace-section label{font-size:15px!important;line-height:1.6}.workspace-section input,.workspace-section textarea,.workspace-section select{font-size:16px!important;padding:12px!important;border-radius:10px!important}.workspace-section textarea{min-height:120px}.workspace-editor{grid-column:1/-1;min-width:0}.workspace-editor>label{display:block;margin-bottom:10px;font-weight:650}.workspace-toolbar{display:flex;flex-wrap:wrap;gap:6px;padding:12px;border:1px solid #bdcfc6;background:#f1f6f3;border-radius:12px 12px 0 0}.workspace-toolbar .btn{min-height:38px}.workspace-rich{min-height:230px;padding:20px;border:1px solid #bdcfc6;border-top:0;border-radius:0 0 12px 12px;font-size:16px;line-height:1.8;overflow-wrap:anywhere;background:white}.workspace-rich:focus{outline:3px solid #88baa3;outline-offset:2px}.workspace-rich ul,.workspace-rich ol,.workspace-history ul,.workspace-history ol{padding-left:26px}.workspace-editor small{display:block;margin-top:8px;font-size:14px!important;color:#5d7068}.workspace-save{position:sticky;bottom:12px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 20px;border:1px solid #cddcd4;border-radius:14px;background:#f6faf7;box-shadow:0 8px 25px #173d3210;grid-column:1/-1}.workspace-message{font-size:15px;line-height:1.5;margin:0}.workspace-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.workspace-control{display:block!important;min-width:0}.workspace-control .workspace-section{display:flex;flex-direction:column}.workspace-control .workspace-save{position:static}.workspace-history{margin-top:36px}.workspace-history article{border-top:1px solid #dce5e2;padding:22px 0;font-size:16px;line-height:1.7;overflow-wrap:anywhere}.workspace-history img{max-width:100%;max-height:360px;border-radius:12px;margin-top:16px}.workspace-section .admin-image-preview{max-height:300px;width:100%;object-fit:cover;grid-column:1/-1}.admin-table td{vertical-align:top}.admin-table{font-size:15px!important}.admin-table th{font-size:13px!important}.admin-tabs{gap:8px}.admin-tabs a{min-height:42px}.workspace-panel [aria-invalid=true]{border-color:#b43c30}.workspace-panel h2{font-size:25px;line-height:1.35;margin-bottom:20px}.workspace-panel .btn{min-height:44px}.workspace-panel :is(button,a,input,select,textarea):focus-visible{outline:3px solid #4b9270;outline-offset:3px}@media(max-width:900px){.workspace-controls{grid-template-columns:1fr}}@media(max-width:600px){.workspace-panel{padding:16px!important}.workspace-section{grid-template-columns:1fr;padding:18px 14px}.workspace-section legend{font-size:18px}.workspace-save{flex-direction:column;align-items:stretch;bottom:4px}.workspace-save .btn{width:100%}.workspace-nav .btn{flex:1 1 40%}.workspace-toolbar .btn{font-size:13px}.workspace-rich{padding:14px}.workspace-panel h2{font-size:22px}}

.workspace-package-fields{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.workspace-package-fields[hidden]{display:none!important}@media(max-width:600px){.workspace-package-fields{grid-template-columns:1fr}}

.workspace-page-preview{grid-column:1/-1;background:#fff;border:1px solid #cad9d0;border-radius:14px;padding:28px;overflow-wrap:anywhere}.workspace-page-preview h2{font-size:28px;line-height:1.3}.workspace-preview-body{font-size:17px;line-height:1.7}.workspace-preview-body h3{font-size:21px}.workspace-preview-body blockquote{border-left:3px solid #9fc0ad;padding-left:18px;margin-left:0}

.brand-mark{flex-shrink:0}.brand-copy{line-height:1.2}.brand-copy b{display:block;font-size:13px;letter-spacing:0}

.admin-operation-check{padding:16px 0;border-bottom:1px solid var(--line)}.admin-operation-check h3{margin:0 0 8px}.panel > a.btn{margin:6px 8px 6px 0}
