/* WOW Shopping control panel: wp-admin look. System fonts only, no animation except the spinner. */
:root {
  --bar-bg:#1d2327; --bar-hover-bg:#2c3338; --bar-text:#f0f0f1; --bar-icon:#a7aaad; --bar-hover-text:#72aee6;
  --menu-current-bg:#2271b1; --submenu-bg:#2c3338; --submenu-text:#c3c4c7;
  --page-bg:#f0f0f1; --surface:#fff; --surface-alt:#f6f7f7;
  --text:#3c434a; --heading:#1d2327; --text-strong:#2c3338; --text-muted:#646970; --text-count:#50575e; --text-disabled:#a7aaad;
  --border:#c3c4c7; --border-light:#dcdcde; --input-border:#8c8f94;
  --primary:#2271b1; --primary-hover:#135e96; --primary-dark:#0a4b78; --focus-alt:#3582c4;
  --delete:#b32d2e; --delete-hover:#8a2424;
  --info:#72aee6; --info-bg:#f0f6fc; --info-text:#135e96;
  --success:#00a32a; --success-bg:#edfaef; --success-text:#007017;
  --warning:#dba617; --warning-bg:#fcf9e8; --warning-text:#996800;
  --error:#d63638; --error-bg:#fcf0f1; --error-text:#b32d2e;
  --neutral-bg:#f0f0f1; --neutral-text:#50575e;
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;
  --mono:Consolas,Monaco,monospace;
  --bar-h:32px; --menu-w:160px; --menu-folded-w:36px;
  --radius-button:3px; --radius-input:4px; --shadow:0 1px 1px rgba(0,0,0,.04);
  --ring-primary:0 0 0 1px #fff,0 0 0 3px #2271b1; --ring-plain:0 0 0 1px #3582c4;
}
* { box-sizing:border-box; }
html { background:var(--page-bg); }
body { margin:0; font:13px/1.4 var(--font); color:var(--text); background:var(--page-bg); min-height:100vh; overflow-x:hidden; }
a { color:var(--primary); }
a:hover { color:var(--primary-hover); }
a:focus, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline:0; box-shadow:var(--ring-primary); }
h1,h2,h3 { color:var(--heading); }
h2 { font-size:1.3em; font-weight:600; margin:1em 0; }
h3 { font-size:1.1em; }
code, .mono { font-family:var(--mono); font-size:12px; }
.sku { font-family:var(--mono); font-size:12px; color:var(--text-muted); }
.screen-reader-text { position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); white-space:nowrap; }
.screen-reader-shortcut { position:fixed; left:-9999px; top:-1000em; }
.screen-reader-shortcut:focus { left:6px; top:7px; z-index:100000; background:var(--surface); padding:15px 23px 14px; font-weight:600; box-shadow:0 0 2px 2px rgba(0,0,0,.6); }
.muted, .description { color:var(--text-muted); }
p.description { margin:4px 0 0; max-width:80ch; }
.text-warning { color:var(--warning-text); }
.text-error { color:var(--error-text); }
.text-success { color:var(--success-text); }
.num, td.num, th.num { text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.ico { width:20px; height:20px; display:inline-block; vertical-align:middle; flex:none; }
.ico-sm { width:16px; height:16px; vertical-align:-3px; }
hr.wp-header-end { visibility:hidden; margin:0; border:0; }
[hidden] { display:none !important; }

/* ---------- admin bar ---------- */
#wpadminbar { position:fixed; top:0; left:0; right:0; height:var(--bar-h); background:var(--bar-bg); color:var(--bar-text); font:13px/32px var(--font); z-index:9990; display:flex; justify-content:space-between; }
body.live-mode #wpadminbar { box-shadow:inset 0 -3px 0 #d63638; }
#wpadminbar ul { list-style:none; margin:0; padding:0; display:flex; min-width:0; }
#wpadminbar li { position:relative; min-width:0; }
#wpadminbar .ab-item { display:flex; align-items:center; gap:6px; height:32px; padding:0 8px; color:var(--bar-text); text-decoration:none; background:none; border:0; font:inherit; cursor:pointer; white-space:nowrap; }
#wpadminbar .ab-item .ico { color:var(--bar-icon); }
#wpadminbar li:hover > .ab-item, #wpadminbar li > .ab-item:focus, #wpadminbar li.open > .ab-item { background:var(--bar-hover-bg); color:var(--bar-hover-text); }
#wpadminbar li:hover > .ab-item .ico, #wpadminbar li.open > .ab-item .ico { color:var(--bar-hover-text); }
#wpadminbar .ab-plain { color:var(--bar-icon); padding:0 8px; white-space:nowrap; }
#wpadminbar .ab-sub-wrapper { display:none; position:absolute; top:32px; left:0; background:var(--bar-hover-bg); min-width:200px; padding:6px 0; box-shadow:0 3px 5px rgba(0,0,0,.2); z-index:9991; }
#wpadminbar .secondary .ab-sub-wrapper { left:auto; right:0; }
#wpadminbar li:hover > .ab-sub-wrapper, #wpadminbar li:focus-within > .ab-sub-wrapper, #wpadminbar li.open > .ab-sub-wrapper { display:block; }
#wpadminbar li.closed > .ab-sub-wrapper { display:none; }
#wpadminbar .ab-sub-wrapper ul { display:block; }
#wpadminbar .ab-sub-wrapper a, #wpadminbar .ab-sub-wrapper .ab-text { display:block; line-height:26px; height:auto; padding:0 12px; color:#c3c4c7; text-decoration:none; white-space:nowrap; }
#wpadminbar .ab-sub-wrapper a:hover, #wpadminbar .ab-sub-wrapper a:focus { color:var(--bar-hover-text); }
.mode-badge { display:inline-block; height:20px; line-height:20px; padding:0 7px; border-radius:3px; font-weight:600; font-size:12px; background:var(--warning); color:var(--heading); }
.mode-badge.live { background:var(--error); color:#fff; }
.ab-dot { width:8px; height:8px; border-radius:50%; display:inline-block; background:var(--success); }
.ab-dot.warn { background:var(--warning); } .ab-dot.bad { background:var(--error); }
.ab-job-label { max-width:44ch; overflow:hidden; text-overflow:ellipsis; }
.ab-count { background:var(--error); color:#fff; border-radius:9px; min-width:18px; height:18px; line-height:18px; font-size:11px; font-weight:600; padding:0 5px; text-align:center; }
.avatar { width:18px; height:18px; background:var(--primary); color:#fff; font-size:10px; font-weight:600; line-height:18px; text-align:center; display:inline-block; }
#wp-admin-bar-menu-toggle { display:none; }
.ab-bad { color:#f86368; }

/* ---------- admin menu ---------- */
#adminmenuback, #adminmenuwrap { position:fixed; top:var(--bar-h); bottom:0; left:0; width:var(--menu-w); background:var(--bar-bg); z-index:9980; }
#adminmenuwrap { overflow-y:auto; overflow-x:visible; }
#adminmenu { list-style:none; margin:12px 0; padding:0; }
#adminmenu li { position:relative; }
#adminmenu li.wp-menu-separator { height:5px; margin:0 0 6px; }
#adminmenu a.menu-top { display:flex; align-items:flex-start; min-height:34px; color:var(--bar-text); text-decoration:none; font-size:14px; line-height:1.3; }
#adminmenu .wp-menu-image { width:36px; height:34px; display:flex; align-items:center; justify-content:center; color:var(--bar-icon); flex:none; }
#adminmenu .wp-menu-name { padding:8px 8px 8px 0; flex:1; min-width:0; }
#adminmenu li:hover > a.menu-top, #adminmenu a.menu-top:focus { color:var(--bar-hover-text); box-shadow:none; }
#adminmenu li:hover > a.menu-top .wp-menu-image, #adminmenu a.menu-top:focus .wp-menu-image { color:var(--bar-hover-text); }
#adminmenu li.current > a.menu-top { background:var(--menu-current-bg); color:#fff; }
#adminmenu li.current > a.menu-top .wp-menu-image { color:#fff; }
#adminmenu li.current > a.menu-top::after { content:""; position:absolute; right:0; top:9px; border:8px solid transparent; border-right-color:var(--page-bg); }
#adminmenu .wp-submenu { list-style:none; margin:0; padding:7px 0 8px; background:var(--submenu-bg); display:none; }
#adminmenu li.current > .wp-submenu { display:block; }
#adminmenu li:not(.current):hover > .wp-submenu, #adminmenu li:not(.current):focus-within > .wp-submenu { display:block; position:absolute; left:var(--menu-w); top:0; min-width:160px; box-shadow:0 3px 5px rgba(0,0,0,.2); z-index:9999; }
#adminmenu li:not(.current):hover > .wp-submenu::before, #adminmenu li:not(.current):focus-within > .wp-submenu::before { content:""; position:absolute; left:-16px; top:9px; border:8px solid transparent; border-right-color:var(--submenu-bg); }
#adminmenu .wp-submenu a { display:block; padding:5px 12px; color:var(--submenu-text); text-decoration:none; font-size:13px; line-height:1.4; }
#adminmenu .wp-submenu a:hover, #adminmenu .wp-submenu a:focus { color:var(--bar-hover-text); box-shadow:none; }
#adminmenu .wp-submenu a[aria-current="page"] { color:#fff; font-weight:600; }
#adminmenu .wp-submenu-head { display:none; }
.awaiting-mod { display:inline-block; vertical-align:top; margin-left:2px; background:var(--error); color:#fff; border-radius:9px; min-width:18px; height:18px; padding:0 5px; font-size:11px; font-weight:600; line-height:18px; text-align:center; }
#collapse-button { display:flex; align-items:center; gap:0; width:100%; height:34px; background:none; border:0; color:var(--bar-icon); font:13px var(--font); cursor:pointer; padding:0; text-align:left; }
#collapse-button:hover { color:var(--bar-hover-text); }
#collapse-button .collapse-arrow { width:36px; display:flex; justify-content:center; }
#collapse-button .collapse-arrow::before { content:""; border:6px solid transparent; border-right-color:currentColor; margin-left:-6px; }
body.folded #collapse-button .collapse-arrow::before { border-right-color:transparent; border-left-color:currentColor; margin-left:6px; }

body.folded #adminmenuback, body.folded #adminmenuwrap { width:var(--menu-folded-w); }
body.folded #adminmenu .wp-menu-name, body.folded #collapse-button .collapse-label { display:none; }
body.folded #adminmenu li.current > .wp-submenu { display:none; }
body.folded #adminmenu li:hover > .wp-submenu, body.folded #adminmenu li:focus-within > .wp-submenu { display:block; position:absolute; left:var(--menu-folded-w); top:0; min-width:160px; box-shadow:0 3px 5px rgba(0,0,0,.2); z-index:9999; }
body.folded #adminmenu .wp-submenu-head { display:block; color:#fff; font-weight:600; padding:3px 12px 6px; font-size:14px; }
body.folded #adminmenuwrap { overflow:visible; }

/* ---------- content ---------- */
#wpcontent { margin-left:var(--menu-w); padding:var(--bar-h) 0 0 20px; min-height:calc(100vh - 40px); }
body.folded #wpcontent, body.folded #wpfooter { margin-left:var(--menu-folded-w); }
.wrap { margin:10px 20px 0 2px; outline:0; }
.wrap h1.wp-heading-inline, .wrap > h1 { display:inline-block; font-size:23px; font-weight:400; margin:0; padding:9px 0 4px; line-height:1.3; color:var(--heading); margin-right:5px; }
.page-title-action { display:inline-block; position:relative; top:-3px; margin-left:4px; padding:4px 8px; border:1px solid var(--primary); border-radius:3px; font-size:13px; font-weight:600; line-height:normal; color:var(--primary); background:var(--surface-alt); text-decoration:none; cursor:pointer; font-family:inherit; }
.page-title-action:hover { border-color:var(--primary-dark); color:var(--primary-dark); background:var(--page-bg); }
#wpfooter { margin-left:var(--menu-w); padding:10px 20px; color:var(--text-count); font-size:13px; display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; }
#wpfooter p { margin:0; }

#screen-meta-links { float:right; margin:0 20px 0 0; display:flex; gap:6px; position:relative; z-index:2; }
.screen-meta-toggle button { border:1px solid var(--border); border-top:0; border-radius:0 0 4px 4px; background:var(--surface); color:var(--text-muted); padding:3px 6px 3px 16px; font:13px/1.7 var(--font); cursor:pointer; }
.screen-meta-toggle button::after { content:" \25BE"; }
.screen-meta-toggle button[aria-expanded="true"]::after { content:" \25B4"; }
#screen-meta { background:var(--surface); border:1px solid var(--border); border-top:0; margin:0 20px -1px 0; padding:12px 20px; box-shadow:var(--shadow); }
#screen-meta fieldset { border:0; margin:0 0 8px; padding:0; }
#screen-meta legend { font-weight:600; margin-bottom:6px; }
#screen-meta label { margin-right:14px; display:inline-block; }

/* ---------- notices ---------- */
.notice { position:relative; background:var(--surface); border:1px solid var(--border); border-left-width:4px; border-left-color:var(--info); box-shadow:var(--shadow); margin:5px 0 15px; padding:1px 12px; }
.notice p { margin:.5em 0; padding:2px; font-size:13px; }
.notice-success { border-left-color:var(--success); }
.notice-warning { border-left-color:var(--warning); }
.notice-error { border-left-color:var(--error); }
.notice.notice-alt.notice-info { background:var(--info-bg); } .notice.notice-alt.notice-success { background:var(--success-bg); }
.notice.notice-alt.notice-warning { background:var(--warning-bg); } .notice.notice-alt.notice-error { background:var(--error-bg); }
.notice.inline { margin:5px 0 12px; }
.notice.is-dismissible { padding-right:38px; }
.notice-dismiss { position:absolute; top:0; right:1px; border:0; background:none; color:var(--text-muted); padding:9px; cursor:pointer; font-size:16px; line-height:1; }
.notice-dismiss:hover { color:var(--error); }
.notice details { margin:0 0 .5em; }
.more-notices { margin:-8px 0 12px; }

/* ---------- buttons ---------- */
.button, .button-primary, .button-secondary { display:inline-flex; align-items:center; gap:4px; justify-content:center; text-decoration:none; font:13px/2.15384615 var(--font); min-height:30px; margin:0; padding:0 10px; cursor:pointer; border:1px solid var(--primary); border-radius:var(--radius-button); white-space:nowrap; color:var(--primary); background:var(--surface-alt); vertical-align:middle; }
.button:hover { background:var(--page-bg); border-color:var(--primary-dark); color:var(--primary-dark); }
.button:focus-visible { border-color:var(--focus-alt); box-shadow:var(--ring-plain); }
.button-primary { background:var(--primary); border-color:var(--primary); color:#fff; }
.button-primary:hover { background:var(--primary-hover); border-color:var(--primary-hover); color:#fff; }
.button-primary:focus-visible { box-shadow:var(--ring-primary); }
.button-primary.is-destructive { background:var(--error); border-color:var(--error); }
.button-primary.is-destructive:hover { background:var(--delete); border-color:var(--delete); }
.button:disabled, .button[aria-disabled="true"], .button-primary:disabled { color:var(--text-disabled) !important; border-color:var(--border-light) !important; background:var(--surface-alt) !important; cursor:default; }
.button-large { min-height:32px; padding:0 12px; }
.button-hero { min-height:46px; font-size:14px; padding:0 36px; }
.button-small { min-height:26px; line-height:2; padding:0 8px; font-size:12px; }
.button-link { background:none; border:0; padding:0; color:var(--primary); text-decoration:underline; cursor:pointer; font:inherit; }
.button-link:hover { color:var(--primary-hover); }
.submitdelete, .button-link-delete, a.delete, .row-actions .delete a, .row-actions .delete button { color:var(--delete) !important; }
.submitdelete:hover, .button-link-delete:hover { color:var(--delete-hover) !important; }
button.submitdelete { background:none; border:0; padding:0; text-decoration:underline; cursor:pointer; font:inherit; }
.spinner { display:inline-block; width:20px; height:20px; border:2px solid rgba(0,0,0,.15); border-top-color:#646970; border-radius:50%; vertical-align:middle; animation:wow-spin .8s linear infinite; margin:0 6px; flex:none; }
#wpadminbar .spinner { width:16px; height:16px; border-color:rgba(255,255,255,.3); border-top-color:#fff; margin:0; }
@keyframes wow-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { .spinner { animation:none; } }

/* ---------- forms ---------- */
input[type=text], input[type=search], input[type=number], input[type=email], input[type=url], input[type=password], input[type=tel], select, textarea {
  font:14px var(--font); color:var(--text-strong); background:#fff; border:1px solid var(--input-border); border-radius:var(--radius-input); min-height:30px; padding:0 8px; line-height:2; max-width:100%; }
textarea { line-height:1.5; padding:4px 8px; width:100%; }
input:focus, select:focus, textarea:focus { border-color:var(--primary); box-shadow:0 0 0 1px #2271b1 !important; outline:0; }
input:disabled, select:disabled, textarea:disabled { background:rgba(255,255,255,.5); border-color:var(--border-light); color:var(--text-disabled); }
select { -webkit-appearance:none; appearance:none; padding-right:24px; background:#fff url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23555%22%2F%3E%3C%2Fsvg%3E") no-repeat right 5px top 55%; background-size:16px 16px; cursor:pointer; }
input[type=checkbox], input[type=radio] { -webkit-appearance:none; appearance:none; width:16px; height:16px; margin:-4px 4px 0 0; vertical-align:middle; border:1px solid var(--input-border); background:#fff; border-radius:4px; cursor:pointer; flex:none; position:relative; }
input[type=radio] { border-radius:50%; }
input[type=checkbox]:checked { background:#fff url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M14.83%204.89l1.34.94-5.81%208.38H9.02L5.78%209.67l1.34-1.25%202.57%202.4z%22%20fill%3D%22%233582c4%22%2F%3E%3C%2Fsvg%3E") center/18px no-repeat; }
input[type=radio]:checked::before { content:""; position:absolute; inset:3px; border-radius:50%; background:var(--focus-alt); }
input[type=checkbox]:focus, input[type=radio]:focus { border-color:var(--focus-alt); box-shadow:var(--ring-plain); }
.small-text { width:65px; } .regular-text { width:25em; } .large-text { width:100%; }
label { cursor:pointer; }
.req { font-size:12px; color:var(--error-text); }
.char-count { text-align:right; color:var(--text-muted); font-size:13px; }
.char-count.warn { color:var(--warning-text); }

/* ---------- postbox ---------- */
.postbox { background:var(--surface); border:1px solid var(--border); box-shadow:var(--shadow); margin-bottom:20px; min-width:0; }
.postbox-header { display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--border); }
.postbox-header h2 { font-size:14px; line-height:1.4; font-weight:600; margin:0; padding:8px 12px; }
.handlediv { width:36px; height:36px; border:0; background:none; cursor:pointer; color:var(--text-muted); flex:none; }
.handlediv::before { content:""; display:inline-block; border:5px solid transparent; border-bottom-color:currentColor; margin-top:-5px; }
.postbox.closed .handlediv::before { border-bottom-color:transparent; border-top-color:currentColor; margin-top:5px; }
.postbox.closed .inside, .postbox.closed .sub { display:none; }
.postbox.closed .postbox-header { border-bottom:0; }
.postbox .inside { padding:0 12px 12px; margin-top:11px; }
.postbox .sub { margin:0; background:var(--surface-alt); border-top:1px solid var(--border-light); padding:8px 12px; }
.dash-cols { display:grid; grid-template-columns:1fr; gap:0 20px; align-items:start; }
@media (min-width:800px) { .dash-cols { grid-template-columns:1fr 1fr; } }
@media (min-width:1500px) { .dash-cols { grid-template-columns:1fr 1fr 1fr; } }
.welcome-panel { background:var(--surface); border:1px solid var(--border); padding:23px 10px 0; margin:16px 0 20px; position:relative; }
.welcome-panel h2 { font-size:21px; font-weight:400; margin:0 0 8px 10px; }
.welcome-panel ol { display:flex; flex-wrap:wrap; gap:8px 24px; list-style:none; padding:0 10px 20px; margin:0; }
.welcome-panel-close { position:absolute; top:10px; right:10px; }
.glance { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:8px 12px; }
.glance a { display:flex; gap:6px; align-items:center; text-decoration:none; }
.glance .ico { color:var(--text-muted); }
.attn { list-style:none; margin:0; padding:0; }
.attn li { padding:6px 0 6px 18px; position:relative; border-bottom:1px solid var(--border-light); }
.attn li:last-child { border-bottom:0; }
.attn li::before { content:""; position:absolute; left:2px; top:11px; width:8px; height:8px; border-radius:50%; background:var(--warning); }
.attn li.bad::before { background:var(--error); }
.health-ring { width:24px; height:24px; border-radius:50%; border:4px solid var(--success); display:inline-block; vertical-align:middle; margin-right:8px; flex:none; }
.health-ring.warn { border-color:#dba617; } .health-ring.bad { border-color:var(--error); }
.health-ring.big { width:60px; height:60px; border-width:7px; margin:0; }
.checks { list-style:none; padding:0; margin:8px 0; }
.checks li { display:flex; gap:8px; padding:4px 0; align-items:flex-start; }
.checks .dot { width:10px; height:10px; border-radius:50%; margin-top:4px; flex:none; background:var(--success); }
.checks .dot.warn { background:var(--warning); } .checks .dot.bad { background:var(--error); } .checks .dot.wait { background:var(--border); }
.activity-list { list-style:none; margin:0 0 10px; padding:0; }
.activity-list li { display:flex; gap:10px; padding:3px 0; flex-wrap:wrap; }
.activity-list .when { min-width:110px; color:var(--text-muted); }

/* ---------- badges, progress ---------- */
mark.status { display:inline-block; height:24px; line-height:24px; padding:0 8px; border-radius:4px; font-size:13px; white-space:nowrap; background:var(--neutral-bg); color:var(--neutral-text); }
mark.status.ok { background:var(--success-bg); color:var(--success-text); }
mark.status.warn { background:var(--warning-bg); color:var(--warning-text); }
mark.status.bad { background:var(--error-bg); color:var(--error-text); }
mark.status.info { background:var(--info-bg); color:var(--info-text); }
.progress { height:8px; background:var(--border-light); margin:6px 0; }
.progress > span { display:block; height:100%; background:var(--primary); }
.progress.high > span { background:var(--warning); } .progress.full > span { background:var(--error); }
.thumb { width:40px; height:40px; object-fit:contain; background:#fff; border:1px solid var(--border-light); display:block; }
.thumb.big { width:128px; height:128px; }
.no-photo { width:40px; height:40px; background:var(--page-bg); border:1px solid var(--border-light); color:var(--text-muted); font-size:11px; display:flex; align-items:center; justify-content:center; text-align:center; line-height:1.1; }
.no-photo.big { width:128px; height:128px; }
details.tech summary { cursor:pointer; color:var(--text-muted); font-size:12px; }
details.tech code { display:block; white-space:pre-wrap; word-break:break-word; margin-top:4px; }
.empty-state { background:var(--surface); border:1px solid var(--border); box-shadow:var(--shadow); text-align:center; font-size:14px; padding:40px 20px; margin:16px 0; }

/* ---------- list table ---------- */
.subsubsub { list-style:none; margin:8px 0 0; padding:0; font-size:13px; float:left; color:var(--text-muted); }
.subsubsub li { display:inline-block; margin:0; padding:0; white-space:nowrap; }
.subsubsub a { text-decoration:none; line-height:2; padding:.2em; }
.subsubsub a.current { font-weight:600; color:var(--heading); }
.subsubsub .count { color:var(--text-count); font-weight:400; }
p.search-box { float:right; margin:6px 0 0; display:flex; gap:4px; }
p.search-box input[type=search] { width:200px; }
.tablenav { clear:both; min-height:30px; margin:6px 0 4px; display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.tablenav .actions { display:flex; gap:6px; align-items:center; flex-wrap:wrap; }
.tablenav-pages { margin-left:auto; display:flex; gap:4px; align-items:center; }
.tablenav-pages .displaying-num { color:var(--text-muted); margin-right:6px; }
.tablenav-pages .button, .tablenav-pages .tablenav-pages-navspan { min-width:30px; min-height:30px; padding:0 4px; font-size:16px; line-height:1.625; justify-content:center; }
.tablenav-pages-navspan { display:inline-flex; border:1px solid var(--border-light); color:var(--text-disabled); background:var(--surface-alt); border-radius:3px; align-items:center; }
.tablenav-pages .current-page { width:4ch; text-align:center; padding:0 2px; }
.tablenav.bottom { margin-top:6px; }
.wp-list-table { width:100%; border-spacing:0; border:1px solid var(--border); background:var(--surface); box-shadow:var(--shadow); table-layout:fixed; clear:both; }
.wp-list-table th, .wp-list-table td { padding:8px 10px; text-align:left; vertical-align:top; overflow-wrap:anywhere; }
.wp-list-table thead th, .wp-list-table tfoot th { font-size:14px; font-weight:400; color:var(--text-strong); border-bottom:1px solid var(--border); line-height:1.4; }
.wp-list-table tfoot th { border-top:1px solid var(--border); border-bottom:0; }
.wp-list-table td { font-size:13px; line-height:1.5; }
.wp-list-table.striped > tbody > tr:nth-child(odd) { background:var(--surface-alt); }
.wp-list-table tbody tr.is-selected { background:var(--info-bg) !important; }
.wp-list-table .check-column { width:2.2em; padding:8px 0 0 3px; }
.wp-list-table td.check-column { padding:11px 0 0 3px; }
.wp-list-table th.column-image, .wp-list-table td.column-image { width:62px; }
.wp-list-table th.num, .wp-list-table td.num { text-align:right; }
th.sortable a, th.sorted a { display:flex; gap:4px; text-decoration:none; color:inherit; align-items:center; }
th.sortable a::after, th.sorted a::after { content:""; border:5px solid transparent; visibility:hidden; }
th.sortable a:hover::after, th.sortable a:focus::after { visibility:visible; border-bottom-color:var(--text-muted); margin-top:-5px; }
th.sorted.asc a::after { visibility:visible; border-bottom-color:var(--text-muted); margin-top:-5px; }
th.sorted.desc a::after { visibility:visible; border-top-color:var(--text-muted); margin-top:5px; }
a.row-title { font-size:14px; font-weight:600; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.row-meta { color:var(--text-muted); }
.row-problem { color:var(--error-text); }
.row-actions { color:var(--text-muted); font-size:13px; padding:2px 0 0; position:relative; left:-9999em; }
tr:hover .row-actions, tr:focus-within .row-actions { left:0; }
.row-actions button { background:none; border:0; padding:0; color:var(--primary); cursor:pointer; font:inherit; }
.row-actions button:hover { text-decoration:underline; }
.row-actions > span + span::before { content:" | "; color:var(--text-muted); }
tr.no-items td { padding:12px 10px; }
.toggle-row { display:none; }
.wp-list-table tr.subrow td { background:var(--info-bg); }
.quick-edit-row td { background:var(--surface) !important; border-top:1px solid var(--border-light); }
.quick-edit-row fieldset { border:0; padding:0; margin:0 0 10px; }
.inline-edit-legend { font-weight:600; text-transform:uppercase; font-size:12px; margin:4px 0 10px; display:block; }
.qe-row { display:flex; gap:10px; align-items:center; margin-bottom:8px; flex-wrap:wrap; }
.qe-row > .title { width:5em; }
.submit.inline-edit-save { display:flex; justify-content:space-between; align-items:center; }

/* ---------- form table, tabs ---------- */
.form-table { width:100%; border-collapse:collapse; margin-top:.5em; clear:both; }
.form-table th { width:200px; padding:20px 10px 20px 0; text-align:left; vertical-align:top; font-size:14px; font-weight:600; color:var(--heading); line-height:1.3; }
.form-table td { padding:15px 10px; font-size:14px; vertical-align:middle; line-height:1.3; }
.form-table fieldset { border:0; padding:0; margin:0; }
.form-table fieldset label { display:block; margin:.35em 0 .5em; }
p.submit { padding:1.5em 0; margin:5px 0 0; display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.dirty-note { color:var(--warning-text); }
.nav-tab-wrapper { border-bottom:1px solid var(--border); padding-top:9px; margin:0 0 12px; display:flex; flex-wrap:wrap; gap:4px 0; }
.nav-tab { border:1px solid var(--border); border-bottom:0; margin-left:.5em; padding:5px 10px; font-size:14px; line-height:24px; font-weight:600; background:var(--border-light); color:var(--text-count); text-decoration:none; }
.nav-tab:hover { background:#fff; color:var(--text); }
.nav-tab-active, .nav-tab-active:hover { background:var(--page-bg); color:#000; border-bottom:1px solid var(--page-bg); margin-bottom:-1px; }
.wp-filter { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; background:var(--surface); border:1px solid var(--border); box-shadow:var(--shadow); padding:0 10px; margin:12px 0 25px; }
.filter-links { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; }
.filter-links a { display:inline-block; margin:0 10px; padding:15px 0; border-bottom:4px solid transparent; color:var(--text-muted); text-decoration:none; }
.filter-links a.current { border-bottom-color:var(--text-muted); color:var(--heading); }
.search-form { display:flex; gap:6px; align-items:center; flex-wrap:wrap; padding:10px 0; }
table.widefat { width:100%; border-spacing:0; border:1px solid var(--border); background:#fff; }
table.widefat th, table.widefat td { padding:8px 10px; text-align:left; vertical-align:top; }
table.widefat thead th { border-bottom:1px solid var(--border); font-weight:400; }
table.widefat.striped tbody tr:nth-child(odd) { background:var(--surface-alt); }
.changed { font-weight:600; color:var(--primary-dark); }
.col-wrap { display:grid; grid-template-columns:35% 1fr; gap:20px; align-items:start; }

/* ---------- cards (Add New) ---------- */
.plugin-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
@media (min-width:1600px) { .plugin-cards { grid-template-columns:repeat(3,minmax(0,1fr)); } }
.plugin-card { background:#fff; border:1px solid var(--border-light); display:flex; flex-direction:column; }
.plugin-card-top { display:grid; grid-template-columns:128px 1fr 120px; gap:16px; padding:20px 20px 10px; }
.plugin-card h3 { margin:0 0 6px; font-size:18px; line-height:1.3; font-weight:600; }
.plugin-card h3 button { all:unset; color:var(--primary); cursor:pointer; }
.plugin-card h3 button:hover { text-decoration:underline; } .plugin-card h3 button:focus-visible { box-shadow:var(--ring-primary); }
.plugin-card .action-links { list-style:none; margin:0; padding:0; text-align:right; display:flex; flex-direction:column; gap:6px; align-items:flex-end; }
.plugin-card-bottom { margin-top:auto; background:var(--surface-alt); border-top:1px solid var(--border-light); padding:12px 20px; color:var(--text-muted); }
.docket { display:grid; grid-template-columns:auto auto; gap:2px 12px; margin-top:8px; justify-content:start; }
.docket dt { color:var(--text-muted); } .docket dd { margin:0; font-variant-numeric:tabular-nums; }

/* ---------- dialogs ---------- */
dialog { border:0; padding:0; background:#fff; color:var(--text); box-shadow:0 5px 15px rgba(0,0,0,.7); max-width:none; max-height:none; }
dialog::backdrop { background:rgba(0,0,0,.7); }
.media-modal[open] { position:fixed; inset:30px; width:auto; height:auto; margin:0; display:flex; flex-direction:column; }
.media-modal .modal-head, .wow-confirm .modal-head { height:50px; flex:none; position:relative; border-bottom:1px solid var(--border-light); }
.modal-head h1 { font-size:22px; line-height:50px; font-weight:400; margin:0; padding:0 66px 0 16px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.modal-head .side { position:absolute; right:60px; top:0; line-height:50px; color:var(--text-muted); }
.modal-close { position:absolute; top:0; right:0; width:50px; height:50px; border:0; background:none; font-size:22px; color:var(--text-muted); cursor:pointer; }
.modal-close:hover { color:var(--primary); }
.modal-body { flex:1; overflow:auto; padding:16px; }
.modal-foot { height:60px; flex:none; border-top:1px solid var(--border-light); padding:0 16px; display:flex; align-items:center; gap:8px; }
.modal-foot .left { margin-right:auto; color:var(--text-muted); }
.wow-confirm[open] { width:min(500px,100vw - 32px); margin:auto; }
.wow-confirm.live .modal-head { border-top:4px solid var(--error); }
.wow-confirm .modal-body { max-height:60vh; }
.wow-confirm .modal-foot { justify-content:flex-end; }
.pv { display:grid; grid-template-columns:340px 1fr; gap:20px; padding:16px 0; border-bottom:1px solid var(--border-light); }
.pv-main { width:340px; height:340px; object-fit:contain; border:1px solid var(--border-light); background:#fff; }
.pv-thumbs { display:flex; flex-wrap:wrap; gap:4px; margin-top:6px; }
.pv-thumbs button { padding:0; border:1px solid var(--border-light); background:#fff; cursor:pointer; }
.pv-thumbs img { width:48px; height:48px; object-fit:contain; display:block; }
.pv h2 { margin:8px 0 4px; font-size:16px; }
.pv-price { font-size:22px; font-weight:600; margin:8px 0 2px; }
.pv iframe, iframe.desc { width:100%; height:420px; border:1px solid var(--border-light); background:#fff; }
.pv-warn { color:var(--warning-text); margin:2px 0; }

/* ---------- edit screen ---------- */
#poststuff { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:20px; margin-top:10px; }
#titlediv input { width:100%; font-size:22px; height:40px; padding:3px 8px; }
.title-meta { display:flex; justify-content:space-between; gap:12px; margin:6px 0 16px; font-size:13px; flex-wrap:wrap; }
#minor-publishing-actions { padding:10px; display:flex; justify-content:space-between; }
#misc-publishing-actions { padding:6px 10px 8px; }
#misc-publishing-actions .misc-pub-section { padding:4px 0; }
#major-publishing-actions { background:var(--surface-alt); border-top:1px solid var(--border-light); padding:10px; display:flex; justify-content:space-between; align-items:center; gap:6px; }
#submitdiv .inside { padding:0; margin:0; }
.specs-table td, .specs-table th { vertical-align:middle; }
.health-head { background:#fff; border-bottom:1px solid var(--border-light); text-align:center; padding:12px 0 0; margin:0 -20px 20px -22px; }
.health-head h1 { font-size:23px; font-weight:400; margin:0 0 8px; }
.health-tabs { display:flex; justify-content:center; gap:24px; margin-top:12px; }
.health-tabs a { padding:8px 16px; text-decoration:none; color:var(--text); border-bottom:4px solid transparent; }
.health-tabs a.active { border-bottom-color:var(--focus-alt); font-weight:600; }
.health-body { max-width:800px; margin:0 auto; }
.accordion { border:1px solid var(--border-light); background:#fff; margin-top:-1px; }
.accordion > summary { display:flex; justify-content:space-between; gap:8px; align-items:center; padding:12px 16px; font-size:14px; font-weight:600; cursor:pointer; list-style:none; }
.accordion > summary::-webkit-details-marker { display:none; }
.accordion > summary::after { content:""; border:5px solid transparent; border-top-color:var(--text-muted); margin-top:5px; }
.accordion[open] > summary::after { border-top-color:transparent; border-bottom-color:var(--text-muted); margin:-5px 0 0; }
.accordion > summary .cat { margin-left:auto; border:1px solid var(--info); padding:2px 6px; font-weight:400; font-size:12px; color:var(--text-strong); }
.accordion > summary .cat.bad { border-color:var(--error); } .accordion > summary .cat.warn { border-color:var(--warning); } .accordion > summary .cat.ok { border-color:var(--success); }
.accordion .acc-body { padding:0 16px 16px; }
.log-box { background:var(--surface-alt); border:1px solid var(--border-light); font:12px/1.6 var(--mono); max-height:420px; overflow:auto; padding:8px 10px; margin:10px 0; white-space:pre-wrap; word-break:break-word; }
.log-box .t { color:var(--text-muted); } .log-box .warn { color:var(--warning-text); } .log-box .error { color:var(--error-text); font-weight:600; }
.order-cols { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.kv { display:grid; grid-template-columns:max-content 1fr; gap:4px 16px; margin:0; }
.kv dt { color:var(--text-muted); } .kv dd { margin:0; }
pre.payload { background:var(--surface-alt); border:1px solid var(--border-light); padding:8px; overflow:auto; max-height:240px; font:12px var(--mono); }

/* ---------- responsive ---------- */
@media (max-width:960px) and (min-width:783px) {
  body:not(.menu-open) #adminmenuback, body:not(.menu-open) #adminmenuwrap { width:var(--menu-folded-w); }
  body #wpcontent, body #wpfooter { margin-left:var(--menu-folded-w); }
  #adminmenu .wp-menu-name, #collapse-button .collapse-label, #collapse-button { display:none; }
  #adminmenu li.current > .wp-submenu { display:none; }
  #adminmenu li:hover > .wp-submenu, #adminmenu li:focus-within > .wp-submenu { display:block; position:absolute; left:var(--menu-folded-w); top:0; min-width:160px; box-shadow:0 3px 5px rgba(0,0,0,.2); z-index:9999; }
  #adminmenu .wp-submenu-head { display:block; color:#fff; font-weight:600; padding:3px 12px 6px; font-size:14px; }
  #adminmenuwrap { overflow:visible; }
  .ab-next { display:none; }
}
@media (max-width:960px) { .ab-next { display:none; } }
@media (max-width:850px) { #poststuff { grid-template-columns:1fr; } .order-cols { grid-template-columns:1fr; } }
@media (max-width:782px) {
  :root { --bar-h:46px; }
  #wpadminbar { font-size:14px; line-height:46px; height:46px; }
  #wpadminbar .ab-item { height:46px; padding:0 9px; }
  #wpadminbar .ab-item .ico { width:26px; height:26px; }
  #wpadminbar .ab-sub-wrapper { top:46px; }
  #wpadminbar .ab-label, #wpadminbar .ab-job-label { display:none; }
  #wp-admin-bar-menu-toggle { display:block; }
  .mode-long { display:none; }
  #adminmenuback, #adminmenuwrap { display:none; width:190px !important; }
  body.menu-open #adminmenuback, body.menu-open #adminmenuwrap { display:block; z-index:9995; }
  body.menu-open #adminmenu .wp-menu-name { display:block; }
  body.menu-open #adminmenu .wp-submenu { display:block !important; position:static !important; box-shadow:none !important; }
  body.menu-open #adminmenu .wp-submenu::before { display:none; }
  body.menu-open #adminmenu .wp-submenu-head { display:none; }
  body.menu-open #adminmenuwrap { overflow-y:auto; }
  #collapse-button { display:none; }
  #wpcontent, body.folded #wpcontent { margin-left:0; padding-left:10px; }
  #wpfooter, body.folded #wpfooter { margin-left:0; }
  .wrap { margin:10px 12px 0 2px; }
  #screen-meta-links { margin-right:12px; }
  .button, .button-primary, input[type=text], input[type=search], input[type=number], input[type=email], input[type=url], input[type=password], input[type=tel], select { min-height:40px; font-size:16px; }
  textarea { font-size:16px; }
  .form-table th, .form-table td { display:block; width:auto; padding:10px 0; }
  .form-table th { padding-bottom:0; }
  .form-table input[type=text], .form-table select, .regular-text { width:100%; }
  p.search-box { float:none; width:100%; margin:8px 0; }
  p.search-box input[type=search] { flex:1; width:auto; min-width:0; }
  .subsubsub { float:none; }
  .tablenav-pages { margin-left:0; width:100%; justify-content:flex-end; }
  .wp-list-table { table-layout:auto; }
  .wp-list-table thead th:not(.check-column):not(.column-primary), .wp-list-table tfoot { display:none; }
  .wp-list-table td:not(.check-column):not(.column-primary):not([data-mobile]) { display:none; }
  .wp-list-table tr.is-expanded td:not(.check-column):not(.column-primary) { display:block; padding:3px 10px 3px 35%; position:relative; text-align:left; }
  .wp-list-table tr.is-expanded td:not(.check-column):not(.column-primary)::before { content:attr(data-colname); position:absolute; left:10px; width:32%; overflow:hidden; color:var(--text-muted); }
  .wp-list-table td.column-primary { padding-right:50px; position:relative; }
  .wp-list-table tr.subrow td, .wp-list-table tr.quick-edit-row td, .wp-list-table tr.no-items td { display:table-cell !important; padding:8px 10px !important; }
  .wp-list-table tr.subrow td::before, .wp-list-table tr.quick-edit-row td::before { content:none !important; }
  .toggle-row { display:block; position:absolute; top:4px; right:4px; width:40px; height:40px; border:0; background:none; cursor:pointer; color:var(--text-muted); }
  .toggle-row::before { content:""; display:inline-block; border:6px solid transparent; border-top-color:currentColor; margin-top:6px; }
  tr.is-expanded .toggle-row::before { border-top-color:transparent; border-bottom-color:currentColor; margin-top:-6px; }
  .row-actions { left:0; padding-top:4px; }
  .row-actions button, .row-actions a { display:inline-block; padding:8px 0; }
  .plugin-cards { grid-template-columns:1fr; }
  .plugin-card-top { grid-template-columns:96px 1fr; }
  .plugin-card-top .thumb.big, .plugin-card-top .no-photo.big { width:96px; height:96px; }
  .plugin-card .action-links { grid-column:1 / -1; flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:flex-start; }
  .col-wrap { grid-template-columns:1fr; }
  .pv { grid-template-columns:1fr; }
  .pv-main { width:100%; height:auto; aspect-ratio:1; }
  .health-head { margin:0 -12px 20px -12px; }
  .glance { grid-template-columns:1fr; }
}
@media (max-width:900px) { .media-modal[open] { inset:0; } }
@media (max-width:600px) { .wow-confirm[open] { width:100vw; height:100vh; max-height:100vh; } .modal-foot { height:auto; min-height:60px; flex-wrap:wrap; padding:8px 16px; } }

/* Log in screen (wp-login.php look) */
body.login { display:flex; justify-content:center; min-height:100vh; padding:0 16px; }
#login { width:320px; max-width:100%; padding:8% 0 0; }
#login h1 { margin:0 0 24px; text-align:center; }
#login h1 a { display:inline-flex; flex-direction:column; align-items:center; gap:8px; color:var(--heading); text-decoration:none; font-size:20px; font-weight:400; }
#login form { margin-top:20px; padding:26px 24px; background:var(--surface); border:1px solid var(--border); box-shadow:0 1px 3px rgba(0,0,0,.04); }
#login form p { margin:0 0 16px; }
#login label { font-size:14px; line-height:1.5; display:inline-block; margin-bottom:3px; }
#login .input { width:100%; font-size:24px; line-height:1.33; min-height:40px; padding:3px 5px; margin:0 6px 0 0; }
#login .submit { margin:0; display:flex; justify-content:flex-end; }
.button-large { min-height:32px; line-height:2.30769231; padding:0 12px; }
#login-message { margin:0 0 4px; padding:12px; background:var(--surface); border-left:4px solid var(--error); box-shadow:0 1px 1px rgba(0,0,0,.04); }
#nav { margin:24px 0 0; padding:0 24px; font-size:13px; color:var(--text-muted); }
/* Users */
.generated-password { display:inline-block; font:16px/1.4 var(--mono); padding:4px 8px; background:var(--surface-alt); border:1px solid var(--border-light); user-select:all; }
