/* ============================================================
   ADOS · el cascarón (Spec 0013 · D2, 2026-09-14) — portado de la versión A
   de la terna del D0 (previews/ados-entrada-A.html + puertas-*.css), la que
   Mario eligió: login de dos paneles, barra lateral navy con el selector de
   cuenta arriba, barra superior blanca con los controles de la vista abierta,
   ficha lateral. Columna ADOS del sistema de marca; Playfair + Inter.
   Los módulos traen su propio CSS (el de la página de hoy); este archivo solo
   viste lo que los rodea. Clases propias: .ados .side .sw .dd .topbar .main
   .ficha .kpis .apanel .tb .li .fd .ev .st .noacc .login
   ============================================================ */
:root{--navy:#0E1B2D;--navy-soft:#1B2E47;--navy-deep:#08111F;--gold:#C9A961;--gold-deep:#A8894A;--gold-soft:#F3EAD3;
--cream:#F5F5F0;--paper:#fff;--line:#E3E3DC;--ink:#0E1B2D;--muted:#667;--gris:#6B7280;--gris-soft:#9CA3AF;
--verde:#0F7A52;--verde-soft:#E6F4EE;--danger:#B91C1C;--danger-bg:#FEF2F2;--ease:cubic-bezier(.23,1,.32,1)}
html,body{background:#F3F3EE}
body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased;min-height:100vh}
.serif{font-family:'Playfair Display',Georgia,'Times New Roman',serif}
.logo{background:url('../alianz-logo.png') center/contain no-repeat;flex:none}
.fade{animation:fade 360ms var(--ease) both}@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
[hidden]{display:none!important}

/* ---- la entrada: dos paneles ---- */
.login{display:grid;min-height:100vh;grid-template-columns:minmax(360px,44%) 1fr}
.login .left{background:var(--navy);color:#fff;padding:56px 56px 40px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.login .left:after{content:"";position:absolute;right:-120px;bottom:-140px;width:420px;height:420px;border-radius:50%;border:1px solid rgba(201,169,97,.25)}
.login .left .logo{width:60px;height:60px;background-image:url('alianz-logo.png')} .login .left h1{font-size:40px;line-height:1.08;margin:26px 0 12px;letter-spacing:-.4px;font-weight:700} .login .left h1 em{color:var(--gold);font-style:italic;font-weight:500}
.login .left p{color:rgba(255,255,255,.72);font-size:15px;line-height:1.6;max-width:36ch;margin:0} .login .left .foot{font-size:12px;color:rgba(255,255,255,.45)}
.login .right{display:flex;align-items:center;justify-content:center;padding:48px 24px;background:#fff}
.login .form{width:100%;max-width:380px} .login .wm{font-size:26px;font-weight:800;letter-spacing:4px} .login .wm small{display:block;font-size:12px;letter-spacing:.2px;font-weight:600;color:var(--gris);margin-top:4px}
.login label{display:block;font-size:12px;font-weight:700;letter-spacing:.4px;color:var(--gris);margin:14px 0 6px}
.login input{width:100%;font:inherit;font-size:15px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);outline:none;box-sizing:border-box;transition:border-color 160ms,box-shadow 160ms}
.login input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,169,97,.25)}
.login .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:8px;padding:13px 18px;font:inherit;font-size:15px;font-weight:700;cursor:pointer;width:100%;margin-top:22px;background:var(--gold);color:var(--navy);transition:transform 160ms var(--ease),opacity 160ms}
.login .btn:active{transform:scale(.985)} .login .btn[disabled]{opacity:.55;cursor:default}
.login .msg{margin-top:12px;font-size:13.5px;line-height:1.45;padding:10px 12px;border-radius:10px;display:none} .login .msg.on{display:block} .login .msg.err{background:var(--danger-bg);color:var(--danger)}
.login .olv{display:block;text-align:center;margin-top:16px;font-size:13px;color:var(--gris);text-decoration:none} .login .olv b{color:var(--navy)}
@media(max-width:820px){.login{grid-template-columns:1fr}.login .left{padding:36px 28px 28px}.login .left h1{font-size:30px}}
.noacc{max-width:440px;margin:14vh auto;background:#fff;border:1px solid var(--line);border-radius:12px;padding:34px;text-align:center}
.noacc .logo{width:56px;height:56px;margin:0 auto 14px;background-image:url('alianz-logo.png')} .noacc h2{font-size:22px;margin:0 0 8px} .noacc p{color:var(--gris);font-size:14.5px;line-height:1.55}
.noacc a.btn{display:block;margin-top:18px;background:var(--navy);color:#fff;text-decoration:none;border-radius:10px;padding:13px;font-weight:700} .noacc a.sec{display:block;margin-top:10px;color:var(--gris);font-size:13px;cursor:pointer}
.boot{display:flex;align-items:center;justify-content:center;min-height:100vh;color:var(--gris);font-size:14px;gap:10px}
.spin{width:16px;height:16px;border-radius:50%;border:2.5px solid rgba(14,27,45,.2);border-top-color:var(--navy);animation:sp .7s linear infinite}@keyframes sp{to{transform:rotate(360deg)}}

/* ---- el tablero, estilo GHL: barra lateral navy + barra superior blanca ---- */
.ados{display:grid;grid-template-columns:220px 1fr;min-height:100vh} .ados.mini{grid-template-columns:64px 1fr}
.side{background:var(--navy);color:#fff;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
.side .brand{display:flex;align-items:center;gap:10px;padding:16px 16px 12px} .side .brand .logo{width:28px;height:28px} .side .brand b{letter-spacing:3px;font-size:14px}
.sw{position:relative;margin:4px 12px 10px} .sw button.cur{width:100%;display:flex;align-items:center;gap:10px;padding:10px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:rgba(255,255,255,.06);color:#fff;font:inherit;text-align:left;cursor:pointer}
.sw button.cur:hover{background:rgba(255,255,255,.1)} .sw .ini{width:32px;height:32px;border-radius:6px;background:var(--gold);color:var(--navy);font-weight:800;font-size:11px;display:flex;align-items:center;justify-content:center;flex:none}
.sw .t{min-width:0} .sw .t b{display:block;font-size:13px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} .sw .t small{display:block;font-size:11px;color:var(--gold);font-weight:700;letter-spacing:.6px;text-transform:uppercase;margin-top:2px}
.sw .cv{margin-left:auto;color:rgba(255,255,255,.5);display:flex} .sw .cv.hide{display:none}
.dd{position:absolute;left:0;right:0;top:calc(100% + 6px);background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 32px rgba(8,17,31,.16);z-index:20;display:none;color:var(--ink);overflow:hidden}
.dd.on{display:block} .dd .h{font-size:10.5px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:var(--gris-soft);padding:10px 12px 4px}
.dd a{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;border:0;background:none;font:inherit;text-align:left;cursor:pointer;color:var(--ink);text-decoration:none;box-sizing:border-box}
.dd a:hover{background:var(--cream)} .dd a.cur{background:var(--gold-soft)}
.dd .ini{width:30px;height:30px;border-radius:6px;background:var(--navy);color:var(--gold);font-weight:800;font-size:11px;display:flex;align-items:center;justify-content:center;flex:none}
.dd b{display:block;font-size:13.5px} .dd small{display:block;color:var(--gris);font-size:11.5px}
.dd .lvl{margin-left:auto;font-size:10px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:#7A5B14;background:var(--gold-soft);padding:2px 6px;border-radius:3px;white-space:nowrap}
.side .sect{font-size:10px;font-weight:800;letter-spacing:1.4px;color:rgba(255,255,255,.35);text-transform:uppercase;padding:10px 20px 4px}
.side nav{padding:0 8px;flex:1;overflow-y:auto}
.side nav a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:6px;color:rgba(255,255,255,.78);font-size:13.5px;font-weight:600;cursor:pointer;margin-bottom:1px;text-decoration:none;position:relative}
.side nav a:hover{background:rgba(255,255,255,.06);color:#fff} .side nav a.on{background:rgba(201,169,97,.16);color:#fff;box-shadow:inset 3px 0 0 var(--gold)}
.side nav a.off{opacity:.38;cursor:default} .side nav a.off:hover{background:none}
.side nav a svg{opacity:.85;flex:none} .side nav a .n{margin-left:auto;background:var(--gold);color:var(--navy);font-size:10.5px;font-weight:800;padding:1px 6px;border-radius:999px}
.side nav a .ext{margin-left:auto;opacity:.5}
.side .me{display:flex;align-items:center;gap:10px;padding:12px 16px;border-top:1px solid rgba(255,255,255,.08)}
.side .av{width:32px;height:32px;border-radius:50%;background:var(--navy-soft);border:2px solid var(--gold);color:var(--gold);font-weight:800;font-size:11px;display:flex;align-items:center;justify-content:center;flex:none}
.side .me div{min-width:0} .side .me b{display:block;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} .side .me small{display:block;font-size:11px;color:rgba(255,255,255,.5)} .side .me .out{margin-left:auto;color:rgba(255,255,255,.5);cursor:pointer;display:flex;border:0;background:none}
.colbtn{border:0;background:none;color:inherit;opacity:.55;cursor:pointer;width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;margin-left:auto} .colbtn:hover{opacity:1;background:rgba(127,127,127,.15)}
.side .exp{display:none} .side.mini .exp{display:flex;margin:0 auto 6px;opacity:.8;border:1px solid rgba(255,255,255,.18)}
.side.mini .brand{justify-content:center;padding:16px 8px 6px} .side.mini #col{display:none} .side.mini .sw{margin:4px 8px 10px}
.side.mini .brand b,.side.mini .sect,.side.mini .sw .t,.side.mini .sw .cv,.side.mini .me div,.side.mini nav a span.lbl,.side.mini nav a .ext{display:none}
.side.mini nav a{justify-content:center;padding:10px 0} .side.mini nav a .n{position:absolute;top:4px;right:8px;margin:0}
.side.mini .sw button.cur{padding:8px;justify-content:center} .side.mini .me{justify-content:center} .side.mini .me .out{margin:0}
.side nav a .tip{display:none} .side.mini nav a .tip{display:block;position:absolute;left:58px;background:var(--navy);color:#fff;font-size:12px;font-weight:600;padding:5px 8px;border-radius:6px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity 120ms;z-index:5} .side.mini nav a:hover .tip{opacity:1}
.topbar{height:56px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px;padding:0 24px;position:sticky;top:0;z-index:10}
.topbar .crumb{font-size:13px;color:var(--gris);white-space:nowrap} .topbar .crumb b{color:var(--ink);font-weight:700}
.topbar .ctl{display:flex;align-items:center;gap:8px;margin-left:auto}
.topbar .ctl .pri{background:var(--navy);color:#fff;border:0;border-radius:6px;padding:8px 14px;font:inherit;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap}
.topbar .ctl .sec2{background:#fff;color:var(--navy);border:1px solid var(--line);border-radius:6px;padding:7px 12px;font:inherit;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap}
.topbar .ctl .lbl{font-size:12.5px;color:var(--gris);white-space:nowrap}
.main{padding:22px 24px 60px;max-width:1240px;min-width:0}
.main h2.h{font-size:22px;margin:0;font-weight:800} .main .greet{color:var(--gris);font-size:13.5px;margin:4px 0 18px}
/* los módulos traen el CSS de su página: se acomodan a la columna ancha */
.main .pad{padding:0;max-width:1100px}
.cols{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);gap:16px;margin-top:16px} .stack{display:flex;flex-direction:column;gap:16px}
@media(max-width:1000px){.cols{grid-template-columns:1fr}}
.st{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.6px;padding:3px 8px;border-radius:4px} .st.v{background:var(--verde);color:#fff} .st.g{background:#E7E7E0;color:#555} .st.a{background:var(--gold-soft);color:#7A5B14}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}
.kpi{padding:16px 18px;border-right:1px solid var(--line)} .kpi:last-child{border-right:0}
.kpi .l{font-size:12px;color:var(--gris);font-weight:600} .kpi .v{font-size:28px;font-weight:800;letter-spacing:-.5px;margin:4px 0 2px;line-height:1.1}
.kpi .d{font-size:12px;font-weight:700} .kpi .d.up{color:var(--verde)} .kpi .d.dn{color:#8A5A00} .kpi .s{font-size:11.5px;color:var(--gris-soft);margin-top:2px}
@media(max-width:900px){.kpis{grid-template-columns:repeat(2,1fr)}.kpi:nth-child(2){border-right:0}.kpi:nth-child(1),.kpi:nth-child(2){border-bottom:1px solid var(--line)}}
.apanel{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:auto}
.apanel .ph{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line)}
.apanel .ph h3{font-size:14px;margin:0;font-weight:800} .apanel .ph .sp{flex:1} .apanel .ph a{font-size:12.5px;font-weight:700;color:var(--navy);text-decoration:none;cursor:pointer}
.apanel .empty2{padding:18px 16px;color:var(--gris);font-size:13px}
table.tb{width:100%;border-collapse:collapse;font-size:13.5px}
table.tb th{text-align:left;font-size:11px;letter-spacing:.8px;text-transform:uppercase;color:var(--gris);font-weight:700;padding:10px 16px;background:#FAFAF7;border-bottom:1px solid var(--line)}
table.tb td{padding:11px 16px;border-bottom:1px solid #EFEFEA;white-space:nowrap} table.tb tr:last-child td{border-bottom:0}
table.tb tr:hover td{background:#FAFAF7} table.tb td.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;color:var(--gris)} table.tb td b{font-weight:700}
tr.row{cursor:pointer} tr.row.sel td{background:var(--gold-soft)!important}
.li{display:flex;align-items:flex-start;gap:12px;padding:11px 16px;border-bottom:1px solid #EFEFEA;cursor:pointer} .li:last-child{border-bottom:0} .li:hover{background:#FAFAF7}
.li .dot{width:8px;height:8px;border-radius:50%;background:var(--gold);margin-top:6px;flex:none}
.li .a{font-size:13.5px;font-weight:700} .li .b{font-size:12.5px;color:var(--gris);margin-top:1px} .li .c{margin-left:auto;font-size:11.5px;color:var(--gris-soft);white-space:nowrap;flex:none}
.li .tg{font-size:10px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:#7A5B14;background:var(--gold-soft);padding:2px 6px;border-radius:3px;margin-left:6px}
.fd{padding:10px 16px;border-bottom:1px solid #EFEFEA;font-size:13px;line-height:1.45;display:flex;gap:10px} .fd:last-child{border-bottom:0}
.fd .w{color:var(--gris-soft);font-size:11.5px;flex:none;width:56px;padding-top:2px} .fd b{font-weight:700}
.ev{display:flex;align-items:center;gap:14px;padding:12px 16px;border-bottom:1px solid #EFEFEA} .ev:last-child{border-bottom:0}
.ev .dt{width:52px;text-align:center;background:var(--navy);color:#fff;border-radius:6px;padding:6px 0;font-size:11px;font-weight:800;line-height:1.2;flex:none} .ev .dt span{display:block;color:var(--gold);font-size:14px}
.ev .n{font-weight:700;font-size:14px} .ev .c{font-size:12.5px;color:var(--gris)} .ev .e{margin-left:auto;font-size:12px;font-weight:700;color:var(--verde);white-space:nowrap} .ev .i{font-size:11.5px;color:var(--gris-soft)}
/* la ficha lateral que abre un renglón */
.ficha{position:fixed;top:56px;right:0;bottom:0;width:400px;max-width:94vw;background:#fff;border-left:1px solid var(--line);box-shadow:-12px 0 32px rgba(8,17,31,.12);z-index:30;transform:translateX(100%);transition:transform 220ms var(--ease);display:flex;flex-direction:column;color:var(--ink)}
.ficha.on{transform:none}
.ficha .fh{display:flex;align-items:flex-start;gap:10px;padding:18px 18px 14px;border-bottom:1px solid var(--line)} .ficha .fk{font-size:11px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:var(--gold-deep)} .ficha h3{font-size:19px;margin:2px 0 0}
.ficha .fx{margin-left:auto;border:0;background:none;font-size:16px;color:var(--gris);cursor:pointer;padding:4px 8px;border-radius:6px} .ficha .fx:hover{background:var(--cream)}
.ficha .fb{padding:6px 18px;flex:1;overflow-y:auto} .ficha .fr{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #EFEFEA;font-size:13.5px} .ficha .fr span{color:var(--gris)} .ficha .fr b{text-align:right;font-weight:600;word-break:break-word}
.ficha .ff{display:flex;gap:8px;padding:14px 18px;border-top:1px solid var(--line)} .ficha .ff .btn{flex:1;padding:10px;font-size:13.5px;border-radius:8px}
/* formularios y controles dentro de la ficha (Socios, Equipo, Criadores, Revisiones) */
.ficha .fb label{display:block;font-size:12px;font-weight:700;letter-spacing:.4px;color:var(--gris);margin:14px 0 6px}
.ficha .fb input,.ficha .fb select,.ficha .fb textarea{width:100%;font:inherit;font-size:15px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);outline:none;box-sizing:border-box;transition:border-color 160ms,box-shadow 160ms}
.ficha .fb input:focus,.ficha .fb select:focus,.ficha .fb textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,169,97,.25)}
.ficha .fb input[readonly]{background:#F3F3EE;color:var(--gris)}
.ficha .fb .ck{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:var(--ink);margin:8px 0;letter-spacing:0;cursor:pointer} .ficha .fb .ck input{width:auto;padding:0;margin:0;accent-color:var(--navy)}
.ficha .fb .sub2{font-size:12.5px;color:var(--gris);margin:-2px 0 4px 26px;line-height:1.45}
.ficha .fb .opts{margin:2px 0 6px 26px;display:flex;flex-direction:column;gap:4px} .ficha .fb .opts label{margin:0;display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--ink);letter-spacing:0;cursor:pointer} .ficha .fb .opts input{width:auto;padding:0;margin:0}
.ficha .fb .hint{font-size:12.5px;color:var(--gris);line-height:1.5;margin-top:8px}
.ficha .fb .quote{font-size:14px;color:#3A4658;border-left:3px solid var(--gold);padding:6px 12px;background:#FAF7F0;border-radius:0 8px 8px 0;margin:12px 0}
.ficha .fb .fmsg{margin-top:12px;font-size:13.5px;line-height:1.45;padding:10px 12px;border-radius:10px;display:none} .ficha .fb .fmsg.on{display:block} .ficha .fb .fmsg.ok{background:var(--verde-soft);color:var(--verde)} .ficha .fb .fmsg.err{background:var(--danger-bg);color:var(--danger)}
.ficha .fb .acts{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap} .ficha .fb .acts .btn{flex:1}
.ficha .ff .btn{border-radius:8px}
.ficha .fb a.doc{display:inline-block;margin:4px 6px 4px 0;font-size:13px;font-weight:700;color:var(--navy);border:1px solid var(--line);border-radius:8px;padding:7px 10px;text-decoration:none}
/* la barra de herramientas encima de una tabla: buscador + filtros */
.tool{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line);background:#fff}
.tool input{flex:1;font:inherit;font-size:13.5px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;outline:none;background:#FAFAF7} .tool input:focus{border-color:var(--gold);background:#fff}
.tool .count{font-size:12.5px;color:var(--gris);white-space:nowrap}
.topbar .ctl .seg{display:inline-flex;border:1px solid var(--line);border-radius:6px;overflow:hidden} .topbar .ctl .seg button{border:0;background:#fff;font:inherit;font-size:12.5px;font-weight:700;color:var(--gris);padding:7px 12px;cursor:pointer} .topbar .ctl .seg button.on{background:var(--navy);color:#fff}
.tb .chip{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.5px;padding:3px 8px;border-radius:999px;background:var(--cream);color:var(--navy);border:1px solid var(--line);white-space:nowrap}
.tb .chip.gold{background:rgba(201,169,97,.15);color:var(--gold-deep);border-color:var(--gold)} .tb .chip.ok{background:var(--verde-soft);color:var(--verde);border-color:#B7E0CD} .tb .chip.off{background:#EEF0F2;color:var(--gris);border-color:#D6DAE0} .tb .chip.pend{background:rgba(201,169,97,.15);color:#7A5B14;border-color:#E9C67A} .tb .chip.red{background:var(--danger-bg);color:var(--danger);border-color:#E7B4B4}
.tb td.wrap{white-space:normal}
