
:root{
  --green-950:#063b2d;
  --green-900:#07533d;
  --green-800:#0b6b4f;
  --green-700:#13815e;
  --green-600:#1a936f;
  --green-500:#2aa879;
  --mint-100:#edf8f3;
  --mint-200:#dff2e9;
  --mint-300:#cbe9dc;
  --ink:#10243b;
  --ink-2:#33465c;
  --muted:#6d7d8f;
  --line:#dce6e2;
  --surface:#fff;
  --surface-2:#f7faf9;
  --yellow:#f5a623;
  --red:#c84d4d;
  --blue:#3569c8;
  --shadow:0 12px 34px rgba(15,49,39,.08);
  --radius:14px;
  --radius-sm:10px;
  --container:1200px;
  --font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:var(--font);background:#fff;line-height:1.55}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
img{max-width:100%}
.container{width:min(var(--container),calc(100% - 40px));margin:auto}
.topbar{height:72px;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:30}
.nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{font-weight:900;font-size:25px;letter-spacing:-1.5px;color:var(--ink)}
.logo span{color:var(--green-600)}
.logo small{display:block;font-size:8px;letter-spacing:.2px;color:var(--muted);font-weight:700;margin-top:-4px}
.navlinks{display:flex;align-items:center;gap:22px;font-size:13px;font-weight:700;color:#43566a}
.navlinks a:hover{color:var(--green-700)}
.nav-actions{display:flex;align-items:center;gap:10px}
.btn{border:1px solid transparent;border-radius:9px;padding:11px 17px;font-weight:800;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:.18s}
.btn-primary{background:var(--green-800);color:#fff}
.btn-primary:hover{background:var(--green-950);transform:translateY(-1px)}
.btn-outline{border-color:var(--green-300);color:var(--green-800);background:#fff}
.btn-outline:hover{background:var(--mint-100)}
.btn-light{background:#fff;color:var(--green-900);border-color:#dce8e3}
.btn-ghost{background:transparent;color:var(--ink-2)}
.hero{background:linear-gradient(120deg,#eff9f5 0%,#f8fbfa 50%,#e5f3ec 100%);padding:76px 0 70px;position:relative;overflow:hidden}
.hero:after{content:"";position:absolute;width:430px;height:430px;border-radius:50%;background:rgba(23,144,105,.12);right:-100px;top:-160px}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;position:relative;z-index:1}
.eyebrow{font-size:12px;letter-spacing:2px;font-weight:900;color:var(--green-700);text-transform:uppercase}
h1{font-size:clamp(38px,5vw,64px);line-height:1.03;letter-spacing:-2.7px;margin:14px 0 18px}
h1 span{color:var(--green-700)}
h2{font-size:30px;line-height:1.15;letter-spacing:-1px;margin:0 0 10px}
h3{margin:0 0 8px;line-height:1.2}
.lead{font-size:17px;color:var(--ink-2);max-width:680px}
.searchbar{display:flex;background:#fff;border:1px solid #dce8e3;border-radius:12px;padding:5px;box-shadow:var(--shadow);margin-top:26px;max-width:720px}
.searchbar input{flex:1;border:0;outline:0;padding:12px 14px;min-width:0}
.searchbar button{min-width:105px}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.chip{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:11px;color:var(--ink-2)}
.hero-art{min-height:360px;border-radius:24px;background:linear-gradient(145deg,#155b45,#082f25);position:relative;overflow:hidden;box-shadow:var(--shadow)}
.hero-art:before{content:"";position:absolute;width:260px;height:340px;right:55px;bottom:-70px;background:linear-gradient(145deg,#c8e5d8,#fff);border-radius:120px 120px 20px 20px;transform:rotate(10deg);opacity:.9}
.hero-card{position:absolute;right:22px;top:22px;background:#fff;border-radius:13px;padding:18px;width:210px;box-shadow:0 18px 35px rgba(0,0,0,.15)}
.hero-stat{display:flex;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.hero-stat:last-child{border:0}
.iconbox{width:38px;height:38px;border-radius:10px;background:var(--mint-100);display:grid;place-items:center;color:var(--green-800);font-weight:900}
.hero-quote{position:absolute;left:24px;top:52px;color:#fff;font-size:25px;font-weight:800;max-width:190px;line-height:1.1}
.section{padding:64px 0}
.section-soft{background:var(--surface-2)}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}
.section-head p{margin:0;color:var(--muted)}
.grid{display:grid;gap:16px}
.grid-4{grid-template-columns:repeat(4,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-2{grid-template-columns:repeat(2,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:0 4px 16px rgba(16,36,59,.035)}
.card:hover{box-shadow:var(--shadow)}
.category-card{min-height:160px;background:linear-gradient(145deg,#fbfffd,#edf8f3);position:relative}
.category-card .arrow{position:absolute;right:15px;bottom:15px;width:32px;height:32px;border-radius:50%;background:#fff;display:grid;place-items:center;color:var(--green-800);border:1px solid var(--line)}
.feature-strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.feature{padding:20px;display:flex;gap:12px;align-items:center}
.feature strong{display:block}
.feature span{font-size:12px;color:var(--muted)}
.provider{padding:0;overflow:hidden}
.provider-top{padding:18px}
.provider-img{height:115px;background:linear-gradient(135deg,#d9e8e2,#8db6a7);display:grid;place-items:center;color:#fff;font-weight:900;font-size:32px}
.provider-meta{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:10px 0}
.badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:900;background:var(--mint-100);color:var(--green-800)}
.badge.sponsored{background:#fff0df;color:#bd6b16}
.rating{color:#d99108;font-weight:900}
.muted{color:var(--muted)}
.small{font-size:12px}
.tags{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}
.tag{font-size:10px;background:#f2f6f5;border-radius:999px;padding:4px 8px;color:#506172}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.stat{background:var(--mint-100);border:1px solid var(--mint-200);padding:18px;border-radius:12px}
.stat b{display:block;font-size:28px;color:var(--green-800)}
.cta-band{padding:48px 0;background:linear-gradient(100deg,#064b39,#0b7455);color:#fff}
.cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}
.cta-panel{padding:42px 40px;min-height:235px}
.cta-panel.light{background:#e8f5ef;color:var(--ink)}
.cta-panel:first-child{border-radius:16px 0 0 16px}
.cta-panel:last-child{border-radius:0 16px 16px 0}
.logos{display:grid;grid-template-columns:repeat(7,1fr);gap:20px;align-items:center}
.logo-pill{font-weight:900;color:#7d8997;text-align:center;font-size:17px}
.quote-card{min-height:170px}
.avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#6f8f83,#dbe9e3);display:grid;place-items:center;font-weight:900;color:#fff}
.user{display:flex;gap:10px;align-items:center;margin-top:18px}
.newsletter{background:#eef8f4;border:1px solid var(--mint-200);border-radius:14px;padding:25px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.newsletter form{display:flex;gap:8px;min-width:420px}
.newsletter input{flex:1;border:1px solid var(--line);border-radius:9px;padding:12px}
.footer{background:#f7faf9;border-top:1px solid var(--line);padding:45px 0 18px}
.footer-grid{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:30px}
.footer h4{margin:0 0 10px}
.footer a{display:block;color:#657487;font-size:12px;margin:7px 0}
.footer-bottom{border-top:1px solid var(--line);margin-top:30px;padding-top:15px;color:#7a8794;font-size:11px;display:flex;justify-content:space-between}
.page-hero{padding:52px 0;background:linear-gradient(120deg,#eff9f5,#fff)}
.breadcrumbs{font-size:12px;color:var(--muted);margin-bottom:15px}
.toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;margin:25px 0;flex-wrap:wrap}
.filters{display:flex;gap:8px;flex-wrap:wrap}
.select,.input{border:1px solid var(--line);border-radius:9px;background:#fff;padding:10px 12px;outline:none}
.directory-layout{display:grid;grid-template-columns:250px 1fr;gap:25px}
.sidebar{position:sticky;top:90px;align-self:start}
.filter-box{padding:15px;border-bottom:1px solid var(--line)}
.filter-box:last-child{border:0}
.check{display:flex;gap:8px;font-size:12px;margin:8px 0;color:var(--ink-2)}
.list{display:grid;gap:12px}
.listing{display:grid;grid-template-columns:80px 1fr auto;gap:16px;align-items:center}
.logo-square{width:72px;height:72px;border-radius:14px;background:var(--mint-100);display:grid;place-items:center;color:var(--green-800);font-weight:900;font-size:24px}
.listing-actions{text-align:right}
.pagination{display:flex;justify-content:center;gap:7px;margin-top:25px}
.page-num{border:1px solid var(--line);padding:8px 12px;border-radius:8px;background:#fff}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px}
table{width:100%;border-collapse:collapse;min-width:700px}
th,td{padding:14px;border-bottom:1px solid var(--line);text-align:left;font-size:13px}
th{background:#f6faf8;color:#526273}
.profile-head{background:linear-gradient(120deg,#f0faf5,#fff);padding:38px 0;border-bottom:1px solid var(--line)}
.profile-grid{display:grid;grid-template-columns:1fr 320px;gap:24px}
.profile-logo{width:92px;height:92px;border-radius:20px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;color:var(--green-800);font-size:34px;font-weight:900}
.profile-title{display:flex;gap:18px;align-items:center}
.tabs{display:flex;gap:5px;overflow:auto;border-bottom:1px solid var(--line);margin:25px 0}
.tab{padding:12px 16px;border-bottom:2px solid transparent;white-space:nowrap;font-size:13px;font-weight:800;color:var(--muted)}
.tab.active{color:var(--green-800);border-color:var(--green-700)}
.article{max-width:820px;margin:auto}
.article h2{margin-top:35px}
.article p,.article li{color:#405367}
.callout{border-left:4px solid var(--green-700);background:var(--mint-100);padding:16px;border-radius:0 10px 10px 0}
.form-card{max-width:760px;margin:auto}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{display:flex;flex-direction:column;gap:6px}
.field.full{grid-column:1/-1}
.field label{font-size:12px;font-weight:800}
.field input,.field textarea,.field select{border:1px solid var(--line);border-radius:9px;padding:11px;outline:none;background:#fff}
.field textarea{min-height:140px;resize:vertical}
.dashboard{background:#f5f8f7;min-height:calc(100vh - 72px)}
.dashboard-layout{display:grid;grid-template-columns:230px 1fr;min-height:calc(100vh - 72px)}
.dash-side{background:#073d2f;color:#fff;padding:22px 14px}
.dash-side .logo{color:#fff;margin:0 10px 25px}
.dash-nav a{display:block;padding:11px 12px;border-radius:8px;color:#cfe5dd;font-size:13px;margin:3px 0}
.dash-nav a.active,.dash-nav a:hover{background:#0b5a43;color:#fff}
.dash-main{padding:28px}
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px}
.kpi strong{font-size:26px}
.alert{padding:13px 15px;border-radius:10px;background:#fff8e9;border:1px solid #f4dfad;color:#765615}
.success{background:#edf8f3;border-color:#c8e8d9;color:#146143}
.search-results{margin-top:20px}
.empty{padding:50px;text-align:center;border:1px dashed #bfd0c9;border-radius:14px;color:var(--muted)}
.modal-backdrop{display:none;position:fixed;inset:0;background:rgba(4,25,19,.45);z-index:50;align-items:center;justify-content:center;padding:20px}
.modal{background:#fff;border-radius:16px;max-width:520px;width:100%;padding:24px;box-shadow:0 25px 70px rgba(0,0,0,.2)}
.modal-backdrop.show{display:flex}
.toast{position:fixed;right:20px;bottom:20px;background:#073d2f;color:#fff;padding:13px 16px;border-radius:10px;opacity:0;transform:translateY(10px);transition:.2s;z-index:80}
.toast.show{opacity:1;transform:none}
@media(max-width:1000px){
 .navlinks{display:none}.hero-grid,.profile-grid,.directory-layout,.dashboard-layout{grid-template-columns:1fr}
 .sidebar{position:static}.grid-4,.feature-strip,.kpi-grid{grid-template-columns:repeat(2,1fr)}
 .footer-grid{grid-template-columns:repeat(2,1fr)}.logos{grid-template-columns:repeat(4,1fr)}
 .dash-side{min-height:auto}.cta-grid{grid-template-columns:1fr}.cta-panel:first-child,.cta-panel:last-child{border-radius:0}
}
@media(max-width:650px){
 .container{width:min(100% - 24px,var(--container))}
 h1{font-size:40px}.section{padding:45px 0}.grid-3,.grid-2,.grid-4,.feature-strip,.stat-grid,.form-grid{grid-template-columns:1fr}
 .newsletter{align-items:stretch;flex-direction:column}.newsletter form{min-width:0}.listing{grid-template-columns:58px 1fr}.listing-actions{grid-column:2;text-align:left}
 .logos{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.footer-bottom{display:block}
 .hero-art{min-height:300px}.hero-card{width:185px}.hero-quote{font-size:20px}
}

/* AUTHENTICATED LEADMATRIX APP */
.app-shell{background:#f5f8f7;min-height:100vh}.app-layout{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.app-sidebar{background:#063b2d;color:#fff;padding:18px 14px;position:sticky;top:0;height:100vh;overflow:auto}.app-sidebar .logo{color:#fff;margin:4px 10px 25px}.app-sidebar .logo span{color:#55c59a}.side-section{margin:18px 10px 7px;color:#8fc7b1;font-size:10px;font-weight:900;letter-spacing:1.3px;text-transform:uppercase}.side-nav a{display:flex;gap:10px;align-items:center;padding:10px 11px;border-radius:8px;color:#d7ebe4;font-size:12px;margin:3px 0}.side-nav a:hover,.side-nav a.active{background:#0b5a43;color:#fff}.side-icon{width:20px;text-align:center}.app-main{min-width:0}.app-topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:20}.top-search{display:flex;gap:8px;align-items:center;border:1px solid var(--line);border-radius:9px;padding:7px 11px;width:min(430px,45vw);background:#fafcfb}.top-search input{border:0;outline:0;background:transparent;width:100%;font-size:12px}.top-actions{display:flex;align-items:center;gap:10px}.icon-btn{width:38px;height:38px;border:1px solid var(--line);border-radius:9px;background:#fff;display:grid;place-items:center;position:relative}.notification-dot{position:absolute;right:7px;top:6px;width:6px;height:6px;border-radius:50%;background:#d89116}.user-menu{display:flex;align-items:center;gap:9px;padding-left:8px}.user-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#0b6b4f,#6da995);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:900}.user-menu small{display:block;color:var(--muted)}.dashboard-content{padding:28px}.page-titlebar{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px}.page-titlebar h1{font-size:32px;letter-spacing:-1.4px;margin:0 0 6px}.page-titlebar p{margin:0;color:var(--muted);font-size:13px}.breadcrumbs-dash{font-size:11px;color:var(--muted);margin-bottom:8px}.actions{display:flex;gap:8px;flex-wrap:wrap}.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.kpi-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:17px;position:relative}.kpi-label{font-size:11px;color:var(--muted);font-weight:700}.kpi-value{font-size:27px;font-weight:900;margin:6px 0}.kpi-change{font-size:10px;color:var(--green-800);font-weight:800}.kpi-icon{position:absolute;right:15px;top:15px;width:35px;height:35px;border-radius:9px;background:var(--mint-100);display:grid;place-items:center;color:var(--green-800)}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px}.dashboard-grid.equal{grid-template-columns:1fr 1fr}.dashboard-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:19px}.card-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px}.card-header h2{font-size:18px;margin:0}.card-header p{font-size:11px;color:var(--muted);margin:3px 0}.link-btn{color:var(--green-800);font-size:11px;font-weight:900}.activity{display:grid;grid-template-columns:30px 1fr auto;gap:10px;padding:12px 0;border-bottom:1px solid #edf1ef}.activity:last-child{border-bottom:0}.activity-icon{width:30px;height:30px;border-radius:8px;background:var(--mint-100);color:var(--green-800);display:grid;place-items:center;font-size:12px;font-weight:900}.activity strong{font-size:12px}.activity p{margin:3px 0 0;font-size:10px;color:var(--muted)}.activity time{font-size:10px;color:var(--muted)}.progress{height:8px;border-radius:99px;background:#e8efec;overflow:hidden}.progress>span{display:block;height:100%;background:var(--green-600);border-radius:inherit}.progress-row{display:grid;grid-template-columns:120px 1fr 40px;gap:10px;align-items:center;margin:11px 0;font-size:11px}.dash-table{width:100%;border-collapse:collapse;min-width:680px}.dash-table th,.dash-table td{padding:11px 9px;border-bottom:1px solid #edf1ef;text-align:left;font-size:11px;vertical-align:middle}.dash-table th{background:#f8faf9;color:#637386;font-size:10px;text-transform:uppercase;letter-spacing:.4px}.status{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 8px;font-size:9px;font-weight:900}.status-green{background:#eaf7f0;color:#16704e}.status-yellow{background:#fff5df;color:#9b6a11}.status-red{background:#fdeeee;color:#a94343}.status-blue{background:#edf3ff;color:#3e64ad}.filterbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.form-section{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:15px;padding:20px}.form-section h2{font-size:17px;margin-bottom:3px}.section-desc{font-size:11px;color:var(--muted);margin-bottom:17px}.settings-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:14px 0;border-bottom:1px solid #edf1ef}.settings-row:last-child{border-bottom:0}.settings-row h3{font-size:12px;margin:0 0 3px}.settings-row p{font-size:10px;color:var(--muted);margin:0;max-width:650px}.toggle{width:42px;height:23px;border-radius:99px;background:#cbd7d2;padding:3px;border:0}.toggle span{display:block;width:17px;height:17px;border-radius:50%;background:#fff;transition:.2s}.toggle.on{background:var(--green-600)}.toggle.on span{transform:translateX(19px)}.notice{display:grid;grid-template-columns:35px 1fr auto;gap:10px;padding:13px;border:1px solid var(--line);border-radius:10px;background:#fff;margin-bottom:8px}.notice.unread{border-left:3px solid var(--green-600);background:#fbfefa}.notice h3{font-size:12px;margin:0}.notice p{font-size:10px;color:var(--muted);margin:3px 0}.notice time{font-size:9px;color:var(--muted)}.system-health{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.health-item{padding:13px;background:#f8faf9;border:1px solid var(--line);border-radius:9px}.health-item b{font-size:12px;display:block}.health-item span{font-size:10px;color:var(--green-800)}.chart{height:220px;border:1px solid #edf1ef;border-radius:10px;background:#fbfdfc;padding:18px;display:flex;align-items:end;gap:10px}.chart-bar{flex:1;background:#8bc5ae;border-radius:5px 5px 0 0}@media(max-width:1000px){.app-layout{grid-template-columns:1fr}.app-sidebar{position:static;height:auto}.side-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}.side-section{display:none}.kpi-row{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.dashboard-grid.equal{grid-template-columns:1fr}}@media(max-width:650px){.app-topbar{padding:0 12px}.top-search{display:none}.user-menu div:last-child{display:none}.dashboard-content{padding:16px}.side-nav{grid-template-columns:1fr 1fr}.kpi-row{grid-template-columns:1fr}.page-titlebar{display:block}.actions{margin-top:12px}.system-health{grid-template-columns:1fr}}

/* ===== Homepage & media-rich UI ===== */
.search-bar{display:flex;gap:8px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px;max-width:34rem;margin:1.25rem 0}
.search-bar input{flex:1;border:0;outline:0;padding:10px 12px;font-size:14px}
.hero-visual{position:relative}
.hero-photo{width:100%;max-width:520px;height:auto;border-radius:24px;object-fit:cover;box-shadow:var(--shadow)}
.hero-stats-card{position:absolute;right:-12px;bottom:24px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 16px;box-shadow:var(--shadow);min-width:200px}
.stat-row{display:flex;gap:10px;align-items:center;padding:8px 0}
.stat-row b{display:block;font-size:16px;color:var(--green-800)}
.stat-row small{color:var(--muted);font-size:11px}
.stat-icon{font-size:18px}
.trust-bar{border-bottom:1px solid var(--line);background:#fff;padding:28px 0}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.trust-item{display:flex;gap:12px;align-items:flex-start}
.trust-item strong{display:block;font-size:14px}
.trust-item small{color:var(--muted);font-size:12px}
.trust-ico{font-size:22px}
.section{padding:48px 0}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.section-head h2{margin:0;font-size:26px;font-weight:900}
.link-more{color:var(--green-700);font-weight:800;font-size:13px}
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.cat-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:transform .15s,box-shadow .15s}
.cat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.cat-card img{width:100%;height:140px;object-fit:cover;display:block}
.cat-body{padding:14px 16px}
.cat-body strong{display:block;font-size:15px}
.cat-body span{font-size:12px;color:var(--green-700);font-weight:700}
.cat-body p{margin:6px 0 0;font-size:13px;color:var(--muted)}
.provider-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.provider-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;position:relative}
.provider-card.is-sponsored{border-color:#f0c48a;box-shadow:0 0 0 1px #fde8c8}
.provider-top{display:flex;gap:10px;align-items:flex-start}
.provider-logo{border-radius:12px;object-fit:cover;background:var(--mint-100)}
.provider-tagline{font-size:13px;margin:8px 0;min-height:36px}
.provider-cover{width:100%;height:120px;object-fit:cover;border-radius:12px;margin-top:8px}
.tag-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.tag{font-size:11px;font-weight:700;background:#f3f7f5;border:1px solid var(--line);border-radius:999px;padding:3px 8px;color:var(--ink-2)}
.research-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.research-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}
.research-card img{width:100%;height:160px;object-fit:cover}
.research-body{padding:14px 16px;display:flex;flex-direction:column;gap:6px}
.research-body strong{font-size:15px}
.cta-band{padding:20px 0 48px}
.cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cta-card{display:grid;grid-template-columns:1.1fr .9fr;gap:12px;align-items:center;border-radius:18px;overflow:hidden;padding:22px;background:linear-gradient(120deg,#0b6b4f,#13815e);color:#fff}
.cta-card.vendor{background:linear-gradient(120deg,#edf8f3,#dff2e9);color:var(--ink)}
.cta-card img{width:100%;height:180px;object-fit:cover;border-radius:14px}
.cta-card h2{font-size:22px;margin:6px 0 10px}
.cta-card.buyer .btn-primary{background:#fff;color:var(--green-800)}
.logo-strip{display:flex;flex-wrap:wrap;gap:28px;justify-content:center;margin-top:24px;color:#9aa8b5;font-weight:800;font-size:18px;letter-spacing:.5px}
.testimonial-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.testimonial-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;margin:0}
.testimonial-card p{font-size:14px;color:var(--ink-2);line-height:1.55}
.testimonial-foot{display:flex;gap:10px;align-items:center;margin-top:14px}
.testimonial-foot img{border-radius:50%;object-fit:cover}
.testimonial-foot small{display:block}
.newsletter{background:var(--mint-100);border-top:1px solid var(--mint-200);padding:28px 0}
.newsletter-inner{display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap}
.newsletter-form{display:flex;gap:8px}
.newsletter-form input{border:1px solid var(--line);border-radius:9px;padding:11px 14px;min-width:240px}
.dir-layout{display:grid;grid-template-columns:260px 1fr;gap:20px;margin-top:16px}
.dir-filters{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;height:fit-content}
.dir-filters h3{font-size:13px;margin:0 0 10px}
.filter-link{display:flex;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid #eef3f1;font-size:13px}
.filter-link img{border-radius:8px;object-fit:cover}
.dir-card{display:grid;grid-template-columns:160px 1fr auto;gap:14px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;margin-bottom:12px;align-items:center}
.dir-card.is-sponsored{border-color:#f0c48a}
.dir-cover{width:160px;height:110px;object-fit:cover;border-radius:12px}
.dir-actions{display:flex;flex-direction:column;gap:6px}
.profile-hero{position:relative}
.profile-cover{width:100%;height:220px;object-fit:cover;border-radius:18px;display:block}
.profile-main{display:flex;gap:18px;align-items:flex-start;margin-top:-36px;position:relative;flex-wrap:wrap}
.profile-logo-lg{border-radius:20px;border:4px solid #fff;background:#fff;box-shadow:var(--shadow);object-fit:cover}
.profile-ctas{display:flex;gap:8px;flex-wrap:wrap}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.gallery img{width:100%;height:180px;object-fit:cover;border-radius:14px}
.article-hero{width:100%;height:320px;object-fit:cover;border-radius:18px;margin-bottom:18px}
@media(max-width:960px){
  .trust-grid,.cat-grid,.cta-grid,.dir-layout,.gallery{grid-template-columns:1fr}
  .dir-card{grid-template-columns:1fr}
  .dir-cover{width:100%;height:160px}
  .hero-stats-card{position:static;margin-top:12px}
}

/* GoodFirms-class professional extras */
.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:12px;top:12px;z-index:99;background:#fff;padding:8px 12px}
.nav-dd{position:relative}
.nav-dd-btn{background:none;border:0;font:inherit;font-weight:700;font-size:13px;color:#43566a;cursor:pointer;padding:0}
.nav-dd-menu{display:none;position:absolute;top:120%;left:0;min-width:280px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px;box-shadow:var(--shadow);z-index:40}
.nav-dd:hover .nav-dd-menu,.nav-dd:focus-within .nav-dd-menu{display:block}
.nav-dd-menu a{display:block;padding:10px 12px;border-radius:8px;font-size:13px}
.nav-dd-menu a:hover{background:var(--mint-100)}
.nav-dd-menu strong{display:block;font-size:13px}
.nav-dd-menu span{display:block;color:var(--muted);font-size:12px;font-weight:500}
.hero-lead{color:var(--ink-2);max-width:38rem;font-size:1.08rem;line-height:1.6}
.popular-row a{margin-right:10px;font-weight:600;color:var(--green-700)}
.discover-band{background:#f7faf9;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:40px 0}
.discover-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}
.discover-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;transition:box-shadow .15s}
.discover-card:hover{box-shadow:var(--shadow)}
.discover-kicker{display:block;font-size:11px;font-weight:900;letter-spacing:1px;text-transform:uppercase;color:var(--green-700);margin-bottom:8px}
.discover-card strong{display:block;font-size:17px;margin-bottom:8px}
.discover-card p{color:var(--muted);font-size:14px;margin:0 0 12px}
.center-title{text-align:center}
.service-hub-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.service-hub-card{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;transition:box-shadow .15s}
.service-hub-card:hover{box-shadow:var(--shadow)}
.service-hub-card img{width:56px;height:56px;border-radius:10px;object-fit:cover}
.service-hub-card strong{display:block;font-size:14px}
.service-hub-card span{font-size:12px}
.why-trust{background:#f7faf9;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.why-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}
.why-card h3{margin:0 0 8px;font-size:16px}
.why-card p{margin:0;color:var(--ink-2);font-size:14px;line-height:1.55}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:24px;margin-bottom:24px}
.footer h4{font-size:12px;text-transform:uppercase;letter-spacing:.8px;margin:0 0 10px;color:var(--ink)}
.callout{background:var(--mint-100);border:1px solid var(--mint-200);border-radius:12px;padding:16px 18px;color:var(--ink-2);line-height:1.55}
.callout.warn{background:#fff8eb;border-color:#f0d9a8}
.data-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:16px 0}
.data-table th,.data-table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line);font-size:14px}
.data-table th{background:#f6faf8;font-weight:800}
.plain-list{padding-left:1.2rem;line-height:1.7;color:var(--ink-2)}
.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}
.plan-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;position:relative}
.plan-card.featured{border-color:var(--green-600);box-shadow:0 0 0 1px var(--green-600)}
.plan-price{font-size:32px;font-weight:900;margin:8px 0}
.plan-price small{font-size:14px;font-weight:600;color:var(--muted)}
.form-stack label{display:block;margin:12px 0;font-weight:700;font-size:13px}
.form-stack input,.form-stack select,.form-stack textarea{display:block;width:100%;margin-top:6px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;font:inherit}
.method-page h2{margin-top:32px}
@media(max-width:960px){
  .discover-grid,.service-hub-grid,.why-grid,.plan-grid,.footer-grid{grid-template-columns:1fr}
  .navlinks{display:none}
}

/* —— Polish: buttons, auth, footer contrast —— */
.btn-sm{padding:8px 14px;font-size:12px;border-radius:8px;font-weight:800;display:inline-flex;align-items:center;gap:4px;line-height:1.2}
.btn-icon{width:36px;height:36px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:#fff;color:var(--ink-2);font-size:16px}
.btn-icon:hover{border-color:var(--green-600);color:var(--green-800)}
.btn-block{width:100%;justify-content:center}
.btn-link{color:var(--green-700);font-weight:700;font-size:13px;text-decoration:none}
.btn-link:hover{text-decoration:underline}
.nav-actions{display:flex;gap:8px;align-items:center}
.logo{font-size:24px}
.logo-lg{font-size:28px !important;letter-spacing:-1.2px}
.logo small{font-size:9px;margin-top:3px;opacity:.9}

/* Footer contrast */
.footer{background:#0a2f24;color:#d7ebe4;border-top:0;padding:48px 0 20px;margin-top:48px}
.footer .logo{color:#fff}
.footer .logo span{color:#55c59a}
.footer .logo small{color:#8fc7b1}
.footer-tagline{color:#9fe3c4;font-weight:800;font-size:14px;margin:10px 0 8px}
.footer-desc{color:#a8c4b8;font-size:13px;line-height:1.55;max-width:280px;margin:0}
.footer h4{color:#9fe3c4 !important;font-size:11px;letter-spacing:1px}
.footer a{color:#c5ddd3 !important;font-size:13px}
.footer a:hover{color:#fff !important}
.footer-bottom{border-top:1px solid #1a4d3d;margin-top:28px;padding-top:16px;color:#8fb5a6;font-size:12px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}

/* Auth screens */
.auth-body{min-height:100vh;display:grid;place-items:center;background:linear-gradient(160deg,#edf8f3 0%,#fff 55%,#f3faf7 100%);padding:24px;font-family:Inter,system-ui,sans-serif}
.auth-card{width:min(420px,100%);background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px 28px 22px;box-shadow:0 16px 40px rgba(15,49,39,.08)}
.auth-card h1{font-size:22px;margin:14px 0 6px;font-weight:900}
.auth-card label{display:block;margin:12px 0;font-weight:700;font-size:13px}
.auth-card input[type=email],.auth-card input[type=password],.auth-card input[type=text]{display:block;width:100%;margin-top:6px;padding:11px 12px;border:1px solid var(--line);border-radius:9px;font:inherit}
.auth-row{display:flex;justify-content:space-between;align-items:center;margin:8px 0 14px;gap:8px}
.auth-foot{text-align:center;margin-top:16px;font-size:13px}
.check{font-weight:600 !important;display:flex !important;align-items:flex-start;gap:8px;font-size:13px !important}
.check input{margin-top:3px}

/* Review page */
.review-layout{display:grid;grid-template-columns:1.4fr .8fr;gap:28px;align-items:start}
.review-aside{position:sticky;top:88px}
.account-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:18px}
.account-grid .why-card{transition:box-shadow .15s}
.account-grid .why-card:hover{box-shadow:var(--shadow)}

/* Glossary */
.glossary dt{font-weight:800;font-size:15px;margin-top:18px;color:var(--green-800)}
.glossary dd{margin:6px 0 0;color:var(--ink-2);line-height:1.55;padding-left:0}

/* Hero photo polish */
.hero-photo{aspect-ratio:4/5;object-fit:cover;object-position:center top;border-radius:22px;max-height:480px}

@media(max-width:900px){
  .review-layout,.account-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column}
}

/* CTA fixes */
.cta-band{padding:40px 0 56px;background:linear-gradient(100deg,#064b39,#0b7455)}
.cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.cta-card{display:grid;grid-template-columns:1.15fr .85fr;gap:16px;align-items:center;border-radius:20px;padding:24px;overflow:hidden}
.cta-card.buyer{background:linear-gradient(135deg,#0b6b4f,#127a5c);color:#fff;border:1px solid rgba(255,255,255,.12)}
.cta-card.vendor{background:#edf8f3;color:var(--ink);border:1px solid var(--mint-200)}
.cta-copy h2{font-size:22px;margin:6px 0 10px;line-height:1.25}
.cta-copy p{margin:0 0 16px;line-height:1.55;font-size:14px}
.cta-eyebrow{color:#b8e8d4 !important}
.cta-media{border-radius:14px;overflow:hidden;background:rgba(255,255,255,.12);min-height:160px}
.cta-media img{width:100%;height:180px;object-fit:cover;display:block}
.btn-cta-light{
  display:inline-flex;align-items:center;gap:6px;
  background:#fff;color:#0b6b4f;font-weight:800;font-size:13px;
  padding:11px 18px;border-radius:10px;border:0;box-shadow:0 2px 8px rgba(0,0,0,.12)
}
.btn-cta-light:hover{background:#f3faf7;transform:translateY(-1px)}
.btn-cta-dark{
  display:inline-flex;align-items:center;gap:6px;
  background:#0b6b4f;color:#fff;font-weight:800;font-size:13px;
  padding:11px 18px;border-radius:10px;border:0
}
.btn-cta-dark:hover{background:#064b39}

.solutions-cta{
  margin-top:36px;padding:22px 24px;border-radius:16px;
  background:var(--mint-100);border:1px solid var(--mint-200);
  display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap
}

/* Suggest / autocomplete */
.suggest-box{
  position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:50;
  background:#fff;border:1px solid var(--line);border-radius:12px;
  box-shadow:0 12px 32px rgba(15,49,39,.12);padding:6px;max-height:320px;overflow:auto
}
.suggest-item{display:block;padding:10px 12px;border-radius:8px;color:var(--ink)}
.suggest-item:hover{background:var(--mint-100)}
.suggest-item strong{display:block;font-size:13px}
.suggest-item span{display:block;font-size:12px;color:var(--muted)}

@media(max-width:900px){
  .cta-grid,.cta-card{grid-template-columns:1fr}
  .cta-media img{height:160px}
}

/* Logo tagline visibility */
.topbar .logo{line-height:1.15}
.topbar .logo small{
  display:block;
  font-size:11px !important;
  letter-spacing:.3px;
  color:#3d5c4f !important;
  font-weight:700 !important;
  margin-top:3px !important;
  opacity:1 !important;
  max-width:160px;
  line-height:1.25;
}

/* Larger nav Login / Register / Search */
.btn-nav{
  display:inline-flex;align-items:center;justify-content:center;
  padding:10px 16px;font-size:13px;font-weight:800;
  border-radius:10px;border:1px solid var(--line);
  background:#fff;color:var(--ink);line-height:1.2;min-height:40px
}
.btn-nav:hover{border-color:var(--green-600);color:var(--green-800);background:var(--mint-100)}
.btn-nav-primary{
  background:var(--green-800) !important;color:#fff !important;border-color:var(--green-800) !important
}
.btn-nav-primary:hover{background:var(--green-950) !important;color:#fff !important}
.btn-nav-icon{
  width:40px;height:40px;border-radius:10px;display:inline-flex;
  align-items:center;justify-content:center;border:1px solid var(--line);
  background:#fff;color:var(--ink-2);font-size:18px
}
.btn-nav-icon:hover{border-color:var(--green-600);color:var(--green-800)}
.nav-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}

/* Directory small action buttons */
.dir-actions{display:flex;flex-direction:column;gap:8px;min-width:96px}
.btn-dir{
  display:inline-flex;align-items:center;justify-content:center;
  padding:8px 14px;font-size:12px;font-weight:800;border-radius:8px;
  min-height:34px;text-align:center;white-space:nowrap
}
.btn-dir-primary{background:var(--green-800);color:#fff;border:1px solid var(--green-800)}
.btn-dir-primary:hover{background:var(--green-950)}
.btn-dir-outline{background:#fff;color:var(--green-800);border:1px solid var(--green-600)}
.btn-dir-outline:hover{background:var(--mint-100)}

/* Contact + legal */
.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;margin-top:20px;align-items:start}
.contact-form-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px}
.contact-aside .why-card p{margin:0 0 12px}
.legal-page{max-width:820px}
.legal-page h2{margin-top:28px;font-size:18px}
.legal-page p{color:var(--ink-2);line-height:1.65}

.demo-creds{margin-top:18px;padding:12px;background:var(--mint-100);border:1px solid var(--mint-200);border-radius:12px;font-size:12px}
.demo-creds table{width:100%;margin-top:8px;border-collapse:collapse}
.demo-creds td{padding:4px 6px;border-bottom:1px solid rgba(0,0,0,.06);font-size:11px}
.demo-creds code{font-size:11px;background:#fff;padding:2px 5px;border-radius:4px}

@media(max-width:900px){
  .contact-grid{grid-template-columns:1fr}
  .topbar .logo small{max-width:120px;font-size:10px !important}
}

/* Tagline: one clean line under logo */
.topbar .logo small{
  display:block;
  font-size:10px !important;
  letter-spacing:.4px;
  color:#3d5c4f !important;
  font-weight:700 !important;
  margin-top:2px !important;
  white-space:nowrap;
  max-width:none !important;
  line-height:1.2;
  opacity:1 !important;
}

/* Dashboard shared */
.page-titlebar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.page-titlebar h1{margin:0;font-size:26px;font-weight:900}
.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
.kpi-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px}
.kpi-label{font-size:12px;color:var(--muted);font-weight:700}
.kpi-value{font-size:28px;font-weight:900;margin:4px 0}
.kpi-change{font-size:12px;color:var(--green-700);font-weight:700}
.dash-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:16px}
.dash-panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}
.dash-panel h2{font-size:16px;margin:0 0 12px}
.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.panel-head h2{margin:0}
.panel-head a{font-size:13px;font-weight:700;color:var(--green-700)}
.list-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #eef3f1}
.list-row:last-child{border-bottom:0}
.action-stack{display:flex;flex-direction:column;gap:8px}
.action-stack .btn-outline,.action-stack a{justify-content:center}
.filter-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.chip{padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:12px;font-weight:700;color:var(--ink-2)}
.chip:hover{border-color:var(--green-600);color:var(--green-800)}
.msg-layout{display:grid;grid-template-columns:280px 1fr;border:1px solid var(--line);border-radius:14px;min-height:420px;background:#fff;overflow:hidden}
.msg-list{border-right:1px solid var(--line)}
.msg-item{padding:14px;border-bottom:1px solid var(--line);cursor:pointer}
.msg-item.active,.msg-item:hover{background:var(--mint-100)}
.msg-thread{padding:16px;background:#f5f8f7;display:flex;flex-direction:column;gap:10px}
.msg-bubble{max-width:75%;padding:10px 14px;border-radius:12px;font-size:14px;line-height:1.45}
.msg-bubble.in{background:#fff;border:1px solid var(--line);align-self:flex-start}
.msg-bubble.out{background:var(--green-800);color:#fff;align-self:flex-end}
.msg-compose{display:flex;gap:8px;margin-top:auto;padding-top:12px}
.msg-compose input{flex:1;padding:10px 12px;border:1px solid var(--line);border-radius:10px}
.dashboard-content{padding:24px 28px}
@media(max-width:960px){
  .kpi-row,.dash-grid,.msg-layout{grid-template-columns:1fr}
  .app-layout{grid-template-columns:1fr}
  .app-sidebar{position:relative;height:auto}
}

/* Provider workspace unique modules */
.strength-banner{display:grid;grid-template-columns:1.2fr 1fr;gap:18px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;margin-bottom:18px}
.strength-score{font-size:42px;font-weight:900;color:var(--green-800);line-height:1}
.strength-score span{font-size:18px;color:var(--muted);font-weight:700}
.strength-gaps{display:flex;flex-direction:column;gap:8px;justify-content:center}
.gap-item{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;background:var(--mint-100);border-radius:10px;font-size:13px;font-weight:600}
.gap-item a{color:var(--green-700);font-weight:800}
.onboard-wrap{max-width:640px}
.onboard-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}
.onboard-step{display:flex;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}
.onboard-step span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#e8f0ec;font-weight:900;font-size:13px}
.onboard-step.active{border-color:var(--green-600);background:var(--mint-100)}
.onboard-step.done span{background:var(--green-800);color:#fff}
.onboard-step strong{display:block;font-size:13px}
.onboard-step small{color:var(--muted);font-size:11px}
.verify-track{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.verify-step{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px}
.verify-step strong{display:block;font-size:13px;margin-bottom:4px}
.verify-step span{font-size:12px;color:var(--muted)}
.verify-step.done{border-color:#8fd4b0;background:#f3faf7}
.verify-step.active{border-color:var(--green-600);box-shadow:0 0 0 1px var(--green-600)}
.vis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px}
.vis-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px}
.vis-card.featured{border-color:var(--green-600);box-shadow:0 0 0 1px var(--green-600)}
.vis-card h2{margin:6px 0 10px;font-size:20px}
.badge-preview{display:grid;place-items:center;min-height:140px;background:#f5f8f7;border-radius:12px}
.lm-badge{background:#0b6b4f;color:#fff;border-radius:12px;padding:14px 18px;text-align:center;min-width:200px}
.lm-badge strong{display:block;font-size:16px}
.lm-badge span{display:block;font-size:14px;margin:4px 0}
.lm-badge small{opacity:.85;font-size:11px}
.code-block{background:#0f1f2e;color:#d7ebe4;padding:14px;border-radius:10px;font-size:12px;overflow:auto;white-space:pre-wrap}
@media(max-width:960px){
  .strength-banner,.verify-track,.vis-grid,.onboard-steps{grid-template-columns:1fr}
}

/* Enterprise buyer / international */
.intl-strip{display:flex;flex-wrap:wrap;gap:16px;padding:12px 16px;background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:16px;font-size:13px;color:var(--ink-2)}
.intl-strip b{color:var(--green-800)}
.locale-chip{font-size:11px;font-weight:800;padding:6px 10px;border-radius:999px;background:var(--mint-100);border:1px solid var(--mint-200);color:var(--green-800)}
.stage-rail{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.stage{padding:6px 12px;border-radius:999px;background:#eef3f1;font-size:12px;font-weight:800;color:var(--muted)}
.stage.done{background:#d8f0e4;color:var(--green-800)}
.stage.active{background:var(--green-800);color:#fff}
.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
@media(max-width:800px){.form-grid-2,.form-grid-3{grid-template-columns:1fr}}

/* Realtime chat + calls */
.chat-shell{display:grid;grid-template-columns:280px 1fr;border:1px solid var(--line);border-radius:16px;background:#fff;min-height:520px;overflow:hidden}
.chat-list{border-right:1px solid var(--line);overflow:auto}
.chat-list-item{display:block;padding:14px;border-bottom:1px solid var(--line);color:var(--ink)}
.chat-list-item strong{display:block;font-size:14px}
.chat-list-item.active,.chat-list-item:hover{background:var(--mint-100)}
.chat-main{display:flex;flex-direction:column;min-height:520px}
.chat-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.chat-header-actions{display:flex;gap:6px}
.chat-thread{flex:1;padding:16px;background:#f5f8f7;overflow:auto;display:flex;flex-direction:column;gap:10px}
.chat-compose{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line);background:#fff}
.chat-compose input[type=text]{flex:1;padding:10px 12px;border:1px solid var(--line);border-radius:10px}
.chat-empty{display:grid;place-items:center;flex:1}
.msg-meta{font-size:11px;opacity:.75;margin-bottom:4px}
.msg-file{display:inline-block;margin-top:6px;font-size:12px;font-weight:700;color:inherit;text-decoration:underline}
.typing-hint{padding:0 16px 8px;font-size:12px;color:var(--muted)}
.toggle-alerts{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700}
.presence-toast{position:fixed;right:20px;bottom:20px;background:#0b6b4f;color:#fff;padding:12px 16px;border-radius:12px;z-index:100;box-shadow:0 8px 24px rgba(0,0,0,.2);font-size:13px;font-weight:600}
.call-modal{position:fixed;inset:0;background:rgba(0,0,0,.45);display:grid;place-items:center;z-index:120}
.call-modal[hidden]{display:none !important}
.call-modal-card{background:#fff;border-radius:16px;padding:24px;max-width:360px;text-align:center}
.call-stage{position:fixed;inset:0;background:#0a2f24;z-index:110;display:grid;grid-template-rows:1fr auto}
.call-stage[hidden]{display:none !important}
.call-stage video#remoteVideo{width:100%;height:100%;object-fit:cover;background:#000}
.call-stage video#localVideo{position:absolute;right:16px;bottom:80px;width:160px;height:120px;object-fit:cover;border-radius:12px;border:2px solid #fff}
.call-controls{padding:16px;display:flex;justify-content:center;gap:12px;background:rgba(0,0,0,.35)}
@media(max-width:900px){.chat-shell{grid-template-columns:1fr}}

/* Call icon buttons */
.btn-call{
  width:40px;height:40px;border-radius:50%;border:1px solid var(--line);
  display:inline-grid;place-items:center;cursor:pointer;background:#fff;
  transition:background .15s, transform .1s, box-shadow .15s;
}
.btn-call:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(11,107,79,.15)}
.btn-call-audio{color:#0b6b4f}
.btn-call-audio:hover{background:#edf8f3;border-color:#0b6b4f}
.btn-call-video{color:#fff;background:#0b6b4f;border-color:#0b6b4f}
.btn-call-video:hover{background:#064b39}
.chat-header-actions{display:flex;gap:8px;align-items:center}

.form-grid{display:grid;gap:12px}
.form-grid label{display:grid;gap:6px;font-size:13px;font-weight:700}
.form-grid input,.form-grid select,.form-grid textarea{
  padding:10px 12px;border:1px solid var(--line);border-radius:10px;font:inherit;font-weight:500
}
.callout.warn{background:#fff5f5;border-color:#f0c0c0;color:#8a2020}

/* ===== Portal responsive + mobile bottom nav ===== */
.sidebar-toggle{display:none;border:0;background:#f3f6f4;border-radius:10px;width:40px;height:40px;font-size:18px;cursor:pointer}
.top-title{font-weight:700;font-size:15px;color:var(--ink,#0b1f17)}
.user-meta{display:block}
.badge-showcase{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:20px;align-items:end;text-align:center}
.badge-showcase.chips{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.badge-showcase figcaption{margin-top:8px;font-size:13px}
.embed-box{width:100%;font-family:ui-monospace,monospace;font-size:12px;padding:10px;border-radius:10px;border:1px solid var(--line,#dce5df)}

.mobile-bottom-nav{
  display:none;
  position:fixed;left:0;right:0;bottom:0;z-index:1000;
  height:64px;padding-bottom:env(safe-area-inset-bottom);
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(12px);
  border-top:1px solid #e2ebe5;
  box-shadow:0 -8px 24px rgba(11,31,23,.06);
  grid-template-columns:repeat(5,1fr);
  align-items:center;
}
.mobile-bottom-nav a{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  text-decoration:none;color:#6b7c74;font-size:10px;font-weight:600;
  height:100%;padding:6px 2px;transition:color .15s;
}
.mobile-bottom-nav a .mbn-icon{font-size:18px;line-height:1}
.mobile-bottom-nav a.active{color:#0b6b4f}
.mobile-bottom-nav a.active .mbn-icon{
  background:#e8f7ef;color:#0b6b4f;width:36px;height:28px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
}

@media (max-width: 960px){
  .app-sidebar{
    position:fixed;left:0;top:0;bottom:0;z-index:900;
    transform:translateX(-105%);transition:transform .22s ease;
    width:min(300px,86vw);box-shadow:none;
  }
  body.sidebar-open .app-sidebar{transform:translateX(0);box-shadow:8px 0 32px rgba(0,0,0,.18)}
  body.sidebar-open::after{
    content:"";position:fixed;inset:0;background:rgba(11,31,23,.35);z-index:850;
  }
  .sidebar-toggle{display:inline-flex;align-items:center;justify-content:center}
  .user-meta small{display:none}
  .app-main{width:100%;min-width:0}
  .dashboard-content{padding:14px 14px 88px}
  .mobile-bottom-nav{display:grid}
  .kpi-row{grid-template-columns:repeat(2,1fr)!important}
  .plan-grid,.provider-grid,.vis-grid{grid-template-columns:1fr!important}
  .chat-shell{grid-template-columns:1fr!important}
  .chat-list{max-height:180px;overflow:auto}
  .page-titlebar{flex-direction:column;align-items:flex-start;gap:10px}
  .form-grid-2,.form-grid-3{grid-template-columns:1fr!important}
  .data-table{display:block;overflow-x:auto;white-space:nowrap}
  .app-topbar .top-search{flex:1;min-width:0}
  .app-topbar .top-search input{width:100%}
}

@media (max-width: 560px){
  .kpi-row{grid-template-columns:1fr 1fr!important}
  .logo small{display:none}
  h1{font-size:1.35rem}
}

/* Profile & verification */
.profile-progress .progress-bar{height:8px;background:#e8efe9;border-radius:99px;overflow:hidden;margin-bottom:8px}
.profile-progress .progress-bar span{display:block;height:100%;background:linear-gradient(90deg,#1db954,#0b6b4f);border-radius:99px}
.profile-form .dash-panel h2{margin:0 0 12px;font-size:1.05rem}
.verify-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:8px}
.v-step{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--line,#dce5df);border-radius:12px;background:#fff}
.v-step span{width:28px;height:28px;border-radius:50%;background:#e8efe9;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:12px;flex-shrink:0}
.v-step.done span{background:#1db954;color:#fff}
.v-step strong{display:block;font-size:13px}
.v-step small{color:#6b7c74;font-size:11px}
.badge-lg{font-size:13px;padding:6px 12px}
.dash-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.trust-explain{background:linear-gradient(180deg,#f6fbf8,#fff)}
.form-stack label{display:block;margin-bottom:12px;font-weight:600;font-size:13px}
.form-stack input,.form-stack select,.form-stack textarea{display:block;width:100%;margin-top:6px;padding:10px 12px;border:1px solid var(--line,#dce5df);border-radius:10px;font:inherit}
.company-hero{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:20px}
.company-hero-main{display:flex;gap:16px;align-items:flex-start}
.company-logo{border-radius:14px;object-fit:cover;border:1px solid var(--line,#dce5df)}
.company-hero-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-start}
.company-layout{display:grid;grid-template-columns:1fr 280px;gap:16px}
.fact-list{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;font-size:13px;margin:0}
.fact-list dt{color:#6b7c74;font-weight:600}
.fact-list dd{margin:0}
.review-item{border-bottom:1px solid var(--line,#dce5df);padding:12px 0}
.aeo-block{margin:12px 0 0;padding:12px 14px;border-left:3px solid #1db954;background:#f3fbf7;font-size:14px}
@media(max-width:900px){
  .verify-steps{grid-template-columns:1fr 1fr}
  .dash-grid-2,.company-layout{grid-template-columns:1fr}
}
@media(max-width:560px){.verify-steps{grid-template-columns:1fr}}

/* Business profile redesign */
.bp-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.bp-hero h1{margin:4px 0 8px;font-size:1.55rem;letter-spacing:-.02em}
.bp-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0;color:#6b7c74;font-size:13px}
.bp-slug{background:#f3f6f4;padding:2px 8px;border-radius:6px;font-size:12px}
.bp-complete{font-weight:700;color:#0b6b4f}
.bp-hero-actions{display:flex;gap:8px;flex-wrap:wrap}
.bp-progress{margin-bottom:18px}
.bp-progress-track{height:6px;background:#e8efe9;border-radius:99px;overflow:hidden;margin-bottom:8px}
.bp-progress-fill{height:100%;background:linear-gradient(90deg,#1db954,#0b6b4f);border-radius:99px;transition:width .3s}
.bp-form{display:flex;flex-direction:column;gap:14px;max-width:920px}
.bp-card{background:#fff;border:1px solid #e2ebe5;border-radius:14px;padding:18px 20px;box-shadow:0 1px 2px rgba(11,31,23,.04)}
.bp-card-h{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px;gap:10px}
.bp-card-h h2{margin:0;font-size:1rem;font-weight:800}
.bp-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bp-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.bp-field{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;color:#3d5c4c;margin-bottom:10px}
.bp-field input,.bp-field select,.bp-field textarea{font:inherit;font-weight:500;color:#0b1f17;padding:9px 11px;border:1px solid #dce5df;border-radius:9px;background:#fafcfb}
.bp-field input:focus,.bp-field select:focus,.bp-field textarea:focus{outline:2px solid #b7ebc9;border-color:#1db954;background:#fff}
.bp-footer{padding:4px 0 24px}
.btn-sm{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:6px 12px;font-size:12px;font-weight:700;border-radius:8px;text-decoration:none;border:1px solid transparent;cursor:pointer;line-height:1.2}
.btn-sm.btn-primary{background:#0b6b4f;color:#fff}
.btn-sm.btn-outline{background:#fff;border-color:#dce5df;color:#0b1f17}
.btn-sm.btn-outline:hover{border-color:#1db954;color:#0b6b4f}
.bp-help{background:#f6fbf8;border:1px solid #e2ebe5;border-radius:12px;padding:10px 14px;margin-bottom:14px;font-size:13px}
.bp-help summary{cursor:pointer;font-weight:700;color:#0b6b4f}
.review-card{background:#fff;border:1px solid #e2ebe5;border-radius:12px;padding:14px 16px;margin-bottom:10px}
.review-card-h{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}
.review-reply{display:flex;gap:8px;align-items:flex-start;margin-top:10px}
.review-reply textarea{flex:1;padding:8px 10px;border:1px solid #dce5df;border-radius:8px;font:inherit;font-size:13px}
.admin-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0}
.admin-toolbar input[type=search],.admin-toolbar select{padding:8px 10px;border:1px solid #dce5df;border-radius:8px;font:inherit;min-width:160px}
.mod-item{border-bottom:1px solid #e2ebe5;padding:12px 0}
.mod-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:8px}
.mod-actions input{padding:6px 8px;border:1px solid #dce5df;border-radius:8px;font:inherit;font-size:12px}
.inline-edit{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.inline-edit input{padding:5px 8px;border:1px solid #dce5df;border-radius:6px;font:inherit;font-size:12px}
.toggle-row{display:flex;align-items:center;gap:8px;font-weight:600;font-size:13px}
@media(max-width:800px){
  .bp-grid-2,.bp-grid-3{grid-template-columns:1fr}
}

/* Dashboard redesign */
.dash-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.dash-hero h1{margin:4px 0 6px;font-size:1.6rem;letter-spacing:-.02em}
.dash-hero-actions{display:flex;gap:8px;flex-wrap:wrap}
.dash-strength{display:grid;grid-template-columns:1.2fr 1fr;gap:16px;background:linear-gradient(135deg,var(--green-950) 0%,var(--green-800) 100%);color:#fff;border-radius:16px;padding:20px 22px;margin-bottom:16px}
.dash-strength .muted{color:rgba(255,255,255,.72)}
.dash-strength .kpi-label{color:rgba(255,255,255,.65);font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.strength-score{font-size:2.4rem;font-weight:900;line-height:1;margin:6px 0}
.strength-score span{font-size:1rem;font-weight:600;opacity:.7}
.dash-strength-gaps{display:flex;flex-direction:column;gap:8px;justify-content:center}
.gap-chip{display:block;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);color:#fff;text-decoration:none;padding:10px 12px;border-radius:10px;font-size:13px;font-weight:600}
.gap-chip:hover{background:rgba(255,255,255,.18)}
.gap-chip.ok{opacity:.85}
.kpi-row-4{grid-template-columns:repeat(4,1fr)}
.kpi-row-3{grid-template-columns:repeat(3,1fr)}
.kpi-card{background:#fff;border:1px solid #e2ebe5;border-radius:14px;padding:16px 18px;box-shadow:0 1px 2px rgba(11,31,23,.04)}
.kpi-card.accent{border-color:#b7ebc9;background:linear-gradient(180deg,#f3fbf7,#fff)}
.kpi-card.warn{border-color:#f0d9a8;background:linear-gradient(180deg,#fffbf3,#fff)}
.kpi-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#6b7c74;font-weight:700}
.kpi-value{font-size:1.75rem;font-weight:900;letter-spacing:-.02em;margin:4px 0;color:#0b1f17}
.kpi-sub{font-size:12px;color:#6b7c74}
.dash-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.panel-head h2{margin:0;font-size:1rem;font-weight:800}
.panel-head a{font-size:12px;font-weight:700;color:#0b6b4f;text-decoration:none}
.list-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #eef3f0}
.list-row:last-child{border-bottom:0}
.list-row a{color:inherit;text-decoration:none}
.list-row a:hover{color:#0b6b4f}
.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.action-tile{display:flex;flex-direction:column;gap:2px;padding:12px;border:1px solid #e2ebe5;border-radius:12px;text-decoration:none;color:inherit;background:#fafcfb;transition:border-color .15s,box-shadow .15s}
.action-tile:hover{border-color:#1db954;box-shadow:0 4px 12px rgba(11,31,23,.06)}
.action-tile span{font-size:16px}
.action-tile strong{font-size:13px}
.action-tile small{font-size:11px;color:#6b7c74}
.trust-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.intl-strip{background:#f3fbf7;border:1px solid #d5efe0;border-radius:10px;padding:10px 14px;font-size:13px;color:#3d5c4c;margin-bottom:14px}
@media(max-width:960px){
  .kpi-row-4,.kpi-row-3,.dash-grid-2,.dash-strength,.trust-row,.action-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .kpi-row-4,.kpi-row-3,.dash-grid-2,.dash-strength,.trust-row,.action-grid{grid-template-columns:1fr}
}



/* ========== INNER PORTAL POLISH (same theme tokens) ========== */
.app-main > .page-titlebar,
.app-main > .dash-hero,
.app-main > .bp-hero { margin-bottom: 20px; }
.app-main .page-titlebar h1,
.app-main .dash-hero h1,
.app-main .bp-hero h1 { font-size: 28px; letter-spacing: -1px; }
.app-main .dash-panel {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 18px 20px;
  box-shadow: 0 1px 2px rgba(15,49,39,.04);
}
.app-main .dash-panel h2 { margin: 0 0 12px; font-size: 15px; font-weight: 800; color: var(--ink); }
.app-main .split-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.app-main .split-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 14px; }
.app-main .stat-pills { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.app-main .stat-pill {
  background: var(--surface); border: 1px solid var(--line); border-radius: 999px;
  padding: 6px 14px; font-size: 12px; font-weight: 700; color: var(--ink-2);
}
.app-main .stat-pill b { color: var(--green-800); margin-right: 4px; }
.app-main .empty-state { text-align: center; padding: 36px 20px; color: var(--muted); }
.app-main .empty-state strong { display: block; color: var(--ink); margin-bottom: 6px; font-size: 15px; }
.app-main .admin-toolbar {
  display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 4px 0 14px;
  padding: 12px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-sm);
}
.app-main .admin-toolbar input[type=search],
.app-main .admin-toolbar select { min-width: 140px; }
.app-main .btn-sm {
  display: inline-flex; align-items: center; gap: 4px; padding: 6px 12px;
  font-size: 12px; font-weight: 700; border-radius: 8px; text-decoration: none; cursor: pointer;
  border: 1px solid transparent; line-height: 1.2;
}
.app-main .btn-sm.btn-primary { background: var(--green-800); color: #fff; }
.app-main .btn-sm.btn-outline { background: #fff; border-color: var(--line); color: var(--ink); }
.app-main .btn-sm.btn-outline:hover { border-color: var(--green-600); color: var(--green-800); background: var(--mint-100); }
.app-main .mod-actions { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.app-main .list-row {
  display: flex; justify-content: space-between; align-items: center; gap: 10px;
  padding: 12px 0; border-bottom: 1px solid var(--line);
}
.app-main .list-row:last-child { border-bottom: 0; }
.app-main .action-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.app-main .action-tile {
  display: flex; flex-direction: column; gap: 2px; padding: 14px;
  border: 1px solid var(--line); border-radius: var(--radius-sm); text-decoration: none;
  color: inherit; background: var(--surface-2); transition: border-color .15s, box-shadow .15s;
}
.app-main .action-tile:hover { border-color: var(--green-600); box-shadow: var(--shadow); background: #fff; }
.app-main .action-tile strong { font-size: 13px; color: var(--ink); }
.app-main .action-tile small { font-size: 11px; color: var(--muted); }
.app-main .form-stack { display: flex; flex-direction: column; gap: 12px; }
.app-main .form-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.app-main .form-grid-3 { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.app-main label { display: flex; flex-direction: column; gap: 5px; font-size: 12px; font-weight: 700; color: var(--ink-2); }
.app-main input:not([type=checkbox]):not([type=radio]),
.app-main select,
.app-main textarea {
  font: inherit; font-weight: 500; color: var(--ink); padding: 10px 12px;
  border: 1px solid var(--line); border-radius: var(--radius-sm); background: #fff; width: 100%; box-sizing: border-box;
}
.app-main input:focus, .app-main select:focus, .app-main textarea:focus {
  outline: 2px solid var(--mint-300); border-color: var(--green-600);
}
.app-main .data-table { border-radius: var(--radius); overflow: hidden; }
.app-main .badge {
  display: inline-flex; align-items: center; padding: 3px 9px; border-radius: 999px;
  font-size: 11px; font-weight: 700; background: var(--mint-100); color: var(--green-800); border: 1px solid var(--mint-200);
}
.app-main .kpi-row-4 { grid-template-columns: repeat(4, 1fr); }
.app-main .kpi-row-3 { grid-template-columns: repeat(3, 1fr); }
.app-main .kpi-card.accent { border-color: var(--mint-300); background: linear-gradient(180deg, var(--mint-100), #fff); }
.app-main .kpi-card.warn { border-color: #f0d9a8; background: linear-gradient(180deg, #fffbf3, #fff); }
.app-main .kpi-sub { font-size: 12px; color: var(--muted); }
.app-main .panel-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.app-main .panel-head h2 { margin: 0; }
.app-main .panel-head a { font-size: 12px; font-weight: 700; color: var(--green-700); text-decoration: none; }
.app-main .dash-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.app-main .intl-strip {
  background: var(--mint-100); border: 1px solid var(--mint-200); border-radius: var(--radius-sm);
  padding: 10px 14px; font-size: 13px; color: var(--ink-2); margin-bottom: 14px;
}
.app-main .trust-row { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.app-main .dashboard-content, .app-main { padding: 24px 28px 90px; }
@media (max-width: 960px) {
  .app-main .split-2, .app-main .split-3, .app-main .dash-grid-2,
  .app-main .kpi-row-4, .app-main .kpi-row-3, .app-main .action-grid,
  .app-main .form-grid-2, .app-main .form-grid-3, .app-main .trust-row { grid-template-columns: 1fr; }
  .app-main { padding: 16px 14px 90px; }
}

/* Admin DataTables + modals (theme tokens) */
table.dataTable{border-collapse:collapse!important;width:100%!important}
table.dataTable thead th{background:#f6faf8!important;border-bottom:1px solid var(--line)!important}
table.dataTable tbody td{border-bottom:1px solid var(--line)!important}
.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select{
  border:1px solid var(--line);border-radius:8px;padding:6px 10px;margin-left:6px
}
.dataTables_wrapper .dataTables_paginate .paginate_button.current{
  background:var(--mint-100)!important;border-color:var(--mint-200)!important;color:var(--green-800)!important
}
.lm-modal{display:none;position:fixed;inset:0;background:rgba(16,36,59,.45);z-index:1000;align-items:center;justify-content:center;padding:20px}
.lm-modal.is-open{display:flex}
.lm-modal-card{background:#fff;border-radius:14px;border:1px solid var(--line);max-width:520px;width:100%;padding:20px 22px;box-shadow:var(--shadow);max-height:90vh;overflow:auto}
.lm-modal-card h3{margin:0 0 12px;font-size:1.1rem}
.lm-modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}
