:root{
    --bg:#0D1520;
    --surface:#111A27;
    --card:#141F2E;
    --card-border:#22334A50;
    --line:#22334A;
    --text:#EAF0F6;
    --text-dim:#9AACC0;
    --text-faint:#66788F;
    --navy:#1B3A63;
    --navy-dim:#1B3A6333;
    --accent:#4E7FD1;
    --accent-dim:#4E7FD130;
    --teal:#3FA6A0;
    --teal-dim:#3FA6A030;
    --coral:#D9534F;
    --coral-dim:#D9534F2E;
    --amber:#D9A63C;
    --amber-dim:#D9A63C2E;
    --green:#4FA97A;
    --green-dim:#4FA97A2E;
    --purple:#8E7FC7;
    --purple-dim:#8E7FC72E;
    --radius:10px;
    --font-display:'Space Grotesk',sans-serif;
    --font-body:'Inter',sans-serif;
    --font-mono:'JetBrains Mono',monospace;
  }
  html[data-theme="light"]{
    --bg:#F2F4F7;
    --surface:#FFFFFF;
    --card:#FFFFFF;
    --card-border:#E1E6EC;
    --line:#E1E6EC;
    --text:#101826;
    --text-dim:#4E5D70;
    --text-faint:#8896A5;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{transition:background .15s;}
  body{transition:background .15s,color .15s;background:var(--bg);color:var(--text);font-family:var(--font-body);min-height:100vh;overflow-x:hidden;}
  ::selection{background:var(--accent-dim);}
  button{font-family:inherit;}
  a{color:inherit;}

  /* ================= LANDING ================= */
  #landing-screen{min-height:100vh;display:block;background:#FFFFFF;color:#101826;}
  .ld-nav{display:flex;align-items:center;justify-content:space-between;padding:22px 56px;border-bottom:1px solid #EAEDF0;}
  .ld-brand{display:flex;align-items:center;gap:10px;}
  .ld-brand .mark{width:34px;height:34px;border-radius:8px;background:linear-gradient(135deg,#1B3A63,#4E7FD1);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:12px;color:#fff;letter-spacing:-.5px;}
  .ld-brand .brandtext{display:flex;flex-direction:column;}
  .ld-brand .name{font-family:var(--font-display);font-weight:600;font-size:17px;color:#101826;line-height:1;}
  .ld-brand .name em{color:#4E7FD1;font-style:normal;}
  .ld-brand .sub{font-family:var(--font-mono);font-size:8.5px;letter-spacing:1.2px;color:#8896A5;margin-top:3px;}
  .ld-nav-actions{display:flex;gap:10px;}
  .ld-enter{background:#101826;color:#fff;border:none;padding:11px 22px;border-radius:8px;font-family:var(--font-display);font-weight:600;font-size:13.5px;cursor:pointer;transition:background .15s;}
  .ld-enter:hover{background:#26313F;}
  .ld-signup{background:#fff;color:#101826;border:1px solid #D7DDE3;padding:11px 22px;border-radius:8px;font-family:var(--font-display);font-weight:600;font-size:13.5px;cursor:pointer;}
  .ld-signup:hover{border-color:#A9B2BC;}
  .ld-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;max-width:1180px;margin:0 auto;padding:80px 56px 64px;}
  .ld-eyebrow{display:inline-block;font-family:var(--font-mono);font-size:11px;letter-spacing:.8px;color:#1B3A63;background:#EAF0FA;padding:6px 12px;border-radius:20px;margin-bottom:22px;}
  .ld-hero h1{font-family:var(--font-display);font-weight:600;font-size:42px;line-height:1.16;color:#101826;letter-spacing:-.3px;margin-bottom:18px;}
  .ld-hero h1 em{color:#4E7FD1;font-style:normal;}
  .ld-hero p{font-size:16px;color:#5B6472;line-height:1.65;max-width:470px;margin-bottom:30px;}
  .ld-ctas{display:flex;gap:12px;}
  .ld-btn-primary{background:#101826;color:#fff;border:none;padding:13px 24px;border-radius:8px;font-family:var(--font-display);font-weight:600;font-size:14px;cursor:pointer;}
  .ld-btn-primary:hover{background:#26313F;}
  .ld-btn-ghost{background:#fff;color:#101826;border:1px solid #DADFE3;padding:13px 24px;border-radius:8px;font-family:var(--font-display);font-weight:600;font-size:14px;cursor:pointer;}
  .ld-btn-ghost:hover{border-color:#B7BEC5;}
  .ld-preview{background:#0D1520;border-radius:16px;padding:26px;box-shadow:0 24px 60px -18px #10182633;border:1px solid #1A2636;}
  .ld-preview .pv-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;}
  .ld-preview .pv-head .t{font-family:var(--font-mono);font-size:10.5px;color:#66788F;letter-spacing:.5px;}
  .ld-preview .pv-dots span{width:7px;height:7px;border-radius:50%;display:inline-block;margin-left:5px;background:#233246;}
  .pv-gauge-row{display:flex;align-items:center;gap:20px;margin-bottom:18px;}
  .pv-gauge{width:92px;height:92px;border-radius:50%;flex-shrink:0;background:conic-gradient(#D9534F 0% 20%,#D9A63C 20% 40%,#4E7FD1 40% 55%,#3FA6A0 55% 65%,#8E7FC7 65% 75%,#4FA97A 75% 90%,#37455880 90% 100%);position:relative;}
  .pv-gauge::after{content:'';position:absolute;inset:9px;background:#0D1520;border-radius:50%;}
  .pv-gauge-num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);color:#EAF0F6;font-weight:700;font-size:18px;}
  .pv-gauge-label{font-size:12px;color:#9AACC0;line-height:1.5;}
  .pv-gauge-label b{display:block;color:#EAF0F6;font-family:var(--font-display);font-size:13.5px;margin-bottom:3px;}
  .pv-bars{display:flex;flex-direction:column;gap:9px;}
  .pv-bar-row{display:flex;align-items:center;gap:8px;}
  .pv-bar-row .lb{width:76px;font-size:10.5px;color:#9AACC0;flex-shrink:0;}
  .pv-bar-track{flex:1;height:6px;background:#1A2636;border-radius:4px;overflow:hidden;}
  .pv-bar-fill{height:100%;border-radius:4px;}
  .ld-stats{border-top:1px solid #EAEDF0;border-bottom:1px solid #EAEDF0;background:#FAFBFC;}
  .ld-stats-inner{max-width:1180px;margin:0 auto;padding:32px 56px;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
  .ld-stat b{display:block;font-family:var(--font-display);font-size:25px;color:#101826;margin-bottom:4px;}
  .ld-stat span{font-size:12px;color:#5B6472;}
  .ld-pillars-wrap{max-width:1180px;margin:0 auto;padding:60px 56px 20px;}
  .ld-pillars-wrap h3{font-family:var(--font-display);font-size:14px;color:#8B96A3;font-weight:500;text-transform:uppercase;letter-spacing:.6px;margin-bottom:20px;}
  .ld-pillars-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
  .ld-pillar-chip{border:1px solid #E3E7EA;border-radius:10px;padding:14px 16px;background:#fff;}
  .ld-pillar-chip b{display:block;font-family:var(--font-display);font-size:13.5px;color:#101826;margin-bottom:3px;}
  .ld-pillar-chip span{font-size:11.5px;color:#8B96A3;font-family:var(--font-mono);}
  .ld-chips-wrap{max-width:1180px;margin:0 auto;padding:44px 56px 90px;}
  .ld-chips-wrap h3{font-family:var(--font-display);font-size:14px;color:#8B96A3;font-weight:500;text-transform:uppercase;letter-spacing:.6px;margin-bottom:20px;}
  .ld-chips{display:flex;flex-wrap:wrap;gap:9px;}
  .ld-chip{font-size:12.5px;padding:8px 14px;border-radius:20px;border:1px solid #E3E7EA;color:#3D4750;background:#fff;}
  .ld-foot{border-top:1px solid #EAEDF0;padding:22px 56px;display:flex;justify-content:space-between;color:#8B96A3;font-size:11.5px;max-width:1180px;margin:0 auto;}
  .ld-foot a{color:#8B96A3;text-decoration:underline;}
  @media (max-width:860px){
    .ld-hero{grid-template-columns:1fr;padding:50px 24px;}
    .ld-nav,.ld-stats-inner,.ld-pillars-wrap,.ld-chips-wrap,.ld-foot{padding-left:24px;padding-right:24px;}
    .ld-stats-inner{grid-template-columns:repeat(2,1fr);}
    .ld-pillars-grid{grid-template-columns:repeat(2,1fr);}
  }

  /* ================= AUTH SCREENS (login/signup/pending/company/admin) ================= */
  .auth-screen{min-height:100vh;display:none;align-items:center;justify-content:center;position:relative;
    background:radial-gradient(circle at 15% 20%,#4E7FD114 0%,transparent 45%),radial-gradient(circle at 85% 80%,#3FA6A014 0%,transparent 45%),var(--bg);padding:40px 20px;}
  .auth-grid{position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:64px 64px;opacity:.25;mask-image:radial-gradient(circle at 50% 40%,black 0%,transparent 70%);}
  .auth-box{position:relative;width:400px;max-width:100%;padding:40px 38px 32px;background:var(--surface);border:1px solid var(--line);border-radius:14px;}
  .auth-box.wide{width:640px;}
  .auth-brand{display:flex;align-items:baseline;gap:10px;margin-bottom:6px;}
  .auth-brand .mark{width:34px;height:34px;border-radius:8px;background:linear-gradient(135deg,var(--navy),var(--accent));display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:12px;color:#fff;flex-shrink:0;}
  .auth-brand h1{font-family:var(--font-display);font-weight:600;font-size:21px;letter-spacing:.2px;}
  .auth-brand h1 span{color:var(--accent);}
  .auth-tag{color:var(--text-dim);font-size:12px;margin-bottom:30px;letter-spacing:.2px;font-family:var(--font-mono);}
  .field{margin-bottom:16px;}
  .field label{display:block;font-size:11px;color:var(--text-dim);margin-bottom:7px;text-transform:uppercase;letter-spacing:.6px;}
  .field input,.field select{width:100%;padding:11px 13px;background:var(--bg);border:1px solid var(--line);border-radius:8px;color:var(--text);font-size:14px;font-family:var(--font-body);outline:none;transition:border-color .15s;}
  .field input:focus,.field select:focus{border-color:var(--accent);}
  .field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
  .btn-main{width:100%;padding:12px;margin-top:6px;background:var(--accent);border:none;border-radius:8px;color:#fff;font-family:var(--font-display);font-weight:600;font-size:14px;cursor:pointer;transition:filter .15s;}
  .btn-main:hover{filter:brightness(1.08);}
  .btn-secondary{width:100%;padding:11px;margin-top:10px;background:transparent;border:1px solid var(--line);border-radius:8px;color:var(--text-dim);font-family:var(--font-display);font-weight:600;font-size:13px;cursor:pointer;}
  .btn-secondary:hover{border-color:var(--text-faint);color:var(--text);}
  .auth-foot{margin-top:20px;text-align:center;font-size:11.5px;color:var(--text-faint);}
  .auth-foot a{color:var(--accent);cursor:pointer;text-decoration:underline;}
  .auth-links{display:flex;justify-content:space-between;margin-top:16px;font-size:11.5px;}
  .auth-links a{color:var(--text-faint);cursor:pointer;}
  .auth-links a:hover{color:var(--accent);}

  .status-icon{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;}
  .status-icon svg{width:26px;height:26px;}
  .status-icon.pending{background:var(--amber-dim);color:var(--amber);}
  .status-icon.ok{background:var(--green-dim);color:var(--green);}
  .auth-center-title{font-family:var(--font-display);font-size:19px;font-weight:600;text-align:center;margin-bottom:8px;}
  .auth-center-text{font-size:13px;color:var(--text-dim);text-align:center;line-height:1.6;margin-bottom:6px;}
  .status-tag{display:block;text-align:center;font-family:var(--font-mono);font-size:11px;letter-spacing:.6px;color:var(--amber);background:var(--amber-dim);border-radius:20px;padding:6px 14px;margin:16px auto 4px;width:fit-content;}

  /* admin table screen */
  .admin-wrap{position:relative;max-width:920px;width:100%;margin:0 auto;padding:40px 24px;}
  .admin-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;}
  .admin-head h2{font-family:var(--font-display);font-size:20px;}
  .admin-head .sub{font-size:12px;color:var(--text-faint);font-family:var(--font-mono);margin-top:3px;}
  .admin-table-wrap{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);overflow:hidden;}
  .admin-actions-cell{display:flex;gap:6px;}
  .mini-btn{border:1px solid var(--line);background:transparent;color:var(--text-dim);padding:6px 11px;border-radius:6px;font-size:11.5px;cursor:pointer;font-family:var(--font-body);font-weight:500;}
  .mini-btn.approve{border-color:var(--green);color:var(--green);}
  .mini-btn.approve:hover{background:var(--green-dim);}
  .mini-btn.reject{border-color:var(--coral);color:var(--coral);}
  .mini-btn.reject:hover{background:var(--coral-dim);}
  .mini-btn.block{border-color:var(--text-faint);color:var(--text-faint);}
  .mini-btn.block:hover{background:#ffffff10;}
  .mini-btn:disabled{opacity:.4;cursor:default;}

  /* ================= APP SHELL ================= */
  #app-screen{display:none;min-height:100vh;}
  .app-shell{display:flex;min-height:100vh;}
  .sidebar{width:252px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;height:100vh;position:sticky;top:0;transition:width .18s ease;overflow:hidden;}
  .sidebar.collapsed{width:68px;}
  .sidebar.collapsed .sidebar-brand .brandtext,.sidebar.collapsed .nav-label,.sidebar.collapsed .nav-item .lbl,.sidebar.collapsed .nav-item .nav-count,.sidebar.collapsed .sidebar-user .info,.sidebar.collapsed .logout-btn{display:none;}
  .sidebar.collapsed .sidebar-brand{flex-direction:column;justify-content:center;gap:10px;padding:16px 0;}
  .sidebar.collapsed .nav-item{justify-content:center;padding:9px 0;}
  .sidebar.collapsed .sidebar-user{justify-content:center;padding:14px 0;}
  .sidebar.collapsed .nav-scroll{padding:14px 10px;}
  .icon-btn{width:32px;height:32px;border-radius:7px;background:none;border:1px solid var(--line);color:var(--text-dim);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .12s,color .12s;}
  .icon-btn:hover{background:#ffffff08;color:var(--text);}
  .icon-btn svg{width:16px;height:16px;}
  .theme-switch{display:flex;align-items:center;gap:6px;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:3px;cursor:pointer;user-select:none;}
  .theme-switch .opt{width:26px;height:24px;border-radius:16px;display:flex;align-items:center;justify-content:center;color:var(--text-faint);transition:background .15s,color .15s;}
  .theme-switch .opt.active{background:var(--accent-dim);color:var(--accent);}
  .theme-switch svg{width:13px;height:13px;}
  .sidebar-brand{display:flex;align-items:center;gap:10px;padding:20px 18px;border-bottom:1px solid var(--line);}
  .sidebar-brand .mark{width:28px;height:28px;border-radius:7px;flex-shrink:0;background:linear-gradient(135deg,var(--navy),var(--accent));display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:11px;color:#fff;}
  .sidebar-brand .name{font-family:var(--font-display);font-weight:600;font-size:15px;line-height:1;}
  .sidebar-brand .name em{color:var(--accent);font-style:normal;}
  .sidebar-brand .sub{font-family:var(--font-mono);font-size:8px;letter-spacing:1px;color:var(--text-faint);margin-top:3px;}
  .nav-scroll{flex:1;overflow-y:auto;padding:14px 10px 20px;}
  .nav-label{font-size:10.5px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.8px;padding:14px 10px 6px;}
  .nav-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:7px;cursor:pointer;color:var(--text-dim);font-size:13.5px;margin-bottom:2px;transition:background .12s,color .12s;}
  .nav-item:hover{background:#ffffff08;color:var(--text);}
  .nav-item.active{background:#ffffff0d;color:var(--text);}
  .nav-badge{width:26px;height:20px;border-radius:5px;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:9px;font-weight:500;flex-shrink:0;}
  .nav-item span.lbl{flex:1;}
  .nav-count{font-family:var(--font-mono);font-size:10px;color:var(--text-faint);}
  .sidebar-user{padding:14px 18px;border-top:1px solid var(--line);display:flex;align-items:center;gap:10px;position:relative;}
  .sidebar-user .avatar{width:30px;height:30px;border-radius:50%;background:var(--teal-dim);color:var(--teal);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:12px;font-weight:600;flex-shrink:0;}
  .sidebar-user .info{flex:1;min-width:0;}
  .sidebar-user .info .name{font-size:12.5px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .sidebar-user .info .role{font-size:10.5px;color:var(--text-faint);}
  .logout-btn{background:none;border:none;color:var(--text-faint);cursor:pointer;font-size:16px;line-height:1;}
  .logout-btn:hover{color:var(--coral);}
  .main{flex:1;min-width:0;display:flex;flex-direction:column;}
  .topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 28px;border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:5;flex-wrap:wrap;gap:10px;}
  .topbar h2{font-family:var(--font-display);font-weight:600;font-size:19px;}
  .topbar .breadcrumb{font-size:11.5px;color:var(--text-faint);margin-top:2px;font-family:var(--font-mono);}
  .topbar-meta{display:flex;gap:18px;font-size:11px;color:var(--text-faint);font-family:var(--font-mono);flex-wrap:wrap;}
  .topbar-meta b{color:var(--text-dim);font-weight:500;}
  .topbar-right{display:flex;gap:10px;align-items:center;}
  .pill{font-size:11px;padding:5px 11px;border-radius:20px;font-family:var(--font-mono);background:var(--teal-dim);color:var(--teal);border:1px solid #3FA6A040;}
  .content{padding:24px 28px 60px;flex:1;}

  /* filters bar */
  .filters-bar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:18px;background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);padding:12px 14px;}
  .filters-bar select{background:var(--bg);border:1px solid var(--line);color:var(--text-dim);border-radius:7px;padding:8px 10px;font-size:12.5px;font-family:var(--font-body);}
  .filters-bar .fb-label{font-size:10.5px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.5px;margin-right:-4px;}
  .updated-line{font-size:11.5px;color:var(--text-faint);font-family:var(--font-mono);margin-bottom:20px;display:flex;gap:22px;flex-wrap:wrap;}
  .updated-line b{color:var(--text-dim);font-weight:500;}

  /* ---------- KPI cards ---------- */
  .kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(228px,1fr));gap:14px;margin-bottom:8px;}
  .kpi-card{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);padding:15px 16px;border-left:3px solid var(--line);}
  .mod-card{cursor:pointer;transition:transform .12s,border-color .12s;}
  .mod-card:hover{transform:translateY(-2px);border-color:var(--card-border);}
  .kpi-card .cat{font-size:9.5px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.6px;margin-bottom:7px;display:flex;justify-content:space-between;}
  .kpi-card .name{font-size:12px;color:var(--text-dim);margin-bottom:9px;line-height:1.35;min-height:32px;}
  .kpi-card .val-row{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:6px;}
  .kpi-card .val{font-family:var(--font-display);font-size:23px;font-weight:600;}
  .kpi-card .status{font-size:10px;font-family:var(--font-mono);padding:3px 8px;border-radius:5px;white-space:nowrap;}
  .kpi-card .meta-line{font-size:10px;color:var(--text-faint);border-top:1px dashed var(--line);padding-top:7px;margin-top:2px;display:flex;justify-content:space-between;gap:6px;}
  .st-ok{background:var(--teal-dim);color:var(--teal);}
  .st-warn{background:var(--amber-dim);color:var(--amber);}
  .st-bad{background:var(--coral-dim);color:var(--coral);}
  .section-title{font-family:var(--font-display);font-size:14.5px;font-weight:600;margin:28px 0 12px;color:var(--text);display:flex;align-items:center;gap:10px;}
  .section-title .cnt{font-family:var(--font-mono);font-size:10.5px;color:var(--text-faint);font-weight:400;}
  .group-block{margin-bottom:6px;}

  /* index gauge (executivo) */
  .index-card{display:flex;align-items:center;gap:34px;background:var(--card);border:1px solid var(--card-border);border-radius:14px;padding:26px 30px;margin-bottom:22px;flex-wrap:wrap;}
  .gauge-wrap{position:relative;width:150px;height:150px;flex-shrink:0;}
  .gauge{width:150px;height:150px;border-radius:50%;background:conic-gradient(var(--coral) 0% 20%,var(--amber) 20% 40%,var(--accent) 40% 55%,var(--teal) 55% 65%,var(--purple) 65% 75%,var(--green) 75% 90%,#37455880 90% 100%);display:flex;align-items:center;justify-content:center;}
  .gauge::after{content:'';position:absolute;inset:13px;background:var(--card);border-radius:50%;}
  .gauge-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;}
  .gauge-center .num{font-family:var(--font-display);font-size:29px;font-weight:700;}
  .gauge-center .lbl{font-size:9.5px;color:var(--text-faint);letter-spacing:.5px;text-transform:uppercase;margin-top:2px;}
  .index-info h3{font-family:var(--font-display);font-size:16px;margin-bottom:4px;}
  .index-info .class{color:var(--teal);font-size:13px;font-weight:500;margin-bottom:4px;}
  .index-info .trend{font-size:11.5px;color:var(--text-faint);margin-bottom:14px;font-family:var(--font-mono);}
  .pillars{display:flex;flex-wrap:wrap;gap:8px 18px;}
  .pillar-tag{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--text-dim);}
  .dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
  .alerts-panel{background:var(--coral-dim);border:1px solid #D9534F40;border-radius:var(--radius);padding:16px 18px;margin-bottom:24px;}
  .alerts-panel h4{font-family:var(--font-display);font-size:13px;color:var(--coral);margin-bottom:10px;display:flex;align-items:center;gap:7px;}
  .alerts-panel ul{list-style:none;display:flex;flex-direction:column;gap:6px;}
  .alerts-panel li{font-size:12.5px;color:var(--text-dim);display:flex;justify-content:space-between;gap:10px;}
  .alerts-panel li b{color:var(--text);font-weight:500;}
  .alerts-panel .empty{font-size:12.5px;color:var(--text-dim);}

  /* ---------- CADASTRO / TABLE ---------- */
  .group-label{font-size:10.5px;color:var(--text-faint);text-transform:uppercase;letter-spacing:1px;margin:26px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--line);}
  .group-label:first-child{margin-top:0;}
  .toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:10px;}
  .search{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:9px 13px;color:var(--text-dim);font-size:13px;width:260px;}
  .add-btn{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:10px 16px;font-family:var(--font-display);font-weight:600;font-size:13px;cursor:pointer;}
  .table-wrap{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);overflow:auto;}
  table{width:100%;border-collapse:collapse;}
  th{text-align:left;font-size:10.5px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.5px;padding:12px 16px;border-bottom:1px solid var(--line);white-space:nowrap;}
  td{padding:12px 16px;font-size:13px;color:var(--text-dim);border-bottom:1px solid var(--line);white-space:nowrap;}
  tr:last-child td{border-bottom:none;}
  tr:hover td{background:#ffffff05;}
  td.mono{font-family:var(--font-mono);font-size:12px;color:var(--text);}
  .badge{font-size:10.5px;padding:3px 9px;border-radius:5px;font-family:var(--font-mono);}
  .empty-note{padding:16px;font-size:12px;color:var(--text-faint);border-top:1px dashed var(--line);}

  /* reports */
  .report-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;}
  .report-card{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);padding:20px;}
  .report-card .ic{width:36px;height:36px;border-radius:9px;background:var(--accent-dim);color:var(--accent);display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
  .report-card .ic svg{width:18px;height:18px;}
  .report-card h4{font-family:var(--font-display);font-size:14px;margin-bottom:6px;}
  .report-card p{font-size:12px;color:var(--text-faint);line-height:1.5;margin-bottom:16px;min-height:36px;}
  .report-card button{width:100%;background:transparent;border:1px solid var(--line);color:var(--text-dim);padding:9px;border-radius:7px;font-size:12.5px;cursor:pointer;font-family:var(--font-body);font-weight:500;}
  .report-card button:hover{border-color:var(--accent);color:var(--accent);}

  /* company register */
  .welcome-box{text-align:center;margin-bottom:26px;}
  .welcome-box h2{font-family:var(--font-display);font-size:22px;margin-bottom:6px;}
  .welcome-box p{font-size:13px;color:var(--text-dim);}

  @media (max-width:860px){
    .sidebar{position:fixed;left:-260px;z-index:20;transition:left .2s;box-shadow:0 0 0 100vmax #00000060;}
    .sidebar.open{left:0;}
    .menu-toggle{display:flex !important;}
    .content{padding:18px;}
    .index-card{flex-direction:column;align-items:flex-start;gap:18px;}
    .auth-box.wide{width:100%;padding:30px 22px;}
    .field-row{grid-template-columns:1fr;}
  }
  .menu-toggle{display:none;background:none;border:1px solid var(--line);border-radius:7px;color:var(--text);width:34px;height:34px;align-items:center;justify-content:center;cursor:pointer;font-size:16px;}

  /* ================= V1.1 CORE FORMS ================= */
  .record-panel{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);padding:20px;margin:18px 0;}
  .record-form-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px;}
  .record-form-head h3{font-family:var(--font-display);font-size:16px;margin-bottom:4px;}
  .record-form-head p{font-size:12px;color:var(--text-faint);}
  .record-section{margin:18px 0 8px;}
  .record-section-title{font-size:10.5px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.8px;border-bottom:1px solid var(--line);padding-bottom:7px;margin-bottom:12px;}
  .record-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
  .record-field.full{grid-column:1/-1;}
  .record-field label{display:block;font-size:10.5px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;}
  .record-field input,.record-field select,.record-field textarea{width:100%;padding:10px 11px;background:var(--bg);border:1px solid var(--line);border-radius:7px;color:var(--text);font-size:13px;font-family:var(--font-body);outline:none;}
  .record-field textarea{min-height:82px;resize:vertical;}
  .record-field input:focus,.record-field select:focus,.record-field textarea:focus{border-color:var(--accent);}
  .record-field input[readonly]{opacity:.75;background:var(--surface);}
  .record-help{font-size:10px;color:var(--text-faint);margin-top:4px;line-height:1.35;}
  .record-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px;padding-top:15px;border-top:1px solid var(--line);}
  .btn-danger{background:transparent;border:1px solid var(--coral);color:var(--coral);border-radius:7px;padding:8px 11px;cursor:pointer;font-size:11.5px;}
  .btn-edit{background:transparent;border:1px solid var(--accent);color:var(--accent);border-radius:7px;padding:8px 11px;cursor:pointer;font-size:11.5px;}
  .records-empty{padding:24px;text-align:center;color:var(--text-faint);font-size:12px;}
  .record-summary{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 18px;}
  .record-summary span{font-family:var(--font-mono);font-size:10.5px;color:var(--text-dim);background:var(--surface);border:1px solid var(--line);padding:5px 9px;border-radius:16px;}
  @media(max-width:760px){.record-fields{grid-template-columns:1fr;}.record-field.full{grid-column:auto;}}

/* V1.6.36 Enterprise Landing */
.lp-page{--n:#071827;--a:#20b5ad;--ink:#102636;--mut:#647582;--line:#dce5e9;background:#fff;color:var(--ink);font-family:Inter,system-ui,sans-serif;overflow:auto}.lp-page *{box-sizing:border-box}.lp-page a{text-decoration:none}.lp-nav{height:78px;max-width:1480px;margin:auto;padding:0 48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf1f3}.lp-brand{display:flex;align-items:center;gap:11px}.lp-mark{width:38px;height:38px;border-radius:8px;background:var(--n);color:#fff;display:grid;place-items:center;font-weight:900}.lp-brand strong{display:block;font-size:17px}.lp-brand span{display:block;font-size:8px;letter-spacing:.12em;color:#7b8993}.lp-nav nav,.lp-actions,.lp-buttons{display:flex;gap:20px}.lp-nav nav a{font-size:12px;font-weight:700;color:#4e626f}.lp-primary,.lp-dark,.lp-ghost,.lp-outline{border:0;border-radius:7px;padding:12px 18px;font-size:12px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.lp-primary{background:var(--a);color:#062c2d}.lp-dark{background:var(--n);color:#fff}.lp-ghost{background:#fff;border:1px solid var(--line);color:var(--ink)}.lp-outline{border:1px solid #496070;color:#fff}.lp-hero{max-width:1450px;margin:auto;padding:90px 65px 80px;display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.lp-copy>small,.lp-heading>small,.lp-index-copy>small,.lp-areas-head small{font-size:9px;font-weight:900;letter-spacing:.18em;color:#0b918b}.lp-copy h1{font-size:60px;line-height:1.01;letter-spacing:-.052em;margin:17px 0 24px}.lp-copy h1 em{font-style:normal;color:#667681}.lp-copy p{font-size:16px;line-height:1.72;color:#5e707d}.lp-buttons{gap:10px;margin:29px 0}.lp-copy>b{font-size:8px;letter-spacing:.17em;color:#8997a0}.lp-stage{position:relative}.lp-window{border:1px solid #dce4e8;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 30px 70px #0718272b;transform:perspective(1200px) rotateY(-3deg)}.lp-wtop{height:42px;background:#f6f8f9;border-bottom:1px solid #e3e8eb;display:flex;align-items:center;padding:0 14px;gap:5px;font-size:9px;color:#75838d}.lp-wtop i{width:7px;height:7px;border-radius:50%;background:#cad3d8}.lp-wtop span{margin-left:12px}.lp-wtop b{margin-left:auto}.lp-wbody{height:395px;background:#f4f7f8;display:flex}.lp-wbody aside{width:53px;background:var(--n);display:flex;flex-direction:column;align-items:center;padding:14px 0;gap:17px}.lp-wbody aside strong{width:28px;height:28px;border-radius:6px;background:var(--a);display:grid;place-items:center;font-size:8px}.lp-wbody aside i{width:17px;height:4px;background:#395365;border-radius:3px}.lp-dash{padding:24px;flex:1}.lp-dash>header{display:flex;justify-content:space-between}.lp-dash header small,.lp-index small,.lp-kpis small,.lp-chart small{font-size:7px;letter-spacing:.13em;color:#82919b}.lp-dash header h3{margin:4px 0;font-size:19px}.lp-dash header>span{font-size:8px;background:#e5ecef;padding:7px 10px;border-radius:20px;height:26px}.lp-index{height:108px;background:var(--n);border-radius:9px;color:#fff;margin-top:16px;padding:17px 20px;display:flex;align-items:center;gap:18px}.lp-index strong{font-size:32px}.lp-index em{font-style:normal;font-size:9px;color:#879ba8}.lp-ring{margin-left:auto;width:63px;height:63px;border:7px solid var(--a);border-radius:50%;display:grid;place-items:center;font-weight:800}.lp-index p{margin:0;font-size:8px}.lp-index p b,.lp-index p span,.lp-kpis b,.lp-kpis span{display:block}.lp-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:11px}.lp-kpis div{background:#fff;border:1px solid #e2e8eb;border-radius:7px;padding:11px}.lp-kpis b{font-size:17px}.lp-kpis span{font-size:7px;color:#82919b}.lp-chart{height:87px;background:#fff;border:1px solid #e2e8eb;border-radius:7px;margin-top:11px;padding:11px;display:flex}.lp-chart div{min-width:115px}.lp-chart b{display:block;font-size:9px}.lp-chart svg{flex:1;color:#20aaa3}.lp-float{position:absolute;right:-18px;top:-18px;background:#fff;border:1px solid #e0e7ea;border-radius:9px;box-shadow:0 14px 30px #07182720;padding:12px 15px}.lp-float small,.lp-float span{display:block;font-size:7px;color:#7d8c96}.lp-float strong{font-size:24px}.lp-metrics{background:var(--n);color:#fff;display:grid;grid-template-columns:repeat(4,1fr);padding:0 7vw}.lp-metrics div{height:120px;display:flex;align-items:center;justify-content:center;gap:14px;border-right:1px solid #ffffff18}.lp-metrics strong{font-size:35px;color:#75d8d3}.lp-metrics span{font-size:10px;color:#b3c0c9;max-width:90px}.lp-section{max-width:1300px;margin:auto;padding:105px 60px}.lp-heading{max-width:760px;margin-bottom:50px}.lp-heading h2,.lp-index-copy h2,.lp-areas-head h2{font-size:41px;line-height:1.08;letter-spacing:-.035em;margin:12px 0 15px}.lp-heading p,.lp-index-copy p{font-size:14px;line-height:1.7;color:var(--mut)}.lp-pillars{display:grid;grid-template-columns:repeat(5,1fr);border-block:1px solid var(--line)}.lp-pillars article{padding:32px 22px;border-right:1px solid var(--line)}.lp-pillars article>b,.lp-enterprise-grid article>b{font-size:8px;color:#0b958f}.lp-pillars h3{font-size:18px;margin:27px 0 10px}.lp-pillars p{font-size:11px;line-height:1.6;color:#6c7d88}.lp-flow-section,.lp-enterprise{background:linear-gradient(120deg,var(--n),#0b263a);color:#fff;padding:95px 7vw}.lp-heading.light{text-align:center;margin:0 auto 48px}.lp-heading.light h2{color:#fff}.lp-flow{max-width:1200px;margin:auto;display:flex;align-items:center;justify-content:center}.lp-flow div{width:180px;min-height:120px;border:1px solid #ffffff1f;padding:20px}.lp-flow div strong,.lp-flow div span{display:block}.lp-flow div strong{margin:22px 0 6px}.lp-flow div span{font-size:8px;color:#9eb0ba}.lp-flow>i{font-style:normal;margin:0 7px}.lp-index-section{display:grid;grid-template-columns:1fr .85fr;gap:100px;align-items:center}.lp-index-copy h2{font-size:47px}.lp-index-copy>div{display:flex;gap:7px;margin-top:22px}.lp-index-copy>div span{font-size:8px;background:#eef3f4;border-radius:20px;padding:8px 11px}.lp-index-card{background:var(--n);color:#fff;border-radius:14px;padding:28px;box-shadow:0 24px 50px #0718272a}.lp-index-card header,.lp-index-card footer{display:flex;justify-content:space-between;font-size:8px}.lp-index-card>div:nth-child(2){margin:32px 0 13px}.lp-index-card>div:nth-child(2) strong{font-size:67px}.lp-index-card>i{display:block;height:7px;background:#203c4f;border-radius:10px}.lp-index-card>i b{display:block;width:87.4%;height:100%;background:var(--a)}.lp-index-card section{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:25px}.lp-index-card section div{border-top:1px solid #294456;padding-top:10px}.lp-index-card section span,.lp-index-card section b{display:block}.lp-levels{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.lp-levels article{border:1px solid var(--line);border-radius:10px;padding:30px;min-height:220px}.lp-levels h3{font-size:20px;margin:38px 0 11px}.lp-levels p{font-size:11px;color:#687a86}.lp-areas-head{display:flex;justify-content:space-between;align-items:flex-end}.lp-areas-head>div:last-child{display:flex;align-items:center;gap:14px}.lp-areas-head>div:last-child strong{font-size:57px;color:#0b918b}.lp-cloud{display:flex;flex-wrap:wrap;gap:8px;margin-top:45px}.lp-cloud span{padding:9px 12px;border:1px solid var(--line);border-radius:6px;font-size:9px}.lp-enterprise-grid{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr)}.lp-enterprise-grid article{padding:30px 23px;border-right:1px solid #ffffff1d}.lp-enterprise-grid p{font-size:10px;color:#9eb0bb}.lp-cta{text-align:center;padding:110px 25px;background:#0a2031;color:#fff}.lp-cta h2{font-size:50px;line-height:1.05;margin:15px}.lp-cta p{font-size:10px;letter-spacing:.14em;color:#9fb0ba}.lp-cta>div{display:flex;justify-content:center;gap:9px}.lp-footer{background:#061521;color:#93a5b1;padding:30px 6vw;display:flex;justify-content:space-between}.lp-footer strong,.lp-footer b,.lp-footer span{display:block}.lp-footer span{font-size:7px;margin-top:5px}@media(max-width:1000px){.lp-nav nav{display:none}.lp-hero{grid-template-columns:1fr}.lp-pillars{grid-template-columns:repeat(2,1fr)}.lp-index-section{grid-template-columns:1fr}.lp-flow{flex-wrap:wrap}.lp-flow>i{display:none}}@media(max-width:680px){.lp-nav{padding:0 18px}.lp-brand span,.lp-actions .lp-primary{display:none}.lp-hero{padding:55px 22px}.lp-copy h1{font-size:42px}.lp-metrics{grid-template-columns:repeat(2,1fr)}.lp-section{padding:72px 22px}.lp-pillars,.lp-levels,.lp-enterprise-grid{grid-template-columns:1fr}.lp-flow{display:grid}.lp-flow div{width:100%}.lp-areas-head{display:block}.lp-cta h2{font-size:38px}}


/* =========================================================
   TFF ONE V1.6.37 — EXECUTIVE DASHBOARD C-LEVEL
   Escopo visual isolado: .exec-index-v2 / .exec-v2-*
   ========================================================= */
.exec-index-v2{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);
  gap:22px;
  padding:26px;
  margin-bottom:30px;
  border:1px solid var(--card-border);
  border-radius:16px;
  background:
    radial-gradient(circle at 12% 10%, rgba(65,145,255,.08), transparent 32%),
    linear-gradient(135deg, rgba(18,39,58,.98), rgba(14,32,49,.98));
  box-shadow:0 18px 45px rgba(0,0,0,.12);
  overflow:hidden;
}
.exec-index-main{padding:4px 2px 4px 4px}
.exec-index-kicker{
  font-family:var(--font-mono);
  font-size:9px;
  font-weight:700;
  letter-spacing:1.2px;
  color:var(--text-faint);
  margin-bottom:10px;
}
.exec-index-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.exec-index-title-row h2{
  margin:0;
  font-family:var(--font-display);
  font-size:24px;
  letter-spacing:-.4px;
  color:var(--text);
}
.exec-index-title-row p{
  margin:7px 0 0;
  font-size:11px;
  line-height:1.55;
  color:var(--text-dim);
}
.exec-index-class{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 10px;
  border-radius:999px;
  border:1px solid var(--line);
  font-size:10px;
  font-weight:800;
}
.exec-index-class span{width:7px;height:7px;border-radius:50%;background:currentColor}
.exec-index-core{display:flex;align-items:center;gap:26px;margin-top:28px}
.exec-index-ring{
  width:164px;
  height:164px;
  flex:0 0 164px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:conic-gradient(var(--idx-accent) 0 var(--idx-progress), rgba(116,141,160,.14) var(--idx-progress) 360deg);
  position:relative;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03);
}
.exec-index-ring::after{
  content:"";
  position:absolute;
  inset:11px;
  border-radius:50%;
  background:#102234;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);
}
.exec-index-ring-inner{position:relative;z-index:1;text-align:center}
.exec-index-ring-inner strong{
  display:block;
  font-family:var(--font-display);
  font-size:42px;
  line-height:1;
  color:var(--text);
  letter-spacing:-1.7px;
}
.exec-index-ring-inner span{font-family:var(--font-mono);font-size:9px;color:var(--text-faint)}
.exec-index-score-copy>span{
  display:block;
  font-family:var(--font-mono);
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.7px;
  color:var(--text-faint);
}
.exec-index-score-copy>strong{
  display:block;
  margin:8px 0 11px;
  font-family:var(--font-display);
  font-size:34px;
  color:var(--text);
}
.exec-index-score-copy>strong small{font-size:12px;color:var(--text-faint);margin-left:3px}
.exec-index-target{font-size:11px;color:var(--text-dim)}
.exec-index-target b{color:var(--idx-accent);margin-left:5px}
.exec-index-side{display:flex;flex-direction:column;gap:14px}
.exec-domain-summary{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
}
.exec-domain-summary article{
  min-height:90px;
  padding:14px 13px;
  border:1px solid rgba(137,160,177,.15);
  border-radius:11px;
  background:rgba(255,255,255,.025);
}
.exec-domain-summary article>span{
  display:block;
  font-size:9px;
  color:var(--text-faint);
  text-transform:uppercase;
  letter-spacing:.45px;
}
.exec-domain-summary article>strong{
  display:block;
  margin:9px 0 3px;
  font-family:var(--font-display);
  font-size:23px;
  color:var(--text);
}
.exec-domain-summary article>small{font-size:8px;color:var(--text-faint)}
.exec-domain-summary article.ok>strong{color:var(--green)}
.exec-domain-summary article.warn>strong{color:var(--amber)}
.exec-domain-summary article.bad>strong{color:var(--coral)}
.exec-domain-matrix{
  flex:1;
  padding:15px 16px;
  border:1px solid rgba(137,160,177,.15);
  border-radius:11px;
  background:rgba(255,255,255,.018);
}
.exec-domain-matrix-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.exec-domain-matrix-head>span{font-size:10px;font-weight:800;color:var(--text)}
.exec-domain-matrix-head>small{font-size:8px;color:var(--text-faint)}
.exec-domain-tags{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.exec-domain-tag{
  display:grid;
  grid-template-columns:8px 1fr auto;
  align-items:center;
  gap:6px;
  min-width:0;
  padding:7px 8px;
  border-radius:7px;
  background:rgba(255,255,255,.025);
  border:1px solid rgba(137,160,177,.09);
}
.exec-domain-tag>span{width:6px;height:6px;border-radius:50%;background:currentColor}
.exec-domain-tag>b{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:8.5px;
  font-weight:600;
  color:var(--text-dim);
}
.exec-domain-tag>strong{font-family:var(--font-mono);font-size:9px;color:var(--text)}
.exec-domain-tag.st-ok{color:var(--green)}
.exec-domain-tag.st-warn{color:var(--amber)}
.exec-domain-tag.st-bad{color:var(--coral)}

.exec-v2-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin:8px 0 16px;
}
.exec-v2-section-head>div:first-child>span{
  display:block;
  font-family:var(--font-mono);
  font-size:9px;
  font-weight:700;
  letter-spacing:1px;
  color:var(--text-faint);
}
.exec-v2-section-head h2{
  margin:4px 0 5px;
  font-family:var(--font-display);
  font-size:21px;
  letter-spacing:-.25px;
}
.exec-v2-section-head p{margin:0;font-size:10.5px;color:var(--text-dim)}
.exec-v2-count{
  display:flex;
  align-items:center;
  gap:9px;
  padding:8px 11px;
  border:1px solid var(--line);
  border-radius:10px;
  background:rgba(255,255,255,.018);
}
.exec-v2-count strong{font-family:var(--font-display);font-size:24px;color:var(--teal)}
.exec-v2-count span{font-size:8px;line-height:1.25;color:var(--text-faint);text-transform:uppercase;letter-spacing:.4px}

.exec-v2-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-bottom:10px;
}
.exec-v2-card{
  min-width:0;
  min-height:236px;
  padding:17px 18px 16px;
  border:1px solid var(--card-border);
  border-top:2px solid var(--exec-v2-accent);
  border-radius:12px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.018), transparent 36%),
    var(--card);
  box-shadow:0 10px 26px rgba(0,0,0,.08);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.exec-v2-card:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(0,0,0,.13)}
.exec-v2-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.exec-v2-area{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-family:var(--font-mono);
  font-size:8px;
  letter-spacing:.25px;
  color:var(--text-faint);
}
.exec-v2-status{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:4px 6px;
  border-radius:999px;
  font-size:8.5px;
  font-weight:800;
  border:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.03);
}
.exec-v2-status>span{width:6px;height:6px;border-radius:50%;background:currentColor}
.exec-v2-name{
  min-height:42px;
  margin:12px 0 13px;
  font-family:var(--font-display);
  font-size:14px;
  line-height:1.42;
  color:var(--text);
}
.exec-v2-value-row{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center}
.exec-v2-value-wrap{display:flex;align-items:center;gap:9px;min-width:0}
.exec-v2-dot{
  width:12px;height:12px;flex:0 0 12px;border-radius:50%;
  background:var(--exec-v2-accent);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--exec-v2-accent) 15%,transparent);
}
.exec-v2-value{
  font-family:var(--font-display);
  font-size:31px;
  line-height:1;
  color:var(--text);
  white-space:nowrap;
  letter-spacing:-.8px;
}
.exec-v2-unit{font-family:var(--font-mono);font-size:9px;color:var(--text-faint);margin-left:2px}
.exec-v2-sparkline{width:100%;height:46px;color:#4f83da;overflow:visible}
.exec-v2-sparkline polyline{fill:none;stroke:currentColor;stroke-width:2.4;vector-effect:non-scaling-stroke}
.exec-v2-meta{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  padding-top:13px;
  margin-top:13px;
  border-top:1px solid var(--line);
}
.exec-v2-trend{display:grid;grid-template-columns:auto 1fr;column-gap:6px;align-items:center}
.exec-v2-arrow{grid-row:1 / span 2;font-size:17px;font-weight:800}
.exec-v2-trend strong{font-size:10px}
.exec-v2-trend small{font-size:7.5px;color:var(--text-faint)}
.exec-v2-target{text-align:right}
.exec-v2-target span{display:block;font-size:7.5px;text-transform:uppercase;letter-spacing:.45px;color:var(--text-faint)}
.exec-v2-target strong{display:block;margin-top:4px;font-size:9px;color:var(--text-dim)}
.exec-v2-trend.positive{color:var(--green)}
.exec-v2-trend.negative{color:var(--coral)}
.exec-v2-trend.neutral{color:var(--text-dim)}

@media(max-width:1380px){
  .exec-index-v2{grid-template-columns:1fr}
  .exec-domain-tags{grid-template-columns:repeat(4,minmax(0,1fr))}
  .exec-v2-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1050px){
  .exec-v2-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .exec-domain-summary{grid-template-columns:repeat(2,1fr)}
  .exec-domain-tags{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:720px){
  .exec-index-v2{padding:18px}
  .exec-index-core{align-items:flex-start;gap:18px}
  .exec-index-ring{width:130px;height:130px;flex-basis:130px}
  .exec-index-ring-inner strong{font-size:34px}
  .exec-domain-tags{grid-template-columns:repeat(2,minmax(0,1fr))}
  .exec-v2-section-head{align-items:flex-start;flex-direction:column}
  .exec-v2-grid{grid-template-columns:1fr}
}

/* V1.6.38 — TFF ONE INDEX cross-theme numeric contrast */
.exec-index-ring-inner strong,
.exec-index-score-copy>strong,
.exec-domain-summary article>strong,
.exec-domain-tag>strong{
  color:#cbd5df !important;
}

/* =========================================================
   V1.6.38 — UNIFIED ENTERPRISE UI
   Dashboard Gerencial + Central de Registros
   Visual-only layer. Executive V1.6.37 preserved.
   ========================================================= */

/* Shared section hierarchy */
#content .section-title{
  margin:26px 0 14px;
  padding:0;
  border:0;
  font-family:var(--font-display);
  font-size:18px;
  font-weight:800;
  letter-spacing:-.2px;
  color:var(--text);
}
#content .section-title::before{
  content:"";
  display:inline-block;
  width:3px;height:16px;
  margin-right:9px;
  border-radius:3px;
  background:var(--teal);
  vertical-align:-2px;
}

/* Managerial dashboard: calmer, larger enterprise cards */
#content .managerial-grid,
#content .kpi-grid{
  gap:14px;
}
#content .managerial-card{
  min-height:190px;
  padding:17px 18px;
  border:1px solid var(--card-border);
  border-radius:12px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.018),transparent 38%),
    var(--card);
  box-shadow:0 9px 24px rgba(0,0,0,.07);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
#content .managerial-card:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(0,0,0,.11);
}
#content .managerial-card .kpi-name,
#content .managerial-card h3{
  font-family:var(--font-display);
  font-weight:750;
  line-height:1.35;
}
#content .managerial-card .kpi-value,
#content .managerial-card .value{
  font-family:var(--font-display);
  letter-spacing:-.6px;
}
#content .managerial-card .kpi-code,
#content .managerial-card .kpi-area{
  font-family:var(--font-mono);
  font-size:8px;
  color:var(--text-faint);
}

/* Area blocks on Managerial Dashboard */
#content .area-block,
#content .area-section{
  border:1px solid var(--card-border);
  border-radius:14px;
  background:rgba(255,255,255,.012);
  overflow:hidden;
}
#content .area-block-header,
#content .area-section-header{
  padding:16px 18px;
  border-bottom:1px solid var(--line);
  background:linear-gradient(90deg,rgba(32,181,173,.055),transparent 48%);
}

/* Central de Registros — enterprise header/panels */
#content .registry-header,
#content .central-header{
  border:1px solid var(--card-border);
  border-radius:14px;
  padding:20px 22px;
  background:
    radial-gradient(circle at 8% 0%,rgba(32,181,173,.07),transparent 30%),
    var(--card);
}
#content .registry-header h2,
#content .central-header h2{
  font-family:var(--font-display);
  letter-spacing:-.35px;
}
#content .registry-header p,
#content .central-header p{color:var(--text-dim)}

/* Area selector/cards in Central */
#content .area-card,
#content .registry-area-card{
  border:1px solid var(--card-border);
  border-radius:11px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.018),transparent 42%),
    var(--card);
  box-shadow:0 7px 20px rgba(0,0,0,.055);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
#content .area-card:hover,
#content .registry-area-card:hover{
  transform:translateY(-2px);
  border-color:rgba(32,181,173,.35);
  box-shadow:0 12px 27px rgba(0,0,0,.09);
}
#content .area-card .area-code,
#content .registry-area-card .area-code{
  font-family:var(--font-mono);
  color:var(--teal);
}
#content .area-card h3,
#content .registry-area-card h3{
  font-family:var(--font-display);
  letter-spacing:-.15px;
}

/* Central records: existing records become a cleaner management table */
#content .records-table-wrap,
#content .table-wrap{
  border:1px solid var(--card-border);
  border-radius:12px;
  overflow:auto;
  background:var(--card);
}
#content table{
  border-collapse:separate;
  border-spacing:0;
}
#content table thead th{
  background:rgba(110,135,153,.07);
  font-family:var(--font-mono);
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.5px;
  color:var(--text-faint);
  border-bottom:1px solid var(--line);
}
#content table tbody tr{transition:background .15s ease}
#content table tbody tr:hover{background:rgba(32,181,173,.035)}

/* Forms: same visual system as new executive surfaces */
#content .form-card,
#content .form-section,
#content .record-form{
  border:1px solid var(--card-border);
  border-radius:13px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.012),transparent 32%),
    var(--card);
}
#content .form-card h3,
#content .form-section h3,
#content .record-form h3{
  font-family:var(--font-display);
  letter-spacing:-.2px;
}
#content input,
#content select,
#content textarea{
  border-radius:8px;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
#content input:focus,
#content select:focus,
#content textarea:focus{
  border-color:rgba(32,181,173,.58);
  box-shadow:0 0 0 3px rgba(32,181,173,.08);
  outline:none;
}

/* Buttons: restrained enterprise treatment */
#content button.primary,
#content .btn-primary{
  border-radius:8px;
  font-weight:800;
  box-shadow:none;
}
#content button.secondary,
#content .btn-secondary{
  border-radius:8px;
}

/* Registry KPI cards align with Executive card language without changing runtime */
#content .registry-kpi-card{
  border:1px solid var(--card-border);
  border-top:2px solid rgba(32,181,173,.55);
  border-radius:11px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.018),transparent 38%),
    var(--card);
  box-shadow:0 8px 22px rgba(0,0,0,.06);
}
#content .registry-kpi-card .kpi-value,
#content .registry-kpi-card .value{
  font-family:var(--font-display);
  letter-spacing:-.5px;
}

/* Light mode: ensure enterprise surfaces remain legible */
body.light #content .managerial-card,
body.light #content .area-card,
body.light #content .registry-area-card,
body.light #content .form-card,
body.light #content .form-section,
body.light #content .record-form,
body.light #content .records-table-wrap,
body.light #content .table-wrap{
  box-shadow:0 7px 20px rgba(23,43,58,.06);
}

/* Responsive density */
@media(max-width:1200px){
  #content .managerial-grid,
  #content .kpi-grid{gap:11px}
}
@media(max-width:720px){
  #content .registry-header,
  #content .central-header{padding:16px}
}

/* =========================================================
   V1.6.39 — UNIFIED KPI CARDS
   Dashboard Gerencial + Central de Registros
   Same Enterprise visual language as Executive Dashboard.
   ========================================================= */

/* shared grids: stronger C-level sizing */
#content .managerial-grid,
#content .registry-kpi-grid,
#content .kpi-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}

/* Managerial KPI cards */
.mgr-v2-card{
  min-width:0;
  min-height:218px;
  padding:16px 17px 15px;
  border:1px solid var(--card-border);
  border-top:2px solid var(--mgr-v2-accent);
  border-radius:12px;
  background:linear-gradient(180deg,rgba(255,255,255,.018),transparent 38%),var(--card);
  box-shadow:0 9px 24px rgba(0,0,0,.07);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.mgr-v2-card:hover{transform:translateY(-2px);box-shadow:0 15px 31px rgba(0,0,0,.12)}
.mgr-v2-head,.reg-v2-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.mgr-v2-area,.reg-v2-area{
  min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font-family:var(--font-mono);font-size:8px;letter-spacing:.25px;color:var(--text-faint);
}
.mgr-v2-status,.reg-v2-status{
  flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;
  padding:4px 7px;border-radius:999px;font-size:8.5px;font-weight:800;
  border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.03);
}
.mgr-v2-status span,.reg-v2-status span{width:6px;height:6px;border-radius:50%;background:currentColor}
.mgr-v2-name,.reg-v2-name{
  min-height:40px;margin:12px 0 12px;
  font-family:var(--font-display);font-size:13.5px;line-height:1.4;color:var(--text);
}
.mgr-v2-value-row,.reg-v2-value-row{
  display:grid;grid-template-columns:auto 1fr;gap:13px;align-items:center;
}
.mgr-v2-value-wrap,.reg-v2-value-wrap{display:flex;align-items:center;gap:9px;min-width:0}
.mgr-v2-dot,.reg-v2-dot{
  width:11px;height:11px;flex:0 0 11px;border-radius:50%;
  background:var(--mgr-v2-accent);
}
.reg-v2-dot{background:var(--reg-v2-accent)}
.mgr-v2-value,.reg-v2-value{
  font-family:var(--font-display);font-size:29px;line-height:1;
  color:var(--text);white-space:nowrap;letter-spacing:-.7px;
}
.mgr-v2-unit,.reg-v2-unit{font-family:var(--font-mono);font-size:8.5px;color:var(--text-faint);margin-left:2px}
.mgr-v2-sparkline,.reg-v2-sparkline{width:100%;height:44px;color:#4f83da;overflow:visible}
.mgr-v2-sparkline polyline,.reg-v2-sparkline polyline{
  fill:none;stroke:currentColor;stroke-width:2.3;vector-effect:non-scaling-stroke;
}
.mgr-v2-meta,.reg-v2-meta{
  display:grid;grid-template-columns:1fr 1fr;gap:11px;
  padding-top:12px;margin-top:12px;border-top:1px solid var(--line);
}
.mgr-v2-trend,.reg-v2-trend{
  display:grid;grid-template-columns:auto 1fr;column-gap:6px;align-items:center;
}
.mgr-v2-trend>span,.reg-v2-trend>span{grid-row:1 / span 2;font-size:16px;font-weight:800}
.mgr-v2-trend strong,.reg-v2-trend strong{font-size:9.5px}
.mgr-v2-trend small,.reg-v2-trend small{font-size:7.2px;color:var(--text-faint)}
.mgr-v2-target,.reg-v2-target{text-align:right}
.mgr-v2-target span,.reg-v2-target span{
  display:block;font-size:7.2px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-faint)
}
.mgr-v2-target strong,.reg-v2-target strong{display:block;margin-top:4px;font-size:8.5px;color:var(--text-dim)}
.mgr-v2-trend.positive,.reg-v2-trend.positive{color:var(--green)}
.mgr-v2-trend.negative,.reg-v2-trend.negative{color:var(--coral)}
.mgr-v2-trend.neutral,.reg-v2-trend.neutral{color:var(--text-dim)}

/* Central de Registros KPI cards */
.reg-v2-card{
  min-width:0;
  min-height:218px;
  padding:16px 17px 15px;
  border:1px solid var(--card-border);
  border-top:2px solid var(--reg-v2-accent);
  border-radius:12px;
  background:linear-gradient(180deg,rgba(255,255,255,.018),transparent 38%),var(--card);
  box-shadow:0 9px 24px rgba(0,0,0,.07);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.reg-v2-card:hover{transform:translateY(-2px);box-shadow:0 15px 31px rgba(0,0,0,.12)}

/* White mode: keep values readable and status styling clean */
body.light .mgr-v2-value,
body.light .reg-v2-value{color:#263746}
body.light .mgr-v2-card,
body.light .reg-v2-card{box-shadow:0 8px 22px rgba(23,43,58,.06)}
body.light .mgr-v2-status,
body.light .reg-v2-status{background:rgba(31,50,66,.025);border-color:rgba(31,50,66,.08)}

@media(max-width:1380px){
  #content .managerial-grid,#content .registry-kpi-grid,#content .kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1050px){
  #content .managerial-grid,#content .registry-kpi-grid,#content .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  #content .managerial-grid,#content .registry-kpi-grid,#content .kpi-grid{grid-template-columns:1fr}
}

/* V1.6.40 Landing Conversion */
.lp-five-pillar-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:18px 0 4px}
.lp-five-pillar-row span{display:flex;align-items:center;justify-content:center;min-height:36px;padding:7px 8px;border:1px solid rgba(77,207,197,.22);border-radius:8px;background:rgba(77,207,197,.045);color:#b9c8d4;font-family:var(--font-mono);font-size:8px;font-weight:800;letter-spacing:.55px}
.lp-signup-btn{margin-right:6px}
.tff-whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:10020;display:flex;align-items:center;gap:9px;min-height:48px;padding:7px 14px 7px 7px;border-radius:999px;background:#25D366;color:#082b19;text-decoration:none;font:800 11px/1 var(--font-sans);box-shadow:0 10px 28px rgba(0,0,0,.24)}
.tff-wa-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.92);color:#178a43;font:900 9px/1 var(--font-mono)}
.tff-modal{display:none;position:fixed;inset:0;z-index:11000;align-items:center;justify-content:center;padding:20px}.tff-modal.is-open{display:flex}
.tff-modal-backdrop{position:absolute;inset:0;background:rgba(5,15,24,.72);backdrop-filter:blur(5px)}
.tff-modal-panel{position:relative;z-index:1;width:min(650px,100%);max-height:90vh;overflow:auto;padding:28px;border:1px solid var(--card-border);border-radius:16px;background:var(--card);box-shadow:0 24px 70px rgba(0,0,0,.34);color:var(--text)}
.tff-modal-close{position:absolute;right:14px;top:12px;width:36px;height:36px;border:0;border-radius:8px;background:transparent;color:var(--text-dim);font-size:25px;cursor:pointer}
.tff-modal-kicker{font:800 9px/1 var(--font-mono);letter-spacing:1px;color:var(--teal);margin-bottom:9px}.tff-modal-panel h2{margin:0 0 8px;font:800 25px/1.15 var(--font-display)}
.tff-modal-panel>p{margin:0 0 22px;color:var(--text-dim);font-size:11px}.tff-demo-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.tff-modal-panel label{display:flex;flex-direction:column;gap:6px;font-size:9px;font-weight:800;color:var(--text-dim)}
.tff-modal-panel input,.tff-modal-panel textarea{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--text);font:500 11px var(--font-sans);outline:none}
.tff-modal-panel input:focus,.tff-modal-panel textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(32,181,173,.08)}.tff-demo-message{margin-top:13px}
.tff-demo-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.tff-demo-status{min-height:16px;margin-top:10px;font-size:9px;color:var(--text-dim)}
@media(max-width:720px){.lp-five-pillar-row{grid-template-columns:repeat(2,minmax(0,1fr))}.lp-five-pillar-row span:last-child{grid-column:1/-1}.tff-demo-grid{grid-template-columns:1fr}.tff-whatsapp-float{right:14px;bottom:14px;padding-right:9px}.tff-wa-label{display:none}}

/* V1.6.41 — WhatsApp somente no ambiente pré-login */
body.tff-app-authenticated .tff-whatsapp-float{display:none !important;}

/* V1.6.42 — TFF ONE INDEX landing mockup: 5 strategic pillars */
#landing-screen .lp-index-metrics,
#landing-screen .lp-index-domains,
#landing-screen .lp-mock-kpis,
#landing-screen .lp-dash-kpis{
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
}
#landing-screen .lp-index-metrics > *,
#landing-screen .lp-index-domains > *,
#landing-screen .lp-mock-kpis > *,
#landing-screen .lp-dash-kpis > *{
  min-width:0;
}
#landing-screen .lp-index-metrics strong,
#landing-screen .lp-index-domains strong,
#landing-screen .lp-mock-kpis strong,
#landing-screen .lp-dash-kpis strong{
  font-size:clamp(15px,1.25vw,20px);
}

/* =========================================================
   V1.6.43 — HERO REFINEMENT
   Visual-only: signup CTA, five-pillar mockup spacing, 285 badge.
   ========================================================= */

/* Cadastre-se: same SaaS design language as the header actions */
#landing-screen .lp-signup-btn{
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 18px;
  margin-right:8px;
  border:1px solid #d6e0e7;
  border-radius:9px;
  background:#fff;
  color:#0b2131;
  font-family:var(--font-sans);
  font-size:12px;
  font-weight:700;
  line-height:1;
  cursor:pointer;
  box-shadow:0 1px 2px rgba(10,31,47,.02);
  transition:border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease;
}
#landing-screen .lp-signup-btn:hover{
  border-color:#aebfc9;
  background:#f8fbfc;
  transform:translateY(-1px);
  box-shadow:0 5px 14px rgba(10,31,47,.06);
}
#landing-screen .lp-signup-btn:focus-visible{
  outline:3px solid rgba(31,181,173,.15);
  outline-offset:2px;
}

/* Five strategic pillars inside hero dashboard mockup:
   improve breathing room and prevent Compliance/Governance collision */
#landing-screen .lp-index-metrics,
#landing-screen .lp-index-domains,
#landing-screen .lp-mock-kpis,
#landing-screen .lp-dash-kpis{
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:7px !important;
}
#landing-screen .lp-index-metrics > *,
#landing-screen .lp-index-domains > *,
#landing-screen .lp-mock-kpis > *,
#landing-screen .lp-dash-kpis > *{
  min-width:0 !important;
  padding-left:7px !important;
  padding-right:7px !important;
}
#landing-screen .lp-index-metrics span,
#landing-screen .lp-index-domains span,
#landing-screen .lp-mock-kpis span,
#landing-screen .lp-dash-kpis span,
#landing-screen .lp-index-metrics strong,
#landing-screen .lp-index-domains strong,
#landing-screen .lp-mock-kpis strong,
#landing-screen .lp-dash-kpis strong{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:clip;
}
#landing-screen .lp-index-metrics span,
#landing-screen .lp-index-domains span,
#landing-screen .lp-mock-kpis span,
#landing-screen .lp-dash-kpis span{
  font-size:clamp(6.7px,.52vw,8.4px) !important;
  letter-spacing:.15px !important;
}

/* 285 indicators badge: supporting proof point, not hero protagonist */
#landing-screen [class*="metric-float"],
#landing-screen [class*="indicator-badge"],
#landing-screen [class*="floating-stat"],
#landing-screen [class*="hero-stat"]{
  transform:scale(.92);
  transform-origin:center;
  box-shadow:0 8px 22px rgba(16,39,55,.09) !important;
}

/* Header actions stay balanced on narrower desktop widths */
@media(max-width:1180px){
  #landing-screen .lp-signup-btn{padding:0 13px}
}

/* V1.6.44 — surgical refinement: hero TFF ONE INDEX ring only */
#landing-screen .lp-hero .lp-index .lp-ring{
  width:72px !important;
  height:72px !important;
  min-width:72px !important;
  min-height:72px !important;
  flex:0 0 72px !important;
  aspect-ratio:1 / 1 !important;
  box-sizing:border-box !important;
  border-radius:50% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:1px !important;
  padding:0 !important;
  line-height:1 !important;
}
#landing-screen .lp-hero .lp-index .lp-ring > span{
  color:inherit;
  font:800 18px/1 var(--font-display);
}
#landing-screen .lp-hero .lp-index .lp-ring > small{
  color:#8fa4b3 !important;
  font:800 9px/1 var(--font-sans);
  transform:translateY(2px);
}

/* =========================================================
   V1.6.45 — HERO INDEX CARD FIX
   HTML TFF ONE: surgical layout fix, no image replacement.
   ========================================================= */

/* Give the INDEX card enough horizontal room and separate its five blocks */
#landing-screen .lp-hero .lp-index{
  display:grid !important;
  grid-template-columns:118px 78px 92px minmax(0,1fr) !important;
  align-items:center !important;
  column-gap:14px !important;
  padding:20px 22px !important;
  min-height:136px !important;
  box-sizing:border-box !important;
}

/* Main INDEX value */
#landing-screen .lp-hero .lp-index > :first-child{
  min-width:0 !important;
}

/* True circular gauge, with a little breathing room */
#landing-screen .lp-hero .lp-index .lp-ring{
  width:76px !important;
  height:76px !important;
  min-width:76px !important;
  min-height:76px !important;
  flex:none !important;
  aspect-ratio:1 / 1 !important;
  border-radius:50% !important;
  box-sizing:border-box !important;
  justify-self:center !important;
  padding:0 !important;
}

/* Meta block stays compact and never invades the pillars */
#landing-screen .lp-hero .lp-index .lp-index-meta{
  min-width:0 !important;
  max-width:92px !important;
}

/* Five pillars: equal columns, explicit separation */
#landing-screen .lp-hero .lp-index .lp-index-metrics,
#landing-screen .lp-hero .lp-index .lp-index-domains,
#landing-screen .lp-hero .lp-index .lp-mock-kpis,
#landing-screen .lp-hero .lp-index .lp-dash-kpis{
  width:100% !important;
  min-width:0 !important;
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:8px !important;
}

/* If the five pillar items are direct children after the first three blocks,
   keep them compact without touching any other dashboard component */
#landing-screen .lp-hero .lp-index .lp-pillars{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:8px !important;
  min-width:0 !important;
}
#landing-screen .lp-hero .lp-index .lp-pillars > *,
#landing-screen .lp-hero .lp-index .lp-index-metrics > *,
#landing-screen .lp-hero .lp-index .lp-index-domains > *,
#landing-screen .lp-hero .lp-index .lp-mock-kpis > *,
#landing-screen .lp-hero .lp-index .lp-dash-kpis > *{
  min-width:0 !important;
  padding:9px 5px !important;
  box-sizing:border-box !important;
  text-align:center !important;
  font-size:7.4px !important;
  letter-spacing:0 !important;
  white-space:nowrap !important;
}

/* Percentage hierarchy */
#landing-screen .lp-hero .lp-index .lp-ring > span{
  font-size:18px !important;
}
#landing-screen .lp-hero .lp-index .lp-ring > small{
  color:#7f96a7 !important;
  font-size:9px !important;
  margin-left:1px !important;
}

/* Keep the card stable on smaller desktop widths */
@media(max-width:1380px){
  #landing-screen .lp-hero .lp-index{
    grid-template-columns:108px 72px 84px minmax(0,1fr) !important;
    column-gap:10px !important;
    padding-left:16px !important;
    padding-right:16px !important;
  }
  #landing-screen .lp-hero .lp-index .lp-ring{
    width:70px !important;height:70px !important;min-width:70px !important;min-height:70px !important;
  }
}

/* =========================================================
   V1.6.46 — HERO FIVE PILLARS SPACING
   Surgical correction only: prevent pillar chips from touching.
   ========================================================= */
#landing-screen .lp-hero .lp-index{
  grid-template-columns:108px 76px 82px minmax(0,1fr) !important;
  column-gap:11px !important;
  padding-left:18px !important;
  padding-right:18px !important;
}

/* Actual five-pillar cluster */
#landing-screen .lp-hero .lp-index .lp-pillars{
  width:100% !important;
  min-width:0 !important;
  display:grid !important;
  grid-template-columns:repeat(5,minmax(54px,1fr)) !important;
  gap:9px !important;
  align-items:stretch !important;
}
#landing-screen .lp-hero .lp-index .lp-pillars > *{
  width:auto !important;
  min-width:0 !important;
  margin:0 !important;
  padding:9px 4px !important;
  box-sizing:border-box !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  white-space:nowrap !important;
  overflow:visible !important;
  font-size:6.9px !important;
  letter-spacing:-.08px !important;
}

/* Also target the existing alternative class if the hero uses it */
#landing-screen .lp-hero .lp-index .lp-index-domains,
#landing-screen .lp-hero .lp-index .lp-index-metrics{
  width:100% !important;
  display:grid !important;
  grid-template-columns:repeat(5,minmax(54px,1fr)) !important;
  gap:9px !important;
}
#landing-screen .lp-hero .lp-index .lp-index-domains > *,
#landing-screen .lp-hero .lp-index .lp-index-metrics > *{
  min-width:0 !important;
  margin:0 !important;
  padding:9px 4px !important;
  box-sizing:border-box !important;
  text-align:center !important;
  white-space:nowrap !important;
  overflow:visible !important;
  font-size:6.9px !important;
}

/* Slightly compact meta text to return horizontal space to pillars */
#landing-screen .lp-hero .lp-index .lp-index-meta{
  width:82px !important;
  max-width:82px !important;
  font-size:7.2px !important;
  line-height:1.2 !important;
}

@media(max-width:1380px){
  #landing-screen .lp-hero .lp-index{
    grid-template-columns:102px 70px 76px minmax(0,1fr) !important;
    column-gap:8px !important;
    padding-left:13px !important;
    padding-right:13px !important;
  }
  #landing-screen .lp-hero .lp-index .lp-pillars,
  #landing-screen .lp-hero .lp-index .lp-index-domains,
  #landing-screen .lp-hero .lp-index .lp-index-metrics{
    grid-template-columns:repeat(5,minmax(49px,1fr)) !important;
    gap:6px !important;
  }
  #landing-screen .lp-hero .lp-index .lp-pillars > *,
  #landing-screen .lp-hero .lp-index .lp-index-domains > *,
  #landing-screen .lp-hero .lp-index .lp-index-metrics > *{
    font-size:6.2px !important;
    padding-left:3px !important;
    padding-right:3px !important;
  }
}

/* =========================================================
   V1.6.47 — HERO PILLARS FINAL SPACING
   Only the five .lp-pill elements inside hero INDEX.
   ========================================================= */
#landing-screen .lp-hero .lp-index{
  grid-template-columns:104px 76px 78px minmax(0,1fr) !important;
  column-gap:9px !important;
  padding-left:16px !important;
  padding-right:16px !important;
}
#landing-screen .lp-hero .lp-index > .lp-pill{
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  margin:0 !important;
  padding:8px 4px !important;
  box-sizing:border-box !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  white-space:nowrap !important;
  overflow:visible !important;
  font-size:6.25px !important;
  letter-spacing:-.12px !important;
}

/* Explicitly separate the last two longest labels */
#landing-screen .lp-hero .lp-index > .lp-pill:nth-last-child(2){
  margin-right:5px !important;
}
#landing-screen .lp-hero .lp-index > .lp-pill:last-child{
  margin-left:5px !important;
}

@media(max-width:1380px){
  #landing-screen .lp-hero .lp-index > .lp-pill{
    font-size:5.8px !important;
    padding-left:2px !important;
    padding-right:2px !important;
  }
  #landing-screen .lp-hero .lp-index > .lp-pill:nth-last-child(2){margin-right:4px !important}
  #landing-screen .lp-hero .lp-index > .lp-pill:last-child{margin-left:4px !important}
}

/* =========================================================
   V1.6.48 — HERO PILLARS UNIFORM SPACING
   Equal spacing for EHS / ESG / RISCOS / COMPLIANCE / GOVERNANÇA.
   ========================================================= */
#landing-screen .lp-hero .lp-index{
  column-gap:9px !important;
}
#landing-screen .lp-hero .lp-index > .lp-pill{
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding:8px 4px !important;
  box-sizing:border-box !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  white-space:nowrap !important;
  font-size:6.15px !important;
  letter-spacing:-.10px !important;
}
/* Remove the special last-two offsets introduced in V1.6.47 */
#landing-screen .lp-hero .lp-index > .lp-pill:nth-last-child(2),
#landing-screen .lp-hero .lp-index > .lp-pill:last-child{
  margin-left:0 !important;
  margin-right:0 !important;
}

/* V1.6.49 — definitive fix on the ACTUAL hero five-pillar wrapper */
#landing-screen .lp-hero .lp-index{
  display:grid !important;
  grid-template-columns:110px 76px 92px minmax(0,1fr) !important;
  align-items:center !important;
  gap:12px !important;
  padding:18px 20px !important;
}
#landing-screen .lp-hero .lp-index > .lp-five-pillar-row{
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:10px !important;
  align-items:stretch !important;
}
#landing-screen .lp-hero .lp-index > .lp-five-pillar-row > span{
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:8px 2px !important;
  box-sizing:border-box !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  font-size:6px !important;
  letter-spacing:-.16px !important;
}
@media(max-width:1380px){
  #landing-screen .lp-hero .lp-index{
    grid-template-columns:102px 70px 82px minmax(0,1fr) !important;
    gap:8px !important;
    padding-left:13px !important;
    padding-right:13px !important;
  }
  #landing-screen .lp-hero .lp-index > .lp-five-pillar-row{gap:7px !important}
  #landing-screen .lp-hero .lp-index > .lp-five-pillar-row > span{
    font-size:5.4px !important;
    padding-left:1px !important;
    padding-right:1px !important;
  }
}

/* V1.6.50 — Hero TFF ONE INDEX ring: 87% teal / 13% slate */
#landing-screen .lp-hero .lp-index .lp-ring{
  background:conic-gradient(var(--teal) 0deg 313.2deg,#536978 313.2deg 360deg) !important;
  border:none !important;
  border-radius:50% !important;
  aspect-ratio:1/1 !important;
  position:relative !important;
  isolation:isolate !important;
}
#landing-screen .lp-hero .lp-index .lp-ring::before{
  content:"" !important;position:absolute !important;inset:7px !important;border-radius:50% !important;
  background:#071d2c !important;z-index:-1 !important;
}
#landing-screen .lp-hero .lp-index .lp-ring>span{color:var(--teal) !important;}
#landing-screen .lp-hero .lp-index .lp-ring>small{color:#8fa4b3 !important;}

/* V1.6.51 — WhatsApp footer-safe positioning */
.tff-whatsapp-float{
  transition:bottom .22s ease,transform .18s ease,box-shadow .18s ease !important;
}
.tff-whatsapp-float.tff-wa-footer-safe{
  bottom:112px !important;
}
@media(max-width:720px){
  .tff-whatsapp-float.tff-wa-footer-safe{
    bottom:96px !important;
  }
}
