/* Shared content components. Sidebar styling stays in studio.css. */
:root { --workspace-radius:12px; --workspace-text:#24354e; --workspace-muted:#6d7b90; --workspace-border:#e4eaf2; --blue:#2765e8; --green:#24795f; --orange:#ae741a; --red:#c14952; --dark:#19283d; }
body.studio-admin { padding:0; }
body.studio-modal { margin:0;padding:0;background:#fff;color:var(--workspace-text);font:14px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.studio-admin .container { padding-bottom:48px; }
.workspace-heading { margin-bottom:28px;min-width:0; }
.header-row .workspace-heading { margin:0; }
.studio-admin .container>.header-row { align-items:center;flex-direction:row-reverse;justify-content:flex-end;gap:24px; }
.studio-admin .container>.header-row .workspace-heading { flex:1;order:1; }
.studio-admin .container>.header-row .print-link { order:0;margin-left:auto; }
.workspace-heading h1 { margin:0;font-size:30px;font-weight:650;line-height:1.25;letter-spacing:-.035em;color:var(--studio-ink); }
.workspace-heading .studio-eyebrow { margin:0 0 9px; }
.workspace-heading .studio-subtitle { margin:9px 0 0;font-size:13px;line-height:1.65; }
.studio-admin .container :is(h2,h3,h4,h5) { text-align:left;letter-spacing:-.015em;border:0;padding-bottom:0;color:var(--studio-ink); }
.studio-admin .container h2 { font-size:20px;margin:0 0 18px; }
.studio-admin .container h3 { font-size:16px;margin:22px 0 14px; }
.studio-admin .container h4 { font-size:14px;margin:0 0 16px; }
.studio-admin .container :is(p,li) { line-height:1.7; }
.studio-admin .container :is(.card,.info-card,.guide-section,.blacklist-form,.content,.header-card,.guide-sidebar) { background:#fff;border:1px solid var(--workspace-border);border-radius:var(--workspace-radius);box-shadow:none;padding:24px;min-width:0; }
.studio-admin .container .card { margin:0 0 24px; }
.studio-admin .container .workspace-form-card { max-width:780px; }
.studio-admin .container .guide-section { margin-bottom:24px;scroll-margin-top:100px; }
.studio-admin .container .guide-sidebar { width:230px;padding:14px;top:98px; }
.studio-admin .container .side-nav a { font-size:12px;padding:9px 10px; }
.studio-admin .container .side-nav .nav-section { color:#8390a2;font-size:10px;letter-spacing:1px; }
.studio-admin .container .guide-section h2 { padding-bottom:16px;border-bottom:1px solid var(--workspace-border); }
.ui-icon { width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;flex:none;vertical-align:middle; }
.ui-icon svg { width:100%;height:100%; }
/* Dashboard */
.studio-admin .container .stats-grid { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-bottom:24px; }
.studio-admin .container .stats-grid .stat-card { position:relative;border:1px solid var(--workspace-border);border-radius:var(--workspace-radius);background:white;padding:21px;text-align:left;box-shadow:none;transform:none;transition:border-color .15s,background .15s; }
.studio-admin .container .stats-grid .stat-card:hover { border-color:#a9c0ed;background:#fbfdff; }
.studio-admin .container .stats-grid .stat-card.active { border-color:#a9c0ed;background:#fff;box-shadow:0 0 0 1px #dce7fb; }
.studio-admin .container .stats-grid .stat-icon { display:flex;align-items:center;justify-content:center;background:#edf3ff;color:#4975c1;border-radius:10px;width:36px;height:36px;margin:0 0 16px; }
.studio-admin .container .stats-grid .green .stat-icon { color:#24795f;background:#edf7f2; }
.studio-admin .container .stats-grid .orange .stat-icon { color:#ae741a;background:#fff7e7; }
.studio-admin .container .stats-grid .red .stat-icon { color:#c14952;background:#fff0f1; }
.studio-admin .container .stats-grid .dark .stat-icon { color:#6d7b90;background:#f0f3f8; }
.studio-admin .container .stats-grid .stat-number { font-size:32px;line-height:1.2;font-weight:650;color:var(--studio-ink);margin:0 0 9px;letter-spacing:-.03em; }
.studio-admin .container .stats-grid .stat-label { text-transform:none;letter-spacing:0;line-height:1.55;color:var(--workspace-muted);font-weight:400;font-size:12px;margin:0; }
.studio-admin .container .next-expiry-banner { display:flex;gap:16px;background:#edf3fd;color:#405575;border:1px solid #dce6f5;border-radius:10px;padding:15px 19px;font-size:12px; }
.next-expiry-banner>div { display:flex;align-items:center;flex-wrap:wrap;gap:5px; }
.next-expiry-banner .ui-icon { margin-right:5px;color:#6d8bb6; }
.studio-admin .container .privacy-notice { border:1px solid var(--workspace-border);background:#f0f3f8;border-radius:10px;color:#69778b;font-size:12px;padding:13px 17px;margin:0 0 22px; }
.studio-admin .container .toolbar-row { margin:24px 0 18px;gap:16px; }
.studio-admin .container .toolbar-left,.studio-admin .container .toolbar-right { gap:9px; }
.workspace-panel-heading { display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;border-bottom:1px solid var(--workspace-border); }
.studio-admin .container .workspace-panel-heading h2 { font-size:16px;margin:0 0 5px; }
.workspace-panel-heading p { color:var(--workspace-muted);font-size:12px;margin:0; }
.workspace-table-count { color:var(--workspace-muted);font-size:11px;white-space:nowrap; }
/* Buttons and controls in the workspace, not the navigation. */
.studio-admin .container :is(.btn-sm,.btn-green,.btn-gray,.btn-blue,.btn-red,.btn-cancel,.workspace-secondary,.btn-check,.btn-generate,.btn-full,button[type=submit]),.studio-modal :is(button[type=submit],.btn-cancel) {
 display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:10px 16px!important;font:600 12px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;border:1px solid transparent!important;border-radius:8px!important;box-shadow:none;cursor:pointer;text-decoration:none;white-space:normal;width:auto;
}
.studio-admin .container :is(.btn-green,.btn-blue,.btn-check,.btn-generate,button[type=submit]),.studio-modal button[type=submit] { background:#2765e8!important;color:#fff!important; }
.studio-admin .container :is(.btn-gray,.btn-cancel,.workspace-secondary),.studio-modal .btn-cancel { background:white!important;border-color:#dce3ed!important;color:#4c5f79!important; }
.studio-admin .container .btn-red { background:#fff0f1!important;color:#b74b56!important;border-color:#f0dadd!important; }
.studio-admin .container :is(.btn-sm,.workspace-secondary):hover { filter:brightness(.97); }
.studio-admin .container .btn-group,.studio-modal .btn-group { justify-content:flex-start;flex-wrap:wrap;gap:10px;margin-top:25px;padding-top:20px;border-top:1px solid var(--workspace-border); }
.studio-admin .container .form-group,.studio-modal .form-group { margin-bottom:20px; }
.studio-admin .container label,.studio-modal label { font-size:12px;font-weight:550;color:#4e6079;line-height:1.6; }
.studio-admin .container :is(input[type=text],input[type=password],input[type=date],input[type=number],input[type=email],select,textarea),.studio-modal :is(input,select,textarea),.login-page :is(input,select) {
 font:400 13px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;border:1px solid #dce3ed!important;border-radius:8px!important;background:#fff;padding:11px 13px!important;color:var(--workspace-text);max-width:100%;width:100%;min-width:0!important;box-shadow:none;
}
.studio-admin .container :is(input,select,textarea):focus,.studio-modal :is(input,select,textarea):focus,.login-page input:focus { outline:3px solid #2765e81a;outline-offset:0;border-color:#82a5ed!important; }
.studio-admin .container :is(input[type=checkbox],input[type=radio]),.studio-modal input[type=checkbox] { width:16px;height:16px;padding:0!important;flex:none;accent-color:#2765e8; }
.studio-admin .container .search-box { width:300px;max-width:100%; }
.studio-admin .container .search-box input { min-height:40px;background:white; }
.studio-admin .container textarea { min-height:150px;resize:vertical; }
.studio-admin .container :is(.header-input,.code-box,.raw-box,.code-output) { font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; }
.studio-admin .container .checkbox-grid { gap:12px; }
.studio-admin .container .checkbox-item { border:1px solid var(--workspace-border);border-radius:9px;padding:16px;background:#fafbfd; }
/* Tables and status indications */
.studio-admin .container :is(.table-wrapper,.table-container,.workspace-table-scroll) { border-radius:var(--workspace-radius);background:#fff;max-width:100%;overflow-x:auto; }
.studio-admin .container .table-wrapper { border:1px solid var(--workspace-border); }
.studio-admin .container .workspace-table-scroll { border:1px solid var(--workspace-border);margin:0 0 20px; }
.studio-admin .container .table-wrapper .workspace-table-scroll { border:0;border-radius:0;margin:0; }
.studio-admin .container table { width:100%;margin:0;font-size:12px;background:#fff; }
.studio-admin .container table th { background:#f8fafd;color:#718099;font-size:11px;font-weight:550;text-transform:none;letter-spacing:0;border-bottom:1px solid var(--workspace-border);padding:13px 18px; }
.studio-admin .container table td { border-bottom:1px solid #edf1f6;padding:17px 18px;font-size:12px;color:#41526c; }
.studio-admin .container table th a { color:#718099!important; }
.studio-admin .container table tbody :is(tr.row-expired,tr.row-critical,tr.row-warning) { background:#fff!important; }
.studio-admin .container table tbody tr:hover:not(.detail-row) td { background:#f8faff; }
.studio-admin .container .domain-link { color:#293d59;gap:10px; }
.studio-admin .container .domain-link>.ui-icon { color:#7395c7;width:30px;height:30px;background:#edf3fd;padding:7px;border-radius:8px; }
.studio-admin .container :is(.badge,.status-badge,.badge-role) { text-transform:none;letter-spacing:0;border-radius:6px;padding:5px 9px;font-size:11px;font-weight:550;line-height:1.45; }
.studio-admin .container .badge-green { background:#edf7f2;color:#24795f; }
.studio-admin .container .badge-orange { background:#fff7e7;color:#a87622; }
.studio-admin .container .badge-red { background:#fff0f1;color:#b74b56; }
.studio-admin .container .days-bar { height:3px;margin-top:8px;background:#edf1f6;max-width:100px; }
.studio-admin .container .action-btns { gap:7px; }
.studio-admin .container .action-btn { width:32px;height:32px;border:1px solid #e1e7ef;color:#617792;background:#fff;transform:none;box-shadow:none; }
.studio-admin .container .action-btn .ui-icon { width:15px;height:15px; }
.studio-admin .container .action-btn:hover { border-color:#acc4ec;background:#edf3fd;color:#2765e8; }
.studio-admin .container .action-btn.red { color:#b96b73; }
.studio-admin .container .detail-row td { background:#f8fafd;border-bottom:1px solid var(--workspace-border); }
.studio-admin .container .detail-group h5 { color:#516887;text-transform:none;letter-spacing:0;font-size:13px; }
.studio-admin .container .detail-item { border-bottom:1px solid #e9eef5;line-height:1.6; }
.studio-admin .container .bulk-bar { background:#edf3fd;color:#405575;border:1px solid #dce6f5;border-radius:10px;flex-wrap:wrap; }
.studio-admin .container .pagination a { border:1px solid #dce3ed;border-radius:7px;color:#5e718c;background:#fff;padding:7px 11px; }
.studio-admin .container .pagination a.active { background:#2765e8;color:#fff;border-color:#2765e8; }
/* Analyses, tabs and guides */
.studio-admin .container .result-grid { gap:20px; }
.studio-admin .container .tab-nav,.studio-admin .container .nav-tabslow,.studio-admin .container .provider-tabs { display:flex;flex-wrap:wrap;gap:5px;padding:5px;background:#edf1f7;border:1px solid var(--workspace-border);border-radius:10px;margin:22px 0; }
.studio-admin .container :is(.tab-btn,.provider-tab,.nav-tabslow a) { font:550 12px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#687b94;border:0;background:transparent;border-radius:7px;padding:10px 14px;box-shadow:none;cursor:pointer; }
.studio-admin .container :is(.tab-btn.active,.provider-tab.active,.nav-tabslow a.active) { color:#2765e8;background:white;border:0;box-shadow:0 1px 5px #24354e0a; }
.studio-admin .container .score-card { background:white;border:1px solid var(--workspace-border);border-radius:var(--workspace-radius);color:var(--workspace-text);padding:24px;box-shadow:none; }
.studio-admin .container .score-grade { border-radius:12px;font-size:40px;font-weight:650; }
.studio-admin .container .score-bar-bg { height:6px;background:#edf1f6; }
.studio-admin .container :is(.code-box,.raw-box) { background:#f4f7fb;color:#435672;border:1px solid #e3eaf3;border-radius:8px;padding:14px;line-height:1.7; }
.studio-admin .container :is(.code-output,.dns-example,.log-summary) { background:#15283e;color:#c4d5e8;border-radius:10px;border:1px solid #263c56;font:12px/1.8 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;padding:18px; }
.studio-admin .container .info-box { border:1px solid var(--workspace-border);background:#f8fafd;border-radius:9px;padding:16px; }
.studio-admin .container :is(.bridge-box,.box-blue,.quick-info) { background:#edf3fd;border:1px solid #dce6f5;border-radius:10px;color:#496083; }
.studio-admin .container .accordion { border:1px solid var(--workspace-border);border-radius:9px;box-shadow:none; }
.studio-admin .container .accordion-header { background:#f8fafd;color:#4a5f7c;border-radius:9px;padding:14px 18px;font-size:13px; }
.studio-admin .container :is(.alert-success,.alert-error,.alert-warn,.alert-info,.error-message) { padding:14px 18px;border:1px solid var(--workspace-border);border-radius:10px;font-size:13px;line-height:1.65;margin-bottom:20px; }
.studio-admin .container .alert-success { background:#edf7f2;border-color:#d8ece1;color:#24795f; }
.studio-admin .container :is(.alert-error,.error-message) { background:#fff0f1;border-color:#f0dadd;color:#b74b56; }
.studio-admin .container .alert-warn { background:#fff7e7;border-color:#f0e3c9;color:#a87622; }
.studio-admin .container .alert-info { background:#edf3fd;border-color:#dce6f5;color:#496083; }
/* Forms in dialogs and standalone views */
.studio-modal .card-edit { max-width:none;margin:0;border:0;border-radius:0;padding:28px;box-shadow:none; }
.studio-modal .workspace-heading h1 { font-size:24px; }
.studio-modal .workspace-heading { margin-bottom:24px; }
.studio-admin .container .card-edit { border:1px solid var(--workspace-border);border-radius:var(--workspace-radius);padding:28px;box-shadow:none; }
.studio-admin .modal-box { border-radius:14px;box-shadow:0 25px 90px #11233a30; }
.studio-admin .modal-close { border-radius:7px;background:#f2f5fa;color:#687b94; }
/* Sign-in */
body.login-page { min-height:100vh;display:grid;place-items:center;margin:0;padding:24px;background:#f5f7fb;background-image:radial-gradient(ellipse at top left,#e8effb,transparent 60%); }
.login-page .login-card { width:100%;max-width:420px;padding:36px;margin:0;border:1px solid var(--workspace-border);border-radius:16px;box-shadow:0 18px 65px #11233a08; }
.workspace-login-mark { display:flex;align-items:center;justify-content:center;gap:1px;width:48px;height:48px;background:#11233a;color:#fff;border-radius:12px;font-size:30px;font-weight:650;margin-bottom:24px; }
.workspace-login-mark span { color:#67acf9;font-size:21px; }
.login-page h1 { color:#19283d;font-size:27px;font-weight:650;letter-spacing:-.03em;margin:0; }
.login-page .studio-subtitle { margin:10px 0 26px;font-size:13px; }
.login-page .form-group label { font-size:12px;color:#526580; }
.login-page .btn-full { width:100%;min-height:44px;border-radius:8px;font-size:13px;font-weight:600; }
.login-page .login-footer { margin-top:24px;color:#91a0b5;font-size:11px; }
@media(max-width:1200px) {
 .studio-admin .container .stats-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .studio-admin .container .guide-wrapper { flex-direction:column; }
 .studio-admin .container .guide-sidebar { width:100%;position:static; }
 .studio-admin .container .side-nav { display:flex;flex-wrap:wrap;gap:3px; }
 .studio-admin .container .side-nav .nav-section { width:100%; }
}
@media(max-width:700px) {
 .studio-admin .container .stats-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
 .studio-admin .container .stats-grid .stat-card { padding:17px; }
 .workspace-heading h1 { font-size:25px; }
 .studio-admin .container>.header-row { align-items:flex-start;flex-direction:column-reverse;gap:15px; }
 .studio-admin .container .toolbar-row,.studio-admin .container .next-expiry-banner { align-items:flex-start;flex-direction:column; }
 .studio-admin .container .toolbar-right,.studio-admin .container .search-box { width:100%; }
 .studio-admin .container :is(.card,.info-card,.guide-section,.content,.blacklist-form) { padding:18px; }
 .studio-admin .container :is(.result-grid,.summary-grid,.checkbox-grid,.info-grid) { grid-template-columns:minmax(0,1fr); }
 .studio-admin .container .blacklist-form .form-group { flex-direction:column;align-items:stretch; }
 .studio-admin .container .form-row { flex-direction:column;align-items:stretch; }
 .studio-admin .container .form-row>div { width:100%;min-width:0; }
 .studio-modal .card-edit { padding:24px 18px; }
 .studio-admin .container form>div[style*="display: flex"] { flex-direction:column; }
 .workspace-panel-heading { padding:18px; }
 .studio-admin .container .table-wrapper table { min-width:720px; }
 .studio-admin .container .bulk-bar>div { flex-wrap:wrap; }
}
@media print {
 body.studio-admin { display:block;background:#fff; }
 .studio-admin .container .workspace-table-scroll { overflow:visible;border:0; }
 .studio-admin .container table { min-width:0!important; }
 .studio-admin .container :is(.toolbar-row,.bulk-bar,.action-btns,.workspace-secondary) { display:none!important; }
 .studio-admin .container :is(.card,.info-card,.guide-section) { break-inside:avoid;box-shadow:none; }
}

/* The fixed sidebar is rendered within some page containers; retain its approved style. */
.studio-admin .container .studio-sidebar button.studio-logout {
 background:transparent!important;color:#aebed2!important;border:0!important;border-radius:7px!important;
 min-height:46px;padding:11px 13px!important;font:500 13px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
 justify-content:flex-start;width:100%;box-shadow:none;
}
.studio-admin .container .studio-sidebar button.studio-logout:hover { background:#20354f!important;color:white!important; }

/* Result cards and secondary example actions use the same calm visual language. */
.studio-admin .container .auth-card { border:1px solid var(--workspace-border);border-radius:12px;background:white;text-align:left;padding:22px;box-shadow:none;transform:none; }
.studio-admin .container .auth-card h5 { margin:0 0 14px;font-size:13px;font-weight:600; }
.studio-admin .container .auth-card .auth-result { font-size:19px;font-weight:650; }
.studio-admin .container .auth-card.pass .auth-result { color:#24795f; }
.studio-admin .container .auth-card.fail .auth-result { color:#b74b56; }
.studio-admin .container .auth-card.warn .auth-result { color:#a87622; }
.studio-admin .container .auth-card .auth-detail { word-break:normal;overflow-wrap:anywhere;line-height:1.65;color:#718099; }
.studio-admin .container .auth-card:hover { transform:none;box-shadow:none; }
.studio-admin .container .statistics-grid .stat-card { background:white;border:1px solid var(--workspace-border);border-radius:12px;text-align:left;box-shadow:none;padding:22px; }
.studio-admin .container .statistics-grid .stat-card .number { font-size:32px;color:var(--studio-ink);font-weight:650; }
.studio-admin .container .example-btn { padding:8px 12px;font-size:12px;background:#f3f6fb;color:#58708f;border:1px solid var(--workspace-border);border-radius:7px; }
.studio-admin .container .verdict-banner { border:1px solid var(--workspace-border);background:#edf7f2;color:#24795f;border-radius:12px; }
.studio-admin .container .verdict-banner.suspicious { background:#fff7e7;color:#a87622; }
.studio-admin .container .verdict-banner.dangerous { background:#fff0f1;color:#b74b56; }
@media(max-width:700px) {
 .studio-admin .container .auth-grid { grid-template-columns:minmax(0,1fr); }
 .studio-admin .container form .half { width:100%; }
}

.studio-admin .container .bulk-bar button[name=bulk_delete] { background:#fff0f1!important;color:#b74b56!important;border-color:#f0dadd!important; }
.studio-admin .container .bulk-bar .btn-bulk-cancel { background:#fff;color:#4c5f79;border:1px solid #dce3ed;border-radius:8px; }
@media print { .studio-admin .container .table-wrapper { overflow:visible!important; } }

.studio-admin .modal-close { display:flex;align-items:center;justify-content:center;width:32px;height:32px;top:14px;right:14px;padding:6px; }
.studio-modal .workspace-heading { padding-right:32px; }
@media(max-width:480px) { .studio-modal .card-edit form>div[style*="display: flex"] { flex-direction:column; } }
