:root{
  --navy:#0b1f3a;
  --navy-2:#123861;
  --blue:#2563eb;
  --blue-soft:#eaf2ff;
  --red:#d92d20;
  --red-soft:#fff0ef;
  --green:#067647;
  --green-soft:#ecfdf3;
  --amber:#b54708;
  --amber-soft:#fffaeb;
  --purple:#6941c6;
  --purple-soft:#f4f3ff;
  --ink:#101828;
  --text:#344054;
  --muted:#667085;
  --line:#e4e7ec;
  --line-2:#d0d5dd;
  --surface:#ffffff;
  --bg:#f5f7fb;
  --shadow:0 10px 35px rgba(16,24,40,.06);
  --radius:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--ink);font-size:14px}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.hidden{display:none!important}
.muted{color:var(--muted)}
.helper{margin:0;color:var(--muted);font-size:12px;line-height:1.55}
.eyebrow{font-size:11px;font-weight:800;letter-spacing:.13em;color:var(--blue);text-transform:uppercase}
.eyebrow.light{color:#b9d2ff}

/* AUTH */
.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);background:#fff}
.auth-visual{position:relative;overflow:hidden;background:linear-gradient(145deg,#07172d 0%,#0f3157 55%,#174779 100%);display:flex;align-items:flex-end;padding:64px;color:white}
.auth-visual:before,.auth-visual:after{content:"";position:absolute;border-radius:999px;filter:blur(0);opacity:.55}
.auth-visual:before{width:420px;height:420px;background:radial-gradient(circle,#2f69c5 0%,rgba(47,105,197,0) 70%);right:-90px;top:-100px}
.auth-visual:after{width:500px;height:500px;background:radial-gradient(circle,rgba(217,45,32,.25) 0%,rgba(217,45,32,0) 70%);left:-180px;bottom:-220px}
.auth-visual-inner{position:relative;z-index:1;max-width:620px}
.auth-visual h1{font-size:56px;line-height:1.05;margin:14px 0 20px;letter-spacing:-.04em}
.auth-visual p{max-width:560px;color:#d5e2f2;font-size:17px;line-height:1.7}
.auth-points{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.auth-points span{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);padding:9px 12px;border-radius:999px;color:#e7eef8;font-weight:600;font-size:12px}
.auth-panel{display:grid;place-items:center;padding:40px;background:#fbfcfe}
.auth-card{width:min(430px,100%);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:24px;padding:30px}
.auth-card h2{font-size:28px;margin:8px 0 8px;letter-spacing:-.03em}
.segmented{display:flex;background:#f2f4f7;border-radius:12px;padding:4px;margin:24px 0 20px}
.segment{flex:1;border:0;background:transparent;padding:10px 12px;border-radius:9px;color:var(--muted);font-weight:700}
.segment.active{background:#fff;color:var(--navy);box-shadow:0 1px 2px rgba(16,24,40,.08)}
.stack{display:grid;gap:14px}
.field{display:grid;gap:7px;color:var(--text);font-weight:600;font-size:13px}
.field input,.field select,.field textarea,.month-control input{width:100%;border:1px solid var(--line-2);background:#fff;border-radius:11px;padding:11px 12px;color:var(--ink);outline:none;transition:.2s}
.field textarea{min-height:92px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus,.month-control input:focus{border-color:#84adff;box-shadow:0 0 0 4px rgba(37,99,235,.08)}
.inline-message{margin-top:14px;padding:11px 12px;border-radius:10px;background:var(--amber-soft);color:var(--amber);font-size:13px}

/* BUTTONS */
.btn{border:0;border-radius:11px;padding:10px 14px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:.18s}
.btn.primary{background:var(--navy);color:white}.btn.primary:hover{background:var(--navy-2);transform:translateY(-1px)}
.btn.secondary{background:#fff;color:var(--text);border:1px solid var(--line-2)}.btn.secondary:hover{background:#f9fafb}
.btn.danger{background:var(--red-soft);color:var(--red)}
.btn.wide{width:100%;padding:12px 15px}
.icon-btn{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--text);display:grid;place-items:center;font-weight:800}

/* APP */
.app-shell{min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr)}
.sidebar{background:linear-gradient(180deg,#091a31 0%,#0d2747 100%);color:white;padding:22px 16px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:50}
.sidebar-brand{display:flex;align-items:center;justify-content:space-between;padding:4px 10px 22px;border-bottom:1px solid rgba(255,255,255,.08)}
.brand-copy{display:grid;gap:4px}.brand-copy strong{font-size:15px;letter-spacing:.04em}.brand-copy span{font-size:11px;color:#9fb3cd}
.nav-menu{padding-top:16px;display:grid;gap:4px;overflow:auto}
.nav-label{font-size:10px;letter-spacing:.13em;font-weight:800;color:#6f89aa;padding:15px 12px 6px}
.nav-item{width:100%;border:0;background:transparent;color:#aebfd4;padding:11px 12px;border-radius:11px;text-align:left;display:flex;align-items:center;gap:11px;font-weight:600;transition:.18s}
.nav-item:hover{color:#fff;background:rgba(255,255,255,.06)}
.nav-item.active{background:linear-gradient(90deg,rgba(57,122,219,.25),rgba(57,122,219,.08));color:white;box-shadow:inset 3px 0 0 #6ea2ff}
.nav-icon{width:20px;text-align:center;color:#91b7f3}
.sidebar-profile{margin-top:auto;border-top:1px solid rgba(255,255,255,.08);padding:16px 8px 0;display:grid;grid-template-columns:38px minmax(0,1fr) 38px;align-items:center;gap:9px}
.avatar{width:38px;height:38px;border-radius:12px;background:#1b4a7e;display:grid;place-items:center;font-weight:800}
.profile-copy{min-width:0;display:grid;gap:3px}.profile-copy strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-copy span{font-size:11px;color:#8fa8c7;text-transform:capitalize}
.sidebar-profile .icon-btn{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.08);color:white}
.main-shell{min-width:0;padding:0 28px 38px}
.topbar{min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);margin-bottom:24px;background:rgba(245,247,251,.88);backdrop-filter:blur(12px);position:sticky;top:0;z-index:30}
.topbar-left{display:flex;align-items:center;gap:12px}.breadcrumb{font-size:11px;color:var(--muted);margin-bottom:4px}.breadcrumb span{color:var(--blue);font-weight:700}.topbar h1{font-size:25px;margin:0;letter-spacing:-.025em}
.topbar-actions{display:flex;align-items:center;gap:10px}.month-control{display:grid;grid-template-columns:auto 135px;align-items:center;gap:8px;border:1px solid var(--line);background:white;border-radius:12px;padding:4px 4px 4px 11px}.month-control span{font-size:11px;font-weight:700;color:var(--muted)}.month-control input{border:0;padding:7px 8px;box-shadow:none!important}
.page{display:none}.page.active{display:block}
.pending-banner{padding:13px 15px;background:var(--amber-soft);border:1px solid #fedf89;border-radius:12px;color:var(--amber);font-weight:600;margin-bottom:18px}

/* DASHBOARD */
.hero-panel{background:linear-gradient(135deg,#0b1f3a 0%,#123861 65%,#174b80 100%);border-radius:22px;color:white;padding:25px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(220px,.5fr);gap:22px;position:relative;overflow:hidden;box-shadow:0 16px 45px rgba(11,31,58,.14)}
.hero-panel:after{content:"";position:absolute;width:310px;height:310px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.09),rgba(255,255,255,0) 68%);right:-100px;top:-120px}
.hero-copy{position:relative;z-index:1}.hero-copy h2{margin:8px 0 10px;font-size:28px;letter-spacing:-.03em}.hero-copy p{margin:0;color:#c8d6e7;max-width:700px;line-height:1.6}
.hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.hero-tags span{font-size:11px;font-weight:700;padding:7px 9px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);color:#dbe6f3}
.score-box{position:relative;z-index:1;display:flex;justify-content:flex-end;align-items:center}.score-ring{--score:0;width:150px;height:150px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#6ea2ff calc(var(--score)*1%),rgba(255,255,255,.12) 0);position:relative}.score-ring:after{content:"";position:absolute;inset:11px;border-radius:50%;background:#0f3157}.score-content{position:relative;z-index:2;text-align:center}.score-content strong{font-size:32px;display:block}.score-content span{font-size:10px;color:#b9cbe0;text-transform:uppercase;letter-spacing:.09em;font-weight:700}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;margin:24px 0 12px}.section-head h3{margin:0;font-size:17px;letter-spacing:-.02em}.section-head p{margin:3px 0 0;color:var(--muted);font-size:12px}.section-head .meta{font-size:11px;color:var(--muted);font-weight:700}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.metric-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;min-width:0;box-shadow:0 4px 18px rgba(16,24,40,.025)}
.metric-card .top{display:flex;align-items:center;justify-content:space-between;gap:8px}.metric-card .label{color:var(--muted);font-size:11px;font-weight:700}.metric-card .icon{width:31px;height:31px;border-radius:10px;display:grid;place-items:center;font-size:14px}.metric-card .value{font-size:26px;font-weight:800;letter-spacing:-.035em;margin-top:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric-card .foot{display:flex;justify-content:space-between;gap:8px;margin-top:9px;font-size:10px;color:var(--muted)}
.icon.blue{background:var(--blue-soft);color:var(--blue)}.icon.green{background:var(--green-soft);color:var(--green)}.icon.purple{background:var(--purple-soft);color:var(--purple)}.icon.red{background:var(--red-soft);color:var(--red)}.icon.amber{background:var(--amber-soft);color:var(--amber)}
.layout-2{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:14px}.layout-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:0 4px 18px rgba(16,24,40,.025)}
.card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}.card-head h3{margin:0;font-size:15px}.card-head span{font-size:11px;color:var(--muted)}
.chart-wrap{position:relative;height:285px}.chart-wrap.small{height:235px}
.empty{border:1px dashed var(--line-2);border-radius:13px;padding:26px;text-align:center;color:var(--muted);background:#fcfcfd}.empty strong{display:block;color:var(--text);margin-bottom:5px}
.business-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.business-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:15px}.business-card .business-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.business-card .name{font-weight:800;text-transform:capitalize}.business-card .pill{font-size:10px;padding:5px 7px;border-radius:999px;background:#f2f4f7;color:var(--muted);font-weight:700}.business-card .main-number{font-size:23px;font-weight:800}.business-card .subline{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.business-card .mini{background:#f8fafc;border-radius:10px;padding:9px}.business-card .mini span{display:block;font-size:9px;color:var(--muted);margin-bottom:4px}.business-card .mini strong{font-size:12px}

/* TABLES / FORMS */
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:13px}.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{padding:11px 12px;border-bottom:1px solid var(--line);font-size:12px;text-align:left;vertical-align:middle}.table th{background:#f9fafb;color:#475467;font-size:10px;text-transform:uppercase;letter-spacing:.04em;position:sticky;top:0}.table tr:last-child td{border-bottom:0}.table tbody tr:hover{background:#fcfcfd}
.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800}.badge.green{background:var(--green-soft);color:var(--green)}.badge.amber{background:var(--amber-soft);color:var(--amber)}.badge.red{background:var(--red-soft);color:var(--red)}.badge.blue{background:var(--blue-soft);color:var(--blue)}.badge.gray{background:#f2f4f7;color:#475467}
.progress{height:7px;border-radius:999px;background:#eef2f6;overflow:hidden}.progress span{height:100%;display:block;background:linear-gradient(90deg,#2f6fd0,#6ea2ff);border-radius:inherit}.progress-row{display:grid;grid-template-columns:175px 1fr 45px;align-items:center;gap:10px;margin:12px 0}.progress-row label{font-size:11px;color:var(--text);font-weight:600}.progress-row strong{text-align:right;font-size:11px}
.form-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px}.form-section{border-top:1px solid var(--line);padding-top:16px;margin-top:18px}.form-section:first-of-type{border-top:0;padding-top:0}.form-section h4{margin:0 0 3px;font-size:13px}.form-section p{margin:0 0 12px;font-size:11px;color:var(--muted)}
.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}
.switch{display:inline-flex;align-items:center;gap:8px}.switch input{appearance:none;width:36px;height:20px;border-radius:999px;background:#d0d5dd;position:relative;transition:.2s}.switch input:after{content:"";width:16px;height:16px;border-radius:50%;background:white;position:absolute;top:2px;left:2px;transition:.2s;box-shadow:0 1px 2px rgba(0,0,0,.15)}.switch input:checked{background:var(--blue)}.switch input:checked:after{left:18px}
.role-select{min-width:160px;border:1px solid var(--line-2);border-radius:9px;padding:7px 8px;background:white}

.toast{position:fixed;right:22px;bottom:22px;z-index:200;min-width:250px;max-width:420px;padding:12px 14px;border-radius:12px;background:#101828;color:white;box-shadow:0 14px 35px rgba(16,24,40,.2);opacity:0;transform:translateY(12px);pointer-events:none;transition:.22s}.toast.show{opacity:1;transform:translateY(0)}.toast.error{background:#7a271a}.toast.success{background:#085d3a}
.mobile-only{display:none}

@media(max-width:1180px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.business-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.layout-2{grid-template-columns:1fr}.layout-3{grid-template-columns:1fr 1fr}.hero-panel{grid-template-columns:1fr auto}}
@media(max-width:900px){.auth-shell{grid-template-columns:1fr}.auth-visual{display:none}.auth-panel{min-height:100vh}.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-280px;width:260px;transition:.25s}.sidebar.open{left:0;box-shadow:20px 0 50px rgba(0,0,0,.25)}.main-shell{padding:0 18px 30px}.mobile-only{display:grid}.topbar{min-height:78px}.form-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.main-shell{padding:0 12px 24px}.topbar{align-items:flex-start;padding:14px 0;position:relative}.topbar-actions{width:100%;align-items:stretch}.month-control{flex:1}.topbar{flex-direction:column;gap:12px}.metric-grid,.business-grid,.layout-3,.form-grid,.form-grid.two{grid-template-columns:1fr}.hero-panel{grid-template-columns:1fr;padding:20px}.score-box{justify-content:flex-start}.score-ring{width:122px;height:122px}.score-content strong{font-size:27px}.hero-copy h2{font-size:24px}.auth-card{padding:24px}.progress-row{grid-template-columns:130px 1fr 40px}}

/* ADMIN REVISION */
.edit-kpi-table input,.edit-kpi-table select{width:100%;min-width:110px;border:1px solid var(--line-2);border-radius:9px;padding:8px 9px;background:#fff;color:var(--ink)}
.report-hero .download-icon{width:120px;height:120px;border-radius:28px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);display:grid;place-items:center;font-size:52px;color:#dbe8ff;box-shadow:inset 0 0 40px rgba(255,255,255,.04)}
.report-card{display:flex;flex-direction:column;min-height:250px}.report-card h3{margin:14px 0 8px}.report-card p{color:var(--muted);line-height:1.6;flex:1}.report-icon{width:44px;height:44px;border-radius:13px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;font-weight:800;font-size:20px}
@media(max-width:640px){.report-hero .download-icon{width:90px;height:90px;font-size:38px}}

/* ROLE-SPECIFIC KPI REVISION */
.role-kpi-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.role-kpi-tab{border:1px solid var(--line-2);background:#fff;color:var(--muted);padding:10px 14px;border-radius:10px;font-weight:750;cursor:pointer}.role-kpi-tab.active{background:var(--navy);border-color:var(--navy);color:#fff}.compact-hero{min-height:210px}.team-score-card .big-score{font-size:42px;font-weight:850;color:var(--navy);margin:8px 0}.competency-mini-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.mini-comp{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fbfcfe}.mini-comp span{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}.mini-comp strong{font-size:20px;color:var(--navy)}.employee-hero{background:linear-gradient(135deg,#17365d 0%,#254f86 60%,#406fa8 100%)}.employee-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.notice.soft{margin-top:14px;background:#f5f8ff;color:#344054;border:1px solid #dbe6ff}.edit-kpi-table td:nth-child(2){min-width:180px}
@media(max-width:900px){.competency-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.employee-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.competency-mini-grid,.employee-metrics{grid-template-columns:1fr}.role-kpi-tabs{display:grid;grid-template-columns:1fr 1fr}}

/* ROLE-SPECIFIC DAILY REPORTS */
.role-form-banner{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:18px;padding:22px 24px;border-radius:18px;background:linear-gradient(135deg,#17365d 0%,#254f84 100%);color:#fff;box-shadow:0 14px 34px rgba(23,54,93,.15)}
.role-form-banner h2{margin:4px 0 8px;font-size:24px}.role-form-banner p{margin:0;color:#dbe8f7;max-width:860px;line-height:1.55}.role-form-banner .eyebrow{color:#bcd4f3;font-size:11px;font-weight:800;letter-spacing:.12em}.role-form-banner .badge{flex:0 0 auto;background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.16)}
@media(max-width:720px){.role-form-banner{align-items:flex-start;flex-direction:column}.role-form-banner h2{font-size:21px}}

/* FULL SYNC V3 */
.verification-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.verify-pane{min-height:120px}
.audit-box{padding:4px}
.audit-box h3{margin:0}
.notice.soft{background:#f5f8ff;border:1px solid #dbe6ff;color:#344054;padding:12px 14px;border-radius:12px;margin:10px 0}
.role-form-banner + .form-card{margin-top:14px}
.table .btn{white-space:nowrap}
@media(max-width:760px){.verification-tabs .role-kpi-tab{flex:1 1 45%}}

.btn.danger{background:#fff1f2;border:1px solid #fecdd3;color:#be123c}
.btn.danger:hover{background:#ffe4e6}


/* =========================================================
   TANABANG GROUP MODERN BRAND THEME V9
   Official palette: navy / royal blue / red / neutral grey
   ========================================================= */
:root{
  --navy:#071f3f;
  --navy-2:#0b315f;
  --navy-3:#103f78;
  --blue:#1457c8;
  --blue-2:#2563eb;
  --blue-soft:#edf4ff;
  --red:#e31e24;
  --red-2:#c9151a;
  --red-soft:#fff1f2;
  --green:#138a54;
  --green-soft:#ecfdf3;
  --amber:#d97706;
  --amber-soft:#fff7ed;
  --purple:#6941c6;
  --purple-soft:#f4f3ff;
  --ink:#0b1730;
  --text:#344054;
  --muted:#78849a;
  --line:#e7ebf2;
  --line-2:#d7dde7;
  --surface:#ffffff;
  --bg:#f5f7fb;
  --shadow:0 10px 30px rgba(7,31,63,.065);
  --shadow-lg:0 24px 65px rgba(7,31,63,.11);
  --radius:18px;
}
body{
  background:
    radial-gradient(circle at 92% 4%,rgba(20,87,200,.05),transparent 26%),
    linear-gradient(180deg,#f9fbfe 0%,#f5f7fb 100%);
  color:var(--ink);
}

/* Login */
.auth-shell{background:#f6f8fc}
.auth-visual{
  background:
    linear-gradient(150deg,rgba(4,24,52,.98),rgba(7,43,84,.98)),
    radial-gradient(circle at 80% 15%,rgba(37,99,235,.28),transparent 36%);
  padding:72px;
}
.auth-visual:before{background:radial-gradient(circle,rgba(31,99,214,.34) 0%,rgba(31,99,214,0) 70%)}
.auth-visual:after{background:radial-gradient(circle,rgba(227,30,36,.20) 0%,rgba(227,30,36,0) 70%)}
.auth-brand-card{display:inline-flex;align-items:center;background:#fff;border-radius:18px;padding:12px 18px;margin-bottom:28px;box-shadow:0 18px 50px rgba(0,0,0,.14)}
.auth-logo{width:290px;max-width:62vw;height:auto;display:block}
.auth-visual h1{font-size:58px;font-weight:800;letter-spacing:-.055em;max-width:720px}
.auth-visual p{font-size:16px;color:#ced9e7}
.auth-points span{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.13)}
.auth-panel{background:linear-gradient(180deg,#fbfcff,#f5f8fc)}
.auth-card{border:1px solid #e9edf4;border-radius:26px;padding:34px;box-shadow:var(--shadow-lg)}
.login-brand{display:flex;justify-content:flex-start;margin-bottom:26px}
.login-brand img{width:220px;max-width:100%;height:auto;display:block}
.auth-card h2{color:var(--navy);font-size:30px}
.eyebrow{color:var(--red);letter-spacing:.15em}
.eyebrow.light{color:#bcd0ed}

/* Shell / sidebar */
.app-shell{grid-template-columns:276px minmax(0,1fr)}
.sidebar{
  background:
    radial-gradient(circle at 25% -5%,rgba(35,98,190,.32),transparent 25%),
    linear-gradient(180deg,#061a35 0%,#08264a 56%,#071e3b 100%);
  padding:18px 14px 18px;
  box-shadow:10px 0 34px rgba(5,24,51,.08);
}
.sidebar-brand{display:block;padding:4px 8px 18px;border-bottom:1px solid rgba(255,255,255,.085)}
.sidebar-logo-wrap{background:#fff;border-radius:14px;padding:10px 12px;margin-bottom:12px;box-shadow:0 8px 25px rgba(0,0,0,.12)}
.sidebar-logo{width:100%;height:auto;display:block}
.brand-copy{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 4px}
.brand-copy strong{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#fff}.brand-copy span{font-size:10px;color:#89a3c1}
.nav-menu{gap:3px;padding:12px 2px 0}
.nav-label{font-size:9px;color:#6986aa;padding:17px 10px 7px;letter-spacing:.16em}
.nav-item{padding:11px 12px;border-radius:10px;color:#b8c7da;font-size:13px}
.nav-item:hover{background:rgba(255,255,255,.065);color:#fff;transform:translateX(1px)}
.nav-item.active{
  background:linear-gradient(100deg,#123f7d 0%,#1659b9 100%);
  color:#fff;
  box-shadow:0 9px 22px rgba(0,48,115,.35),inset 0 0 0 1px rgba(255,255,255,.08);
}
.nav-item.active:after{content:"";margin-left:auto;width:5px;height:5px;border-radius:50%;background:var(--red);box-shadow:0 0 0 4px rgba(227,30,36,.12)}
.nav-icon{width:22px;height:22px;display:grid;place-items:center;border-radius:7px;color:#a9c8ff;font-size:15px}
.nav-item.active .nav-icon{color:#fff}
.sidebar-profile{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:11px;margin-top:auto}
.avatar{background:linear-gradient(145deg,#f7faff,#dce8fa);color:var(--navy);border-radius:50%;border:2px solid rgba(255,255,255,.34)}

/* Main topbar */
.main-shell{padding:0 32px 40px;max-width:1800px;width:100%;margin:0 auto}
.topbar{
  min-height:92px;
  background:rgba(249,251,254,.92);
  border-bottom:1px solid rgba(215,221,231,.8);
  margin-bottom:26px;
}
.breadcrumb{font-size:10px;letter-spacing:.035em;text-transform:uppercase;color:#8491a6}
.breadcrumb span{color:var(--red)}
.topbar h1{font-size:28px;font-weight:800;color:var(--navy);letter-spacing:-.04em;position:relative;display:inline-block}
.topbar h1:after{content:"";display:block;width:34px;height:3px;border-radius:99px;background:linear-gradient(90deg,var(--red),#ff6b70);margin-top:7px}
.month-control{border-color:#e3e8f0;border-radius:12px;box-shadow:0 4px 15px rgba(7,31,63,.035)}
.icon-btn{border-color:#e1e6ee;box-shadow:0 4px 12px rgba(7,31,63,.035)}
.btn{border-radius:10px;font-weight:700;letter-spacing:-.005em}
.btn.primary{background:linear-gradient(135deg,var(--navy-2),var(--blue));box-shadow:0 8px 20px rgba(20,87,200,.18)}
.btn.primary:hover{background:linear-gradient(135deg,var(--navy-3),#1e62d6)}
.btn.secondary{border-color:#e0e5ed;color:var(--navy);box-shadow:0 3px 10px rgba(7,31,63,.025)}

/* Core cards */
.card,.metric-card,.business-card,.form-card{
  border:1px solid rgba(224,230,239,.95);
  box-shadow:var(--shadow);
  border-radius:16px;
}
.card{padding:20px}
.metric-card{padding:18px;position:relative;overflow:hidden;transition:.2s ease}
.metric-card:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(7,31,63,.085)}
.metric-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--blue),#6ba0ff)}
.metric-card:nth-child(5n+2):before{background:linear-gradient(180deg,var(--red),#ff7f83)}
.metric-card .icon{width:38px;height:38px;border-radius:12px;font-size:16px}
.metric-card .label{font-size:11px;color:#68768c;text-transform:none}
.metric-card .value{color:var(--navy);font-size:29px;margin-top:15px}
.metric-card .foot{font-size:10px}

/* Hero -> clean executive card */
.hero-panel,.employee-hero,.role-form-banner{
  background:
    radial-gradient(circle at 90% 15%,rgba(20,87,200,.08),transparent 27%),
    linear-gradient(135deg,#ffffff 0%,#fbfdff 100%);
  color:var(--ink);
  border:1px solid #e2e8f1;
  box-shadow:var(--shadow);
}
.hero-panel{border-radius:18px;padding:24px 26px}
.hero-panel:before{content:"";position:absolute;left:0;top:23px;bottom:23px;width:4px;border-radius:0 6px 6px 0;background:linear-gradient(180deg,var(--red),#ff666b)}
.hero-panel:after{background:radial-gradient(circle,rgba(20,87,200,.07),rgba(20,87,200,0) 68%)}
.hero-copy h2{color:var(--navy);font-size:27px}
.hero-copy p,.role-form-banner p{color:#66758a}
.hero-tags span{background:#f3f7fd;border-color:#e2e9f4;color:#315178}
.hero-panel .eyebrow.light,.role-form-banner .eyebrow{color:var(--red)}
.score-ring{background:conic-gradient(var(--blue) calc(var(--score)*1%),#e8edf4 0)}
.score-ring:after{background:#fff;box-shadow:inset 0 0 0 1px #e6ebf2}
.score-content strong{color:var(--navy)}
.score-content span{color:#77859a}
.role-form-banner .badge{background:#f1f5fb;color:var(--navy);border-color:#e0e7f1}

/* Section heads */
.section-head{margin:27px 0 12px}
.section-head h3{font-size:17px;color:var(--navy);font-weight:800}
.section-head h3:after{content:"";display:block;width:26px;height:2px;background:var(--red);border-radius:99px;margin-top:6px}
.section-head p{color:#7b8799}

/* Business cards */
.business-card{padding:17px;transition:.2s ease}
.business-card:hover{transform:translateY(-2px);box-shadow:0 15px 30px rgba(7,31,63,.07)}
.business-card .name{color:var(--navy)}
.business-card .pill{background:#eef4fc;color:#416287}
.business-card .main-number{color:var(--navy)}
.business-card .mini{background:#f7f9fc;border:1px solid #edf0f5}

/* Table */
.table-wrap{border-color:#e5eaf1;border-radius:13px;background:#fff}
.table th{background:#f6f8fb;color:#5d6b80;font-size:9px;letter-spacing:.07em;padding:12px}
.table td{padding:12px;color:#334155}
.table tbody tr{transition:.15s}
.table tbody tr:hover{background:#f9fbfe}
.table strong{color:var(--navy)}
.badge{border-radius:999px;padding:5px 9px}
.badge.blue{background:#edf4ff;color:#1852ad}.badge.red{background:#fff1f2;color:#bf1720}.badge.green{background:#ecfdf3;color:#087443}.badge.amber{background:#fff7ed;color:#b65300}.badge.gray{background:#f0f3f7;color:#5e6a7c}

/* Forms */
.form-card{padding:22px}
.field{color:#475569}
.field input,.field select,.field textarea,.month-control input{border-color:#dce2eb;border-radius:10px;background:#fff}
.field input:focus,.field select:focus,.field textarea:focus,.month-control input:focus{border-color:#6f9ee9;box-shadow:0 0 0 4px rgba(20,87,200,.085)}
.form-section h4{color:var(--navy)}
.role-kpi-tab{border-color:#e0e5ed;color:#5e6c81;border-radius:999px;padding:9px 14px;background:#fff}
.role-kpi-tab.active{background:linear-gradient(135deg,var(--navy-2),var(--blue));border-color:transparent;box-shadow:0 6px 14px rgba(20,87,200,.18)}
.edit-kpi-table input,.edit-kpi-table select{border-color:#dbe2ec!important;border-radius:9px!important}

/* Progress / charts */
.progress{height:8px;background:#edf1f6}
.progress span{background:linear-gradient(90deg,#0d4ca7,#2f73df)}
.chart-wrap{height:300px}

/* Report cards / states */
.report-card{border-top:3px solid var(--navy-2)}
.report-card:nth-child(2){border-top-color:var(--blue)}
.report-card:nth-child(3){border-top-color:var(--red)}
.report-icon{background:#eef4fd;color:var(--navy-2)}
.empty{background:#fafbfd;border-color:#dfe5ee}
.notice.soft{background:#f5f8fd!important;border-color:#dee8f6!important;color:#42526a!important}
.pending-banner{background:#fff8e8;border-color:#fde3aa}
.toast{border-radius:11px;box-shadow:0 20px 45px rgba(7,31,63,.25)}

/* Director destructive action */
.btn.danger{background:#fff3f4!important;border:1px solid #ffd3d6!important;color:#ba151c!important;box-shadow:none!important}
.btn.danger:hover{background:#ffe8ea!important}

/* Mobile refinements */
@media(max-width:1180px){.app-shell{grid-template-columns:250px minmax(0,1fr)}}
@media(max-width:900px){
  .sidebar{width:272px;left:-292px}.sidebar.open{left:0}
  .main-shell{padding:0 18px 30px}
  .auth-logo{width:250px}
}
@media(max-width:640px){
  .main-shell{padding:0 12px 24px}
  .topbar h1{font-size:24px}
  .auth-card{border-radius:20px}
  .login-brand img{width:190px}
  .hero-panel{padding:20px}
}

/* REPORT CLARITY + HISTORY V9 */
.notice.soft{border-left:3px solid var(--blue);background:linear-gradient(90deg,#f4f8ff,#fff)}
#dashboardHistoryPreview{margin-top:20px}
#page-history .hero-panel{margin-bottom:18px}
.table td{vertical-align:middle}
.field input[type="datetime-local"]{font-variant-numeric:tabular-nums}
@media(max-width:760px){
  #dashboardHistoryPreview .section-head{align-items:flex-start}
}

/* V10 EDIT MODE */
.edit-mode-notice{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  background:#fff8e8;border:1px solid #f3d58a;border-left:4px solid #d79a11;
  padding:14px 16px;border-radius:14px;margin-bottom:18px
}
.edit-mode-notice div{display:flex;flex-direction:column;gap:3px}
.edit-mode-notice strong{color:#7a5100}
.edit-mode-notice span{font-size:12px;color:#795f29}
@media(max-width:720px){.edit-mode-notice{align-items:flex-start;flex-direction:column}}

.user-action-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.btn.danger{background:#fff1f2;border:1px solid #fecdd3;color:#be123c}
.btn.danger:hover{background:#ffe4e6;border-color:#fda4af}

/* V13 DIRECTOR ANALYTICS */
.director-kpi-people{display:grid;gap:16px}
.director-kpi-person-card{overflow:hidden}
.director-score-chip{min-width:84px;padding:9px 13px;border-radius:14px;text-align:center;background:#f2f4f7;border:1px solid var(--line)}
.director-score-chip small{display:block;font-size:10px;letter-spacing:.08em;color:var(--muted);font-weight:800}
.director-score-chip strong{display:block;font-size:24px;line-height:1.05}
.director-score-chip.good{background:#ecfdf3;border-color:#abefc6;color:#067647}
.director-score-chip.warn{background:#fffaeb;border-color:#fedf89;color:#b54708}
.director-score-chip.danger{background:#fef3f2;border-color:#fecdca;color:#b42318}
.director-score-chip.pending{background:#f9fafb;color:#667085}
.director-weak-list{display:grid;gap:8px;margin:14px 0}
.director-weak-item{display:grid;grid-template-columns:max-content 1fr;gap:10px;align-items:start;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fbfcfe}
.director-weak-item div{display:flex;flex-direction:column;gap:3px}
.director-weak-item span:not(.badge){font-size:12px;color:var(--muted)}
.director-person-meta{display:flex;gap:16px;flex-wrap:wrap;color:var(--muted);font-size:12px}
.director-kpi-detail{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}
.director-kpi-detail-table{min-width:1450px}
.director-kpi-issue{display:block;max-width:330px;line-height:1.45;color:#475467}
.director-report-summary{margin:16px 0}
.report-detail-card{margin-top:0}
.report-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
.report-detail-field{padding:12px;border:1px solid var(--line);border-radius:12px;background:#fbfcfe;min-width:0}
.report-detail-field span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700;margin-bottom:5px}
.report-detail-field strong{display:block;font-size:13px;color:var(--ink);overflow-wrap:anywhere}
.report-detail-field a{color:var(--blue);text-decoration:none}
.report-detail-field a:hover{text-decoration:underline}
.empty.small{padding:12px;min-height:auto}
@media(max-width:1100px){.report-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
  .report-detail-grid{grid-template-columns:1fr}
  .director-weak-item{grid-template-columns:1fr}
  .director-kpi-summary{grid-template-columns:1fr 1fr}
}



/* =========================================================
   V21 CLEAN PREMIUM DESIGN SYSTEM
   One internal style layer only.
   ========================================================= */

:root{
  --v21-navy:#061a33;
  --v21-navy-2:#0a3767;
  --v21-blue:#1767d8;
  --v21-cyan:#1699b1;
  --v21-purple:#6d58c9;
  --v21-green:#14815d;
  --v21-red:#d14942;
  --v21-amber:#ca7a13;
  --v21-bg:#f4f6fa;
  --v21-card:#ffffff;
  --v21-line:#e1e7ef;
  --v21-ink:#102a47;
  --v21-text:#435970;
  --v21-muted:#8391a2;
}

/* ===== LOGIN ===== */
.auth-shell{
  min-height:100svh;
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(500px,.8fr);
  background:#f7f9fc;
}
.auth-visual{
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:44px 52px;
  color:white;
  background:
    radial-gradient(circle at 78% 36%,rgba(34,103,212,.28),transparent 28%),
    radial-gradient(circle at 25% 105%,rgba(104,73,211,.16),transparent 30%),
    linear-gradient(145deg,#031329 0%,#061f3e 48%,#0a3869 100%);
}
.auth-visual::before{
  content:"";
  position:absolute;inset:0;
  opacity:.22;
  background-image:
    linear-gradient(rgba(74,135,211,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(74,135,211,.08) 1px,transparent 1px);
  background-size:54px 54px;
  mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.9) 48%,#000 100%);
}
.v21-login-left{
  position:relative;z-index:2;
  width:min(100%,900px);
  display:grid;
  grid-template-columns:minmax(300px,.92fr) minmax(330px,1.08fr);
  gap:34px;
  align-items:center;
}
.v21-login-copy img{
  width:250px;
  max-height:90px;
  object-fit:contain;
  object-position:left center;
  margin-bottom:30px;
}
.v21-login-eyebrow{
  font-size:10px;
  font-weight:800;
  letter-spacing:.17em;
  color:#74c7ff;
  margin-bottom:14px;
}
.v21-login-copy h1{
  margin:0;
  font-size:clamp(46px,4vw,68px);
  line-height:1.03;
  letter-spacing:-.052em;
  color:#fff;
}
.v21-login-line{
  width:92px;height:4px;border-radius:99px;
  margin:22px 0 18px;
  background:linear-gradient(90deg,#55b0ff,#255be2);
}
.v21-login-copy p{
  max-width:480px;
  margin:0;
  color:#c9d6e6;
  font-size:14px;
  line-height:1.72;
}
.v21-login-art{
  position:relative;
  height:390px;
  border-radius:24px;
  overflow:hidden;
  border:1px solid rgba(112,164,230,.17);
  background:
    radial-gradient(circle at 70% 25%,rgba(38,117,223,.20),transparent 28%),
    linear-gradient(155deg,rgba(8,43,84,.76),rgba(5,26,55,.54));
  box-shadow:0 30px 75px rgba(0,0,0,.18);
}
.v21-login-art::before{
  content:"";
  position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(95,149,216,.10) 1px,transparent 1px),
    linear-gradient(90deg,rgba(95,149,216,.10) 1px,transparent 1px);
  background-size:40px 40px;
  opacity:.35;
}
.v21-art-chart{
  position:absolute;left:28px;right:28px;bottom:35px;height:190px;
}
.v21-art-chart svg{width:100%;height:100%}
.v21-art-card{
  position:absolute;
  min-width:142px;
  padding:12px 14px;
  border-radius:12px;
  background:rgba(7,32,66,.78);
  border:1px solid rgba(110,166,235,.15);
  backdrop-filter:blur(10px);
}
.v21-art-card strong{display:block;font-size:10px;color:#fff}
.v21-art-card span{display:block;margin-top:4px;font-size:8px;color:#7899c0}
.v21-art-a{left:24px;top:28px}
.v21-art-b{right:24px;top:95px}
.v21-art-c{left:46%;top:188px}
.v21-login-features{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:-4px;
}
.v21-login-features div{
  min-height:68px;
  padding:11px 12px;
  border-radius:13px;
  display:grid;
  grid-template-columns:34px 1fr;
  grid-template-areas:"icon title" "icon sub";
  gap:0 9px;
  align-items:center;
  background:rgba(8,38,78,.62);
  border:1px solid rgba(111,162,226,.13);
}
.v21-login-feature-icon{
  grid-area:icon;
  width:34px;height:34px;border-radius:9px;
  display:grid;place-items:center;
  background:#113b76;color:#67adff;
}
.v21-login-features strong{grid-area:title;align-self:end;color:#fff;font-size:9.5px}
.v21-login-features small{grid-area:sub;align-self:start;color:#7999bd;font-size:8px}

.auth-panel{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:42px 48px;
  background:
    radial-gradient(circle at 90% 10%,rgba(38,99,182,.055),transparent 22%),
    #f7f9fc;
}
.auth-card{
  width:min(500px,100%);
  padding:42px 40px 32px;
  border-radius:26px;
  background:#fff;
  border:1px solid #e3e8ef;
  box-shadow:0 28px 72px rgba(17,43,73,.10);
}
.login-brand{display:flex;justify-content:flex-start;margin-bottom:27px}
.login-brand img{width:255px;max-height:90px;object-fit:contain}
.auth-card .eyebrow{
  margin:0 0 7px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.15em;
  color:#df2a28;
}
.auth-card h2{
  margin:0 0 10px;
  color:#102a47;
  font-size:33px;
  line-height:1.1;
  letter-spacing:-.035em;
}
.auth-card>.muted{
  margin:0 0 24px;
  color:#718094;
  font-size:13px;
  line-height:1.6;
}
.auth-form{display:grid;gap:16px}
.auth-form .field{gap:7px;font-size:11px;color:#45596e;font-weight:700}
.auth-form input{
  min-height:50px;
  padding:12px 14px;
  border-radius:11px;
  border:1px solid #dce3eb;
  background:#fbfcfe;
  font-size:13px;
}
.auth-form input:focus{
  outline:0;border-color:#3477ce;
  box-shadow:0 0 0 4px rgba(34,102,190,.08);
}
.premium-login-btn{
  min-height:51px;
  border-radius:11px;
  font-size:14px;
  background:linear-gradient(90deg,#0b407e,#1c6de0)!important;
  box-shadow:0 13px 26px rgba(27,97,203,.18);
}
.login-security{
  margin-top:19px;
  padding-top:17px;
  border-top:1px solid #edf0f4;
  color:#8190a0;
  text-align:center;
  font-size:9.5px;
}

/* ===== APP SHELL ===== */
#appView.app-shell{
  display:grid;
  grid-template-columns:258px minmax(0,1fr);
  min-height:100svh;
  background:var(--v21-bg);
}
#appView .sidebar{
  width:258px;
  height:100svh;
  position:sticky;
  top:0;
  overflow-y:auto;
  padding:16px 13px 14px;
  background:
    radial-gradient(circle at 25% 0%,rgba(29,91,177,.24),transparent 25%),
    linear-gradient(180deg,#04162c 0%,#061e3d 55%,#08294e 100%);
  border-right:1px solid rgba(255,255,255,.04);
  box-shadow:12px 0 32px rgba(7,27,49,.06);
}
#appView .sidebar-logo-wrap{
  height:69px;
  margin-bottom:10px;
  padding:8px 14px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  box-shadow:0 10px 24px rgba(0,0,0,.14);
}
#appView .sidebar-logo{max-width:100%;max-height:52px;object-fit:contain}
#appView .brand-copy{padding:0 8px 8px}
#appView .brand-copy strong{
  display:block;color:#fff;font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase
}
#appView .brand-copy span{display:block;margin-top:3px;color:#7696b9;font-size:8.5px}
#appView .nav-menu{display:flex;flex-direction:column;gap:2px}
#appView .nav-label{
  margin:0;padding:14px 10px 5px;
  color:#6788ad;font-size:7.5px;font-weight:850;letter-spacing:.13em;text-transform:uppercase
}
#appView .nav-item{
  width:100%;
  min-height:41px;
  padding:9px 10px;
  border:0;
  border-radius:9px;
  display:flex;
  align-items:center;
  gap:9px;
  background:transparent;
  color:#b4c5d8;
  font-size:10.5px;
  font-weight:650;
  text-align:left;
  transition:.17s ease;
}
#appView .nav-item:hover{color:#fff;background:rgba(255,255,255,.055);transform:translateX(1px)}
#appView .nav-item.active{
  color:#fff;
  background:linear-gradient(90deg,#1559bd,#1c6edc);
  box-shadow:0 8px 18px rgba(22,91,201,.23);
}
#appView .nav-icon{
  width:21px;min-width:21px;
  display:grid;place-items:center;
  color:#78a1cc;
  font-size:13px
}
#appView .nav-item.active .nav-icon{color:#fff}
#appView .nav-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#appView .campaign-nav-badge{
  margin-left:auto;
  min-width:27px;height:18px;
  border-radius:999px;
  display:grid;place-items:center;
  background:rgba(105,169,255,.15);
  color:#8abfff;
  font-size:6.5px;font-weight:900;letter-spacing:.05em
}
#appView .nav-item.active .campaign-nav-badge{background:rgba(255,255,255,.14);color:#fff}
#appView .sidebar-profile{
  margin-top:12px;
  min-height:57px;
  padding:9px;
  border-radius:12px;
  display:grid;
  grid-template-columns:36px minmax(0,1fr) 32px;
  align-items:center;
  gap:8px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.075)
}
#appView .avatar{
  width:36px;height:36px;border-radius:50%;
  display:grid;place-items:center;
  color:#fff;font-size:11px;font-weight:800;
  background:linear-gradient(145deg,#1b5aa6,#2d7ddb)
}
#appView .profile-copy strong{display:block;color:#fff;font-size:9.5px}
#appView .profile-copy span{display:block;margin-top:2px;color:#7f9fc1;font-size:8px}

/* ===== TOPBAR ===== */
#appView .main-shell{
  min-width:0;
  padding:0 23px 40px;
  background:
    radial-gradient(circle at 98% 0%,rgba(47,105,188,.04),transparent 20%),
    var(--v21-bg)
}
#appView .topbar{
  min-height:75px;
  margin:0 -23px 16px;
  padding:0 23px;
  position:sticky;
  top:0;z-index:35;
  display:flex;
  align-items:center;
  justify-content:space-between;
  background:rgba(250,251,253,.97);
  border-bottom:1px solid #e4e9ef;
  backdrop-filter:blur(14px)
}
#appView .breadcrumb{font-size:8px;color:#8795a5}
#appView #pageTitle{
  margin-top:4px;
  color:#102a47;
  font-size:20px;
  font-weight:800;
  letter-spacing:-.025em
}
#appView .topbar-actions{display:flex;align-items:center;gap:8px}
#appView .month-control{
  min-height:40px;
  padding:5px 9px;
  border-radius:10px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:#fff;
  border:1px solid var(--v21-line)
}
#appView .month-control span{font-size:7px;color:#8c98a7;text-transform:uppercase;letter-spacing:.08em}
#appView .month-control input{border:0;background:transparent;color:#2c4560;font-size:10px}
#appView .top-user-card{
  min-width:178px;height:44px;
  padding:5px 9px;
  border-radius:11px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  align-items:center;gap:8px;
  background:#fff;border:1px solid var(--v21-line)
}
#appView .top-user-avatar{
  width:34px;height:34px;border-radius:50%;
  display:grid;place-items:center;
  color:#fff;font-size:10px;font-weight:800;
  background:linear-gradient(145deg,#0b315b,#2575cf)
}
#appView .top-user-copy strong{display:block;color:#1c3550;font-size:9.5px}
#appView .top-user-copy span{display:block;margin-top:2px;color:#8794a3;font-size:7.8px}
#appView #quickCampaignBtn svg{width:14px;height:14px}

/* ===== GENERIC INTERNAL UI ===== */
#appView .page.active{max-width:1500px;margin:0 auto}
#appView .card,#appView .form-card{
  border:1px solid var(--v21-line);
  border-radius:14px;
  background:#fff;
  box-shadow:0 5px 17px rgba(17,42,70,.035)
}
#appView .form-card,#appView .card{padding:16px}
#appView .hero-panel{
  min-height:122px;
  padding:19px 21px;
  margin-bottom:13px;
  border-radius:16px;
  color:#fff;
  background:
    radial-gradient(circle at 91% 7%,rgba(82,153,240,.28),transparent 28%),
    linear-gradient(130deg,#071e39,#0c3e70 62%,#14568f)
}
#appView .hero-copy h2{margin:5px 0 6px;color:#fff;font-size:21px;letter-spacing:-.03em}
#appView .hero-copy p{margin:0;max-width:820px;color:#cad9e9;font-size:10px;line-height:1.55}
#appView .eyebrow.light{color:#96bde8;font-size:7.5px;letter-spacing:.13em}
#appView .section-head{
  margin:19px 0 9px;
  display:flex;align-items:center;justify-content:space-between;gap:12px
}
#appView .section-head h3{margin:0;color:#18314d;font-size:13.5px}
#appView .section-head p,#appView .section-head span{margin:3px 0 0;color:#8492a2;font-size:9px}
#appView .form-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px
}
#appView .field{display:grid;gap:6px;color:#506379;font-size:9.5px;font-weight:700}
#appView .field input,#appView .field select,#appView .field textarea{
  width:100%;
  min-height:40px;
  padding:9px 10px;
  border-radius:9px;
  border:1px solid #dce4ed;
  background:#fbfcfe;
  color:#203a57;
  font-size:10.5px
}
#appView .field textarea{min-height:82px;resize:vertical}
#appView .field input:focus,#appView .field select:focus,#appView .field textarea:focus{
  outline:0;border-color:#4a82cd;box-shadow:0 0 0 3px rgba(35,101,190,.07)
}
#appView .form-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:13px}
#appView .btn{
  min-height:35px;
  padding:8px 12px;
  border-radius:9px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  font-size:9px;
  font-weight:800
}
#appView .btn svg{width:14px;height:14px}
#appView .btn.primary{
  color:#fff;
  background:linear-gradient(90deg,#0e4688,#1a68d4);
  border-color:#175fbe;
  box-shadow:0 6px 14px rgba(26,91,182,.11)
}
#appView .btn.secondary{color:#36516e;background:#fff;border-color:#dce4ed}
#appView .btn.danger{color:#b83b35;background:#fff4f3;border-color:#efcbc8}
#appView .badge{
  min-height:20px;
  padding:3px 7px;
  border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:7.3px;font-weight:850
}
#appView .badge.green{background:#eaf7f1;color:#0e8059}
#appView .badge.blue{background:#eaf2ff;color:#2865b2}
#appView .badge.amber{background:#fff5e8;color:#b56d0d}
#appView .badge.red{background:#fff0ef;color:#b84038}
#appView .badge.gray{background:#f0f2f5;color:#6e7d8c}
#appView .table-wrap{
  overflow:auto;
  border:1px solid #e4e9ef;
  border-radius:11px;
  background:#fff
}
#appView .table{width:100%;border-collapse:separate;border-spacing:0}
#appView .table th{
  padding:10px;
  background:#f7f9fc;
  color:#66778a;
  border-bottom:1px solid #e4e9ef;
  font-size:7.8px;
  font-weight:850;
  letter-spacing:.045em;
  text-transform:uppercase;
  white-space:nowrap
}
#appView .table td{
  padding:10px;
  color:#40566e;
  border-bottom:1px solid #eef2f5;
  font-size:9.2px;
  vertical-align:middle
}
#appView .table tbody tr:last-child td{border-bottom:0}
#appView .table tbody tr:hover td{background:#fafcff}
#appView .table td strong{color:#203a56;font-size:9.5px}
#appView .muted{color:#8a97a6;font-size:8px}
#appView .empty{min-height:110px;padding:24px;color:#8391a2;font-size:9.5px}
#appView .notice{padding:10px 12px;border-radius:10px;font-size:9px;line-height:1.5}

/* ===== V21 DASHBOARD ===== */
.v21-page-heading{
  min-height:47px;
  margin:0 0 11px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px
}
.v21-page-heading>div:first-child>span{
  display:block;color:#3d648e;font-size:7.5px;font-weight:850;letter-spacing:.12em
}
.v21-page-heading p{margin:4px 0 0;color:#8593a3;font-size:9px}
.v21-heading-actions{display:flex;align-items:center;gap:7px}
.v21-primary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:11px
}
.v21-primary{
  position:relative;
  min-height:156px;
  padding:17px 18px;
  overflow:hidden;
  border-radius:14px;
  display:grid;
  grid-template-columns:42px 1fr;
  gap:11px;
  background:#fff;
  border:1px solid var(--v21-line);
  box-shadow:0 5px 17px rgba(17,42,70,.035)
}
.v21-card-icon{
  width:40px;height:40px;border-radius:50%;
  display:grid;place-items:center;
  background:#eff5ff;color:var(--v21-blue);
  border:1px solid #dce8fb
}
.v21-card-icon svg{width:21px;height:21px}
.v21-primary.cyan .v21-card-icon{background:#eef9fb;color:var(--v21-cyan);border-color:#d9eff3}
.v21-primary.purple .v21-card-icon{background:#f3f0fb;color:var(--v21-purple);border-color:#e7e0f8}
.v21-primary.green .v21-card-icon{background:#eef8f3;color:var(--v21-green);border-color:#d9eee4}
.v21-card-copy{min-width:0}
.v21-card-copy>span{display:block;color:#53677c;font-size:9.8px;font-weight:700}
.v21-card-copy>strong{
  display:block;margin-top:8px;color:#102a47;font-size:27px;line-height:1;letter-spacing:-.04em;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.v21-card-copy>small{display:block;margin-top:7px;color:#8391a2;font-size:8.2px}
.v21-card-copy>small span{font-size:inherit}
.v21-spark{
  position:absolute;left:18px;right:18px;bottom:10px;
  width:calc(100% - 36px);height:27px;
  color:#4381dd;opacity:.72
}
.v21-primary.cyan .v21-spark{color:#24a0b8}
.v21-primary.purple .v21-spark{color:#7a63ce}
.v21-primary.green .v21-spark{color:#29906f}

.v21-mini-grid,.v21-campaign-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:11px;
  margin-top:11px
}
.v21-mini{
  min-height:72px;
  padding:12px 13px;
  border-radius:13px;
  display:grid;
  grid-template-columns:36px 1fr;
  gap:10px;
  align-items:center;
  background:#fff;
  border:1px solid var(--v21-line);
  box-shadow:0 4px 14px rgba(17,42,70,.025)
}
.v21-mini-icon{
  width:34px;height:34px;border-radius:10px;
  display:grid;place-items:center;
  background:#eff5ff;color:var(--v21-blue)
}
.v21-mini-icon svg{width:18px;height:18px}
.v21-mini.cyan .v21-mini-icon{background:#edf8fa;color:var(--v21-cyan)}
.v21-mini.purple .v21-mini-icon{background:#f2effb;color:var(--v21-purple)}
.v21-mini.green .v21-mini-icon{background:#edf8f2;color:var(--v21-green)}
.v21-mini span{display:block;color:#63758a;font-size:8.3px;font-weight:700}
.v21-mini strong{display:block;margin-top:3px;color:#17324f;font-size:16px}
.v21-mini small{display:block;margin-top:2px;color:#8c98a7;font-size:7.5px}

.v21-row{display:grid;gap:11px;margin-top:11px}
.v21-team-business{grid-template-columns:minmax(460px,.82fr) minmax(650px,1.18fr)}
.v21-panel{
  min-width:0;
  padding:14px;
  border-radius:14px;
  background:#fff;
  border:1px solid var(--v21-line);
  box-shadow:0 5px 17px rgba(17,42,70,.03)
}
.v21-panel-head{
  min-height:35px;
  margin-bottom:9px;
  display:flex;align-items:flex-start;justify-content:space-between;gap:10px
}
.v21-panel-head>div>span{display:block;color:#8a97a6;font-size:7px;font-weight:850;letter-spacing:.11em}
.v21-panel-head h3{margin:4px 0 0;color:#18324f;font-size:12.5px}
.v21-link{
  padding:4px 0;border:0;background:transparent;color:#2263b5;font-size:8.5px;font-weight:800
}
.v21-chip{
  min-height:21px;padding:4px 7px;border-radius:999px;
  display:inline-flex;align-items:center;
  color:#2771b8;background:#edf5ff;font-size:7.3px;font-weight:800
}
.v21-team-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:7px!important
}
.v21-team-grid .team-score-card,.v21-team-card{
  min-height:114px!important;
  padding:11px!important;
  border:0!important;
  border-radius:11px!important;
  color:#fff!important;
  background:
    radial-gradient(circle at 80% 15%,rgba(52,133,231,.24),transparent 28%),
    linear-gradient(145deg,#07264a,#0d4b86)!important;
  box-shadow:none!important
}
.v21-team-grid .team-score-card h3{color:#fff!important;font-size:10px!important;min-height:27px!important}
.v21-team-grid .team-score-card p{color:#9fbbd9!important;font-size:7.5px!important}
.v21-team-grid .big-score{color:#fff!important;font-size:24px!important}
.v21-team-grid .eyebrow{color:#8bb5e4!important;font-size:6.8px!important}

.v21-business-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px
}
.v21-business{
  min-height:145px;
  padding:11px;
  border-radius:11px;
  background:#fff;
  border:1px solid #e2e8ef
}
.v21-business-head{display:flex;align-items:center;gap:8px}
.v21-business-icon{
  width:34px;height:34px;border-radius:9px;
  display:grid;place-items:center;
  background:#edf4ff;color:#246bc7
}
.v21-business-icon svg{width:17px;height:17px}
.v21-business-head strong{display:block;color:#29425e;font-size:9px}
.v21-business-head small{display:block;margin-top:2px;color:#8b98a7;font-size:6.8px}
.v21-business-reach{display:block;margin-top:14px;color:#16314e;font-size:20px;letter-spacing:-.03em}
.v21-business-caption{display:block;margin-top:2px;color:#8996a5;font-size:7px}
.v21-business-bottom{
  margin-top:10px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:5px
}
.v21-business-bottom div{padding:6px 7px;border-radius:8px;background:#f7f9fc}
.v21-business-bottom span{display:block;color:#8a97a6;font-size:6.7px}
.v21-business-bottom strong{display:block;margin-top:2px;color:#2d4661;font-size:9px}
.v21-business-alone{margin-top:11px}

.v21-analytics{
  grid-template-columns:minmax(0,1.35fr) minmax(330px,.82fr) minmax(275px,.68fr)
}
.v21-chart-panel .chart-wrap{height:230px}
.v21-kpi-progress .progress-row{
  display:grid;
  grid-template-columns:minmax(110px,1fr) minmax(75px,.95fr) 54px;
  align-items:center;
  gap:7px;
  padding:6px 0;
  border-bottom:1px solid #eef2f5
}
.v21-kpi-progress .progress-row:last-child{border-bottom:0}
.v21-kpi-progress .progress-row label{font-size:8.3px;color:#617387;line-height:1.25}
.v21-kpi-progress .progress-row strong{font-size:8.3px;text-align:right;color:#2d4662}
.v21-kpi-progress .progress{height:5px}
.v21-status-wrap{display:grid;justify-items:center;align-content:center;gap:15px;min-height:215px}
.v21-donut{
  width:120px;height:120px;border-radius:50%;
  display:grid;place-items:center;position:relative
}
.v21-donut::after{content:"";position:absolute;inset:26px;border-radius:50%;background:#fff;border:1px solid #edf0f4}
.v21-donut>div{position:relative;z-index:2;text-align:center}
.v21-donut strong{display:block;color:#17314d;font-size:21px;line-height:1}
.v21-donut span{display:block;margin-top:4px;color:#8996a5;font-size:7px}
.v21-legend{width:100%;display:grid;gap:5px}
.v21-legend div{display:grid;grid-template-columns:7px 1fr 20px;align-items:center;gap:6px;color:#738397;font-size:7.5px}
.v21-legend i{width:7px;height:7px;border-radius:2px}
.v21-legend strong{text-align:right;color:#2a435f;font-size:8px}
.v21-campaign-monitor{margin-top:11px}
.v21-panel-actions{display:flex;align-items:center;gap:8px}

/* ===== CAMPAIGN PAGE ===== */
.v21-campaign-heading{margin-bottom:10px}
.v21-campaign-summary{margin:0 0 11px}
.v21-campaign-form{
  position:relative;
  margin-top:11px;
  padding:18px;
  border-radius:15px;
  background:#fff;
  border:1px solid #dce5ef;
  box-shadow:0 8px 25px rgba(19,47,79,.055)
}
.v21-campaign-form::before{
  content:"";
  position:absolute;left:0;top:0;bottom:0;width:3px;
  border-radius:15px 0 0 15px;
  background:linear-gradient(#1767d8,#39a2e5)
}
.v21-campaign-form-head{
  margin-bottom:14px;
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px
}
.v21-campaign-form-head span:first-child{color:#2d69ad;font-size:7.5px;font-weight:850;letter-spacing:.11em}
.v21-campaign-form-head h3{margin:4px 0 4px;color:#16314e;font-size:15px}
.v21-campaign-form-head p{margin:0;color:#8391a2;font-size:8.5px}
.v21-role-chip{
  min-height:23px;padding:5px 8px;border-radius:999px;
  color:#2467ad;background:#edf5ff;font-size:7.5px;font-weight:850
}
.v21-form-block{padding-top:3px}
.v21-form-block+.v21-form-block{margin-top:14px;padding-top:14px;border-top:1px solid #edf1f5}
.v21-form-block h4{
  margin:0 0 9px;color:#3a536f;font-size:8.5px;font-weight:850;letter-spacing:.07em;text-transform:uppercase
}
.v21-notes-field{margin-top:10px}
.v21-form-footer{
  margin-top:14px;padding-top:13px;border-top:1px solid #edf1f5;
  display:flex;align-items:center;justify-content:space-between;gap:12px
}
.v21-form-footer p{margin:0;max-width:650px;color:#8492a2;font-size:8px;line-height:1.5}
.v21-form-footer .form-actions{margin:0}
.v21-readonly-note{
  margin:11px 0;padding:11px 13px;border-radius:11px;
  display:flex;gap:8px;align-items:center;
  background:#f3f7fc;border:1px solid #dfe9f5;
  color:#607991;font-size:9px
}
.v21-campaign-list{margin-top:11px}

/* ===== DIRECTOR DETAILS / GENERIC RESPONSIVE ===== */
#appView .director-kpi-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#appView .report-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
#appView .report-detail-field{padding:9px;border-radius:9px;background:#fafcff}
#appView .report-detail-field span{display:block;color:#8a97a6;font-size:7px}
#appView .report-detail-field strong{display:block;margin-top:4px;color:#2a435f;font-size:9px}

/* ===== RESPONSIVE ===== */
@media(max-width:1350px){
  .v21-login-left{grid-template-columns:1fr;max-width:610px}
  .v21-login-art{display:none}
  .v21-login-features{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v21-team-business{grid-template-columns:1fr}
  .v21-analytics{grid-template-columns:1fr 1fr}
  .v21-chart-panel{grid-column:1/-1}
  #appView .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  #appView .report-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1050px){
  .auth-shell{grid-template-columns:1fr}
  .auth-visual{display:none}
  #appView.app-shell{display:block}
  #appView .sidebar{
    position:fixed;z-index:100;left:0;top:0;
    transform:translateX(-102%);transition:.2s ease
  }
  #appView .sidebar.open{transform:translateX(0)}
  #appView .main-shell{padding:0 15px 32px}
  #appView .topbar{margin:0 -15px 14px;padding:0 15px}
  .v21-primary-grid,.v21-mini-grid,.v21-campaign-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  #appView .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #appView .director-kpi-people{grid-template-columns:1fr}
  #appView .report-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .auth-panel{min-height:100svh;padding:18px 14px}
  .auth-card{padding:30px 22px 24px;border-radius:21px}
  .login-brand img{width:210px}
  #appView .top-user-card{display:none}
  #appView #pageTitle{font-size:17px}
  .v21-page-heading{align-items:flex-start;flex-direction:column}
  .v21-primary-grid,.v21-mini-grid,.v21-campaign-summary,.v21-business-grid,.v21-team-grid,.v21-analytics{
    grid-template-columns:1fr!important
  }
  .v21-chart-panel{grid-column:auto}
  #appView .form-grid{grid-template-columns:1fr}
  #appView .report-detail-grid{grid-template-columns:1fr}
  .v21-form-footer{align-items:flex-start;flex-direction:column}
}
/* =========================================================
   V22 PRECISE VIEWPORT / BALANCED LAYOUT
   ========================================================= */
@media (min-width:1051px){
  html,body{height:100%;overflow:hidden}
  .auth-shell{height:100vh;min-height:0;overflow:hidden;grid-template-columns:56% 44%}
  .auth-visual,.auth-panel{height:100vh;min-height:0;overflow:hidden}
  .auth-visual{padding:26px 42px}
  .v21-login-left{width:min(100%,850px);max-height:calc(100vh - 52px);gap:20px 26px}
  .v21-login-copy img{width:210px;max-height:72px;margin-bottom:18px}
  .v21-login-eyebrow{font-size:8.5px;margin-bottom:9px}
  .v21-login-copy h1{font-size:clamp(36px,3.05vw,54px);line-height:1.02}
  .v21-login-line{width:78px;height:3px;margin:14px 0 12px}
  .v21-login-copy p{font-size:11.5px;line-height:1.58;max-width:415px}
  .v21-login-art{height:min(315px,40vh);border-radius:19px}
  .v21-art-card{min-width:116px;padding:8px 9px}.v21-art-card strong{font-size:8px}.v21-art-card span{font-size:6.8px}
  .v21-art-chart{height:145px;left:20px;right:20px;bottom:22px}
  .v21-login-features{gap:7px;margin-top:0}.v21-login-features div{min-height:55px;padding:7px 8px;grid-template-columns:28px 1fr}
  .v21-login-feature-icon{width:28px;height:28px;border-radius:8px}.v21-login-features strong{font-size:8px}.v21-login-features small{font-size:6.7px}
  .auth-panel{padding:22px 32px}.auth-card{width:min(440px,100%);padding:28px 30px 23px;border-radius:21px}
  .login-brand{margin-bottom:16px}.login-brand img{width:205px;max-height:68px}.auth-card .eyebrow{font-size:8.2px;margin-bottom:4px}.auth-card h2{font-size:27px;margin-bottom:6px}.auth-card>.muted{font-size:10.5px;margin-bottom:16px}
  .auth-form{gap:11px}.auth-form .field{font-size:9px;gap:5px}.auth-form input{min-height:42px;padding:9px 11px;font-size:11px}.premium-login-btn{min-height:43px;font-size:11.5px}.login-security{margin-top:12px;padding-top:11px;font-size:7.5px}
  #appView.app-shell{height:100vh;min-height:0;overflow:hidden;grid-template-columns:246px minmax(0,1fr)}
  #appView .sidebar{width:246px;height:100vh;overflow-y:auto}
  #appView .main-shell{height:100vh;min-height:0;overflow-y:auto;overflow-x:hidden;padding:0 20px 28px}
  #appView .topbar{margin:0 -20px 13px;padding:0 20px;min-height:68px}
  #appView .page.active{max-width:1440px}.v21-primary{min-height:142px}.v21-card-copy>strong{font-size:24px}.v21-mini{min-height:64px}.v21-team-business,.v21-analytics{gap:9px;margin-top:9px}.v21-panel{padding:12px}.v21-chart-panel .chart-wrap{height:205px}
}
#appView .campaign-add-nav{color:#9bc4ef}#appView .campaign-add-nav .nav-icon{font-size:16px;color:#6eb1ff}#appView .campaign-add-nav.active{background:linear-gradient(90deg,#1161c7,#2480e7);color:#fff}#appView .campaign-add-nav.active .nav-icon{color:#fff}
#appView #page-campaigns .v21-campaign-form{margin-top:8px;border-color:#cfddeb;box-shadow:0 10px 28px rgba(20,57,96,.07)}#appView #page-campaigns .v21-campaign-form-head h3{font-size:16px}


/* =========================================================
   V23 PRECISE PREMIUM FINAL
   ========================================================= */

@media (min-width:1051px){
  html,body{
    width:100%;
    height:100%;
    margin:0;
    overflow:hidden;
  }

  .v23-auth-shell{
    width:100vw;
    height:100vh;
    min-height:0!important;
    display:grid!important;
    grid-template-columns:minmax(0,54%) minmax(460px,46%)!important;
    overflow:hidden!important;
  }

  .v23-auth-visual,
  .v23-auth-shell .auth-panel{
    width:100%;
    height:100vh;
    min-height:0!important;
    overflow:hidden!important;
  }

  .v23-auth-visual{
    padding:30px 38px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:
      radial-gradient(circle at 78% 34%,rgba(28,104,210,.24),transparent 28%),
      radial-gradient(circle at 18% 100%,rgba(77,68,187,.12),transparent 28%),
      linear-gradient(145deg,#04162e 0%,#072448 54%,#0b396a 100%)!important;
  }

  .v23-auth-content{
    position:relative;
    z-index:2;
    width:min(100%,860px);
    height:min(690px,calc(100vh - 60px));
    display:grid;
    grid-template-columns:minmax(300px,.92fr) minmax(320px,1.08fr);
    gap:28px;
    align-items:center;
  }

  .v23-logo-box{
    width:205px;
    height:70px;
    padding:8px 12px;
    border-radius:15px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fff;
    box-shadow:0 12px 28px rgba(0,0,0,.15);
    overflow:hidden;
  }

  .v23-logo-box img{
    display:block;
    width:100%;
    height:100%;
    max-width:100%;
    max-height:100%;
    object-fit:contain;
  }

  .v23-eyebrow{
    margin-top:24px;
    color:#6ec4ff;
    font-size:9px;
    font-weight:850;
    letter-spacing:.16em;
  }

  .v23-auth-copy h1{
    margin:11px 0 0;
    color:#fff;
    font-size:clamp(39px,3.25vw,57px);
    line-height:1.02;
    letter-spacing:-.05em;
  }

  .v23-accent{
    width:78px;
    height:3px;
    margin:16px 0 13px;
    border-radius:99px;
    background:linear-gradient(90deg,#5bb7ff,#2860df);
  }

  .v23-auth-copy>p{
    max-width:430px;
    margin:0;
    color:#c7d5e5;
    font-size:11.5px;
    line-height:1.62;
  }

  .v23-feature-row{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:7px;
    margin-top:20px;
  }

  .v23-feature-row>div{
    min-height:62px;
    padding:9px 10px;
    border-radius:11px;
    background:rgba(7,35,72,.58);
    border:1px solid rgba(118,168,231,.13);
  }

  .v23-feature-row span{
    display:block;
    color:#5fa8ff;
    font-size:7px;
    font-weight:900;
    letter-spacing:.08em;
  }
  .v23-feature-row strong{
    display:block;
    margin-top:5px;
    color:#fff;
    font-size:8.8px;
  }
  .v23-feature-row small{
    display:block;
    margin-top:2px;
    color:#7d9bbd;
    font-size:7px;
  }

  .v23-ui-visual{
    position:relative;
    height:min(390px,47vh);
    min-height:300px;
    border-radius:22px;
    overflow:hidden;
  }

  .v23-grid-lines{
    position:absolute;
    inset:0;
    opacity:.27;
    background-image:
      linear-gradient(rgba(87,145,215,.10) 1px,transparent 1px),
      linear-gradient(90deg,rgba(87,145,215,.10) 1px,transparent 1px);
    background-size:38px 38px;
    mask-image:radial-gradient(circle at center,#000 35%,transparent 90%);
  }

  .v23-orb{
    position:absolute;
    border-radius:50%;
    filter:blur(2px);
  }
  .v23-orb.orb-1{
    width:260px;height:260px;
    right:-60px;top:-55px;
    background:radial-gradient(circle,rgba(38,121,226,.20),transparent 68%);
  }
  .v23-orb.orb-2{
    width:210px;height:210px;
    left:-50px;bottom:-60px;
    background:radial-gradient(circle,rgba(91,75,203,.16),transparent 68%);
  }

  .v23-ui-window{
    position:absolute;
    left:24px;right:24px;top:36px;bottom:38px;
    border-radius:17px;
    overflow:hidden;
    border:1px solid rgba(120,171,233,.16);
    background:linear-gradient(155deg,rgba(9,43,83,.78),rgba(5,28,58,.60));
    box-shadow:0 24px 55px rgba(0,0,0,.18);
    transform:perspective(900px) rotateY(-4deg);
  }

  .v23-window-bar{
    height:34px;
    padding:0 12px;
    display:flex;
    align-items:center;
    gap:6px;
    border-bottom:1px solid rgba(116,164,224,.12);
    background:rgba(5,26,55,.50);
  }
  .v23-window-bar i{
    width:7px;height:7px;border-radius:50%;
    background:#315f93;
  }

  .v23-window-body{
    height:calc(100% - 34px);
    display:grid;
    grid-template-columns:54px 1fr;
  }

  .v23-ui-sidebar{
    padding:13px 10px;
    border-right:1px solid rgba(116,164,224,.10);
    display:grid;
    align-content:start;
    gap:10px;
  }
  .v23-ui-sidebar b{
    height:7px;
    border-radius:99px;
    background:rgba(97,148,211,.26);
  }
  .v23-ui-sidebar b:first-child{background:#347ddd}

  .v23-ui-main{
    padding:15px;
  }
  .v23-ui-heading{
    width:42%;
    height:10px;
    border-radius:99px;
    background:rgba(121,166,220,.28);
  }
  .v23-ui-cards{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
    margin-top:14px;
  }
  .v23-ui-cards i{
    height:58px;
    border-radius:9px;
    background:linear-gradient(160deg,rgba(31,95,171,.28),rgba(12,47,91,.16));
    border:1px solid rgba(110,162,226,.10);
  }
  .v23-ui-chart{
    height:120px;
    margin-top:12px;
    padding:8px;
    border-radius:10px;
    background:rgba(6,33,68,.40);
    border:1px solid rgba(110,162,226,.10);
  }
  .v23-ui-chart svg{width:100%;height:100%}

  .v23-floating-card{
    position:absolute;
    z-index:3;
    min-width:116px;
    padding:9px 10px;
    border-radius:10px;
    background:rgba(5,29,61,.84);
    border:1px solid rgba(120,171,233,.14);
    box-shadow:0 12px 28px rgba(0,0,0,.13);
    backdrop-filter:blur(8px);
  }
  .v23-floating-card strong{display:block;color:#fff;font-size:8px}
  .v23-floating-card span{display:block;margin-top:3px;color:#78a0ca;font-size:6.7px}
  .fc-a{left:2px;bottom:74px}
  .fc-b{right:2px;top:70px}

  .v23-auth-shell .auth-panel{
    padding:24px 34px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:
      radial-gradient(circle at 88% 9%,rgba(38,99,182,.055),transparent 22%),
      #f7f9fc!important;
  }

  .v23-auth-shell .auth-card{
    width:min(430px,100%)!important;
    padding:29px 30px 24px!important;
    border-radius:21px!important;
    box-shadow:0 26px 62px rgba(18,43,72,.10)!important;
  }

  .v23-auth-shell .login-brand{margin-bottom:16px!important}
  .v23-auth-shell .login-brand img{
    width:195px!important;
    height:auto!important;
    max-height:66px!important;
    object-fit:contain!important;
  }
  .v23-auth-shell .auth-card .eyebrow{font-size:8.2px!important;margin-bottom:4px!important}
  .v23-auth-shell .auth-card h2{font-size:27px!important;margin:0 0 6px!important}
  .v23-auth-shell .auth-card>.muted{font-size:10.5px!important;margin-bottom:16px!important}
  .v23-auth-shell .auth-form{gap:11px!important}
  .v23-auth-shell .auth-form .field{font-size:9px!important;gap:5px!important}
  .v23-auth-shell .auth-form input{min-height:42px!important;font-size:11px!important;padding:9px 11px!important}
  .v23-auth-shell .premium-login-btn{min-height:43px!important;font-size:11.5px!important}
  .v23-auth-shell .login-security{margin-top:12px!important;padding-top:11px!important;font-size:7.5px!important}

  #appView.app-shell{
    height:100vh;
    overflow:hidden;
    grid-template-columns:244px minmax(0,1fr)!important;
  }

  #appView .sidebar{
    width:244px!important;
    height:100vh!important;
    padding:15px 12px 13px!important;
    overflow-y:auto!important;
  }

  #appView .sidebar-logo-wrap{
    height:64px!important;
    padding:7px 12px!important;
    margin-bottom:8px!important;
  }

  #appView .sidebar-logo{
    width:auto!important;
    height:auto!important;
    max-width:100%!important;
    max-height:48px!important;
    object-fit:contain!important;
  }

  #appView .main-shell{
    height:100vh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:0 19px 28px!important;
  }

  #appView .topbar{
    min-height:66px!important;
    margin:0 -19px 13px!important;
    padding:0 19px!important;
  }

  #appView .page.active{
    width:100%!important;
    max-width:1420px!important;
  }
}

/* NAVIGATION ORDER / CAMPAIGN */
#appView .campaign-nav-item,
#appView .campaign-add-nav{
  color:#b9cbe0!important;
}
#appView .campaign-add-nav .nav-icon{
  color:#69b1ff!important;
  font-size:15px!important;
}
#appView .campaign-add-nav.active{
  background:linear-gradient(90deg,#1161c7,#2480e7)!important;
  color:#fff!important;
}
#appView .campaign-add-nav.active .nav-icon{color:#fff!important}

/* CAMPAIGN PAGE */
.v23-campaign-head{
  min-height:82px;
  padding:15px 17px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  background:
    radial-gradient(circle at 92% 8%,rgba(50,123,217,.11),transparent 28%),
    #fff;
  border:1px solid #e0e7ef;
  box-shadow:0 5px 18px rgba(17,42,70,.03);
}
.v23-campaign-head>div>span{
  display:block;
  color:#d82b2a;
  font-size:7.5px;
  font-weight:900;
  letter-spacing:.12em;
}
.v23-campaign-head h2{
  margin:5px 0 4px;
  color:#122f4f;
  font-size:21px;
  line-height:1.08;
}
.v23-campaign-head p{
  margin:0;
  color:#75879b;
  font-size:9px;
}
.v23-create-cta{
  margin-top:10px;
  padding:11px 13px;
  border-radius:11px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  background:#f3f8ff;
  border:1px solid #d9e7f7;
}
.v23-create-cta strong{
  display:block;
  color:#24476c;
  font-size:9.5px;
}
.v23-create-cta span{
  display:block;
  margin-top:2px;
  color:#7f91a3;
  font-size:8px;
}
#appView #page-campaigns .v21-campaign-form{
  display:block!important;
  margin-top:10px!important;
  padding:17px!important;
  border:1px solid #d2dfec!important;
  border-radius:14px!important;
  box-shadow:0 10px 28px rgba(20,57,96,.06)!important;
}
#appView #page-campaigns .v21-campaign-form-head h3{
  font-size:15px!important;
}
#appView #page-campaigns .v21-campaign-list{
  margin-top:10px!important;
}

/* avoid logo/image overflow globally in app/login */
#authView img,
#appView img{
  max-width:100%;
}

/* Responsive */
@media(max-width:1050px){
  .v23-auth-shell{
    grid-template-columns:1fr!important;
  }
  .v23-auth-visual{
    display:none!important;
  }
}
@media(max-width:700px){
  .v23-campaign-head{
    align-items:flex-start;
    flex-direction:column;
  }
  .v23-create-cta{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* =========================================================
   V27 CRITICAL LOGIN VISIBILITY FIX
   The login screen MUST disappear after successful auth.
   This rule is intentionally last and more specific than
   the premium login layout rules.
   ========================================================= */

#authView.hidden,
.auth-shell.hidden,
.v23-auth-shell.hidden {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

#appView.hidden {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

#appView:not(.hidden) {
  visibility: visible !important;
  pointer-events: auto !important;
}

@media (min-width: 1051px) {
  #appView.app-shell:not(.hidden) {
    display: grid !important;
  }
}

@media (max-width: 1050px) {
  #appView.app-shell:not(.hidden) {
    display: block !important;
  }
}


/* V28 CAMPAIGN SAVE STATUS */
.v28-save-status{
  margin-top:12px;
  padding:10px 12px;
  border-radius:10px;
  font-size:9px;
  font-weight:700;
  line-height:1.45;
}
.v28-save-status.hidden{display:none}
.v28-save-status.loading{
  display:block;
  color:#245a91;
  background:#eef6ff;
  border:1px solid #d3e6fa;
}
.v28-save-status.success{
  display:block;
  color:#0b7552;
  background:#ecf8f2;
  border:1px solid #cfeada;
}
.v28-save-status.error{
  display:block;
  color:#b33d36;
  background:#fff1f0;
  border:1px solid #f0cfcc;
}
#campaignSubmitBtn:disabled{
  opacity:.65;
  cursor:wait;
}


/* V29 DEPLOYMENT MARKER */
.v29-build-badge{
  margin:6px 8px 9px;
  padding:5px 8px;
  border-radius:7px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#8cc3ff;
  background:rgba(46,116,207,.11);
  border:1px solid rgba(96,160,234,.16);
  font-size:6.8px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}


/* V30 HISTORY */
#page-history .hero-panel{
  margin-bottom:12px;
}
#page-history #historyTable{
  min-height:160px;
}


/* V31 UNIT DROPDOWN */
#d_unit,
#c_unit,
#e_unit,
#a_unit{
  background-color:#fff;
}
#d_unit:invalid,
#c_unit:invalid,
#e_unit:invalid,
#a_unit:invalid{
  color:#7a8492;
}


/* V32 DIRECT UNIT STATUS */
.v32-unit-status{
  margin-top:6px;
  font-size:7px;
  font-weight:750;
  line-height:1.35;
}
.v32-unit-status.loading{color:#526579}
.v32-unit-status.success{color:#0b7a53}
.v32-unit-status.error{color:#b33d36}
.v32-retry-unit{
  margin-left:6px;
  padding:3px 7px;
  border:1px solid #c9d5e3;
  border-radius:6px;
  background:#fff;
  cursor:pointer;
  font-size:7px;
  font-weight:800;
}
#d_unit:disabled,
#c_unit:disabled,
#e_unit:disabled,
#a_unit:disabled{
  opacity:.7;
  cursor:wait;
}


/* V33 SPV upload-only */
#d_actual_upload{
  background-color:#fff;
}


/* V34 ADMIN RUPIAH */
#a_rev{
  font-variant-numeric:tabular-nums;
  letter-spacing:.01em;
  font-weight:700;
}
#a_rev::placeholder{
  font-weight:500;
}

/* V35 Rupiah */
#a_rev{
  font-variant-numeric:tabular-nums;
  text-align:left;
}


/* =========================================================
   V36 HYBRID WORKFLOW
   ========================================================= */
.v36-section-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px
}
.v36-section-head h4{margin:0}
.v36-section-head p{margin:3px 0 0;color:var(--muted)}
.v36-auto-grid,.v36-review-grid{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px
}
.v36-auto-grid>div,.v36-review-grid>div{
  border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff
}
.v36-auto-grid span,.v36-review-grid span{
  display:block;font-size:7px;color:var(--muted);font-weight:750;text-transform:uppercase;letter-spacing:.04em
}
.v36-auto-grid strong,.v36-review-grid strong{
  display:block;font-size:15px;margin-top:4px
}
.v36-auto-grid small{display:block;color:var(--muted);margin-top:2px;font-size:7px}
.v36-team-section{
  border:1px solid rgba(43,108,176,.16);
  background:linear-gradient(180deg,rgba(246,250,255,.9),#fff)
}
.v36-director-review-readonly{margin-bottom:14px}
@media(max-width:900px){
  .v36-auto-grid,.v36-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* =========================================================
   V37 SPV DETAIL AUTO
   ========================================================= */
.v37-role-block{
  margin-top:12px;border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden
}
.v37-role-title{
  display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;
  border-bottom:1px solid var(--line);background:#fafcfe
}
.v37-role-title strong{display:block;font-size:8px;letter-spacing:.06em}
.v37-role-title span:not(.badge){display:block;font-size:7px;color:var(--muted);margin-top:2px}
.v37-detail-table{min-width:1150px}
.v37-detail-table td{vertical-align:top;line-height:1.45}
.v37-detail-table small{font-size:6.5px;color:var(--muted)}
.v37-empty-role{
  margin-top:10px;padding:12px;border:1px dashed var(--line);border-radius:10px;background:#fbfcfd
}
.v37-empty-role strong,.v37-empty-role span{display:block}
.v37-empty-role span{font-size:7px;color:var(--muted);margin-top:3px}
.v37-issue-panel{
  margin-top:10px;padding:11px 12px;border-radius:10px;border:1px solid var(--line)
}
.v37-issue-panel.good{background:#f5fbf8;border-color:#cfe9dc}
.v37-issue-panel.warn{background:#fff9ef;border-color:#f1dfb8}
.v37-issue-panel strong,.v37-issue-panel span{display:block}
.v37-issue-panel span{font-size:7px;color:var(--muted);margin-top:2px}
.v37-issue-panel ul{margin:8px 0 0;padding-left:18px;font-size:7px;line-height:1.6}
.v37-auto-summary-actions{
  margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:10px 12px;border-radius:10px;background:#f7faff;border:1px solid #dbe8f7
}
.v37-auto-summary-actions strong,.v37-auto-summary-actions span{display:block}
.v37-auto-summary-actions span{font-size:7px;color:var(--muted);margin-top:2px}
.v37-auto-field{
  background:#f4f7fa!important;color:#334155!important;font-weight:800
}
.v37-auto-badge{
  display:block;margin-top:4px;font-size:6px;color:#3970a8;font-weight:800;letter-spacing:.04em
}
@media(max-width:760px){
  .v37-auto-summary-actions{align-items:flex-start;flex-direction:column}
}


/* V38 load diagnostics */
.v38-load-error span{
  display:block;
  margin-top:5px;
  font-size:7px;
  color:var(--muted);
}


/* =========================================================
   V39 — READABLE PREMIUM TYPOGRAPHY
   Goal: improve readability without making the dashboard bulky.
   ========================================================= */

/* Sidebar */
#appView .nav-label{
  font-size:9px!important;
  line-height:1.25;
}
#appView .nav-item{
  min-height:43px!important;
  font-size:12px!important;
  line-height:1.3;
}
#appView .nav-icon{
  font-size:14px!important;
}
#appView .campaign-nav-badge{
  min-width:29px;
  height:20px;
  font-size:8px!important;
}
#appView .profile-copy strong{
  font-size:11px!important;
}
#appView .profile-copy span{
  font-size:9.5px!important;
}

/* Topbar */
#appView .breadcrumb{
  font-size:10px!important;
}
#appView #pageTitle{
  font-size:23px!important;
  line-height:1.15;
}
#appView .month-control span{
  font-size:8.5px!important;
}
#appView .month-control input{
  font-size:11.5px!important;
}
#appView .top-user-copy strong{
  font-size:11px!important;
}
#appView .top-user-copy span{
  font-size:9px!important;
}

/* Hero / section hierarchy */
#appView .hero-copy h2{
  font-size:25px!important;
  line-height:1.15;
}
#appView .hero-copy p{
  font-size:12px!important;
  line-height:1.6;
}
#appView .eyebrow.light{
  font-size:9px!important;
}
#appView .section-head h3{
  font-size:16px!important;
  line-height:1.25;
}
#appView .section-head p,
#appView .section-head span{
  font-size:10.5px!important;
  line-height:1.5;
}
#appView .card-head h3{
  font-size:15px!important;
}
#appView .card-head span{
  font-size:10.5px!important;
}

/* Forms */
#appView .field{
  font-size:11px!important;
  line-height:1.35;
}
#appView .field input,
#appView .field select,
#appView .field textarea{
  min-height:42px;
  font-size:12px!important;
  line-height:1.35;
}
#appView .form-section h4{
  font-size:14px!important;
}
#appView .form-section p{
  font-size:10.5px!important;
}
#appView .notice{
  font-size:10.5px!important;
  line-height:1.55;
}
#appView .btn{
  min-height:37px;
  font-size:10.5px!important;
}
#appView .badge{
  min-height:22px;
  font-size:8.7px!important;
}

/* General tables — larger, but still dense enough for management data */
#appView .table th{
  padding:11px 10px!important;
  font-size:9.3px!important;
  line-height:1.3;
}
#appView .table td{
  padding:11px 10px!important;
  font-size:10.8px!important;
  line-height:1.45;
}
#appView .table td strong{
  font-size:11.2px!important;
}
#appView .muted{
  font-size:9.5px!important;
}
#appView .empty{
  font-size:10.5px!important;
  line-height:1.55;
}

/* Dashboard primary KPI cards */
.v21-card-copy>span{
  font-size:11px!important;
}
.v21-card-copy>strong{
  font-size:29px!important;
}
.v21-card-copy>small{
  font-size:9.5px!important;
  line-height:1.4;
}
.v21-mini span{
  font-size:9.5px!important;
}
.v21-mini strong{
  font-size:18px!important;
}
.v21-mini small{
  font-size:8.7px!important;
}
.v21-panel-head h3{
  font-size:14px!important;
}
.v21-link{
  font-size:10px!important;
}
.v21-chip{
  font-size:8.5px!important;
}

/* Team KPI cards */
.v21-team-grid .team-score-card h3{
  font-size:11.5px!important;
}
.v21-team-grid .team-score-card p{
  font-size:9px!important;
  line-height:1.35;
}
.v21-team-grid .big-score{
  font-size:27px!important;
}
.v21-team-grid .eyebrow{
  font-size:8px!important;
}

/* Business line cards */
.v21-business-head strong{
  font-size:10.5px!important;
}
.v21-business-head small{
  font-size:8.5px!important;
}
.v21-business-reach{
  font-size:22px!important;
}
.v21-business-caption{
  font-size:8.5px!important;
}
.v21-business-bottom span{
  font-size:8px!important;
}
.v21-business-bottom strong{
  font-size:10.5px!important;
}

/* KPI progress / legends */
.v21-kpi-progress .progress-row label{
  font-size:9.8px!important;
}
.v21-kpi-progress .progress-row strong{
  font-size:9.8px!important;
}
.v21-donut span{
  font-size:8.5px!important;
}
.v21-legend div{
  font-size:9px!important;
}
.v21-legend strong{
  font-size:9.5px!important;
}

/* SPV detailed automatic data */
.v36-auto-grid span,
.v36-review-grid span{
  font-size:8.5px!important;
}
.v36-auto-grid strong,
.v36-review-grid strong{
  font-size:17px!important;
}
.v36-auto-grid small{
  font-size:8.5px!important;
}
.v37-role-title strong{
  font-size:10px!important;
}
.v37-role-title span:not(.badge){
  font-size:8.8px!important;
}
.v37-detail-table small{
  font-size:8px!important;
}
.v37-empty-role span,
.v37-issue-panel span,
.v37-auto-summary-actions span{
  font-size:8.8px!important;
}
.v37-issue-panel ul{
  font-size:9px!important;
}
.v37-auto-badge{
  font-size:7.5px!important;
}
.v38-load-error span{
  font-size:9px!important;
}

/* Utility status text */
.v32-unit-status{
  font-size:9px!important;
}
.v32-retry-unit{
  font-size:9px!important;
}
.v29-build-badge{
  font-size:8px!important;
}

/* Slightly wider sidebar on desktop so larger labels do not feel cramped */
@media (min-width:1051px){
  #appView .app-shell{
    grid-template-columns:258px minmax(0,1fr)!important;
  }
  #appView .sidebar{
    width:258px!important;
  }
}

/* Keep mobile/tablet readable without breaking layouts */
@media (max-width:1050px){
  #appView #pageTitle{font-size:21px!important}
  #appView .hero-copy h2{font-size:22px!important}
  #appView .hero-copy p{font-size:11px!important}
  #appView .nav-item{font-size:12px!important}
  #appView .table th{font-size:9px!important}
  #appView .table td{font-size:10.5px!important}
  #appView .field{font-size:11px!important}
  #appView .field input,
  #appView .field select,
  #appView .field textarea{font-size:12px!important}
}


/* =========================================================
   V40 — COMPLAINT + CREATOR UPLOAD
   ========================================================= */

.v40-section-title{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:12px;
}
.v40-section-title h4{margin:0 0 4px!important}
.v40-section-title p{
  margin:0!important;
  max-width:760px;
}

.v40-creator-publication{
  padding:16px!important;
  border:1px solid #cfe0f5!important;
  border-radius:12px;
  background:linear-gradient(180deg,#f7fbff,#fff);
}
.v40-help{
  display:block;
  margin-top:4px;
  color:#7c8c9d;
  font-size:8.5px!important;
  font-weight:600;
  line-height:1.4;
}

.v40-upload-status{
  margin-top:12px;
  padding:10px 12px;
  border-radius:10px;
  border:1px solid #dfe6ee;
}
.v40-upload-status strong,
.v40-upload-status span{display:block}
.v40-upload-status strong{font-size:10px}
.v40-upload-status span{margin-top:3px;font-size:9px;color:#6f7f90}
.v40-upload-status.neutral{background:#f8fafc}
.v40-upload-status.good{background:#f0faf6;border-color:#cfe9dc}
.v40-upload-status.good strong{color:#0b7a53}
.v40-upload-status.late{background:#fff4f3;border-color:#efcbc8}
.v40-upload-status.late strong{color:#b84038}

.v40-creator-history,
.v40-creator-verify{
  min-width:1250px;
}
.v40-creator-audit-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
  margin:0 0 14px;
  padding:11px;
  border:1px solid #dce7f3;
  border-radius:11px;
  background:#f8fbff;
}
.v40-creator-audit-summary div{
  padding:8px 9px;
  border-radius:9px;
  background:#fff;
  border:1px solid #e6edf5;
}
.v40-creator-audit-summary span{
  display:block;
  color:#7f8ea0;
  font-size:8px;
  font-weight:800;
  text-transform:uppercase;
}
.v40-creator-audit-summary strong{
  display:block;
  margin-top:4px;
  color:#203a56;
  font-size:10.5px;
}

#d_resolution_standard.v40-na{
  background:#f2f4f7!important;
  color:#7b8794!important;
  cursor:not-allowed;
}
#d_resolution_standard.v40-required{
  border-color:#e4b45e!important;
  background:#fffaf0!important;
}
.v40-resolution-help{
  display:block;
  margin-top:5px;
  font-size:8.5px!important;
  font-weight:650;
  line-height:1.4;
}
.v40-resolution-help.neutral{color:#778697}
.v40-resolution-help.required{color:#a76508}

@media(max-width:900px){
  .v40-creator-audit-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v40-section-title{flex-direction:column}
}


/* V41 Creator Upload KPI */
.v40-upload-status.pending{background:#fff9ef;border-color:#f1dfb8}
.v40-upload-status.pending strong{color:#a76508}
.v41-audit-status.on_time{color:#0b7a53!important}
.v41-audit-status.late,.v41-audit-status.overdue{color:#b84038!important}
.v41-audit-status.pending{color:#a76508!important}
.v41-audit-status.no_deadline{color:#778697!important}
.v40-creator-publication #c_actual_upload:not(:required){border-style:dashed}


/* =========================================================
   V42 — CREATOR UPLOAD FOCUS
   ========================================================= */

.v42-creator-history{
  min-width:1180px;
}

.v42-creator-detail-table{
  min-width:1050px;
}

.v40-creator-publication{
  border-width:1.5px!important;
}

.v40-creator-publication .v40-section-title h4{
  color:#183b64;
}


/* =========================================================
   V43 — SPV DUPLICATE GUARD
   ========================================================= */

.v43-existing-notice{
  margin-bottom:13px;
  padding:11px 12px;
  border-radius:11px;
  border:1px solid #efd39b;
  background:#fff9ee;
}
.v43-existing-notice.hidden{display:none}
.v43-existing-notice.error{
  border-color:#efcbc8;
  background:#fff4f3;
}
.v43-existing-notice>strong,
.v43-existing-notice>span{display:block}
.v43-existing-notice>span{
  margin-top:4px;
  color:#6f7f90;
  font-size:9px;
}
.v43-existing-copy{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.v43-existing-copy strong{
  display:block;
  color:#8f5b0a;
  font-size:11px;
}
.v43-existing-copy span{
  display:block;
  margin-top:3px;
  color:#7c6b50;
  font-size:9px;
}
.v43-spv-list{min-width:1150px}
.v43-edit-btn{min-width:64px}

@media(max-width:760px){
  .v43-existing-copy{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* =========================================================
   V44 — FORCED 24-HOUR CLOCK
   ========================================================= */

.v44-native-datetime{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
  overflow:hidden!important;
}

.v44-datetime-wrap{
  position:relative;
  width:100%;
}

.v44-datetime-visible{
  display:grid;
  grid-template-columns:minmax(145px,1.2fr) minmax(120px,.8fr);
  gap:8px;
}

.v44-date-part,
.v44-time-part{
  min-width:0;
}

.v44-date-part>span,
.v44-time-part>span{
  display:block;
  margin:0 0 5px;
  color:#728297;
  font-size:8.5px;
  font-weight:800;
  letter-spacing:.02em;
}

#appView .v44-date,
#appView .v44-time{
  width:100%;
  min-height:42px;
  padding:9px 10px;
  border:1px solid #dce4ed;
  border-radius:9px;
  background:#fbfcfe;
  color:#203a57;
  font-size:12px!important;
  font-weight:700;
}

#appView .v44-time{
  font-variant-numeric:tabular-nums;
  letter-spacing:.04em;
}

#appView .v44-time:focus,
#appView .v44-date:focus{
  outline:0;
  border-color:#4a82cd;
  box-shadow:0 0 0 3px rgba(35,101,190,.07);
}

#appView .v44-time.v44-invalid,
#appView .v44-time:invalid{
  border-color:#d7675f;
  background:#fff6f5;
}

.v44-time-part small{
  display:block;
  margin-top:4px;
  color:#8290a1;
  font-size:8px!important;
  font-weight:650;
}

@media(max-width:620px){
  .v44-datetime-visible{
    grid-template-columns:1fr;
  }
}

/* V46 database sync navigation */
.v46-sync-nav{display:flex;align-items:center;gap:11px;width:100%;box-sizing:border-box;padding:10px 12px;margin-top:2px;border-radius:9px;color:#bfd0e3;text-decoration:none;font-size:12px;font-weight:700;transition:.15s ease}
.v46-sync-nav:hover{background:rgba(255,255,255,.07);color:#fff}
.v46-sync-nav.hidden{display:none!important}


/* V47 — Sync status */
.v47-sync-warning{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 14px;padding:14px 16px;border:1px solid #f0d39a;background:#fff9ec;border-radius:14px;color:#714c0b}.v47-sync-warning strong{display:block;font-size:12px}.v47-sync-warning span{display:block;margin-top:4px;font-size:10px;color:#816d48}.v47-sync-warning .btn{white-space:nowrap}@media(max-width:720px){.v47-sync-warning{align-items:flex-start;flex-direction:column}}


/* =========================================================
   V48 — CREATIVE WORKFLOW + SESSION LOCK
   ========================================================= */
.v48-creative-card{position:relative}
.v48-account-lock{
  display:flex;gap:10px;align-items:center;
  padding:11px 13px;margin-bottom:14px;border-radius:11px;
  background:#eef6ff;border:1px solid #d1e3f7;color:#183d64;
}
.v48-account-lock>span{font-size:18px}
.v48-account-lock strong{display:block;font-size:11px}
.v48-account-lock small{display:block;margin-top:2px;color:#6d8298;font-size:9px;line-height:1.4}
.v48-draft-row{
  display:flex;justify-content:space-between;gap:12px;align-items:center;
  margin-top:12px;padding:9px 11px;border-radius:9px;background:#f7f9fc;
  color:#65788c;font-size:9px;font-weight:650;
}
.v48-draft-row strong{color:#1e496f}
.v48-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#f0a22e;margin-right:6px}
.v48-dot.edit{background:#2573c6}
.v48-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.v48-actions select{min-height:34px;border:1px solid #d9e2ec;border-radius:8px;padding:6px 8px;background:#fff;color:#294966;font-size:10px}
.v48-ideas-table{min-width:980px}
.v48-verify-head{display:flex;justify-content:space-between;align-items:end;gap:15px;margin:14px 0 8px}
.v48-verify-head h4{margin:0;color:#173b60;font-size:13px}
.v48-verify-head span{color:#7890a6;font-size:9px}
.v48-modal{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:24px}
.v48-modal.hidden{display:none}
.v48-modal-backdrop{position:absolute;inset:0;background:rgba(5,22,42,.68);backdrop-filter:blur(3px)}
.v48-modal-card{
  position:relative;z-index:2;width:min(900px,96vw);max-height:88vh;overflow:auto;
  border-radius:18px;background:#fff;box-shadow:0 28px 90px rgba(0,0,0,.3);padding:22px;
}
.v48-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;padding-bottom:14px;border-bottom:1px solid #e8edf3}
.v48-modal-head span{display:block;color:#7890a6;font-size:8px;font-weight:800;letter-spacing:.1em}
.v48-modal-head h3{margin:4px 0 0;color:#123757;font-size:19px}
.v48-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:15px}
.v48-detail-item{padding:11px 12px;background:#f8fafc;border:1px solid #e7edf3;border-radius:10px;min-width:0}
.v48-detail-item>span{display:block;margin-bottom:5px;color:#7890a6;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.v48-detail-item>div{color:#203d59;font-size:11px;font-weight:650;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.v48-detail-item:nth-child(n+7){grid-column:span 2}
body.v48-modal-open{overflow:hidden}
.v48-director-creative-head{margin-top:20px}
.v48-creative-tabs{display:grid;grid-template-columns:1fr;gap:20px}
.v48-creative-section+.v48-creative-section{padding-top:18px;border-top:1px solid #e7edf3}
@media(max-width:700px){
  .v48-draft-row,.v48-verify-head{align-items:flex-start;flex-direction:column}
  .v48-detail-grid{grid-template-columns:1fr}
  .v48-detail-item:nth-child(n+7){grid-column:auto}
  .v48-modal{padding:10px}
}

/* V49 DATABASE COLLATION FIX */
.v49-db-ok{font-variant-numeric:tabular-nums}


/* =========================================================
   V50 — RESET PASSWORD
   ========================================================= */
.v50-team-actions{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  align-items:center;
}
.v50-reset-password-btn{
  background:#eef6ff;
  border:1px solid #cfe2f7;
  color:#175da7;
}
.v50-reset-password-btn:hover{
  background:#e2effd;
}
.v50-modal{
  position:fixed;
  inset:0;
  z-index:100100;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
}
.v50-modal.hidden{display:none}
.v50-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(5,22,42,.66);
  backdrop-filter:blur(3px);
}
.v50-modal-card{
  position:relative;
  z-index:2;
  width:min(520px,96vw);
  max-height:90vh;
  overflow:auto;
  border-radius:18px;
  background:#fff;
  padding:22px;
  box-shadow:0 28px 90px rgba(0,0,0,.30);
}
.v50-modal-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  padding-bottom:14px;
  border-bottom:1px solid #e8edf3;
}
.v50-modal-head span{
  display:block;
  color:#7890a6;
  font-size:8px;
  font-weight:800;
  letter-spacing:.10em;
}
.v50-modal-head h3{
  margin:4px 0 0;
  color:#123757;
  font-size:19px;
}
.v50-user-box{
  display:flex;
  align-items:center;
  gap:11px;
  margin:15px 0;
  padding:12px;
  border:1px solid #e5edf5;
  background:#f8fbfe;
  border-radius:12px;
}
.v50-user-avatar{
  width:42px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#145fae;
  color:#fff;
  font-size:16px;
  font-weight:850;
}
.v50-user-box strong{
  display:block;
  color:#193d60;
  font-size:12px;
}
.v50-user-box span{
  display:block;
  margin-top:3px;
  color:#71859a;
  font-size:9px;
}
.v50-password-notice{
  margin-bottom:14px;
  padding:10px 12px;
  border-radius:10px;
  border:1px solid #f0d8a7;
  background:#fff9ed;
  color:#72551b;
  font-size:9.5px;
  font-weight:650;
  line-height:1.55;
}
.v50-password-input{
  display:flex;
  gap:7px;
}
.v50-password-input input{
  flex:1;
}
.v50-password-input button{
  min-width:58px;
  border:1px solid #d8e2ec;
  background:#fff;
  border-radius:8px;
  color:#365d81;
  font-size:9px;
  font-weight:750;
  cursor:pointer;
}
.v50-password-tools{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-top:8px;
}
.v50-password-tools span{
  color:#75889c;
  font-size:8.5px;
  line-height:1.4;
}
body.v50-modal-open{overflow:hidden}
@media(max-width:620px){
  .v50-password-tools{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* =========================================================
   V51 — ADMIN CS HISTORY
   ========================================================= */
.v51-admin-info{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  padding:10px 12px;
  margin-bottom:13px;
  border-radius:10px;
  background:#eef8f5;
  border:1px solid #cfe9df;
}
.v51-admin-info strong{color:#17634d;font-size:10.5px}
.v51-admin-info span{color:#648376;font-size:9px;line-height:1.45}
.v51-history-note{
  display:flex;
  justify-content:space-between;
  gap:15px;
  align-items:center;
  padding:10px 12px;
  border-bottom:1px solid #e8edf3;
  background:#f9fbfd;
}
.v51-history-note strong{color:#244766;font-size:10px}
.v51-history-note span{color:#74899c;font-size:9px}
.v51-admin-table{min-width:1450px}
.v51-admin-history{min-width:1320px}
.v51-admin-actions{display:flex;gap:6px;align-items:center;white-space:nowrap}
.v51-duplicate-row{background:#fff7f5!important}
.v51-duplicate-row td{border-bottom-color:#f3d8d2!important}
@media(max-width:720px){
  .v51-admin-info,.v51-history-note{align-items:flex-start;flex-direction:column}
}


/* =========================================================
   V52 — WITA TIME STANDARD
   ========================================================= */
.v52-time-notice{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  margin-bottom:12px;
  padding:10px 12px;
  border-radius:10px;
  border:1px solid #d7e7f7;
  background:#f3f8fd;
}
.v52-time-notice strong{
  color:#164f83;
  font-size:10px;
}
.v52-time-notice span{
  color:#66829a;
  font-size:9px;
  line-height:1.45;
}
@media(max-width:720px){
  .v52-time-notice{
    align-items:flex-start;
    flex-direction:column;
  }
}

/* =========================================================
   V53 — ROLE HISTORY / DOUBLE SUBMIT
   ========================================================= */
.v53-submit-guard{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:10px 12px;margin-bottom:13px;border-radius:10px;background:#eef8f5;border:1px solid #cfe9df}
.v53-submit-guard strong{color:#17634d;font-size:10.5px}.v53-submit-guard span{color:#648376;font-size:9px;line-height:1.45}
.v53-latest-note{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:10px 12px;border-bottom:1px solid #e8edf3;background:#f9fbfd}
.v53-latest-note strong{color:#244766;font-size:10px}.v53-latest-note span{color:#74899c;font-size:9px}
.v53-creator-table{min-width:1500px}.v53-editor-table{min-width:1350px}.v53-history-table{min-width:1250px}
.v53-actions{display:flex;gap:6px;align-items:center;white-space:nowrap}.v53-duplicate-row{background:#fff7f5!important}.v53-duplicate-row td{border-bottom-color:#f3d8d2!important}
@media(max-width:720px){.v53-submit-guard,.v53-latest-note{flex-direction:column;align-items:flex-start}}

/* V54 MYSQL DELETE FIX */
.btn.danger{cursor:pointer}

/* =========================================================
   V55 — DIRECTOR KPI DETAIL
   ========================================================= */
.v55-filter-card{margin-bottom:14px}
.v55-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.v55-summary-grid>div{padding:14px;border:1px solid #e4ebf3;border-radius:13px;background:#fff}
.v55-summary-grid span,.v55-summary-grid small{display:block;color:#75899c;font-size:8.5px;font-weight:750}
.v55-summary-grid strong{display:block;margin:5px 0;color:#123b61;font-size:23px;line-height:1}
.v55-page-warning,.v55-inline-warning{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #f0d6a6;background:#fff9ed;border-radius:10px;margin-bottom:12px}
.v55-page-warning strong,.v55-inline-warning strong{color:#75571c;font-size:10px}
.v55-page-warning span,.v55-inline-warning span{color:#866f42;font-size:9px}
.v55-people{display:grid;grid-template-columns:1fr;gap:12px}
.v55-person-card{overflow:hidden}
.v55-person-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.v55-person-head>div:first-child>span{color:#7890a6;font-size:8px;font-weight:800;letter-spacing:.05em}
.v55-person-head h3{margin:4px 0;color:#183b5d;font-size:15px}
.v55-person-head small{color:#8293a4;font-size:8.5px}
.v55-score{min-width:96px;text-align:center;border-radius:12px;padding:9px 12px;background:#f5f8fb}
.v55-score small,.v55-score span{display:block;font-size:8px;font-weight:750}
.v55-score strong{display:block;font-size:22px;margin:2px 0}
.v55-score.good{background:#eef9f5;color:#17664f}.v55-score.warn{background:#fff8e9;color:#8b6414}.v55-score.danger{background:#fff2f0;color:#a23a30}.v55-score.pending{background:#f3f6f9;color:#61758a}
.v55-mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}
.v55-mini-stats>div{padding:9px 10px;border-radius:9px;background:#f8fafc;border:1px solid #e8edf3}.v55-mini-stats span{display:block;color:#8192a3;font-size:8px}.v55-mini-stats strong{display:block;margin-top:3px;color:#254966;font-size:11px}
.v55-weak-list{display:grid;gap:6px}.v55-weak-list>div{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:7px;padding:7px 9px;border-bottom:1px solid #edf1f5;font-size:9px}.v55-weak-list strong{color:#34546f}.v55-weak-list span:last-child{font-variant-numeric:tabular-nums;color:#657b90}
.v55-dot{width:7px;height:7px;border-radius:50%;display:block}.v55-dot.good{background:#1f9d78}.v55-dot.warn{background:#e5a525}.v55-dot.danger{background:#dd5548}.v55-dot.pending{background:#9aa9b8}
.v55-detail{margin-top:10px}.v55-kpi-table{min-width:1550px}.v55-status{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:800}.v55-status.good{background:#eaf8f3;color:#17664f}.v55-status.warn{background:#fff5dd;color:#8b6414}.v55-status.danger{background:#fff0ee;color:#a23a30}.v55-status.pending{background:#eef2f6;color:#64788c}
.v55-fatal{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.v55-fatal strong{color:#9e3028}.v55-fatal span{color:#6e7f90;font-size:10px}
@media(max-width:850px){.v55-summary-grid{grid-template-columns:repeat(2,1fr)}.v55-page-warning,.v55-inline-warning,.v55-person-head{flex-direction:column}}


/* =========================================================
   V56 — AUTO KPI + SMART BASELINE
   ========================================================= */
.v56-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:14px 0;
}
.v56-summary>div{
  padding:14px;
  border:1px solid #e3ebf3;
  border-radius:12px;
  background:#fff;
}
.v56-summary span,.v56-summary small{display:block;color:#74889c;font-size:9px}
.v56-summary strong{display:block;margin:5px 0;color:#173d60;font-size:20px}
.v56-info{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  padding:11px 13px;
  margin:12px 0;
  border-radius:11px;
  border:1px solid #cfe1f3;
  background:#f2f7fc;
}
.v56-info strong{color:#174f82;font-size:10.5px}
.v56-info span{color:#66829a;font-size:9px;line-height:1.5}
.v56-kpi-table{min-width:1320px}
.v56-director-kpi-table{min-width:1420px}
.v56-help{
  display:block;
  margin-top:4px;
  max-width:230px;
  color:#7b8da0;
  font-size:8px;
  line-height:1.45;
}
.badge.purple{
  color:#6941c6;
  background:#f1edff;
  border-color:#ded4ff;
}
@media(max-width:760px){
  .v56-summary{grid-template-columns:1fr}
  .v56-info{align-items:flex-start;flex-direction:column}
}


/* =========================================================
   V57 — COMPETENCY CHECKLIST
   ========================================================= */
.v57-legend{
  display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 15px;
}
.v57-legend span{
  padding:7px 10px;border:1px solid #e0e8f0;border-radius:999px;
  background:#fff;color:#60778d;font-size:9px;
}
.v57-live-score{
  min-width:140px;padding:12px 16px;border-radius:14px;
  background:rgba(255,255,255,.14);text-align:center;
}
.v57-live-score span,.v57-live-score small{display:block;font-size:8px;opacity:.85}
.v57-live-score strong{display:block;font-size:28px;line-height:1.1;margin:3px 0}
.v57-competency-group{
  margin:14px 0;border:1px solid #dfe8f1;border-radius:13px;overflow:hidden;background:#fff;
}
.v57-group-head{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding:12px 14px;background:#f7fafc;border-bottom:1px solid #e4ebf2;
}
.v57-group-head strong{display:block;color:#193f61;font-size:11px}
.v57-group-head span{display:block;color:#73889b;font-size:8.5px;margin-top:3px}
.v57-category-score{
  min-width:66px;padding:7px 10px;border-radius:9px;background:#eaf3fb;
  color:#15578e;font-size:13px;font-weight:800;text-align:center;
}
.v57-check-list{padding:5px 13px}
.v57-check-row{
  display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:14px;align-items:center;
  padding:10px 0;border-bottom:1px dashed #e5ebf1;
}
.v57-check-row:last-child{border-bottom:0}
.v57-check-copy{display:flex;gap:9px;align-items:flex-start}
.v57-check-copy>span{
  width:22px;height:22px;flex:0 0 22px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:#eef4fa;color:#34658f;font-size:9px;font-weight:800;
}
.v57-check-copy p{margin:1px 0 0;color:#35566f;font-size:9.5px;line-height:1.5}
.v57-check-select{
  width:100%;border:1px solid #d9e3ec;border-radius:9px;padding:8px 9px;background:#fff;
  font-size:9px;color:#294f70;
}
.v57-history-card{
  margin-bottom:12px;padding:14px;border:1px solid #e1e8ef;border-radius:13px;background:#fff;
}
.v57-history-head{
  display:flex;justify-content:space-between;align-items:flex-start;gap:13px;margin-bottom:10px;
}
.v57-history-head span{display:block;color:#8192a2;font-size:8px}
.v57-history-head h3{margin:3px 0 0;color:#193e60;font-size:13px}
.v57-history-score{
  min-width:88px;padding:8px 10px;border-radius:10px;text-align:center;background:#f4f7fa;
}
.v57-history-score strong{display:block;font-size:18px}
.v57-history-score small{display:block;font-size:8px}
.v57-history-score.green{background:#edf8f2;color:#18714f}
.v57-history-score.blue{background:#eef5fd;color:#2267a8}
.v57-history-score.amber{background:#fff8e9;color:#916817}
.v57-history-score.red{background:#fff0ee;color:#aa4437}
.v57-category-grid{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:10px 0;
}
.v57-category-grid>div{
  padding:9px;border:1px solid #e4eaf0;border-radius:9px;background:#fafcfd;
}
.v57-category-grid span{display:block;color:#7b8e9f;font-size:7.5px}
.v57-category-grid strong{display:block;margin-top:3px;color:#274f70;font-size:11px}
.v57-review-detail{
  margin-top:11px;padding:12px;border-radius:10px;background:#f8fafc;border:1px solid #e4eaf0;
}
.v57-detail-group{margin-bottom:11px}
.v57-detail-group>strong{display:block;color:#244e70;font-size:9.5px;margin-bottom:5px}
.v57-detail-group>div{
  display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:10px;padding:6px 0;border-bottom:1px dashed #e2e8ee;
}
.v57-detail-group>div span{color:#5f778c;font-size:8.5px;line-height:1.45}
.v57-detail-group>div b{text-align:right;color:#315b7e;font-size:8.5px}
.v57-legacy-note{
  padding:10px 12px;margin-bottom:10px;border-radius:9px;background:#fff8ea;border:1px solid #f0dcae;
}
.v57-legacy-note strong,.v57-legacy-note span{display:block}
.v57-legacy-note strong{font-size:9px;color:#815f20}
.v57-legacy-note span{font-size:8px;color:#8f7645;margin-top:3px}
.v57-own-review{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  margin:12px 0;padding:12px 14px;border-radius:12px;background:#f1f6fb;border:1px solid #d6e4f1;
}
.v57-own-review>div:first-child span{display:block;color:#71879a;font-size:8px}
.v57-own-review>div:first-child strong{display:inline-block;margin:3px 8px 0 0;color:#164f80;font-size:19px}
.v57-own-review>div:first-child small{color:#59758b;font-size:8px}
@media(max-width:800px){
  .v57-check-row{grid-template-columns:1fr}
  .v57-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v57-history-head,.v57-own-review{align-items:flex-start;flex-direction:column}
}


/* V58 KPI stability */
.v55-inline-warning{
  border-color:#ead8aa!important;
  background:#fffaf0!important;
}
.v55-inline-warning strong{color:#805d16!important}


/* =========================================================
   V59 — CREATIVE IDEA BRIEF & SPV REVIEW
   ========================================================= */
.v59-idea-card textarea{
  min-height:88px;
  resize:vertical;
}
.v59-form-section{
  padding:14px 0;
  border-bottom:1px solid #e7edf3;
}
.v59-form-section:last-of-type{border-bottom:0}
.v59-section-title{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  margin-bottom:10px;
}
.v59-section-title strong{color:#173d60;font-size:11px}
.v59-section-title span{
  color:#74889a;font-size:8px;padding:4px 8px;border-radius:999px;background:#f2f6fa;
}
.v59-brief-preview{
  display:flex;justify-content:space-between;gap:12px;align-items:center;
  padding:11px 13px;margin:13px 0;border-radius:10px;border:1px solid #e1e8ef;background:#f8fafc;
}
.v59-brief-preview strong{font-size:10px;color:#315a7c}
.v59-brief-preview span{font-size:8.5px;color:#72879a}
.v59-brief-preview[data-level="good"]{background:#edf8f3;border-color:#cce9dc}
.v59-brief-preview[data-level="good"] strong{color:#18674d}
.v59-brief-preview[data-level="mid"]{background:#fff9ed;border-color:#efdfb8}
.v59-brief-preview[data-level="low"]{background:#fff3f1;border-color:#efd7d2}
.v59-submit-status{
  margin:10px 0;padding:9px 11px;border-radius:9px;font-size:9px;font-weight:650;
}
.v59-submit-status.hidden{display:none}
.v59-submit-status.info{display:block;background:#eef5fb;color:#315f85}
.v59-submit-status.loading{display:block;background:#eef5fb;color:#315f85}
.v59-submit-status.success{display:block;background:#edf8f2;color:#17684d}
.v59-submit-status.error{display:block;background:#fff0ee;color:#a34236}
.v59-ideas-table{min-width:1350px}
.v59-review-modal{width:min(980px,96vw)!important}
.v59-review-summary{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0;
}
.v59-review-summary>div{
  padding:10px;border:1px solid #e3e9ef;border-radius:9px;background:#fafcfd;
}
.v59-review-summary span{display:block;color:#7a8d9e;font-size:7.5px}
.v59-review-summary strong{display:block;margin-top:3px;color:#254e70;font-size:10px}
.v59-readiness{
  margin:12px 0;padding:12px;border:1px solid #dce6ef;border-radius:11px;background:#f8fbfd;
}
.v59-readiness-head{
  display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:9px;
}
.v59-readiness-head strong{display:block;color:#244e70;font-size:10px}
.v59-readiness-head span{display:block;color:#7a8c9d;font-size:8px;margin-top:2px}
.v59-readiness-grid{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;
}
.v59-readiness-grid>div{
  display:flex;align-items:center;gap:5px;padding:7px;border-radius:8px;font-size:8px;
}
.v59-readiness-grid .ok{background:#edf8f2;color:#17684d}
.v59-readiness-grid .missing{background:#fff4ee;color:#9d4d30}
.v59-readiness-grid b{
  width:17px;height:17px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,.7)
}
.v59-review-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0;
}
.v59-review-item{
  padding:11px;border:1px solid #e2e9ef;border-radius:9px;background:#fff;
}
.v59-review-item.wide{grid-column:1/-1}
.v59-review-item span{display:block;color:#788b9c;font-size:7.5px;font-weight:750;text-transform:uppercase;letter-spacing:.04em}
.v59-review-item div{margin-top:5px;color:#284e6d;font-size:9.5px;line-height:1.55;white-space:pre-wrap}
.v59-decision-panel{
  margin-top:16px;padding:14px;border-radius:12px;border:1px solid #cddfeb;background:#f3f8fc;
}
.v59-decision-head strong{display:block;color:#174e7b;font-size:11px}
.v59-decision-head span{display:block;color:#70869a;font-size:8.5px;margin:3px 0 10px}
.v59-decision-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.v59-approve{background:#187053!important;color:#fff!important;border-color:#187053!important}
.v59-revise{background:#fff8e9!important;color:#8b651b!important;border-color:#e8d198!important}
.v59-verify-heading{
  display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px;
}
.v59-verify-heading h4{margin:0;color:#173d60;font-size:12px}
.v59-verify-heading p{margin:3px 0 0;color:#76899a;font-size:8.5px}
.v59-verify-heading>span{
  padding:5px 8px;border-radius:999px;background:#fff5e7;color:#865e18;font-size:8px;font-weight:750;
}
.v59-spv-ideas{min-width:1280px}
@media(max-width:780px){
  .v59-review-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v59-readiness-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v59-review-grid{grid-template-columns:1fr}
  .v59-review-item.wide{grid-column:auto}
  .v59-brief-preview,.v59-readiness-head,.v59-verify-heading{align-items:flex-start;flex-direction:column}
}


/* =========================================================
   V60 — META ADS PERFORMANCE
   ========================================================= */
.v60-meta-hero{align-items:center}
.v60-meta-hero-action{display:flex;gap:8px;align-items:end}
.v60-meta-hero-action label{
  display:flex;flex-direction:column;gap:5px;font-size:7px;font-weight:800;letter-spacing:.08em;color:rgba(255,255,255,.75)
}
.v60-meta-hero-action input{
  border:1px solid rgba(255,255,255,.25);border-radius:9px;padding:8px 10px;background:rgba(255,255,255,.12);color:#fff
}
.v60-summary-grid{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:13px 0
}
.v60-summary-card{
  padding:12px;border:1px solid #e2e9ef;border-radius:11px;background:#fff
}
.v60-summary-card span,.v60-summary-card small{display:block;color:#7a8d9e;font-size:7.5px}
.v60-summary-card strong{display:block;color:#173f61;font-size:17px;margin:4px 0}
.v60-analysis-layout{align-items:stretch}
.v60-insight{
  display:flex;gap:9px;padding:10px 0;border-bottom:1px dashed #e2e8ee
}
.v60-insight:last-child{border-bottom:0}
.v60-insight-dot{width:8px;height:8px;flex:0 0 8px;border-radius:50%;margin-top:4px;background:#7b8b9a}
.v60-insight.good .v60-insight-dot{background:#20825f}
.v60-insight.warn .v60-insight-dot{background:#d59a26}
.v60-insight.bad .v60-insight-dot{background:#c84f43}
.v60-insight strong{display:block;color:#284f70;font-size:9.5px}
.v60-insight p{margin:3px 0 0;color:#6f8396;font-size:8.5px;line-height:1.5}
.v60-chart-wrap{height:300px}
.v60-meta-table{min-width:1850px}
.v60-actions{display:flex;gap:5px;white-space:nowrap}
.v60-metric-section{
  display:flex;justify-content:space-between;gap:10px;margin:15px 0 9px;padding:9px 10px;border-radius:9px;background:#f3f7fb
}
.v60-metric-section strong{font-size:9.5px;color:#244d6e}
.v60-metric-section span{font-size:8px;color:#778b9c}
.v60-preview{
  display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin-top:12px
}
.v60-preview>div{padding:9px;border-radius:9px;background:#f8fafc;border:1px solid #e3e9ef}
.v60-preview span{display:block;color:#8293a2;font-size:7px}
.v60-preview strong{display:block;margin-top:3px;color:#295372;font-size:10px}
.v60-import-card{height:max-content}
.v60-import-row{display:flex;gap:8px;align-items:center;margin:10px 0}
.v60-import-row input{flex:1;font-size:9px}
.v60-import-preview{padding:11px;border:1px dashed #dce5ec;border-radius:10px;background:#fafcfd;color:#74889b;font-size:8.5px}
.v60-import-ready strong,.v60-import-ready span{display:block}
.v60-import-ready strong{color:#1d654d;font-size:10px}
.v60-import-ready span{margin:3px 0 8px}
.v60-import-sample{margin:8px 0}
.v60-import-sample>div{
  display:flex;justify-content:space-between;gap:8px;padding:5px 0;border-bottom:1px dashed #e3e9ef
}
.v60-import-sample span{color:#587188}
.v60-import-sample b{color:#294f70}
.v60-import-error{color:#a94439}
.v60-meta-form-card textarea{min-height:86px}
@media(max-width:1100px){
  .v60-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v60-preview{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:720px){
  .v60-summary-grid,.v60-preview{grid-template-columns:1fr}
  .v60-meta-hero-action,.v60-import-row,.v60-metric-section{align-items:stretch;flex-direction:column}
}


/* =========================================================
   V63 — SPV DASHBOARD SYNC
   ========================================================= */
.v63-sync-banner{
  display:flex;justify-content:space-between;align-items:center;gap:14px;
  padding:11px 13px;margin:12px 0;border:1px solid #cfe5dc;border-radius:11px;background:#f0f8f5
}
.v63-sync-banner strong{display:block;color:#17634d;font-size:10.5px}
.v63-sync-banner span:not(.badge){display:block;margin-top:3px;color:#668176;font-size:8.5px;line-height:1.45}
.v63-team-panel{margin-top:13px}
.v63-team-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px
}
.v63-team-card{
  padding:13px;border:1px solid #e0e8ef;border-radius:13px;background:#fff
}
.v63-team-head{
  display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:9px;align-items:center
}
.v63-team-avatar{
  width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:#eaf3fb;color:#195a91;font-weight:850;font-size:13px
}
.v63-team-person span,.v63-team-person small{display:block;color:#7a8c9d;font-size:7.5px}
.v63-team-person strong{display:block;margin:2px 0;color:#173f61;font-size:11px}
.v63-team-score{
  min-width:84px;padding:7px 8px;border-radius:9px;text-align:center;background:#f5f7fa
}
.v63-team-score span,.v63-team-score small{display:block;font-size:7px}
.v63-team-score strong{display:block;margin:2px 0;font-size:18px}
.v63-team-score.green{background:#edf8f2;color:#17684d}
.v63-team-score.blue{background:#eef5fd;color:#2168aa}
.v63-team-score.amber{background:#fff8e9;color:#8d671a}
.v63-team-score.red{background:#fff0ee;color:#a7463b}
.v63-team-score.gray{background:#f4f6f8;color:#66798a}
.v63-team-mini{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:10px 0
}
.v63-team-mini>div{
  padding:7px;border:1px solid #e8edf2;border-radius:8px;background:#fafcfd
}
.v63-team-mini span{display:block;color:#8394a3;font-size:6.8px}
.v63-team-mini strong{display:block;margin-top:2px;color:#315671;font-size:9px}
.v63-detail-btn{width:100%}
.v63-team-detail{margin-top:10px}
.v63-team-detail .v55-kpi-table,.v63-team-detail .v56-kpi-table{min-width:1100px}
.v63-soft-warning{
  margin:8px 0;padding:7px 9px;border-radius:8px;border:1px solid #edd7aa;background:#fff9ec;
  color:#84631f;font-size:8px;line-height:1.45
}
.v63-spv-dashboard .v21-team-business{grid-template-columns:1.15fr .85fr}
@media(max-width:1100px){
  .v63-team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .v63-team-grid{grid-template-columns:1fr}
  .v63-team-mini{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v63-sync-banner{align-items:flex-start;flex-direction:column}
  .v63-spv-dashboard .v21-team-business{grid-template-columns:1fr}
}


/* =========================================================
   V64 — MOBILE RESPONSIVE / PHONE FIT
   ========================================================= */
html,body{max-width:100%;overflow-x:hidden}
img,svg,canvas{max-width:100%}
.page,.main-content,.content-area,.app-main{min-width:0}
.table-wrap{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
}
.v64-swipe-hint{display:none}
.v64-mobile-backdrop{
  display:none;
  position:fixed;
  inset:0;
  z-index:89;
  border:0;
  padding:0;
  margin:0;
  background:rgba(9,30,52,.46);
  backdrop-filter:blur(1px);
}
body.mobile-nav-open .v64-mobile-backdrop{display:block}

@media (max-width:1100px){
  .v21-primary-grid,.v21-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .v21-row,.layout-2,.v21-team-business,.v21-analytics,.v63-spv-dashboard .v21-team-business{
    grid-template-columns:1fr!important;
  }
  .v63-team-grid,.v60-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .form-grid,.form-grid.two,.v48-detail-grid,.v59-review-summary,.v59-review-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media (max-width:900px){
  body{font-size:14px;background:#f5f7fb}

  .sidebar,#sidebar{
    position:fixed!important;
    top:0!important;left:0!important;bottom:0!important;
    z-index:100!important;
    width:min(84vw,300px)!important;
    max-width:300px!important;
    transform:translateX(-105%)!important;
    transition:transform .22s ease!important;
    box-shadow:18px 0 48px rgba(10,36,60,.18)!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
  }
  .sidebar.open,#sidebar.open{transform:translateX(0)!important}

  .app-shell,.app-layout,.main-shell{
    display:block!important;
    min-width:0!important;
  }
  .main-content,.content-area,.app-main,#mainContent{
    margin-left:0!important;
    width:100%!important;
    min-width:0!important;
    padding:0!important;
  }

  .topbar,.app-topbar,header.topbar{
    position:sticky!important;
    top:0;
    z-index:70;
    min-height:60px;
    padding:9px 12px!important;
    gap:8px;
  }
  #menuToggle,.menu-toggle{
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    width:40px!important;height:40px!important;
    flex:0 0 40px;
    border-radius:10px;
  }
  .topbar-title,.page-title-wrap{min-width:0;flex:1}
  .topbar-title h1,#pageTitle{
    font-size:16px!important;
    line-height:1.2!important;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .breadcrumb,#breadcrumbPage{font-size:8px!important}
  .topbar-actions,.top-actions{gap:5px!important}
  .topbar-actions .btn,.top-actions .btn{
    min-height:36px;padding:8px 9px!important;font-size:8px!important;
  }
  .top-user-card,.top-user{
    max-width:110px;min-width:0!important;padding:6px 7px!important;
  }

  .page{
    padding:12px!important;
    width:100%!important;
    min-width:0!important;
    overflow:hidden;
  }
  .v21-page-heading,.section-head,.card-head,.v21-panel-head,.v59-verify-heading{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:8px!important;
  }
  .v21-heading-actions,.v21-panel-actions,.form-actions{
    width:100%;
    display:flex;
    flex-wrap:wrap;
    gap:7px;
  }
  .v21-heading-actions .btn,.v21-panel-actions .btn,.form-actions .btn{
    flex:1 1 auto;min-height:40px;
  }

  .v21-primary-grid,.v21-mini-grid,.v63-team-grid,.v60-summary-grid,
  .v56-summary,.v57-category-grid,.v60-preview{
    grid-template-columns:1fr!important;
  }
  .v21-primary-card,.v21-mini-card,.v60-summary-card,.v63-team-card{
    min-width:0!important;width:100%!important;
  }
  .v21-primary-card{min-height:112px!important;padding:14px!important}
  .v21-primary-card strong{font-size:22px!important}
  .v21-mini-card{padding:12px!important}
  .v21-row,.layout-2,.v21-team-business,.v21-analytics,.v63-spv-dashboard .v21-team-business{
    display:grid!important;grid-template-columns:1fr!important;gap:10px!important;
  }
  .v21-panel{
    min-width:0!important;width:100%!important;padding:12px!important;overflow:hidden;
  }
  .v21-business-grid{
    display:grid!important;grid-template-columns:1fr!important;gap:8px!important;
  }

  .v63-team-head{grid-template-columns:38px minmax(0,1fr)!important}
  .v63-team-score{grid-column:1/-1;width:100%;margin-top:4px}
  .v63-team-mini{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .v63-sync-banner{align-items:flex-start!important;flex-direction:column!important}

  .form-card,.card{max-width:100%;min-width:0;overflow:hidden}
  .form-grid,.form-grid.two,.v48-detail-grid,.v59-review-summary,
  .v59-review-grid,.v57-category-grid{
    grid-template-columns:1fr!important;
  }
  .field,.field input,.field select,.field textarea{max-width:100%;min-width:0}
  .field input,.field select,.field textarea{
    font-size:16px!important;
    min-height:44px;
  }
  textarea{min-height:100px!important}

  .v64-swipe-hint{
    display:flex;
    justify-content:flex-end;
    margin:4px 0 6px;
    color:#8292a0;
    font-size:8px;
  }
  .table{
    width:max-content!important;
    min-width:850px!important;
    table-layout:auto!important;
  }
  .table th,.table td{
    padding:9px 8px!important;
    font-size:8.5px!important;
    white-space:nowrap;
  }
  .table td strong{font-size:9px!important}
  .v63-team-detail .table,.v55-kpi-table,.v56-kpi-table,.v60-meta-table,
  .v59-ideas-table,.v59-spv-ideas{min-width:1050px!important}

  .chart-wrap,.v60-chart-wrap{height:250px!important;min-height:250px!important}
  canvas{width:100%!important;height:100%!important}

  .v60-meta-hero,.hero-panel,.compact-hero{
    align-items:flex-start!important;flex-direction:column!important;padding:16px!important;
  }
  .v60-meta-hero-action{
    width:100%;align-items:stretch!important;flex-direction:column!important;
  }
  .v60-meta-hero-action input,.v60-meta-hero-action .btn{width:100%}
  .v60-import-row,.v60-metric-section{
    align-items:stretch!important;flex-direction:column!important;
  }

  .v59-review-modal,.v48-modal-card,.v50-modal-card,.v64-mobile-modal-card{
    width:calc(100vw - 18px)!important;
    max-width:calc(100vw - 18px)!important;
    max-height:92vh!important;
    margin:9px!important;
    overflow:auto!important;
    border-radius:14px!important;
  }
  .v59-readiness-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .v59-decision-actions{display:grid!important;grid-template-columns:1fr!important}
  .v59-decision-actions .btn{width:100%;min-height:42px}

  .v57-check-row{grid-template-columns:1fr!important}
  .v57-check-select{font-size:16px!important;min-height:44px}
  .v57-history-head,.v57-own-review{
    align-items:flex-start!important;flex-direction:column!important;
  }

  .auth-shell{display:block!important;min-height:100vh}
  .auth-visual{min-height:auto!important;padding:0!important}
  .v23-auth-content{min-height:auto!important;padding:28px 20px!important}
  .v23-auth-copy h1{font-size:34px!important}
  .v23-feature-row{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  .auth-panel{padding:24px 18px 34px!important}
  .login-brand img,.v23-logo-box img{
    width:min(220px,70vw)!important;height:auto!important;
  }

  .btn,button,select{touch-action:manipulation}
  .btn{min-height:40px}
}

@media (max-width:480px){
  .page{padding:9px!important}
  .topbar,.app-topbar,header.topbar{padding:8px 9px!important}
  .top-user-card,.top-user{display:none!important}
  .v21-primary-grid,.v21-mini-grid{gap:7px!important}
  .v21-primary-card strong{font-size:20px!important}
  .v63-team-mini{grid-template-columns:1fr 1fr!important}
  .v59-readiness-grid{grid-template-columns:1fr!important}
  .v60-summary-card strong{font-size:16px!important}
  .v21-page-heading p,.v21-panel-head p{font-size:8.5px!important;line-height:1.45!important}
  .sidebar,#sidebar{width:88vw!important}
}


/* =========================================================
   V65 — SPV MULTI CONTENT
   ========================================================= */
.v65-multi-info{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  padding:10px 12px;
  margin-bottom:12px;
  border:1px solid #cfe6dc;
  border-radius:10px;
  background:#eef8f4;
}
.v65-multi-info strong{color:#17664d;font-size:10px}
.v65-multi-info span{color:#5f7d70;font-size:8.7px;line-height:1.45}
.v65-multi-info.error{background:#fff1ef;border-color:#efd6d1}
.v65-multi-info.error strong{color:#a54539}
.v65-multi-info.error span{color:#8b5b55}
@media(max-width:900px){
  .v65-multi-info{align-items:flex-start;flex-direction:column}
}

/* V66 content count clarification */
.v65-multi-info b{font-weight:850;color:inherit}


/* =========================================================
   V68 — MOBILE INPUT / TOUCH FIX
   ========================================================= */
.v64-mobile-backdrop{
  pointer-events:none;
}
body.mobile-nav-open .v64-mobile-backdrop{
  pointer-events:auto;
}

@media(max-width:900px){
  /* Forms must never sit behind an invisible mobile layer. */
  .page,
  .form-card,
  form,
  .form-section,
  .field{
    position:relative;
    pointer-events:auto!important;
  }

  .page{
    overflow:visible!important;
  }

  .main-shell,
  .main-content,
  .content-area,
  #mainContent{
    overflow:visible!important;
  }

  input:not(:disabled),
  select:not(:disabled),
  textarea:not(:disabled),
  button:not(:disabled){
    pointer-events:auto!important;
    touch-action:manipulation;
    -webkit-tap-highlight-color:rgba(24,88,140,.12);
  }

  input,
  select,
  textarea{
    position:relative;
    z-index:2;
    -webkit-user-select:text;
    user-select:text;
  }

  select{
    -webkit-appearance:auto;
    appearance:auto;
  }

  input[type="date"],
  input[type="month"],
  input[type="time"],
  input[type="datetime-local"]{
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
  }

  /* Keep Save/Reset reachable above browser navigation and safe area. */
  #dailyForm .v68-mobile-submit-actions{
    position:sticky!important;
    bottom:calc(8px + env(safe-area-inset-bottom,0px));
    z-index:35;
    padding:9px!important;
    margin:14px -2px 0!important;
    border:1px solid #dbe6ef;
    border-radius:12px;
    background:rgba(255,255,255,.96);
    box-shadow:0 8px 24px rgba(20,52,78,.14);
    backdrop-filter:blur(8px);
  }

  #dailyForm .v68-mobile-submit-actions .btn{
    min-height:46px!important;
    font-size:13px!important;
  }

  #dailyForm .v68-mobile-submit-button{
    flex:1 1 60%!important;
  }

  /* Sidebar/backdrop should not leave the body in a blocked state. */
  body:not(.mobile-nav-open) #v64MobileBackdrop{
    display:none!important;
    pointer-events:none!important;
  }

  body.mobile-nav-open{
    overflow:hidden;
  }
}

@media(max-width:480px){
  #dailyForm .v68-mobile-submit-actions{
    display:grid!important;
    grid-template-columns:1fr 1.7fr!important;
  }
}


/* =========================================================
   V69 — DIRECTOR TEAM REPORT SYNC
   ========================================================= */
.v69-director-report-panel{margin-top:13px}
.v69-report-summary{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:7px;
  margin:10px 0 12px;
}
.v69-report-summary>div{
  padding:10px;
  border:1px solid #e2e9ef;
  border-radius:10px;
  background:#fafcfd;
}
.v69-report-summary>div.attention{background:#fff8ea;border-color:#edd7a6}
.v69-report-summary span,.v69-report-summary small{display:block;color:#7b8e9e;font-size:7.3px}
.v69-report-summary strong{display:block;margin:3px 0;color:#214c6f;font-size:16px}
.v69-report-summary .attention strong{color:#8c6315}
.v69-team-report-table{min-width:1180px}
.v69-report-footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid #e7edf2;
}
.v69-report-footer span{color:#778b9d;font-size:8px}
.v69-soft-warning{
  display:flex;
  flex-direction:column;
  gap:3px;
  padding:9px 11px;
  margin:8px 0;
  border:1px solid #ead4a5;
  border-radius:9px;
  background:#fff9ec;
  color:#805f1d;
}
.v69-soft-warning strong{font-size:9px}
.v69-soft-warning span{font-size:8px;line-height:1.45}
.v69-detail-shell{
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid #dfe7ee;
  scroll-margin-top:80px;
}
@media(max-width:1100px){
  .v69-report-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  .v69-report-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v69-report-footer{align-items:stretch;flex-direction:column}
  .v69-report-footer .btn{width:100%}
  .v69-detail-shell .report-detail-grid{grid-template-columns:1fr!important}
}
@media(max-width:480px){
  .v69-report-summary{grid-template-columns:1fr 1fr}
}


/* =========================================================
   V70 — DIRECT MYSQL REPORT DIAGNOSTIC
   ========================================================= */
.v70-diag{
  margin:0 0 12px;
  padding:12px;
  border:1px solid #d5e4f0;
  border-radius:12px;
  background:#f6faff;
}
.v70-diag-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:9px;
}
.v70-diag-head strong{display:block;color:#174e78;font-size:10px}
.v70-diag-head span:not(.badge){display:block;margin-top:3px;color:#70879a;font-size:8px}
.v70-diag-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
}
.v70-diag-item{
  padding:9px;
  border:1px solid #e0e9f0;
  border-radius:9px;
  background:#fff;
}
.v70-diag-item span,.v70-diag-item small{display:block;color:#7a8d9e;font-size:7.5px}
.v70-diag-item strong{display:block;margin:3px 0;color:#1d5077;font-size:16px}
.v70-period-warning{
  margin:9px 0;
  padding:10px 12px;
  border:1px solid #edd8a9;
  border-radius:10px;
  background:#fff9eb;
}
.v70-period-warning strong{display:block;color:#825e17;font-size:9.5px}
.v70-period-warning span{display:block;margin-top:3px;color:#806f49;font-size:8px;line-height:1.45}
.v70-error-box{
  padding:12px;
  border:1px solid #edcfc9;
  border-radius:11px;
  background:#fff2ef;
}
.v70-error-box strong,.v70-error-box span{display:block}
.v70-error-box strong{color:#a34539;font-size:10px}
.v70-error-box span{margin:4px 0 9px;color:#875c56;font-size:8.5px}
@media(max-width:900px){
  .v70-diag-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v70-diag-head{align-items:flex-start;flex-direction:column}
}


/* =========================================================
   V71 — DIRECTOR REPORT CENTER
   ========================================================= */
.v71-filter-card{margin:12px 0}
.v71-report-table{min-width:1100px}
.v71-actions{display:flex;gap:6px;white-space:nowrap}
.v71-detail-card{margin-top:12px}
.v71-detail-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.v71-detail-field{
  padding:10px;
  border:1px solid #e1e8ef;
  border-radius:9px;
  background:#fafcfd;
  min-width:0;
}
.v71-detail-field.wide{grid-column:1/-1}
.v71-detail-field span{
  display:block;
  color:#7a8d9e;
  font-size:7.5px;
  text-transform:uppercase;
  font-weight:750;
}
.v71-detail-field div{
  margin-top:4px;
  color:#294f70;
  font-size:9.5px;
  line-height:1.5;
  overflow-wrap:anywhere;
  white-space:pre-wrap;
}
@media(max-width:900px){
  .v71-detail-grid{grid-template-columns:1fr}
  .v71-detail-field.wide{grid-column:auto}
}


/* =========================================================
   V72 — GLOBAL FILTERS
   ========================================================= */
.v72-leadership .month-control{display:none!important}
#v72GlobalFilterHost{min-width:0}
.v72-global-filter{
  display:flex;
  align-items:end;
  gap:6px;
  padding:5px 7px;
  border:1px solid #dce5ed;
  border-radius:11px;
  background:#fff;
  box-shadow:0 4px 14px rgba(19,54,82,.05);
}
.v72-global-filter label{
  display:flex;flex-direction:column;gap:3px;min-width:86px
}
.v72-global-filter label:nth-child(2){min-width:142px}
.v72-global-filter label span{
  font-size:6.7px;font-weight:850;letter-spacing:.07em;color:#7b8d9d
}
.v72-global-filter select,.v72-global-filter input{
  height:34px;
  border:1px solid #dbe4eb;
  border-radius:8px;
  background:#f9fbfd;
  padding:0 8px;
  color:#294f6e;
  font-size:8.3px;
  font-weight:650;
}
.v72-global-filter .v72-apply{height:34px;min-height:34px;white-space:nowrap}
.v72-context-banner{
  display:flex;align-items:center;gap:9px;
  margin:0 0 10px;padding:8px 10px;
  border:1px solid #dce8f1;border-radius:10px;background:#f7fbfe
}
.v72-context-banner span{
  color:#728596;font-size:7px;font-weight:850;letter-spacing:.08em
}
.v72-context-banner strong{color:#1d527a;font-size:9px}
.v72-context-banner small{margin-left:auto;color:#718496;font-size:8px}
.v72-local-period-hidden{display:none!important}

@media(max-width:1200px){
  .v72-global-filter label{min-width:76px}
  .v72-global-filter label:nth-child(2){min-width:115px}
}
@media(max-width:900px){
  .topbar{flex-wrap:wrap!important}
  #v72GlobalFilterHost{order:99;width:100%}
  .v72-global-filter{
    width:100%;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px;
    padding:8px
  }
  .v72-global-filter label,.v72-global-filter label:nth-child(2){
    width:100%;min-width:0
  }
  .v72-global-filter select,.v72-global-filter input{
    width:100%;height:42px;font-size:13px
  }
  .v72-global-filter .v72-apply{
    grid-column:1/-1;width:100%;height:42px
  }
  .v72-context-banner{align-items:flex-start;flex-wrap:wrap}
  .v72-context-banner small{width:100%;margin-left:0}
}

/* V73 Fair Delay Attribution */
.v73-creator-table{min-width:1450px}
.v73-flow-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}
.v73-flow-card{padding:11px;border:1px solid #dfe7ee;border-radius:10px;background:#fafcfd}
.v73-flow-card>span{display:block;font-size:7.5px;font-weight:850;color:#70869a;letter-spacing:.08em;margin-bottom:6px}
.v73-flow-card>div{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px dashed #e4e9ee}
.v73-flow-card>div:last-child{border-bottom:0}.v73-flow-card b{font-size:8px;color:#75899a}.v73-flow-card strong{font-size:8.5px;color:#254e70;text-align:right}
.v73-recommend{padding:10px 12px;margin:10px 0;border:1px solid #d5e5f2;border-radius:10px;background:#f3f8fc}.v73-recommend strong,.v73-recommend span{display:block}.v73-recommend strong{font-size:9.5px;color:#1e557f}.v73-recommend span{font-size:8px;color:#6f8597;margin-top:3px}
.v73-impact{padding:10px 12px;margin:10px 0;border:1px solid #cfe5da;border-radius:10px;background:#eef8f4}.v73-impact strong,.v73-impact span{display:block}.v73-impact strong{font-size:9.5px;color:#17654d}.v73-impact span{font-size:8px;color:#627e73;margin-top:3px}
@media(max-width:900px){.v73-flow-grid{grid-template-columns:1fr}}

/* V74 Manager Access Fix */
.v74-manager-hero{display:flex;align-items:center;justify-content:space-between;gap:14px}
.v74-manager-access-note{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;padding:11px 13px;border:1px solid #d9e7f2;border-radius:11px;background:#f4f9fd}
.v74-manager-access-note strong{display:block;color:#1d5279;font-size:10px}.v74-manager-access-note span:not(.badge){display:block;margin-top:3px;color:#6f8496;font-size:8px}.v74-manager-table{min-width:900px}.v74-manager-error strong,.v74-manager-error span{display:block}.v74-manager-error span{margin-top:5px;color:#7b5a55}@media(max-width:900px){.v74-manager-hero,.v74-manager-access-note{align-items:flex-start;flex-direction:column}}


/* =========================================================
   V75 — MANAGER FULL MENU
   ========================================================= */
.v74-manager-dashboard .v74-manager-access-note{
  border-color:#d3e3ef;
  background:#f4f9fd;
}
.v74-manager-dashboard .v74-manager-access-note strong{
  color:#185378;
}
@media(max-width:900px){
  .v74-manager-dashboard .v74-manager-access-note{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
}


/* =========================================================
   V76 — PERFORMA CAMPAIGN AKTIF
   ========================================================= */
.v76-active-campaign-panel{
  margin-top:12px;
  border-top:3px solid #e14a2a;
}
.v76-active-campaign-panel .v21-panel-head h3{
  color:#c94727;
  text-transform:uppercase;
  letter-spacing:.01em;
}
.v76-summary{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:7px;
  margin:10px 0 12px;
}
.v76-summary>div{
  padding:9px 10px;
  border:1px solid #e2e9ef;
  border-radius:9px;
  background:#fafcfd;
}
.v76-summary span{
  display:block;
  color:#7a8d9d;
  font-size:7px;
  text-transform:uppercase;
  font-weight:800;
}
.v76-summary strong{
  display:block;
  margin-top:3px;
  color:#254f70;
  font-size:13px;
}
.v76-table-wrap{
  border:1px solid #e4e9ed;
  border-radius:10px;
  overflow:auto;
}
.v76-active-table{
  min-width:1050px;
  margin:0;
}
.v76-active-table thead th{
  color:#c94727;
  background:#fff;
  text-align:center;
  vertical-align:middle;
  font-weight:850;
  font-size:8px;
  border-bottom:1px dashed #9da9b1;
}
.v76-active-table td{
  vertical-align:middle;
  border-bottom:1px dashed #aab3ba;
  font-size:8.8px;
}
.v76-active-table tbody tr:last-child td{
  border-bottom:0;
}
.v76-active-table .v76-num,
.v76-active-table .v76-money{
  text-align:center;
  white-space:nowrap;
}
.v76-best-row td{
  background:#bcff68!important;
  color:#244225;
  font-weight:700;
}
.v76-best-badge{
  display:inline-flex;
  margin-top:4px;
  padding:2px 5px;
  border-radius:999px;
  background:#376b26;
  color:#fff;
  font-size:6.5px;
  font-weight:850;
  letter-spacing:.04em;
}
.v76-empty{
  padding:28px!important;
}

@media(max-width:1000px){
  .v76-summary{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:900px){
  .v76-summary{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .v76-active-campaign-panel{
    overflow:hidden;
  }
}
@media(max-width:480px){
  .v76-summary{
    grid-template-columns:1fr 1fr;
  }
}

/* =========================================================
   V77 — PENGGUNAAN BUDGET IKLAN
   ========================================================= */
.v77-budget-hero{border-top:3px solid #d23b1f}
.v77-budget-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}
.v77-budget-summary>div{padding:12px;border:1px solid #e0e7ed;border-radius:10px;background:#fafcfd}
.v77-budget-summary span{display:block;color:#7e8e9c;font-size:7px;font-weight:800;text-transform:uppercase}
.v77-budget-summary strong{display:block;margin-top:4px;color:#244f70;font-size:16px}
.v77-budget-table{min-width:1200px}
.v77-budget-table thead th{color:#c73a22;text-align:center;font-weight:850}
.v77-budget-table td{vertical-align:middle}
.v77-budget-table td:nth-child(n+2):nth-child(-n+6){text-align:center;white-space:nowrap}
.v77-subsidy{display:inline-block;margin-top:4px;color:#8a661e;font-size:7px;font-weight:750}
.v77-actions{display:flex;gap:5px;justify-content:center}
.v77-over td{background:#fff4f1}
.v77-negative{color:#bd3b2e!important;font-weight:850}
.v77-budget-form-card{margin:12px 0}
@media(max-width:900px){.v77-budget-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.v77-budget-summary{grid-template-columns:1fr}}

/* V79 — GROUP FILTERS */
.v72-global-filter select optgroup{color:#60788b;font-weight:800}.v72-global-filter select option{color:#294f6e;font-weight:600}


/* =========================================================
   V80 — ALL BUSINESS FILTER
   ========================================================= */
.v72-global-filter select optgroup[label="Gabungan Usaha"]{
  font-weight:900;
}
.v79-context-banner strong{
  font-weight:850;
}


/* =========================================================
   V81 — POSTING MIX
   ========================================================= */
.v81-posting-panel{margin-top:12px}
.v81-mix-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}
.v81-mix-card{position:relative;padding:13px;border:1px solid #e0e8ee;border-radius:11px;background:#fbfcfe;min-width:0}
.v81-mix-card>span{display:block;color:#788c9d;font-size:7.5px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}
.v81-mix-card>strong{display:block;margin:4px 0 2px;color:#204f72;font-size:23px;line-height:1}
.v81-mix-card>small{display:block;color:#7a8d9d;font-size:7.5px;min-height:18px}
.v81-mix-card>em{display:block;margin-top:4px;color:#627b8d;font-style:normal;font-size:7.5px;text-align:right}
.v81-mix-bar{height:5px;margin-top:9px;border-radius:999px;background:#e8edf1;overflow:hidden}
.v81-mix-bar i{display:block;height:100%;border-radius:999px;background:currentColor}
.v81-mix-card.photo{color:#436f9d}
.v81-mix-card.video{color:#7a5b9d}
.v81-mix-card.unknown{color:#9b7c49}
.v81-mix-card.total{border-color:#cfe0ec;background:#f5faff}
.v81-warning{display:flex;gap:9px;align-items:center;margin-top:10px;padding:9px 11px;border:1px solid #eadbb7;border-radius:9px;background:#fff9ec}
.v81-warning strong{color:#805f21;font-size:8.7px}.v81-warning span{color:#806f4d;font-size:8px}
.v81-latest{margin-top:12px;border-top:1px solid #e5ebf0;padding-top:10px}
.v81-latest-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.v81-latest-head strong{color:#315b79;font-size:9px}.v81-latest-head span{color:#8796a2;font-size:7px}
.v81-latest-row{display:grid;grid-template-columns:78px minmax(0,1fr);gap:8px;align-items:center;padding:7px 0;border-bottom:1px dashed #e0e7ec}.v81-latest-row:last-child{border-bottom:0}
.v81-latest-row div strong,.v81-latest-row div small{display:block}.v81-latest-row div strong{color:#2a5270;font-size:8.5px}.v81-latest-row div small{margin-top:2px;color:#82909c;font-size:7px}
.v81-kind{display:inline-flex;justify-content:center;padding:4px 6px;border-radius:999px;font-size:6.6px;font-weight:850}.v81-kind.photo{background:#eaf3fb;color:#376b94}.v81-kind.video{background:#f0eafa;color:#6a4d91}.v81-kind.unknown{background:#fff3d9;color:#8a682e}
@media(max-width:1000px){.v81-mix-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.v81-warning{align-items:flex-start;flex-direction:column}.v81-latest-row{grid-template-columns:72px minmax(0,1fr)}}
@media(max-width:480px){.v81-mix-grid{grid-template-columns:1fr 1fr}.v81-mix-card>strong{font-size:20px}}


/* =========================================================
   V82 — CONTENT CALENDAR + REMINDERS
   ========================================================= */
.v82-calendar-nav{position:relative}
.v82-nav-badge{
  margin-left:auto;min-width:18px;height:18px;padding:0 5px;border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;
  background:#e24d34;color:#fff;font-size:8px;font-weight:900
}
.v82-nav-badge.hidden{display:none!important}

.v82-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}
.v82-toolbar .field{margin:0;max-width:240px}
.v82-toolbar-actions{display:flex;gap:8px;flex-wrap:wrap}

.v82-summary{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0 0 12px
}
.v82-summary>div{
  background:#fff;border:1px solid #e3e9ef;border-radius:12px;padding:11px 12px;
  box-shadow:0 3px 12px rgba(34,73,105,.04)
}
.v82-summary span{display:block;color:#74899a;font-size:7px;font-weight:850;text-transform:uppercase}
.v82-summary strong{display:block;color:#244f70;font-size:18px;margin-top:3px}
.v82-summary small{display:block;color:#8a9aa7;font-size:7px;margin-top:2px}

.v82-calendar-card{overflow:hidden}
.v82-calendar-scroll{overflow-x:auto;padding-bottom:4px}
.v82-calendar{
  min-width:880px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));
  border-left:1px solid #e6ebef;border-top:1px solid #e6ebef
}
.v82-weekday{
  padding:8px;text-align:center;font-size:8px;font-weight:900;color:#6e8292;
  background:#f6f9fb;border-right:1px solid #e6ebef;border-bottom:1px solid #e6ebef
}
.v82-day{
  min-height:128px;padding:7px;background:#fff;border-right:1px solid #e6ebef;border-bottom:1px solid #e6ebef
}
.v82-day.today{background:#f3f9ff;box-shadow:inset 0 0 0 2px #72a9d2}
.v82-empty-day{background:#fafbfc}
.v82-day-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}
.v82-day-head button{
  border:0;background:transparent;color:#315b78;font-size:10px;font-weight:900;padding:2px 4px;border-radius:6px
}
.v82-day-head button:not(:disabled):hover{background:#eaf3fa;cursor:pointer}
.v82-day-head span{
  min-width:17px;height:17px;padding:0 4px;display:flex;align-items:center;justify-content:center;
  background:#edf3f7;color:#547086;border-radius:999px;font-size:7px;font-weight:850
}
.v82-day-events{display:flex;flex-direction:column;gap:4px}
.v82-event{
  width:100%;border:0;border-left:3px solid #7799b0;border-radius:6px;background:#f5f8fa;
  padding:5px;text-align:left;cursor:pointer;overflow:hidden
}
.v82-event.photo{border-left-color:#3184b5;background:#eef8fd}
.v82-event.video{border-left-color:#a46bb3;background:#faf3fc}
.v82-event span{font-size:6.5px;color:#80909b;font-weight:850}
.v82-event strong{display:block;font-size:7px;color:#264f6e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v82-event small{display:block;font-size:6px;color:#81909c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v82-more{border:0;background:transparent;color:#2871a1;text-align:left;font-size:7px;font-weight:800;cursor:pointer}

.v82-agenda{display:flex;flex-direction:column}
.v82-agenda-item{
  display:grid;grid-template-columns:48px 1fr;gap:10px;padding:10px 3px;
  border-bottom:1px solid #e7ecef;cursor:pointer
}
.v82-agenda-item:last-child{border-bottom:0}
.v82-agenda-date{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  border:1px solid #dce6ed;border-radius:9px;min-height:46px;background:#f8fbfd
}
.v82-agenda-date strong{font-size:15px;color:#285472;line-height:1}
.v82-agenda-date span{font-size:7px;color:#8496a3;text-transform:uppercase}
.v82-agenda-title{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.v82-agenda-title>strong{color:#264f6e;font-size:10px}
.v82-agenda-main p{margin:4px 0;color:#667c8c;font-size:8px}
.v82-agenda-main small{color:#8797a3;font-size:7px}

.v82-reminder-chip{
  display:inline-flex;padding:2px 6px;border-radius:999px;font-size:6.5px;font-weight:900;text-transform:uppercase
}
.v82-reminder-chip.overdue{background:#ffe9e5;color:#b93d2c}
.v82-reminder-chip.today{background:#fff0ce;color:#8d6500}
.v82-reminder-chip.tomorrow{background:#eaf4ff;color:#236c9d}
.v82-reminder-chip.upcoming{background:#eef5f1;color:#34705a}

.v82-form-card{margin-bottom:12px}
.v82-audience-box{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:10px 12px;margin:10px 0;
  border:1px solid #dfe8ee;border-radius:10px;background:#f8fbfd
}
.v82-audience-box>strong{font-size:8px;color:#42657c;margin-right:4px}
.v82-audience-box label{display:flex;align-items:center;gap:5px;font-size:8px;color:#536d7e}

.v82-detail-modal{width:min(760px,95vw)!important}
.v82-detail-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:10px 0
}
.v82-detail-grid>div{border:1px solid #e1e8ed;border-radius:9px;padding:8px;background:#fafcfd}
.v82-detail-grid span,.v82-detail-note span{display:block;font-size:6.5px;font-weight:900;color:#80919e;text-transform:uppercase}
.v82-detail-grid strong{display:block;margin-top:3px;color:#28506d;font-size:8.5px}
.v82-detail-note{padding:10px;margin-top:7px;border:1px solid #e1e8ed;border-radius:9px;background:#fff}
.v82-detail-note.important{background:#f3f9ff;border-color:#cfe2f0}
.v82-detail-note p{margin:4px 0 0;color:#506a7c;font-size:8.5px;white-space:pre-wrap}

.v82-dashboard-reminder{margin:0 0 12px}
.v82-reminder-box{
  border:1px solid #f0d4a4;border-left:4px solid #e6a73c;border-radius:12px;background:#fffaf0;padding:11px
}
.v82-reminder-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:7px}
.v82-reminder-head span{font-size:7px;color:#a56c15;font-weight:900}
.v82-reminder-head h3{margin:2px 0 0;color:#65470e;font-size:12px}
.v82-reminder-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.v82-reminder-list button{
  display:flex;align-items:flex-start;gap:7px;border:1px solid #efdfc2;border-radius:9px;background:#fff;
  padding:8px;text-align:left;cursor:pointer
}
.v82-reminder-list button strong{display:block;color:#425e70;font-size:8.5px}
.v82-reminder-list button small{display:block;color:#83919a;font-size:7px;margin-top:2px}
.v82-reminder-clean{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  border:1px solid #d7e9df;border-radius:11px;background:#f4fbf7;padding:9px 11px
}
.v82-reminder-clean>div{display:flex;align-items:center;gap:8px}
.v82-reminder-clean>div>span{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#dff2e7;color:#27704a}
.v82-reminder-clean strong,.v82-reminder-clean small{display:block}
.v82-reminder-clean strong{font-size:8.5px;color:#37654d}.v82-reminder-clean small{font-size:7px;color:#728a7c}

@media(max-width:950px){
  .v82-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
  .v82-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .v82-toolbar{align-items:stretch;flex-direction:column}
  .v82-toolbar .field{max-width:none}
  .v82-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v82-reminder-list{grid-template-columns:1fr}
  .v82-reminder-head{align-items:flex-start;flex-direction:column}
}
@media(max-width:480px){
  .v82-summary{grid-template-columns:1fr 1fr}
  .v82-detail-grid{grid-template-columns:1fr}
  .v82-audience-box{align-items:flex-start;flex-direction:column;gap:8px}
}


/* =========================================================
   V83 — DIRECTOR CALENDAR INPUT
   ========================================================= */
.v82-hero .badge.green{
  letter-spacing:.03em;
}


/* =========================================================
   V84 — CONTENT PLANNING FIX
   ========================================================= */
.v84-field-help{
  display:block;
  margin-top:4px;
  color:#8294a1;
  font-size:7px;
  line-height:1.4;
}
.v84-reference-box{
  margin-top:8px;
  padding:10px;
  border:1px solid #cfe1ee;
  border-radius:9px;
  background:#f4f9fd;
}
.v84-reference-box>span{
  display:block;
  margin-bottom:6px;
  color:#66839a;
  font-size:6.5px;
  font-weight:900;
  letter-spacing:.05em;
}
.v84-reference-box>div{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.v84-reference-box a{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:6px 9px;
  border-radius:7px;
  background:#fff;
  border:1px solid #cbdde9;
  color:#216895;
  text-decoration:none;
  font-size:8px;
  font-weight:800;
}
.v84-reference-box a:hover{background:#eaf5fc}

.v84-budget-notice{
  display:flex;
  flex-direction:column;
  gap:3px;
  margin:0 0 12px;
  padding:10px 12px;
  border-radius:10px;
}
.v84-budget-notice strong{font-size:9px}
.v84-budget-notice span{font-size:7.5px;line-height:1.5}
.v84-budget-notice.transition{
  background:#fff8e8;
  border:1px solid #ecd89e;
  color:#765816;
}
.v84-budget-notice.active{
  background:#eff9f4;
  border:1px solid #c9e6d6;
  color:#285f47;
}
.v84-budget-summary{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
}
.v84-budget-table{
  min-width:1280px;
}
@media(max-width:1000px){
  .v84-budget-summary{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:600px){
  .v84-budget-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}


/* =========================================================
   V85 — ADMIN REPORTING UX
   ========================================================= */
.v85-closing-help{
  display:block;margin-top:4px;color:#748b9a;font-size:7px
}

.v85-admin-filter{
  display:flex;justify-content:space-between;align-items:flex-end;gap:10px;
  padding:11px;margin-bottom:11px;border:1px solid #dde7ed;border-radius:11px;background:#f8fbfd
}
.v85-admin-filter>div{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}
.v85-admin-filter .field{margin:0;min-width:175px}

.v85-admin-summary{
  margin-bottom:12px;padding:12px;border:1px solid #dce7ed;border-radius:12px;background:#fff
}
.v85-admin-summary-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}
.v85-admin-summary-head span{
  color:#5f8198;font-size:7px;font-weight:900;letter-spacing:.04em
}
.v85-admin-summary-head h3{margin:2px 0 0;color:#244f70;font-size:13px}
.v85-admin-summary-head p{margin:3px 0 0;color:#738695;font-size:7.5px}

.v85-total-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:8px
}
.v85-total-grid>div,.v85-channel-card{
  border:1px solid #e0e8ed;border-radius:10px;padding:10px;background:#fafcfd
}
.v85-total-grid span,.v85-channel-card span{
  display:block;color:#748b9a;font-size:6.8px;font-weight:850;text-transform:uppercase
}
.v85-total-grid strong{
  display:block;margin-top:3px;color:#244f70;font-size:16px
}
.v85-total-grid small,.v85-channel-card small{
  display:block;margin-top:2px;color:#8797a3;font-size:6.8px
}

.v85-channel-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px
}
.v85-channel-card strong{
  display:block;margin-top:3px;color:#355b73;font-size:11px
}
.v85-channel-card.whatsapp{border-left:3px solid #4b9f72}
.v85-channel-card.instagram{border-left:3px solid #9b67a9}
.v85-channel-card.facebook{border-left:3px solid #537ba9}
.v85-channel-card.tiktok{border-left:3px solid #4b5963}
.v85-channel-card.lainnya{border-left:3px solid #9a8a62}

.v85-history-count{
  display:flex;justify-content:space-between;align-items:center;gap:8px;
  margin:4px 0 8px;padding:0 2px
}
.v85-history-count strong{color:#345a73;font-size:8.5px}
.v85-history-count span{color:#8796a0;font-size:7px}

.v85-period-groups{display:flex;flex-direction:column;gap:12px}
.v85-period-group{
  border:1px solid #dfe7ec;border-radius:12px;background:#fff;overflow:hidden
}
.v85-period-head{
  display:flex;justify-content:space-between;align-items:center;gap:10px;
  padding:10px 12px;background:#f5f9fb;border-bottom:1px solid #e2e9ee
}
.v85-period-head>div>span{
  display:block;color:#8294a0;font-size:6.5px;font-weight:900
}
.v85-period-head h3{margin:2px 0 0;color:#28516e;font-size:11px;text-transform:capitalize}
.v85-period-totals{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.v85-period-totals span{
  padding:3px 7px;border-radius:999px;background:#fff;border:1px solid #dbe4e9;
  color:#577386;font-size:6.8px;font-weight:800
}

.v85-report-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:9px
}
.v85-admin-report-card{
  border:1px solid #e0e7ec;border-radius:10px;padding:10px;background:#fff;min-width:0
}
.v85-admin-report-card.duplicate{border-color:#e9b9b3;background:#fffafa}
.v85-card-head{
  display:flex;justify-content:space-between;align-items:flex-start;gap:8px;
  padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid #edf1f4
}
.v85-card-head>div:first-child>span{
  display:block;color:#7e919e;font-size:6.5px;font-weight:850
}
.v85-card-head h4{
  margin:2px 0;color:#28516e;font-size:10px;overflow-wrap:anywhere
}
.v85-card-head small{display:block;color:#8797a2;font-size:6.8px}
.v85-card-status{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}

.v85-card-metrics{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px
}
.v85-card-metrics>div{
  padding:7px;border-radius:8px;background:#f8fafc;min-width:0
}
.v85-card-metrics span{
  display:block;color:#81929d;font-size:6px;font-weight:850;text-transform:uppercase
}
.v85-card-metrics strong{
  display:block;margin-top:2px;color:#34576f;font-size:8px;overflow-wrap:anywhere
}
.v85-card-metrics small{
  display:block;margin-top:2px;color:#909da5;font-size:5.8px
}
.v85-card-note{
  margin-top:7px;padding:7px;border-radius:8px;background:#fff9ed;border:1px solid #efe1bb
}
.v85-card-note span{
  display:block;color:#8b7139;font-size:6px;font-weight:900;text-transform:uppercase
}
.v85-card-note p{margin:3px 0 0;color:#6f6042;font-size:7px;white-space:pre-wrap;overflow-wrap:anywhere}
.v85-card-actions{
  display:flex;justify-content:flex-end;gap:6px;margin-top:8px;padding-top:8px;border-top:1px solid #edf1f4
}

.v85-dashboard-leads{margin:0 0 12px}
.v85-dashboard-leads .v85-admin-summary{box-shadow:0 4px 15px rgba(36,79,112,.05)}

@media(max-width:1050px){
  .v85-total-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v85-channel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v85-card-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:800px){
  .v85-report-grid{grid-template-columns:1fr}
  .v85-admin-filter{align-items:stretch;flex-direction:column}
  .v85-admin-filter>div{align-items:stretch}
  .v85-admin-filter .field{min-width:0;flex:1 1 150px}
}
@media(max-width:520px){
  .v85-total-grid{grid-template-columns:1fr 1fr}
  .v85-channel-grid{grid-template-columns:1fr 1fr}
  .v85-period-head{align-items:flex-start;flex-direction:column}
  .v85-period-totals{justify-content:flex-start}
  .v85-card-head{flex-direction:column}
  .v85-card-status{justify-content:flex-start}
  .v85-card-metrics{grid-template-columns:1fr 1fr}
  .v85-card-actions .btn{flex:1}
}


/* =========================================================
   V86 — DATA FILTER CENTER
   ========================================================= */
.v86-filter-card{
  margin:0 0 10px;
  padding:11px;
  border:1px solid #d8e5ec;
  border-radius:12px;
  background:#f8fbfd;
}
.v86-filter-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-bottom:9px;
}
.v86-filter-head span{
  display:block;
  color:#728a9a;
  font-size:6.5px;
  font-weight:900;
  letter-spacing:.06em;
}
.v86-filter-head h3{
  margin:2px 0 0;
  color:#28516e;
  font-size:11px;
}
.v86-filter-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:7px;
}
.v86-filter-grid .field{margin:0;min-width:0}
.v86-filter-grid .field span{
  display:block;
  margin-bottom:4px;
  color:#708798;
  font-size:6.5px;
  font-weight:850;
}
.v86-filter-grid input,
.v86-filter-grid select{
  width:100%;
  min-width:0;
}
.v86-result-info{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
  margin:0 0 8px;
  padding:0 2px;
}
.v86-result-info strong{
  color:#355d77;
  font-size:8px;
}
.v86-result-info span{
  color:#8797a2;
  font-size:7px;
}

@media(max-width:1100px){
  .v86-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .v86-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v86-filter-head{align-items:flex-start;flex-direction:column}
}
@media(max-width:480px){
  .v86-filter-grid{grid-template-columns:1fr}
  .v86-result-info{align-items:flex-start;flex-direction:column}
}


/* =========================================================
   V87 — EDITOR EXPERIMENT + POST MONITOR
   ========================================================= */
.v87-submit-status{
  margin:0 0 10px;
  padding:8px 10px;
  border-radius:9px;
  font-size:8px;
  font-weight:750;
}
.v87-submit-status.hidden{display:none}
.v87-submit-status.success{display:block;background:#eef9f3;border:1px solid #cce7d8;color:#2f6b50}
.v87-submit-status.error{display:block;background:#fff0ee;border:1px solid #efc8c3;color:#a84436}
.v87-submit-status.info{display:block;background:#eef6fb;border:1px solid #cfe0ea;color:#35627d}

.v87-history-confirm{
  display:flex;
  justify-content:space-between;
  gap:8px;
  padding:9px 10px;
  margin-bottom:8px;
  border-radius:9px;
  background:#f3f9fd;
  border:1px solid #d4e6f0;
}
.v87-history-confirm strong{color:#305e79;font-size:8px}
.v87-history-confirm span{color:#758b99;font-size:7px;text-align:right}

.v87-experiment-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.v87-experiment-card{
  border:1px solid #e0e8ed;
  border-radius:11px;
  background:#fff;
  padding:10px;
  min-width:0;
}
.v87-experiment-card-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:8px;
  padding-bottom:8px;
  border-bottom:1px solid #edf1f3;
}
.v87-experiment-card-head span:first-child{
  display:block;
  color:#7e919e;
  font-size:6.5px;
  font-weight:850;
}
.v87-experiment-card-head h4{
  margin:2px 0;
  color:#28516e;
  font-size:10px;
  overflow-wrap:anywhere;
}
.v87-experiment-card-head small{
  display:block;
  color:#8898a3;
  font-size:6.8px;
}
.v87-experiment-detail{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  margin-top:8px;
}
.v87-experiment-detail>div{
  padding:7px;
  border-radius:8px;
  background:#f8fafc;
  min-width:0;
}
.v87-experiment-detail .wide{grid-column:1/-1}
.v87-experiment-detail span{
  display:block;
  color:#82949f;
  font-size:6px;
  font-weight:850;
  text-transform:uppercase;
}
.v87-experiment-detail p{
  margin:3px 0 0;
  color:#4f697a;
  font-size:7.5px;
  overflow-wrap:anywhere;
}
.v87-experiment-detail a{color:#276c98}
.v87-experiment-actions{
  display:flex;
  justify-content:flex-end;
  gap:6px;
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid #edf1f3;
}
.v87-editor-history-panel{margin-top:12px}

/* Posted content monitor */
.v87-monitor-info{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin:0 0 10px;
  padding:9px 11px;
  border:1px solid #dce7ed;
  border-radius:10px;
  background:#f8fbfd;
}
.v87-monitor-info span,
.v87-monitor-info strong,
.v87-monitor-info small{display:block}
.v87-monitor-info span{color:#7f929f;font-size:6.5px;font-weight:900}
.v87-monitor-info strong{color:#315a75;font-size:9px;margin-top:2px}
.v87-monitor-info small{color:#8596a1;font-size:7px;margin-top:2px}

.v87-post-filter{
  display:grid;
  grid-template-columns:2fr 1fr 1fr auto;
  align-items:end;
  gap:7px;
  padding:10px;
  margin-bottom:9px;
  border:1px solid #dce7ed;
  border-radius:11px;
  background:#f8fbfd;
}
.v87-post-filter .field{margin:0}

.v87-post-summary{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
  margin-bottom:10px;
}
.v87-post-summary>div{
  border:1px solid #dfe8ed;
  border-radius:10px;
  background:#fff;
  padding:10px;
}
.v87-post-summary span{
  display:block;
  color:#7b8f9c;
  font-size:6.5px;
  font-weight:850;
  text-transform:uppercase;
}
.v87-post-summary strong{
  display:block;
  color:#28516d;
  font-size:17px;
  margin-top:3px;
}
.v87-post-summary small{
  display:block;
  color:#8a99a3;
  font-size:6.5px;
  margin-top:2px;
}

.v87-post-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}
.v87-post-card{
  border:1px solid #dfe7ec;
  border-radius:11px;
  background:#fff;
  padding:10px;
  min-width:0;
}
.v87-post-card-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:8px;
  padding-bottom:8px;
  border-bottom:1px solid #edf1f3;
}
.v87-post-card-head>div>span{
  display:block;
  color:#7e919e;
  font-size:6.5px;
  font-weight:850;
}
.v87-post-card-head h4{
  margin:2px 0;
  color:#28516e;
  font-size:10px;
  overflow-wrap:anywhere;
}
.v87-post-card-head small{
  display:block;
  color:#8798a3;
  font-size:6.8px;
}
.v87-post-card-metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:5px;
  margin-top:8px;
}
.v87-post-card-metrics>div{
  padding:7px;
  border-radius:8px;
  background:#f8fafc;
  min-width:0;
}
.v87-post-card-metrics span{
  display:block;
  color:#82949f;
  font-size:5.8px;
  font-weight:850;
  text-transform:uppercase;
}
.v87-post-card-metrics strong{
  display:block;
  margin-top:2px;
  color:#456278;
  font-size:7.5px;
  overflow-wrap:anywhere;
}
.v87-post-note{
  margin-top:7px;
  padding:7px;
  border:1px solid #e9dfc6;
  border-radius:8px;
  background:#fffaf0;
}
.v87-post-note span{
  display:block;
  color:#8a733e;
  font-size:6px;
  font-weight:900;
  text-transform:uppercase;
}
.v87-post-note p{
  margin:3px 0 0;
  color:#6f6245;
  font-size:7px;
}
.v87-post-card-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid #edf1f3;
}

@media(max-width:950px){
  .v87-post-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
  .v87-post-filter{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .v87-experiment-list,
  .v87-post-grid{grid-template-columns:1fr}
  .v87-history-confirm{flex-direction:column}
  .v87-history-confirm span{text-align:left}
}
@media(max-width:560px){
  .v87-post-summary{grid-template-columns:1fr 1fr}
  .v87-post-filter{grid-template-columns:1fr}
  .v87-post-card-metrics{grid-template-columns:1fr 1fr}
  .v87-monitor-info{align-items:flex-start;flex-direction:column}
  .v87-experiment-actions .btn{flex:1}
}


/* =========================================================
   V88 — MASTER FILTER SYNC
   ========================================================= */
.v88-master-strip{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin:0 0 10px;
  padding:8px 11px;
  border:1px solid #cfe0eb;
  border-left:4px solid #397aa4;
  border-radius:10px;
  background:#f4f9fc;
}
.v88-master-strip span,
.v88-master-strip strong,
.v88-master-strip small{display:block}
.v88-master-strip span{
  color:#7690a0;
  font-size:6px;
  font-weight:900;
  letter-spacing:.06em;
}
.v88-master-strip strong{
  margin-top:2px;
  color:#285873;
  font-size:9px;
}
.v88-master-strip small{
  color:#788e9c;
  font-size:7px;
  text-align:right;
}

.v88-master-context{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin:-2px -2px 9px;
  padding:8px 9px;
  border-radius:9px;
  background:#eaf4fa;
  border:1px solid #cfe1ec;
}
.v88-master-context span,
.v88-master-context strong{display:block}
.v88-master-context span{
  color:#718b9b;
  font-size:6px;
  font-weight:900;
  letter-spacing:.06em;
}
.v88-master-context strong{
  margin-top:2px;
  color:#275875;
  font-size:8.5px;
}
.v88-master-context small{
  max-width:48%;
  color:#748b99;
  font-size:6.8px;
  line-height:1.4;
  text-align:right;
}

.v88-filter-card .v86-filter-grid{
  grid-template-columns:repeat(5,minmax(0,1fr));
}

.v88-calendar-master-period{
  min-width:220px;
  padding:7px 9px;
  border-radius:9px;
  background:#f4f9fc;
  border:1px solid #d6e5ee;
}
.v88-calendar-master-period span,
.v88-calendar-master-period strong,
.v88-calendar-master-period small{display:block}
.v88-calendar-master-period span{
  color:#778f9e;
  font-size:6px;
  font-weight:900;
}
.v88-calendar-master-period strong{
  margin-top:2px;
  color:#285873;
  font-size:9px;
}
.v88-calendar-master-period small{
  margin-top:2px;
  color:#81939f;
  font-size:6.5px;
}

@media(max-width:900px){
  .v88-filter-card .v86-filter-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:650px){
  .v88-master-strip,
  .v88-master-context{
    align-items:flex-start;
    flex-direction:column;
  }
  .v88-master-strip small,
  .v88-master-context small{
    max-width:none;
    text-align:left;
  }
  .v88-filter-card .v86-filter-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:450px){
  .v88-filter-card .v86-filter-grid{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   V89 — KLINIK 7 UNIT
   ========================================================= */
.v89-clinic-hint{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:6px;
  padding:6px 9px;
  border:1px solid #d5e5ee;
  border-radius:8px;
  background:#f5fafc;
}
.v89-clinic-hint span{
  color:#6f8a9a;
  font-size:6px;
  font-weight:900;
  letter-spacing:.05em;
}
.v89-clinic-hint strong{
  color:#335d76;
  font-size:6.8px;
  font-weight:800;
}
@media(max-width:650px){
  .v89-clinic-hint{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* =========================================================
   V90 — MANAGER + SPV MASTER FILTER
   ========================================================= */
#v72GlobalFilterHost{
  position:relative;
}
.v90-filter-role-tag{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:5px;
  margin-bottom:3px;
  padding:0 2px;
}
.v90-filter-role-tag span{
  color:#78909f;
  font-size:6px;
  font-weight:900;
  letter-spacing:.05em;
}
.v90-filter-role-tag strong{
  color:#2c6486;
  font-size:6.5px;
  font-weight:900;
}
.v90-legacy-period-hidden{
  display:none!important;
}

.v90-leadership-scope{
  display:grid;
  grid-template-columns:auto auto 1fr;
  align-items:center;
  gap:12px;
  margin:0 0 10px;
  padding:8px 11px;
  border:1px solid #cfe0eb;
  border-left:4px solid #397aa4;
  border-radius:10px;
  background:#f4f9fc;
}
.v90-leadership-scope>div span,
.v90-leadership-scope>div strong{
  display:block;
}
.v90-leadership-scope>div span{
  color:#77909f;
  font-size:6px;
  font-weight:900;
  letter-spacing:.05em;
}
.v90-leadership-scope>div strong{
  margin-top:2px;
  color:#285873;
  font-size:8.5px;
}
.v90-leadership-scope>small{
  justify-self:end;
  color:#78909d;
  font-size:6.8px;
  text-align:right;
}

.v90-operational-panel{
  margin-bottom:10px;
}
.v90-operational-card{
  margin:0;
}
.v90-operational-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}

/* Make the shared Master Filter visually identical for Director, Manager, SPV. */
body.v72-leadership #v72GlobalFilterHost{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
body.v72-leadership #v72GlobalFilterHost .v72-global-filter{
  display:flex;
}

@media(max-width:1000px){
  .v90-operational-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:900px){
  body.v72-leadership #v72GlobalFilterHost .v72-global-filter{
    display:grid;
  }
}
@media(max-width:650px){
  .v90-leadership-scope{
    grid-template-columns:1fr 1fr;
  }
  .v90-leadership-scope>small{
    grid-column:1/-1;
    justify-self:start;
    text-align:left;
  }
}
@media(max-width:480px){
  .v90-operational-grid,
  .v90-leadership-scope{
    grid-template-columns:1fr;
  }
  .v90-leadership-scope>small{
    grid-column:auto;
  }
}


/* =========================================================
   V91 — DAILY REPORT SCOPE FILTER
   ========================================================= */
.v91-daily-scope-section{margin-top:12px}
.v91-daily-filter{
  margin-bottom:10px;
  padding:11px;
  border:1px solid #d8e5ec;
  border-radius:12px;
  background:#f8fbfd;
}
.v91-master-daily-context{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:9px;
  padding:8px 9px;
  border:1px solid #cfe1ec;
  border-radius:9px;
  background:#eaf4fa;
}
.v91-master-daily-context span,
.v91-master-daily-context strong{display:block}
.v91-master-daily-context span{
  color:#718b9b;
  font-size:6px;
  font-weight:900;
  letter-spacing:.06em;
}
.v91-master-daily-context strong{
  margin-top:2px;
  color:#275875;
  font-size:8.5px;
}
.v91-master-daily-context small{
  max-width:48%;
  color:#748b99;
  font-size:6.8px;
  text-align:right;
}

.v91-daily-filter-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr auto;
  align-items:end;
  gap:7px;
}
.v91-daily-filter-grid .field{margin:0}

.v91-daily-summary{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:7px;
  margin-bottom:9px;
}
.v91-daily-summary>div{
  padding:9px;
  border:1px solid #dfe8ed;
  border-radius:9px;
  background:#fff;
}
.v91-daily-summary span{
  display:block;
  color:#7b8f9c;
  font-size:6px;
  font-weight:850;
  text-transform:uppercase;
}
.v91-daily-summary strong{
  display:block;
  margin-top:2px;
  color:#28516d;
  font-size:15px;
}
.v91-daily-summary small{
  display:block;
  margin-top:2px;
  color:#8a99a3;
  font-size:6px;
}

.v91-daily-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.v91-daily-card{
  min-width:0;
  padding:10px;
  border:1px solid #dfe7ec;
  border-radius:11px;
  background:#fff;
}
.v91-daily-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
  padding-bottom:8px;
  border-bottom:1px solid #edf1f3;
}
.v91-daily-card-head>div>span{
  display:block;
  color:#7e919e;
  font-size:6.5px;
  font-weight:850;
}
.v91-daily-card-head h4{
  margin:2px 0;
  color:#28516e;
  font-size:10px;
  overflow-wrap:anywhere;
}
.v91-daily-card-head small{
  display:block;
  color:#8798a3;
  font-size:6.8px;
}
.v91-daily-meta{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:5px;
  margin-top:8px;
}
.v91-daily-meta>div{
  min-width:0;
  padding:7px;
  border-radius:8px;
  background:#f8fafc;
}
.v91-daily-meta span{
  display:block;
  color:#82949f;
  font-size:5.8px;
  font-weight:850;
  text-transform:uppercase;
}
.v91-daily-meta strong{
  display:block;
  margin-top:2px;
  color:#456278;
  font-size:7.5px;
  overflow-wrap:anywhere;
}
.v91-daily-card-actions{
  display:flex;
  justify-content:flex-end;
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid #edf1f3;
}
.v91-daily-detail{margin-top:10px}

.v91-inline-scope{
  display:flex;
  justify-content:space-between;
  gap:8px;
  margin-bottom:7px;
  padding:7px 9px;
  border-radius:8px;
  background:#f3f8fb;
  border:1px solid #d8e5ed;
}
.v91-inline-scope strong{color:#315c77;font-size:8px}
.v91-inline-scope span{color:#80929e;font-size:7px}

.v91-verification-scope{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:9px;
  padding:8px 9px;
  border:1px solid #d2e4ee;
  border-radius:9px;
  background:#f3f9fc;
}
.v91-verification-scope span{
  color:#6e8797;
  font-size:6px;
  font-weight:900;
}
.v91-verification-scope strong{
  color:#2e5c77;
  font-size:8px;
}
.v91-verification-scope small{
  margin-left:auto;
  color:#7d909c;
  font-size:6.5px;
}

@media(max-width:1050px){
  .v91-daily-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v91-daily-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .v91-daily-grid{grid-template-columns:1fr}
  .v91-master-daily-context{align-items:flex-start;flex-direction:column}
  .v91-master-daily-context small{max-width:none;text-align:left}
  .v91-verification-scope{align-items:flex-start;flex-direction:column}
  .v91-verification-scope small{margin-left:0}
}
@media(max-width:520px){
  .v91-daily-filter-grid{grid-template-columns:1fr}
  .v91-daily-summary{grid-template-columns:1fr 1fr}
  .v91-daily-meta{grid-template-columns:1fr}
}


/* =========================================================
   V92 — TEAM FILTERS
   ========================================================= */
.v92-team-banner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin:0 0 10px;
  padding:8px 11px;
  border:1px solid #d4e5ee;
  border-left:4px solid #4b86aa;
  border-radius:10px;
  background:#f5fafc;
}
.v92-team-banner span,
.v92-team-banner strong{display:block}
.v92-team-banner span{
  color:#76909f;
  font-size:6px;
  font-weight:900;
  letter-spacing:.05em;
}
.v92-team-banner strong{
  margin-top:2px;
  color:#2e5e7a;
  font-size:8.5px;
}
.v92-team-banner small{
  max-width:46%;
  color:#7b909d;
  font-size:6.8px;
  text-align:right;
}

.v92-team-filter{
  margin:0 0 10px;
  padding:11px;
  border:1px solid #d8e5ec;
  border-radius:12px;
  background:#f8fbfd;
}
.v92-team-filter-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-bottom:9px;
}
.v92-team-filter-head span,
.v92-team-filter-head h3,
.v92-team-filter-head small{display:block}
.v92-team-filter-head span{
  color:#748d9c;
  font-size:6px;
  font-weight:900;
  letter-spacing:.06em;
}
.v92-team-filter-head h3{
  margin:2px 0 0;
  color:#285873;
  font-size:11px;
}
.v92-team-filter-head small{
  margin-top:2px;
  color:#82939f;
  font-size:6.8px;
}
.v92-team-filter-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
}
.v92-team-filter-grid .field{margin:0}

.v92-team-summary{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:7px;
  margin-bottom:9px;
}
.v92-team-summary>div{
  padding:9px;
  border:1px solid #dfe8ed;
  border-radius:9px;
  background:#fff;
}
.v92-team-summary span{
  display:block;
  color:#7c8f9b;
  font-size:6px;
  font-weight:850;
  text-transform:uppercase;
}
.v92-team-summary strong{
  display:block;
  margin-top:2px;
  color:#28516d;
  font-size:15px;
}
.v92-team-summary small{
  display:block;
  margin-top:2px;
  color:#8b99a3;
  font-size:6px;
}

.v92-team-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.v92-team-card{
  min-width:0;
  padding:10px;
  border:1px solid #dfe7ec;
  border-radius:11px;
  background:#fff;
}
.v92-team-card-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:8px;
  padding-bottom:8px;
  border-bottom:1px solid #edf1f3;
}
.v92-team-card-head>div>span{
  display:block;
  color:#7e919e;
  font-size:6.5px;
  font-weight:850;
}
.v92-team-card-head h4{
  margin:2px 0;
  color:#28516e;
  font-size:10px;
  overflow-wrap:anywhere;
}
.v92-team-card-head small{
  display:block;
  color:#8798a3;
  font-size:6.8px;
}
.v92-team-card-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:5px;
  margin-top:8px;
}
.v92-team-card-grid>div{
  min-width:0;
  padding:7px;
  border-radius:8px;
  background:#f8fafc;
}
.v92-team-card-grid span{
  display:block;
  color:#82949f;
  font-size:5.8px;
  font-weight:850;
  text-transform:uppercase;
}
.v92-team-card-grid strong{
  display:block;
  margin-top:2px;
  color:#456278;
  font-size:7.5px;
  overflow-wrap:anywhere;
}
.v92-team-card-actions{
  display:flex;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:6px;
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid #edf1f3;
}

/* Admin's V85 cards remain responsive inside V92 grid. */
.v92-team-grid .v85-admin-report-card{min-width:0}

@media(max-width:1050px){
  .v92-team-filter-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .v92-team-summary{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:760px){
  .v92-team-grid{
    grid-template-columns:1fr;
  }
  .v92-team-filter-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .v92-team-banner,
  .v92-team-filter-head{
    align-items:flex-start;
    flex-direction:column;
  }
  .v92-team-banner small{
    max-width:none;
    text-align:left;
  }
}
@media(max-width:520px){
  .v92-team-filter-grid,
  .v92-team-summary{
    grid-template-columns:1fr 1fr;
  }
  .v92-team-card-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:420px){
  .v92-team-filter-grid{
    grid-template-columns:1fr;
  }
  .v92-team-card-grid{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   V93 — DIRECTOR ANALYSIS & STRATEGY
   ========================================================= */
.v93-strategy-hero{
  align-items:center;
}
.v93-hero-actions{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.v93-health-strip{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:8px;
  margin-bottom:9px;
}
.v93-health-strip>div{
  padding:11px;
  border:1px solid #dce7ed;
  border-radius:11px;
  background:#fff;
}
.v93-health-strip span{
  display:block;
  color:#778d9b;
  font-size:6px;
  font-weight:900;
  letter-spacing:.05em;
}
.v93-health-strip strong{
  display:block;
  margin-top:3px;
  color:#285670;
  font-size:18px;
}
.v93-health-strip small{
  display:block;
  margin-top:2px;
  color:#8797a2;
  font-size:6.5px;
}

.v93-metric-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-bottom:9px;
}
.v93-metric{
  min-width:0;
  padding:10px;
  border:1px solid #dfe8ed;
  border-radius:10px;
  background:#fff;
}
.v93-metric span{
  display:block;
  color:#7b8f9c;
  font-size:6px;
  font-weight:900;
  text-transform:uppercase;
}
.v93-metric strong{
  display:block;
  margin-top:3px;
  color:#28516d;
  font-size:14px;
  overflow-wrap:anywhere;
}
.v93-metric small{
  display:block;
  margin-top:2px;
  color:#8796a0;
  font-size:6.5px;
}

.v93-mix-card{
  margin-bottom:11px;
}
.v93-mix-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
}
.v93-mix-grid>div{
  padding:9px;
  border-radius:9px;
  background:#f8fafc;
}
.v93-mix-grid span{
  display:block;
  color:#7f929f;
  font-size:6px;
  font-weight:850;
}
.v93-mix-grid strong{
  display:block;
  margin-top:2px;
  color:#315b75;
  font-size:13px;
}
.v93-mix-grid small{
  display:block;
  margin-top:2px;
  color:#8a99a3;
  font-size:6.2px;
}

.v93-section-heading{
  margin:14px 0 8px;
  padding:0 2px;
}
.v93-section-heading span{
  display:block;
  color:#718a9a;
  font-size:6px;
  font-weight:900;
  letter-spacing:.07em;
}
.v93-section-heading h2{
  margin:2px 0;
  color:#234e69;
  font-size:15px;
}
.v93-section-heading p{
  margin:0;
  color:#81939f;
  font-size:7px;
}

.v93-insight-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  margin-bottom:11px;
}
.v93-insight-card{
  min-width:0;
  padding:11px;
  border:1px solid #dfe7ec;
  border-left:4px solid #6e8798;
  border-radius:11px;
  background:#fff;
}
.v93-insight-card.priority-high,
.v93-insight-card.priority-critical{
  border-left-color:#b85c4c;
}
.v93-insight-card.priority-medium{
  border-left-color:#b58a37;
}
.v93-insight-card.priority-low{
  border-left-color:#478468;
}
.v93-insight-card.priority-info{
  border-left-color:#4e82a1;
}
.v93-insight-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:8px;
  padding-bottom:8px;
  border-bottom:1px solid #edf1f3;
}
.v93-area{
  display:block;
  color:#718998;
  font-size:6px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.v93-insight-top h3{
  margin:3px 0 0;
  color:#28516e;
  font-size:10px;
  line-height:1.35;
}
.v93-insight-finding,
.v93-insight-action{
  margin-top:8px;
  padding:8px;
  border-radius:8px;
}
.v93-insight-finding{
  background:#f7fafc;
}
.v93-insight-action{
  background:#eff7f3;
  border:1px solid #d6e8dd;
}
.v93-insight-finding span,
.v93-insight-action span{
  display:block;
  color:#728897;
  font-size:5.8px;
  font-weight:900;
  letter-spacing:.05em;
}
.v93-insight-finding p,
.v93-insight-action p{
  margin:3px 0 0;
  color:#506a7a;
  font-size:7.3px;
  line-height:1.5;
}
.v93-insight-action p{
  color:#3f6854;
}
.v93-insight-footer{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid #edf1f3;
}
.v93-insight-footer span{
  display:block;
  color:#83939e;
  font-size:5.8px;
  font-weight:850;
}
.v93-insight-footer strong{
  display:block;
  margin-top:2px;
  color:#425f72;
  font-size:7px;
}

.v93-bank-card{
  margin-bottom:10px;
}
.v93-bank-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.v93-bank-grid article{
  min-width:0;
  padding:10px;
  border:1px solid #e0e8ed;
  border-radius:10px;
  background:#fafcfd;
}
.v93-bank-grid article>span{
  display:block;
  color:#84949e;
  font-size:6px;
  font-weight:850;
  text-transform:uppercase;
}
.v93-bank-grid h4{
  margin:3px 0 7px;
  color:#315a74;
  font-size:9.5px;
}
.v93-bank-grid ul{
  margin:0;
  padding-left:15px;
  color:#586f7d;
  font-size:7px;
  line-height:1.55;
}
.v93-bank-grid li+li{
  margin-top:3px;
}

.v93-method-note{
  border-style:dashed;
}
.v93-method-note strong{
  display:block;
  color:#47687b;
  font-size:8px;
}
.v93-method-note p{
  margin:4px 0 0;
  color:#718693;
  font-size:7px;
  line-height:1.5;
}

@media(max-width:1050px){
  .v93-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v93-mix-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:800px){
  .v93-insight-list,
  .v93-bank-grid{
    grid-template-columns:1fr;
  }
  .v93-health-strip{
    grid-template-columns:1fr 1fr 1fr;
  }
}
@media(max-width:600px){
  .v93-strategy-hero{
    align-items:flex-start;
  }
  .v93-hero-actions{
    justify-content:flex-start;
    width:100%;
  }
  .v93-health-strip{
    grid-template-columns:1fr;
  }
  .v93-metric-grid,
  .v93-mix-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:420px){
  .v93-metric-grid,
  .v93-mix-grid{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   V94 — DEEP ANALYSIS & STRATEGY ENGINE
   ========================================================= */
.v94-hero{align-items:center}
.v94-executive{margin-bottom:10px}
.v94-diagnosis-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px
}
.v94-diagnosis-grid article{
  min-width:0;padding:10px;border:1px solid #dde7ed;border-left:4px solid #64849a;border-radius:10px;background:#fff
}
.v94-diagnosis-grid article.tone-red{border-left-color:#b95b4a}
.v94-diagnosis-grid article.tone-amber{border-left-color:#b68a36}
.v94-diagnosis-grid article.tone-green{border-left-color:#4c876a}
.v94-diagnosis-grid article.tone-blue{border-left-color:#477f9f}
.v94-diagnosis-grid h4{margin:0 0 7px;color:#284f69;font-size:10px;line-height:1.35}
.v94-diagnosis-grid article>div{margin-top:6px;padding:7px;border-radius:8px;background:#f8fafc}
.v94-diagnosis-grid span{display:block;color:#82939f;font-size:5.8px;font-weight:900;letter-spacing:.05em}
.v94-diagnosis-grid p{margin:3px 0 0;color:#536d7d;font-size:7.2px;line-height:1.5}

.v94-funnel-grid{
  display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px
}
.v94-funnel-grid>div{padding:9px;border-radius:9px;background:#f8fafc;min-width:0}
.v94-funnel-grid span{display:block;color:#7b8f9c;font-size:5.8px;font-weight:850;text-transform:uppercase}
.v94-funnel-grid strong{display:block;margin-top:2px;color:#28516d;font-size:12px;overflow-wrap:anywhere}
.v94-funnel-grid b{display:block;margin-top:2px;font-size:6.3px}
.v94-funnel-grid b.up{color:#3f8063}.v94-funnel-grid b.down{color:#b15a49}.v94-funnel-grid b.neutral{color:#8798a3}
.v94-funnel-grid small{display:block;margin-top:3px;color:#8b98a2;font-size:5.8px}

.v94-content-intel{margin-top:10px}
.v94-content-flags{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:8px
}
.v94-content-flags>div{padding:9px;border:1px solid #dfe8ed;border-radius:9px;background:#fafcfd;min-width:0}
.v94-content-flags span{display:block;color:#7b909d;font-size:5.8px;font-weight:900}
.v94-content-flags strong{display:block;margin-top:2px;color:#2c5873;font-size:8.3px;overflow-wrap:anywhere}
.v94-content-flags small{display:block;margin-top:2px;color:#8998a2;font-size:6px}
.v94-content-table{min-width:1050px}

.v94-two-col{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:9px
}
.v94-mini-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.v94-mini-list>div{padding:8px;border-radius:8px;background:#f8fafc;min-width:0}
.v94-mini-list strong,.v94-mini-list span,.v94-mini-list b,.v94-mini-list small{display:block}
.v94-mini-list strong{color:#315c76;font-size:8px}
.v94-mini-list span{margin-top:2px;color:#82929d;font-size:6px}
.v94-mini-list b{margin-top:3px;color:#4b687a;font-size:7px}
.v94-mini-list small{margin-top:2px;color:#8b99a2;font-size:6px}

.v94-meta-table{min-width:1200px}
.v94-ops-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px
}
.v94-ops-grid>div,.v94-pipeline>div,.v94-budget-box>div{
  padding:8px;border-radius:8px;background:#f8fafc;min-width:0
}
.v94-ops-grid span,.v94-pipeline span,.v94-budget-box span{
  display:block;color:#7f919d;font-size:5.8px;font-weight:850;text-transform:uppercase
}
.v94-ops-grid strong,.v94-pipeline strong,.v94-budget-box strong{
  display:block;margin-top:2px;color:#315a74;font-size:10px;overflow-wrap:anywhere
}
.v94-cause-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:7px}
.v94-cause-list>div{display:flex;justify-content:space-between;gap:8px;padding:6px 8px;border-radius:7px;background:#fafcfd;border:1px solid #e4ebef}
.v94-cause-list span{color:#728895;font-size:6.5px}.v94-cause-list strong{color:#315b75;font-size:7.5px}

.v94-compare{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.v94-compare>div{padding:9px;border-radius:8px;background:#f8fafc}
.v94-compare span,.v94-compare strong,.v94-compare small{display:block}
.v94-compare span{color:#7d919e;font-size:6px;font-weight:850}
.v94-compare strong{margin-top:3px;color:#2f5872;font-size:9px}
.v94-compare small{margin-top:2px;color:#84949e;font-size:6.3px}

.v94-pipeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.v94-pipeline small{display:block;margin-top:3px;color:#8898a2;font-size:6px;line-height:1.4}

.v94-budget-box{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}

.v94-section-title{margin:15px 2px 8px}
.v94-section-title span{display:block;color:#6f8999;font-size:6px;font-weight:900;letter-spacing:.06em}
.v94-section-title h2{margin:2px 0;color:#244e68;font-size:15px}
.v94-section-title p{margin:0;color:#7f929f;font-size:7px}

.v94-rec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.v94-rec{
  min-width:0;padding:11px;border:1px solid #dfe7ec;border-left:4px solid #6d8798;border-radius:11px;background:#fff
}
.v94-rec.priority-critical,.v94-rec.priority-high{border-left-color:#b95c4c}
.v94-rec.priority-medium{border-left-color:#b38a3e}
.v94-rec.priority-low{border-left-color:#4c866a}
.v94-rec-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;padding-bottom:8px;border-bottom:1px solid #edf1f3}
.v94-rec-head>div>span{display:block;color:#81919c;font-size:5.8px;font-weight:900}
.v94-rec-head h3{margin:3px 0 0;color:#28516e;font-size:10px;line-height:1.35}
.v94-evidence,.v94-action{margin-top:8px;padding:8px;border-radius:8px}
.v94-evidence{background:#f8fafc}.v94-action{background:#eff7f3;border:1px solid #d7e9df}
.v94-evidence span,.v94-action span{display:block;color:#718896;font-size:5.8px;font-weight:900;letter-spacing:.05em}
.v94-evidence p,.v94-action p{margin:3px 0 0;color:#506b7b;font-size:7.2px;line-height:1.5}
.v94-action p{color:#3f6854}
.v94-rec-meta{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:6px;margin-top:8px;padding-top:8px;border-top:1px solid #edf1f3}
.v94-rec-meta span{display:block;color:#83949f;font-size:5.6px;font-weight:850}
.v94-rec-meta strong{display:block;margin-top:2px;color:#425f72;font-size:6.7px;line-height:1.4}

.v94-plan-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.v94-plan-grid>div{padding:9px;border-radius:9px;background:#f8fafc}
.v94-plan-grid span{display:block;color:#718999;font-size:6px;font-weight:900;letter-spacing:.05em}
.v94-plan-grid p{margin:5px 0 0;color:#536f7f;font-size:6.8px;line-height:1.45}

.v94-quality{margin-top:10px}
.v94-quality-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.v94-quality-grid>div{padding:8px;border-radius:8px;background:#f8fafc;min-width:0}
.v94-quality-grid span{display:block;color:#7d919d;font-size:5.7px;font-weight:850}
.v94-quality-grid strong{display:block;margin-top:2px;color:#2f5973;font-size:11px}
.v94-quality-grid small{display:block;margin-top:2px;color:#8a99a2;font-size:5.8px}
.v94-quality-note{margin-top:8px;padding:8px;border-radius:8px;background:#fff9ee;border:1px solid #ecdfbd;color:#6f6247;font-size:6.8px;line-height:1.45}

.v94-method{margin-top:10px;border-style:dashed}
.v94-method strong{display:block;color:#47687b;font-size:8px}
.v94-method p{margin:4px 0 0;color:#718693;font-size:7px;line-height:1.5}

@media(max-width:1150px){
  .v94-funnel-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .v94-quality-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:900px){
  .v94-diagnosis-grid,.v94-rec-grid,.v94-two-col{grid-template-columns:1fr}
  .v94-content-flags{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v94-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v94-quality-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:650px){
  .v94-funnel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v94-ops-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v94-pipeline{grid-template-columns:1fr}
  .v94-quality-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v94-rec-meta{grid-template-columns:1fr}
}
@media(max-width:460px){
  .v94-content-flags,.v94-plan-grid,.v94-quality-grid,.v94-budget-box,.v94-compare{grid-template-columns:1fr}
}


/* =========================================================
   V95 — EXECUTIVE TYPOGRAPHY SYSTEM
   Goal: readable, premium, dense enough for executive use.
   ========================================================= */

:root{
  --v95-font-xs:clamp(11px,0.68vw,12px);
  --v95-font-sm:clamp(12px,0.74vw,13px);
  --v95-font-md:clamp(13px,0.82vw,14px);
  --v95-font-lg:clamp(15px,0.95vw,17px);
  --v95-font-xl:clamp(20px,1.45vw,26px);
  --v95-kpi:clamp(22px,1.8vw,30px);
  --v95-line:1.48;
}

/* ---------- GLOBAL BASE ---------- */
html,body{
  font-size:14px;
}
body,
button,
input,
select,
textarea{
  font-size:var(--v95-font-sm);
  line-height:var(--v95-line);
}

/* ---------- SIDEBAR / NAV ---------- */
.nav-item,
.nav-text{
  font-size:var(--v95-font-sm)!important;
}
.nav-item{
  min-height:42px;
}
.nav-icon{
  font-size:clamp(14px,0.9vw,17px)!important;
}

/* ---------- TOPBAR / PAGE TITLE ---------- */
#pageTitle,
.page-title,
.topbar h1,
.topbar h2{
  font-size:var(--v95-font-lg)!important;
}
.breadcrumb,
#breadcrumbPage,
.topbar small,
.topbar span{
  font-size:var(--v95-font-xs);
}

/* ---------- HERO ---------- */
.hero-copy h1,
.hero-copy h2,
.v21-page-heading h2,
.v21-page-heading h1{
  font-size:var(--v95-font-xl)!important;
  line-height:1.22!important;
}
.hero-copy p,
.v21-page-heading p{
  font-size:var(--v95-font-md)!important;
  line-height:1.55!important;
}
.eyebrow,
.eyebrow.light,
.v21-page-heading span{
  font-size:var(--v95-font-xs)!important;
  letter-spacing:.06em;
}

/* ---------- CARDS / HEADINGS ---------- */
.card-head h2,
.card-head h3,
.card h2,
.card h3,
.section-head h3,
.section-head h2{
  font-size:var(--v95-font-lg)!important;
  line-height:1.3!important;
}
.card-head span,
.card-head p,
.section-head p,
.card>p,
.card small{
  font-size:var(--v95-font-xs);
}
.card{
  line-height:var(--v95-line);
}

/* ---------- KPI / METRIC CARDS ---------- */
.metric-card strong,
.metric-card .value,
.kpi-card strong,
.kpi-value,
.stat-card strong,
.v93-metric strong,
.v94-funnel-grid strong,
.v94-content-flags strong,
.v94-quality-grid strong,
.v94-ops-grid strong,
.v94-pipeline strong,
.v94-budget-box strong{
  font-size:var(--v95-kpi)!important;
  line-height:1.12!important;
}
.metric-card span,
.metric-card small,
.kpi-card span,
.kpi-card small,
.stat-card span,
.stat-card small,
.v93-metric span,
.v93-metric small,
.v94-funnel-grid span,
.v94-funnel-grid small,
.v94-content-flags span,
.v94-content-flags small,
.v94-quality-grid span,
.v94-quality-grid small,
.v94-ops-grid span,
.v94-pipeline span,
.v94-budget-box span{
  font-size:var(--v95-font-xs)!important;
}

/* ---------- FORM / FILTER ---------- */
.field>span,
.field label,
label.field>span,
.v86-filter-head span,
.v92-team-filter-head span,
.v91-master-daily-context span,
.v88-master-context span,
.v90-filter-role-tag span{
  font-size:var(--v95-font-xs)!important;
}
.field input,
.field select,
.field textarea,
input,
select,
textarea{
  font-size:var(--v95-font-sm)!important;
  min-height:40px;
}
textarea{
  line-height:1.5;
}
.btn,
button.btn{
  font-size:var(--v95-font-sm)!important;
  min-height:40px;
  padding:9px 13px;
}
.badge,
.v21-chip{
  font-size:var(--v95-font-xs)!important;
  line-height:1.2;
}

/* ---------- TABLES ---------- */
.table{
  font-size:var(--v95-font-sm)!important;
}
.table th{
  font-size:var(--v95-font-xs)!important;
  line-height:1.35;
}
.table td{
  font-size:var(--v95-font-sm)!important;
  line-height:1.45;
  padding-top:10px!important;
  padding-bottom:10px!important;
}
.table .muted,
.table small{
  font-size:var(--v95-font-xs)!important;
}

/* ---------- MASTER FILTER / SCOPE ---------- */
.v88-master-strip span,
.v88-master-strip small,
.v88-master-context span,
.v88-master-context small,
.v90-leadership-scope span,
.v90-leadership-scope small,
.v91-master-daily-context span,
.v91-master-daily-context small,
.v92-team-banner span,
.v92-team-banner small{
  font-size:var(--v95-font-xs)!important;
}
.v88-master-strip strong,
.v88-master-context strong,
.v90-leadership-scope strong,
.v91-master-daily-context strong,
.v92-team-banner strong{
  font-size:var(--v95-font-md)!important;
  line-height:1.4!important;
}

/* ---------- DAILY / TEAM CARDS ---------- */
.v91-daily-card-head>div>span,
.v91-daily-card-head small,
.v91-daily-meta span,
.v91-verification-scope span,
.v91-verification-scope small,
.v92-team-card-head>div>span,
.v92-team-card-head small,
.v92-team-card-grid span,
.v92-team-filter-head small{
  font-size:var(--v95-font-xs)!important;
}
.v91-daily-card-head h4,
.v92-team-card-head h4,
.v92-team-filter-head h3{
  font-size:var(--v95-font-lg)!important;
}
.v91-daily-meta strong,
.v92-team-card-grid strong{
  font-size:var(--v95-font-sm)!important;
}
.v91-daily-summary span,
.v91-daily-summary small,
.v92-team-summary span,
.v92-team-summary small{
  font-size:var(--v95-font-xs)!important;
}
.v91-daily-summary strong,
.v92-team-summary strong{
  font-size:clamp(20px,1.35vw,24px)!important;
}

/* ---------- V94 DEEP ANALYSIS: MAIN PRIORITY ---------- */
.v94-diagnosis-grid h4{
  font-size:clamp(15px,1vw,17px)!important;
  line-height:1.35!important;
}
.v94-diagnosis-grid span,
.v94-section-title span,
.v94-rec-head>div>span,
.v94-evidence span,
.v94-action span,
.v94-rec-meta span,
.v94-plan-grid span,
.v94-quality-note,
.v94-method p{
  font-size:var(--v95-font-xs)!important;
}
.v94-diagnosis-grid p,
.v94-evidence p,
.v94-action p{
  font-size:var(--v95-font-md)!important;
  line-height:1.6!important;
}
.v94-section-title h2{
  font-size:clamp(19px,1.3vw,23px)!important;
}
.v94-section-title p{
  font-size:var(--v95-font-sm)!important;
}
.v94-rec-head h3{
  font-size:clamp(15px,1vw,17px)!important;
  line-height:1.4!important;
}
.v94-rec-meta strong{
  font-size:var(--v95-font-sm)!important;
  line-height:1.45!important;
}
.v94-plan-grid p{
  font-size:var(--v95-font-sm)!important;
  line-height:1.5!important;
}
.v94-method strong{
  font-size:var(--v95-font-md)!important;
}
.v94-quality-note{
  line-height:1.5!important;
}

/* Pattern / mini-list */
.v94-mini-list strong{
  font-size:var(--v95-font-md)!important;
}
.v94-mini-list span,
.v94-mini-list small{
  font-size:var(--v95-font-xs)!important;
}
.v94-mini-list b{
  font-size:var(--v95-font-sm)!important;
}

/* ---------- V93 LEGACY STRATEGY BLOCKS STILL USED ---------- */
.v93-insight-top h3,
.v93-bank-grid h4{
  font-size:var(--v95-font-lg)!important;
}
.v93-area,
.v93-insight-finding span,
.v93-insight-action span,
.v93-insight-footer span,
.v93-bank-grid article>span{
  font-size:var(--v95-font-xs)!important;
}
.v93-insight-finding p,
.v93-insight-action p,
.v93-bank-grid ul{
  font-size:var(--v95-font-sm)!important;
  line-height:1.55!important;
}
.v93-insight-footer strong{
  font-size:var(--v95-font-sm)!important;
}

/* ---------- CONTENT CALENDAR / CAMPAIGN / ADS ---------- */
.v82-toolbar,
.v82-toolbar .field,
.v21-campaign-list,
.v60-meta-table,
.v77-budget-table{
  font-size:var(--v95-font-sm);
}
.v82-calendar-day,
.v82-agenda,
.v82-reminder,
.v84-field-help{
  font-size:var(--v95-font-xs)!important;
}

/* ---------- RESPONSIVE ---------- */
@media(max-width:900px){
  :root{
    --v95-font-xs:11.5px;
    --v95-font-sm:12.5px;
    --v95-font-md:13.5px;
    --v95-font-lg:16px;
    --v95-font-xl:22px;
    --v95-kpi:24px;
  }
  .card{
    padding:12px;
  }
}

@media(max-width:650px){
  :root{
    --v95-font-xs:11.5px;
    --v95-font-sm:13px;
    --v95-font-md:14px;
    --v95-font-lg:16px;
    --v95-font-xl:22px;
    --v95-kpi:24px;
  }

  .hero-copy p,
  .v21-page-heading p{
    font-size:14px!important;
  }

  .field input,
  .field select,
  .field textarea,
  input,
  select,
  textarea,
  .btn,
  button.btn{
    min-height:44px;
  }

  .table td{
    font-size:13px!important;
  }

  .v94-diagnosis-grid p,
  .v94-evidence p,
  .v94-action p{
    font-size:14px!important;
  }

  .v94-rec-head h3,
  .v94-diagnosis-grid h4{
    font-size:16px!important;
  }
}

/* Guardrail: prevent old 5–9 px legacy CSS from making text unreadable */
.page [style*="font-size:5px"],
.page [style*="font-size:6px"],
.page [style*="font-size:7px"],
.page [style*="font-size:8px"],
.page [style*="font-size:9px"]{
  font-size:var(--v95-font-xs)!important;
}


/* =========================================================
   V96 — LIVE PERIOD + POSTING SYNC
   ========================================================= */
.v96-sync-note{
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  margin-bottom:8px;
  border:1px solid #d5e6ef;
  border-radius:9px;
  background:#f4fafc;
  font-size:var(--v95-font-xs,12px);
}


/* V97 — Content Posting single-source sync */
.v97-post-click{cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.v97-post-click:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(15,34,64,.10)}
.v97-post-click:active{transform:translateY(0)}
.v97-sync-guard{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 16px;padding:12px 14px;border:1px solid #dbe4ef;border-radius:14px;background:#f8fafc}
.v97-sync-guard>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.v97-sync-guard strong{font-size:14px;color:#18324f}
.v97-sync-guard span{font-size:12px;color:#64748b;line-height:1.45}
.v97-sync-guard.ok{background:#f0fdf7;border-color:#b7ebd2}
.v97-sync-guard.ok strong{color:#08794f}
.v97-sync-guard.warn{background:#fff7ed;border-color:#fed7aa}
.v97-sync-guard.warn strong{color:#b45309}
@media(max-width:720px){.v97-sync-guard{align-items:flex-start;flex-direction:column}.v97-sync-guard .btn{width:100%}}

/* V99 — Admin CS Digital Funnel Sync */
.v99-digital-sync-banner{display:flex;align-items:center;gap:14px;margin:14px 0 18px;padding:14px 16px;border:1px solid #b7dfca;border-radius:14px;background:#f3fbf7;box-shadow:0 6px 18px rgba(16,80,54,.05)}
.v99-digital-sync-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;background:#137a50;color:#fff;font-size:18px;font-weight:800}
.v99-digital-sync-copy{min-width:0;flex:1}.v99-digital-sync-copy span{display:block;color:#137a50;font-size:10px;letter-spacing:.09em;font-weight:800;margin-bottom:3px}.v99-digital-sync-copy strong{display:block;color:#123b2b;font-size:14px;line-height:1.4}.v99-digital-sync-copy small{display:block;color:#5b756a;font-size:11px;line-height:1.5;margin-top:3px}
.v99-digital-sync-total{text-align:right;white-space:nowrap;padding-left:12px;border-left:1px solid #cfe8da}.v99-digital-sync-total span{display:block;color:#64786f;font-size:10px;font-weight:700}.v99-digital-sync-total strong{display:block;color:#123b2b;font-size:17px;margin-top:2px}
.v99-spv-snapshot-note{margin:10px 0 12px;padding:10px 12px;border:1px solid #d7e5f4;border-radius:10px;background:#f7fbff;color:#4c6378;font-size:11px;line-height:1.5}.v99-spv-snapshot-note strong{color:#173f66}
@media(max-width:760px){.v99-digital-sync-banner{align-items:flex-start;flex-wrap:wrap}.v99-digital-sync-total{width:100%;text-align:left;border-left:0;border-top:1px solid #cfe8da;padding:9px 0 0 48px;white-space:normal}}

/* V100 — KPI Recap 60/40 */
.v100-hero{align-items:center}.v100-hero-formula{min-width:170px;padding:20px 22px;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:rgba(255,255,255,.09);text-align:center;color:#fff;backdrop-filter:blur(8px)}
.v100-hero-formula small{display:block;font-size:10px;letter-spacing:.13em;font-weight:800;opacity:.72}.v100-hero-formula strong{display:block;font-size:36px;line-height:1;margin:8px 0 6px}.v100-hero-formula span{font-size:11px;opacity:.8}
.v100-filter-card{margin-top:16px}.v100-formula-card{display:flex;align-items:center;justify-content:space-between;gap:24px;border-color:#d7e4f2;background:linear-gradient(135deg,#f8fbff,#fff)}
.v100-formula-card>div{display:flex;flex-direction:column;gap:4px}.v100-formula-card span{font-size:10px;font-weight:800;letter-spacing:.1em;color:#55708c}.v100-formula-card strong{font-size:17px;color:#163a60}.v100-formula-card p{margin:0;max-width:590px;color:#66788b;font-size:12px;line-height:1.55;text-align:right}
.v100-table-card{overflow:hidden}.v100-recap-table th{white-space:nowrap}.v100-recap-table td{vertical-align:middle}.v100-recap-table tbody tr:hover{background:#f8fbff}
.v100-total{display:inline-flex;min-width:66px;height:40px;align-items:center;justify-content:center;border-radius:12px;font-size:17px;font-weight:800;border:1px solid transparent}.v100-total.green{background:#ecfdf3;color:#067647;border-color:#abefc6}.v100-total.blue{background:#eff8ff;color:#175cd3;border-color:#b2ddff}.v100-total.amber{background:#fffaeb;color:#b54708;border-color:#fedf89}.v100-total.red{background:#fef3f2;color:#b42318;border-color:#fecdca}.v100-total.gray{background:#f2f4f7;color:#667085;border-color:#e4e7ec}
.v100-status{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.03em;white-space:nowrap}.v100-status.green{background:#ecfdf3;color:#067647}.v100-status.blue{background:#eff8ff;color:#175cd3}.v100-status.amber{background:#fffaeb;color:#b54708}.v100-status.red{background:#fef3f2;color:#b42318}.v100-status.gray{background:#f2f4f7;color:#667085}.v100-missing{color:#98a2b3;font-weight:700}
@media(max-width:900px){.v100-formula-card{align-items:flex-start;flex-direction:column}.v100-formula-card p{text-align:left}.v100-hero-formula{min-width:140px}}
@media(max-width:720px){.v100-hero-formula{width:100%;margin-top:12px}.v100-summary-grid{grid-template-columns:1fr 1fr}.v100-table-card .card-head{align-items:flex-start;gap:10px;flex-direction:column}.v100-table-card .card-head .btn{width:100%}}


/* =========================================================
   V101 — CLEAN & EASY UI
   Purpose: easier scanning, clearer hierarchy, more comfortable
   spacing, mobile-friendly forms and executive tables.
   ========================================================= */
:root{
  --v101-control-h:46px;
  --v101-content-gap:18px;
  --v101-card-radius:16px;
  --v101-soft:#f7f9fc;
  --v101-hover:#f5f8fc;
  --v101-focus:0 0 0 4px rgba(20,87,200,.10);
}

/* Overall rhythm */
#appView .main-shell{padding:0 26px 42px}
#appView .page.active{animation:v101Fade .16s ease-out}
@keyframes v101Fade{from{opacity:.6;transform:translateY(2px)}to{opacity:1;transform:none}}
#appView .card,#appView .form-card,#appView .metric-card,#appView .business-card{
  border-color:#e6ebf2;
  border-radius:var(--v101-card-radius);
  box-shadow:0 5px 18px rgba(7,31,63,.035);
}
#appView .card,#appView .form-card{padding:18px}
#appView .section-head{margin-top:28px;margin-bottom:13px}
#appView .section-head h2,#appView .section-head h3{font-weight:800;letter-spacing:-.018em}

/* Sidebar: quieter groups, faster scanning */
#appView .sidebar{width:auto;padding:16px 13px 15px}
#appView .sidebar-brand{padding:4px 6px 15px}
#appView .sidebar-logo-wrap{padding:8px 10px;margin-bottom:9px;border-radius:12px}
#appView .nav-menu{padding-top:8px;gap:2px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.16) transparent}
#appView .nav-label{padding:17px 10px 6px;font-size:9.5px!important;color:#7f9bbb;font-weight:850;letter-spacing:.14em}
#appView .nav-label:first-child{padding-top:10px}
#appView .nav-item{min-height:43px;padding:10px 11px;border-radius:10px;gap:10px;font-weight:650;line-height:1.25}
#appView .nav-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#appView .nav-icon{flex:0 0 25px;width:25px;height:25px;background:rgba(255,255,255,.035)}
#appView .nav-item.active .nav-icon{background:rgba(255,255,255,.11)}
#appView .v29-build-badge{margin:9px 4px 2px;padding:7px 10px;border-radius:9px;font-size:9.5px;letter-spacing:.045em;text-align:center;background:rgba(255,255,255,.045);color:#9fb6d1;border:1px solid rgba(255,255,255,.055)}

/* Topbar: clear page title + compact controls */
#appView .topbar{min-height:82px;margin-bottom:20px;gap:14px;border-bottom-color:#e6ebf2;background:rgba(248,250,253,.94)}
#appView .topbar h1{font-size:clamp(20px,1.4vw,25px)!important;font-weight:820;letter-spacing:-.025em}
#appView .breadcrumb{font-size:11.5px!important;margin-bottom:3px}
#appView .topbar-actions{gap:8px;flex-wrap:wrap;justify-content:flex-end}
#appView .month-control{min-height:44px;border-radius:11px;background:#fff;box-shadow:0 2px 8px rgba(7,31,63,.025)}
#appView .top-refresh{min-height:44px}

/* Controls: comfortable touch targets, cleaner labels */
#appView .field{gap:7px;font-size:12.5px!important;font-weight:720;color:#344054}
#appView .field input,#appView .field select,#appView .field textarea,#appView input,#appView select,#appView textarea{
  min-height:var(--v101-control-h);
  border-radius:10px;
  border-color:#d8dee8;
  background:#fff;
}
#appView .field textarea,#appView textarea{min-height:104px}
#appView .field input:focus,#appView .field select:focus,#appView .field textarea:focus,#appView input:focus,#appView select:focus,#appView textarea:focus{
  border-color:#7aa7e8!important;box-shadow:var(--v101-focus)!important;outline:none
}
#appView .btn{min-height:42px;border-radius:10px;padding:10px 14px;font-weight:760}
#appView .form-actions{margin-top:16px;gap:10px;align-items:center;flex-wrap:wrap}
#appView .form-actions .meta{line-height:1.5}

/* Dashboard cards */
#appView .metric-grid{gap:14px}
#appView .metric-card{padding:17px 18px;min-height:118px;display:flex;flex-direction:column;justify-content:space-between}
#appView .metric-card .label{font-size:11.5px!important;line-height:1.35}
#appView .metric-card strong,#appView .metric-card .value{letter-spacing:-.035em}
#appView .hero-panel{border-radius:20px;padding:24px 26px;box-shadow:0 14px 38px rgba(7,31,63,.10)}
#appView .hero-copy p{max-width:780px}

/* Tables: easier scanning */
#appView .table-wrap{border-radius:12px;border-color:#e1e7ef;background:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
#appView .table{border-collapse:separate;border-spacing:0}
#appView .table th{padding:11px 13px;background:#f5f7fa;color:#526071;font-size:10.5px!important;font-weight:850;letter-spacing:.045em;border-bottom:1px solid #dfe5ed}
#appView .table td{padding:12px 13px;font-size:12.5px!important;line-height:1.45;border-bottom:1px solid #edf0f4}
#appView .table tbody tr:nth-child(even){background:#fcfdff}
#appView .table tbody tr:hover{background:#f4f8fd}
#appView .table tbody tr:last-child td{border-bottom:0}

/* Notices / badges */
#appView .notice.soft,#appView .pending-banner,#appView .v97-sync-guard,#appView .v99-digital-sync-banner{border-radius:12px}
#appView .badge,#appView .v100-status{font-weight:800}

/* V100 recap becomes a cleaner management summary */
#appView .v100-hero{grid-template-columns:minmax(0,1fr) 190px;gap:18px}
#appView .v100-hero-formula{min-width:0;width:190px;padding:18px;border-radius:15px}
#appView .v100-hero-formula strong{font-size:32px}
#appView .v100-filter-card{padding:16px 18px}
#appView .v100-filter-card .form-grid{grid-template-columns:minmax(150px,.7fr) minmax(190px,.9fr) minmax(240px,1.4fr);gap:12px}
#appView .v100-summary-grid{gap:12px;margin-top:16px}
#appView .v100-formula-card{padding:15px 18px;gap:18px;border-radius:14px}
#appView .v100-formula-card strong{font-size:16px}
#appView .v100-table-card{padding:0;overflow:hidden}
#appView .v100-table-card .card-head{padding:17px 18px 13px;margin:0;border-bottom:1px solid #edf0f4}
#appView .v100-table-card .table-wrap{border:0;border-radius:0}
#appView .v100-recap-table th:first-child,#appView .v100-recap-table td:first-child{position:sticky;left:0;z-index:2;background:inherit;box-shadow:1px 0 0 #edf0f4}
#appView .v100-recap-table th:first-child{z-index:4;background:#f5f7fa}
#appView .v100-recap-table td:first-child{min-width:210px}
#appView .v100-total{min-width:62px;height:38px;border-radius:10px}

/* Empty states */
#appView .empty{padding:30px 20px;color:#667085;line-height:1.6;text-align:center}
#appView .empty strong{display:block;color:#344054;margin-bottom:4px}

/* Better tablet/mobile behavior */
@media(max-width:1100px){
  #appView .top-user-card{display:none}
  #appView .v100-filter-card .form-grid{grid-template-columns:1fr 1fr}
  #appView .v100-filter-card .field:last-child{grid-column:1/-1}
}
@media(max-width:900px){
  #appView .main-shell{padding:0 16px 30px}
  #appView .topbar{padding:10px 0;min-height:72px}
  #appView .metric-card{min-height:108px}
  #appView .card,#appView .form-card{padding:15px}
  #appView .v100-hero{grid-template-columns:1fr}
  #appView .v100-hero-formula{width:100%;display:grid;grid-template-columns:auto auto auto;align-items:center;text-align:left;gap:10px}
  #appView .v100-hero-formula small,#appView .v100-hero-formula strong,#appView .v100-hero-formula span{margin:0}
}
@media(max-width:650px){
  #appView .main-shell{padding:0 11px 22px}
  #appView .topbar{padding:11px 0 12px;gap:9px;margin-bottom:14px}
  #appView .topbar-actions{width:100%;display:grid;grid-template-columns:1fr auto;align-items:stretch}
  #appView .topbar-actions #v72GlobalFilterHost{grid-column:1/-1}
  #appView .month-control{min-width:0;width:100%}
  #appView .top-refresh{width:46px;padding:0;font-size:0}
  #appView .top-refresh::before{content:'↻';font-size:18px}
  #appView .hero-panel{padding:19px 17px;border-radius:17px}
  #appView .hero-copy h2{font-size:22px!important}
  #appView .hero-copy p{font-size:13.5px!important}
  #appView .card,#appView .form-card{padding:14px;border-radius:14px}
  #appView .metric-grid,#appView .layout-4,#appView .v100-summary-grid{grid-template-columns:1fr 1fr!important;gap:10px}
  #appView .metric-card{padding:14px;min-height:105px;border-radius:13px}
  #appView .metric-card strong,#appView .metric-card .value{font-size:23px!important}
  #appView .v100-filter-card .form-grid{grid-template-columns:1fr}
  #appView .v100-filter-card .field:last-child{grid-column:auto}
  #appView .v100-filter-card .form-actions{display:grid;grid-template-columns:1fr}
  #appView .v100-filter-card .form-actions .btn{width:100%}
  #appView .v100-formula-card{padding:14px;gap:8px}
  #appView .v100-formula-card p{font-size:11.5px!important}
  #appView .table-wrap{margin:0 -1px}
  #appView .table th,#appView .table td{padding:10px 11px}
}
@media(max-width:390px){
  #appView .metric-grid,#appView .layout-4,#appView .v100-summary-grid{grid-template-columns:1fr!important}
}

/* Accessibility */
#appView button:focus-visible,#appView a:focus-visible{outline:3px solid rgba(110,162,255,.45);outline-offset:2px}
@media(prefers-reduced-motion:reduce){#appView .page.active{animation:none}#appView *{scroll-behavior:auto!important}}

/* =========================================================
   V102 — Deep Decision + Promo Engine
   ========================================================= */
.v102-hero{background:linear-gradient(120deg,#173c55 0%,#245d78 56%,#347b78 100%)}
.v102-stage-banner{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:10px;margin:10px 0 12px}
.v102-stage-banner>div{padding:14px 16px;border:1px solid #dce7ed;border-radius:14px;background:#fff;box-shadow:0 7px 22px rgba(31,73,98,.055)}
.v102-stage-banner span{display:block;font-size:10px;font-weight:900;letter-spacing:.055em;color:#7d919d}
.v102-stage-banner strong{display:block;margin-top:5px;font-size:18px;line-height:1.15;color:#234f6a}
.v102-stage-banner small{display:block;margin-top:5px;font-size:11px;line-height:1.5;color:#778c99}
.v102-stage-banner .tone-green{color:#2d7757}.v102-stage-banner .tone-amber{color:#986d28}.v102-stage-banner .tone-gray{color:#6c7b84}
.v102-decision-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}
.v102-decision-card{padding:16px;border:1px solid #dce6eb;border-radius:15px;background:#fff;box-shadow:0 7px 24px rgba(30,70,94,.05)}
.v102-decision-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.v102-decision-top span{font-size:10px;font-weight:900;color:#47728a;letter-spacing:.05em}.v102-decision-top b{font-size:10px;color:#80919b;font-weight:800}
.v102-decision-card h3{margin:7px 0 10px;font-size:17px;line-height:1.3;color:#244e68}
.v102-evidence,.v102-do,.v102-dont{padding:10px 11px;border-radius:10px;margin-top:8px}
.v102-evidence{background:#f7fafc}.v102-do{background:#edf7f1;border:1px solid #d7eadf}.v102-dont{background:#fff7f2;border:1px solid #f0dfd3}
.v102-evidence span,.v102-do span,.v102-dont span,.v102-guardrail span,.v102-stop span,.v102-promo-main span{display:block;font-size:9px;font-weight:900;letter-spacing:.05em;color:#758b98}
.v102-evidence p,.v102-do p,.v102-dont p,.v102-guardrail p,.v102-stop p,.v102-promo-main p{margin:4px 0 0;font-size:12px;line-height:1.55;color:#4b6778}
.v102-do p{color:#3c6951}.v102-dont p{color:#7a5d4d}
.v102-decision-card footer{display:flex;justify-content:space-between;gap:10px;margin-top:10px;padding-top:9px;border-top:1px solid #edf1f3}.v102-decision-card footer span{font-size:9px;color:#84949e}.v102-decision-card footer strong{font-size:11px;color:#3f6175}
.v102-promo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.v102-promo-card{position:relative;padding:17px;border:1px solid #d8e5e8;border-radius:16px;background:linear-gradient(180deg,#fff 0%,#fbfdfd 100%);box-shadow:0 10px 30px rgba(29,75,98,.06);overflow:hidden}
.v102-promo-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(#2b728a,#4a987d)}
.v102-promo-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.v102-promo-head span{display:block;font-size:9px;font-weight:900;color:#668594;letter-spacing:.05em}.v102-promo-head h3{margin:5px 0 0;font-size:18px;line-height:1.25;color:#214d68}.v102-copy-btn{white-space:nowrap}
.v102-reason{margin:10px 0;padding:9px 10px;border-radius:10px;background:#f4f8fa;color:#5b7382;font-size:11px;line-height:1.5}
.v102-promo-main{margin-top:8px;padding:10px 11px;border-radius:10px;background:#f9fbfc;border:1px solid #e7eef1}
.v102-promo-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:9px}.v102-promo-meta>div{padding:9px;border-radius:9px;background:#f7fafb}.v102-promo-meta span{display:block;font-size:9px;font-weight:850;color:#81939e}.v102-promo-meta strong{display:block;margin-top:3px;font-size:11px;line-height:1.35;color:#3d6074}
.v102-guardrail{margin-top:9px;padding:10px 11px;border-radius:10px;background:#fff9ed;border:1px solid #eee0b9}.v102-guardrail p{color:#705f3e}
.v102-stop{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}.v102-stop>div{padding:9px 10px;border-radius:9px;background:#f8fafb}.v102-stop p{font-size:10.5px}
.v102-promo-note{margin:10px 0 14px;padding:11px 13px;border-radius:11px;background:#f4f8fa;border:1px solid #dee9ee;color:#667d8b;font-size:11px;line-height:1.5}
.v102-sprint{margin-top:12px}.v102-sprint-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.v102-sprint-grid>div{position:relative;padding:12px;border-radius:11px;background:#f7fafb;min-width:0}.v102-sprint-grid b{display:flex;width:24px;height:24px;align-items:center;justify-content:center;border-radius:50%;background:#2e617c;color:#fff;font-size:11px}.v102-sprint-grid span{display:block;margin-top:8px;font-size:9px;font-weight:900;color:#7d909b}.v102-sprint-grid strong{display:block;margin-top:3px;font-size:12px;color:#315b73}.v102-sprint-grid p{margin:5px 0 0;font-size:10.5px;line-height:1.5;color:#6a7f8c}
@media(max-width:1100px){.v102-stage-banner{grid-template-columns:1fr}.v102-sprint-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.v102-decision-grid,.v102-promo-grid{grid-template-columns:1fr}.v102-promo-head{flex-direction:column}.v102-stop{grid-template-columns:1fr}}
@media(max-width:520px){.v102-stage-banner strong{font-size:16px}.v102-decision-card h3,.v102-promo-head h3{font-size:16px}.v102-promo-meta,.v102-sprint-grid{grid-template-columns:1fr}.v102-evidence p,.v102-do p,.v102-dont p,.v102-promo-main p{font-size:11.5px}}

/* =========================================================
   V103 — KONTEN BELUM POSTING
   ========================================================= */
.v103-hero-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.v103-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:16px 0}
.v103-summary-card{background:#fff;border:1px solid #dbe5ef;border-radius:16px;padding:16px;min-width:0;box-shadow:0 5px 18px rgba(21,45,72,.035)}
.v103-summary-card span{display:block;font-size:10px;letter-spacing:.075em;font-weight:800;color:#6b7f93;margin-bottom:8px}
.v103-summary-card strong{display:block;font-size:28px;line-height:1;color:#173657;margin-bottom:7px}
.v103-summary-card small{display:block;font-size:11px;line-height:1.4;color:#718399}
.v103-summary-card.posted{border-color:#b9ead5;background:#f6fffb}.v103-summary-card.posted strong{color:#087b55}
.v103-summary-card.gap{border-color:#f3d5a6;background:#fffaf2}.v103-summary-card.gap strong{color:#a45a00}
.v103-summary-card.overdue{border-color:#f3c1c1;background:#fff8f8}.v103-summary-card.overdue strong{color:#b42318}
.v103-summary-card.unmapped{border-style:dashed}.v103-summary-card.unmapped strong{color:#667085}
.v103-unmapped-note{display:flex;gap:12px;align-items:flex-start;border:1px solid #d6e3ef;background:#f6faff;border-radius:14px;padding:14px 16px;margin:12px 0;color:#29445f}
.v103-unmapped-note strong{min-width:260px;color:#173657}.v103-unmapped-note span{font-size:12px;line-height:1.55;color:#5d7186}
.v103-unmapped-note.warn{border-color:#f2d49d;background:#fffaf0}
.v103-filterbar{display:grid;grid-template-columns:180px 180px minmax(240px,1fr) auto;gap:10px;align-items:end;background:#fff;border:1px solid #dde6ef;border-radius:16px;padding:14px;margin:16px 0 12px}
.v103-filterbar label>span{display:block;font-size:10px;font-weight:800;letter-spacing:.06em;color:#6f8193;margin:0 0 6px}
.v103-filterbar select,.v103-filterbar input{width:100%;min-height:42px;border:1px solid #d7e1eb;border-radius:10px;padding:0 11px;background:#fff;color:#203a55;font-weight:650}
.v103-result{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:8px 2px 10px;color:#60758a;font-size:12px}.v103-result strong{font-size:13px;color:#1d3b59}
.v103-table-wrap{overflow:auto;border:1px solid #e0e8f0;border-radius:16px;background:#fff}
.v103-table{min-width:1120px;margin:0}.v103-table thead th{position:sticky;top:0;z-index:1;background:#f6f9fc}.v103-table td{vertical-align:top;padding-top:14px;padding-bottom:14px}
.v103-mobile-list{display:none}
.v103-modal-layer{position:fixed;inset:0;background:rgba(8,26,46,.48);backdrop-filter:blur(4px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}
.v103-modal{width:min(820px,96vw);max-height:90vh;overflow:auto;background:#fff;border-radius:20px;box-shadow:0 30px 90px rgba(0,0,0,.24);padding:20px}
.v103-modal-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-bottom:1px solid #e7edf3;padding-bottom:14px}.v103-modal-head span{font-size:10px;font-weight:850;letter-spacing:.08em;color:#6a7f92}.v103-modal-head h3{font-size:21px;margin:5px 0 0;color:#173657}
.v103-detail-status{display:flex;align-items:center;gap:12px;padding:14px 0}.v103-detail-status p{margin:0;color:#61758a;font-size:13px}
.v103-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.v103-detail-grid>div{background:#f8fafc;border:1px solid #e6edf4;border-radius:12px;padding:12px}.v103-detail-grid span,.v103-detail-note span{display:block;font-size:10px;font-weight:800;color:#75879a;margin-bottom:5px}.v103-detail-grid strong{display:block;color:#1c3b59;font-size:13px;line-height:1.45}
.v103-detail-note{margin-top:10px;background:#fbfcfe;border:1px solid #e7edf3;border-radius:12px;padding:12px}.v103-detail-note p{margin:0;color:#526a80;line-height:1.55;white-space:pre-wrap}
.v103-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid #e7edf3}
.v97-sync-guard .v103-unposted-shortcut{margin-left:8px}
@media(max-width:1180px){.v103-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){
  .v103-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.v103-summary-card{padding:13px}.v103-summary-card strong{font-size:23px}
  .v103-unmapped-note{display:block}.v103-unmapped-note strong{display:block;min-width:0;margin-bottom:6px}
  .v103-filterbar{grid-template-columns:1fr 1fr;padding:10px}.v103-search{grid-column:1/-1}.v103-filterbar .btn{grid-column:1/-1}
  .v103-table-wrap{display:none}.v103-mobile-list{display:grid;gap:10px}.v103-mobile-card{background:#fff;border:1px solid #e0e8f0;border-radius:15px;padding:14px}.v103-mobile-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.v103-mobile-card h4{margin:10px 0 5px;color:#183a5b}.v103-mobile-card p{margin:0 0 10px;color:#60768b;font-size:12px}.v103-mobile-card>div:nth-of-type(2){display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.v103-mobile-card>div:nth-of-type(2) span{background:#f3f6f9;border-radius:999px;padding:5px 8px;font-size:10px;color:#4e667c}
  .v103-detail-grid{grid-template-columns:1fr}.v103-modal-layer{padding:10px}.v103-modal{padding:15px;border-radius:16px}.v103-modal-actions{flex-direction:column}.v103-modal-actions .btn{width:100%}.v103-result{display:block}.v103-result span{display:block;margin-top:3px}
}

/* =========================================================
   V104 — CAMPAIGN BANK
   ========================================================= */
.v104-bank-section{margin:18px 0 20px;padding:20px;border:1px solid #dbe5f0;border-radius:20px;background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);box-shadow:0 10px 30px rgba(15,43,78,.055)}
.v104-bank-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}
.v104-bank-summary>div{padding:13px 15px;border:1px solid #dce6f1;border-radius:14px;background:#fff;display:flex;flex-direction:column;gap:3px}
.v104-bank-summary span{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#6b7f96}
.v104-bank-summary strong{font-size:22px;line-height:1.1;color:#12385f}
.v104-bank-toolbar{display:flex;gap:10px;align-items:end;margin:12px 0 14px;flex-wrap:wrap}
.v104-bank-toolbar label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#61768e;display:flex;flex-direction:column;gap:6px}
.v104-bank-toolbar select,.v104-bank-actions select{min-height:38px;border:1px solid #ccd9e7;border-radius:10px;background:#fff;padding:7px 10px;color:#173a5e;font:inherit}
.v104-manual{margin:10px 0 16px;border:1px dashed #c8d8e9;border-radius:14px;background:#fff}
.v104-manual summary{cursor:pointer;padding:13px 15px;font-weight:800;color:#1763ad;user-select:none}
.v104-manual form{padding:0 15px 15px}
.v104-bank-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.v104-bank-grid>.empty{grid-column:1/-1;min-height:130px}
.v104-bank-card{display:flex;flex-direction:column;gap:12px;padding:17px;border:1px solid #dbe5ef;border-radius:17px;background:#fff;box-shadow:0 5px 18px rgba(15,43,78,.04);min-width:0;position:relative;overflow:hidden}
.v104-bank-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#8aa8c6}
.v104-bank-card.status-winner:before{background:#1b9b65}.v104-bank-card.status-tested:before{background:#d59b22}.v104-bank-card.status-tidak_efektif:before{background:#ce4c4c}.v104-bank-card.status-ide:before{background:#2f75c5}
.v104-bank-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.v104-bank-head>div{min-width:0}.v104-bank-head span:first-child{font-size:10px;font-weight:900;letter-spacing:.08em;color:#66809b;text-transform:uppercase}.v104-bank-head h3{font-size:18px;line-height:1.25;margin:4px 0 0;color:#10375e;overflow-wrap:anywhere}
.v104-bank-objective{margin:0;color:#4f6478;line-height:1.55;font-size:13px}
.v104-bank-core,.v104-learning{padding:11px 12px;border-radius:12px;background:#f7faff;border:1px solid #e3ebf4}.v104-learning{background:#f3fbf7;border-color:#d6eee1}
.v104-bank-core span,.v104-learning span{font-size:10px;font-weight:900;letter-spacing:.08em;color:#50718f}.v104-bank-core p,.v104-learning p{margin:5px 0 0;color:#29465f;line-height:1.5;font-size:12.5px}
.v104-bank-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.v104-bank-meta>div{padding:9px 10px;border-radius:10px;background:#fbfcfe;border:1px solid #e6edf4;display:flex;flex-direction:column;gap:3px;min-width:0}.v104-bank-meta span{font-size:9px;font-weight:900;letter-spacing:.06em;color:#7a8ca0;text-transform:uppercase}.v104-bank-meta strong{font-size:12px;color:#183a5b;overflow-wrap:anywhere}
.v104-bank-footer{margin-top:auto;padding-top:10px;border-top:1px solid #edf1f5;display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}.v104-bank-footer small{color:#7a8c9f;font-size:10.5px;line-height:1.4}.v104-bank-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.v104-bank-actions .btn{min-height:34px;padding:7px 10px;font-size:11px}.v104-bank-actions .btn.ghost{background:#fff;color:#6b7c8c;border:1px solid #dae3ec}
.v104-promo-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.v104-promo-actions .btn{white-space:nowrap}
@media(max-width:1100px){.v104-bank-grid{grid-template-columns:1fr}.v104-bank-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.v104-bank-section{padding:14px;border-radius:16px}.v104-bank-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.v104-bank-summary strong{font-size:19px}.v104-bank-head{flex-direction:column}.v104-bank-meta{grid-template-columns:1fr}.v104-bank-footer{align-items:flex-start;flex-direction:column}.v104-bank-actions{width:100%}.v104-bank-actions .btn,.v104-bank-actions select{flex:1 1 auto}.v104-promo-actions{width:100%;justify-content:flex-start}.v102-promo-head{flex-wrap:wrap}}
.v104-reuse-callout{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:12px 0 14px;padding:14px 16px;border-radius:14px;border:1px solid #c8ead9;background:linear-gradient(135deg,#f0fbf6,#f7fffb)}
.v104-reuse-callout>div{min-width:0}.v104-reuse-callout span{display:block;font-size:10px;font-weight:900;letter-spacing:.08em;color:#1d8a5d}.v104-reuse-callout strong{display:block;margin-top:4px;font-size:16px;color:#14513a}.v104-reuse-callout p{margin:4px 0 0;font-size:12.5px;line-height:1.5;color:#476b5a}
@media(max-width:700px){.v104-reuse-callout{align-items:flex-start;flex-direction:column}.v104-reuse-callout .btn{width:100%}}

/* V105 — visible live recommendations + ready-to-use campaign ideas */
.v105-live-ribbon{display:inline-flex;align-items:center;gap:8px;margin:0 0 12px;padding:7px 11px;border-radius:999px;background:#e8f7ef;color:#117a4f;font-size:11px;font-weight:900;letter-spacing:.08em}
.v105-starter-section{margin-top:18px;padding:20px;border:1px solid #dce5ef;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(15,42,70,.04)}
.v105-starter-toolbar{display:flex;align-items:end;justify-content:space-between;gap:14px;margin:14px 0 16px;padding:12px 14px;border-radius:14px;background:#f6f9fc;border:1px solid #e5ecf3}
.v105-starter-toolbar label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:800;color:#5f7287}.v105-starter-toolbar select{min-width:220px;padding:10px 12px;border-radius:10px;border:1px solid #ced9e5;background:#fff;font-weight:700;color:#183b5b}.v105-starter-toolbar>span{font-size:12px;font-weight:800;color:#36566f}
.v105-starter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.v105-starter-card{border:1px solid #dce6f0;border-radius:16px;padding:16px;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);box-shadow:0 5px 16px rgba(19,52,82,.04)}
.v105-starter-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.v105-starter-head span:first-child{font-size:10px;font-weight:900;letter-spacing:.08em;color:#5e7992}.v105-starter-head h3{margin:5px 0 0;font-size:17px;line-height:1.25;color:#143b5d}.v105-objective{margin:10px 0 12px;color:#49647b;line-height:1.55}
.v105-mechanic,.v105-guard{padding:11px 12px;border-radius:12px;background:#f7fafc;border:1px solid #e7eef5}.v105-mechanic span,.v105-guard span{display:block;margin-bottom:4px;font-size:10px;font-weight:900;letter-spacing:.09em;color:#567087}.v105-mechanic p,.v105-guard p{margin:0;font-size:12px;line-height:1.55;color:#2c4c66}.v105-guard{margin-top:10px;background:#fffaf0;border-color:#f2e3bd}
.v105-starter-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.v105-starter-meta>div{padding:9px 10px;border-radius:10px;background:#f8fafc;border:1px solid #edf1f5}.v105-starter-meta span{display:block;font-size:9px;font-weight:900;letter-spacing:.06em;color:#7a8b99;margin-bottom:3px}.v105-starter-meta strong{display:block;font-size:11px;line-height:1.35;color:#233f56}
.v105-starter-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.v105-starter-actions .btn{min-height:36px}
@media(max-width:900px){.v105-starter-grid{grid-template-columns:1fr}.v105-starter-toolbar{align-items:stretch;flex-direction:column}.v105-starter-toolbar select{width:100%;min-width:0}.v105-starter-meta{grid-template-columns:1fr}.v105-starter-head{flex-direction:column}.v105-starter-actions .btn{flex:1 1 140px}}

/* =========================================================
   V106 — Manager competency review for SPV / Acting Manager
   ========================================================= */
.v106-hero{align-items:center;gap:24px}
.v106-formula{min-width:220px;padding:20px 22px;border-radius:18px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);display:flex;flex-direction:column;gap:4px;text-align:center}
.v106-formula small{font-size:10px;font-weight:800;letter-spacing:.12em;opacity:.82}.v106-formula strong{font-size:23px}.v106-formula span{font-size:12px;opacity:.82}
.v106-form-card{margin-top:16px}.v106-score-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.v106-score-field{padding:13px 14px;border:1px solid #e2eaf2;border-radius:14px;background:#fbfdff}.v106-score-field small{display:block;min-height:34px;color:#6b7d90;line-height:1.45;margin:4px 0 9px;font-weight:500}
.v106-score-label{font-weight:800;color:#173b60}.v106-history-month{max-width:190px;margin:0}.v106-history-list{display:flex;flex-direction:column;gap:12px}
.v106-review-row{border:1px solid #e2eaf2;border-radius:16px;padding:15px;background:#fff}.v106-review-main{display:grid;grid-template-columns:minmax(240px,1fr) 130px 150px;gap:12px;align-items:center}
.v106-review-main>div:first-child{display:flex;flex-direction:column;gap:3px}.v106-review-main>div:first-child strong{font-size:14px;color:#173b60}.v106-review-main>div:first-child span{font-size:12px;color:#718296}
.v106-score-pill{padding:10px 12px;border-radius:12px;text-align:center;border:1px solid #dfe8f1}.v106-score-pill small{display:block;font-size:9px;font-weight:800;letter-spacing:.08em;margin-bottom:3px}.v106-score-pill strong{font-size:19px}.v106-score-pill.green{background:#eefaf4;color:#147a4d}.v106-score-pill.blue{background:#eef6ff;color:#155da5}.v106-score-pill.amber{background:#fff8e8;color:#9a6500}.v106-score-pill.red{background:#fff0f0;color:#ae3131}.v106-score-pill.gray,.v106-score-pill.neutral{background:#f6f8fa;color:#516579}
.v106-review-details{margin-top:12px;border-top:1px solid #edf1f5;padding-top:10px}.v106-review-details summary{cursor:pointer;font-weight:700;color:#1d5e99;font-size:12px}.v106-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.v106-detail-grid>div{display:flex;justify-content:space-between;gap:12px;padding:9px 11px;border-radius:10px;background:#f7fafe}.v106-detail-grid span{font-size:11px;color:#62778d}.v106-detail-grid strong{font-size:12px;color:#173b60;white-space:nowrap}.v106-review-notes{margin-top:12px;padding:12px;border-radius:12px;background:#fbfcfe}.v106-review-notes p{margin:4px 0;font-size:12px;line-height:1.55}.v106-review-actions{display:flex;justify-content:flex-end;margin-top:10px}
@media(max-width:900px){.v106-score-grid{grid-template-columns:1fr}.v106-review-main{grid-template-columns:1fr 1fr}.v106-review-main>div:first-child{grid-column:1/-1}.v106-detail-grid{grid-template-columns:1fr}.v106-formula{min-width:0;width:100%}}
@media(max-width:600px){.v106-review-main{grid-template-columns:1fr}.v106-review-main>div:first-child{grid-column:auto}.v106-score-pill{text-align:left}.v106-history-month{max-width:none;width:100%}}

/* V108 — analysis language UX */
.v108-director-summary{background:linear-gradient(135deg,#fff 0%,#f3f8ff 100%);border:1px solid #cddff4;border-radius:18px;padding:22px;margin-bottom:18px;box-shadow:0 10px 28px rgba(16,54,95,.07)}
.v108-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.v108-summary-head>div:first-child{max-width:900px}.v108-summary-head span{font-size:11px;letter-spacing:.11em;font-weight:800;color:#49739c}.v108-summary-head h2{font-size:25px;line-height:1.2;margin:6px 0 7px;color:#113a63}.v108-summary-head p{margin:0;color:#5a6d80;line-height:1.55}.v108-confidence{min-width:180px;background:#fff;border:1px solid #dde7f1;border-radius:14px;padding:13px 15px;display:flex;flex-direction:column;gap:3px}.v108-confidence small{font-size:10px;color:#71869a;font-weight:800}.v108-confidence strong{font-size:20px;color:#123d65}.v108-confidence span{font-size:11px;color:#71869a;letter-spacing:0;font-weight:500}.v108-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.v108-summary-grid article{background:#fff;border:1px solid #e1e9f1;border-radius:14px;padding:15px;min-height:126px}.v108-summary-grid span{display:block;font-size:10px;font-weight:900;letter-spacing:.08em;color:#567996;margin-bottom:8px}.v108-summary-grid p{margin:0;font-size:14px;line-height:1.55;color:#273f55;font-weight:600}
.v108-glossary{margin-bottom:18px}.v108-glossary summary{cursor:pointer;font-weight:800;color:#274c6f;padding:2px}.v108-glossary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:15px}.v108-glossary-grid div{border:1px solid #e4ebf2;background:#f9fbfd;border-radius:12px;padding:12px}.v108-glossary-grid strong{display:block;font-size:12px;color:#173f63;margin-bottom:4px}.v108-glossary-grid span{font-size:12px;line-height:1.45;color:#65798c}
.v108-simple-analysis .v102-decision-card h3,.v108-simple-promo .v102-promo-card h3{line-height:1.35}.v108-simple-analysis .v102-evidence p,.v108-simple-analysis .v102-do p,.v108-simple-analysis .v102-dont p,.v108-simple-promo p{line-height:1.6}.v108-easy-card .card-head span,.v108-easy-card .v94-section-title p{line-height:1.5}.v108-easy-card .v94-plan-grid small{display:block;color:#7b8c9c;font-size:11px;margin-top:2px;margin-bottom:9px}
@media(max-width:1100px){.v108-summary-grid,.v108-glossary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.v108-director-summary{padding:15px;border-radius:15px}.v108-summary-head{display:block}.v108-confidence{margin-top:12px;min-width:0}.v108-summary-grid,.v108-glossary-grid{grid-template-columns:1fr}.v108-summary-grid article{min-height:0}.v108-summary-head h2{font-size:21px}}

/* =========================================================
   V109 — Strategy Intelligence + 90-Day Outlook
   ========================================================= */
.v109-outlook,.v109-impact,.v109-radar,.v109-strategies,.v109-roadmap,.v109-meeting{margin-top:18px}
.v109-confidence,.v109-count{align-self:flex-start;padding:8px 12px;border-radius:999px;font-size:12px;font-weight:800;background:#eef4ff;color:#174f85}
.v109-confidence.tone-green{background:#eaf8f1;color:#147a4b}.v109-confidence.tone-amber{background:#fff6df;color:#8a5b00}.v109-confidence.tone-gray{background:#f2f4f7;color:#667085}
.v109-forecast-table td,.v109-forecast-table th{white-space:nowrap}.v109-dir{font-size:12px;font-weight:800}.v109-dir.up{color:#14845f}.v109-dir.down{color:#b33b35}.v109-dir.neutral{color:#667085}
.v109-note{margin-top:12px;padding:12px 14px;border-radius:12px;background:#f7f9fc;color:#526071;font-size:13px;line-height:1.55}
.v109-impact-card{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:16px;padding:20px;border:1px solid #d7e7f7;border-radius:16px;background:linear-gradient(135deg,#f8fbff,#f0f7ff)}
.v109-impact-card>div:first-child>span{font-size:11px;font-weight:800;letter-spacing:.08em;color:#5e7894}.v109-impact-card h3{margin:6px 0;font-size:20px}.v109-impact-card p{margin:0 0 8px;color:#526071;line-height:1.6}.v109-impact-card>div:first-child>strong{color:#147a4b}
.v109-impact-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.v109-impact-numbers div{padding:14px;border-radius:12px;background:#fff;border:1px solid #dfe8f2}.v109-impact-numbers small{display:block;color:#78889a;font-weight:700}.v109-impact-numbers b{display:block;margin-top:5px;color:#17324d;font-size:14px}
.v109-radar{display:grid;grid-template-columns:1fr 1fr;gap:18px}.v109-radar-col{min-width:0}.v109-radar-list{display:grid;gap:10px}.v109-radar-list article{padding:15px 16px;border-radius:14px;border:1px solid #e2e8f0;background:#fff}.v109-radar-list article.tone-red{border-left:4px solid #d6534d}.v109-radar-list article.tone-amber{border-left:4px solid #d9a121}.v109-radar-list article.tone-green{border-left:4px solid #1b9a68}.v109-radar-list article.tone-gray{border-left:4px solid #98a2b3}.v109-radar-list h3{margin:0 0 5px;font-size:15px}.v109-radar-list p{margin:0 0 7px;color:#667085;line-height:1.5;font-size:13px}.v109-radar-list strong{font-size:12px;color:#334155}
.v109-priority-title{display:flex;justify-content:space-between;align-items:end;margin:8px 0 10px}.v109-priority-title strong{font-size:16px}.v109-priority-title span{font-size:12px;color:#667085}
.v109-strategy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.v109-strategy-card{border:1px solid #e1e7ef;border-radius:16px;background:#fff;overflow:hidden}.v109-strategy-card.priority-p1{border-top:3px solid #d6534d}.v109-strategy-card.priority-p2{border-top:3px solid #d9a121}.v109-strategy-card.priority-p3{border-top:3px solid #3f7fc4}.v109-strategy-head{display:flex;justify-content:space-between;gap:10px;padding:16px 16px 10px}.v109-strategy-head span:first-child{font-size:10px;letter-spacing:.06em;font-weight:800;color:#6c7c8f}.v109-strategy-head h3{font-size:17px;margin:4px 0 0}.v109-strategy-body{display:grid;gap:10px;padding:0 16px 14px}.v109-strategy-body>div{padding:10px 12px;border-radius:11px;background:#f8fafc}.v109-strategy-body span{font-size:10px;font-weight:800;color:#75869a}.v109-strategy-body p{margin:3px 0 0;line-height:1.52;font-size:13px}.v109-strategy-body .v109-dont{background:#fff7f6}.v109-strategy-card footer{display:grid;grid-template-columns:.7fr 1.15fr auto;gap:10px;align-items:center;padding:12px 16px;background:#f7f9fc;border-top:1px solid #e9eef4}.v109-strategy-card footer span{display:block;font-size:9px;font-weight:800;color:#7c8998}.v109-strategy-card footer strong{font-size:11px}.v109-strategy-actions{display:flex;gap:6px;justify-content:flex-end}.v109-strategy-actions .btn{padding:7px 9px;font-size:11px}.v109-more{margin-top:14px}.v109-more summary{cursor:pointer;font-weight:800;padding:3px 0 14px}.v109-more[open] summary{margin-bottom:8px}
.v109-roadmap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.v109-roadmap-grid article{position:relative;padding:18px 16px 16px 48px;border:1px solid #e2e8f0;border-radius:14px;background:#fbfcfe}.v109-roadmap-grid article>b{position:absolute;left:14px;top:16px;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#174f85;color:#fff}.v109-roadmap-grid article>span{font-size:10px;font-weight:800;color:#6b7f94}.v109-roadmap-grid h4{margin:4px 0 7px}.v109-roadmap-grid p{margin:0 0 10px;font-size:13px;line-height:1.55;color:#617082}.v109-roadmap-grid strong{font-size:11px;color:#147a4b}
.v109-meeting ol{margin:8px 0 0;padding-left:22px}.v109-meeting li{padding:8px 0;line-height:1.55;color:#334155}
@media(max-width:1100px){.v109-impact-card,.v109-radar{grid-template-columns:1fr}.v109-strategy-grid{grid-template-columns:1fr}.v109-roadmap-grid{grid-template-columns:1fr 1fr}.v109-strategy-card footer{grid-template-columns:1fr 1fr}.v109-strategy-actions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:720px){.v109-impact-numbers{grid-template-columns:1fr}.v109-roadmap-grid{grid-template-columns:1fr}.v109-forecast-table{min-width:780px}.v109-priority-title{align-items:flex-start;gap:4px;flex-direction:column}.v109-strategy-head{flex-direction:column}.v109-strategy-card footer{grid-template-columns:1fr}.v109-strategy-actions{grid-column:auto}.v109-strategy-actions .btn{flex:1}}

/* V110 — Target Achievement + Failure Learning */
.v110-top-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;margin:0 0 18px;border:1px solid #cfe0f3;border-radius:18px;background:linear-gradient(135deg,#f8fbff,#eef7ff)}
.v110-top-actions div{display:flex;flex-direction:column;gap:3px}.v110-top-actions span{font-size:11px;font-weight:800;letter-spacing:.12em;color:#53708d}.v110-top-actions strong{font-size:18px;color:#0b3458}
.v110-program,.v110-failure{margin:22px 0}.v110-period-badge{padding:8px 12px;border-radius:999px;background:#eaf3ff;color:#145a9c;font-size:12px;font-weight:800}
.v110-goal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0 18px}.v110-goal-card{background:#fff;border:1px solid #dfe7ef;border-radius:18px;padding:18px;box-shadow:0 7px 22px rgba(16,48,78,.05)}
.v110-goal-card.red{border-left:5px solid #d92d20}.v110-goal-card.amber{border-left:5px solid #f79009}.v110-goal-card.blue{border-left:5px solid #2e90fa}.v110-goal-card.green{border-left:5px solid #12b76a}.v110-goal-card.gray{border-left:5px solid #98a2b3}
.v110-goal-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.v110-goal-head span,.v110-cause span{font-size:10px;letter-spacing:.1em;font-weight:800;color:#667085}.v110-goal-head h3{margin:4px 0 0;font-size:18px;color:#17324d}.v110-goal-head>b{font-size:22px;color:#0b5aa5}
.v110-goal-numbers{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}.v110-goal-numbers div,.v110-kpi-line span{padding:10px;border-radius:12px;background:#f7f9fc}.v110-goal-numbers small,.v110-kpi-line span{font-size:11px;color:#667085}.v110-goal-numbers strong{display:block;margin-top:3px;font-size:18px;color:#153b5c}
.v110-kpi-line{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.v110-kpi-line strong{display:block;color:#17324d;margin-top:3px}.v110-recovery{padding:12px 14px;border-radius:14px;background:#f4f9ff}.v110-recovery strong{color:#0d4f86}.v110-recovery p,.v110-cause p,.v110-rule p{margin:5px 0 0;line-height:1.55;color:#475467}
.v110-cause{margin-top:10px;padding-top:10px;border-top:1px dashed #d0d5dd}.v110-dont{margin-top:10px;padding:10px 12px;border-radius:12px;background:#fff6f5;color:#8f2f27;font-size:12px;line-height:1.5}
.v110-campaign-goals{margin:18px 0}.v110-campaign-table{display:grid;gap:9px}.v110-campaign-table article{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;border:1px solid #e4e7ec;border-left:4px solid #98a2b3;border-radius:14px;padding:12px 14px}.v110-campaign-table article.red{border-left-color:#d92d20}.v110-campaign-table article.amber{border-left-color:#f79009}.v110-campaign-table article.blue{border-left-color:#2e90fa}.v110-campaign-table article.green{border-left-color:#12b76a}.v110-campaign-table h4{margin:2px 0 3px}.v110-campaign-table span,.v110-campaign-table small{font-size:11px;color:#667085}.v110-camp-stat{text-align:right}.v110-camp-stat b{display:block;font-size:18px;color:#17324d}.v110-camp-stat em{display:block;font-style:normal;font-size:11px;color:#b54708;margin-top:3px}
.v110-recovery-roadmap{margin:18px 0}.v110-recovery-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.v110-recovery-steps article{padding:15px;border-radius:15px;background:#f8fafc;border:1px solid #e4e7ec}.v110-recovery-steps b{font-size:10px;letter-spacing:.09em;color:#175cd3}.v110-recovery-steps h4{margin:7px 0 5px}.v110-recovery-steps p{margin:0;color:#667085;font-size:12px;line-height:1.5}
.v110-failure-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.v110-failure-grid>article{display:grid;grid-template-columns:36px 1fr;gap:12px;padding:16px;background:#fff;border:1px solid #f1d4d0;border-radius:16px}.v110-failure-no{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#fff1f0;color:#b42318;font-weight:900}.v110-failure-grid span{font-size:10px;letter-spacing:.09em;font-weight:800;color:#667085}.v110-failure-grid h3{margin:4px 0 6px;font-size:16px}.v110-failure-grid p{margin:0 0 10px;color:#667085;line-height:1.5}.v110-rule{padding:10px 12px;border-radius:12px;background:#fff6f5;border:1px solid #fee4e2}.v110-rule strong{font-size:10px;color:#b42318;letter-spacing:.08em}
.v110-memory{margin:16px 0}.v110-repeat-warning{padding:12px 14px;border-radius:14px;background:#fffaeb;border:1px solid #fedf89}.v110-repeat-warning p{margin:7px 0;color:#7a2e0e}.v110-bank-fail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.v110-bank-fail article{padding:13px;border-radius:14px;background:#f9fafb;border:1px solid #e4e7ec}.v110-bank-fail span{font-size:10px;font-weight:900;color:#b42318}.v110-bank-fail h4{margin:5px 0}.v110-bank-fail p{font-size:12px;line-height:1.5;color:#667085;margin:0}
.v110-premortem{margin-top:16px}.v110-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.v110-check-grid label{cursor:pointer}.v110-check-grid label>span{display:flex;align-items:center;gap:9px;padding:11px 12px;border:1px solid #e4e7ec;border-radius:12px;background:#fff}.v110-check-grid input{display:none}.v110-check-grid b{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#eef4ff;color:#175cd3}.v110-check-grid input:checked+span{background:#ecfdf3;border-color:#abefc6}.v110-check-grid input:checked+span b{background:#12b76a;color:#fff}.v110-empty{padding:20px;border:1px dashed #d0d5dd;border-radius:14px;color:#667085;background:#fafbfc}
@media(max-width:980px){.v110-goal-grid,.v110-failure-grid{grid-template-columns:1fr}.v110-recovery-steps{grid-template-columns:repeat(2,1fr)}.v110-bank-fail{grid-template-columns:1fr 1fr}.v110-top-actions{align-items:flex-start;flex-direction:column}}
@media(max-width:640px){.v110-goal-numbers,.v110-kpi-line,.v110-recovery-steps,.v110-bank-fail,.v110-check-grid{grid-template-columns:1fr}.v110-campaign-table article{grid-template-columns:1fr}.v110-camp-stat{text-align:left}.v110-top-actions strong{font-size:15px}}

/* V111 — Content Effectiveness Engine */
.v111-engine{margin:18px 0 22px}.v111-rate{display:inline-flex;align-items:center;padding:9px 13px;border-radius:999px;background:#ecfdf5;color:#047857;font-weight:800;font-size:12px;border:1px solid #a7f3d0}.v111-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:14px 0}.v111-summary-grid article{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:15px;box-shadow:0 4px 15px rgba(15,23,42,.04)}.v111-summary-grid span{display:block;font-size:10px;letter-spacing:.08em;font-weight:900;color:#64748b}.v111-summary-grid b{display:block;font-size:28px;line-height:1.05;margin:8px 0 5px;color:#0f172a}.v111-summary-grid small{color:#64748b;line-height:1.35}.v111-summary-grid .good{border-top:3px solid #10b981}.v111-summary-grid .warn{border-top:3px solid #f59e0b}.v111-summary-grid .bad{border-top:3px solid #ef4444}.v111-summary-grid .info{border-top:3px solid #3b82f6}.v111-decision-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:12px 0 16px}.v111-decision-grid article{padding:18px;border-radius:18px;border:1px solid #e5e7eb}.v111-decision-grid span{font-size:10px;font-weight:900;letter-spacing:.08em}.v111-decision-grid h3{margin:6px 0 7px;font-size:18px}.v111-decision-grid p{margin:0 0 10px;color:#475569;line-height:1.55}.v111-decision-grid strong{display:block;font-size:13px;line-height:1.5}.v111-decision-grid .winner{background:linear-gradient(135deg,#ecfdf5,#fff);border-color:#a7f3d0}.v111-decision-grid .winner span,.v111-decision-grid .winner strong{color:#047857}.v111-decision-grid .loser{background:linear-gradient(135deg,#fff1f2,#fff);border-color:#fecdd3}.v111-decision-grid .loser span,.v111-decision-grid .loser strong{color:#be123c}.v111-table-card{margin-top:12px}.v111-table td{vertical-align:top;min-width:82px}.v111-table td:first-child{min-width:210px}.v111-table td:last-child{min-width:260px}.v111-table td small{display:block;color:#64748b;margin-top:4px;line-height:1.35}.v111-status{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:900;white-space:nowrap;border:1px solid transparent}.v111-status.tone-green{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.v111-status.tone-amber{background:#fffbeb;color:#b45309;border-color:#fde68a}.v111-status.tone-red{background:#fff1f2;color:#be123c;border-color:#fecdd3}.v111-status.tone-blue{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.v111-status.tone-gray{background:#f8fafc;color:#475569;border-color:#e2e8f0}.v111-patterns{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.v111-patterns article{padding:14px;border-radius:14px;background:#f8fafc;border:1px solid #e2e8f0}.v111-patterns article.good{background:#f0fdf4;border-color:#bbf7d0}.v111-patterns article.bad{background:#fff1f2;border-color:#fecdd3}.v111-patterns span{font-size:10px;font-weight:900;color:#64748b;text-transform:uppercase}.v111-patterns h4{margin:5px 0 8px;font-size:14px}.v111-patterns b{display:block;font-size:18px}.v111-patterns small{display:block;color:#64748b;margin-top:5px}.v111-rule{margin-top:12px;padding:15px 17px;border-radius:14px;background:#0f172a;color:#e2e8f0;line-height:1.55;font-size:13px}.v111-rule strong{color:#fff}.v111-rule b{color:#fbbf24}@media(max-width:1100px){.v111-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.v111-patterns{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.v111-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v111-decision-grid{grid-template-columns:1fr}.v111-patterns{grid-template-columns:repeat(2,minmax(0,1fr))}.v111-table td:first-child{min-width:180px}}

/* =========================================================
   V112 — PREMIUM EXECUTIVE DASHBOARD
   Approved direction: modern, mewah, premium, elegant.
   ========================================================= */
:root{
  --v112-navy:#071c36;
  --v112-navy-2:#0b2d54;
  --v112-gold:#c99a2e;
  --v112-gold-soft:#fff7df;
  --v112-bg:#f5f8fc;
  --v112-card:#ffffff;
  --v112-text:#10233f;
  --v112-muted:#74849a;
  --v112-border:#e5eaf1;
  --v112-shadow:0 12px 34px rgba(12,35,67,.065);
}
body.v112-premium-ui{background:var(--v112-bg);color:var(--v112-text)}
body.v112-premium-ui #appView{grid-template-columns:244px minmax(0,1fr);background:var(--v112-bg)}
body.v112-premium-ui .sidebar{
  background:
    radial-gradient(circle at 0 -10%,rgba(53,113,191,.2),transparent 25%),
    linear-gradient(180deg,#061a31 0%,#082744 58%,#06192e 100%);
  padding:16px 12px 14px;
  box-shadow:12px 0 40px rgba(4,25,48,.10);
}
body.v112-premium-ui .sidebar-brand{padding:0 2px 15px;border-bottom:1px solid rgba(255,255,255,.08)}
body.v112-premium-ui .sidebar-logo-wrap{border-radius:16px;padding:11px 13px;margin-bottom:11px;background:#fff;box-shadow:0 12px 28px rgba(0,0,0,.16)}
body.v112-premium-ui .brand-copy{padding:0 6px}body.v112-premium-ui .brand-copy strong{letter-spacing:.11em;font-size:11px}body.v112-premium-ui .brand-copy span{font-size:9px}
body.v112-premium-ui .v29-build-badge{margin:11px 2px 3px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);color:#9eb5ce;border-radius:10px;padding:7px 9px;font-size:8px;letter-spacing:.05em;text-align:center}
body.v112-premium-ui .nav-menu{padding-top:8px;gap:2px}
body.v112-premium-ui .nav-label{font-size:8px;letter-spacing:.2em;padding:15px 10px 6px;color:#7190ad}
body.v112-premium-ui #appView .nav-item{min-height:39px;border-radius:8px;padding:9px 10px;color:#c1cfdf;font-size:11.5px;font-weight:620;box-shadow:none}
body.v112-premium-ui #appView .nav-item:hover{background:rgba(255,255,255,.055);transform:none;color:#fff}
body.v112-premium-ui #appView .nav-item.active{
  color:#fff7dc;
  background:linear-gradient(90deg,rgba(255,255,255,.10),rgba(255,255,255,.035));
  box-shadow:inset 3px 0 0 #d3a53d,0 8px 22px rgba(0,0,0,.08);
}
body.v112-premium-ui #appView .nav-item.active:after{display:none}
body.v112-premium-ui #appView .nav-item.active .nav-icon{color:#f0c75e;background:rgba(210,165,61,.12)}
body.v112-premium-ui .nav-icon{font-size:13px;width:21px;height:21px}
body.v112-premium-ui .sidebar-profile{padding:9px;border-radius:12px;background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.08)}
body.v112-premium-ui .main-shell{padding:0 18px 30px;max-width:none;margin:0;width:100%;overflow:hidden}
body.v112-premium-ui .topbar{
  min-height:82px;margin:0 -18px 14px;padding:0 18px;background:rgba(250,252,255,.94);border-bottom:1px solid #e7ebf1;backdrop-filter:blur(18px);gap:12px
}
body.v112-premium-ui .topbar-left{min-width:250px}
body.v112-premium-ui .breadcrumb{font-size:9px;letter-spacing:.07em;color:#8494a8}
body.v112-premium-ui .breadcrumb span{color:#b88923}
body.v112-premium-ui .topbar h1{font-family:Georgia,'Times New Roman',serif;font-size:30px;font-weight:700;letter-spacing:-.035em;color:#0a1d39}
body.v112-premium-ui .topbar h1:after{width:29px;height:2px;background:#d0a02e;margin-top:6px}
body.v112-premium-ui .topbar-actions{gap:7px;min-width:0}
body.v112-premium-ui .month-control,body.v112-premium-ui .top-user-card,body.v112-premium-ui #v72GlobalFilterHost .v72-global-filter{border-color:#e1e7ef!important;box-shadow:0 6px 20px rgba(13,38,73,.04)!important;background:#fff!important}
body.v112-premium-ui .top-user-card{border-radius:11px!important}
body.v112-premium-ui .btn{border-radius:9px;font-size:11px;padding:9px 12px}
body.v112-premium-ui .btn.primary{background:linear-gradient(135deg,#0e3d70,#1766bd);box-shadow:0 7px 18px rgba(15,73,137,.18)}
body.v112-premium-ui .btn.secondary{background:#fff}

/* V112 dashboard */
.v112-dashboard{padding-bottom:10px}
.v112-exec-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:2px 0 12px;padding:0 2px}
.v112-exec-head h2{margin:4px 0 3px;font-family:Georgia,'Times New Roman',serif;color:#0b203e;font-size:22px;letter-spacing:-.025em}
.v112-exec-head p{margin:0;color:#7a899d;font-size:11px}.v112-eyebrow{font-size:8px;letter-spacing:.18em;font-weight:800;color:#b48623}.v112-head-actions{display:flex;gap:7px}
.v112-kpi-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:9px;margin-bottom:10px}
.v112-kpi-card{position:relative;min-width:0;min-height:136px;padding:13px 12px 9px;background:#fff;border:1px solid var(--v112-border);border-radius:13px;box-shadow:0 7px 22px rgba(10,34,66,.045);overflow:hidden}
.v112-kpi-card:before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,transparent 50%,currentColor 160%);opacity:.055;pointer-events:none}
.v112-kpi-top{display:flex;align-items:center;justify-content:space-between}.v112-kpi-icon{width:29px;height:29px;display:grid;place-items:center;border-radius:8px;font-weight:800;font-size:12px;background:color-mix(in srgb,currentColor 11%,white)}
.v112-kpi-more{border:0;background:transparent;color:#9aa8b9;font-weight:800;padding:0}.v112-kpi-label{display:block;margin-top:7px;font-size:9px;font-weight:750;color:#50627a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v112-kpi-value{display:block;margin-top:3px;font-size:21px;line-height:1.12;color:#0b213f;letter-spacing:-.045em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v112-kpi-foot{min-height:24px;margin-top:4px;font-size:8px;color:#8492a5}.v112-kpi-delta{display:block;font-weight:800}.v112-kpi-delta.up{color:#11985f}.v112-kpi-delta.down{color:#d84848}.v112-kpi-sub,.v112-kpi-neutral{display:block;color:#8a98aa;margin-top:1px}
.v112-spark{position:absolute;left:10px;right:10px;bottom:5px;width:calc(100% - 20px);height:24px}.tone-blue{color:#2671e7}.tone-green{color:#14a36c}.tone-gold{color:#c8860f}.tone-red{color:#e64a50}.tone-purple{color:#7658e7}
.v112-main-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(240px,.72fr) minmax(260px,.82fr);gap:10px;margin-bottom:10px}
.v112-secondary-grid{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(260px,.78fr) minmax(0,1fr);gap:10px;margin-bottom:10px}
.v112-bottom-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(340px,.75fr);gap:10px}
.v112-panel{background:#fff;border:1px solid var(--v112-border);border-radius:13px;box-shadow:var(--v112-shadow);padding:12px;min-width:0;overflow:hidden}
.v112-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.v112-panel-head>div{min-width:0}.v112-panel-head span{display:block;font-size:7.5px;letter-spacing:.15em;color:#8b9aab;font-weight:800}.v112-panel-head h3{margin:2px 0 0;font-family:Georgia,'Times New Roman',serif;color:#0b203e;font-size:16px;letter-spacing:-.02em}.v112-panel-head button{border:0;background:transparent;color:#1671d9;font-weight:750;font-size:9px;white-space:nowrap;padding:4px;cursor:pointer}.v112-chip{font-size:8px!important;letter-spacing:0!important;background:#f4f7fb;color:#65778d!important;border:1px solid #e4e9f0;border-radius:7px;padding:5px 8px}.v112-chart-wrap{height:230px;position:relative}
.v112-donut-layout,.v112-effect-layout{display:grid;grid-template-columns:128px minmax(0,1fr);align-items:center;gap:12px;min-height:152px}.v112-donut{--v112-p:0;width:118px;height:118px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#18a36e calc(var(--v112-p)*1%),#e8edf3 0);position:relative;margin:auto}.v112-donut.mixed{background:conic-gradient(#18a36e calc(var(--v112-p)*1%),#e64b51 0)}.v112-donut:before{content:"";position:absolute;inset:18px;border-radius:50%;background:#fff}.v112-donut>div{position:relative;z-index:1;text-align:center}.v112-donut strong{display:block;font-size:24px;color:#0b203e;letter-spacing:-.04em}.v112-donut span{display:block;margin-top:1px;font-size:8px;color:#7b8a9c;text-transform:uppercase;letter-spacing:.05em}
.v112-target-copy{display:grid;gap:9px}.v112-target-copy div{padding-left:9px;border-left:2px solid #e3e9f0}.v112-target-copy span{display:block;font-size:8px;color:#79889b}.v112-target-copy strong{display:block;margin-top:2px;font-size:14px;color:#102541}.v112-effect-legend{display:grid;gap:12px}.v112-effect-legend div{display:grid;grid-template-columns:10px 1fr;gap:2px 7px;align-items:center}.v112-effect-legend i{grid-row:1/3;width:8px;height:8px;border-radius:50%}.v112-effect-legend i.good{background:#18a36e}.v112-effect-legend i.bad{background:#e64b51}.v112-effect-legend span{font-size:8px;color:#728398}.v112-effect-legend strong{font-size:13px;color:#102541}
.v112-insight{display:grid;grid-template-columns:auto 1fr;gap:3px 7px;padding:8px 9px;border-radius:9px;font-size:8px}.v112-insight:before{content:"✓";grid-row:1/3;width:17px;height:17px;border-radius:50%;display:grid;place-items:center;font-weight:900}.v112-insight strong{font-size:8.5px}.v112-insight span{color:#6f7e90}.v112-insight.good{background:#effaf5;color:#177850}.v112-insight.good:before{background:#d7f4e6}.v112-insight.warn{background:#fff8e7;color:#956314}.v112-insight.warn:before{background:#ffedbd;content:"!"}.v112-insight.bad{background:#fff0f0;color:#b1373d}.v112-insight.bad:before{background:#ffdadd;content:"!"}
.v112-table-wrap{overflow:auto}.v112-table{width:100%;border-collapse:collapse;min-width:520px}.v112-table th,.v112-table td{padding:7px 6px;border-bottom:1px solid #edf1f5;font-size:8px;text-align:left;vertical-align:middle;color:#53657c}.v112-table th{font-size:7px;color:#8795a6;font-weight:800;background:#f8fafc;letter-spacing:.02em;white-space:nowrap}.v112-table td strong{color:#102541;font-size:8.5px}.v112-table td small{display:block;color:#91a0b1;margin-top:2px}.v112-table tr:last-child td{border-bottom:0}.v112-status{display:inline-flex;align-items:center;white-space:nowrap;border-radius:999px;padding:4px 7px;font-size:7px;font-weight:800}.v112-status.green{background:#e6f8ef;color:#168257}.v112-status.amber{background:#fff3d7;color:#9b6913}.v112-status.red{background:#ffe8e9;color:#bf3f46}.v112-status.blue{background:#e9f2ff;color:#2569bd}.v112-status.gray{background:#eef2f6;color:#6f7e91}
.v112-rec-list{display:grid;gap:7px}.v112-rec-item{display:grid;grid-template-columns:30px 1fr 16px;gap:8px;align-items:start;border:1px solid #edf1f5;border-radius:10px;padding:8px;background:#fbfcfe}.v112-rec-icon{width:29px;height:29px;border-radius:8px;display:grid;place-items:center;background:#e9f8f1;color:#158456;font-weight:900}.v112-rec-item.r2 .v112-rec-icon{background:#fff4dc;color:#a86e0e}.v112-rec-item.r3 .v112-rec-icon{background:#eaf3ff;color:#256bc0}.v112-rec-item strong{display:block;font-size:9px;color:#132946}.v112-rec-item p{margin:2px 0 0;font-size:7.5px;line-height:1.35;color:#748499;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.v112-rec-item button{border:0;background:transparent;color:#6d8097;font-size:18px;line-height:1;cursor:pointer}
.v112-unposted-list{display:grid;gap:2px}.v112-unposted-list article{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:7px;align-items:center;padding:6px 0;border-bottom:1px solid #edf1f5}.v112-unposted-list article:last-child{border:0}.v112-thumb{width:28px;height:28px;border-radius:6px;background:#edf3f9;color:#436785;display:grid;place-items:center;font-size:10px}.v112-unposted-copy{min-width:0}.v112-unposted-copy strong{display:block;font-size:8.5px;color:#112743;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v112-unposted-copy small{display:block;margin-top:2px;font-size:7px;color:#8a99aa;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v112-empty{padding:18px;border-radius:10px;background:#f8fafc;border:1px dashed #dce3eb;color:#7d8c9e;text-align:center;font-size:9px}.v112-empty.success{background:#f0faf6;color:#267658}.v112-loading{min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#6d7e92;gap:7px}.v112-loading span{width:32px;height:32px;border:3px solid #e1e8ef;border-top-color:#b68b27;border-radius:50%;animation:v112spin .8s linear infinite}.v112-loading strong{color:#102541}.v112-loading small{font-size:10px}@keyframes v112spin{to{transform:rotate(360deg)}}

/* Keep old functional pages premium too, without changing their layout logic. */
body.v112-premium-ui .page:not(.v112-dashboard) .card,body.v112-premium-ui .page:not(.v112-dashboard) .form-card,body.v112-premium-ui .page:not(.v112-dashboard) .v21-panel{border-color:#e3e9f0;box-shadow:0 10px 28px rgba(11,35,67,.05);border-radius:14px}

@media(max-width:1500px){
  .v112-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.v112-kpi-card{min-height:128px}
  .v112-secondary-grid{grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr)}.v112-topcontent-panel{grid-column:1/-1}
}
@media(max-width:1180px){
  body.v112-premium-ui #appView{grid-template-columns:220px minmax(0,1fr)}
  .v112-main-grid{grid-template-columns:1fr 1fr}.v112-trend-panel{grid-column:1/-1}.v112-bottom-grid{grid-template-columns:1fr}.v112-secondary-grid{grid-template-columns:1fr 1fr}.v112-topcontent-panel{grid-column:1/-1}
  body.v112-premium-ui .topbar-actions{flex-wrap:wrap;justify-content:flex-end}
}
@media(max-width:900px){
  body.v112-premium-ui #appView{display:block}.v112-exec-head{align-items:flex-start;flex-direction:column}.v112-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v112-main-grid,.v112-secondary-grid,.v112-bottom-grid{grid-template-columns:1fr}.v112-trend-panel,.v112-topcontent-panel{grid-column:auto}.v112-donut-layout,.v112-effect-layout{grid-template-columns:118px 1fr}.v112-panel{padding:11px}.v112-chart-wrap{height:220px}
}
@media(max-width:560px){
  .v112-kpi-grid{grid-template-columns:1fr 1fr;gap:7px}.v112-kpi-card{min-height:122px}.v112-kpi-value{font-size:19px}.v112-exec-head h2{font-size:20px}.v112-head-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.v112-head-actions .btn{width:100%}.v112-donut-layout,.v112-effect-layout{grid-template-columns:1fr}.v112-donut{width:110px;height:110px}.v112-main-grid,.v112-secondary-grid,.v112-bottom-grid{gap:8px}.v112-table{min-width:600px}
}

/* =========================================================
   V113 — LIVE + MONTHLY DASHBOARD
   ========================================================= */
.v113-mode-banner{display:flex;align-items:center;gap:14px;margin:0 0 16px;padding:13px 16px;border:1px solid #dfe7ef;border-radius:15px;background:linear-gradient(135deg,#fff 0%,#f8fbff 100%);box-shadow:0 9px 26px rgba(11,35,67,.055)}
.v113-mode-banner.live{border-color:#c9e8dc;background:linear-gradient(135deg,#f7fffb 0%,#eefaf5 100%)}
.v113-mode-banner.monthly{border-color:#dce4ef;background:linear-gradient(135deg,#fff 0%,#f3f7fc 100%)}
.v113-mode-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex:0 0 40px;font-size:18px;font-weight:900;color:#fff;background:linear-gradient(145deg,#0b3157,#1768a8);box-shadow:0 7px 16px rgba(8,46,82,.18)}
.v113-mode-banner.live .v113-mode-icon{background:linear-gradient(145deg,#087c5c,#13a678)}
.v113-mode-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}
.v113-mode-copy>span{font-size:10px;font-weight:900;letter-spacing:.12em;color:#74879a}
.v113-mode-copy>strong{font-size:14px;color:#102f50}
.v113-mode-copy>small{font-size:11px;line-height:1.45;color:#6a7d90}
.v113-mode-actions{display:flex;gap:5px;padding:4px;border:1px solid #dce5ee;border-radius:11px;background:#fff}
.v113-mode-actions button{border:0;border-radius:8px;background:transparent;color:#64788c;font-weight:800;font-size:11px;padding:8px 12px;cursor:pointer}
.v113-mode-actions button.active{color:#fff;background:#103d69;box-shadow:0 4px 10px rgba(10,54,94,.18)}
.v113-mode-banner.live .v113-mode-actions button.active{background:#098260}
.v113-filter-period-chip{min-width:160px;display:flex;flex-direction:column;justify-content:center;padding:9px 13px;border:1px solid #cce9dd;border-radius:12px;background:#f3fcf8}
.v113-filter-period-chip span{font-size:9px;font-weight:900;letter-spacing:.09em;color:#45836e}
.v113-filter-period-chip strong{font-size:12px;color:#174b3c;margin-top:2px}
.v113-force-hidden{display:none!important}
.v113-live-context{border-left-color:#0c936c!important;background:#f7fffb!important}
.v113-monthly-dashboard .v112-exec-head{border-top:2px solid #c39b43}
.v113-live-dashboard .v112-exec-head{border-top:2px solid #0e9b71}
@media(max-width:900px){
  .v113-mode-banner{align-items:flex-start;flex-wrap:wrap;padding:12px}
  .v113-mode-copy{min-width:calc(100% - 58px)}
  .v113-mode-actions{width:100%;margin-top:3px}
  .v113-mode-actions button{flex:1}
  .v113-filter-period-chip{width:100%;min-width:0}
}

/* =========================================================
   V114 — Single Unit Source / Auto Unit Target
   ========================================================= */
.v114-auto-target-hidden{display:none!important}
.v114-auto-target-note{
  display:flex;
  align-items:center;
  gap:6px;
  margin-top:7px;
  font-size:11px;
  line-height:1.35;
  color:#567084;
  font-weight:500;
}
.v114-auto-target-note strong{color:#173a55;font-weight:800}
.v114-auto-dot{
  width:7px;
  height:7px;
  border-radius:999px;
  background:#18a36b;
  box-shadow:0 0 0 3px rgba(24,163,107,.10);
  flex:0 0 auto;
}
.v114-auto-dot.muted{background:#9aa9b6;box-shadow:none}

/* V115 — standardized content taxonomy */
.v115-taxonomy-note{display:block;margin-top:5px;color:#728198;font-size:11px;line-height:1.35;font-weight:500}
select[data-v115-taxonomy="platform"],select[data-v115-taxonomy="type"]{font-weight:650;color:#18304c;background-color:#fff}

/* V116 — Safe content reconciliation */
.v116-summary{grid-template-columns:repeat(7,minmax(0,1fr))}
.v103-summary-card.v116-unlinked{border-color:#f0c36b;background:linear-gradient(180deg,#fffdf6,#fff9e9)}
.v103-summary-card.v116-unlinked strong{color:#8a5b00}
.v116-sync-ok{border-color:#a9dec4!important;background:#f0fbf5!important}
.v116-calendar-link-field{position:relative}
.v116-calendar-link-field select{border-color:#c5a65a!important;background:#fffdf8!important}
.v116-recommended{display:inline-flex;margin-left:7px;padding:2px 7px;border-radius:999px;background:#fff3cb;color:#7a5700;font-size:9px;font-weight:800;letter-spacing:.08em;vertical-align:middle}
@media(max-width:1400px){.v116-summary{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.v116-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.v116-calendar-link-field{grid-column:1/-1}}

/* =========================================================
   V117 — SPV CONTENT PERFORMANCE FROM TEAM CONTENT
   ========================================================= */
.v117-hero{display:flex;justify-content:space-between;align-items:center;gap:28px;background:linear-gradient(125deg,#071f3d 0%,#0d3f70 62%,#156eb0 100%);border:1px solid rgba(255,255,255,.08);box-shadow:0 22px 48px rgba(8,35,68,.16)}
.v117-hero .hero-copy{max-width:760px}.v117-hero h2{font-size:30px;letter-spacing:-.02em}.v117-flow{flex:0 0 auto;color:#dbeafe;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);border-radius:16px;padding:14px 18px;font-size:12px;line-height:1.5;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.v117-flow b{color:#fff}.v117-source-note{margin:16px 0 14px!important;border-left:4px solid #d8a326!important;background:linear-gradient(90deg,#fffaf0,#fff)!important}
.v117-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0 18px}.v117-summary-grid article{background:#fff;border:1px solid #e5eaf1;border-radius:16px;padding:16px 17px;box-shadow:0 8px 24px rgba(14,35,59,.05)}
.v117-summary-grid article.good{background:linear-gradient(145deg,#f5fffa,#fff);border-color:#cfeede}.v117-summary-grid article.warn{background:linear-gradient(145deg,#fffaf0,#fff);border-color:#f1dfb7}.v117-summary-grid span{display:block;color:#718096;font-size:10px;font-weight:800;letter-spacing:.09em}.v117-summary-grid strong{display:block;color:#0b2748;font-size:28px;line-height:1.1;margin:6px 0}.v117-summary-grid small{display:block;color:#8291a4;font-size:11px}
.v117-content-table td{vertical-align:middle}.v117-content-table td strong{display:block;color:#102b4e}.v117-content-table td small{display:block;margin-top:3px;color:#7a899b;line-height:1.35}.v117-content-table .btn{white-space:nowrap}
.v117-performance-form-card{margin:20px 0;border:1px solid #dbe5f1;box-shadow:0 18px 45px rgba(12,42,75,.10);overflow:hidden}.v117-performance-form-card>.card-head{background:linear-gradient(135deg,#f8fbff,#fff);margin:-1px -1px 0;padding:20px 22px;border-bottom:1px solid #e7edf4}.v117-performance-form-card .eyebrow{display:block;color:#b7791f;font-size:10px;font-weight:900;letter-spacing:.13em;margin-bottom:5px}
.v117-locked-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:18px 20px;background:#f7f9fc;border-bottom:1px solid #e7edf4}.v117-locked-field{min-width:0;background:#fff;border:1px solid #e2e8f0;border-radius:13px;padding:12px 13px}.v117-locked-field>span{display:block;color:#8492a5;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px}.v117-locked-field>strong{display:block;color:#102b4e;font-size:13px;white-space:normal;overflow-wrap:anywhere}.v117-locked-field>small{display:block;color:#78879a;font-size:10px;line-height:1.4;margin-top:4px}.v117-locked-field a{color:#1769aa;font-weight:700;text-decoration:none}
.v117-performance-form-card form{padding:0 20px 20px}.v117-performance-form-card .form-section{margin-top:18px}.v117-performance-form-card .form-section h4{font-size:14px;color:#0d2c50;margin-bottom:4px}.v117-performance-form-card .form-section>p{color:#718096;font-size:11px;margin:0 0 12px}.v117-performance-form-card .field small{display:block;color:#8a97a8;font-size:9px;line-height:1.35;margin-top:4px}.v117-mini-result{margin-top:9px;padding:10px 12px;border-radius:10px;background:#f3f8ff;color:#50657f;font-size:11px}.v117-mini-result strong{color:#0b5ea8}.v117-verify-head{margin-top:28px}
@media(max-width:1100px){.v117-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v117-locked-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v117-hero{align-items:flex-start;flex-direction:column}.v117-flow{width:100%}}
@media(max-width:680px){.v117-summary-grid{grid-template-columns:1fr 1fr;gap:8px}.v117-summary-grid article{padding:13px}.v117-summary-grid strong{font-size:23px}.v117-locked-grid{grid-template-columns:1fr;padding:12px}.v117-performance-form-card form{padding:0 12px 14px}.v117-performance-form-card>.card-head{padding:16px}.v117-content-table{min-width:980px}.v117-flow{font-size:10px;padding:12px}.v117-hero h2{font-size:24px}}

/* V118 — Audit Waktu Pengisian */
.v118-hero{background:linear-gradient(135deg,#0b1f3a 0%,#102a4c 62%,#17385f 100%);position:relative;overflow:hidden}.v118-hero:after{content:"";position:absolute;right:-80px;top:-120px;width:360px;height:360px;border-radius:50%;border:1px solid rgba(212,175,55,.22);box-shadow:0 0 0 42px rgba(212,175,55,.035),0 0 0 84px rgba(212,175,55,.025)}.v118-clock{position:relative;z-index:2;padding:12px 16px;border:1px solid rgba(255,255,255,.15);border-radius:16px;background:rgba(255,255,255,.08);color:#fff;white-space:nowrap}.v118-filter-card{background:#fff;border:1px solid #e7ebf1;border-radius:20px;padding:18px 20px;margin:18px 0;box-shadow:0 12px 34px rgba(15,36,64,.06)}.v118-summary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:16px 0 22px}.v118-summary-grid article{min-height:112px;background:linear-gradient(180deg,#fff,#fbfcfe);border:1px solid #e7ebf1;border-radius:18px;padding:15px;box-shadow:0 8px 24px rgba(15,36,64,.045)}.v118-summary-grid article span{font-size:11px;font-weight:800;letter-spacing:.06em;color:#697386}.v118-summary-grid article strong{display:block;font-size:26px;line-height:1.15;color:#102a43;margin:8px 0 5px}.v118-summary-grid article small{display:block;color:#7b8794;line-height:1.35}.v118-summary-grid article.good{border-top:3px solid #1b9c6d}.v118-summary-grid article.warn{border-top:3px solid #d99b21}.v118-summary-grid article.bad{border-top:3px solid #c84b4b}.v118-summary-grid article.night{border-top:3px solid #5067b8}.v118-audit-table td{vertical-align:top}.v118-audit-table td strong{display:block}.v118-audit-table td small{display:block;margin-top:4px;color:#7b8794}.v118-audit-badge{display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:11px;padding:6px 10px;border-radius:999px;white-space:nowrap}.v118-audit-badge.green{background:#e9f8f1;color:#137a55}.v118-audit-badge.amber{background:#fff4d8;color:#9a6711}.v118-audit-badge.red{background:#fdeaea;color:#a33535}.v118-audit-badge.blue{background:#e9f2ff;color:#305e9f}.v118-audit-badge.gray{background:#eef1f5;color:#667085}.v118-timeband{display:inline-block;padding:5px 8px;border-radius:8px;background:#f4f6f8;color:#455468;font-size:12px;font-weight:700}@media(max-width:1250px){.v118-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.v118-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v118-summary-grid article{min-height:100px}.v118-clock{display:none}.v118-filter-card{padding:14px}.v118-audit-table{min-width:1050px}}

/* V120 — Dana Aktual Budget per Outlet */
.v120-budget-flow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 14px;margin:12px 0 14px;border:1px solid #dfe8ef;border-radius:14px;background:linear-gradient(135deg,#f8fbfd,#fffdf7);color:#31526b;font-size:11px;font-weight:700}.v120-budget-flow span{display:inline-flex;align-items:center;gap:6px}.v120-budget-flow b{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:999px;background:#0f4f7c;color:#fff;font-size:10px}.v120-budget-flow i{font-style:normal;color:#c89c3d}.v120-primary{border-color:#dcc58b!important;background:linear-gradient(135deg,#fffdf7,#fff9e9)!important}.v120-primary strong{color:#7b5a12!important}.v120-primary small{display:block;margin-top:4px;color:#8b7a5c;font-size:8px;line-height:1.3}.v120-negative{color:#b42318!important}.v120-budget-table{min-width:1850px!important}.v120-budget-table td:nth-child(n+2):nth-child(-n+9){text-align:center;white-space:nowrap}.v120-allocation-field input{border-color:#d9bd6a!important;background:#fffdf6}
@media(max-width:900px){.v120-budget-flow{font-size:10px}.v120-budget-flow i{display:none}}

/* =========================================================
   V121 — Content Intelligence Accuracy
   ========================================================= */
.v121-engine .v94-section-title{align-items:flex-start}
.v121-accuracy-note{display:flex;gap:12px;align-items:flex-start;margin:14px 0 16px;padding:13px 15px;border:1px solid #d7e7f5;border-radius:14px;background:#f6fbff;color:#27415d}
.v121-accuracy-note strong{color:#0c3159;white-space:nowrap}
.v121-table th,.v121-table td{vertical-align:top}
.v121-table small{display:block;margin-top:4px;line-height:1.35;color:#68788a}
.v121-score-btn{appearance:none;border:0;background:transparent;padding:0;text-align:left;cursor:pointer;color:#173a62}
.v121-score-btn b{display:block;font-size:14px}
.v121-score-btn small{font-size:10px;color:#2d6cb0;text-decoration:underline;text-underline-offset:2px}
.v121-conf{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800;letter-spacing:.02em;white-space:nowrap}
.v121-conf.conf-tinggi{background:#e7f8ef;color:#087246;border:1px solid #afe6c9}
.v121-conf.conf-sedang{background:#fff6dd;color:#8a5b00;border:1px solid #f3d98d}
.v121-conf.conf-rendah{background:#fff0ef;color:#a43b34;border:1px solid #efbbb6}
.v121-modal{position:fixed;inset:0;z-index:99999;background:rgba(5,20,38,.58);display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(3px)}
.v121-modal-card{position:relative;width:min(760px,96vw);max-height:88vh;overflow:auto;background:#fff;border:1px solid #dbe3ec;border-radius:20px;box-shadow:0 28px 80px rgba(4,21,43,.28);padding:24px}
.v121-close{position:absolute;right:18px;top:14px;border:0;background:#edf3f8;border-radius:999px;width:34px;height:34px;font-size:22px;cursor:pointer;color:#27415d}
.v121-modal-card h2{margin:6px 42px 8px 0;color:#102f54;font-size:24px;line-height:1.2}
.v121-modal-card>p{color:#53667a;line-height:1.55}
.v121-modal-head{display:flex;align-items:center;gap:14px;margin:16px 0}
.v121-modal-head>div:first-child{display:flex;align-items:baseline;gap:10px}
.v121-modal-head b{font-size:28px;color:#0c3159}
.v121-modal-head span{font-weight:800;color:#425873}
.v121-part-list{display:grid;gap:10px;margin:18px 0}
.v121-part{display:grid;grid-template-columns:150px 1fr 62px 70px;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid #edf1f5}
.v121-part>span{font-weight:700;color:#244261}
.v121-part>div{height:8px;border-radius:999px;background:#edf2f7;overflow:hidden}
.v121-part i{display:block;height:100%;background:linear-gradient(90deg,#163b66,#2c78bd);border-radius:999px}
.v121-part b{font-size:12px;color:#163b66}
.v121-part small{font-size:10px;color:#75869a}
.v121-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}
.v121-detail-grid>div{padding:12px;border:1px solid #e2e8ef;border-radius:12px;background:#fafcff}
.v121-detail-grid span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:#7b8da0;margin-bottom:5px}
.v121-detail-grid b{font-size:12px;color:#1f3f60;line-height:1.35}
.v121-rulebox{padding:14px 16px;border-radius:14px;background:#eef8f3;border:1px solid #c7e8d7;margin-top:12px}
.v121-rulebox.soft{background:#f6f8fb;border-color:#e0e6ed}
.v121-rulebox strong{color:#173a62}
.v121-rulebox p{margin:5px 0 0;color:#52667a;line-height:1.5}
@media(max-width:760px){
  .v121-accuracy-note{display:block}.v121-accuracy-note strong{display:block;margin-bottom:5px}
  .v121-part{grid-template-columns:110px 1fr 52px}.v121-part small{display:none}
  .v121-detail-grid{grid-template-columns:1fr 1fr}
  .v121-modal-card{padding:20px 16px}.v121-modal-card h2{font-size:20px}
}

/* V122 — Weekly Performance Snapshot */
.v122-stage{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:850;letter-spacing:.02em;line-height:1.15;border:1px solid transparent}
.v122-stage.stage-gray{background:#f2f4f7;color:#667085;border-color:#e4e7ec}.v122-stage.stage-blue{background:#eef6ff;color:#175cd3;border-color:#b2ddff}.v122-stage.stage-green{background:#ecfdf3;color:#067647;border-color:#abefc6}.v122-stage.stage-purple{background:#f4f3ff;color:#5925dc;border-color:#d9d6fe}
.v122-content-table td small,.v122-analysis-table td small{display:block;margin-top:5px;color:#667085;line-height:1.3}.v122-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.v122-observation-section{border:1px solid #cfe4f8;background:linear-gradient(180deg,#f6fbff,#fff);border-radius:16px;padding:16px}.v122-maturity-preview{align-self:end;min-height:72px;padding:12px 14px;border-radius:12px;border:1px solid #d0d5dd;background:#f8fafc}.v122-maturity-preview strong{display:block;color:#173b62;margin-bottom:4px}.v122-maturity-preview span{display:block;color:#667085;font-size:11px;line-height:1.45}.v122-maturity-preview.stage-blue{background:#eff8ff;border-color:#b2ddff}.v122-maturity-preview.stage-green{background:#ecfdf3;border-color:#abefc6}.v122-maturity-preview.stage-purple{background:#f4f3ff;border-color:#d9d6fe}
.v122-history-head{margin-top:22px}.v122-snapshot-table .v122-stage{white-space:nowrap}.v122-accuracy-note{background:linear-gradient(90deg,#eef8ff,#f7fbff)}
.v122-analysis-table th:nth-child(1){min-width:220px}.v122-analysis-table th:nth-child(5){min-width:155px}.v122-performance-card{scroll-margin-top:90px}
@media(max-width:980px){.v122-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.v122-summary-grid{grid-template-columns:1fr}.v122-maturity-preview{min-height:auto}}

/* V124 — Target Matrix Outlet × Foto × Video */
.v124-allocation-wrap{margin:14px 0 18px;padding:16px;border:1px solid #dbe5f0;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(17,40,70,.04)}
.v124-allocation-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:12px}.v124-allocation-head span{font-size:10px;font-weight:900;letter-spacing:.12em;color:#9b6a13}.v124-allocation-head h3{margin:3px 0 0}.v124-allocation-head small{max-width:430px;text-align:right;color:#6d7f91}
.v124-target-table td small,.v124-target-editor td small{display:block;margin-top:3px;color:#7b8a9b}.v124-target-table td strong{font-variant-numeric:tabular-nums}
.v124-line-row td{background:#f4f7fb!important;color:#153c68;font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;border-top:2px solid #dce6f1}
.v124-target-editor input{min-width:90px;max-width:130px}.v124-legacy-targets{margin:14px 0;padding:12px 14px;border:1px dashed #e0b969;border-radius:14px;background:#fffaf0}.v124-legacy-targets summary{cursor:pointer;font-weight:800;color:#895b0d}.v124-legacy-targets p{color:#7b6a4c;font-size:12px}
.v124-recovery-split{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}.v124-recovery-split>div{padding:11px 12px;border:1px solid #dfe8f2;border-radius:12px;background:#f8fbfe}.v124-recovery-split span,.v124-recovery-split small{display:block}.v124-recovery-split span{font-size:10px;font-weight:900;letter-spacing:.1em;color:#687d94}.v124-recovery-split strong{display:block;font-size:18px;margin:3px 0;color:#102f55}.v124-recovery-split small{color:#72869a}
@media(max-width:900px){.v124-allocation-head{display:block}.v124-allocation-head small{display:block;text-align:left;margin-top:6px}.v124-recovery-split{grid-template-columns:1fr}.v124-target-editor input{min-width:72px;max-width:100px}}


/* V125 — fast-first dashboard status */
.v125-deferred-badge{display:flex;align-items:center;gap:10px;margin:10px 0 14px;padding:9px 13px;border:1px solid #d8e4ef;border-radius:12px;background:#f7fbff;color:#14324f;font-size:12px}
.v125-deferred-badge>span{width:15px;height:15px;border:2px solid #d7e0e9;border-top-color:#c79a22;border-radius:50%;animation:v125spin .8s linear infinite;flex:0 0 auto}
.v125-deferred-badge strong{font-size:12px}.v125-deferred-badge small{margin-left:auto;color:#6c7e90}
@keyframes v125spin{to{transform:rotate(360deg)}}
@media(max-width:760px){.v125-deferred-badge{align-items:flex-start;flex-wrap:wrap}.v125-deferred-badge small{width:100%;margin-left:25px}}
/* V126 — overall target per business line */
.v124-target-editor td:first-child strong{font-size:14px}.v124-target-editor input{max-width:150px}.v124-allocation-head small{max-width:420px}

/* V127 — target posted Foto / Video */
.v127-target-split{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 10px}
.v127-target-row{border:1px solid #e4eaf2;border-radius:12px;padding:10px 11px;background:#fbfcfe}
.v127-target-row-head,.v127-target-row-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}
.v127-target-row-head span{font-size:10px;font-weight:900;letter-spacing:.08em;color:#61758a}
.v127-target-row-head strong{font-size:14px;color:#0c2d52}
.v127-target-row-foot{margin-top:6px;font-size:10px;color:#708399}
.v127-target-bar{height:6px;background:#edf1f6;border-radius:999px;overflow:hidden;margin-top:7px}
.v127-target-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#168a62,#25b17b)}
.v127-target-row.video .v127-target-bar i{background:linear-gradient(90deg,#1c64c8,#4b8df8)}
.v127-target-copy{grid-template-columns:1fr 1fr!important;gap:8px!important}
.v127-target-copy>div{min-width:0}
.v127-target-copy span{white-space:normal}
@media(max-width:760px){.v127-target-split{grid-template-columns:1fr}.v127-target-copy{grid-template-columns:1fr 1fr!important}}

/* V128 — monthly target split + progressive loading */
.v113-monthly-dashboard .v127-target-split,
.v113-live-dashboard .v127-target-split{margin-top:14px}
.v113-monthly-dashboard .v125-deferred-badge,
.v113-live-dashboard .v125-deferred-badge{position:relative;z-index:1}

/* V129 — Budget summary per outlet / bagian */
.v129-budget-summary-wrap{margin:12px 0 6px}
.v129-budget-summary-title{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:10px}
.v129-budget-summary-title span{font-size:8px;font-weight:900;letter-spacing:.12em;color:#8a9aab}
.v129-budget-summary-title h3{margin:3px 0 0;font-size:17px;color:#153a5b}
.v129-budget-summary-title small{font-size:9px;color:#8293a4}
.v129-budget-summary-main{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.v129-summary-card{position:relative;overflow:hidden;padding:14px 15px;border:1px solid #dfe7ee;border-radius:14px;background:#fff;box-shadow:0 5px 18px rgba(20,56,86,.045)}
.v129-summary-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#8da6bb}
.v129-summary-card span{display:block;font-size:8px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#7e8e9e}
.v129-summary-card strong{display:block;margin-top:6px;font-size:20px;line-height:1.05;color:#163d60}
.v129-summary-card small{display:block;margin-top:6px;font-size:9px;line-height:1.35;color:#8090a0}
.v129-summary-card.budget{background:linear-gradient(135deg,#fffdf7,#fff8e8);border-color:#ead8a5}.v129-summary-card.budget:before{background:#d7a72e}.v129-summary-card.budget strong{color:#76520b}
.v129-summary-card.spent{background:linear-gradient(135deg,#f8fbff,#edf5ff);border-color:#d8e7f7}.v129-summary-card.spent:before{background:#3988de}
.v129-summary-card.remain{background:linear-gradient(135deg,#f7fffb,#ecfaf3);border-color:#cfeee0}.v129-summary-card.remain:before{background:#2fac7a}
.v129-summary-card.meta{background:linear-gradient(135deg,#fbfaff,#f4f0ff);border-color:#e2daf8}.v129-summary-card.meta:before{background:#7956d8}
.v129-summary-card.used{background:linear-gradient(135deg,#fffafa,#fff0f0);border-color:#f2d6d6}.v129-summary-card.used:before{background:#d95656}.v129-summary-card.used strong{color:#a92d2d}
.v129-budget-summary-secondary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:8px}
.v129-budget-summary-secondary>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;border:1px solid #e4ebf0;border-radius:10px;background:#fbfcfd}
.v129-budget-summary-secondary span{font-size:8px;font-weight:800;color:#7b8c9b;text-transform:uppercase}.v129-budget-summary-secondary strong{font-size:12px;color:#264f6f}
.v129-budget-table{min-width:2150px!important}
.v129-budget-table th.v129-budget-col{min-width:230px;background:#f5f8fb}
.v129-budget-table td.v129-budget-cell{min-width:230px;text-align:left!important;padding:8px 10px!important}
.v129-outlet-cell{min-width:165px}
.v129-line-chip{display:inline-flex;margin-top:5px;padding:3px 7px;border-radius:999px;background:#eef5fb;color:#35627f;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.v129-budget-mini{display:grid;gap:4px;padding:5px 7px;border:1px solid #e4ebf1;border-radius:10px;background:linear-gradient(180deg,#fff,#fbfcfd)}
.v129-budget-mini>div{display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:6px;padding:4px 5px;border-radius:7px;background:#f7f9fb;line-height:1.15}
.v129-budget-mini b{font-size:8px;font-weight:750;color:#60778a;white-space:nowrap}.v129-budget-mini strong{font-size:9px;color:#234b69;white-space:nowrap}
.v129-budget-mini .dot{width:7px;height:7px;border-radius:50%}.v129-budget-mini .dot.budget{background:#3d8fe3}.v129-budget-mini .dot.spent{background:#26a97a}.v129-budget-mini .dot.remain{background:#d7a52d}.v129-budget-mini .dot.subsidy{background:#8d6ccf}
.v129-budget-mini .over{background:#fff0f0}.v129-budget-mini .over strong{color:#b42318}
.v129-budget-mini.subsidy>div{grid-template-columns:8px 1fr auto;background:#f7f2ff}
@media(max-width:1250px){.v129-budget-summary-main{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.v129-budget-summary-main{grid-template-columns:repeat(2,minmax(0,1fr))}.v129-budget-summary-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}.v129-budget-summary-title{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.v129-budget-summary-main,.v129-budget-summary-secondary{grid-template-columns:1fr}.v129-summary-card strong{font-size:18px}}
