:root {
  --indigo:#24366d;
  --indigo-900:#172552;
  --indigo-800:#1d2c5d;
  --azure:#419cf7;
  --denim:#1a66c1;
  --ufo:#26d17c;
  --green:#009f4e;
  --yellow:#fede00;
  --danger:#d94a4a;
  --warning:#d99a00;
  --ink:#263248;
  --muted:#6b7890;
  --line:#e3e9f2;
  --line-dark:#d3dce8;
  --surface:#ffffff;
  --surface-2:#f7f9fc;
  --canvas:#f2f5fa;
  --shadow-sm:0 4px 14px rgba(36,54,109,.07);
  --shadow:0 14px 36px rgba(36,54,109,.10);
  --shadow-lg:0 24px 60px rgba(24,39,84,.16);
  --radius-sm:10px;
  --radius:16px;
  --radius-lg:24px;
  --sidebar:276px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;padding:0;min-height:100%}
body{font-family:"Flama","Aptos","Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--canvas);line-height:1.48;-webkit-font-smoothing:antialiased}
a{color:var(--denim);text-decoration:none}
a:hover{text-decoration:none;color:var(--indigo)}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
input[type="hidden"]{display:none!important}

/* Layout */
.app-shell{min-height:100vh;display:flex}
.sidebar{width:var(--sidebar);background:linear-gradient(180deg,var(--indigo-900) 0%,var(--indigo) 58%,#1b2d60 100%);color:#fff;position:fixed;inset:0 auto 0 0;padding:22px 16px 16px;display:flex;flex-direction:column;z-index:50;overflow:auto;box-shadow:8px 0 30px rgba(21,34,75,.12)}
.sidebar::after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:rgba(38,209,124,.08);right:-140px;top:130px;pointer-events:none}
.sidebar-head{padding:0 8px 22px;border-bottom:1px solid rgba(255,255,255,.10);position:relative;z-index:2}
.brand{display:inline-flex;align-items:center}
.brand img{width:122px;height:auto;display:block}
.product-badge{margin-top:14px;font-family:"Gotham","Aptos Display",sans-serif;font-size:10px;letter-spacing:.16em;color:#c9d8f4;font-weight:800}
.product-badge span{color:var(--ufo)}
.nav-label{font-family:"Gotham","Aptos Display",sans-serif;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#94abd6;margin:22px 12px 8px;position:relative;z-index:2}
.nav{display:grid;gap:5px;position:relative;z-index:2}
.nav a{display:flex;align-items:center;gap:12px;color:#eaf1ff;padding:11px 12px;border-radius:12px;font-size:14px;font-weight:600;transition:.18s ease}
.nav a:hover{background:rgba(255,255,255,.08);color:#fff;transform:translateX(2px)}
.nav a.active{background:linear-gradient(90deg,rgba(65,156,247,.23),rgba(38,209,124,.10));box-shadow:inset 3px 0 0 var(--ufo);color:#fff}
.nav-icon{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;background:rgba(255,255,255,.08);font-size:13px}
.principle-card{margin:24px 4px 18px;padding:14px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);position:relative;z-index:2}
.principle-label{font-family:"Gotham","Aptos Display",sans-serif;font-size:9px;letter-spacing:.12em;color:var(--ufo);font-weight:800;text-transform:uppercase}
.principle-card p{font-size:12px;line-height:1.55;color:#dce7ff;margin:8px 0 0}
.user-panel{margin-top:auto;display:grid;grid-template-columns:38px 1fr 34px;gap:10px;align-items:center;padding:12px;border-radius:14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);position:relative;z-index:2}
.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--azure),var(--ufo));font-family:"Gotham","Aptos Display",sans-serif;font-weight:800;color:#fff}
.user-copy{min-width:0}.user-copy strong{display:block;font-size:12.5px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-copy span{display:block;font-size:10.5px;color:#afc2e8;margin-top:2px}
.logout-btn{border:0;background:rgba(255,255,255,.07);color:#fff;width:34px;height:34px;border-radius:10px;font-size:17px}.logout-btn:hover{background:rgba(255,255,255,.15)}
.sidebar-backdrop{display:none}
.main{margin-left:var(--sidebar);width:calc(100% - var(--sidebar));min-height:100vh;display:flex;flex-direction:column}
.topbar{min-height:78px;display:flex;align-items:center;justify-content:space-between;padding:14px 30px;background:rgba(255,255,255,.93);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30;backdrop-filter:blur(12px)}
.topbar-left{display:flex;align-items:center;gap:13px}.topbar h1{font-family:"Gotham","Aptos Display",sans-serif;margin:0;color:var(--indigo);font-size:21px;font-weight:800}.topbar .sub{color:var(--muted);font-size:12.5px;margin-top:3px}
.menu-toggle{display:none;border:0;background:#edf3fb;color:var(--indigo);width:40px;height:40px;border-radius:11px;font-size:20px}
.topbar-user{display:flex;align-items:center;gap:9px;padding:7px 11px;border:1px solid var(--line);border-radius:12px;background:#fff}.topbar-user strong{display:block;font-size:11.5px;color:var(--indigo)}.topbar-user span:not(.online-dot){display:block;font-size:10px;color:var(--muted)}
.online-dot{width:8px;height:8px;border-radius:50%;background:var(--ufo);box-shadow:0 0 0 4px rgba(38,209,124,.13)}
.content{padding:26px 30px 48px;max-width:1640px;width:100%;margin:0 auto;flex:1}
.app-footer{display:flex;justify-content:space-between;color:#8a96a8;font-size:10px;padding:16px 30px 20px;max-width:1640px;width:100%;margin:0 auto}

/* Utility */
.eyebrow{display:block;font-family:"Gotham","Aptos Display",sans-serif;font-size:9px;letter-spacing:.14em;font-weight:800;color:var(--azure);text-transform:uppercase;margin-bottom:7px}.eyebrow.dark{color:var(--denim)}
.muted{color:var(--muted)}
.numeric{font-variant-numeric:tabular-nums;white-space:nowrap}
.center{text-align:center!important;justify-content:center!important}
.action-group{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.action-group.center{justify-content:center}
.page-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.panel-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.form-actions .actions-spacer{flex:1}.table-actions{display:flex;align-items:center;gap:7px;white-space:nowrap}

/* Flash and demo */
.flash{display:flex;align-items:center;gap:10px;border-radius:12px;padding:12px 14px;margin-bottom:18px;border:1px solid;box-shadow:var(--shadow-sm);font-size:13px}.flash button{margin-left:auto;border:0;background:transparent;font-size:20px;color:inherit}.flash-icon{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;font-weight:900}.flash-success{background:#ecfbf3;color:#087a40;border-color:#bcebd2}.flash-success .flash-icon{background:var(--ufo);color:#fff}.flash-warning{background:#fff8df;color:#775b00;border-color:#efd989}.flash-warning .flash-icon{background:var(--yellow);color:#574400}.flash.compact{padding:10px 12px;box-shadow:none}
.demo-banner{display:flex;align-items:center;gap:9px;background:#fff9df;border:1px solid #efd982;color:#6d5700;padding:9px 12px;border-radius:11px;margin-bottom:18px;font-size:12px}.demo-banner span{background:var(--yellow);color:#4d4200;padding:3px 7px;border-radius:6px;font-family:"Gotham","Aptos Display",sans-serif;font-weight:800;font-size:9px;letter-spacing:.06em}

/* Buttons and inputs */
.btn{border:0;border-radius:10px;padding:10px 15px;font-family:"Gotham","Aptos Display",sans-serif;font-size:12px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:.16s ease;line-height:1.2}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-primary{background:linear-gradient(135deg,var(--indigo),#304c93);color:#fff}.btn-secondary{background:#edf2f8;color:var(--indigo);border:1px solid #dce5f0}.btn-success{background:var(--green);color:#fff}.btn-warning{background:#fff2bd;color:#695100;border:1px solid #ebd36a}.btn-danger{background:var(--danger);color:#fff}.btn-ghost{background:#fff;color:var(--denim);border:1px solid #d7e5f7}.btn-small{padding:7px 10px;font-size:10.5px}.btn-lg{min-height:48px;font-size:13px}.btn-block{width:100%}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=search],select,textarea{width:100%;border:1px solid #cfd9e6;border-radius:10px;padding:10px 12px;background:#fff;color:var(--ink);min-height:42px;transition:.16s ease;box-shadow:0 1px 0 rgba(36,54,109,.02)}
textarea{min-height:96px;resize:vertical}select{cursor:pointer}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(65,156,247,.16);border-color:var(--azure);box-shadow:0 0 0 1px var(--azure)}
input::placeholder,textarea::placeholder{color:#a3aebe}
label{font-family:"Gotham","Aptos Display",sans-serif;font-size:11px;font-weight:800;color:var(--indigo)}
.help{font-size:10.5px;color:var(--muted);line-height:1.35}.label-row{display:flex;justify-content:space-between;align-items:center}.label-row a{font-size:11px;font-weight:700}
.form-group{display:flex;flex-direction:column;gap:6px}.form-group.full{grid-column:1/-1}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.checkbox-row{display:flex;align-items:center;gap:9px;font-family:"Flama","Aptos",sans-serif;font-size:12px;color:var(--ink);font-weight:600}.checkbox-row input{width:17px;height:17px;accent-color:var(--indigo)}
.password-field{display:flex;position:relative}.password-field input{padding-right:56px}.password-field button{position:absolute;right:6px;top:6px;height:30px;border:0;background:#edf3fb;color:var(--denim);border-radius:7px;font-size:10px;font-weight:800;padding:0 9px}.input-icon{position:relative}.input-icon>span{position:absolute;left:11px;top:10px;color:#8b98aa;font-size:13px;z-index:2}.input-icon input{padding-left:34px}.input-icon.password-field input{padding-left:34px;padding-right:56px}
.error{background:#fff0f0;border:1px solid #f0bcbc;color:#982c2c;padding:11px 13px;border-radius:10px;margin-bottom:16px;font-size:12.5px}
.security-note{background:#f2f7ff;border:1px solid #dbe8fa;color:#55677f;padding:11px 13px;border-radius:10px;font-size:11px;margin-top:14px}

/* Core cards */
.panel,.metric-card,.area-card,.form-card,.inline-form-card,.chart-card,.kpi-title-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}
.panel{padding:22px;margin-bottom:20px}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.panel-header h3{font-family:"Gotham","Aptos Display",sans-serif;margin:0;color:var(--indigo);font-size:18px}.panel-header p{margin:4px 0 0;color:var(--muted);font-size:12.5px}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:18px 0 24px}.metric-card{padding:17px;display:flex;align-items:center;gap:13px;min-height:104px}.metric-card .metric-icon{width:43px;height:43px;border-radius:13px;display:grid;place-items:center;font-family:"Gotham","Aptos Display",sans-serif;font-size:18px;font-weight:800;background:#eaf3ff;color:var(--denim)}.metric-card.metric-green .metric-icon,.metric-icon.green{background:#e8f9f0;color:var(--green)}.metric-card.metric-orange .metric-icon,.metric-icon.yellow{background:#fff5d6;color:#9a7200}.metric-card.metric-gray .metric-icon{background:#eff2f6;color:#718095}.metric-icon.red{background:#fdecec!important;color:var(--danger)!important}.metric-icon.blue{background:#eaf3ff!important;color:var(--denim)!important}.metric-card .label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:800}.metric-card .value{display:block;font-family:"Gotham","Aptos Display",sans-serif;font-size:27px;font-weight:800;color:var(--indigo);line-height:1.1;margin:4px 0}.metric-card small{font-size:10.5px;color:var(--muted)}

/* CEO dashboard */
.executive-hero{border-radius:var(--radius-lg);padding:26px 28px;background:linear-gradient(135deg,var(--indigo-900),var(--indigo) 54%,var(--denim));color:#fff;display:flex;align-items:stretch;justify-content:space-between;gap:24px;position:relative;overflow:hidden;box-shadow:var(--shadow)}
.executive-hero::before{content:"";position:absolute;width:330px;height:330px;border-radius:50%;background:rgba(38,209,124,.14);right:-100px;top:-170px}.executive-hero::after{content:"";position:absolute;width:190px;height:190px;border:2px solid rgba(65,156,247,.28);border-radius:45px;right:170px;bottom:-130px;transform:rotate(35deg)}
.executive-copy,.executive-score{position:relative;z-index:2}.executive-copy h2{font-family:"Gotham","Aptos Display",sans-serif;font-size:27px;margin:0 0 7px}.executive-copy p{margin:0;color:#dce7ff;font-size:13px;max-width:720px}.hero-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.hero-chips span{padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.08);font-size:10.5px;color:#eef4ff}.executive-score{min-width:220px;padding:18px 22px;border-radius:17px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.15);display:flex;flex-direction:column;justify-content:center}.executive-score span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#c8d7f2}.executive-score strong{font-family:"Gotham","Aptos Display",sans-serif;font-size:37px;line-height:1.1;margin:5px 0}.executive-score small{font-size:10px;color:#c8d7f2}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:28px 0 14px}.section-heading h3{font-family:"Gotham","Aptos Display",sans-serif;color:var(--indigo);font-size:20px;margin:0}.section-heading p{color:var(--muted);font-size:12px;margin:4px 0 0}.legend{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--muted)}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.dot.green{background:var(--green)}.dot.yellow{background:var(--warning)}.dot.red{background:var(--danger)}
.area-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.area-card{padding:19px;position:relative;overflow:hidden;transition:.18s ease}.area-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.area-card::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#a6b1bf}.area-card.status-green::before{background:var(--green)}.area-card.status-yellow::before{background:var(--warning)}.area-card.status-red::before{background:var(--danger)}.area-card-top{display:flex;justify-content:space-between;gap:14px}.area-index{font-size:9px;color:var(--azure);font-weight:800;letter-spacing:.08em}.area-card h3{font-family:"Gotham","Aptos Display",sans-serif;color:var(--indigo);font-size:17px;margin:2px 0 0}.leader{font-size:10.5px;color:var(--muted);margin:5px 0 0;max-width:220px}.score-ring{--score:0;width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#9ca8b8 calc(var(--score)*1%),#edf1f6 0);position:relative;flex:0 0 auto}.score-ring::after{content:"";position:absolute;inset:7px;background:#fff;border-radius:50%}.score-ring.green{background:conic-gradient(var(--green) calc(var(--score)*1%),#edf1f6 0)}.score-ring.yellow{background:conic-gradient(var(--warning) calc(var(--score)*1%),#edf1f6 0)}.score-ring.red{background:conic-gradient(var(--danger) calc(var(--score)*1%),#edf1f6 0)}.score-ring span{position:relative;z-index:2;font-family:"Gotham","Aptos Display",sans-serif;color:var(--indigo);font-size:13px;font-weight:800}.area-stat-row{display:flex;justify-content:space-between;gap:6px;margin-top:15px;font-size:9.7px;color:var(--muted)}.area-stat-row b{color:var(--indigo)}.card-link{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:11px;border-top:1px solid var(--line);font-size:11px;font-weight:800}.two-column-section{display:grid;grid-template-columns:1.5fr 1fr;gap:18px;margin-top:22px}.discipline-number{font-family:"Gotham","Aptos Display",sans-serif;font-size:53px;color:var(--indigo);font-weight:800;line-height:1}.discipline-copy{color:var(--muted);font-size:12px;margin:8px 0 15px}.info-callout{background:#f1f6fd;border:1px solid #dce9f9;border-radius:11px;padding:11px;font-size:10.5px;color:#5b6d84}

/* Area dashboard */
.area-hero{display:flex;justify-content:space-between;gap:24px;align-items:stretch;border-radius:var(--radius-lg);padding:24px 26px;background:linear-gradient(135deg,#fff,#f5f9ff);border:1px solid #dce6f3;box-shadow:var(--shadow-sm)}.area-hero h2{font-family:"Gotham","Aptos Display",sans-serif;color:var(--indigo);font-size:28px;margin:0 0 6px}.area-hero p{margin:0;color:var(--muted);font-size:12.5px;max-width:780px}.area-hero-score{min-width:230px;border-radius:16px;padding:16px 20px;display:flex;flex-direction:column;justify-content:center;background:#eef2f7;border:1px solid var(--line)}.area-hero-score.green{background:#eaf9f1;border-color:#c5ecd6}.area-hero-score.yellow{background:#fff7dd;border-color:#f0df9e}.area-hero-score.red{background:#fff0f0;border-color:#efc4c4}.area-hero-score span{font-size:9.5px;text-transform:uppercase;color:var(--muted);letter-spacing:.07em;font-weight:800}.area-hero-score strong{font-family:"Gotham","Aptos Display",sans-serif;color:var(--indigo);font-size:35px}.area-hero-score small{font-size:10px;color:var(--muted)}.compact-metrics .metric-card{min-height:86px}.history-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.history-card{padding:15px;border:1px solid var(--line);border-radius:13px;background:#fff;display:flex;flex-direction:column;gap:4px}.history-card span{font-size:10px;color:var(--muted)}.history-card strong{font-family:"Gotham","Aptos Display",sans-serif;font-size:23px;color:var(--indigo)}.history-card small{font-size:9px;font-weight:800}.history-card.green{border-top:3px solid var(--green)}.history-card.yellow{border-top:3px solid var(--warning)}.history-card.red{border-top:3px solid var(--danger)}.history-card.gray{border-top:3px solid #a6b1bf}

/* Tables and statuses */
.table-wrap{overflow:auto;border-radius:12px;border:1px solid var(--line)}table.data{width:100%;border-collapse:collapse;min-width:900px;background:#fff}table.data th{text-align:left;font-family:"Gotham","Aptos Display",sans-serif;font-size:9px;color:#66778e;text-transform:uppercase;letter-spacing:.055em;padding:11px 10px;background:#f8fafc;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:2}table.data td{padding:12px 10px;border-bottom:1px solid #edf1f6;vertical-align:middle;font-size:11.5px}table.data tbody tr:last-child td{border-bottom:0}table.data tbody tr:hover td{background:#fbfdff}table.data td strong{color:var(--indigo)}.wide-copy{max-width:520px;white-space:normal;line-height:1.4}.kpi-name{min-width:230px}.kpi-name small{display:block;color:var(--muted);margin-top:4px;font-size:9.5px}.compact-table{min-width:0!important}.table-search{width:220px!important;min-height:38px!important;font-size:11px!important}
.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.status-dot.green{background:var(--green)}.status-dot.yellow{background:var(--warning)}.status-dot.red{background:var(--danger)}.status-dot.gray{background:#9da9b8}.badge{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:800;white-space:nowrap}.badge.green{background:#e6f8ee;color:#087940}.badge.yellow{background:#fff4cf;color:#7d5e00}.badge.red{background:#fde8e8;color:#a32626}.badge.gray{background:#eef1f5;color:#68778a}.badge.blue{background:#e8f3ff;color:var(--denim)}.role-badge{display:inline-flex;padding:5px 8px;border-radius:8px;background:#eef3fb;color:var(--indigo);font-size:9px;font-weight:800}.trend{font-size:17px;font-weight:900}.trend.up{color:var(--green)}.trend.down{color:var(--danger)}.trend.flat{color:#8b98a9}.progress{height:7px;background:#edf1f5;border-radius:999px;overflow:hidden;margin:11px 0}.progress span{display:block;height:100%;border-radius:inherit}.progress.green span{background:var(--green)}.progress.yellow span{background:var(--warning)}.progress.red span{background:var(--danger)}.progress.gray span{background:#9ba8b8}
.alert-list{display:grid;gap:9px}.alert-item{display:grid;grid-template-columns:25px 1fr auto;align-items:center;gap:8px;padding:11px 12px;border-radius:11px;font-size:11px;border-left:4px solid}.alert-item.red{background:#fff0f0;color:#8b2d2d;border-color:var(--danger)}.alert-item.yellow{background:#fff8df;color:#745900;border-color:var(--warning)}.alert-item.gray{background:#f1f4f7;color:#657387;border-color:#96a2b1}.alert-symbol{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.7);font-weight:900}.empty-state{text-align:center;padding:28px;color:var(--muted)}.empty-state>span{display:grid;place-items:center;margin:0 auto 8px;width:38px;height:38px;border-radius:50%;background:#eaf8f0;color:var(--green);font-size:20px}.empty-state strong{display:block;color:var(--indigo)}.empty-state p{font-size:11px;margin:4px 0 0}

/* Forms and administration */
.form-card{max-width:980px;margin:0 auto 20px;padding:24px}.wide-form{max-width:1120px}.compact-form{max-width:760px}.form-card-title{display:flex;align-items:center;gap:13px;margin-bottom:21px}.form-card-title h2,.form-card-title h3{font-family:"Gotham","Aptos Display",sans-serif;color:var(--indigo);margin:0;font-size:21px}.form-card-title h3{font-size:17px}.form-card-title p{color:var(--muted);font-size:11.5px;margin:4px 0 0}.title-icon{width:45px;height:45px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,#e8f2ff,#eefaf4);color:var(--denim);font-size:20px;font-weight:800}.title-icon.warning{background:#fff4cf;color:#7e5f00}.form-section{padding:17px;border:1px solid var(--line);border-radius:13px;background:#fbfcfe;margin-bottom:14px}.form-section h3{font-family:"Gotham","Aptos Display",sans-serif;color:var(--indigo);font-size:13px;margin:0 0 13px}.danger-zone{border-color:#f0d89b;background:#fffcf3}.inline-form-card{padding:19px}.admin-hero{border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--indigo),#304b91);color:#fff;padding:23px 26px;display:grid;grid-template-columns:1fr repeat(3,110px);gap:14px;align-items:center;margin-bottom:18px;box-shadow:var(--shadow)}.admin-hero h2{font-family:"Gotham","Aptos Display",sans-serif;font-size:23px;margin:0 0 5px}.admin-hero p{color:#d9e6ff;margin:0;font-size:11.5px}.admin-hero-stat{padding:14px;border-radius:14px;background:rgba(255,255,255,.10);text-align:center;border:1px solid rgba(255,255,255,.12)}.admin-hero-stat strong{display:block;font-family:"Gotham","Aptos Display",sans-serif;font-size:25px}.admin-hero-stat span{font-size:9px;text-transform:uppercase;color:#c9d8f4;letter-spacing:.06em}.tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:18px}.sticky-tabs{position:sticky;top:88px;z-index:20;background:var(--canvas);padding:4px 0}.tab{padding:8px 12px;border-radius:9px;background:#eaf0f7;color:var(--indigo);font-size:10.5px;font-weight:800}.tab:hover{background:#dae6f5}.admin-split{display:grid;grid-template-columns:1.3fr .7fr;gap:18px}.kpi-context-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.context-card{padding:13px;border-radius:12px;background:#f5f8fc;border:1px solid var(--line)}.context-card span{display:block;font-size:8.5px;text-transform:uppercase;color:var(--muted);font-weight:800;letter-spacing:.06em}.context-card strong{display:block;color:var(--indigo);font-size:12.5px;margin-top:4px;word-break:break-word}.action-zone{margin-top:15px;padding:18px;border-radius:14px;background:#fff9e7;border:1px solid #efd992}.action-zone-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}.action-zone-head>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--yellow);color:#5d4a00;font-weight:900}.action-zone h3{font-family:"Gotham","Aptos Display",sans-serif;margin:0;color:#765d00;font-size:14px}.action-zone p{margin:3px 0 0;color:#806a1b;font-size:10.5px}

/* KPI detail */
.kpi-title-card{padding:22px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.kpi-title-card h2{font-family:"Gotham","Aptos Display",sans-serif;color:var(--indigo);font-size:24px;margin:0 0 6px}.kpi-title-card p{margin:0;color:var(--muted);font-size:12px;max-width:900px}.frequency-pill{padding:7px 10px;border-radius:999px;background:#eaf3ff;color:var(--denim);font-size:9px;font-weight:800;white-space:nowrap}.chart-panel{overflow:hidden}.sparkline-wrap{padding:10px 12px 2px;background:linear-gradient(180deg,#fbfdff,#fff);border-radius:12px}.sparkline-wrap svg{width:100%;height:210px;overflow:visible}.chart-line{fill:none;stroke:var(--azure);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.chart-point{fill:#fff;stroke:var(--indigo);stroke-width:3}.chart-axis{stroke:#dce4ed;stroke-width:1}.action-list{display:grid;gap:12px}.action-card{border:1px solid var(--line);border-left:4px solid var(--warning);border-radius:12px;padding:14px;background:#fff}.action-card.completed{border-left-color:var(--green);background:#fbfffd}.action-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:11px}.action-card-head>div{display:flex;align-items:center;gap:8px}.action-card-head>span{font-size:10px;color:var(--muted)}.action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.action-grid>div{padding:10px;background:#f8fafc;border-radius:9px}.action-grid small{display:block;text-transform:uppercase;font-size:8px;color:var(--muted);font-weight:800}.action-grid p{font-size:10.5px;margin:4px 0 0}

/* Authentication */
.auth-body{background:#fff}.auth-layout{min-height:100vh;display:grid;grid-template-columns:1.08fr .92fr}.auth-visual{background:linear-gradient(145deg,#14224d,var(--indigo) 60%,var(--denim));color:#fff;padding:56px 64px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.auth-brand{position:absolute;left:64px;top:42px}.auth-brand img{width:158px}.auth-copy{position:relative;z-index:2;max-width:690px}.auth-copy h1{font-family:"Gotham","Aptos Display",sans-serif;font-size:43px;line-height:1.08;margin:8px 0 14px;max-width:650px}.auth-copy>p{font-size:16px;color:#d8e5ff;max-width:620px}.auth-feature-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:35px}.auth-feature-list>div{padding:15px;border:1px solid rgba(255,255,255,.13);border-radius:13px;background:rgba(255,255,255,.07)}.auth-feature-list span{display:block;color:var(--ufo);font-family:"Gotham","Aptos Display",sans-serif;font-size:11px;font-weight:800}.auth-feature-list strong{display:block;margin:7px 0 4px;font-size:12px}.auth-feature-list small{font-size:9.5px;color:#c9d7f2;line-height:1.4}.auth-shape{position:absolute;border-radius:45px;border:2px solid rgba(65,156,247,.22);transform:rotate(35deg)}.auth-shape-one{width:310px;height:310px;right:-110px;top:-110px}.auth-shape-two{width:220px;height:220px;left:-100px;bottom:-100px;border-color:rgba(38,209,124,.24)}.auth-panel{display:flex;align-items:center;justify-content:center;padding:40px;background:#fff}.auth-card{width:100%;max-width:430px}.auth-card.narrow{max-width:460px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:var(--shadow-lg)}.auth-card-head h2{font-family:"Gotham","Aptos Display",sans-serif;color:var(--indigo);font-size:28px;margin:0 0 6px}.auth-card-head p{margin:0 0 23px;color:var(--muted);font-size:12.5px}.auth-card-head.center{text-align:center}.mini-logo{display:inline-flex;margin-bottom:25px}.mini-logo img{width:125px}.mini-logo.center{display:flex;justify-content:center}.auth-card .form-group{margin-bottom:13px}.demo-credentials{margin-top:20px;padding:13px;border-radius:12px;background:#f5f8fc;border:1px solid var(--line);font-size:9.5px;color:var(--muted)}.demo-title{font-size:9px;text-transform:uppercase;font-weight:800;color:var(--indigo);margin-bottom:8px}.demo-credentials>div:not(.demo-title){display:grid;grid-template-columns:65px 1fr 1fr;gap:6px;align-items:center;margin-top:5px}.demo-credentials code{background:#fff;border:1px solid var(--line);padding:3px 5px;border-radius:5px;color:var(--indigo);font-size:8.5px}.auth-version{text-align:center;font-size:9px;color:#9aa5b4;margin-top:15px}.simple-auth{background:linear-gradient(135deg,#f3f7fc,#fff)}.simple-auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:28px}.back-link{display:block;text-align:center;margin-top:18px;font-size:11px}.local-reset-box{margin-top:14px;padding:13px;border-radius:11px;background:#fff8dc;border:1px solid #efd986;font-size:11px;color:#6f5800}.local-reset-box p{margin:4px 0}.local-reset-box a{font-weight:800;word-break:break-all}.eyebrow.dark{color:var(--denim)}

/* Error */
.error-page{text-align:center;max-width:680px;margin:80px auto;background:#fff;border:1px solid var(--line);border-radius:22px;padding:38px;box-shadow:var(--shadow)}.error-code{font-family:"Gotham","Aptos Display",sans-serif;font-size:58px;color:var(--azure);font-weight:800;line-height:1}.error-page h2{font-family:"Gotham","Aptos Display",sans-serif;color:var(--indigo);margin:10px 0}.error-page p{color:var(--muted);font-size:13px;margin-bottom:23px}

/* Responsive */
@media(max-width:1240px){.area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-hero{grid-template-columns:1fr repeat(3,90px)}.two-column-section{grid-template-columns:1fr}.auth-feature-list{grid-template-columns:1fr}}
@media(max-width:980px){:root{--sidebar:250px}.content{padding:22px}.topbar{padding:13px 22px}.kpi-context-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-split{grid-template-columns:1fr}.auth-layout{grid-template-columns:1fr}.auth-visual{min-height:430px;padding:45px 38px}.auth-panel{padding:36px}.auth-brand{left:38px;top:28px}.auth-copy h1{font-size:36px}}
@media(max-width:760px){.sidebar{transform:translateX(-102%);transition:.2s ease;width:280px}.sidebar.open{transform:translateX(0)}.sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(15,25,55,.45);z-index:45;opacity:0;visibility:hidden;transition:.2s}.sidebar-backdrop.open{opacity:1;visibility:visible}.main{margin-left:0;width:100%}.menu-toggle{display:block}.topbar-user{display:none}.content{padding:17px}.app-footer{padding:14px 18px}.area-grid,.metric-grid,.form-grid,.action-grid{grid-template-columns:1fr}.executive-hero,.area-hero{flex-direction:column}.executive-score,.area-hero-score{min-width:0}.section-heading{align-items:flex-start;flex-direction:column}.legend{flex-wrap:wrap}.admin-hero{grid-template-columns:repeat(3,1fr)}.admin-hero>div:first-child{grid-column:1/-1}.kpi-context-grid{grid-template-columns:1fr 1fr}.auth-visual{display:none}.auth-panel{min-height:100vh;padding:25px}.panel{padding:16px}.page-actions{align-items:stretch}.period-picker,.action-group{width:100%}.period-picker select{flex:1}.action-group .btn{flex:1}.app-footer{flex-direction:column;gap:4px}.sticky-tabs{top:76px}.topbar h1{font-size:18px}}
@media(max-width:480px){.area-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:1fr}.kpi-context-grid{grid-template-columns:1fr}.auth-card.narrow{padding:22px}.demo-credentials>div:not(.demo-title){grid-template-columns:1fr}.admin-hero{grid-template-columns:1fr 1fr}.admin-hero-stat:last-child{grid-column:1/-1}}

/* ==========================================================
   Practi KPI 1.2 — compatibility layer for the executive UI
   ========================================================== */
.icon-svg{display:block;flex:0 0 auto}.icon-button{border:0;background:transparent;color:inherit;padding:8px;border-radius:10px;display:inline-grid;place-items:center}.icon-button:hover{background:rgba(255,255,255,.08)}
.sidebar-head{display:flex;align-items:center;justify-content:space-between}.brand-product{font-size:10px;font-weight:800;letter-spacing:.16em;color:#bcd1f5;border-left:1px solid rgba(255,255,255,.18);padding-left:9px}.sidebar-close{display:none}
.workspace-card{position:relative;z-index:2;padding:13px 14px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.055);border-radius:13px;margin:16px 4px 2px}.workspace-label{display:block;font-size:8px;letter-spacing:.13em;font-weight:800;color:#92b8f0}.workspace-card strong{display:block;font-size:13px;margin-top:4px}.workspace-card small{display:block;color:#b8c8e8;font-size:10px;margin-top:2px}.principle-kicker{font-size:8.5px;letter-spacing:.12em;color:var(--ufo);font-weight:800}
.sidebar-user{margin-top:auto;display:grid;grid-template-columns:38px 1fr 34px;gap:10px;align-items:center;padding:12px;border-radius:14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);position:relative;z-index:2}.sidebar-version{text-align:center;font-size:8px;letter-spacing:.1em;color:#8da5cf;margin-top:8px}.logout-icon{width:34px;height:34px;color:#fff}.mobile-overlay{display:none}
.topbar-left{display:flex;align-items:center;gap:13px}.mobile-menu-button{display:none;color:var(--indigo)}.page-heading .eyebrow{margin-bottom:2px}.page-heading h1{font-family:"Gotham","Aptos Display",sans-serif;margin:0;color:var(--indigo);font-size:21px;font-weight:800}.page-heading p{color:var(--muted);font-size:11px;margin:3px 0 0}.topbar-user-copy{text-align:right}.topbar-user-copy strong{display:block;font-size:11px;color:var(--indigo)}.topbar-user-copy span{display:block;font-size:9.5px;color:var(--muted)}.avatar-light{width:36px;height:36px}
.flash-close{margin-left:auto;border:0;background:transparent;color:inherit;font-size:20px}.flash-icon{display:grid;place-items:center}.demo-banner p{margin:0}
.toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:18px}.toolbar .group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.grid{display:grid;gap:16px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.hero{border-radius:var(--radius-lg);padding:25px 27px;margin-bottom:20px;background:linear-gradient(135deg,var(--indigo-900),var(--indigo) 56%,var(--denim));color:#fff;box-shadow:var(--shadow);position:relative;overflow:hidden}.hero::after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-85px;top:-125px;background:rgba(38,209,124,.14)}.hero>*{position:relative;z-index:1}.hero-eyebrow{font-size:8.5px;letter-spacing:.14em;color:#8bc3ff;font-weight:800}.hero h2{font-family:"Gotham","Aptos Display",sans-serif;font-size:25px;margin:5px 0 6px}.hero p{margin:0;color:#d8e5ff;font-size:12px;max-width:900px}.hero .meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.hero .chip{padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.12);font-size:10px;color:#eef4ff}
.metric-top{display:flex;align-items:center;justify-content:space-between}.metric-card .note{font-size:10px;color:var(--muted)}.metric-card .value{font-size:27px;font-family:"Gotham","Aptos Display",sans-serif;font-weight:800;color:var(--indigo);margin:5px 0}.metric-card .label{font-size:9px;text-transform:uppercase;color:var(--muted);font-weight:800;letter-spacing:.06em}.metric-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#eaf3ff;color:var(--denim)}.metric-icon.green{background:#e8f9f0;color:var(--green)}.metric-icon.red{background:#fdecec;color:var(--danger)}.metric-icon.yellow{background:#fff5d6;color:#9a7200}
.area-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.area-card .leader{font-size:10px;color:var(--muted);margin-top:4px}.area-card .score-row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:14px}.area-card .score{font-family:"Gotham","Aptos Display",sans-serif;font-size:25px;font-weight:800;color:var(--indigo)}.area-card .counts{text-align:right;font-size:9px;color:var(--muted)}.area-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}.progress{height:7px;background:#e8edf4;border-radius:999px;overflow:hidden;margin-top:9px}.progress>span{display:block;height:100%;border-radius:inherit;background:#9aa7b7}.progress.green>span{background:var(--green)}.progress.yellow>span{background:var(--warning)}.progress.red>span{background:var(--danger)}
.panel-header .panel-actions{display:flex;gap:8px}.alert-list{display:grid;gap:8px}.alert-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border-radius:10px;font-size:11px;border-left:4px solid}.alert-item.red{background:#fff1f1;color:#8f3030;border-color:var(--danger)}.alert-item.yellow{background:#fff9e5;color:#765d00;border-color:var(--warning)}.alert-item.gray{background:#f1f4f8;color:#617087;border-color:#94a0af}.empty{text-align:center;color:var(--muted);padding:30px 20px;font-size:11px}
.badge{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;font-size:8.5px;font-weight:800}.badge.green{background:#e8f8ef;color:#087a40}.badge.yellow{background:#fff6d8;color:#7b5c00}.badge.red{background:#fdeaea;color:#a22626}.badge.gray{background:#edf1f5;color:#66768a}.badge.blue{background:#e9f3ff;color:var(--denim)}.status-dot{width:7px;height:7px;border-radius:50%;display:inline-block}.status-dot.green{background:var(--green)}.status-dot.yellow{background:var(--warning)}.status-dot.red{background:var(--danger)}.status-dot.gray{background:#99a6b6}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}table.data{width:100%;border-collapse:separate;border-spacing:0;min-width:900px;background:#fff}table.data th{position:sticky;top:0;z-index:1;text-align:left;font-size:8.5px;color:#66758b;text-transform:uppercase;letter-spacing:.07em;padding:11px 12px;background:#f7f9fc;border-bottom:1px solid var(--line)}table.data td{padding:12px;border-bottom:1px solid #edf1f6;font-size:11px;vertical-align:middle}table.data tr:last-child td{border-bottom:0}table.data tbody tr:hover td{background:#fbfdff}.kpi-name{min-width:245px}.trend{font-weight:900;font-size:15px}.trend.up{color:var(--green)}.trend.down{color:var(--danger)}.trend.flat{color:#8391a3}
.form-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.form-title-row h2{font-family:"Gotham","Aptos Display",sans-serif;margin:0;color:var(--indigo);font-size:22px}.form-title-row p{margin:5px 0 0;color:var(--muted);font-size:11px}.form-card-wide{max-width:1180px}.checkbox-row{display:flex;align-items:flex-start;gap:9px;padding:11px;border:1px solid var(--line);border-radius:10px;background:#fafbfd}.checkbox-row input{margin-top:3px}.form-actions{padding-top:16px;border-top:1px solid var(--line)}
.admin-stat-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.admin-stat{padding:14px;border-radius:12px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm)}.admin-stat span{display:block;font-size:8px;letter-spacing:.08em;color:var(--muted);font-weight:800}.admin-stat strong{display:block;color:var(--indigo);font-size:21px;margin-top:4px}
.kpi-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.kpi-header h2{font-family:"Gotham","Aptos Display",sans-serif;margin:0;color:var(--indigo);font-size:23px}.kpi-header p{margin:5px 0 0;color:var(--muted);font-size:11px}.kpi-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin:16px 0}.meta-box{padding:13px;border-radius:11px;background:#f8fafc;border:1px solid var(--line)}.meta-box span{display:block;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.07em;font-weight:800}.meta-box strong{display:block;color:var(--indigo);font-size:11.5px;margin-top:3px}.chart-card{padding:18px}.chart-card svg{width:100%;height:185px;overflow:visible}
/* Authentication templates */
.auth-page{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1.05fr) minmax(420px,.95fr);background:#fff}.auth-page .auth-brand{position:relative;left:auto;top:auto;display:flex;flex-direction:column;justify-content:center;padding:64px 70px;background:linear-gradient(145deg,#131f46 0%,var(--indigo) 62%,#1d5aa4 100%);color:#fff;overflow:hidden}.auth-page .auth-brand::before{content:"";position:absolute;width:500px;height:500px;border-radius:50%;right:-290px;bottom:-270px;background:rgba(38,209,124,.17)}.auth-page .auth-brand>*{position:relative;z-index:1}.auth-page .auth-brand img{width:175px;margin-bottom:40px}.auth-kicker{font-size:9px;letter-spacing:.17em;color:#8ec5ff;font-weight:800}.auth-page .auth-brand h1{font-family:"Gotham","Aptos Display",sans-serif;font-size:42px;line-height:1.08;margin:8px 0 13px;max-width:650px}.auth-page .auth-brand p{font-size:16px;color:#d6e3ff;max-width:560px}.auth-principle{margin-top:30px;padding:14px 16px;border-radius:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);font-size:11px;color:#e7efff;max-width:520px}.auth-form-wrap{display:flex;align-items:center;justify-content:center;padding:40px;background:#fbfcfe}.auth-form{width:100%;max-width:430px;background:#fff;border:1px solid var(--line);border-radius:21px;padding:30px;box-shadow:var(--shadow-lg)}.auth-logo-mobile{display:none;width:120px;margin-bottom:20px}.auth-form h2{font-family:"Gotham","Aptos Display",sans-serif;color:var(--indigo);font-size:25px;margin:0 0 7px}.auth-form .intro{color:var(--muted);font-size:12px;margin:0 0 22px}.auth-form .form-group{margin-bottom:13px}.auth-form .btn{width:100%}.auth-links{display:flex;justify-content:space-between;align-items:center;margin-top:12px;font-size:10.5px}.reset-link-box{margin-top:14px;padding:12px;border-radius:10px;background:#fff9e3;border:1px solid #efdf9f;font-size:10.5px;word-break:break-all}.auth-message{padding:12px;border-radius:10px;background:#eff8ff;border:1px solid #cfe5fb;color:#315d88;font-size:11px;margin-bottom:15px}
@media(max-width:1180px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.auth-page{grid-template-columns:1fr}.auth-page .auth-brand{display:none}.auth-form-wrap{min-height:100vh}.auth-logo-mobile{display:block}}
@media(max-width:760px){.sidebar-close{display:grid}.mobile-overlay{display:block;position:fixed;inset:0;background:rgba(15,25,55,.45);z-index:45;opacity:0;visibility:hidden;transition:.2s}.mobile-overlay.open{opacity:1;visibility:visible}.mobile-menu-button{display:grid}.grid-4,.grid-3,.grid-2,.admin-stat-row,.form-grid{grid-template-columns:1fr}.topbar-user{display:none}.page-heading p{max-width:62vw}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}}

/* ================================================================
   Practi KPI 1.5 — refined, subtle brand signature
   The official logo remains untouched; the product descriptor is
   intentionally separated to preserve hierarchy and breathing room.
   ================================================================ */
.sidebar-head{
  padding:4px 8px 20px;
  align-items:flex-start;
  min-height:118px;
}
.brand-signature{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  width:182px;
  color:#fff;
  text-decoration:none;
  position:relative;
}
.brand-signature:hover{color:#fff;text-decoration:none}
.brand-signature img{
  display:block;
  width:126px;
  max-width:100%;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 5px 14px rgba(7,18,48,.12));
}
.brand-signature-rule{
  display:block;
  width:46px;
  height:1px;
  margin:12px 0 8px;
  background:linear-gradient(90deg,var(--azure),var(--ufo));
  opacity:.88;
}
.brand-signature-copy{
  display:flex;
  flex-direction:column;
  gap:2px;
  line-height:1.1;
}
.brand-signature-copy strong{
  font-family:"Gotham","Aptos Display",sans-serif;
  font-size:9.5px;
  letter-spacing:.16em;
  font-weight:800;
  color:#f5f8ff;
}
.brand-signature-copy small{
  font-size:7.5px;
  letter-spacing:.13em;
  font-weight:700;
  color:#9fb6dd;
}
.sidebar-close{margin-top:1px}

.auth-brand-signature{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  width:max-content;
  margin-bottom:48px;
}
.auth-page .auth-brand .auth-brand-signature img{
  width:158px;
  height:auto;
  margin:0;
  object-fit:contain;
  filter:drop-shadow(0 10px 24px rgba(4,13,38,.13));
}
.auth-brand-signature-line{
  display:block;
  width:55px;
  height:1px;
  margin:15px 0 9px;
  background:linear-gradient(90deg,var(--azure),var(--ufo));
}
.auth-brand-signature small{
  color:#b8cbed;
  font-family:"Gotham","Aptos Display",sans-serif;
  font-size:8px;
  letter-spacing:.18em;
  font-weight:800;
}
/* Secondary authentication views use the same understated official lockup. */
.auth-page .auth-brand > img{
  width:154px;
  height:auto;
  margin:0 0 44px;
  object-fit:contain;
  filter:drop-shadow(0 10px 24px rgba(4,13,38,.13));
}
.auth-logo-mobile{
  width:132px;
  height:auto;
  margin:0 auto 24px;
  object-fit:contain;
}

@media(max-width:980px){
  .auth-brand-signature{margin-bottom:38px}
  .auth-page .auth-brand .auth-brand-signature img{width:148px}
}
@media(max-width:900px){
  .auth-logo-mobile{display:block}
}

/* ================================================================
   Practi KPI 1.5 — management controls and executive clarity
   ================================================================ */
.admin-launch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px}
.admin-launch-card{display:grid;grid-template-columns:46px 1fr 20px;align-items:center;gap:13px;padding:17px 18px;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow-sm);color:var(--ink);transition:.18s ease}
.admin-launch-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);color:var(--ink)}
.admin-launch-card strong{display:block;color:var(--indigo);font-family:"Gotham","Aptos Display",sans-serif;font-size:14px}.admin-launch-card p{margin:3px 0 0;color:var(--muted);font-size:10.5px}
.kpi-area-toolbar{padding:15px 17px;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow-sm);margin-bottom:18px}
.area-filter-form{display:flex;align-items:center;gap:10px}.area-filter-form label{font-family:"Gotham","Aptos Display",sans-serif;font-size:9px;font-weight:800;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}.area-filter-form select{min-width:240px}
.area-config-hero{display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;padding:24px 26px;margin-bottom:15px;border-radius:18px;background:linear-gradient(135deg,var(--indigo) 0%,#31518e 100%);color:#fff;box-shadow:var(--shadow)}
.area-config-hero h2{font-family:"Gotham","Aptos Display",sans-serif;font-size:27px;margin:4px 0 6px}.area-config-hero p{margin:0;color:#dbe7fc;font-size:12px;max-width:800px}.weight-dial{width:175px;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);text-align:center}.weight-dial span{display:block;font-size:8px;letter-spacing:.12em;font-weight:800;color:#b9cbed}.weight-dial strong{display:block;font-family:"Gotham","Aptos Display",sans-serif;font-size:31px;line-height:1.1;margin:4px 0}.weight-dial small{font-size:8.5px;color:#dce7fb}.weight-dial.complete strong{color:var(--ufo)}.weight-dial.incomplete strong{color:var(--yellow)}
.weight-status{display:grid;grid-template-columns:1fr 320px;align-items:center;gap:20px;padding:13px 16px;border-radius:13px;margin-bottom:18px;border:1px solid}.weight-status.complete{background:#ecfbf3;border-color:#bcebd2}.weight-status.incomplete{background:#fff8df;border-color:#efd989}.weight-status-copy strong{display:block;color:var(--indigo);font-size:11.5px}.weight-status-copy span{display:block;color:var(--muted);font-size:9.5px;margin-top:2px}.weight-progress{height:10px;background:rgba(255,255,255,.85);border-radius:999px;overflow:hidden;border:1px solid rgba(36,54,109,.08)}.weight-progress span{display:block;height:100%;border-radius:inherit;background:var(--warning)}.weight-status.complete .weight-progress span{background:var(--ufo)}
table.data tfoot td{background:#f7f9fc;border-top:2px solid var(--line);border-bottom:0}
.weight-form-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px 16px;margin-bottom:18px;border-radius:13px;background:#f4f8ff;border:1px solid #d9e7f8}.weight-form-summary>div{padding:10px 12px;background:#fff;border:1px solid var(--line);border-radius:10px}.weight-form-summary span{display:block;font-size:8px;letter-spacing:.08em;color:var(--muted);font-weight:800}.weight-form-summary strong{display:block;color:var(--indigo);font-family:"Gotham","Aptos Display",sans-serif;font-size:22px;margin-top:3px}.weight-form-summary p{grid-column:1/-1;margin:0;color:var(--muted);font-size:9px}
.period-identity{display:grid;grid-template-columns:1.05fr 1.45fr;align-items:stretch;margin-bottom:20px;border-radius:20px;overflow:hidden;background:linear-gradient(135deg,var(--indigo-900),var(--indigo) 65%,#275aa1);color:#fff;box-shadow:var(--shadow)}.period-identity-main{padding:26px 28px}.period-identity-main span{font-size:8.5px;letter-spacing:.15em;font-weight:800;color:#9fc9f7}.period-identity-main h2{font-family:"Gotham","Aptos Display",sans-serif;font-size:30px;margin:6px 0 4px}.period-identity-main p{margin:0;color:#d7e5ff;font-size:11.5px;letter-spacing:.04em}.period-identity-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.12)}.period-identity-meta>div{padding:17px 18px;background:rgba(255,255,255,.065)}.period-identity-meta span{display:block;font-size:7.5px;letter-spacing:.1em;color:#a9bfe7;font-weight:800}.period-identity-meta strong{display:block;font-size:11px;margin-top:4px;color:#fff}.period-state-text{color:var(--ufo)!important}.compact-period{grid-template-columns:1fr auto;padding-right:22px;align-items:center}.compact-period .period-identity-main{padding:19px 24px}.compact-period .period-identity-main h2{font-size:23px}.period-selector{display:flex;align-items:center;gap:9px}.period-selector label{font-size:8px;letter-spacing:.08em;font-weight:800;color:var(--muted);text-transform:uppercase}.period-selector select{min-width:260px}
.period-admin-grid{align-items:start}.period-rule-card{display:flex;flex-direction:column;justify-content:center;padding:12px 14px;border-radius:10px;background:#eef5ff;border:1px solid #d8e7f9}.period-rule-card strong{color:var(--indigo);font-family:"Gotham","Aptos Display",sans-serif}.period-rule-card span{font-size:9px;color:var(--muted);margin-top:3px}
.badge.period-open,.badge.period-reopened{background:#e8f8ef;color:#087a40}.badge.period-pending_review{background:#fff6d8;color:#7b5c00}.badge.period-closed{background:#edf1f5;color:#66768a}.badge.period-scheduled{background:#e9f3ff;color:var(--denim)}
.audit-filter-panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;margin-bottom:18px;box-shadow:var(--shadow-sm)}.audit-filters{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:11px}.audit-search{grid-column:span 2}.audit-filter-actions{grid-column:span 2;display:flex;align-items:flex-end;justify-content:flex-end;gap:8px;padding-bottom:1px}.audit-table{min-width:1280px}.audit-detail-cell{min-width:175px}.audit-detail-cell summary{cursor:pointer;color:var(--denim);font-weight:700;font-size:10px}.audit-detail{margin-top:9px;padding:11px;border-radius:10px;background:#f7f9fc;border:1px solid var(--line);max-width:650px}.audit-detail p{margin:0 0 7px;font-size:9.5px}.audit-detail div{margin-top:8px}.audit-detail span{display:block;font-size:7.5px;font-weight:800;color:var(--muted);letter-spacing:.08em}.audit-detail pre{margin:4px 0 0;padding:8px;border-radius:7px;background:#fff;border:1px solid var(--line);white-space:pre-wrap;word-break:break-word;font-size:8px;max-height:170px;overflow:auto}
.executive-metrics{margin-bottom:20px}
@media(max-width:1180px){.admin-launch-grid{grid-template-columns:1fr}.period-identity{grid-template-columns:1fr}.audit-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-search,.audit-filter-actions{grid-column:span 1}.weight-status{grid-template-columns:1fr}}
@media(max-width:760px){.area-config-hero{grid-template-columns:1fr}.weight-dial{width:100%}.period-identity-meta{grid-template-columns:1fr}.period-selector{align-items:flex-start;flex-direction:column}.period-selector select{min-width:0;width:100%}.audit-filters{grid-template-columns:1fr}.audit-search,.audit-filter-actions{grid-column:auto}.audit-filter-actions{justify-content:stretch}.audit-filter-actions .btn{flex:1}.weight-form-summary{grid-template-columns:1fr}.weight-form-summary p{grid-column:auto}}


/* Practi KPI 1.5 — executive card and KPI formula refinements */
.executive-metrics .metric-card{display:block;min-height:118px;padding:17px 18px}
.executive-metrics .metric-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.executive-metrics .metric-card .value{display:block;margin:7px 0 4px;line-height:1.05}
.executive-metrics .metric-card .sub{display:block}
.kpi-formula-inline{display:inline-block;margin-top:5px;padding:4px 7px;border-radius:7px;background:#eef5ff;color:var(--denim);font-size:8.5px;font-weight:700;line-height:1.3}
.kpi-formula-card{margin:-2px 0 18px;padding:12px 15px;border:1px solid #d8e7f9;border-left:4px solid var(--azure);border-radius:11px;background:#f4f8ff}
.kpi-formula-card span{display:block;font-size:7.5px;letter-spacing:.1em;font-weight:800;color:var(--muted)}
.kpi-formula-card strong{display:block;margin-top:4px;color:var(--indigo);font-size:11px;line-height:1.45}

/* ================================================================
   AUDITORÍA 1.5 · filtros robustos y trazabilidad ejecutiva
   ================================================================ */
.audit-panel-heading{align-items:flex-start}.audit-panel-heading>div{max-width:820px}.audit-panel-heading p{max-width:820px}
.audit-warnings{display:flex;gap:10px;align-items:flex-start;margin:14px 0 2px;padding:11px 13px;border:1px solid #f0df9c;border-radius:11px;background:#fff9df;color:#765d00}.audit-warnings svg{flex:none;margin-top:1px}.audit-warnings p{margin:0 0 3px;font-size:10px;line-height:1.4}.audit-warnings p:last-child{margin-bottom:0}
.optional-label{font-size:8px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-left:4px}.audit-area-filter .help{color:var(--denim);font-weight:600}
.audit-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.audit-summary-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;box-shadow:var(--shadow-sm);min-height:94px}.audit-summary-card span{display:block;color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.08em}.audit-summary-card strong{display:block;margin-top:7px;color:var(--indigo);font-size:24px;line-height:1}.audit-summary-card small{display:block;margin-top:7px;color:var(--muted);font-size:9px}.audit-summary-card .audit-timezone{font-size:18px;margin-top:10px}
.audit-results-panel .table-wrap{border:1px solid var(--line);border-radius:12px}.audit-table{min-width:1320px;table-layout:auto}.audit-table th{white-space:nowrap}.audit-table td{vertical-align:top}.audit-table .audit-date{min-width:145px}.audit-table .audit-date strong{white-space:nowrap}.audit-table td:nth-child(2){min-width:155px}.audit-table td:nth-child(3){min-width:150px}.audit-table td:nth-child(4){min-width:170px}.audit-table td:nth-child(5){min-width:175px}.audit-table td:nth-child(6){min-width:90px}.audit-table td:nth-child(7){min-width:180px}
.audit-area-line{display:flex;flex-direction:column;gap:1px;margin-bottom:5px}.audit-area-line small{font-size:7px;letter-spacing:.08em;color:var(--muted);font-weight:800}.audit-area-line strong{font-size:10px;color:var(--indigo)}.audit-area-line.secondary strong{color:var(--denim)}
.audit-detail-cell summary{display:inline-flex;align-items:center;cursor:pointer;color:var(--denim);font-weight:800;font-size:9.5px;white-space:nowrap}.audit-detail-cell details[open]>summary{color:var(--indigo)}.audit-detail{width:min(720px,70vw);margin-top:9px;padding:13px;border-radius:12px;background:#f7f9fc;border:1px solid var(--line);box-shadow:var(--shadow-sm)}.audit-detail-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:10px}.audit-detail-heading strong{color:var(--indigo);font-size:10.5px}.audit-detail-heading span{color:var(--muted);font-size:8.5px}.audit-change-table{border:1px solid var(--line);border-radius:9px;overflow:hidden;margin:9px 0}.audit-change-head,.audit-change-row{display:grid;grid-template-columns:minmax(125px,.8fr) minmax(160px,1fr) minmax(160px,1fr)}.audit-change-head{background:var(--indigo);color:#fff}.audit-change-head span{font-size:7.5px;font-weight:800;letter-spacing:.07em;padding:7px 9px}.audit-change-row{background:#fff;border-top:1px solid var(--line)}.audit-change-row:first-of-type{border-top:none}.audit-change-row>*{padding:7px 9px;font-size:8.3px;line-height:1.35;overflow-wrap:anywhere;border-right:1px solid var(--line)}.audit-change-row>*:last-child{border-right:none}.audit-change-row strong{color:var(--indigo)}.audit-change-row span:nth-child(2){background:#fff9f5;color:#6f5961}.audit-change-row span:nth-child(3){background:#f3fbf7;color:#255f45}.audit-technical{margin-top:9px}.audit-technical>summary{font-size:8px!important;color:var(--muted)!important}.audit-technical pre{margin:4px 0 0;padding:8px;border-radius:7px;background:#fff;border:1px solid var(--line);white-space:pre-wrap;word-break:break-word;font-size:8px;max-height:170px;overflow:auto}.audit-pagination{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:16px}.audit-pagination span{font-size:9.5px;color:var(--muted)}.btn.disabled{opacity:.45;pointer-events:none}.empty{display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center}.empty strong{color:var(--indigo)}.empty span{font-size:9px;color:var(--muted)}

@media(max-width:1180px){.audit-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.audit-summary-grid{grid-template-columns:1fr}.audit-panel-heading{gap:12px}.audit-panel-heading .btn{width:100%;justify-content:center}.audit-detail{width:78vw}.audit-change-head,.audit-change-row{grid-template-columns:1fr}.audit-change-head span:nth-child(n+2){display:none}.audit-change-row>*{border-right:none;border-top:1px solid var(--line)}.audit-change-row>*:first-child{border-top:none}.audit-change-row span:nth-child(2)::before{content:'Antes: ';font-weight:800}.audit-change-row span:nth-child(3)::before{content:'Después: ';font-weight:800}}

/* Practi KPI 1.5.11 — filtros y retiros reversibles de estructura */
.admin-filter-panel{display:grid;grid-template-columns:minmax(230px,.7fr) minmax(0,1.3fr);gap:22px;align-items:end;margin-bottom:18px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow-sm)}
.admin-filter-panel h3{margin:4px 0;color:var(--indigo);font-family:"Gotham","Aptos Display",sans-serif;font-size:16px}.admin-filter-panel p{margin:0;color:var(--muted);font-size:10px}
.admin-structure-filters{display:grid;grid-template-columns:repeat(3,minmax(145px,1fr)) auto;gap:10px;align-items:end}.admin-structure-filters .form-group{margin:0;min-width:0}.admin-structure-filters select{width:100%;min-width:0}.admin-filter-actions,.table-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.checkbox-row label .help{display:block;margin-top:3px;font-weight:400}.data .table-actions{min-width:185px}
@media(max-width:1080px){.admin-filter-panel{grid-template-columns:1fr}.admin-structure-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-filter-actions{grid-column:1/-1}}
@media(max-width:760px){.admin-structure-filters{grid-template-columns:1fr}.admin-filter-actions{grid-column:auto}.admin-filter-actions .btn{flex:1}.data .table-actions{min-width:0}}

/* ================================================================
   Practi KPI 1.6 · reportes gerenciales e impresión
   ================================================================ */
.report-controls{margin-bottom:20px}.report-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-bottom:12px}.report-tab{display:flex;min-width:0;min-height:82px;flex-direction:column;gap:4px;padding:13px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--indigo);box-shadow:var(--shadow-sm)}.report-tab strong{font-family:"Gotham","Aptos Display",sans-serif;font-size:11px}.report-tab span{color:var(--muted);font-size:8.5px;line-height:1.35}.report-tab:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.report-tab.active{border-color:#9ccaff;background:linear-gradient(145deg,#edf6ff,#f2fbf7);box-shadow:inset 0 0 0 1px rgba(65,156,247,.2)}
.report-filter-panel{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-sm)}.report-filters{display:grid;grid-template-columns:minmax(190px,1.2fr) minmax(170px,1fr) minmax(190px,1.2fr) auto;gap:10px;align-items:end;flex:1}.report-filters .form-group{min-width:0}.report-filter-actions{display:flex}.report-output-actions{display:flex;gap:8px;flex-wrap:wrap}.report-area-optional{opacity:.62}
.report-sheet{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}.report-cover{display:grid;grid-template-columns:145px minmax(260px,1fr) minmax(360px,.95fr);align-items:center;gap:22px;padding:24px 28px;background:linear-gradient(135deg,#f8fbff,#fff);border-bottom:3px solid var(--indigo)}.report-cover img{width:125px;height:auto}.report-cover-title>span,.report-cover-meta span,.report-area-heading span,.report-closure-state span{display:block;color:var(--azure);font-size:8px;font-weight:800;letter-spacing:.12em}.report-cover-title h2{margin:4px 0;color:var(--indigo);font-family:"Gotham","Aptos Display",sans-serif;font-size:22px}.report-cover-title p{margin:0;color:var(--muted);font-size:10.5px}.report-cover-meta{display:grid;grid-template-columns:1fr 1fr;gap:1px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--line)}.report-cover-meta>div{padding:9px 11px;background:#fff}.report-cover-meta strong{display:block;margin-top:3px;color:var(--indigo);font-size:9.5px;line-height:1.25}
.report-section{padding:20px 26px;border-bottom:1px solid var(--line)}.report-section:last-of-type{border-bottom:0}.report-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:13px}.report-section-title span{display:block;color:var(--azure);font-size:8px;font-weight:800;letter-spacing:.12em}.report-section-title h3{margin:3px 0 0;color:var(--indigo);font-family:"Gotham","Aptos Display",sans-serif;font-size:17px}.report-section-title p{margin:0;max-width:520px;color:var(--muted);font-size:9.5px;text-align:right}.report-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--line)}.report-metrics-four{grid-template-columns:repeat(4,minmax(0,1fr))}.report-metrics>div{padding:13px 14px;background:#f9fbfd;min-height:90px}.report-metrics span{display:block;min-height:22px;color:var(--muted);font-size:7.5px;font-weight:800;letter-spacing:.07em}.report-metrics strong{display:block;color:var(--indigo);font-family:"Gotham","Aptos Display",sans-serif;font-size:23px;line-height:1.1}.report-metrics small{display:block;margin-top:6px;color:var(--muted);font-size:8px}.report-metrics .report-date-value{font-size:13px;line-height:1.3;margin-top:4px}
.report-table-wrap{border-radius:9px}.report-table{min-width:820px}.report-table th{font-size:7.5px!important;padding:8px 9px!important}.report-table td{font-size:9.3px!important;padding:9px!important;vertical-align:top!important}.report-kpi-table{min-width:1050px}.report-critical-table{min-width:1250px}.report-update-table{min-width:1000px}.report-attention-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.report-attention{display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:flex-start;padding:10px 11px;border:1px solid var(--line);border-left:4px solid #97a4b5;border-radius:9px;background:#fafbfd}.report-attention.red{border-left-color:var(--danger);background:#fff7f7}.report-attention.yellow{border-left-color:var(--warning);background:#fffdf3}.report-attention strong{display:block;color:var(--indigo);font-size:9.5px}.report-attention p{margin:2px 0 0;color:var(--muted);font-size:8.5px}.report-attention .status-dot{margin-top:3px}
.report-area-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;background:#f8fbff}.report-area-heading h3{margin:4px 0;color:var(--indigo);font-family:"Gotham","Aptos Display",sans-serif;font-size:21px}.report-area-heading p{margin:4px 0 0;color:var(--muted);font-size:10px;max-width:820px}.report-area-heading>div:last-child{min-width:210px;padding:11px;border-left:2px solid var(--azure)}.report-area-heading strong{display:block;margin-top:4px;color:var(--indigo);font-size:11px}.report-history{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.report-history>div{padding:11px;border:1px solid var(--line);border-radius:9px;background:#fafbfd}.report-history span,.report-history small{display:block;color:var(--muted);font-size:8px}.report-history strong{display:block;margin:4px 0;color:var(--indigo);font-size:17px}.report-closure-state{display:grid;grid-template-columns:auto 1fr;gap:13px;align-items:center;padding:15px 17px;border-radius:12px}.report-closure-state>div:first-child{width:42px;height:42px;display:grid;place-items:center;border-radius:50%}.report-closure-state.official{background:#effaf4;border:1px solid #bfe8d1}.report-closure-state.official>div:first-child{background:var(--green);color:#fff}.report-closure-state.preview{background:#fff9e5;border:1px solid #efda8a}.report-closure-state.preview>div:first-child{background:var(--yellow);color:#5e4b00}.report-closure-state h3{margin:3px 0;color:var(--indigo);font-family:"Gotham","Aptos Display",sans-serif;font-size:15px}.report-closure-state p{margin:0;color:var(--muted);font-size:9.5px}.report-footer{display:flex;justify-content:space-between;gap:20px;padding:13px 26px;background:var(--indigo);color:#dfe8fa;font-size:8px}
@media(max-width:1250px){.report-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.report-filter-panel{align-items:stretch;flex-direction:column}.report-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.report-filter-actions{grid-column:1/-1}.report-output-actions{justify-content:flex-end}.report-cover{grid-template-columns:120px 1fr}.report-cover-meta{grid-column:1/-1}.report-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.report-metrics-four{grid-template-columns:repeat(2,minmax(0,1fr))}.report-history{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.report-tabs{grid-template-columns:1fr 1fr}.report-filter-panel{padding:12px}.report-filters{grid-template-columns:1fr}.report-filter-actions{grid-column:auto}.report-filter-actions .btn,.report-output-actions .btn{width:100%}.report-output-actions{display:grid}.report-cover{grid-template-columns:1fr;padding:19px}.report-cover img{width:105px}.report-cover-meta{grid-column:auto;grid-template-columns:1fr}.report-section{padding:16px}.report-metrics,.report-metrics-four{grid-template-columns:1fr 1fr}.report-attention-list{grid-template-columns:1fr}.report-section-title,.report-area-heading{align-items:flex-start;flex-direction:column}.report-section-title p{text-align:left}.report-history{grid-template-columns:1fr 1fr}.report-footer{flex-direction:column}}

@media print{
  @page{size:A4 landscape;margin:10mm}
  html,body{background:#fff!important;color:#1f2937!important;font-size:9pt}
  .sidebar,.topbar,.mobile-overlay,.demo-banner,.no-print{display:none!important}
  .main{margin:0!important;width:100%!important;display:block!important}.content{max-width:none!important;margin:0!important;padding:0!important}
  .report-sheet{border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important}.report-cover{grid-template-columns:110px 1fr 1fr;padding:10px 0 13px;background:#fff!important}.report-cover img{width:95px}.report-cover-title h2{font-size:17pt}.report-cover-meta{break-inside:avoid}
  .report-section{padding:11px 0;border-bottom:1px solid #d8dee8;break-inside:auto}.report-section-title{margin-bottom:7px}.report-metrics>div{min-height:68px;padding:9px;background:#f7f8fa!important}.report-metrics strong{font-size:16pt}.report-metrics span{min-height:17px}.report-attention{break-inside:avoid;background:#fff!important}
  .table-wrap{overflow:visible!important;border:0!important}.report-table{min-width:0!important;width:100%!important;table-layout:fixed}.report-table thead{display:table-header-group}.report-table tr{break-inside:avoid}.report-table th{position:static!important;background:#edf1f6!important;color:#334155!important;padding:5px!important;font-size:6.5pt!important}.report-table td{padding:5px!important;font-size:7pt!important;overflow-wrap:anywhere}.report-table .help{font-size:6pt}.badge{font-size:6pt;padding:3px 5px}
  .report-page-break{break-before:page}.report-footer{padding:8px 0;background:#fff!important;color:#596579!important;border-top:1px solid #cfd6e0}.progress{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  a{color:inherit!important;text-decoration:none!important}
}

/* ================================================================
   Practi KPI 1.5 — Auditoría QA, filtros dependientes y legibilidad
   ================================================================ */
.audit-panel-title{align-items:flex-start}
.audit-panel-title h3{font-size:18px;margin-bottom:4px}
.audit-panel-title p{max-width:760px}
.audit-filter-warnings{display:grid;grid-template-columns:auto 1fr;gap:10px;margin:12px 0 15px;padding:12px 14px;border:1px solid #efd989;border-radius:11px;background:#fff8df;color:#675000}
.audit-filter-warnings strong{display:flex;align-items:center;gap:6px;font-size:10px}
.audit-filter-warnings ul{margin:0;padding-left:18px;font-size:9.5px;line-height:1.5}
.audit-filters{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start}
.audit-filters .form-group{min-width:0}
.audit-filters label{min-height:14px}
.audit-filters select,.audit-filters input{width:100%;min-width:0}
.audit-area-filter{grid-column:span 1}
.audit-search{grid-column:span 2}
.audit-page-size{grid-column:span 1}
.audit-filter-actions{grid-column:span 1;min-height:67px}
.audit-filter-summary{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:1px;margin-top:16px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--line)}
.audit-filter-summary>div{padding:11px 14px;background:#f8fafd}
.audit-filter-summary span{display:block;font-size:7.5px;letter-spacing:.1em;color:var(--muted);font-weight:800}
.audit-filter-summary strong{display:block;margin-top:4px;color:var(--indigo);font-family:"Gotham","Aptos Display",sans-serif;font-size:13px}
.audit-results-panel{overflow:hidden}
.audit-table-wrap{max-height:620px;overflow:auto;border:1px solid var(--line);border-radius:11px}
.audit-table{min-width:1320px;margin:0}
.audit-table thead th{position:sticky;top:0;z-index:3;background:#f1f5fa;box-shadow:0 1px 0 var(--line)}
.audit-table td{vertical-align:top}
.audit-time{white-space:nowrap;min-width:148px}
.audit-detail-cell{min-width:210px}
.audit-detail-cell details[open] summary{margin-bottom:8px}
.audit-detail{max-width:760px}
.audit-change-list table{width:100%;border-collapse:collapse;margin-top:5px;background:#fff}
.audit-change-list th,.audit-change-list td{padding:6px 7px;border:1px solid var(--line);font-size:8px;text-align:left;vertical-align:top;word-break:break-word}
.audit-change-list th{background:#eef4fb;color:var(--indigo);font-weight:800}
.pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;margin-top:15px;color:var(--muted);font-size:9.5px}
.pagination>:last-child{justify-self:end}
.pagination>:first-child{justify-self:start}
@media(max-width:1180px){
  .audit-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
  .audit-search{grid-column:span 2}
  .audit-filter-actions{grid-column:span 1}
  .audit-filter-summary{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:820px){
  .audit-panel-title{display:grid;gap:12px}
  .audit-panel-title .btn{width:100%;justify-content:center}
  .audit-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .audit-search,.audit-filter-actions{grid-column:span 2}
  .audit-filter-actions{min-height:0;justify-content:stretch}
  .audit-filter-actions .btn{flex:1}
}
@media(max-width:560px){
  .audit-filters{grid-template-columns:1fr}
  .audit-search,.audit-filter-actions{grid-column:auto}
  .audit-filter-summary{grid-template-columns:1fr 1fr}
  .audit-filter-summary>div:first-child{grid-column:1/-1}
  .pagination{grid-template-columns:1fr;justify-items:center}
  .pagination>*{justify-self:center!important}
}

.audit-mobile-hint{display:none;margin:0 0 8px;color:var(--muted);font-size:9px;text-align:right}
@media(max-width:760px){.audit-mobile-hint{display:block}}

/* ================================================================
   Practi KPI 1.7 · evidencias privadas de resultados
   ================================================================ */
.evidence-upload-card{margin:20px 0;padding:18px;border:1px solid #cddbea;border-radius:15px;background:linear-gradient(145deg,#f8fbff,#fbfefd)}
.evidence-section-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px}.evidence-section-icon{width:40px;height:40px;display:grid;place-items:center;flex:none;border-radius:11px;background:var(--indigo);color:#fff}.evidence-section-head h3{margin:1px 0 3px;color:var(--indigo);font-family:"Gotham","Aptos Display",sans-serif;font-size:15px}.evidence-section-head p{margin:0;color:var(--muted);font-size:10px;line-height:1.45}
.evidence-dropzone{display:flex;min-height:150px;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:22px;border:2px dashed #a7bdd4;border-radius:13px;background:#fff;text-align:center;cursor:pointer;transition:border-color .18s,background .18s,transform .18s}.evidence-dropzone:hover,.evidence-dropzone.is-dragging{border-color:var(--azure);background:#f2f8ff;transform:translateY(-1px)}.evidence-dropzone.has-error{border-color:var(--danger);background:#fff8f8}.evidence-dropzone input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.evidence-drop-icon{color:var(--azure);margin-bottom:3px}.evidence-dropzone strong{color:var(--indigo);font-size:11px}.evidence-dropzone small{display:block;color:var(--muted);font-size:8.7px;line-height:1.4}
.evidence-selection{margin-top:10px}.evidence-selection:empty{display:none}.evidence-selection-summary{padding:8px 10px;border-radius:8px;font-size:9.5px;font-weight:700}.evidence-selection-summary.success{background:#eaf8f0;color:#197045}.evidence-selection-summary.error{background:#fdecec;color:#9b2d2d}.evidence-selection ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin:7px 0 0;padding:0;list-style:none}.evidence-selection li{display:flex;justify-content:space-between;gap:10px;min-width:0;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:#fff}.evidence-selection li span{overflow:hidden;color:var(--indigo);font-size:9px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.evidence-selection li small{flex:none;color:var(--muted);font-size:8px}
.evidence-existing{margin-top:16px}.evidence-existing-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px;color:var(--indigo);font-size:10px}.evidence-existing-tools{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.evidence-existing-title .evidence-existing-tools>span{display:grid;width:24px;height:24px;place-items:center;border-radius:50%;background:#e8f2fc;color:var(--denim);font-size:9px;font-weight:800}.evidence-compact-list{display:grid;gap:6px}.evidence-compact-item{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px;border:1px solid var(--line);border-radius:10px;background:#fff}.evidence-compact-item img,.evidence-file-icon{width:42px;height:42px;border-radius:8px}.evidence-compact-item img{object-fit:cover;border:1px solid var(--line)}.evidence-file-icon{display:grid;place-items:center;background:#edf4fb;color:var(--denim)}.evidence-file-copy{min-width:0}.evidence-file-copy strong{display:block;overflow:hidden;color:var(--indigo);font-size:9.5px;text-overflow:ellipsis;white-space:nowrap}.evidence-file-copy span{display:block;margin-top:2px;color:var(--muted);font-size:8px}.evidence-compact-actions{display:flex;align-items:stretch;gap:6px;flex-wrap:wrap;justify-content:flex-end}.evidence-security-note{display:flex;align-items:center;gap:6px;margin-top:12px;color:#49627d;font-size:8.5px}
.evidence-history-panel{margin-top:20px}.evidence-history-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.evidence-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow-sm)}.evidence-card-preview{height:130px;background:linear-gradient(145deg,#eef4fa,#f9fbfd);overflow:hidden}.evidence-card-preview img{display:block;width:100%;height:100%;object-fit:cover}.evidence-card-file{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--denim)}.evidence-card-file span{font-size:8px;font-weight:900;letter-spacing:.1em}.evidence-card-copy{padding:11px}.evidence-period{display:flex;justify-content:space-between;gap:8px;margin-bottom:7px}.evidence-period span{color:var(--azure);font-size:8px;font-weight:800;letter-spacing:.06em}.evidence-period small{color:var(--muted);font-size:7.5px}.evidence-card-copy>strong{display:block;min-height:30px;overflow:hidden;color:var(--indigo);font-size:10px;line-height:1.4;overflow-wrap:anywhere}.evidence-card-copy p{margin:6px 0;color:var(--muted);font-size:8.3px;line-height:1.45}.evidence-hash{display:block;margin-bottom:9px;color:#7a8798;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:7.5px}.evidence-card-actions{display:grid;gap:6px}.evidence-card-copy .btn{width:100%}
.evidence-manage-page{max-width:1080px}.evidence-manage-current{display:grid;grid-template-columns:180px minmax(0,1fr);gap:18px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:14px;background:#f8fafc}.evidence-manage-preview{height:130px;overflow:hidden;border:1px solid var(--line);border-radius:11px;background:#fff}.evidence-manage-preview img{width:100%;height:100%;object-fit:cover}.evidence-manage-copy>span{display:block;color:var(--azure);font-size:8.5px;font-weight:900;letter-spacing:.08em}.evidence-manage-copy>strong{display:block;margin:5px 0;color:var(--indigo);font-size:15px;overflow-wrap:anywhere}.evidence-manage-copy p{margin:0 0 6px;color:var(--muted);font-size:10px;line-height:1.5}.evidence-manage-copy .btn{margin-top:4px}.evidence-retention-note{display:flex;align-items:flex-start;gap:8px;margin:12px 0 18px;padding:11px 12px;border:1px solid #d9e6f5;border-radius:10px;background:#f3f8ff;color:#4b617c;font-size:10px;line-height:1.45}.evidence-retention-note svg{flex:none}.evidence-manage-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.evidence-manage-option{display:flex;flex-direction:column;gap:13px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff}.evidence-delete-option{border-color:#efcaca;background:#fffafa}.evidence-option-title{display:flex;align-items:flex-start;gap:10px}.evidence-option-title>span{display:grid;width:36px;height:36px;place-items:center;flex:none;border-radius:10px;background:#eaf3ff;color:var(--denim)}.evidence-option-title.danger>span{background:#fdeaea;color:var(--danger)}.evidence-option-title h3{margin:1px 0 4px;color:var(--indigo);font-family:"Gotham","Aptos Display",sans-serif;font-size:14px}.evidence-option-title p{margin:0;color:var(--muted);font-size:9.5px;line-height:1.45}.evidence-replacement-zone{min-height:125px;padding:16px}.evidence-delete-confirm{margin-top:auto;border-color:#efcccc;background:#fff}
@media(max-width:1080px){.evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.evidence-upload-card{padding:13px}.evidence-selection ul,.evidence-grid,.evidence-manage-grid{grid-template-columns:1fr}.evidence-history-panel .panel-header{align-items:stretch;flex-direction:column}.evidence-history-actions{justify-content:flex-start}.evidence-history-actions .btn{width:100%}.evidence-compact-item{grid-template-columns:38px minmax(0,1fr)}.evidence-compact-item img,.evidence-file-icon{width:38px;height:38px}.evidence-compact-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr}.evidence-compact-item .btn{width:100%}.evidence-security-note{align-items:flex-start}.evidence-card-preview{height:180px}.evidence-manage-current{grid-template-columns:1fr}.evidence-manage-preview{height:190px}.evidence-manage-option{padding:14px}}
