<style>
*{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#f5f5f2;--surface:#fff;--s2:#f0efe9;--border:#e4e2da;
  --text:#1a1917;--t2:#6b6860;--t3:#a09d98;
  --teal:#3d9e8a;--tl:#edf7f5;--td:#2a7060;
  --warn:#b45309;--wb:#fef3c7;
  --danger:#dc2626;--db:#fee2e2;
  --ok:#166534;--ob:#dcfce7;
  --info:#1d4ed8;--ib:#dbeafe;
  --vp-accent:#6d28d9;
  --vp-line-muted:#e8e6ef;
  --r:10px;--rs:7px;
}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--text);font-size:14px}

/* LOGIN */
.login-shell{
  min-height:100vh;
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(380px,.9fr);
  background:linear-gradient(135deg,#f7fbfb 0%,#eef7f6 48%,#ffffff 100%);
}
.login-hero{padding:64px clamp(28px,6vw,84px);display:flex;flex-direction:column;justify-content:center}
.login-brand{display:flex;align-items:center;gap:14px;margin-bottom:44px}
.login-logo{width:78px;height:78px;border-radius:22px;background:#fff;border:.5px solid #e5e5e4;box-shadow:0 12px 35px rgba(18,88,92,.08);display:flex;align-items:center;justify-content:center}
.login-brand-title{font-size:15px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#225f64}
.login-brand-sub{font-size:12px;color:#999;margin-top:2px}
.hero-kicker{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#2f9299;font-weight:700;margin-bottom:14px}
.hero-title{font-size:clamp(34px,5vw,64px);line-height:1.02;font-weight:700;letter-spacing:-.05em;max-width:720px;margin-bottom:18px}
.hero-title span{color:#2f9299}
.hero-copy{font-size:15px;line-height:1.8;color:#6b6b6b;max-width:620px;margin-bottom:28px}
.role-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:700px}
.role-preview-card{background:rgba(255,255,255,.78);border:.5px solid rgba(47,146,153,.2);border-radius:18px;padding:18px;box-shadow:0 16px 45px rgba(18,88,92,.06)}
.role-preview-card b{font-size:14px;display:block;margin-bottom:7px;color:#163f3a}
.role-preview-card p{font-size:12px;line-height:1.7;color:#6b6b6b}
.login-panel-wrap{display:flex;align-items:center;justify-content:center;padding:32px;background:rgba(255,255,255,.5)}
.login-panel{width:100%;max-width:430px;background:#fff;border:.5px solid #e5e5e4;border-radius:28px;padding:30px;box-shadow:0 24px 70px rgba(18,88,92,.12)}
.login-panel-logo{width:132px;height:132px;border-radius:24px;background:#eefafa;margin:0 auto 12px;display:flex;align-items:center;justify-content:center}
.login-panel h1{font-size:22px;text-align:center;margin-bottom:4px;color:#163f3a}
.login-sub{font-size:12px;text-align:center;color:#999;margin-bottom:22px}
.login-role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px}
.login-role{padding:12px;border:.5px solid #e5e5e4;border-radius:14px;background:#f7f7f6;cursor:pointer;text-align:left;color:inherit;outline:none}
.login-role.active{border-color:#2f9299;background:#eefafa;box-shadow:0 0 0 1px rgba(47,146,153,.12)}
.login-role strong{display:block;font-size:12px;margin-bottom:3px}
.login-role span{font-size:10px;color:#999;line-height:1.4;display:block}
.login-field{margin-bottom:12px}
.login-field label{display:block;font-size:11px;color:#6b6b6b;margin-bottom:5px}
.login-field input{width:100%;padding:12px 13px;border:.5px solid #d0d0ce;border-radius:12px;background:#f7f7f6;font-size:13px;font-family:'DM Sans',sans-serif}
.login-field input:focus{outline:none;border-color:#2f9299;background:#fff}
.login-actions{display:flex;gap:8px;align-items:center;margin-top:16px}
.login-actions button{flex:1;padding:11px 14px;border-radius:14px;border:.5px solid #d0d0ce;background:#fff;cursor:pointer;font-size:12px;color:inherit;font-weight:600;font-family:'DM Sans',sans-serif}
.login-actions .primary{background:#163f3a;border-color:#163f3a;color:#fff}
.login-foot{font-size:10px;color:#999;text-align:center;margin-top:18px;line-height:1.6}
.login-auth-switch{margin-top:16px;text-align:center;font-size:12px;color:#6b6b6b}
.login-auth-switch a{color:#2f9299;font-weight:700;text-decoration:none}
.login-auth-switch a:hover{text-decoration:underline}
.saas-tenant-badge{margin:0 0 12px;padding:8px 12px;border-radius:10px;background:var(--tl);border:1px solid rgba(61,158,138,.25);color:var(--td);font-size:12px;font-weight:650;text-align:center}
.saas-tenant-badge.saas-tenant-missing{background:#fff7ed;border-color:#fdba74;color:#9a3412}
.saas-signup-divider{display:flex;align-items:center;gap:10px;margin:18px 0 14px;color:var(--t3);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.saas-signup-divider::before,.saas-signup-divider::after{content:"";flex:1;height:1px;background:var(--border)}
.saas-signup-panel{margin-top:4px}
.saas-signup-title{font-size:13px;font-weight:800;color:var(--text);margin-bottom:10px;text-align:center}
.signup-panel-wrap{align-items:center;padding:clamp(24px,4vw,48px) 32px}
.signup-panel{max-width:460px;padding:28px 30px 24px;border:1px solid #dfe3e2;border-radius:24px;box-shadow:0 20px 60px rgba(18,88,92,.1)}
.signup-panel-head{text-align:center;margin-bottom:20px;padding-bottom:18px;border-bottom:1px solid var(--border)}
.signup-panel-head h1{font-size:22px;margin-bottom:6px;color:#163f3a}
.signup-panel-head .login-sub{margin-bottom:0}
.signup-form-fields{display:flex;flex-direction:column;gap:14px;padding:18px;border:1px solid var(--border);border-radius:16px;background:#fafaf8}
.signup-form-fields .login-field{margin-bottom:0}
.signup-form-fields .login-field label{font-weight:600;font-size:11px;color:#4a4844;margin-bottom:6px;letter-spacing:.02em}
.signup-form-fields .login-field input{width:100%;padding:11px 12px;border:1px solid #d8d6cf;border-radius:10px;background:#fff;font-size:13px;line-height:1.4;transition:border-color .15s ease,box-shadow .15s ease}
.signup-form-fields .login-field input:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(61,158,138,.14);background:#fff}
.signup-slug-field .signup-field-hint{margin-top:6px;font-size:10px;color:var(--t3);line-height:1.4}
.signup-slug-input-wrap{display:flex;align-items:stretch;width:100%;border:1px solid #d8d6cf;border-radius:10px;overflow:hidden;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}
.signup-slug-input-wrap:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px rgba(61,158,138,.14)}
.signup-slug-input-wrap input{flex:1;min-width:0;border:none;border-radius:0;background:transparent;box-shadow:none;padding:11px 12px}
.signup-slug-input-wrap input:focus{border:none;box-shadow:none}
.signup-slug-prefix{display:flex;align-items:center;padding:0 10px 0 12px;font-size:13px;font-weight:600;color:var(--t2);background:#f0efea;border-right:1px solid #d8d6cf;white-space:nowrap}
.signup-slug-suffix{display:flex;align-items:center;padding:0 12px;font-size:12px;font-weight:500;color:var(--t2);background:#f0efea;border-left:1px solid #d8d6cf;white-space:nowrap}
.signup-form-actions{margin-top:16px}
.signup-submit{display:flex;align-items:center;justify-content:center;width:100%;padding:12px 16px;border-radius:12px;border:1px solid #163f3a;background:#163f3a;color:#fff;font-size:13px;font-weight:700;font-family:'DM Sans',sans-serif;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .1s ease}
.signup-submit:hover{background:#1f5248;border-color:#1f5248}
.signup-submit:active{transform:translateY(1px)}
.signup-panel-foot{margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}
@media(max-width:900px){
  .login-shell{grid-template-columns:1fr}
  .login-hero{min-height:auto;padding:36px 20px 20px}
  .login-panel-wrap{padding:20px}
  .role-preview-grid{grid-template-columns:1fr}
}
@media(max-width:900px) and (min-width:521px){
  .login-role-grid{grid-template-columns:repeat(2,1fr)}
  .login-role-grid .login-role:last-child{grid-column:1 / -1}
}
@media(max-width:520px){
  .login-panel{padding:22px;border-radius:22px}
  .signup-panel{padding:20px 18px;border-radius:20px}
  .signup-form-fields{padding:14px;gap:12px}
  .signup-slug-suffix{font-size:11px;padding:0 10px}
  .login-role-grid{grid-template-columns:1fr}
  .login-actions{flex-direction:column}
  .login-actions button{width:100%}
  .login-logo{width:62px;height:62px}
  .login-panel-logo{width:104px;height:104px}
}

/* APP */
#app{display:none;height:100vh;overflow:hidden}
.sidebar{width:240px;min-width:240px;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;transition:width .2s ease,min-width .2s ease;position:relative;z-index:30;overflow:visible}
.sidebar.collapsed{width:68px;min-width:68px}
.sb-top{padding:12px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px;justify-content:space-between}
.sb-brand-wrap{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
.sb-brand-text{min-width:0}
.sb-collapse-btn{width:30px;height:30px;padding:0;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--t2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:all .15s}
.sb-collapse-btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}
.sb-collapse-btn:hover{border-color:var(--teal);color:var(--teal);background:var(--tl)}
.sidebar.collapsed .sb-collapse-btn svg{transform:rotate(180deg)}
.sidebar.collapsed .sb-top{flex-direction:column;padding:10px 8px;gap:8px}
.sidebar.collapsed .sb-brand-wrap{justify-content:center;width:100%}
.sidebar.collapsed .sb-brand-text,.sidebar.collapsed .ns,.sidebar.collapsed .ni-label,.sidebar.collapsed .ni-chevron,.sidebar.collapsed .sb-cl-lbl,.sidebar.collapsed .sb-user-meta,.sidebar.collapsed .sb-logout-btn{display:none!important}
.sidebar.collapsed .sb-brand-icon{width:44px;height:44px;border-radius:12px}
.sidebar.collapsed .sb-brand-icon img{width:30px;height:30px}
.sidebar.collapsed .ni,.sidebar.collapsed .ni-head{justify-content:center;padding:9px 0;gap:0;position:relative}
.sidebar.collapsed .ni-icon{margin:0}
.sidebar.collapsed .sb-badge{position:absolute;top:2px;right:2px;margin:0;min-width:16px;height:16px;padding:0 4px;font-size:8px;display:inline-flex!important;align-items:center;justify-content:center}
.sidebar.collapsed .sb-cl-sel{display:none}
.sidebar.collapsed .sb-client-pick{display:inline-flex!important}
.sidebar.collapsed .sb-logout-icon{display:inline-flex!important}
.sidebar.collapsed .sb-user{flex-direction:column;align-items:center;gap:8px;margin-top:8px}
.sidebar.collapsed .sb-foot{padding:10px 6px}
.sb-client-pick,.sb-logout-icon{display:none;width:40px;height:40px;padding:0;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--t2);align-items:center;justify-content:center;cursor:pointer;margin:0 auto;transition:all .15s}
.sb-client-pick svg,.sb-logout-icon svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sb-client-pick:hover,.sb-logout-icon:hover{border-color:var(--teal);color:var(--teal);background:var(--tl)}
.sb-logout-btn{margin-left:auto;font-size:11px;padding:3px 8px}
.sidebar.collapsed .ni-sub-wrap{display:none!important;margin:0;border:none;padding:0;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 28px rgba(26,25,23,.14);min-width:188px;position:absolute;left:calc(100% + 8px);top:0;z-index:220}
.sidebar.collapsed .ni-parent{position:relative}
.sidebar.collapsed .ni-parent:hover .ni-sub-wrap,.sidebar.collapsed .ni-parent.flyout-open .ni-sub-wrap{display:block!important}
.sidebar.collapsed .ni-sub{padding:8px 12px}
.sidebar.collapsed .ni-sub .ni-label{display:inline!important}
.sidebar.collapsed [data-tip]::after{content:attr(data-tip);position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);padding:6px 10px;border-radius:8px;background:#1c1917;color:#fff;font-size:11.5px;font-weight:600;line-height:1.3;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .12s ease,visibility .12s;z-index:210;box-shadow:0 6px 18px rgba(0,0,0,.18)}
.sidebar.collapsed [data-tip]::before{content:'';position:absolute;left:calc(100% + 4px);top:50%;transform:translateY(-50%);border:5px solid transparent;border-right-color:#1c1917;opacity:0;visibility:hidden;transition:opacity .12s ease,visibility .12s;z-index:210}
.sidebar.collapsed [data-tip]:hover::after,.sidebar.collapsed [data-tip]:focus-visible::after,.sidebar.collapsed .sb-foot-icon:hover::after,.sidebar.collapsed .sb-foot-icon:focus-visible::after{opacity:1;visibility:visible}
.sidebar.collapsed [data-tip]:hover::before,.sidebar.collapsed [data-tip]:focus-visible::before,.sidebar.collapsed .sb-foot-icon:hover::before,.sidebar.collapsed .sb-foot-icon:focus-visible::before{opacity:1;visibility:visible}
.sidebar.collapsed .ni-parent:hover>.ni-head[data-tip]::after,.sidebar.collapsed .ni-parent.flyout-open>.ni-head[data-tip]::after,.sidebar.collapsed .ni-parent:hover>.ni-head[data-tip]::before,.sidebar.collapsed .ni-parent.flyout-open>.ni-head[data-tip]::before{display:none}
.sidebar.collapsed .sb-foot-icon{position:relative}
.sidebar.collapsed .sb-foot-icon::after{content:attr(title);position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);padding:6px 10px;border-radius:8px;background:#1c1917;color:#fff;font-size:11.5px;font-weight:600;line-height:1.3;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .12s ease,visibility .12s;z-index:210;box-shadow:0 6px 18px rgba(0,0,0,.18)}
.sidebar.collapsed .sb-foot-icon::before{content:'';position:absolute;left:calc(100% + 4px);top:50%;transform:translateY(-50%);border:5px solid transparent;border-right-color:#1c1917;opacity:0;visibility:hidden;transition:opacity .12s ease,visibility .12s;z-index:210}
.sidebar.collapsed .nav{overflow:visible}
.sb-brand-icon{width:56px;height:56px;border-radius:16px;border:1px solid #dcdcde;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}
.sb-brand-icon img{width:38px;height:38px;object-fit:contain}
.sb-brand{font-size:16px;font-weight:700;letter-spacing:-.01em;color:#1f4f4a;line-height:1.05}
.sb-sub{font-size:9.5px;color:#8a8f94;line-height:1.2;margin-top:2px;font-weight:500}
.nav{padding:10px 8px;flex:1;overflow-y:auto;display:flex;flex-direction:column;min-height:0}
.ns{font-size:9.5px;font-weight:700;color:var(--t3);letter-spacing:.08em;text-transform:uppercase;padding:10px 8px 4px}
.ni{display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:var(--rs);cursor:pointer;color:var(--t2);font-size:13px;transition:all .15s;margin-bottom:1px;user-select:none;position:relative}
.ni-label{min-width:0;flex:1;line-height:1.25}
.ni:hover{background:var(--s2);color:var(--text)}
.ni.active{background:var(--tl);color:var(--teal);font-weight:500}
.ni svg,.ni-icon svg{width:16px;height:16px;flex-shrink:0;opacity:.72;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.ni.active svg,.ni-parent.active .ni-head svg{opacity:1}
.ni-parent{margin-bottom:2px}
.ni-head{display:flex;align-items:center;gap:8px;padding:9px 11px;border-radius:9px;cursor:pointer;color:var(--t2);font-size:13px;transition:all .15s;user-select:none;position:relative}
.ni-head .ni-label{flex:1;min-width:0}
.ni-head:hover{background:var(--s2);color:var(--text)}
.ni-parent.active>.ni-head,.ni-parent.open>.ni-head{background:var(--tl);color:var(--teal);font-weight:500}
.ni-chevron{margin-left:auto;width:14px;height:14px;opacity:.55;transition:transform .15s}
.ni-parent.open .ni-chevron{transform:rotate(180deg)}
.ni-sub-wrap{display:none;padding:2px 0 4px 8px;margin-left:12px;border-left:2px solid rgba(18,180,122,.15)}
.ni-sub-wrap.open{display:block}
.ni-sub{padding:7px 10px 7px 28px;font-size:12.5px;border-radius:8px;margin-bottom:1px}
.ni-sub.active{background:var(--tl);color:var(--teal);font-weight:500}
.camp-shell{max-width:1240px;margin:0 auto;padding:8px 8px 28px}
.camp-page,.camp-detail-page{padding:0}
.camp-page-header{display:flex;align-items:center;justify-content:space-between;gap:16px 24px;margin-bottom:14px}
.camp-page-intro-main{display:flex;align-items:flex-start;gap:12px;min-width:0;flex:1}
.camp-page-icon{width:42px;height:42px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--tl);border:1px solid rgba(61,158,138,.25);color:var(--teal)}
.camp-page-icon svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.camp-page-intro{min-width:0;flex:1}
.camp-page-intro .camp-h1{margin:0 0 6px}
.camp-page-intro-main .camp-h1{margin:0 0 4px}
.camp-page-intro .camp-sub,.camp-page-intro-main .camp-sub{max-width:640px;margin:0}
.camp-page-actions{display:flex;align-items:center;gap:10px;flex-shrink:0;padding-top:2px}
.camp-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--border)}
.camp-page-empty .camp-toolbar{border-bottom:none;margin-bottom:0}
.camp-page-empty{display:flex;flex-direction:column;min-height:calc(100vh - 120px)}
.camp-page-empty .camp-empty-state{flex:1}
.camp-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;color:var(--t3);padding:48px 20px;min-height:320px}
.camp-empty-state p{margin:0;font-size:14px;line-height:1.5}
.camp-h1{font-size:22px;font-weight:800;letter-spacing:-.03em;color:var(--text);font-family:-apple-system,sans-serif}
.camp-sub{font-size:13px;color:var(--t2);margin:0;line-height:1.55}
.camp-list-filters{display:flex;gap:8px;margin:0}
.camp-list-filter{padding:8px 16px;border:1px solid var(--border);border-radius:999px;background:#fff;font-size:12.5px;font-weight:700;color:var(--t3);cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.camp-list-filter:hover{border-color:rgba(18,180,122,.28);color:var(--text)}
.camp-list-filter.active{background:var(--tl);border-color:rgba(18,180,122,.35);color:var(--teal)}
.camp-list{background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:0 1px 3px rgba(26,25,23,.04)}
.camp-list-head,.camp-row{display:grid;grid-template-columns:minmax(180px,1.35fr) minmax(72px,.62fr) minmax(250px,2.1fr) minmax(118px,.95fr) minmax(132px,.95fr);gap:10px 12px;align-items:center;padding:12px 16px}
.camp-list-head{background:linear-gradient(180deg,#f3f2ee,#ebe9e4);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--t2);border-bottom:1px solid var(--border)}
.camp-head-stats,.camp-row-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;min-width:0}
.camp-head-stats span{text-align:center;line-height:1.2}
.camp-head-actions{text-align:right}
.camp-row{border-bottom:1px solid #f0eee8}
.camp-row:last-child{border-bottom:none}
.camp-row:hover{background:#fbfbf8}
.camp-row-archived{opacity:.92}
.camp-cell{min-width:0}
.camp-cell-campaign{display:flex;align-items:flex-start;gap:10px;min-width:0}
.camp-cell-campaign-click{cursor:pointer;border-radius:10px;margin:-4px -6px;padding:4px 6px;transition:background .15s}
.camp-cell-campaign-click:hover{background:rgba(61,158,138,.08)}
.camp-av{width:38px;height:38px;border-radius:10px;background:var(--tl);color:var(--teal);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;flex-shrink:0}
.camp-campaign-text{min-width:0}
.camp-name{font-size:13px;font-weight:700;color:var(--text);line-height:1.35;word-break:break-word}
.camp-id{font-size:10px;color:var(--t3);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;word-break:break-all;margin-top:2px}
.camp-cell-status{display:flex;align-items:center}
.camp-cell-stat{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:2px}
.camp-stat-num{font-size:15px;font-weight:700;line-height:1.2;color:var(--text)}
.camp-stat-lbl{font-size:10px;color:var(--t3);letter-spacing:.02em}
.camp-rate-num{font-size:15px;font-weight:800;line-height:1.2}
.camp-rate-good{color:var(--teal)}
.camp-rate-mid{color:#b45309}
.camp-rate-low{color:var(--danger)}
.camp-cell-sched{min-width:0}
.camp-sched-main{font-size:12px;font-weight:650;color:var(--text);line-height:1.35}
.camp-sched-sub{font-size:11px;color:var(--t3);margin-top:2px;line-height:1.35}
.camp-cell-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.camp-cell-actions .btn{min-width:0;padding:5px 8px;font-size:11px}
.camp-list-empty{padding:36px 20px;text-align:center}
.camp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}
.camp-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:18px;cursor:pointer;transition:box-shadow .15s,border-color .15s,transform .15s;display:flex;flex-direction:column;gap:0;min-height:100%}
.camp-card:hover{border-color:rgba(18,180,122,.35);box-shadow:0 10px 28px rgba(16,36,70,.07);transform:translateY(-1px)}
.camp-card-archived{opacity:.94}
.camp-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}
.camp-card-head-text{min-width:0;flex:1}
.camp-card-title{font-size:16px;font-weight:700;color:var(--text);line-height:1.3;margin-bottom:4px}
.camp-card-id{font-size:10px;color:var(--t3);font-family:ui-monospace,monospace;word-break:break-all}
.camp-pill{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:4px 9px;border-radius:20px;white-space:nowrap;flex-shrink:0}
.camp-pill-active{background:rgba(18,180,122,.12);color:var(--teal)}
.camp-pill-paused{background:rgba(245,158,11,.12);color:#b45309}
.camp-pill-done{background:rgba(37,99,235,.1);color:#2563eb}
.camp-pill-draft{background:var(--s2);color:var(--t3)}
.camp-pill-archived{background:rgba(100,116,139,.12);color:#64748b}
.camp-card-stats{display:flex;align-items:center;gap:16px;margin-bottom:14px}
.camp-rate-ring{width:56px;height:56px;border-radius:50%;background:conic-gradient(var(--rate-color) calc(var(--rate)*1%),#e8ecf0 0);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.camp-rate-ring span{width:42px;height:42px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:var(--text)}
.camp-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;flex:1;min-width:0}
.camp-stat-cell{display:flex;flex-direction:column;gap:2px}
.camp-stat-cell .camp-stat-num{font-size:16px;font-weight:800;color:var(--text);line-height:1.1}
.camp-stat-cell .camp-stat-lbl{font-size:10px;color:var(--t3);font-weight:600}
.camp-card-foot{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--t3);margin-bottom:12px;padding-top:12px;border-top:1px solid var(--border);line-height:1.4}
.camp-card-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:2px}
.camp-card-actions .btn{flex:1 1 auto;min-width:72px;justify-content:center}
.camp-empty{text-align:center;padding:48px 20px;color:var(--t3)}
.camp-empty-inline{color:var(--t3);font-size:13px;padding:12px 0;margin:0}
.camp-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-radius:12px;margin-bottom:16px;border:1px solid var(--border)}
.camp-banner-warn{background:#fffbeb;border-color:#fcd34d}
.camp-banner-ok{background:#f0fdf8;border-color:rgba(18,180,122,.25)}
.camp-banner p{margin:4px 0 0;font-size:12px;color:var(--t3);line-height:1.45}
.camp-banner-meta{font-size:11px!important}
.camp-banner-id{font-size:10px;color:var(--t3);font-family:ui-monospace,monospace;margin-left:6px}
.camp-banner-actions{display:flex;gap:8px;flex-shrink:0}
.camp-detail-back{margin-bottom:12px}
.camp-workspace{margin-top:0}
.camp-detail-head{align-items:center}
.camp-detail-head-main{min-width:0;flex:1}
.camp-detail-badge-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.camp-detail-hero-ring{flex-shrink:0}
.camp-detail-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0 24px 16px;border-bottom:1px solid var(--border);background:var(--surface)}
.camp-metric{padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:#fafaf8;min-width:0}
.camp-metric-num{display:block;font-size:20px;font-weight:800;color:var(--text);line-height:1.1}
.camp-metric-num.camp-metric-text{font-size:13px;font-weight:700;line-height:1.35;word-break:break-word}
.camp-metric-lbl{display:block;font-size:10px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.04em;margin-top:4px}
.camp-detail-actions{display:flex;flex-wrap:wrap;gap:8px;padding:14px 24px 16px;border-bottom:1px solid var(--border);background:var(--surface)}
.camp-tab-bar{padding-top:0}
.camp-tab-panel{padding-top:18px}
.camp-tab-foot{display:flex;justify-content:flex-end;gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}
.camp-form-stack{display:flex;flex-direction:column;gap:16px;max-width:760px}
.camp-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;row-gap:14px;align-items:stretch}
.camp-form-half{min-width:0;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:#fff;box-sizing:border-box}
.camp-form-half .fi,.camp-form-half .fsel{box-sizing:border-box;max-width:100%}
.camp-form-section{padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:#fafaf8}
.camp-form-section-title{font-size:12px;font-weight:800;color:var(--text);margin-bottom:10px;text-transform:uppercase;letter-spacing:.04em}
.camp-prompt-mount{display:flex;flex-direction:column;gap:0}
.camp-fg{margin-bottom:0}
.camp-fg-hint{margin-top:4px;line-height:1.45}
.camp-fg-check{padding-top:2px}
.camp-check-row{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text);cursor:pointer}
.camp-link-chips{display:flex;flex-wrap:wrap;gap:8px;min-height:32px;margin-bottom:8px}
.camp-link-chip{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--border);border-radius:999px;padding:4px 10px;font-size:12px;color:var(--text)}
.camp-link-chip-x{background:none;border:none;cursor:pointer;color:var(--t3);font-size:14px;line-height:1;padding:0}
.camp-link-chip-x:hover{color:var(--danger)}
.camp-link-add{margin-top:0}
.camp-link-empty{font-size:12px;color:var(--t3);font-style:italic}
.camp-variant-row{margin-bottom:12px;padding-bottom:12px;border-bottom:1px dashed var(--border)}
.camp-variant-row:last-of-type{border-bottom:none;margin-bottom:10px;padding-bottom:0}
.camp-variant-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.camp-variant-label{font-size:11px;font-weight:800;color:var(--t2);text-transform:uppercase;letter-spacing:.04em}
.camp-table-wrap{overflow-x:auto}
.camp-sched-preview{background:var(--s2);border:1px solid var(--border);border-radius:12px;padding:14px 16px;margin:0}
.camp-pick-list{display:flex;flex-direction:column;gap:6px;max-height:320px;overflow-y:auto}
.camp-pick-row{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;text-align:left;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:#fff;cursor:pointer}
.camp-pick-row:hover,.camp-pick-row-active{border-color:var(--teal);background:var(--tl)}
.camp-pick-name{font-size:13px;font-weight:600;color:var(--text)}
.camp-pick-meta{font-size:11px;color:var(--t3)}
.camp-jobs-tbl{width:100%}
@media(max-width:1100px){
  .camp-list-head{display:none}
  .camp-row{
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:
      "campaign actions"
      "status status"
      "stats stats"
      "sched sched";
    gap:10px 12px;
    padding:14px 16px;
    align-items:start;
  }
  .camp-cell-campaign{grid-area:campaign}
  .camp-cell-actions{grid-area:actions;align-self:start;justify-content:flex-end}
  .camp-cell-status{grid-area:status}
  .camp-row-stats{
    grid-area:stats;
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:8px;
    padding:10px 12px;
    border:1px solid var(--border);
    border-radius:12px;
    background:#fafaf8;
  }
  .camp-cell-sched{
    grid-area:sched;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    padding-top:2px;
  }
  .camp-cell-sched::before{
    content:"Schedule";
    flex-shrink:0;
    font-size:10px;
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:var(--t2);
    padding-top:2px;
  }
  .camp-cell-sched>div{min-width:0;text-align:right}
}
@media(max-width:900px){
  .camp-page-header{flex-direction:column;align-items:stretch}
  .camp-page-actions{padding-top:0;width:100%}
  .camp-page-actions .btn{width:100%;justify-content:center}
  .camp-toolbar{flex-direction:column;align-items:stretch;gap:10px}
  .camp-list-filters{width:100%}
  .camp-list-filter{flex:1;text-align:center}
  .camp-detail-metrics{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 16px 14px;gap:10px}
  .camp-detail-actions{padding:12px 16px 14px}
  .camp-detail-head{padding:18px 16px 14px!important}
  .bulk-tab-bar.camp-tab-bar{padding:10px 16px 0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
  .bulk-tab.camp-tab{flex-shrink:0;white-space:nowrap}
  .bulk-body.camp-tab-panel{padding:16px}
  .camp-form-grid{grid-template-columns:1fr}
  .camp-form-stack{max-width:none}
}
@media(max-width:680px){
  .camp-shell{padding:4px 2px 20px}
  .camp-grid{grid-template-columns:1fr}
  .camp-card-stats{flex-direction:column;align-items:flex-start}
  .camp-stat-grid{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}
  .camp-detail-head{flex-direction:column;align-items:stretch;gap:14px!important}
  .camp-detail-hero-ring{align-self:flex-start}
  .camp-detail-metrics{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 12px 12px;gap:8px}
  .camp-metric{padding:10px 12px}
  .camp-metric-num{font-size:18px}
  .camp-detail-actions{flex-direction:column;align-items:stretch;padding:12px}
  .camp-detail-actions .btn{width:100%;justify-content:center}
  .camp-row{grid-template-columns:1fr;grid-template-areas:"campaign" "status" "stats" "sched" "actions";gap:10px;padding:14px 12px}
  .camp-cell-actions{justify-content:flex-start;flex-wrap:wrap}
  .camp-cell-actions .btn{flex:1 1 calc(50% - 4px);min-width:88px;justify-content:center}
  .camp-row-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px}
  .camp-cell-stat{align-items:center;text-align:center}
  .camp-cell-sched{flex-direction:column;align-items:stretch;gap:6px}
  .camp-cell-sched::before{padding-top:0}
  .camp-cell-sched>div{text-align:left}
  .camp-h1{font-size:20px}
  .camp-tab-foot{flex-direction:column;align-items:stretch}
  .camp-tab-foot .btn{width:100%;justify-content:center}
  .camp-table-wrap{margin:0 -4px;padding:0 4px}
  .camp-jobs-tbl{font-size:12px}
  .camp-jobs-tbl th,.camp-jobs-tbl td{padding:8px 10px}
}
@media(max-width:420px){
  .camp-row-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .camp-cell-actions .btn{flex:1 1 100%}
}

/* Platform superadmin console — aligned with campaigns list page */
.platform-page .platform-toolbar{border-bottom:none;margin-bottom:12px;padding-bottom:0}
.platform-page .platform-toolbar-note{margin:0;max-width:none;line-height:1.55}
.platform-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.platform-list.camp-list .camp-list-head,
.platform-list.camp-list .camp-row{grid-template-columns:minmax(200px,1.35fr) minmax(150px,1fr) minmax(88px,.55fr) minmax(210px,1.15fr) minmax(96px,.65fr);align-items:center}
.platform-list.camp-list .camp-head-stats,
.platform-list.camp-list .platform-usage-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.platform-cell-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.platform-admin-name{font-size:13px;font-weight:700;color:var(--text);line-height:1.35;word-break:break-word}
.platform-admin-email{font-size:11px;color:var(--t3);margin-top:2px;word-break:break-word}
.platform-edit-page .platform-edit-workspace{margin-top:0}
.platform-edit-head .bulk-card-title{margin:0}
.platform-edit-title-row{display:flex;align-items:center;gap:12px;margin:8px 0 4px}
.platform-edit-av{width:44px;height:44px;font-size:16px}
.platform-edit-metrics{margin:0;border-radius:0;border-left:none;border-right:none}
.platform-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px 24px 8px}
.platform-edit-card{margin:0}
.platform-edit-foot{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end;padding:14px 24px 20px;border-top:1px solid var(--border);background:#fafaf8}
.platform-edit-foot-actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}
.platform-edit-delete{margin-right:auto}
.platform-readonly-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.platform-readonly-lbl{font-size:10px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}
.platform-readonly-val{font-size:13px;font-weight:650;color:var(--text);word-break:break-word}
.platform-error,.platform-mount .platform-empty{padding:36px 20px;text-align:center;color:var(--t3);font-size:13px;line-height:1.55}
.platform-error{color:var(--danger)}
.platform-modal-intro{font-size:12px;color:var(--t2);line-height:1.55;margin:0 0 12px}
@media(max-width:1100px){
  .platform-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .platform-list.camp-list .camp-list-head{display:none}
  .platform-list.camp-list .camp-row{grid-template-columns:1fr;gap:12px;padding:14px 16px;align-items:start}
  .platform-list.camp-list .platform-usage-stats,
  .platform-list.camp-list .platform-cell-actions,
  .platform-list.camp-list .camp-cell-status{padding-top:8px;border-top:1px dashed var(--border)}
  .platform-list.camp-list .platform-cell-actions{border-top-style:solid}
  .platform-cell-actions{justify-content:flex-start}
  .platform-edit-grid{grid-template-columns:1fr;padding:14px 16px 8px}
  .platform-edit-foot{padding:12px 16px 16px}
  .platform-readonly-grid{grid-template-columns:1fr}
}
@media(max-width:680px){
  .platform-metrics{grid-template-columns:1fr 1fr}
  .platform-edit-foot .btn{flex:1 1 calc(50% - 4px);justify-content:center}
}
.platform-admin-workspace{margin-top:0}
.platform-admin-workspace .platform-admin-grid{padding:18px 24px 8px}
.platform-admin-workspace .platform-edit-card .set-card-body{padding-top:4px}
.platform-admin-workspace .platform-admin-foot{margin-top:0}
.platform-admin-row{border:1px solid var(--border);border-radius:12px;padding:14px 16px;margin-bottom:12px;background:#fafaf8}
.platform-admin-row:last-child{margin-bottom:0}
.platform-plan-row-head,.platform-template-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.platform-plan-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 12px}
.platform-plan-fields .camp-fg{margin-bottom:0}
.platform-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0;font-size:13px;font-weight:600;color:var(--text)}
.platform-admin-inline-test{margin-top:12px;padding-top:12px;border-top:1px dashed var(--border)}
.platform-admin-inline-test .camp-fg{margin-bottom:0}
@media(max-width:1100px){
  .platform-admin-workspace .platform-admin-grid{padding:14px 16px 8px}
}
@media(max-width:900px){.platform-plan-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.platform-plan-fields{grid-template-columns:1fr}}
.sb-badge{background:var(--teal);color:#fff;font-size:9px;font-weight:700;padding:2px 5px;border-radius:10px;margin-left:auto}
.sb-foot{padding:10px 8px;border-top:1px solid var(--border)}
.sb-cl-lbl{font-size:9.5px;color:var(--t3);font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:5px}
.sb-cl-sel{width:100%;padding:7px 9px;border:1px solid var(--border);border-radius:var(--rs);font-family:'DM Sans',sans-serif;font-size:12.5px;background:var(--s2);color:var(--text);cursor:pointer;outline:none}
.sb-user{display:flex;align-items:center;gap:8px;margin-top:10px}
.sb-av{width:28px;height:28px;border-radius:50%;background:var(--tl);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--teal);flex-shrink:0}
.sb-un{font-size:12.5px;font-weight:500}
.sb-ur{font-size:10.5px;color:var(--t3)}

.main{flex:1;overflow:hidden;display:flex;flex-direction:column}
.topbar{background:var(--surface);border-bottom:1px solid var(--border);padding:12px 22px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
.tb-title{font-size:15px;font-weight:600;letter-spacing:-.3px}
.tb-sub{font-size:11.5px;color:var(--t3);margin-top:1px}
.tb-right{display:flex;gap:8px;align-items:center}
.notif-bell-wrap{position:relative}
.notif-bell{position:relative;width:36px;height:36px;border:1px solid #dedbd2;border-radius:12px;background:linear-gradient(180deg,#fff,#fbfbf8);color:#4b5563;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;line-height:1;transition:border-color .15s,background .15s,box-shadow .15s,color .15s}
.notif-bell svg{width:17px;height:17px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.notif-bell:hover,.notif-bell.active{color:var(--td);border-color:rgba(61,158,138,.42);background:#fff;box-shadow:0 6px 18px rgba(26,25,23,.08)}
.notif-bell-dot{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#dc2626;color:#fff;font-size:10px;font-weight:850;display:none;align-items:center;justify-content:center;border:2px solid #fff;box-shadow:0 2px 6px rgba(220,38,38,.25)}
.notif-panel{position:absolute;right:0;top:44px;width:370px;max-width:calc(100vw - 28px);background:#fff;border:1px solid #e2dfd6;border-radius:16px;box-shadow:0 22px 54px rgba(26,25,23,.18);z-index:40;display:none;overflow:hidden}
.notif-panel.open{display:block}
.notif-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 14px;border-bottom:1px solid var(--border);background:#fbfbf8}
.notif-panel-title{font-size:13px;font-weight:800;color:var(--text)}
.notif-panel-clear{border:none;background:transparent;color:var(--teal);font-size:11px;font-weight:800;cursor:pointer;padding:4px 6px;border-radius:7px}
.notif-panel-clear:hover{background:var(--tl)}
.notif-list{max-height:340px;overflow-y:auto;padding:6px}
.notif-item{padding:10px 10px;border-radius:10px;border:1px solid transparent;cursor:pointer}
.notif-item:hover{background:#fafaf8;border-color:#eeeae2}
.notif-item.unread{background:var(--tl);border-color:rgba(61,158,138,.22)}
.notif-item-title{font-size:12.5px;font-weight:800;color:var(--text);line-height:1.35}
.notif-item-body{font-size:11.5px;color:var(--t2);line-height:1.45;margin-top:3px}
.notif-item-time{font-size:10.5px;color:var(--t3);margin-top:5px}
.notif-empty{padding:34px 18px;text-align:center;color:var(--t3);font-size:12px}
.audit-shell{max-width:1240px;margin:0 auto;padding:4px 4px 28px}
.page-shell{max-width:1240px;margin:0 auto;padding:4px 4px 28px}
body.sidebar-collapsed .page-shell,
body.sidebar-collapsed .audit-shell,
body.sidebar-collapsed .users-shell,
body.sidebar-collapsed .clients-shell,
body.sidebar-collapsed .settings-page,
body.sidebar-collapsed .camp-shell,
body.sidebar-collapsed .dash-shell,
body.sidebar-collapsed .bulk-page{max-width:none;width:100%;margin:0;padding:4px 8px 28px;box-sizing:border-box}
.page-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px 16px;margin-bottom:16px}
.page-title{font-size:14px;font-weight:700;color:var(--text);letter-spacing:-.01em;line-height:1.25}
.page-sub{font-size:11.5px;color:var(--t3);margin-top:2px;line-height:1.45;max-width:720px}
.page-sub code{font-size:11px;background:var(--s2);padding:1px 6px;border-radius:4px}
.page-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.users-shell{max-width:1240px;margin:0 auto;padding:4px 4px 28px}
.users-shell code{font-size:11px;background:var(--s2);padding:1px 6px;border-radius:4px}
.users-page-head{align-items:center}
.users-page-intro-main{display:flex;align-items:flex-start;gap:12px;min-width:0;flex:1}
.users-page-icon{width:42px;height:42px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--tl);border:1px solid rgba(61,158,138,.25);color:var(--teal)}
.users-page-icon svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.users-cell-user-click{cursor:pointer;border-radius:10px;margin:-4px -6px;padding:4px 6px;transition:background .15s}
.users-cell-user-click:hover{background:rgba(61,158,138,.08)}
.lu-profile-modal{display:flex;flex-direction:column;gap:16px;margin-top:4px}
.lu-profile-preview{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:14px;background:linear-gradient(135deg,var(--tl),#f5fbf9);border:1px solid rgba(61,158,138,.22)}
.lu-profile-av{width:52px;height:52px;border-radius:14px;background:var(--teal);color:#fff;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:800;flex-shrink:0;box-shadow:0 2px 8px rgba(61,158,138,.25)}
.lu-profile-preview-text{min-width:0}
.lu-profile-preview-name{font-size:15px;font-weight:800;color:var(--text);line-height:1.3;word-break:break-word}
.lu-profile-preview-email{font-size:12px;color:var(--t2);margin-top:2px;word-break:break-word}
.lu-profile-fields{display:flex;flex-direction:column;gap:2px}
.users-list{background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:0 1px 3px rgba(26,25,23,.04)}
.users-list-head,.users-row{display:grid;grid-template-columns:minmax(220px,1.6fr) minmax(120px,.9fr) minmax(140px,1fr) 92px;gap:14px;align-items:center;padding:12px 16px}
.users-list-head{background:linear-gradient(180deg,#f3f2ee,#ebe9e4);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--t2);border-bottom:1px solid var(--border)}
.users-row{border-bottom:1px solid #f0eee8}
.users-row:last-child{border-bottom:none}
.users-row:hover{background:#fbfbf8}
.users-cell{min-width:0}
.users-cell-user{display:flex;align-items:center;gap:10px;min-width:0}
.users-av{width:34px;height:34px;border-radius:10px;background:var(--tl);color:var(--teal);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;flex-shrink:0}
.users-email{font-size:13px;font-weight:700;color:var(--text);word-break:break-word;line-height:1.35}
.users-cell-label{font-size:13px;color:var(--t2)}
.users-role-pill{display:inline-flex;font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;border:1px solid var(--border);background:var(--s2);color:var(--t2);white-space:nowrap}
.users-role-pill.users-role-admin{background:#edf7f5;border-color:rgba(61,158,138,.35);color:var(--td)}
.users-cell-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}
.users-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid var(--border);border-radius:9px;background:#fff;color:var(--t2);cursor:pointer;transition:all .15s}
.users-icon-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.users-icon-btn:hover{border-color:var(--teal);color:var(--teal);background:var(--tl)}
.users-icon-btn-danger:hover{border-color:#fca5a5;color:var(--danger);background:var(--db)}
.users-empty{padding:40px;text-align:center;color:var(--t3);font-size:13px}
@media(max-width:760px){
  .users-list-head{display:none}
  .users-row{grid-template-columns:minmax(0,1fr) auto;gap:8px 10px}
  .users-cell-label{grid-column:1/-1}
}
.audit-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px 16px;flex-wrap:wrap;margin-bottom:16px}
.audit-title{font-size:14px;font-weight:700;letter-spacing:-.01em;color:var(--text);line-height:1.25}
.audit-sub{font-size:11.5px;color:var(--t3);line-height:1.45;margin-top:2px;max-width:720px}
.audit-sub code{font-size:11px;background:var(--s2);padding:1px 6px;border-radius:4px}
.audit-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:14px;padding:12px;border:1px solid var(--border);border-radius:14px;background:#fff}
.audit-list{background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:0 1px 3px rgba(26,25,23,.04)}
.audit-row{display:grid;grid-template-columns:150px minmax(220px,1fr) 160px 130px;gap:14px;align-items:center;padding:13px 15px;border-bottom:1px solid #f0eee8}
.audit-row:last-child{border-bottom:none}
.audit-row:hover{background:#fbfbf8}
.audit-time{font-size:11px;color:var(--t3);font-weight:650}
.audit-action{font-size:13px;font-weight:800;color:var(--text);line-height:1.35}
.audit-detail{font-size:11.5px;color:var(--t2);line-height:1.4;margin-top:3px}
.audit-actor{font-size:12px;color:var(--t2);font-weight:700}
.audit-source{justify-self:start;font-size:10.5px;font-weight:800;padding:4px 8px;border-radius:999px;background:#f6f5f1;border:1px solid #ebe8df;color:var(--t2)}
.audit-empty{padding:46px;text-align:center;color:var(--t3);font-size:13px}
.pc{flex:1;overflow-y:auto;padding:20px}

/* Global AI progress — persists across in-app navigation */
.cf-ai-bar{
  flex-shrink:0;display:flex;align-items:center;gap:14px;flex-wrap:nowrap;
  padding:11px 22px;min-height:48px;box-sizing:border-box;
  background:linear-gradient(95deg,var(--tl) 0%,#e8f4f1 52%,#f5fbf9 100%);
  background-size:100% 100%;
  border-bottom:1px solid rgba(61,158,138,.28);font-size:13px;
  transition:background .35s ease;
}
.cf-ai-bar.cf-ai-bar-active{
  background:linear-gradient(98deg,var(--tl) 0%,#d9f2ea 38%,#f2faf8 62%,#e8f6f2 100%);
  background-size:220% 100%;
  animation:cf-ai-bar-flow 14s ease-in-out infinite;
}
@keyframes cf-ai-bar-flow{
  0%{background-position:0% 50%}
  50%{background-position:100% 50%}
  100%{background-position:0% 50%}
}
.cf-ai-bar[hidden]{display:none!important}
.cf-ai-bar .cf-ai-spin-wrap{
  position:relative;width:22px;height:22px;flex-shrink:0;display:flex;align-items:center;justify-content:center;
}
.cf-ai-bar .cf-ai-spin-orbit{
  position:absolute;inset:-3px;border-radius:50%;
  border:2px solid rgba(61,158,138,.14);
  animation:cf-ai-orbit-pulse 2.2s ease-in-out infinite;
}
@keyframes cf-ai-orbit-pulse{
  0%,100%{transform:scale(1);opacity:.75}
  50%{transform:scale(1.12);opacity:1}
}
.cf-ai-bar .cf-ai-spin{
  width:16px;height:16px;border-radius:50%;flex-shrink:0;
  border:2px solid rgba(61,158,138,.38);border-top-color:var(--teal);
  animation:cf-ai-spin .68s linear infinite,cf-ai-spin-halo 1.6s ease-in-out infinite;
  box-shadow:0 0 0 0 rgba(61,158,138,.2);
}
@keyframes cf-ai-spin{to{transform:rotate(360deg)}}
@keyframes cf-ai-spin-halo{
  0%,100%{box-shadow:0 0 0 0 rgba(61,158,138,.18)}
  50%{box-shadow:0 0 0 6px rgba(61,158,138,.06)}
}
.cf-ai-bar .cf-ai-cluster{
  display:flex;align-items:center;gap:14px;flex:1;min-width:0;
}
.cf-ai-bar .cf-ai-kind-pill{
  flex-shrink:0;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;
  color:var(--td);line-height:1.25;
  background:rgba(255,255,255,.78);border:1px solid rgba(61,158,138,.32);
  padding:7px 12px;border-radius:999px;
}
.cf-ai-bar .cf-ai-msg{
  flex:1;min-width:0;font-size:13px;font-weight:650;color:var(--text);line-height:1.35;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.cf-ai-bar .cf-ai-elapsed{flex-shrink:0;margin-left:6px}
.cf-ai-bar .cf-ai-elapsed-inner{
  display:inline-block;font-variant-numeric:tabular-nums;font-size:11.5px;font-weight:750;
  color:var(--td);letter-spacing:.03em;
  background:linear-gradient(145deg,rgba(255,255,255,.95) 0%,rgba(241,251,247,.92) 100%);
  background-size:200% 200%;
  border:1px solid rgba(61,158,138,.32);
  padding:6px 11px;border-radius:10px;min-width:3rem;text-align:center;line-height:1.2;
  transition:color .2s ease,border-color .2s ease;
  animation:cf-ai-timer-shimmer 3s ease-in-out infinite;
  transform-origin:center center;
}
.cf-ai-bar .cf-ai-elapsed-inner.cf-ai-elapsed-pop{
  animation:cf-ai-elapsed-pop .48s cubic-bezier(.34,1.45,.52,1) forwards,cf-ai-timer-shimmer 3s ease-in-out infinite;
}
@keyframes cf-ai-timer-shimmer{
  0%,100%{background-position:0% 40%}
  50%{background-position:100% 60%}
}
@keyframes cf-ai-elapsed-pop{
  0%{transform:scale(1)}
  40%{transform:scale(1.09)}
  100%{transform:scale(1)}
}
@media (prefers-reduced-motion:reduce){
  .cf-ai-bar.cf-ai-bar-active{animation:none}
  .cf-ai-bar .cf-ai-spin-orbit{animation:none}
  .cf-ai-bar .cf-ai-spin{animation:cf-ai-spin .85s linear infinite}
  .cf-ai-bar .cf-ai-elapsed-inner{animation:none}
  .cf-ai-bar .cf-ai-elapsed-inner.cf-ai-elapsed-pop{animation:none}
}
.cf-ai-bar .cf-ai-actions{display:flex;gap:8px;flex-shrink:0;margin-left:auto}
@media (max-width:900px){
  .cf-ai-bar{flex-wrap:wrap;gap:10px 14px}
  .cf-ai-bar .cf-ai-cluster{flex-basis:calc(100% - 40px);min-width:min(100%,280px)}
  .cf-ai-bar .cf-ai-elapsed{margin-left:32px}
  .cf-ai-bar .cf-ai-actions{width:100%;justify-content:flex-end;margin-left:0;padding-top:2px}
}

/* BUTTONS */
.btn{padding:7px 14px;border-radius:var(--rs);font-family:'DM Sans',sans-serif;font-size:13px;font-weight:500;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);transition:all .15s;outline:none;display:inline-flex;align-items:center;gap:6px;text-decoration:none}
.btn:hover{background:var(--s2)}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn-teal{background:var(--teal);color:#fff;border-color:var(--teal)}
.btn-teal:hover{background:var(--td)}
.btn-danger{color:var(--danger);border-color:#fca5a5}
.btn-danger:hover{background:var(--db)}
.btn-sm{padding:5px 10px;font-size:12px}
.btn-lg{padding:11px 22px;font-size:14px;font-weight:600}

/* CARDS */
.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px;margin-bottom:14px;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.ch{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:10px}
.ct{font-size:14px;font-weight:650;letter-spacing:-.01em}

/* GRIDS */
.g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;row-gap:16px;align-items:start}
.g2>*{min-width:0}
.g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}
.g3>*{min-width:0}
.g4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:start}
.g4>*{min-width:0}

/* STATS */
.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:15px 17px;cursor:pointer;transition:all .15s}
.stat:hover{border-color:var(--teal);box-shadow:0 4px 12px rgba(0,0,0,.05);transform:translateY(-2px)}
.dash-shell{max-width:1240px;margin:0 auto;padding:4px 4px 28px}
.dash-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px 16px;margin-bottom:14px}
.dash-page-intro-main{display:flex;align-items:flex-start;gap:12px;min-width:0;flex:1}
.dash-page-icon{width:42px;height:42px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--tl);border:1px solid rgba(61,158,138,.25);color:var(--teal)}
.dash-page-icon svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.dash-page-title{font-size:14px;font-weight:700;color:var(--text);letter-spacing:-.01em;line-height:1.25}
.dash-page-sub{font-size:11.5px;color:var(--t3);margin-top:2px;line-height:1.45;max-width:720px}
.dash-metrics{margin-bottom:14px}
.dash-metrics-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:10px;margin-bottom:14px}
.dash-metrics-grid>*{min-width:0}
.dash-metrics-grid .review-metric-value{font-size:22px}
.dash-metrics-grid .review-metric-hint{font-size:9px;line-height:1.3;margin-top:6px}
.dash-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch;margin-bottom:16px}
.dash-charts>*{min-width:0}
.dash-chart-card{display:flex;flex-direction:column;height:300px;min-height:300px;max-height:300px;margin-bottom:0!important;overflow:hidden;box-sizing:border-box}
.dash-chart-card .ch{align-items:center;flex-shrink:0;padding-bottom:12px;margin-bottom:0;border-bottom:1px solid var(--border)}
.dash-chart-note{font-size:11px;color:var(--t3);margin-left:auto}
.dash-chart-body{flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;padding:12px 16px 16px;box-sizing:border-box;overflow:hidden}
.dash-chart-split{flex-wrap:nowrap;align-items:center;justify-content:center;gap:12px 20px;width:100%;height:100%;max-height:100%;overflow:hidden}
.dash-chart-body-bars{align-items:flex-end;padding-bottom:14px}
.dash-chart-wide{height:auto;min-height:0;max-height:none;margin-bottom:14px!important;overflow:visible}
.dash-chart-wide .ch{border-bottom:1px solid var(--border)}
.dash-chart-wide .dash-chart-body{min-height:280px;max-height:none;height:auto;display:block;overflow:visible;padding:16px 18px 20px}
.dash-pie{width:128px;height:128px;flex-shrink:0}
.dash-pie-center{font-size:22px;font-weight:800;fill:var(--text)}
.dash-pie-sub{font-size:10px;font-weight:700;fill:var(--t3);text-transform:uppercase;letter-spacing:.06em}
.dash-legend{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1;max-height:100%;overflow-y:auto;justify-content:center}
.dash-legend-item{display:flex;align-items:center;gap:8px;font-size:12px;line-height:1.25}
.dash-legend-dot{width:10px;height:10px;border-radius:999px;flex-shrink:0}
.dash-legend-label{flex:1;color:var(--t2);min-width:0}
.dash-legend-val{font-weight:800;color:var(--text);flex-shrink:0}
.dash-bars{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;align-items:end;width:100%;height:100%;max-height:100%;box-sizing:border-box}
.dash-bar-col{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;min-width:0;height:100%;min-height:0}
.dash-bar-track{width:100%;max-width:48px;flex:1 1 auto;min-height:56px;max-height:132px;background:var(--s2);border-radius:10px 10px 6px 6px;display:flex;align-items:flex-end;overflow:hidden;border:1px solid var(--border)}
.dash-bar-fill{width:100%;border-radius:8px 8px 4px 4px;transition:height .35s ease}
.dash-bar-val{font-size:13px;font-weight:800;color:var(--text);line-height:1.1}
.dash-bar-lbl{font-size:9px;color:var(--t3);text-align:center;line-height:1.2;font-weight:650;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dash-wave-panel{display:flex;flex-direction:column;gap:12px;width:100%}
.dash-wave-summary{display:flex;flex-wrap:wrap;gap:10px 18px}
.dash-wave-stat{display:flex;flex-direction:column;gap:2px;min-width:88px}
.dash-wave-stat-lbl{font-size:10px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.05em}
.dash-wave-stat-val{font-size:18px;font-weight:800;color:var(--text);line-height:1.15}
.dash-wave-stat-sub{font-size:11px;font-weight:650;color:var(--t2)}
.dash-wave-wrap{width:100%;min-height:260px;height:260px;max-height:none;border-radius:10px;background:linear-gradient(180deg,#fafaf8,#fff);border:1px solid var(--border);padding:8px 12px 4px;box-sizing:border-box}
.dash-wave{display:block;width:100%;height:100%;min-height:240px}
.dash-wave-grid{stroke:rgba(26,25,23,.07);stroke-width:1;vector-effect:non-scaling-stroke}
.dash-wave-line{stroke:var(--teal);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.dash-wave-dot{fill:#fff;stroke:var(--teal);stroke-width:2;vector-effect:non-scaling-stroke}
.dash-wave-y-label{font-size:10px;fill:var(--t3);font-weight:650}
.dash-wave-label{font-size:10px;fill:var(--t3);font-weight:600}
.dash-wave-point-val{font-size:10px;fill:var(--teal);font-weight:800}
.review-sub-link{border:none;background:none;padding:0;margin:0;color:var(--teal);font:inherit;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.review-sub-link:hover{color:var(--td)}
@media(max-width:1400px){
  .dash-metrics-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media(max-width:900px){
  .dash-charts{grid-template-columns:1fr}
  .dash-chart-card{height:280px;min-height:280px;max-height:280px}
  .dash-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dash-bars{grid-template-columns:repeat(5,minmax(0,1fr))}
  .dash-chart-split{flex-wrap:wrap;justify-content:flex-start}
}
@media(max-width:560px){
  .dash-metrics-grid{grid-template-columns:1fr}
}
@media(max-width:720px){
  .dash-bars{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.sl{font-size:10px;color:var(--t3);font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px}
.sv{font-size:25px;font-weight:700;letter-spacing:-.8px}
.ss{font-size:11.5px;color:var(--t3);margin-top:3px}

/* TABLE */
.tw{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:12.5px}
th{text-align:left;padding:8px 11px;font-size:10px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);background:var(--s2);white-space:nowrap}
td{padding:9px 11px;border-bottom:1px solid var(--border);vertical-align:middle}
tr:last-child td{border-bottom:none}
tr:hover td{background:#fafaf8}

/* BADGES */
.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:20px;font-size:10.5px;font-weight:600;white-space:nowrap}
.b-draft{background:#f1f0ec;color:#6b6860}
.b-review{background:#ede9fe;color:#5b21b6}
.b-published{background:var(--tl);color:var(--td)}
.b-rejected{background:var(--db);color:var(--danger)}
.b-deleted{background:#f3f4f6;color:#4b5563}
.b-approved{background:var(--ob);color:var(--ok)}
.chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:20px;font-size:11px;background:var(--s2);border:1px solid var(--border);color:var(--t2)}

/* FORMS */
.fg{margin-bottom:13px}
.fl{display:block;font-size:12px;font-weight:500;color:var(--t2);margin-bottom:4px}
.fi,.fsel,.fta{width:100%;padding:8px 11px;border:1px solid var(--border);border-radius:var(--rs);font-family:'DM Sans',sans-serif;font-size:13.5px;background:var(--surface);color:var(--text);outline:none;transition:border .15s}
.fi:focus,.fsel:focus,.fta:focus{border-color:var(--teal)}
.fta{resize:vertical;min-height:80px;line-height:1.6}
.fhint{font-size:11px;color:var(--t3);margin-top:3px;line-height:1.45}
.fr2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;row-gap:0;align-items:start;width:100%}
.fr2>.fg{min-width:0}
.fr3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:12px;row-gap:0;align-items:start;width:100%}
.fr3>.fg{min-width:0}
.fi,.fsel,.fta{box-sizing:border-box;max-width:100%}

/* PIPELINE BAR */
.pbar{display:flex;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;margin-bottom:18px}
.ps{flex:1;padding:12px 10px;display:flex;flex-direction:column;align-items:center;gap:5px;border-right:1px solid var(--border)}
.ps:last-child{border-right:none}
.ps.done{background:var(--tl)}
.ps.active{background:#fff7ed;border-bottom:3px solid var(--teal)}
.ps-num{
  width:28px;height:28px;min-width:28px;min-height:28px;padding:0;box-sizing:border-box;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;line-height:1;
  background:var(--s2);color:var(--t3);border:1.5px solid var(--border);flex-shrink:0;
}
.ps-num .ps-num-glyph{font-size:11px;line-height:1;display:block}
.ps.done .ps-num{background:var(--teal);color:#fff;border-color:var(--teal)}
.ps.active .ps-num{border-color:var(--teal);color:var(--teal);background:#fff}
.ps-name{font-size:10.5px;font-weight:600;color:var(--t3);text-align:center}
.ps.done .ps-name{color:var(--td)}
.ps.active .ps-name{color:var(--text)}

/* TOPIC CARDS */
.tgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}
.tc{border:1.5px solid var(--border);border-radius:var(--rs);padding:13px;cursor:pointer;transition:all .15s;background:var(--surface)}
.tc:hover,.tc.sel{border-color:var(--teal);background:var(--tl)}
.tc-badge{font-size:10px;font-weight:700;color:var(--teal);background:rgba(61,158,138,.12);padding:2px 7px;border-radius:10px;display:inline-block;margin-bottom:6px}
.tc-title{font-size:13px;font-weight:600;margin-bottom:4px;line-height:1.4}
.tc-kw{font-size:11.5px;color:var(--t3)}
.tc-trend{font-size:11px;color:var(--teal);margin-top:3px}

/* STATUS ROWS (pipeline running) */
.sr{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--rs);background:var(--s2);margin-bottom:8px;font-size:13px;color:var(--t2)}
.sr.done{background:var(--ob);color:var(--ok);font-weight:500}
.sr.active{background:#fff7ed;color:var(--warn)}

/* Pipeline — vertical stepper (AI progress), adapted from pipeline-running reference UI */
.cf-pipeline-vwrap{padding:4px 0 12px}
.cf-pipeline-vwrap .lbar{margin-bottom:14px}
.cf-pl-shell{
  background:var(--surface);
  border-radius:16px;
  border:1px solid rgba(26,25,23,.09);
  box-shadow:0 2px 12px rgba(26,25,23,.06);
  padding:20px 20px 18px 16px;
  margin-top:4px;
}
.cf-pl-head-run{
  display:flex;align-items:flex-start;justify-content:space-between;
  gap:12px;margin-bottom:22px;padding-left:6px;
}
.cf-pl-head-title{font-size:15px;font-weight:650;color:var(--text);letter-spacing:-.01em;margin:0;line-height:1.25}
.cf-pl-head-sub{font-size:12px;color:var(--t3);margin:4px 0 0;font-weight:400;line-height:1.35}
.cf-pl-badge{
  font-size:11px;font-weight:600;padding:5px 11px;border-radius:999px;
  background:rgba(61,158,138,.12);color:var(--td);white-space:nowrap;margin-top:2px;
  flex-shrink:0;border:1px solid rgba(61,158,138,.22);
}
.cf-pl-badge.cf-pl-badge-done{background:var(--ob);color:var(--ok);border-color:rgba(22,101,52,.22)}
.cf-pl-stepper{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0}
.cf-pl-row{
  display:flex;align-items:stretch;gap:0;position:relative;margin:0;padding:0;
}
.cf-pl-track{
  display:flex;flex-direction:column;align-items:center;width:36px;flex-shrink:0;
}
.cf-pl-icon{
  width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  flex-shrink:0;z-index:1;transition:background .25s ease,border-color .25s ease,box-shadow .25s ease;color:#fff;
}
.cf-pl-icon-done{background:var(--teal);border:2px solid var(--teal)}
.cf-pl-icon-done svg{display:block}
.cf-pl-icon-running{
  background:#fff;border:2px solid var(--teal);color:var(--teal);
  box-shadow:0 0 0 4px rgba(61,158,138,.14);
  animation:cf-pl-ringpulse 2s ease-in-out infinite;
}
.cf-pl-dot{width:8px;height:8px;border-radius:50%;background:var(--teal)}
.cf-pl-dot-muted{width:7px;height:7px;background:#ccc}
.cf-pl-icon-pending{background:#fff;border:2px solid #ddd;color:transparent}
@keyframes cf-pl-ringpulse{
  0%,100%{box-shadow:0 0 0 4px rgba(61,158,138,.12)}
  50%{box-shadow:0 0 0 8px rgba(61,158,138,.04)}
}
@keyframes cf-pl-blink{
  0%,100%{transform:scale(1);opacity:1}
  50%{transform:scale(1.25);opacity:.72}
}
.cf-pl-line{
  flex:1;width:2px;min-height:14px;margin:4px 0;border-radius:1px;
}
.cf-pl-line-done{background:var(--teal)}
.cf-pl-line-active{background:linear-gradient(to bottom,var(--teal) 40%,#ddd 100%)}
.cf-pl-line-pending{background:#e5e7eb}
.cf-pl-row:last-child .cf-pl-line{display:none}
.cf-pl-body{
  flex:1;padding:2px 0 18px 14px;min-width:0;
}
.cf-pl-row:last-child .cf-pl-body{padding-bottom:6px}
.cf-pl-title{font-size:13.5px;font-weight:650;line-height:1.35;letter-spacing:-.01em;transition:color .2s ease;color:var(--text)}
.cf-pl-desc{font-size:12px;line-height:1.55;margin-top:4px;transition:color .2s ease;color:var(--t2)}
.cf-pl-row[data-state="pending"] .cf-pl-title{color:#aaa;font-weight:600}
.cf-pl-row[data-state="pending"] .cf-pl-desc{color:#bbb}
.cf-pl-row[data-state="running"] .cf-pl-title{color:var(--td)}
.cf-pl-row[data-state="running"] .cf-pl-desc{color:var(--t2)}
.cf-pl-active-row .cf-pl-body{
  background:linear-gradient(to right,rgba(61,158,138,.06),transparent);
  border-radius:0 10px 10px 0;padding-right:12px;margin-right:-6px;
}
.cf-pl-tag-mount{min-height:26px;margin-top:6px}
.cf-pl-tag{
  display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:600;
  padding:3px 9px;border-radius:999px;
}
.cf-pl-tag-done{
  width:26px;height:26px;min-width:26px;min-height:26px;padding:0;gap:0;border-radius:50%;
  align-items:center;justify-content:center;font-size:12px;line-height:1;
  background:#ecfdf5;color:#059669;
}
.cf-pl-tag-run{background:rgba(61,158,138,.11);color:var(--td)}
.cf-pl-blink{width:5px;height:5px;border-radius:50%;background:currentColor;animation:cf-pl-blink 1.25s ease-in-out infinite}
.cf-pl-footer{
  margin-top:18px;padding-top:18px;border-top:1px solid rgba(26,25,23,.08);padding-left:6px;
}
.cf-pl-footer-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.cf-pl-footer-label{font-size:11.5px;color:var(--t3);font-weight:600}
.cf-pl-footer-pct{font-size:11.5px;font-weight:700;color:var(--td)}
.cf-pl-progress-track{
  height:4px;background:#e9e9f0;border-radius:4px;overflow:hidden;
}
.cf-pl-progress-fill{
  height:100%;border-radius:4px;
  background:linear-gradient(to right,#5ebdaa,var(--teal));
  transition:width .55s ease;
}
@media (prefers-reduced-motion:reduce){
  .cf-pl-icon-running,.cf-pl-blink{animation:none!important}
  .cf-pl-progress-fill{transition:none}
}
.cf-pipeline-vwrap:not(.cf-ai-busy) .lbar{opacity:.32;animation:none}
.cf-pipeline-vwrap.cf-ai-busy .lbar{opacity:1;animation:sh 1.2s linear infinite}
.cf-pipeline-foot{text-align:center;padding:14px 8px 4px;font-size:13px;color:var(--t3)}

/* Step 3 — inline article images + editor */
.s3-article-images-panel{padding:4px 0 16px;margin-bottom:6px;border-bottom:1px solid var(--border)}
.s3-img-tools-mount{min-height:8px}
#s3-editor figure,
#s3-editor .wp-block-image,
#s3-editor .article-inline-image,
#s3-editor .contentflow-ai-figure,
.dr-body figure,
.dr-body .wp-block-image,
.dr-body .article-inline-image,
.dr-body .contentflow-ai-figure{
  max-width:760px;
  margin:42px auto;
}
#s3-editor figure img,
#s3-editor .wp-block-image img,
#s3-editor .article-inline-image img,
#s3-editor .contentflow-ai-figure img,
#s3-editor p > img,
.dr-body figure img,
.dr-body .wp-block-image img,
.dr-body .article-inline-image img,
.dr-body .contentflow-ai-figure img,
.dr-body p > img{
  display:block;
  width:100%;
  max-width:760px;
  height:360px;
  object-fit:cover;
  object-position:center;
  border-radius:22px;
  box-shadow:0 18px 44px rgba(16,36,70,.14);
  margin:0 auto;
}
#s3-editor p:has(> img),
.dr-body p:has(> img){
  max-width:760px;
  margin:42px auto;
}
#s3-editor figcaption,
#s3-editor .wp-element-caption,
.dr-body figcaption,
.dr-body .wp-element-caption{
  margin-top:10px;
  font-size:13px;
  line-height:1.6;
  color:#64748b;
  text-align:center;
  font-style:normal;
  font-family:-apple-system,sans-serif;
}
@media (max-width:768px){
  #s3-editor figure img,
  #s3-editor .wp-block-image img,
  #s3-editor .article-inline-image img,
  #s3-editor .contentflow-ai-figure img,
  #s3-editor p > img,
  .dr-body figure img,
  .dr-body .wp-block-image img,
  .dr-body .article-inline-image img,
  .dr-body .contentflow-ai-figure img,
  .dr-body p > img{
    height:240px;
    border-radius:18px;
  }
  #s3-editor figure,
  #s3-editor .wp-block-image,
  #s3-editor .article-inline-image,
  #s3-editor .contentflow-ai-figure,
  #s3-editor p:has(> img),
  .dr-body figure,
  .dr-body .wp-block-image,
  .dr-body .article-inline-image,
  .dr-body .contentflow-ai-figure,
  .dr-body p:has(> img){
    max-width:100%;
    margin:32px auto;
  }
}

/* QA ROWS */
/* ── QA SCORE BREAKDOWN ── */
.qa-block{padding:0}
.qa-score-row{display:flex;align-items:center;gap:14px;padding:14px 14px 12px}
.qa-ring{position:relative;width:68px;height:68px;flex-shrink:0}
.qa-ring svg{display:block;transform:rotate(-90deg)}
.qa-ring-inner{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.qa-ring-num{font-size:18px;font-weight:800}
.qa-ring-lbl{font-size:8px;color:#94a3b8;font-weight:600;letter-spacing:.05em;margin-top:1px}
.qa-verdict-title{font-size:13px;font-weight:700;margin-bottom:3px}
.qa-verdict-sub{font-size:11.5px;color:#64748b;line-height:1.5}
.qa-rows{border-top:1px solid #f0f2f4}
.qa-row{border-bottom:1px solid #f0f2f4}
.qa-row:last-child{border-bottom:none}
.qa-row-hd{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;transition:background .12s}
.qa-row-hd:hover{background:#fafbfc}
.qa-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}
.qa-row-labels{flex:1;min-width:0}
.qa-row-name{font-size:12.5px;font-weight:600;color:#1d2327;line-height:1.3}
.qa-row-note{font-size:11px;color:#94a3b8;margin-top:1px}
.qa-row-score{font-size:12.5px;font-weight:700;min-width:26px;text-align:right;flex-shrink:0}
.qa-row-caret{font-size:10px;color:#94a3b8;margin-left:3px;transition:color .15s;flex-shrink:0;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.qa-row-caret.open{color:var(--teal)}
.qa-row-body{display:none;padding:8px 12px 10px 26px;background:#fafbfc;border-top:1px solid #f0f2f4}
.qa-row-body.open{display:block}
.qa-why{font-size:11.5px;color:#64748b;line-height:1.65;margin-bottom:8px}
.qa-why strong{color:#374151;font-weight:600}
.qa-fix-row{display:flex;gap:5px;flex-wrap:wrap}
.qa-fix-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 11px;border-radius:5px;font-size:11.5px;font-weight:600;cursor:pointer;border:1.5px solid;transition:all .13s;line-height:1.4}
.qa-fix-btn.p{background:var(--teal);color:#fff;border-color:var(--teal)}
.qa-fix-btn.p:hover{background:#0fa870}
.qa-fix-btn.o{background:#fff;color:var(--teal);border-color:var(--teal)}
.qa-fix-btn.o:hover{background:rgba(18,180,122,.06)}
.qa-fix-btn:disabled{opacity:.4;cursor:not-allowed}
.qa-spin{width:10px;height:10px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:rot .6s linear infinite;display:inline-block}
.qr{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}
.qr:last-child{border-bottom:none}
.qi{width:12px;height:12px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:4px}
.qi.pass{background:var(--ok)}
.qi.warn{background:var(--warn)}
.qi.fail{background:var(--danger)}
.qc{font-size:13px;font-weight:500;margin-bottom:2px}
.qd{font-size:12px;color:var(--t3);line-height:1.5}
.qs{margin-left:auto;font-size:13px;font-weight:700;flex-shrink:0}

/* PREVIEW */
.preview{background:#fbfbf9;border:1px solid var(--border);border-radius:10px;padding:14px;font-size:13.5px;line-height:1.75;max-height:260px;overflow-y:auto;color:var(--text)}
.preview h1{font-size:16px;font-weight:700;margin-bottom:8px}
.preview h2{font-size:14px;font-weight:600;margin:12px 0 5px}
.preview p{margin-bottom:8px;color:var(--t2)}

/* STEP 3 BALANCED LAYOUT */
.s3-back{margin-bottom:10px}
.s3-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:stretch}
.s3-col{display:grid;gap:14px;align-content:start}
.s3-summary{display:grid;gap:8px;font-size:12.5px}
.s3-summary-row{display:flex;gap:8px;align-items:flex-start}
.s3-summary-k{color:var(--t3);min-width:78px;flex-shrink:0}
.s3-review-note{font-size:13px;color:var(--t3);margin-bottom:14px;line-height:1.55}
.s3-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:980px){.s3-grid{grid-template-columns:1fr}.s3-actions{grid-template-columns:1fr}}

/* LOADING BAR */
.lbar{height:3px;background:linear-gradient(90deg,var(--teal),#6ee7d8,var(--teal));background-size:200%;animation:sh 1.2s linear infinite;border-radius:2px;margin-bottom:12px}
@keyframes sh{0%{background-position:200%}100%{background-position:-200%}}

/* SPINNER */
.spin{width:20px;height:20px;border:2.5px solid var(--border);border-top-color:var(--teal);border-radius:50%;animation:rot .8s linear infinite;display:inline-block}
@keyframes rot{to{transform:rotate(360deg)}}

/* ACTIVITY */
.ai{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px solid var(--border)}
.ai:last-child{border-bottom:none}
.ad{width:7px;height:7px;border-radius:50%;flex-shrink:0;margin-top:5px}

/* TOGGLE */
.toggle{width:34px;height:18px;border-radius:20px;background:var(--border);cursor:pointer;position:relative;transition:background .2s;border:none;outline:none;flex-shrink:0}
.toggle.on{background:var(--teal)}
.toggle::after{content:'';position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:left .2s}
.toggle.on::after{left:18px}

/* MODAL */
.ov{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:1000;display:none;align-items:center;justify-content:center}
.mbox{background:var(--surface);border-radius:var(--r);padding:22px;width:560px;max-width:95vw;max-height:88vh;overflow-y:auto;box-shadow:0 24px 64px rgba(0,0,0,.18);box-sizing:border-box}
.mbox .fr2,.mbox .fr3{margin-bottom:2px}
.mbox .fg{min-width:0}
@media(max-width:640px){
  .fr2,.fr3,.g2,.g3,.tgrid{grid-template-columns:1fr}
}
.mt{font-size:16px;font-weight:700;margin-bottom:4px}
.ms{font-size:13px;color:var(--t3);margin-bottom:16px}
.mf{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}
.cf-confirm-mbox{width:440px;max-width:min(440px,95vw)}
.cf-confirm-msg{font-size:13.5px;line-height:1.65;color:var(--text);margin:0 0 4px}
.cf-confirm-msg p{margin:0 0 10px}
.cf-confirm-msg p:last-child{margin-bottom:0}
.cf-confirm-actions{margin-top:18px}

/* NOTIF */
.notif{position:fixed;bottom:22px;right:22px;background:#1a1917;color:#fff;padding:11px 16px;border-radius:var(--rs);font-size:13px;font-weight:500;z-index:9999;display:none;box-shadow:0 8px 24px rgba(0,0,0,.2)}
.notif.ok{background:var(--td)}
.notif.err{background:var(--danger)}

/* LAYOUT BLOCK */
.lb{display:flex;align-items:center;gap:10px;padding:8px 11px;border:1px solid var(--border);border-radius:var(--rs);margin-bottom:6px;background:var(--s2)}
.lb-n{font-size:10.5px;font-weight:700;color:var(--t3);min-width:18px}

/* MISC */
.ellip{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:10px}

/* DRAFT REVIEW PAGE */
.dr-wrap{background:#f0f0f1;border:1px solid #dcdcde;border-radius:10px;overflow:hidden}
.dr-top{background:#f6f7f7;border-bottom:1px solid #dcdcde;padding:10px 14px;display:flex;align-items:center;justify-content:space-between}
.dr-top-l{display:flex;align-items:center;gap:14px}
.dr-brand-icon{width:74px;height:74px;border-radius:24px;border:1px solid #dcdcde;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}
.dr-brand-icon img{width:52px;height:52px;object-fit:contain}
.dr-brand-title{font-size:40px;font-weight:700;letter-spacing:-.02em;color:#1f4f4a;line-height:1}
.dr-brand-sub{font-size:16px;font-weight:500;color:#8a8f94;line-height:1.25;margin-top:4px}
.dr-top-r{display:flex;align-items:center;gap:10px;font-size:12px;color:#646970}
.dr-admin-chip{background:#fff;border:1px solid #dcdcde;border-radius:6px;padding:4px 8px;color:#1d2327;font-weight:600}
.dr-sub{background:#1d2327;color:#fff;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;font-size:12px}
.dr-sub-l{display:flex;align-items:center;gap:10px;color:#dcdcde}
.dr-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;padding:16px}
.dr-main{background:#fff;border:1px solid #dcdcde;border-radius:8px;padding:16px}
.dr-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}
.dr-title{font-size:22px;font-weight:700;line-height:1.25;margin-bottom:8px;color:#1d2327}
.dr-meta{font-size:12px;color:#646970;line-height:1.7}
.dr-body{border-top:1px solid #e8ecf0;padding-top:18px;font-size:15.5px;line-height:1.82;color:#1d2327;font-family:Georgia,serif}
.dr-body h1{font-size:22px;font-weight:700;line-height:1.3;margin-bottom:12px;color:#0f1f3d;font-family:-apple-system,sans-serif}
.dr-body h2{font-size:17px;font-weight:700;line-height:1.3;margin:26px 0 9px;color:#0f1f3d;font-family:-apple-system,sans-serif}
.dr-body h3{font-size:15px;font-weight:700;color:#1e3a5f;margin:18px 0 6px;font-family:-apple-system,sans-serif}
.dr-body p{margin-bottom:13px;font-size:15.5px}
.dr-body strong{font-weight:700;color:#1d2327}
.dr-body a{color:#2563eb}
.dr-body ul{padding-left:0;list-style:none;margin-bottom:13px}
.dr-body ul li{padding:4px 0 4px 18px;position:relative;font-size:15.5px;color:#374151;line-height:1.72}
.dr-body ul li::before{content:'';position:absolute;left:0;top:13px;width:5px;height:5px;border-radius:50%;background:#2563eb}
/* article-updated meta bar */
.dr-body .article-updated{font-size:12px;color:#94a3b8;padding-bottom:11px;border-bottom:1px solid #e8ecf0;margin-bottom:16px;font-family:-apple-system,sans-serif;display:block}
/* Key Takeaways */
.dr-body .key-takeaways{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#f0f6ff;border:1px solid #c8dcf5;border-radius:10px;padding:14px;margin:18px 0;font-family:-apple-system,sans-serif}
.dr-body .key-takeaways::before{content:'KEY TAKEAWAYS';display:block;grid-column:1/-1;font-size:10px;font-weight:700;letter-spacing:.08em;color:#2563eb;margin-bottom:8px}
.dr-body .takeaway-item{display:flex;align-items:flex-start;gap:8px;background:#fff;border-radius:7px;padding:9px;box-shadow:0 1px 3px rgba(37,99,235,.07)}
.dr-body .tk-icon{font-size:16px;flex-shrink:0;margin-top:1px}
.dr-body .takeaway-item strong{display:block;font-size:12px;color:#0f1f3d;margin-bottom:2px}
.dr-body .takeaway-item p{font-size:11px;color:#64748b;margin:0;line-height:1.4}
/* Section headers */
.dr-body .section-header{display:flex;align-items:baseline;gap:9px;margin:28px 0 10px;padding-bottom:7px;border-bottom:2px solid #e8ecf0;font-family:-apple-system,sans-serif}
.dr-body .section-num{font-size:24px;font-weight:800;color:#2563eb;opacity:.55;line-height:1;flex-shrink:0}
.dr-body .section-header h2{margin:0;padding:0;border:none;font-size:17px;font-weight:700;color:#0f1f3d}
/* Callout box */
.dr-body .callout-box{background:#fffbf0;border-left:3px solid #f59e0b;border-radius:0 8px 8px 0;padding:11px 14px;margin:14px 0;font-size:14.5px;color:#374151;line-height:1.7;font-family:-apple-system,sans-serif}
/* CTA inline */
.dr-body .cta-inline{background:linear-gradient(135deg,#0f2744,#1e4d8c);border-radius:11px;padding:20px 22px;margin:22px 0;text-align:center;color:#fff;font-family:-apple-system,sans-serif}
.dr-body .cta-inline strong{display:block;font-size:15px;font-weight:700;color:#fff;margin-bottom:6px}
.dr-body .cta-inline p{color:#94b8e0;font-size:13px;margin-bottom:12px}
.dr-body .cta-btn{display:inline-block;background:#f59e0b;color:#fff;font-weight:700;padding:9px 20px;border-radius:6px;text-decoration:none;font-size:13px}
.dr-body .cta-note{font-size:11px;color:#6b92b8;margin:8px 0 0}
/* FAQ */
.dr-body .article-faq{font-family:-apple-system,sans-serif}
.dr-body .article-faq>h2{font-size:17px;margin-bottom:12px;font-family:-apple-system,sans-serif}
.dr-body .faq-item{border-bottom:1px solid #e8ecf0;padding:10px 0}
.dr-body .faq-item:last-child{border-bottom:none}
.dr-body .faq-item h3{font-size:13.5px;font-weight:700;color:#0f2744;margin:0 0 6px;padding-left:20px;position:relative;font-family:-apple-system,sans-serif}
.dr-body .faq-item h3::before{content:'Q';position:absolute;left:0;top:1px;font-size:9px;font-weight:800;color:#2563eb;background:#e8f0fe;width:14px;height:14px;border-radius:3px;display:flex;align-items:center;justify-content:center;text-align:center;line-height:14px}
.dr-body .faq-item p{font-size:13.5px;color:#4b5563;line-height:1.72;margin:0;padding-left:20px;font-family:-apple-system,sans-serif}
/* Author box */
.dr-body .author-box{display:flex;gap:12px;background:#f8fafc;border:1px solid #e2eaf4;border-radius:10px;padding:14px;margin:20px 0;font-family:-apple-system,sans-serif}
.dr-body .author-label{font-size:9.5px;color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;margin:0 0 2px;display:block}
.dr-body .author-name{font-size:14px;font-weight:700;color:#0f2744;margin:0 0 2px;display:block}
.dr-body .author-creds{font-size:11.5px;color:#2563eb;margin:0 0 5px;display:block}
.dr-body .author-bio{font-size:12.5px;color:#64748b;line-height:1.6;margin:0}
/* Disclaimer */
.dr-body .article-disclaimer{font-size:12px;color:#6b7280;border-top:1px solid #e8ecf0;padding-top:12px;margin-top:18px;line-height:1.7;font-family:-apple-system,sans-serif}
/* Images */
.dr-body cite{font-size:11px;color:#94a3b8;font-style:normal;background:#f1f5f9;padding:1px 5px;border-radius:3px}
@media(max-width:680px){.dr-body .key-takeaways{grid-template-columns:1fr}.dr-body .cta-inline{padding:16px}}
.dr-featured{margin:12px 0 16px}
.dr-featured img{width:100%;max-height:280px;object-fit:cover;border-radius:8px;border:1px solid #dcdcde}
.dr-tools{display:flex;gap:8px;margin:12px 0}
.dr-comment-mark{background:#fff3b0;padding:1px 2px;border-radius:3px}
.dr-comment-item{padding:8px 0;border-bottom:1px solid #f0f0f1}
.dr-comment-item:last-child{border-bottom:none}
.dr-comment-snippet{font-size:11px;color:#646970;margin-bottom:4px}
.dr-side{display:flex;flex-direction:column;gap:10px}
.dr-box{background:#fff;border:1px solid #dcdcde;border-radius:8px}
.dr-box-h{padding:10px 12px;border-bottom:1px solid #dcdcde;font-size:13px;font-weight:700;color:#1d2327}
.dr-box-c{padding:10px 12px;font-size:12.5px}
.dr-row{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid #f0f0f1}
.dr-row:last-child{border-bottom:none}
.dr-k{color:#646970}
.dr-v{color:#1d2327;font-weight:600;text-align:right}
.dr-link{display:block;padding:8px 10px;border:1px solid #2271b1;border-radius:6px;color:#2271b1;text-decoration:none;font-weight:600;text-align:center;background:#f6fbff}
@media(max-width:1080px){.dr-grid{grid-template-columns:1fr}.dr-side{order:-1}.dr-brand-title{font-size:28px}.dr-brand-sub{font-size:14px}.dr-brand-icon{width:64px;height:64px;border-radius:20px}.dr-brand-icon img{width:44px;height:44px}}

/* BULK CREATE — polished workspace */
.bulk-page{max-width:1240px;margin:0 auto;padding:8px 8px 28px}
.bulk-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:0 1px 3px rgba(26,25,23,.04),0 12px 40px rgba(26,25,23,.06);overflow:hidden}
.bulk-card-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:16px 24px;padding:22px 24px 18px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,#fafaf8 0%,var(--surface) 100%)}
.bulk-card-title{font-size:18px;font-weight:700;letter-spacing:-.02em;color:var(--text);line-height:1.25}
.bulk-card-sub{font-size:13px;color:var(--t2);line-height:1.55;margin-top:6px;max-width:620px}
.bulk-card-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.bulk-tab-bar{display:flex;gap:4px;padding:12px 24px 0;background:var(--surface);border-bottom:1px solid var(--border)}
.bulk-tab{padding:10px 18px;font-size:13px;font-weight:600;color:var(--t2);border-radius:10px 10px 0 0;cursor:pointer;user-select:none;transition:background .15s,color .15s;border:1px solid transparent;border-bottom:none;margin-bottom:-1px}
.bulk-tab:hover{color:var(--text);background:var(--s2)}
.bulk-tab.active{color:var(--td);background:var(--surface);border-color:var(--border);border-bottom-color:var(--surface);box-shadow:0 -2px 0 var(--teal) inset}
.bulk-body{padding:20px 24px 24px}
.bulk-tbl-wrap{border:1px solid var(--border);border-radius:12px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;background:var(--surface);box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.bulk-tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}
.bulk-tbl thead th{background:linear-gradient(180deg,#f3f2ee,#ebe9e4);color:var(--t2);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:12px 14px;border-bottom:1px solid var(--border);white-space:nowrap}
.bulk-tbl tbody td{padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:middle;background:var(--surface)}
.bulk-tbl tbody tr:nth-child(even) td{background:#fafaf8}
.bulk-tbl tbody tr:hover td{background:var(--tl)}
.bulk-tbl tbody tr:last-child td{border-bottom:none}
.bulk-tbl input[type=text],.bulk-tbl select{width:100%;min-width:0;padding:9px 11px;border:1px solid var(--border);border-radius:8px;font-family:'DM Sans',sans-serif;font-size:13px;background:#fff;color:var(--text);transition:border-color .15s,box-shadow .15s}
.bulk-tbl input[type=text]:focus,.bulk-tbl select:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(61,158,138,.12)}
.bulk-tbl select{cursor:pointer;appearance:auto}
.bulk-num-cell{text-align:center;font-size:11px;font-weight:600;color:var(--t3);width:36px;padding-left:8px!important;padding-right:8px!important}
.bulk-del-cell{width:44px;text-align:center;vertical-align:middle}
.bulk-del-btn{width:32px;height:32px;padding:0;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--t3);font-size:14px;line-height:1;cursor:pointer;transition:all .15s}
.bulk-del-btn:hover{color:var(--danger);border-color:#fca5a5;background:var(--db)}
.bulk-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-top:20px;padding:16px 18px;border-radius:12px;border:1px solid var(--border);background:var(--s2)}
.bulk-count{font-size:13px;font-weight:600;color:var(--text)}
.bulk-csv-panel{display:flex;flex-direction:column;gap:16px}
.bulk-csv-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.bulk-csv-hint{font-size:12px;color:var(--t3);line-height:1.45}
.csv-drop-zone{position:relative;border:2px dashed #cfd5cb;border-radius:14px;padding:36px 28px;text-align:center;background:linear-gradient(145deg,#fafaf8,#f3f4f1);transition:border-color .2s,background .2s,box-shadow .2s}
.csv-drop-zone:hover{border-color:var(--teal);background:linear-gradient(145deg,#f4faf8,#eef7f5);box-shadow:0 6px 24px rgba(61,158,138,.08)}
.csv-drop-zone.drag{border-color:var(--teal);background:var(--tl);box-shadow:0 0 0 4px rgba(61,158,138,.12)}
.bulk-drop-inner{position:relative;pointer-events:none}
.bulk-file-in{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:3}
.csv-drop-icon{width:52px;height:52px;margin:0 auto 14px;border-radius:14px;background:var(--surface);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--teal);box-shadow:0 4px 14px rgba(61,158,138,.1)}
.csv-drop-icon svg{flex-shrink:0}
.csv-drop-title{font-size:15px;font-weight:650;color:var(--text);margin-bottom:6px}
.csv-drop-meta{font-size:12px;color:var(--t2);line-height:1.5}
.bulk-progress{display:none;margin-top:22px;padding:18px 20px;border-radius:12px;border:1px solid var(--border);background:#fafaf8}
.bulk-progress.on{display:block;border-color:rgba(61,158,138,.35);background:linear-gradient(180deg,#f4faf8,#fafaf8)}
.bulk-plabel{font-size:13px;font-weight:600;color:var(--text);margin-bottom:10px}
.bulk-pbar-wrap{height:8px;border-radius:999px;background:var(--border);overflow:hidden}
.bulk-pfill{height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,var(--teal),#5ec4b0);transition:width .35s ease}
.bulk-results{display:flex;flex-direction:column;gap:8px;margin-top:14px;max-height:220px;overflow-y:auto}
.bulk-result-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:10px 12px;border-radius:10px;font-size:13px;background:var(--surface);border:1px solid var(--border)}
.bulk-result-row.ok{border-color:rgba(22,101,52,.25);background:var(--ob)}
.bulk-result-row.fail{border-color:rgba(220,38,38,.25);background:var(--db)}
.bulk-rnum{font-weight:700;color:var(--t3);min-width:38px}
.bulk-result-row.ok .bulk-rnum{color:var(--ok)}
.bulk-result-row.fail .bulk-rnum{color:var(--danger)}
.bulk-rtitle{flex:1;min-width:140px;font-weight:500;color:var(--text)}
.bulk-rstatus{font-size:12px;color:var(--t2)}
.bulk-rlink{font-size:12px;font-weight:600;color:var(--td);text-decoration:none;margin-left:auto}
.bulk-rlink:hover{text-decoration:underline}
.bulk-phrase-bar{padding:14px 20px;border-bottom:1px solid var(--border);background:#f7f9fc}
.bulk-phrase-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.bulk-phrase-row .fi.bulk-phrase-input{flex:1 1 220px;min-width:0;margin:0;font-size:13.5px;padding:9px 13px;box-sizing:border-box}
.bulk-phrase-row .fsel.bulk-phrase-svc{flex:0 1 170px;width:170px;min-width:140px;margin:0;box-sizing:border-box}
.bulk-phrase-row .fi.bulk-phrase-city{flex:0 1 130px;width:130px;min-width:110px;margin:0;padding:9px 10px;box-sizing:border-box}
.bulk-phrase-hint{font-size:11.5px;color:var(--t3);margin-top:7px;line-height:1.45}
.bulk-global-panel{padding:16px 20px;border-bottom:1px solid var(--border);background:#f7fbfa}
.bulk-global-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.bulk-global-title{font-size:13px;font-weight:700;color:var(--text)}
.bulk-global-sub{font-size:11.5px;color:var(--t3);margin-top:2px;line-height:1.45}
.bulk-global-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;row-gap:14px;margin-bottom:14px}
.bulk-global-box{min-width:0;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:#fff;box-sizing:border-box}
.bulk-global-box-title{font-size:12px;font-weight:700;color:var(--text);margin-bottom:8px}
.bulk-global-box-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.bulk-global-box-head .bulk-global-box-title{margin-bottom:0}
.bulk-global-box-label{font-size:10.5px;font-weight:600;color:var(--t3);margin-bottom:5px;text-transform:uppercase;letter-spacing:.05em}
.bulk-global-chip-row{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}
.bulk-global-chip{display:inline-flex;align-items:center;gap:4px;background:#edf7f5;border:1px solid rgba(61,158,138,.3);border-radius:14px;padding:2px 8px;font-size:11px;color:var(--td)}
.bulk-global-block{min-width:0;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:#fff;box-sizing:border-box;margin-bottom:14px}
.bulk-global-block:last-child{margin-bottom:0}
.bulk-global-block-title{font-size:12px;font-weight:700;color:var(--text);margin-bottom:4px}
.bulk-global-block-sub{font-size:11px;color:var(--t3);margin-bottom:10px;line-height:1.45}
.bulk-global-block-sub code{font-size:10px}
.bulk-global-block .fta{font-size:12.5px;min-height:64px;resize:vertical;box-sizing:border-box}
.bulk-prompt-variant{margin-bottom:12px;padding-bottom:12px;border-bottom:1px dashed var(--border)}
.bulk-prompt-variant:last-of-type{border-bottom:none;margin-bottom:10px;padding-bottom:0}
.bulk-prompt-variant-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;gap:8px}
.bulk-prompt-variant-label{font-size:11px;font-weight:700;color:var(--t2)}
.bulk-prompt-variant-label span{font-weight:500;color:var(--t3)}
.bulk-prompt-variant .bulk-prompt-template-sel{width:100%;font-size:13px;box-sizing:border-box}
.bulk-editorial-lines{font-size:11.5px;color:var(--t2);line-height:1.8}
.bulk-editorial-foot{font-size:11px;color:var(--t3);margin-top:6px}
@media(max-width:900px){
  .bulk-global-grid{grid-template-columns:1fr}
}
@media(max-width:720px){
  .bulk-card-head{flex-direction:column;align-items:stretch}
  .bulk-card-actions{width:100%;justify-content:flex-end}
  .bulk-footer{flex-direction:column;align-items:stretch}
  .bulk-footer .btn{width:100%;justify-content:center}
  .bulk-tab{font-size:12px;padding:9px 14px}
}

.clients-page-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;margin-bottom:16px}
.clients-page-intro-main{display:flex;align-items:flex-start;gap:12px;min-width:0;flex:1}
.clients-page-icon{width:42px;height:42px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--tl);border:1px solid rgba(61,158,138,.25);color:var(--teal)}
.clients-page-icon svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.clients-page-title{font-size:14px;font-weight:700;color:var(--text);letter-spacing:-.01em;line-height:1.25}
.clients-page-sub{font-size:11.5px;color:var(--t3);margin-top:2px;line-height:1.45;max-width:720px}
.clients-page-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.clients-shell{max-width:1240px;margin:0 auto;padding:4px 4px 28px}
.clients-list{background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:0 1px 3px rgba(26,25,23,.04)}
.clients-list-head,.clients-row{display:grid;grid-template-columns:minmax(220px,1.6fr) minmax(130px,1fr) minmax(96px,.75fr) 72px 72px 82px 112px;gap:14px;align-items:center;padding:12px 16px}
.clients-list-head{background:linear-gradient(180deg,#f3f2ee,#ebe9e4);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--t2);border-bottom:1px solid var(--border)}
.clients-row{border-bottom:1px solid #f0eee8}
.clients-row:last-child{border-bottom:none}
.clients-row:hover{background:#fbfbf8}
.clients-cell{min-width:0}
.clients-cell-client{display:flex;align-items:flex-start;gap:10px;min-width:0}
.clients-cell-client-click{cursor:pointer;border-radius:10px;margin:-4px -6px;padding:4px 6px;transition:background .15s}
.clients-cell-client-click:hover{background:rgba(61,158,138,.08)}
.clients-av{width:38px;height:38px;border-radius:10px;background:var(--tl);color:var(--teal);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;flex-shrink:0}
.clients-client-text{min-width:0;flex:1}
.clients-name-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:2px}
.clients-name{font-size:13px;font-weight:700;color:var(--text);line-height:1.35;word-break:break-word}
.clients-wp-url{font-size:11px;color:var(--t3);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.35;word-break:break-all;margin-top:2px}
.clients-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.clients-wp-badge{display:inline-flex;font-size:10px;font-weight:700;padding:2px 8px;border-radius:999px;border:1px solid var(--border);background:var(--s2);color:var(--t2);white-space:nowrap}
.clients-wp-badge-ok{background:#edf7f5;border-color:rgba(61,158,138,.35);color:var(--td)}
.clients-status-pill{display:inline-flex;font-size:10px;font-weight:700;padding:2px 8px;border-radius:999px;border:1px solid var(--border);background:var(--s2);color:var(--t2);white-space:nowrap}
.clients-status-pill.clients-status-active{background:#edf7f5;border-color:rgba(61,158,138,.35);color:var(--td)}
.clients-cell-site{min-width:0}
.clients-cell-status{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.clients-site-main{font-size:13px;font-weight:650;color:var(--text);line-height:1.35}
.clients-site-sub{font-size:11px;color:var(--t3);margin-top:2px;line-height:1.35}
.clients-cell-stat{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:2px}
.clients-stat-num{font-size:16px;font-weight:700;line-height:1.2;color:var(--text)}
.clients-stat-lbl{font-size:10px;color:var(--t3);letter-spacing:.02em}
.clients-cell-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}
.clients-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid var(--border);border-radius:9px;background:#fff;color:var(--t2);cursor:pointer;transition:all .15s}
.clients-icon-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.clients-icon-btn:hover{border-color:var(--teal);color:var(--teal);background:var(--tl)}
.clients-icon-btn-danger:hover{border-color:#fca5a5;color:var(--danger);background:var(--db)}
.clients-empty{padding:40px;text-align:center;color:var(--t3);font-size:13px}
.cl-profile-modal{display:flex;flex-direction:column;gap:16px;margin-top:4px}
.cl-profile-preview{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:14px;background:linear-gradient(135deg,var(--tl),#f5fbf9);border:1px solid rgba(61,158,138,.22)}
.cl-profile-av{width:52px;height:52px;border-radius:14px;background:var(--teal);color:#fff;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:800;flex-shrink:0;box-shadow:0 2px 8px rgba(61,158,138,.25)}
.cl-profile-preview-text{min-width:0}
.cl-profile-preview-name{font-size:15px;font-weight:800;color:var(--text);line-height:1.3;word-break:break-word}
.cl-profile-preview-sub{font-size:12px;color:var(--t2);margin-top:2px}
.cl-profile-fields{display:flex;flex-direction:column;gap:2px}
.queue-detail-card{margin-bottom:14px}
.queue-detail-article-card{margin-bottom:14px}
.queue-detail-article-scroll{padding:16px 20px 24px;max-height:min(72vh,920px);overflow:auto;background:#fafaf8}
.queue-detail-featured{display:block;max-width:880px;width:100%;height:auto;margin:0 auto 16px;border-radius:12px;border:1px solid var(--border);box-shadow:0 2px 12px rgba(26,25,23,.06)}
.queue-detail-body{max-width:880px;margin:0 auto;background:#fff;border:1px solid var(--border);border-radius:14px;padding:24px 28px;box-shadow:0 1px 3px rgba(26,25,23,.04)}
.queue-detail-no-content{padding:28px 20px;text-align:center;color:var(--t3);font-size:13px;line-height:1.55}
@media(max-width:900px){
  .clients-list-head{display:none}
  .clients-row{grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;padding:14px 16px}
  .clients-cell-site{grid-column:1/-1}
  .clients-cell-status{flex-direction:row;flex-wrap:wrap;grid-column:1/-1}
  .clients-cell-stat{flex-direction:row;align-items:baseline;justify-content:flex-start;gap:6px;grid-column:1/-1}
  .clients-cell-stat .clients-stat-num{font-size:14px}
  .clients-cell-stat .clients-stat-lbl{font-size:11px}
  .clients-cell-actions{grid-column:2;grid-row:1;align-self:start}
}
.ns{padding:14px 8px 6px}
.ni{padding:9px 11px;margin-bottom:2px;border-radius:9px}
.sb-foot{margin-top:auto;background:linear-gradient(180deg,transparent,rgba(240,239,233,.5));padding-top:14px}

/* SETTINGS — same shell as audit / clients / users */
.settings-page{max-width:1240px;margin:0 auto;padding:4px 4px 28px}
.settings-intro{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px 16px;margin-bottom:16px;background:none;border:none;border-radius:0;padding:0;box-shadow:none}
.settings-intro-title{font-size:14px;font-weight:700;letter-spacing:-.01em;color:var(--text);line-height:1.25}
.settings-intro-sub{font-size:11.5px;color:var(--t3);line-height:1.45;margin-top:2px;max-width:720px}
.settings-stack{display:flex;flex-direction:column;gap:16px}
.set-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:0 1px 3px rgba(26,25,23,.04)}
.set-card-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,#fafaf8,var(--surface))}
.set-card-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.set-card-toggle{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--t2);cursor:pointer;flex-shrink:0;padding:0;transition:background .15s ease,color .15s ease}
.set-card-toggle svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}
.set-card-toggle:hover{background:var(--s2);color:var(--text)}
.set-card-collapsed .set-card-head{border-bottom:none}
.set-card-collapsed .set-card-toggle svg{transform:rotate(-90deg)}
.set-card-collapsed .set-card-collapse{display:none}
.set-card-loading{color:var(--t3);font-size:12px;line-height:1.5}
.set-billing-grid{display:grid;gap:12px;margin-top:4px;padding-top:14px;border-top:1px solid var(--border)}
.set-billing-grid .fg{margin-bottom:0}
.set-billing-actions{display:flex;justify-content:flex-end;padding-top:2px}
.set-card-head-main{display:flex;align-items:flex-start;gap:12px;min-width:0;flex:1}
.set-card-head-text{min-width:0}
.set-card-sub{margin-top:4px}
.set-card-head-sub{padding:13px 16px}
.set-card-title-sm{font-size:14px}
.set-page-intro-main{display:flex;align-items:flex-start;gap:12px;min-width:0}
.set-page-icon{width:42px;height:42px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--tl);border:1px solid rgba(61,158,138,.25);color:var(--teal)}
.set-page-icon svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.set-card-icon{width:38px;height:38px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid var(--border);background:#fff;color:var(--t2);box-shadow:0 1px 2px rgba(26,25,23,.04)}
.set-card-icon-sm{width:32px;height:32px;border-radius:9px}
.set-card-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.set-card-icon-sm svg{width:15px;height:15px}
.set-card-icon-settings,.set-page-icon{color:var(--teal);background:var(--tl);border-color:rgba(61,158,138,.28)}
.set-card-icon-ai{color:#6366f1;background:#eef2ff;border-color:#c7d2fe}
.set-card-icon-service{color:#0891b2;background:#ecfeff;border-color:#a5f3fc}
.set-card-icon-tone{color:#db2777;background:#fdf2f8;border-color:#fbcfe8}
.set-card-icon-audience{color:#7c3aed;background:#f5f3ff;border-color:#ddd6fe}
.set-card-icon-wordcount{color:#475569;background:#f8fafc;border-color:#cbd5e1}
.set-card-icon-prompt{color:#2563eb;background:#eff6ff;border-color:#bfdbfe}
.set-card-icon-wordpress{color:#0f766e;background:#f0fdfa;border-color:#99f6e4}
.set-card-icon-system{color:#b45309;background:#fffbeb;border-color:#fde68a}
.set-card-icon-editorial{color:var(--teal);background:var(--tl);border-color:rgba(61,158,138,.28)}
.set-card-icon-author{color:#2563eb;background:#eff6ff;border-color:#bfdbfe}
.set-card-icon-editor{color:#7c3aed;background:#f5f3ff;border-color:#ddd6fe}
.set-card-icon-clinical{color:#059669;background:#ecfdf5;border-color:#a7f3d0}
.set-card-icon-medical{color:#dc2626;background:#fef2f2;border-color:#fecaca}
.set-card-icon-policy{color:#9333ea;background:#faf5ff;border-color:#e9d5ff}
.set-card-icon-anchor{color:#ea580c;background:#fff7ed;border-color:#fed7aa}
.set-card-icon-billing{color:#0f766e;background:#f0fdfa;border-color:#99f6e4}
.set-card-title{font-size:15px;font-weight:700;letter-spacing:-.02em;color:var(--text)}
.set-card-body{padding:16px 20px 20px;display:flex;flex-direction:column;gap:10px}
.set-item{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:13px 15px;border:1px solid var(--border);border-radius:11px;background:#fafaf8;transition:border-color .15s,background .15s}
.set-item:hover{border-color:#cfd8d4;background:var(--surface)}
.set-item-main{flex:1;min-width:0}
.set-item-label{font-size:14px;font-weight:650;color:var(--text)}
.set-item-sub{font-size:12px;color:var(--t2);line-height:1.45;margin-top:5px}
.set-acts{display:flex;gap:8px;flex-shrink:0;align-items:flex-start}
.set-btn{padding:8px 13px;border-radius:9px;border:1px solid var(--border);background:var(--surface);font-family:'DM Sans',sans-serif;font-size:12px;font-weight:600;color:var(--text);cursor:pointer;transition:background .15s,border-color .15s}
.set-btn:hover{background:var(--s2)}
.set-btn.primary{background:var(--teal);border-color:var(--teal);color:#fff}
.set-btn.primary:hover{background:var(--td)}
.set-btn.del{color:var(--danger);border-color:#fecaca;background:var(--surface)}
.set-btn.del:hover{background:var(--db)}
.set-add-row{width:100%;margin-top:4px;padding:12px 16px;border:2px dashed var(--border);border-radius:11px;background:transparent;color:var(--t2);font-weight:600;font-size:13px;font-family:'DM Sans',sans-serif;cursor:pointer;transition:border-color .15s,color .15s,background .15s}
.set-add-row:hover{border-color:var(--teal);color:var(--td);background:var(--tl)}
.set-item-label .badge{font-size:10px;vertical-align:middle;margin-left:4px}
.set-tag-wrap{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}
.set-tag{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:var(--s2);border:1px solid var(--border);font-size:12.5px;font-weight:600;color:var(--text)}
.set-tag-x{cursor:pointer;color:var(--t3);font-size:16px;line-height:1;padding:0 2px;border-radius:4px;transition:color .15s,background .15s}
.set-tag-x:hover{color:var(--danger);background:var(--db)}
.set-wc-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.set-wc-row .fi{width:140px;margin:0}
.set-sys-table{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#fafaf8}
.set-sys-row{display:grid;grid-template-columns:minmax(120px,190px) minmax(0,1fr) auto;gap:12px 16px;align-items:center;padding:13px 16px;border-bottom:1px solid var(--border)}
.set-sys-row:last-child{border-bottom:none}
.set-sys-label{font-size:12px;font-weight:650;color:var(--t2)}
.set-sys-val{font-size:12px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:var(--surface);padding:9px 11px;border-radius:9px;border:1px solid var(--border);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.anchor-card .set-card-head{padding:18px 22px;background:#fff}
.anchor-card .set-card-title{font-size:16px;font-weight:800}
.anchor-card .set-card-body{padding:0}
.anchor-list{display:flex;flex-direction:column}
.anchor-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) auto;gap:12px 14px;align-items:center;padding:16px 22px;border-bottom:1px solid #eeeae2;background:#fff}
.anchor-row:last-child{border-bottom:none}
.anchor-row:hover{background:#fbfbf8}
.anchor-info{min-width:0;overflow:hidden}
.anchor-label{font-size:13.5px;font-weight:800;color:var(--text);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.anchor-meta{font-size:11px;color:var(--t3);margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.anchor-url{min-width:0;display:flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid #e0ddd4;border-radius:10px;background:#fff;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;color:#1f2937;overflow:hidden}
.anchor-url span,.anchor-url a{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.anchor-url a{color:#1f2937;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.anchor-url a:hover{color:var(--td);text-decoration:underline}
.anchor-dot{width:7px;height:7px;border-radius:999px;background:var(--teal);flex-shrink:0}
.anchor-actions{display:flex;align-items:center;gap:7px;justify-content:flex-end}
.anchor-icon-btn{min-width:34px;height:34px;padding:0 9px;border-radius:9px;border:1px solid var(--border);background:#fff;color:var(--t2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:13px;font-weight:800;transition:all .15s}
.anchor-icon-btn:hover{border-color:rgba(61,158,138,.45);background:var(--tl);color:var(--td)}
.anchor-icon-btn.danger{color:var(--danger);border-color:#fecaca}
.anchor-icon-btn.danger:hover{background:var(--db);border-color:#fca5a5;color:var(--danger)}
.anchor-note{margin:14px 22px 18px;padding:11px 13px;background:#fafaf8;border:1px solid #eeeae2;border-radius:10px;font-size:12px;color:var(--t2);line-height:1.45}
@media(max-width:960px){.anchor-row{grid-template-columns:1fr;gap:10px}.anchor-actions{justify-content:flex-start}.anchor-url{width:100%}.anchor-label,.anchor-meta{white-space:normal}}

/* AI Provider settings */
.cf-ai-card .set-card-body{padding:0}
.cf-ai-card-head{align-items:flex-start}
.cf-ai-card-head .set-card-sub{max-width:640px}
.cf-ai-status-bar{padding:12px 20px;background:linear-gradient(180deg,#f7f6f2,#fafaf8);border-bottom:1px solid var(--border)}
.cf-ai-status-list{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.cf-ai-card-body{padding:0!important}
.cf-ai-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:0;align-items:start}
.cf-ai-panel{padding:20px 22px}
.cf-ai-panel-stages{border-right:1px solid var(--border);background:#fff}
.cf-ai-panel-creds{background:#fafaf8}
.cf-ai-panel-head{margin-bottom:14px;display:flex;flex-direction:column;gap:3px}
.cf-ai-panel-head strong{font-size:13px;font-weight:800;color:var(--text);letter-spacing:-.01em}
.cf-ai-panel-head span{font-size:11.5px;color:var(--t3);line-height:1.45}
.cf-ai-stage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cf-ai-stage{border:1px solid var(--border);border-radius:12px;padding:14px 14px 12px;background:#fff;box-shadow:0 1px 2px rgba(26,25,23,.03);transition:border-color .15s,box-shadow .15s}
.cf-ai-stage:hover{border-color:rgba(61,158,138,.28);box-shadow:0 6px 18px rgba(26,25,23,.05)}
.cf-ai-stage-top{margin-bottom:10px;display:flex;flex-direction:column;gap:2px}
.cf-ai-stage-top strong{font-size:13px;font-weight:750;color:var(--text)}
.cf-ai-stage-top span{font-size:11px;color:var(--t3);line-height:1.4}
.cf-provider-pills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.cf-provider-pill{display:flex;flex-direction:column;align-items:flex-start;padding:8px 10px;border-radius:9px;border:1px solid var(--border);background:#fafaf8;cursor:pointer;gap:2px;min-width:0;text-align:left;transition:all .15s;font-family:'DM Sans',sans-serif}
.cf-provider-pill-label{font-weight:700;font-size:12px;line-height:1.2;color:var(--text)}
.cf-provider-pill-note{font-size:10px;color:var(--t3);line-height:1.3}
.cf-provider-pill:hover{border-color:rgba(61,158,138,.35);background:var(--tl)}
.cf-provider-pill.active{border-color:var(--teal);background:var(--tl);box-shadow:0 0 0 1px rgba(61,158,138,.18)}
.cf-provider-pill.active .cf-provider-pill-label{color:var(--td)}
.cf-provider-pill.active .cf-provider-pill-note{color:rgba(31,79,74,.72)}
.cf-key-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;padding:5px 10px;border-radius:999px;font-weight:700;border:1px solid transparent}
.cf-key-badge-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.cf-key-badge.ok{background:#ecfdf5;border-color:#bbf7d0;color:#166534}
.cf-key-badge.ok .cf-key-badge-dot{background:#22c55e}
.cf-key-badge.miss{background:#fef2f2;border-color:#fecaca;color:#991b1b}
.cf-key-badge.miss .cf-key-badge-dot{background:#ef4444}
.cf-ai-creds{margin:0}
.cf-ai-provider-groups{display:flex;flex-direction:column;gap:8px}
.cf-ai-provider-group{border:1px solid var(--border);border-radius:11px;background:#fff;overflow:hidden;transition:border-color .15s,box-shadow .15s}
.cf-ai-provider-group[open]{border-color:rgba(61,158,138,.28);box-shadow:0 4px 14px rgba(26,25,23,.04)}
.cf-ai-provider-group-head{display:flex;align-items:center;gap:10px;padding:12px 14px;cursor:pointer;list-style:none;user-select:none}
.cf-ai-provider-group-head::-webkit-details-marker{display:none}
.cf-ai-provider-group-titles{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.cf-ai-provider-group-titles strong{font-size:13px;font-weight:750;color:var(--text)}
.cf-ai-provider-group-titles .set-item-sub{font-size:11px;line-height:1.35;margin-top:0}
.cf-ai-provider-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}
.cf-ai-dot-groq{background:#f97316}
.cf-ai-dot-openrouter{background:#8b5cf6}
.cf-ai-dot-anthropic{background:#d97706}
.cf-ai-dot-openai{background:#10b981}
.cf-ai-dot-huggingface{background:#facc15}
.cf-ai-dot-ollama{background:#64748b}
.cf-ai-dot-custom{background:#6366f1}
.cf-ai-chevron{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;color:var(--t3);flex-shrink:0;transition:transform .15s}
.cf-ai-provider-group[open] .cf-ai-chevron{transform:rotate(180deg)}
.cf-ai-provider-group-fields{display:grid;grid-template-columns:1fr;gap:12px;padding:0 14px 14px;border-top:1px solid #f0eee8;background:#fcfcfa}
.cf-ai-provider-group-fields>.cf-ai-field{min-width:0;max-width:100%}
.cf-ai-field.fg{margin:0;min-width:0;display:flex;flex-direction:column;gap:4px}
.cf-ai-field .fl{font-size:11px;font-weight:700;color:var(--t2);letter-spacing:.02em}
.cf-ai-field .fi{width:100%;min-width:0;max-width:100%;box-sizing:border-box;font-size:13px;padding:8px 10px;border-radius:9px}
.cf-ai-input-mono{font-size:11.5px!important;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.cf-ai-field-hint{font-size:11px;color:var(--t3);line-height:1.4;margin-top:2px}
.cf-ai-test-row{grid-column:1/-1;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:4px}
.cf-ai-test-status{font-size:11.5px;color:var(--t3)}
.cf-ai-save-row{padding:14px 20px;display:flex;align-items:center;justify-content:flex-end;gap:12px;border-top:1px solid var(--border);background:linear-gradient(180deg,#fafaf8,#fff);flex-wrap:wrap}
.cf-ai-save-status{font-size:12px;font-weight:600;color:var(--t3);margin-right:auto}
@media(min-width:640px){
  .cf-ai-provider-group-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cf-ai-field-wide{grid-column:1/-1}
}
@media(max-width:980px){
  .cf-ai-layout{grid-template-columns:1fr}
  .cf-ai-panel-stages{border-right:none;border-bottom:1px solid var(--border)}
  .cf-ai-stage-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .cf-provider-pills{grid-template-columns:1fr}
  .cf-ai-panel{padding:16px}
}
@media(max-width:640px){
  .set-sys-row{grid-template-columns:1fr;align-items:stretch}
  .set-sys-val{white-space:normal;word-break:break-all}
  .set-acts{width:100%;justify-content:flex-end}
}


/* REVIEW COMMAND CENTER — optimized for high-volume daily review */
.review-shell{max-width:1480px;margin:0 auto;padding:4px 4px 28px}
.review-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}
.review-title{font-size:22px;font-weight:800;letter-spacing:-.04em;color:#171717}
.review-sub{font-size:12.5px;color:var(--t2);margin-top:4px;line-height:1.5}
.review-metrics{display:grid;grid-template-columns:repeat(5,minmax(96px,1fr));gap:10px;margin-bottom:14px}
.review-metric{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:12px 14px;box-shadow:0 1px 3px rgba(26,25,23,.04);font-family:'DM Sans',sans-serif;text-align:left;cursor:pointer;transition:transform .14s,border-color .14s,box-shadow .14s,background .14s}
.review-metric:hover{transform:translateY(-1px);border-color:rgba(61,158,138,.38);box-shadow:0 8px 20px rgba(26,25,23,.075);background:#fff}
.review-metric.active{border-color:rgba(61,158,138,.52);box-shadow:0 0 0 1px rgba(61,158,138,.18),0 8px 20px rgba(26,25,23,.06);background:var(--tl)}
.review-metric-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--t3);font-weight:800;margin-bottom:4px}
.review-metric-value{font-size:24px;font-weight:800;letter-spacing:-.04em;color:var(--text)}
.review-metric-hint{font-size:10px;color:var(--t3);line-height:1.35;margin-top:8px;font-weight:600}
.review-toolbar{position:sticky;top:0;z-index:6;background:rgba(245,245,242,.92);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:16px;padding:12px;margin-bottom:14px;display:grid;grid-template-columns:minmax(240px,1fr) 150px 150px 140px auto;gap:10px;align-items:center}
.review-search{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:#fff;font-family:'DM Sans',sans-serif;font-size:13px;outline:none}
.review-search:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(61,158,138,.12)}
.review-view-toggle{display:inline-flex;background:#fff;border:1px solid var(--border);border-radius:10px;padding:3px;gap:3px}
.review-view-toggle button{border:none;background:transparent;border-radius:7px;padding:7px 9px;font-family:'DM Sans',sans-serif;font-size:12px;font-weight:700;color:var(--t2);cursor:pointer}
.review-view-toggle button.active{background:var(--tl);color:var(--td)}
.review-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;align-items:stretch}
.review-card{position:relative;background:#fff;border:1px solid #e6e2d9;border-radius:14px;overflow:hidden;box-shadow:0 1px 2px rgba(26,25,23,.04),0 8px 24px rgba(26,25,23,.045);transition:transform .14s,border-color .14s,box-shadow .14s;display:flex;flex-direction:column;min-height:312px}
.review-card:hover{transform:translateY(-2px);border-color:rgba(61,158,138,.42);box-shadow:0 12px 30px rgba(26,25,23,.075)}
.review-card.selected{border-color:rgba(61,158,138,.58);box-shadow:0 0 0 1px rgba(61,158,138,.22),0 12px 30px rgba(26,25,23,.07)}
.review-card-select{position:absolute;top:12px;right:12px;z-index:2;width:26px;height:26px;border-radius:7px;background:#fff;border:1px solid #d9d5cc;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px rgba(26,25,23,.08)}
.review-card-select .review-select{width:17px;height:17px;margin:0}
.review-card-top{display:grid;grid-template-columns:88px minmax(0,1fr) 56px;gap:14px;align-items:start;padding:28px 20px 16px;border-bottom:1px solid #f0eee8;min-height:132px}
.review-thumb{width:88px;height:64px;border-radius:12px;background:linear-gradient(135deg,#edf7f5,#f7f7f4);object-fit:cover;flex-shrink:0;border:1px solid #ebe8df}
.review-thumb.empty{display:flex;align-items:center;justify-content:center;color:var(--teal);font-size:20px;font-weight:850;letter-spacing:.01em}
.review-card-title{font-size:14.5px;font-weight:800;line-height:1.34;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:39px;padding-right:2px}
.review-card-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.review-pill{font-size:10.5px;padding:4px 9px;border-radius:999px;background:#f7f6f2;border:1px solid #ebe8df;color:var(--t2);font-weight:700;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.review-score{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;font-weight:850;font-size:16px;flex-shrink:0;background:#fff;border:5px solid var(--border);margin-top:20px}
.review-score small{font-size:8.5px;color:var(--t3);font-weight:800;margin-top:-2px}
.review-card-body{padding:16px 20px;flex:1}
.review-snippet{font-size:12.5px;color:var(--t2);line-height:1.62;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:60px}
.review-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:14px 20px 18px;border-top:1px solid #f0eee8;background:#fbfbf8}
.review-card-actions .btn{min-height:40px;justify-content:center;font-weight:750;border-radius:9px}
.review-card-actions .wide{grid-column:1/-1}
.review-bulkbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:12px 0 16px;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:#fff}
.review-bulk-left,.review-bulk-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.review-select{width:17px;height:17px;accent-color:var(--teal);cursor:pointer;flex-shrink:0}
.review-list{background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden}
/* Checkbox · Article · Keyword · Service · QA · Actions — Service wide enough for long labels; cells clip instead of overlapping neighbours */
.review-list-row{display:grid;grid-template-columns:28px minmax(200px,1.65fr) minmax(100px,.65fr) minmax(158px,1fr) 52px minmax(248px,320px);gap:14px;align-items:center;padding:10px 12px;border-bottom:1px solid #f0f0ec}
.review-list-row>div{min-width:0}
.review-list-row .review-list-cell-keyword{font-size:12px}
.review-list-row .review-list-cell-service{overflow:hidden}
.review-list-row .review-list-cell-service .review-pill{display:block;max-width:100%;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.review-list-row .review-list-cell-qa{text-align:center;font-weight:900;font-variant-numeric:tabular-nums;padding:0 2px}
.review-list-row:last-child{border-bottom:none}
.review-list-row:hover{background:#fbfbf9}
.review-list-head{background:#f5f4ef;color:var(--t3);font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:800}
.review-row-title{font-size:13px;font-weight:700;line-height:1.35}
.review-row-sub{font-size:11px;color:var(--t3);margin-top:2px}
.review-empty{background:#fff;border:1px dashed var(--border);border-radius:16px;padding:54px;text-align:center;color:var(--t3)}

/* Fast draft review screen */
.dr-wrap.pro{background:transparent;border:none;border-radius:0;overflow:visible}
.dr-command{display:grid;grid-template-columns:280px minmax(0,1fr) 330px;gap:14px;max-width:1580px;margin:0 auto}
.dr-rail,.dr-panel,.dr-review-main{background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 1px 3px rgba(26,25,23,.04)}
.dr-rail{height:calc(100vh - 118px);overflow:hidden;display:flex;flex-direction:column}
.dr-rail-head{padding:14px;border-bottom:1px solid var(--border)}
.dr-rail-title{font-size:13px;font-weight:800;color:var(--text)}
.dr-rail-sub{font-size:11.5px;color:var(--t3);margin-top:3px}
.dr-rail-list{overflow-y:auto;padding:8px}
.dr-rail-item{display:flex;gap:9px;padding:10px;border-radius:12px;cursor:pointer;border:1px solid transparent;margin-bottom:6px}
.dr-rail-item:hover{background:#fafaf8;border-color:#eeeae2}
.dr-rail-item.active{background:var(--tl);border-color:rgba(61,158,138,.35)}
.dr-rail-no{width:24px;height:24px;border-radius:8px;background:#f2f1ec;color:var(--t2);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;flex-shrink:0}
.dr-rail-item.active .dr-rail-no{background:var(--teal);color:#fff}
.dr-rail-name{font-size:12.3px;font-weight:700;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dr-rail-meta{font-size:10.5px;color:var(--t3);margin-top:3px;display:flex;gap:6px}
.dr-review-main{min-height:calc(100vh - 118px);overflow:hidden}
.dr-review-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,#fff,#fbfbf9)}
.dr-review-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--teal);font-weight:900;margin-bottom:4px}
.dr-review-title{font-size:21px;font-weight:850;letter-spacing:-.035em;line-height:1.2;color:var(--text)}
.dr-review-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}
.dr-review-scroll{height:calc(100vh - 250px);overflow-y:auto;padding:18px 22px}
.dr-review-image{width:100%;max-height:260px;object-fit:cover;border-radius:14px;border:1px solid var(--border);margin-bottom:16px}
.dr-review-body{font-size:15px;line-height:1.78;color:#24231f;max-width:880px;margin:0 auto}
.dr-review-body h1{font-size:24px;line-height:1.25;margin:0 0 12px;color:#111827}
.dr-review-body h2{font-size:19px;line-height:1.35;margin:24px 0 9px;color:#111827}
.dr-review-body h3{font-size:16px;margin:18px 0 7px;color:#1f2937}
.dr-review-body p{margin:0 0 13px;color:#374151}
.dr-review-body ul,.dr-review-body ol{padding-left:22px;margin:0 0 14px}
.dr-review-body li{margin-bottom:7px;color:#374151}
.dr-panel{height:calc(100vh - 118px);overflow-y:auto;position:sticky;top:0}
.dr-panel-section{padding:14px;border-bottom:1px solid var(--border)}
.dr-panel-section:last-child{border-bottom:none}
.dr-panel-title{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--t3);font-weight:900;margin-bottom:10px}
.dr-action-grid{display:grid;grid-template-columns:1fr;gap:8px}
.dr-score-card{display:flex;align-items:center;gap:12px;background:#fbfbf9;border:1px solid var(--border);border-radius:14px;padding:12px}
.dr-score-big{width:62px;height:62px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:20px;font-weight:900;background:#fff;border:5px solid var(--border)}
.dr-score-big span{font-size:8px;color:var(--t3);margin-top:-2px}
.dr-status-list{display:grid;gap:7px}
.dr-status-item{display:flex;justify-content:space-between;gap:10px;font-size:12px;padding:8px 0;border-bottom:1px solid #f0f0ec}
.dr-status-item:last-child{border-bottom:none}
.dr-note-box{background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;padding:10px 12px;font-size:12px;line-height:1.5;color:#9a3412}
@media(max-width:1200px){.dr-command{grid-template-columns:1fr}.dr-rail,.dr-panel{height:auto;position:static}.dr-rail-list{max-height:260px}.dr-review-scroll{height:auto}.review-toolbar{grid-template-columns:1fr 1fr}.review-metrics{grid-template-columns:repeat(2,1fr)}.review-list-row{grid-template-columns:1fr}.review-list-head{display:none}}
@media(max-width:720px){.review-toolbar{grid-template-columns:1fr}.review-metrics{grid-template-columns:1fr}.review-grid{grid-template-columns:1fr}.review-hero{flex-direction:column}}

/* Content Queue — cf_content_jobs via get-jobs.php */
.queue-search-fi{width:min(220px,100%);min-width:120px;padding:5px 10px!important;font-size:12px!important}
.queue-job-table{font-size:12px}
.queue-monoid{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px}
.queue-cell-title{max-width:min(200px,26vw);font-weight:500}
.queue-cell-domain{font-size:11.5px;color:var(--t2);word-break:break-word;max-width:160px}
.queue-cell-updated{font-size:11px;color:var(--t3);white-space:nowrap}
.queue-th-wp,.queue-th-links{white-space:nowrap}
.queue-th-links,.queue-wp-links{min-width:68px;width:68px}
.queue-th-actions,.queue-cell-actions{min-width:72px;width:72px;vertical-align:middle}
.queue-wp-stack{display:flex;flex-flow:row nowrap;gap:4px;align-items:center;width:max-content}
.queue-act-btns{display:grid;grid-template-columns:repeat(2,28px);gap:4px;align-items:center;justify-content:start;width:60px}
@media(min-width:1100px){
  .queue-th-actions,.queue-cell-actions{min-width:124px;width:124px}
  .queue-act-btns{grid-template-columns:repeat(4,28px);width:124px}
}
.queue-icon-btn,.queue-icon-link{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--t2);cursor:pointer;transition:all .15s;text-decoration:none;position:relative;flex-shrink:0}
.queue-icon-btn svg,.queue-icon-link svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.queue-icon-btn:hover,.queue-icon-link:hover{border-color:var(--teal);color:var(--teal);background:var(--tl)}
.queue-icon-btn:disabled{opacity:.55;cursor:not-allowed}
.queue-icon-btn-view,.queue-icon-link.queue-icon-btn-view{color:#2563eb;border-color:#bfdbfe}
.queue-icon-btn-view:hover,.queue-icon-link.queue-icon-btn-view:hover{color:#1d4ed8;border-color:#93c5fd;background:#eff6ff}
.queue-icon-btn-edit,.queue-icon-link.queue-icon-btn-edit{color:#7c3aed;border-color:#ddd6fe}
.queue-icon-btn-edit:hover,.queue-icon-link.queue-icon-btn-edit:hover{color:#6d28d9;border-color:#c4b5fd;background:#f5f3ff}
.queue-icon-btn-qa{color:#6366f1;border-color:#c7d2fe}
.queue-icon-btn-qa:hover{color:#4f46e5;border-color:#a5b4fc;background:#eef2ff}
.queue-icon-btn-image{color:#0891b2;border-color:#a5f3fc}
.queue-icon-btn-image:hover{color:#0e7490;border-color:#67e8f9;background:#ecfeff}
.queue-icon-btn-wp{color:#059669;border-color:#a7f3d0}
.queue-icon-btn-wp:hover{color:#047857;border-color:#6ee7b7;background:#ecfdf5}
.queue-icon-btn-approve{color:var(--teal);border-color:rgba(61,158,138,.35)}
.queue-icon-btn-approve:hover{color:var(--teal);border-color:var(--teal);background:var(--tl)}
.queue-icon-btn-reject,.queue-icon-btn-danger-wp{color:var(--danger);border-color:#fecaca}
.queue-icon-btn-reject:hover,.queue-icon-btn-danger-wp:hover{color:var(--danger);border-color:#fca5a5;background:var(--db)}
.queue-icon-btn-regen,.queue-icon-btn-regen-article{color:var(--teal);border-color:rgba(61,158,138,.3)}
.queue-icon-btn-regen:hover,.queue-icon-btn-regen-article:hover{color:var(--teal);border-color:var(--teal);background:var(--tl)}
.queue-icon-btn-retry{color:var(--warn);border-color:#fde68a}
.queue-icon-btn-retry:hover{color:#b45309;border-color:#fcd34d;background:#fffbeb}
.queue-icon-btn-danger{color:var(--danger);border-color:#fecaca}
.queue-icon-btn-danger:hover{color:var(--danger);border-color:#fca5a5;background:var(--db)}
.queue-icon-btn[data-tip]::after,.queue-icon-link[data-tip]::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 7px);left:50%;transform:translateX(-50%);padding:5px 9px;border-radius:7px;background:#1c1917;color:#fff;font-size:11px;font-weight:600;line-height:1.3;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .12s ease,visibility .12s;z-index:120;box-shadow:0 4px 14px rgba(0,0,0,.18)}
.queue-icon-btn[data-tip]::before,.queue-icon-link[data-tip]::before{content:'';position:absolute;bottom:calc(100% + 2px);left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:#1c1917;opacity:0;visibility:hidden;transition:opacity .12s ease,visibility .12s;z-index:120}
.queue-icon-btn:hover[data-tip]::after,.queue-icon-btn:focus-visible[data-tip]::after,.queue-icon-link:hover[data-tip]::after,.queue-icon-link:focus-visible[data-tip]::after{opacity:1;visibility:visible}
.queue-icon-btn:hover[data-tip]::before,.queue-icon-btn:focus-visible[data-tip]::before,.queue-icon-link:hover[data-tip]::before,.queue-icon-link:focus-visible[data-tip]::before{opacity:1;visibility:visible}
.queue-wp-em{font-weight:800;color:var(--text)}
.queue-tr-pr .queue-wp-links .queue-icon-btn,.queue-tr-pr .queue-wp-links .queue-icon-link,.queue-tr-pr .queue-wp-id{font-weight:750}
.queue-tr-fail{background:rgba(239,68,68,.05)}
tr.queue-row-job{cursor:pointer}
tr.queue-row-job:hover{background:rgba(61,158,138,.07)}
.queue-job-err{color:var(--danger);font-size:11px;line-height:1.35;max-width:240px;display:inline-block;vertical-align:top;text-align:left}
.queue-badge-gen{background:#f1f0ec;color:#57534e}
.queue-badge-qa{background:#fff7ed;color:#c2410c}
.queue-badge-pending{background:#ede9fe;color:#5b21b6;font-weight:750;border:1px solid rgba(91,33,182,.18)}
.queue-badge-def{background:var(--s2);color:var(--t2)}
.queue-cell-actions{padding:6px 8px!important}
.queue-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;padding:12px 16px;border-top:1px solid var(--border);background:linear-gradient(180deg,#fafaf8,#f5f4ef)}
.queue-page-meta{font-size:12px;color:var(--t2);font-weight:600}
.queue-page-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.queue-page-num{font-size:12px;color:var(--t3);font-weight:650;min-width:88px;text-align:center}
.queue-page-size{width:auto;min-width:108px;font-size:12px;padding:5px 8px}
@media(max-width:900px){
  .queue-cell-title{max-width:140px}
  .queue-job-table td,.queue-job-table th{padding:7px 8px;font-size:11px}
}

