@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{
 --nav:#0b2340;--nav2:#123c69;--nav3:#155a8a;--primary:#0f6cbd;--primary-2:#12a4d9;--accent:#00a86b;--lime:#8bc34a;--orange:#ff8a34;--gold:#f4c542;--purple:#7559c7;--red:#d64545;
 --bg:#f3f7fb;--card:#fff;--ink:#172033;--muted:#6b7890;--line:#dce6f0;--soft:#edf5fb;--danger:#c93636;--shadow:0 14px 40px rgba(22,54,91,.09);--radius:18px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Manrope,Segoe UI,Arial,sans-serif;background:radial-gradient(circle at 85% -10%,rgba(18,164,217,.12),transparent 28%),var(--bg);color:var(--ink);font-size:14px}a{color:inherit}.icon{width:20px;height:20px;display:block;flex:0 0 auto}
.topbar{height:78px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(213,225,236,.9);display:flex;align-items:center;justify-content:space-between;padding:0 26px;position:sticky;top:0;z-index:40;box-shadow:0 5px 18px rgba(20,48,79,.04)}
.brand,.user-chip{display:flex;align-items:center;gap:12px}.brand-mark{width:46px;height:46px;border-radius:15px;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;display:grid;place-items:center;font-weight:900;box-shadow:0 9px 22px rgba(15,108,189,.25);position:relative;overflow:hidden}.brand-mark:after{content:"";position:absolute;width:30px;height:30px;border:2px solid rgba(255,255,255,.2);border-radius:50%;right:-10px;top:-8px}.brand-mark span{position:relative;z-index:1}.brand strong{font-size:15px}.brand small,.user-chip small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.user-chip>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,#e9f7ff,#eafbf3);color:var(--primary);font-weight:800;border:1px solid #d9ebf7}.logout-link{margin-left:7px;color:var(--danger);text-decoration:none;font-weight:800;font-size:12px;display:flex;align-items:center;gap:5px;padding:8px 10px;border-radius:10px}.logout-link:hover{background:#fff0f0}.logout-link .icon{width:17px}.menu-toggle{display:none;border:0;background:transparent;padding:7px;cursor:pointer}.menu-toggle span{display:block;width:24px;height:2px;background:var(--nav);margin:5px;border-radius:2px}
.layout{display:flex;min-height:calc(100vh - 78px)}.sidebar{width:280px;background:linear-gradient(175deg,var(--nav),var(--nav2) 58%,#0c3158);padding:18px 14px 16px;display:flex;flex-direction:column;gap:4px;position:relative;overflow:hidden}.sidebar:before{content:"";position:absolute;width:190px;height:190px;border:1px solid rgba(255,255,255,.06);border-radius:50%;right:-110px;top:230px}.sidebar-intro{display:flex;align-items:center;gap:11px;padding:9px 10px 18px;color:#fff;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:11px}.sidebar-intro strong{font-size:13px}.sidebar-intro small{display:block;color:#b9d3e8;font-size:10px;margin-top:3px;line-height:1.35}.sidebar-orbit{width:38px;height:38px;border-radius:50%;border:2px solid rgba(255,255,255,.25);display:grid;place-items:center;position:relative}.sidebar-orbit:before,.sidebar-orbit:after{content:"";position:absolute;background:var(--gold);border-radius:50%}.sidebar-orbit:before{width:9px;height:9px}.sidebar-orbit:after{width:5px;height:5px;right:0;top:3px}.nav-label{font-size:10px;letter-spacing:1.7px;color:#92b4cf;padding:5px 12px 8px;font-weight:800}.sidebar>a{color:#dcebf6;text-decoration:none;padding:10px 11px;border-radius:12px;display:flex;gap:12px;align-items:center;font-size:13px;position:relative;transition:.2s ease}.sidebar>a .icon{width:19px;height:19px;color:#91c8e6}.sidebar>a:hover{background:rgba(255,255,255,.09);transform:translateX(2px);color:#fff}.sidebar>a:hover .icon{color:#fff}.sidebar>a.active{background:linear-gradient(90deg,rgba(18,164,217,.28),rgba(0,168,107,.18));color:#fff;font-weight:800;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}.sidebar>a.active .icon{color:var(--gold)}.sidebar>a.active i{position:absolute;right:8px;width:5px;height:5px;background:var(--gold);border-radius:50%;box-shadow:0 0 0 4px rgba(244,197,66,.12)}.sidebar-footer{margin-top:auto;padding:14px 12px 4px;color:#c6dced;border-top:1px solid rgba(255,255,255,.09)}.sidebar-footer strong,.sidebar-footer small{display:block}.sidebar-footer strong{font-size:11px}.sidebar-footer small{font-size:9px;color:#88abc5;margin-top:2px}
.content{flex:1;padding:30px;overflow:auto;max-width:100%}.page-head,.list-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.eyebrow{font-size:10px;letter-spacing:1.9px;color:var(--primary);font-weight:900;background:#e8f4fc;display:inline-flex;padding:5px 8px;border-radius:999px}h1{margin:5px 0 5px;font-size:30px;letter-spacing:-.8px;line-height:1.1}h2{margin:0;font-size:19px;letter-spacing:-.3px}.lead{color:var(--muted);max-width:900px;margin:0;line-height:1.6}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:17px}.card{background:var(--card);border:1px solid rgba(215,227,238,.95);border-radius:var(--radius);padding:21px;box-shadow:var(--shadow)}.card:hover{border-color:#c9ddea}.form-card{margin-bottom:25px}.section-title{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:18px;font-weight:800}.section-title small{color:var(--muted);font-weight:500}.metric{font-size:31px;font-weight:900;color:var(--primary);letter-spacing:-1.4px}.metric-card{position:relative;overflow:hidden;min-height:126px;display:flex;flex-direction:column;justify-content:space-between}.metric-card:after{content:"";position:absolute;width:85px;height:85px;border-radius:50%;right:-22px;top:-26px;background:rgba(15,108,189,.07)}.metric-card .metric-label{color:var(--muted);font-weight:700;font-size:12px}.metric-card .metric-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#eaf5fd;color:var(--primary);margin-bottom:12px}.metric-card:nth-child(2n) .metric-icon{background:#e8f8f1;color:var(--accent)}.metric-card:nth-child(3n) .metric-icon{background:#fff4e8;color:var(--orange)}.metric-card:nth-child(4n) .metric-icon{background:#f1edfb;color:var(--purple)}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:16px}.field.wide{grid-column:1/-1}.field label{display:block;font-weight:800;margin-bottom:7px;font-size:12px;color:#34425a}.field input,.field select,.field textarea,.search-box input,.toolbar input{width:100%;padding:12px 13px;border:1px solid #c8d5e2;border-radius:11px;background:#fbfdff;color:var(--ink);font:inherit;transition:.2s}.field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#6b7890 50%),linear-gradient(135deg,#6b7890 50%,transparent 50%);background-position:calc(100% - 17px) 50%,calc(100% - 12px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:34px}.field input:hover,.field select:hover,.field textarea:hover{border-color:#9fb8cc}.field input:focus,.field select:focus,.field textarea:focus,.search-box input:focus{outline:4px solid rgba(18,164,217,.12);border-color:var(--primary-2);background:#fff}.hint{color:var(--muted);font-size:10px;display:block;margin-top:5px;line-height:1.4}.form-actions{display:flex;gap:9px;margin-top:20px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:linear-gradient(135deg,var(--primary),#0b86ca);color:#fff;border:0;border-radius:11px;padding:10px 15px;text-decoration:none;cursor:pointer;font-weight:800;font-size:12px;box-shadow:0 7px 16px rgba(15,108,189,.17);transition:.18s}.btn:hover{transform:translateY(-1px);filter:saturate(1.08);box-shadow:0 10px 20px rgba(15,108,189,.22)}.btn.green{background:linear-gradient(135deg,var(--accent),#0a8a5b);box-shadow:0 7px 16px rgba(0,168,107,.18)}.btn.red{background:linear-gradient(135deg,var(--danger),#a92f2f);box-shadow:none}.btn.ghost{background:#edf3f8;color:var(--nav2);box-shadow:none;border:1px solid #d6e2ec}.btn.small{padding:7px 10px;font-size:11px;border-radius:9px}.search-box{display:flex;gap:8px}.search-box input{min-width:280px;background:#fff}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 8px 22px rgba(22,54,91,.05)}table{border-collapse:separate;border-spacing:0;width:100%;min-width:900px}th,td{padding:12px 13px;border-bottom:1px solid #e5edf4;text-align:left;font-size:12px;vertical-align:top}th{background:#f0f6fa;color:#3b536a;position:sticky;top:0;font-size:10px;text-transform:uppercase;letter-spacing:.65px;z-index:2}tbody tr:last-child td{border-bottom:0}tr:hover td{background:#f8fbfd}.id-pill,.badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:#e8f7f1;color:#08754d;font-weight:800;font-size:10px}.actions{white-space:nowrap}.alert{padding:13px 15px;border-radius:12px;margin-bottom:15px;font-weight:700;border-left:4px solid}.alert.success{background:#e7f8ef;color:#08754d;border-color:var(--accent)}.alert.error{background:#fff0f0;color:#a72d2d;border-color:var(--red)}.toolbar{display:flex;gap:8px;flex-wrap:wrap}.toolbar form{display:flex;gap:8px}.dashboard-hero{background:linear-gradient(125deg,var(--nav2),var(--primary),var(--accent));color:#fff;border-radius:22px;padding:27px 29px;margin-bottom:20px;position:relative;overflow:hidden;box-shadow:0 18px 38px rgba(15,81,129,.22)}.dashboard-hero:before,.dashboard-hero:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.13);border-radius:50%}.dashboard-hero:before{width:260px;height:260px;right:-70px;top:-130px}.dashboard-hero:after{width:130px;height:130px;right:100px;bottom:-100px}.dashboard-hero h1{margin:0 0 7px;font-size:31px}.dashboard-hero p{margin:0;color:#dbeefa;max-width:720px}.dashboard-hero .hero-kicker{display:inline-flex;background:rgba(255,255,255,.14);padding:5px 9px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:1.2px;margin-bottom:10px}.dashboard-section{margin-top:24px}.empty-state{text-align:center;padding:30px;color:var(--muted)}
.login-page{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;background:#fff}.login-visual{background:linear-gradient(145deg,var(--nav),var(--primary) 63%,var(--accent));padding:60px;display:flex;flex-direction:column;justify-content:space-between;color:#fff;position:relative;overflow:hidden}.login-visual:before{content:"";position:absolute;width:430px;height:430px;border:1px solid rgba(255,255,255,.14);border-radius:50%;right:-180px;top:-160px}.login-visual:after{content:"";position:absolute;width:240px;height:240px;border:55px solid rgba(255,255,255,.05);border-radius:50%;left:-100px;bottom:-100px}.login-logo{display:flex;align-items:center;gap:12px;position:relative;z-index:1}.login-logo .brand-mark{width:54px;height:54px}.login-copy{position:relative;z-index:1;max-width:520px}.login-copy h1{font-size:46px;line-height:1.04;margin:0 0 16px;letter-spacing:-1.6px}.login-copy p{font-size:16px;color:#dbeefa;line-height:1.7}.login-pills{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px}.login-pills span{background:rgba(255,255,255,.13);padding:8px 11px;border-radius:999px;font-size:11px;font-weight:700}.login-form-wrap{display:grid;place-items:center;padding:35px;background:radial-gradient(circle at top right,#eaf7fd,transparent 35%),#fff}.login-card{width:min(440px,100%);box-shadow:none;border:0;padding:10px}.login-card h2{font-size:28px;margin-bottom:8px}.login-card .lead{margin-bottom:24px}.login-card .field{margin-bottom:15px}.login-card .btn{width:100%;padding:13px;font-size:13px}.login-note{margin-top:16px;color:var(--muted);font-size:10px;text-align:center}
@media(max-width:1050px){.sidebar{width:255px}.content{padding:24px}}
@media(max-width:900px){.menu-toggle{display:block}.brand small,.user-chip div,.logout-link span{display:none}.sidebar{position:fixed;left:-285px;top:78px;bottom:0;z-index:35;transition:.24s;width:280px;box-shadow:18px 0 35px rgba(11,35,64,.18)}.menu-open .sidebar{left:0}.menu-open:after{content:"";position:fixed;inset:78px 0 0 0;background:rgba(8,27,47,.35);z-index:30}.content{padding:18px}.page-head,.list-head{align-items:flex-start;flex-direction:column}.search-box{width:100%}.search-box input{min-width:0}.topbar{padding:0 12px}.login-page{grid-template-columns:1fr}.login-visual{display:none}.login-form-wrap{min-height:100vh}}
@media(max-width:560px){h1{font-size:25px}.content{padding:14px}.card{padding:16px;border-radius:15px}.form-grid{grid-template-columns:1fr}.btn{width:100%}.actions .btn{width:auto}.search-box{flex-direction:column}.topbar{height:70px}.layout{min-height:calc(100vh - 70px)}.sidebar{top:70px}.user-chip>span{display:none}.brand strong{font-size:12px}.dashboard-hero{padding:22px}.dashboard-hero h1{font-size:26px}}

/* =====================================================
   V1.3.2 - ICONOS COMPACTOS
   Reduce la escala visual sin afectar accesibilidad.
   ===================================================== */
.icon{width:16px;height:16px}
.sidebar>a{gap:9px;padding:9px 10px}
.sidebar>a .icon{width:15px;height:15px;stroke-width:1.9}
.logout-link .icon{width:14px;height:14px}
.btn .icon,.actions .icon,.toolbar .icon{width:14px;height:14px}
.btn.small .icon{width:13px;height:13px}
.metric-card .metric-icon{width:32px;height:32px;border-radius:10px;margin-bottom:9px}
.metric-card .metric-icon .icon{width:17px;height:17px}
.sidebar-orbit{width:32px;height:32px}
.brand-mark{width:40px;height:40px;border-radius:12px}
.user-chip>span{width:34px;height:34px;border-radius:10px}
@media(max-width:560px){.sidebar>a .icon{width:14px;height:14px}.metric-card .metric-icon{width:30px;height:30px}.metric-card .metric-icon .icon{width:16px;height:16px}}

/* =====================================================
   V1.4 - PRO COMPACT UI
   Iconografía discreta + login premium + interfaz refinada
   ===================================================== */
:root{
 --nav:#0d2238;--nav2:#123a5a;--primary:#1769aa;--primary-2:#2f8fce;
 --accent:#1f9d72;--gold:#e9b949;--bg:#f5f8fb;--ink:#152334;--muted:#6d7c8c;
 --line:#dde6ee;--shadow:0 10px 28px rgba(18,52,77,.07);--radius:15px
}
body{font-size:13px;background:linear-gradient(180deg,#f8fafc 0,#f3f7fa 100%)}
.icon{width:13px!important;height:13px!important;stroke-width:1.65!important}
.topbar{height:68px;padding:0 22px;box-shadow:0 2px 12px rgba(18,52,77,.04)}
.brand{gap:9px}.brand-mark{width:34px;height:34px;border-radius:10px;font-size:11px;box-shadow:0 6px 14px rgba(23,105,170,.18)}
.brand strong{font-size:13px}.brand small{font-size:9px}.user-chip{gap:8px}.user-chip>span{width:30px;height:30px;border-radius:9px;font-size:11px}.user-chip strong{font-size:11px}.user-chip small{font-size:9px}.logout-link{padding:6px 8px;font-size:10px;gap:4px}.logout-link .icon{width:12px!important;height:12px!important}
.layout{min-height:calc(100vh - 68px)}
.sidebar{width:246px;padding:14px 11px 12px;background:linear-gradient(180deg,#0d2238 0%,#123a5a 60%,#102f49 100%)}
.sidebar-intro{gap:9px;padding:7px 8px 13px;margin-bottom:8px}.sidebar-orbit{width:27px;height:27px;border-width:1px}.sidebar-orbit:before{width:7px;height:7px}.sidebar-orbit:after{width:4px;height:4px}.sidebar-intro strong{font-size:11px}.sidebar-intro small{font-size:8.5px}.nav-label{font-size:8px;letter-spacing:1.4px;padding:4px 9px 6px}
.sidebar>a{min-height:34px;padding:7px 9px;gap:8px;border-radius:9px;font-size:11px;line-height:1.2}.sidebar>a .icon{width:12px!important;height:12px!important;min-width:12px!important}.sidebar>a:hover{transform:none;background:rgba(255,255,255,.075)}.sidebar>a.active{box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)}.sidebar>a.active i{right:7px;width:4px;height:4px}.sidebar-footer{padding:10px 9px 3px}.sidebar-footer strong{font-size:9px}.sidebar-footer small{font-size:8px}
.content{padding:24px}.page-head,.list-head{margin-bottom:16px}.eyebrow{font-size:8px;letter-spacing:1.4px;padding:4px 7px}h1{font-size:26px;margin:4px 0}h2{font-size:17px}.lead{font-size:12px}.grid{gap:13px}.card{padding:17px;border-radius:15px;box-shadow:var(--shadow)}
.metric{font-size:27px}.metric-card{min-height:112px}.metric-card .metric-icon{width:28px!important;height:28px!important;border-radius:8px;margin-bottom:8px}.metric-card .metric-icon .icon{width:12px!important;height:12px!important}.metric-card .metric-label{font-size:10px}
.btn{gap:5px;padding:8px 12px;border-radius:9px;font-size:10.5px;box-shadow:0 5px 12px rgba(23,105,170,.14)}.btn .icon,.actions .icon,.toolbar .icon{width:11px!important;height:11px!important}.btn.small{padding:6px 8px;font-size:9.5px}.btn.small .icon{width:10px!important;height:10px!important}
.field label{font-size:10.5px;margin-bottom:5px}.field input,.field select,.field textarea,.search-box input,.toolbar input{padding:10px 11px;border-radius:9px;font-size:12px}.hint{font-size:9px}.form-grid{gap:13px}.section-title{padding-bottom:11px;margin-bottom:14px}
th,td{padding:10px 11px;font-size:10.5px}th{font-size:8.5px}.id-pill,.badge{font-size:8.5px;padding:3px 7px}.table-wrap{border-radius:12px}
.dashboard-hero{padding:23px 25px;border-radius:18px;box-shadow:0 14px 28px rgba(15,81,129,.16)}.dashboard-hero h1{font-size:27px}

/* Login premium compacto */
.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(360px,46%) 1fr;background:#f5f8fb}
.login-visual{position:relative;padding:52px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;background:
 linear-gradient(145deg,rgba(13,34,56,.96),rgba(18,58,90,.93)),
 radial-gradient(circle at 20% 20%,rgba(47,143,206,.28),transparent 35%);color:#fff}
.login-visual:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,black,transparent 86%)}
.login-visual:after{content:"";position:absolute;width:360px;height:360px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-150px;bottom:-130px;box-shadow:0 0 0 55px rgba(255,255,255,.025),0 0 0 110px rgba(255,255,255,.015)}
.login-logo,.login-copy,.login-visual>small{position:relative;z-index:1}.login-logo{display:flex;align-items:center;gap:11px}.login-logo .brand-mark{width:40px;height:40px;font-size:12px}.login-logo strong{font-size:14px}.login-logo small{font-size:9px!important}.login-copy{max-width:540px}.login-copy h1{font-size:42px;line-height:1.08;letter-spacing:-1.7px;margin:0 0 16px}.login-copy p{font-size:14px;line-height:1.75;color:#d6e5ef;margin:0;max-width:500px}.login-pills{display:flex;flex-wrap:wrap;gap:7px;margin-top:24px}.login-pills span{font-size:9px;font-weight:700;letter-spacing:.3px;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);color:#edf7fd}
.login-form-wrap{display:grid;place-items:center;padding:42px;background:radial-gradient(circle at 85% 10%,rgba(47,143,206,.10),transparent 28%),#fff}.login-card{width:min(390px,100%);padding:34px;border:1px solid #e4ebf1;border-radius:20px;background:rgba(255,255,255,.96);box-shadow:0 24px 70px rgba(18,52,77,.10)}.login-card .eyebrow{margin-bottom:12px}.login-card h2{font-size:26px;letter-spacing:-.6px;margin:0 0 7px}.login-card .lead{margin:0 0 22px;font-size:11.5px}.login-card .field{margin-bottom:13px}.login-card .field label{font-size:10.5px}.login-card .field input{height:42px;background:#fbfcfe}.login-card .btn{width:100%;height:42px;margin-top:4px;font-size:11px;background:linear-gradient(135deg,#1769aa,#1f9d72);box-shadow:0 9px 20px rgba(23,105,170,.18)}.login-note{margin-top:15px;font-size:8.5px;color:#8290a0;line-height:1.5}.login-security{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:14px;color:#758596;font-size:8.5px}.login-security:before{content:"";width:6px;height:6px;border-radius:50%;background:#1f9d72;box-shadow:0 0 0 3px rgba(31,157,114,.12)}

@media(max-width:1050px){.sidebar{width:230px}.content{padding:20px}.login-visual{padding:40px}.login-copy h1{font-size:35px}}
@media(max-width:900px){.sidebar{top:68px;left:-255px;width:246px}.menu-open:after{inset:68px 0 0 0}.login-page{grid-template-columns:1fr}.login-visual{display:none}.login-form-wrap{min-height:100vh;padding:24px}.login-card{padding:28px}}
@media(max-width:560px){.topbar{height:62px}.layout{min-height:calc(100vh - 62px)}.sidebar{top:62px}.content{padding:13px}.sidebar>a .icon{width:11px!important;height:11px!important}.metric-card .metric-icon{width:26px!important;height:26px!important}.metric-card .metric-icon .icon{width:11px!important;height:11px!important}.login-card{border-radius:16px;padding:23px}.login-card h2{font-size:23px}}
/* V1.5 - Navegación jerárquica Liga > Club > Deportista */
.hierarchy-path{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:-5px 0 18px;padding:10px 14px;background:#eef5fa;border:1px solid var(--line);border-radius:11px;font-size:11px}.hierarchy-path a{color:var(--primary);text-decoration:none;font-weight:800}.hierarchy-path span{color:#9aa8b5}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.detail-grid>div{padding:12px;border-radius:10px;background:#f8fbfd;border:1px solid #e6edf3}.detail-grid small,.detail-grid strong{display:block}.detail-grid small{font-size:8.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px}.detail-grid strong{font-size:11px;overflow-wrap:anywhere}.hierarchy-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.hierarchy-item h3{margin:0 0 5px;font-size:14px}.hierarchy-item p{color:var(--muted);font-size:10px;min-height:30px}.mini-metric{display:flex;align-items:end;gap:6px;margin:12px 0}.mini-metric strong{font-size:24px;color:var(--primary)}.mini-metric span{font-size:9px;color:var(--muted);margin-bottom:4px}.mini-stats{display:flex;gap:6px;flex-wrap:wrap}.mini-stats span{background:#eef5fa;padding:6px 8px;border-radius:8px;font-size:9px}.relation-readonly{background-color:#eef3f6!important;color:#657381!important;cursor:not-allowed}

/* =====================================================
   V1.6 - HIERARCHY VERIFIED
   Iconos uniformes exactamente a 20 px y árbol 1:N visible.
   ===================================================== */
.icon,.sidebar>a .icon,.logout-link .icon,.btn .icon,.actions .icon,.toolbar .icon,.btn.small .icon,.metric-card .metric-icon .icon{
 width:20px!important;height:20px!important;min-width:20px!important;max-width:20px!important;stroke-width:1.8!important
}
.sidebar>a{gap:10px;min-height:40px;padding:9px 10px;font-size:12px}
.metric-card .metric-icon{width:38px!important;height:38px!important}
.head-actions,.card-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.hierarchy-summary{margin-bottom:24px}.hierarchy-summary small{color:var(--muted);font-size:9px}.hierarchy-numbers{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}.hierarchy-numbers span{padding:6px 8px;border-radius:8px;background:#eef5fa;font-size:9px}.hierarchy-numbers b{color:var(--primary);font-size:13px}
.hierarchy-tree{display:grid;gap:14px}.tree-league{padding:0;overflow:hidden}.tree-head{display:grid;grid-template-columns:minmax(240px,1fr) auto auto;align-items:center;gap:18px;padding:18px 20px;background:linear-gradient(90deg,#fbfdff,#f3f8fc);border-bottom:1px solid var(--line)}.tree-kicker{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--primary);font-weight:800}.tree-head h3{font-size:16px;margin:4px 0}.tree-head p{margin:0;color:var(--muted);font-size:10px}.tree-metrics{display:flex;gap:8px}.tree-metrics span{background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:9px;white-space:nowrap}.tree-metrics b{font-size:15px;color:var(--primary)}.tree-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.tree-clubs{padding:8px 20px 14px}.tree-club{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:11px 2px;border-bottom:1px dashed #dce6ee}.tree-club:last-child{border-bottom:0}.tree-club strong,.tree-club small{display:block}.tree-club strong{font-size:12px}.tree-club small{font-size:9px;color:var(--muted);margin-top:3px}.tree-club>div:last-child{display:flex;gap:12px}.tree-club a,.empty-inline a{font-size:9px;color:var(--primary);font-weight:800;text-decoration:none}.empty-inline{padding:14px 0;color:var(--muted);font-size:10px}.badge.success{background:#e7f7ef;color:#147854}.badge.neutral{background:#eef2f5;color:#5e6b77}
@media(max-width:900px){.tree-head{grid-template-columns:1fr}.tree-metrics,.tree-actions{justify-content:flex-start}.head-actions{justify-content:flex-start}.tree-club{align-items:flex-start;flex-direction:column}.tree-club>div:last-child{flex-wrap:wrap}}
@media(max-width:560px){.icon,.sidebar>a .icon,.logout-link .icon,.btn .icon,.actions .icon,.toolbar .icon,.btn.small .icon,.metric-card .metric-icon .icon{width:20px!important;height:20px!important;min-width:20px!important}.tree-head{padding:15px}.tree-clubs{padding:7px 15px 12px}}

/* V1.7 — Iconografía realmente compacta y paneles jerárquicos embebidos */
.sidebar>a .icon{width:14px!important;height:14px!important;min-width:14px!important;max-width:14px!important}
.sidebar>a{gap:9px;min-height:36px;padding:8px 10px;font-size:11.5px}
.sidebar-intro .icon,.logout-link .icon{width:14px!important;height:14px!important;min-width:14px!important}
.btn .icon,.actions .icon,.toolbar .icon,.btn.small .icon{width:13px!important;height:13px!important;min-width:13px!important}
.metric-card .metric-icon .icon{width:17px!important;height:17px!important;min-width:17px!important}
.relations-panel{margin:0 0 24px;padding:0;overflow:hidden}
.relations-panel-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,#fff,#f4f9fc)}
.relations-panel-head h2{margin:5px 0 4px}.relations-panel-head p{margin:0;color:var(--muted);font-size:11px;line-height:1.55}
.relations-frame{display:block;width:100%;height:620px;border:0;background:#f7fafc}
@media(max-width:900px){.relations-panel-head{align-items:flex-start;flex-direction:column}.relations-frame{height:720px}}
@media(max-width:560px){.sidebar>a .icon{width:14px!important;height:14px!important;min-width:14px!important}.relations-panel-head{padding:16px}.relations-frame{height:760px}}

/* =====================================================
   V1.8 — MENÚ SIN ICONOS · DASHBOARD IFRAME · LOGIN TECH
   ===================================================== */
.sidebar>a .icon,.sidebar svg,.logout-link svg{display:none!important}
.sidebar>a{gap:0!important;padding:9px 12px!important;min-height:37px!important;font-size:12px!important;letter-spacing:.05px}
.sidebar>a span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebar>a.active{padding-left:15px!important}
.sidebar>a.active:before{content:"";position:absolute;left:5px;width:3px;height:18px;border-radius:3px;background:var(--gold)}
.sidebar>a.active i{width:4px;height:4px;right:10px}
.sidebar-monogram{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);font-size:10px;font-weight:900;letter-spacing:.5px;color:#fff;flex:0 0 auto}
.logout-link{gap:0!important;padding:8px 11px!important}
.dashboard-frame-shell{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}
.dashboard-shell-head{margin:0}.dashboard-shell-head h1{font-size:24px;margin:5px 0}.dashboard-main-frame{display:block;width:100%;height:760px;border:0;background:#f5f8fb}
.frame-body{padding:22px;background:#f5f8fb;min-height:100vh}.dashboard-hero-frame{margin-bottom:16px}.dashboard-metrics{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.metric-no-icon{min-height:118px}.metric-no-icon small{font-size:9px;color:var(--muted);line-height:1.4}.metric-no-icon .metric-label{font-size:11px}.metric-no-icon .metric{margin-top:12px}

.tech-login-body{margin:0;background:#071c2c}.tech-login{min-height:100vh;display:grid;grid-template-columns:minmax(460px,1.08fr) minmax(420px,.92fr);background:#071c2c}.tech-login-brand{position:relative;overflow:hidden;padding:56px 64px;color:#fff;display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(circle at 20% 10%,rgba(39,174,232,.22),transparent 33%),radial-gradient(circle at 80% 80%,rgba(0,196,140,.16),transparent 35%),linear-gradient(145deg,#071c2c,#0d3048 62%,#0c5e5d)}.tech-grid{position:absolute;inset:0;opacity:.34;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,black 0%,transparent 88%)}.tech-login-brand:after{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-240px;bottom:-250px;box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.015)}.tech-brand-top,.tech-brand-copy,.tech-brand-foot{position:relative;z-index:1}.tech-brand-top,.tech-card-brand{display:flex;align-items:center;gap:12px}.tech-logo{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#25a8e0,#00b980);box-shadow:0 12px 30px rgba(0,184,128,.2);font-size:13px;font-weight:900;letter-spacing:.5px}.tech-logo.small{width:38px;height:38px;border-radius:11px;font-size:11px}.tech-brand-top strong,.tech-card-brand strong{display:block;font-size:15px}.tech-brand-top small,.tech-card-brand small{display:block;margin-top:3px;color:#b9d4e4;font-size:10px}.tech-card-brand small{color:#7890a3}.tech-brand-copy{max-width:670px}.tech-kicker{display:inline-flex;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);font-size:9px;font-weight:900;letter-spacing:1.5px}.tech-brand-copy h1{font-size:48px;line-height:1.06;letter-spacing:-2px;margin:20px 0}.tech-brand-copy p{max-width:600px;color:#d1e4ef;font-size:14px;line-height:1.75}.tech-features{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}.tech-features span{padding:7px 10px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.065);border-radius:9px;font-size:9px;color:#edf8fd}.tech-brand-foot{font-size:9px;color:#9fc1d4;letter-spacing:.5px}.tech-login-access{display:grid;place-items:center;padding:42px;background:radial-gradient(circle at 92% 8%,rgba(37,168,224,.1),transparent 30%),#f6f9fc}.tech-login-card{width:min(420px,100%);padding:38px;background:rgba(255,255,255,.97);border:1px solid #dfe9f0;border-radius:24px;box-shadow:0 30px 90px rgba(7,28,44,.14)}.tech-login-card h2{font-size:29px;margin:28px 0 7px;letter-spacing:-.8px}.tech-login-card .lead{margin-bottom:24px;font-size:12px}.tech-field{margin-bottom:15px}.tech-field label{font-size:11px}.tech-field input{height:46px;background:#f9fbfd;border-radius:12px}.tech-login-btn{width:100%;height:46px;margin-top:5px;background:linear-gradient(135deg,#1178b9,#00a878);font-size:12px;box-shadow:0 11px 26px rgba(17,120,185,.2)}.tech-security{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:18px;font-size:9px;color:#748596}.tech-security span{width:7px;height:7px;border-radius:50%;background:#00a878;box-shadow:0 0 0 4px rgba(0,168,120,.1)}
@media(max-width:1050px){.tech-login{grid-template-columns:1fr 1fr}.tech-login-brand{padding:44px}.tech-brand-copy h1{font-size:39px}.dashboard-main-frame{height:820px}}
@media(max-width:900px){.tech-login{grid-template-columns:1fr}.tech-login-brand{display:none}.tech-login-access{min-height:100vh;padding:24px}.dashboard-main-frame{height:900px}.frame-body{padding:14px}}
@media(max-width:560px){.tech-login-card{padding:26px;border-radius:18px}.dashboard-main-frame{height:1020px}.dashboard-shell-head{padding:16px}.dashboard-shell-head h1{font-size:21px}.sidebar>a{font-size:11.5px!important}}

/* =====================================================
   V1.8.1 — DASHBOARD NATIVO SIN IFRAME
   ===================================================== */
.dashboard-hero{
  position:relative;
  overflow:hidden;
  margin-bottom:20px;
  padding:30px;
  border-radius:22px;
  background:linear-gradient(135deg,#0c2748 0%,#124f72 55%,#11745f 100%);
  color:#fff;
  box-shadow:0 18px 45px rgba(12,39,72,.18);
}
.dashboard-hero::after{
  content:"";
  position:absolute;
  right:-70px;
  top:-90px;
  width:260px;
  height:260px;
  border-radius:50%;
  border:42px solid rgba(255,255,255,.07);
}
.dashboard-hero h1{margin:5px 0 8px;color:#fff;font-size:clamp(25px,3vw,39px);line-height:1.05}
.dashboard-hero p{max-width:760px;margin:0;color:rgba(255,255,255,.84)}
.dashboard-hero .hero-kicker{font-size:11px;letter-spacing:.16em;font-weight:800;color:#b8ffe1}
.dashboard-metrics{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;margin-bottom:20px}
.metric-card{min-height:132px;padding:20px;border:1px solid #e5edf4;border-radius:18px;background:#fff}
.metric-card .metric{font-size:34px;line-height:1;margin:12px 0 8px;font-weight:800;color:#123451}
.metric-card .metric-label{font-size:13px;font-weight:800;color:#47657b;text-transform:uppercase;letter-spacing:.05em}
.metric-card small{color:#72879a}
.dashboard-section{border-radius:20px;padding:20px}
.dashboard-frame-shell,.dashboard-main-frame{display:none!important}
@media(max-width:700px){
  .dashboard-hero{padding:23px 20px;border-radius:18px}
  .dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
  .metric-card{min-height:112px;padding:15px}
  .metric-card .metric{font-size:28px}
}
@media(max-width:430px){.dashboard-metrics{grid-template-columns:1fr}}

/* ===== v1.9: menú de una sola línea y revisión global de interfaz ===== */
.sidebar{width:292px;flex:0 0 292px}
.sidebar>a{display:flex!important;align-items:center!important;min-width:0!important;white-space:nowrap!important;overflow:hidden!important}
.sidebar>a span{display:block!important;min-width:0!important;max-width:100%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;line-height:1.15!important}
.content{min-width:0;overflow-x:hidden}
.page-head h1,.list-head h2,.section-title span{overflow-wrap:anywhere}
.table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.form-grid{align-items:start}
.field textarea{min-height:96px;resize:vertical}
@media(max-width:1050px){.sidebar{width:270px;flex-basis:270px}.sidebar>a{font-size:11.3px!important;padding-left:10px!important;padding-right:10px!important}}
@media(max-width:900px){.sidebar{width:292px;left:-310px;flex-basis:292px}.sidebar>a{font-size:12px!important}}
@media(max-width:560px){.sidebar{width:min(88vw,292px);left:-92vw}.sidebar>a{font-size:11.5px!important}.content{overflow-x:hidden}}

/* ===== V2.0: menú agrupado y módulo de etapas ===== */
.sidebar{overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}
.nav-group{margin:0 0 8px}.nav-group .nav-label{margin-top:3px;padding:6px 10px 4px;color:rgba(255,255,255,.55);font-size:8px;letter-spacing:1.25px;font-weight:900}
.nav-group>a{position:relative;display:flex;align-items:center;min-height:34px;margin:2px 0;padding:7px 11px;border-radius:9px;color:#e8f2f8;text-decoration:none;font-size:11.5px;font-weight:700;white-space:nowrap;overflow:hidden}
.nav-group>a span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-group>a:hover{background:rgba(255,255,255,.07)}.nav-group>a.active{background:linear-gradient(90deg,rgba(0,168,107,.20),rgba(255,255,255,.06));color:#fff;padding-left:15px}.nav-group>a.active:before{content:"";position:absolute;left:5px;width:3px;height:18px;border-radius:3px;background:var(--gold)}.nav-group>a.active i{position:absolute;right:10px;width:4px;height:4px;border-radius:50%;background:var(--gold)}
.competition-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(250px,.75fr);gap:18px;align-items:start}.process-guide ol{list-style:none;padding:0;margin:0;display:grid;gap:7px}.process-guide li{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#f8fbfd;font-size:11px}.process-guide li b{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#e7f8ef;color:#08754d;font-size:10px}.table-sub{display:block;color:var(--muted);font-size:9px;margin-top:3px}
@media(max-width:1000px){.competition-layout{grid-template-columns:1fr}.process-guide ol{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.nav-group>a{font-size:11px;min-height:33px}.process-guide ol{grid-template-columns:1fr}}

/* ===== V2.1: documentos por expediente y login centrado ===== */
.entity-documents{margin-top:22px;padding:22px;border-radius:20px}.document-lead{max-width:900px;margin:0 0 18px}.entity-document-form{padding:18px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,#fbfdff,#f6fafc)}.document-list{display:grid;gap:10px;margin-top:18px}.document-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto auto;align-items:center;gap:13px;padding:12px;border:1px solid var(--line);border-radius:13px;background:#fff}.document-type-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:11px;background:#e8f5fb;color:#126a98;font-size:9px;font-weight:900;letter-spacing:.4px}.document-main{min-width:0}.document-main strong,.document-main span,.document-main small{display:block}.document-main strong{font-size:12px;color:#17384f}.document-main span{margin-top:3px;font-size:10px;color:#506e82}.document-main small{margin-top:4px;color:#8093a0;font-size:9px}.document-actions{display:flex;gap:6px;white-space:nowrap}
.center-login-body{min-height:100vh;margin:0;overflow-x:hidden;background:radial-gradient(circle at 18% 12%,rgba(23,145,204,.22),transparent 34%),radial-gradient(circle at 82% 85%,rgba(0,180,125,.18),transparent 35%),linear-gradient(145deg,#061827,#092b42 54%,#0b594f);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:#17384f}.center-login-body:before{content:"";position:fixed;inset:0;opacity:.25;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:42px 42px;mask-image:radial-gradient(circle at center,#000,transparent 78%)}.login-orbit{position:fixed;border-radius:50%;border:1px solid rgba(255,255,255,.1);pointer-events:none}.orbit-one{width:420px;height:420px;left:-210px;top:-170px;box-shadow:0 0 0 65px rgba(255,255,255,.018),0 0 0 130px rgba(255,255,255,.012)}.orbit-two{width:340px;height:340px;right:-170px;bottom:-150px;box-shadow:0 0 0 55px rgba(255,255,255,.018)}.center-login-shell{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px}.center-login-card{width:min(430px,100%);box-sizing:border-box;padding:34px 38px 28px;border:1px solid rgba(255,255,255,.65);border-radius:26px;background:rgba(255,255,255,.96);box-shadow:0 35px 100px rgba(0,0,0,.28);backdrop-filter:blur(18px)}.login-logo-wrap{display:grid;place-items:center;width:82px;height:82px;margin:-2px auto 17px;border-radius:22px;background:linear-gradient(145deg,#eef9fd,#fff);box-shadow:0 13px 33px rgba(7,81,115,.16);border:1px solid #deedf4}.login-logo-wrap img{width:66px;height:66px;display:block}.login-heading{text-align:center}.login-edition{display:inline-block;margin-bottom:9px;color:#0b936b;font-size:9px;font-weight:900;letter-spacing:1.45px}.login-heading h1{margin:0;color:#102f46;font-size:29px;line-height:1.08;letter-spacing:-.8px}.login-heading p{margin:12px auto 22px;max-width:345px;color:#688093;font-size:11px;line-height:1.65}.center-login-form .field{margin-bottom:14px}.center-login-form label{font-size:10px;font-weight:800;color:#36576c}.center-login-form input{height:47px;border-radius:12px;background:#f8fbfd;border-color:#dce8ef;padding:0 14px;font-size:12px}.center-login-form input:focus{background:#fff;border-color:#1687c9;box-shadow:0 0 0 4px rgba(22,135,201,.1)}.center-login-btn{width:100%;height:47px;margin-top:3px;border:0;border-radius:12px;background:linear-gradient(135deg,#147fb9,#00a878);font-size:12px;font-weight:850;box-shadow:0 12px 27px rgba(0,132,116,.2)}.login-trust{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:17px;color:#718697;font-size:8.8px;text-align:center}.login-trust span{width:7px;height:7px;border-radius:50%;background:#00a878;box-shadow:0 0 0 4px rgba(0,168,120,.11)}.login-tech{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin-top:16px;padding-top:15px;border-top:1px solid #e9eff3}.login-tech b{padding:4px 7px;border-radius:6px;background:#f0f6f9;color:#597183;font-size:8px;letter-spacing:.25px}.center-login-shell footer{margin-top:16px;color:rgba(255,255,255,.62);font-size:9px;text-align:center}
@media(max-width:760px){.document-row{grid-template-columns:42px minmax(0,1fr) auto}.document-actions{grid-column:2/-1}.entity-documents{padding:16px}.entity-document-form{padding:14px}}
@media(max-width:480px){.center-login-shell{padding:18px}.center-login-card{padding:28px 22px 23px;border-radius:21px}.login-logo-wrap{width:72px;height:72px;border-radius:19px}.login-logo-wrap img{width:58px;height:58px}.login-heading h1{font-size:25px}.document-row{grid-template-columns:38px minmax(0,1fr)}.document-type-mark{width:38px;height:38px}.document-row>.badge{grid-column:2}.document-actions{grid-column:1/-1}.document-actions .btn{flex:1;text-align:center}}
