:root{--navy:#10223a;--deep:#0c182a;--orange:#ed8a33;--ink:#233347;--muted:#78879b;--border:#e8ecf2;--bg:#f5f7fa}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:14px}.hidden{display:none!important}button,input,select{font:inherit}button{cursor:pointer;border:0}button:disabled{opacity:.6;cursor:wait}.primary{background:var(--orange);color:#182336;border-radius:9px;padding:12px 17px;font-weight:750;white-space:nowrap}.primary:hover{background:#f2a357}.login-shell{min-height:100vh;display:grid;grid-template-columns:55% 45%;background:#fff}.login-card{width:min(430px,calc(100% - 40px));margin:auto}.brand-badge{color:#172a42;font-size:28px;font-weight:900;letter-spacing:-1px;margin-bottom:58px}.brand-badge span{font-size:10px;letter-spacing:3px;vertical-align:middle;color:#cc7631}.eyebrow{font-size:10px;font-weight:850;letter-spacing:2px;color:#cf7936}.login-card h1{font-size:clamp(33px,4vw,51px);line-height:1.12;letter-spacing:-1.7px;color:var(--navy);margin:12px 0}.login-card>p{color:var(--muted);line-height:1.7;margin-bottom:28px}.login-card form{display:grid;gap:19px}.login-card label,.dialog-form label,.inline-form label,.user-grid label{display:grid;gap:8px;font-weight:700;font-size:12px}.login-card input,.dialog-form input,.dialog-form select,.inline-form input,.user-grid input,.user-grid select{width:100%;border:1px solid #dce2e9;border-radius:9px;padding:12px 13px;background:white;outline:none}.login-card input:focus,.dialog-form input:focus,.filters input:focus{border-color:var(--orange)}.login-card .primary{margin-top:9px}.hint{font-size:11px;color:#9ba6b3;margin-top:26px}.login-accent{background:linear-gradient(140deg,#172b48,#091729);color:#fff;padding:15%;display:flex;flex-direction:column;justify-content:center}.login-accent span{font-size:11px;letter-spacing:2px;color:#ea9b57}.login-accent h2{font-size:clamp(45px,5vw,80px);line-height:1.05;letter-spacing:-3px;margin:34px 0}.login-accent p{color:#b6c6da;max-width:330px;line-height:1.7}.app-shell{min-height:100vh;display:flex}.sidebar{width:248px;min-width:248px;background:var(--navy);color:white;display:flex;flex-direction:column;padding:32px 17px}.side-brand{padding:0 13px 38px;display:grid;gap:3px}.side-brand strong{font-size:31px;letter-spacing:-2px}.side-brand span{font-size:9px;letter-spacing:2px;color:#a7bcd0}.side-label{font-size:10px;color:#8696a9;letter-spacing:1.4px;padding:10px 13px}.sidebar nav{display:grid;gap:6px}.nav{background:transparent;color:#bac7d8;text-align:left;padding:14px;border-radius:9px;font-weight:600}.nav:hover,.nav.active{background:#29415d;color:white}.side-bottom{margin-top:auto;display:grid;gap:9px;padding-top:40px}.company-name{font-size:12px;color:#c9d5e3;line-height:1.5;padding:8px}.outline-light{border:1px solid #52647c;background:transparent;color:#ecf1f7;padding:10px 12px;border-radius:8px;text-align:left}.content{flex:1;min-width:0;padding:36px clamp(18px,4vw,58px)}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px;gap:12px}.topbar h2{font-size:30px;letter-spacing:-.9px;margin:8px 0}.topbar #welcome{color:var(--muted)}.role-chip{background:#fff;border:1px solid var(--border);border-radius:100px;padding:9px 14px;font-size:12px;font-weight:700}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:20px}.stat{background:white;border:1px solid var(--border);border-radius:13px;padding:23px}.stat small{color:var(--muted);font-weight:700}.stat strong{display:block;font-size:29px;margin-top:12px;letter-spacing:-.8px}.panel{background:#fff;border:1px solid var(--border);border-radius:14px;padding:24px;margin-bottom:25px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel h3{font-size:18px;margin:0 0 7px}.panel p{color:var(--muted);margin:0 0 20px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0 19px}.filters input,.filters select{padding:11px 12px;background:#fff;border:1px solid #e1e6ed;border-radius:9px;min-width:135px;max-width:100%}.filters input{flex:2;min-width:220px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:740px}th{text-align:left;color:#8b98a8;font-size:10px;letter-spacing:.7px;border-bottom:1px solid var(--border);padding:15px 10px}td{border-bottom:1px solid #f0f3f6;padding:16px 10px;vertical-align:middle;font-size:12px}td strong{display:block;font-size:13px;color:var(--navy)}td small{color:var(--muted)}.actions{display:flex;gap:7px;flex-wrap:wrap}.action{background:#f1f4f8;color:#243d5c;padding:8px 10px;border-radius:7px;font-weight:700}.action.danger{color:#b74336;background:#fdf0ee}.empty{text-align:center;color:var(--muted);padding:40px}.inline-form,.user-grid{display:grid;grid-template-columns:1fr 180px auto;align-items:end;gap:14px;margin-bottom:25px}.user-grid{grid-template-columns:repeat(2,minmax(200px,1fr))}.user-grid button{grid-column:1/-1;justify-self:start}dialog{border:0;border-radius:15px;padding:0;max-width:min(620px,95vw);width:100%;box-shadow:0 30px 90px #0004}dialog::backdrop{background:#091526ad}.dialog-form{padding:28px;display:grid;gap:16px}.dialog-header{display:flex;justify-content:space-between;align-items:center}.dialog-header h3{margin:0;font-size:21px}.text-button{background:none;font-size:20px}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}#toast{position:fixed;z-index:100;top:20px;right:20px;max-width:390px;background:#223b57;color:#fff;border-radius:10px;padding:14px 18px;box-shadow:0 10px 30px #0002;display:none;line-height:1.5}#toast.show{display:block}#toast.error{background:#b13a37}@media(max-width:850px){.login-shell{grid-template-columns:1fr}.login-accent{display:none}.login-card{padding:50px 0}.sidebar{width:190px;min-width:190px}.content{padding:25px 18px}.stats{grid-template-columns:1fr 1fr}.inline-form{grid-template-columns:1fr}}@media(max-width:610px){.app-shell{display:block}.sidebar{width:100%;padding:15px}.side-brand{padding:0 0 10px}.sidebar nav{display:flex;overflow:auto}.nav{white-space:nowrap}.side-bottom{padding:9px 0 0;display:flex;align-items:center;flex-wrap:wrap}.company-name{display:none}.topbar h2{font-size:24px}.stats{grid-template-columns:1fr}.panel{padding:16px}.two,.user-grid{grid-template-columns:1fr}.panel-title{align-items:flex-start;flex-direction:column}}

/* Marca corporativa Seguros Laborales del Perú */
:root{--navy:#111e2e;--deep:#0b1320;--orange:#f16a13;--bg:#f6f7f9}
.login-logo{display:block;width:min(340px,100%);height:auto;margin-bottom:45px;object-fit:contain;filter:drop-shadow(0 3px 5px #0001)}
.login-accent{background:linear-gradient(150deg,#182a3d,#0a1423)}
.accent-logo{width:100px;height:110px;object-fit:contain;margin-bottom:24px}
.side-brand img{display:block;width:100%;max-width:195px;height:auto;margin-bottom:14px}
.side-brand span{letter-spacing:1.2px;color:#f7ac6c}
.primary{background:#f17720;color:#fff}.primary:hover{background:#dc5d10}
.eyebrow{color:#dc651c}
@media(max-width:850px){.login-logo{margin-bottom:36px}}

/* V3: logos originales adaptados al contraste del fondo */
.login-logo{width:min(350px,100%);max-height:115px;object-fit:contain;object-position:left center;margin-bottom:42px;filter:none}
.accent-logo{width:min(285px,100%);height:auto;object-fit:contain;object-position:left center;margin-bottom:36px}
.side-brand img{width:100%;height:auto;max-width:205px}
@media(max-width:850px){.login-logo{max-height:105px;margin-bottom:35px}}

/* V4: login inmersivo corporativo, panel y explorador de carpetas */
:root{--navy:#102139;--orange:#f47520;--bg:#f1f5f9;--ink:#172941}
.login-shell{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 82% 8%,#274663 0,transparent 36%),radial-gradient(circle at 8% 90%,#1a4460 0,transparent 32%),linear-gradient(145deg,#091525,#142d49 75%,#0b1728);padding:38px 18px;overflow:hidden}
.login-shell:before,.login-shell:after{content:'';position:absolute;width:520px;height:520px;border:1px solid #ffffff15;border-radius:50%;pointer-events:none}
.login-shell:before{right:-240px;top:-220px}.login-shell:after{left:-220px;bottom:-310px}
.login-card{position:relative;z-index:1;width:min(486px,100%);margin:auto;background:#fff;border:1px solid #ffffff80;border-radius:23px;padding:35px 41px 30px;box-shadow:0 34px 100px #030d1b88;text-align:left}
.login-card .login-logo{display:block;max-width:295px;height:auto;max-height:87px;object-fit:contain;object-position:left;margin:0 0 26px;filter:none;background:#101f33;padding:12px 17px;border-radius:12px}
.login-rule{height:1px;background:#e8eef4;margin-bottom:23px}.login-card h1{font-size:32px;line-height:1.19;letter-spacing:-.8px;margin:11px 0;color:#102139}.login-card h1 span{color:#eb701f}.login-card>p{margin:13px 0 24px;font-size:13px;color:#66768a}.login-card label{font-size:12px;color:#2b4158}.login-card input{border:1px solid #dde5ed;background:#f9fbfd;padding:14px}.login-card .primary{width:100%;padding:15px;font-size:14px;background:#f47520;color:white}.login-card form{gap:15px}.login-card .hint{border-top:1px solid #ebeff4;padding-top:17px;margin-top:23px;line-height:1.5}.login-foot{position:absolute;z-index:1;bottom:12px;color:#b5c6d9;font-size:9px;letter-spacing:1.6px;text-align:center}.login-accent{display:none}
.sidebar{background:linear-gradient(180deg,#10233c,#0b182a)}.content{background:#f3f6fa}.panel{box-shadow:0 8px 26px #15263d08;border-color:#e5ecf4}.topbar h2{font-size:33px}.role-chip{border-color:#f6dfce;background:#fff7f0;color:#b95218}.stat{border-top:3px solid #f47520;box-shadow:0 4px 20px #253a5208}.folder-head{display:flex;justify-content:space-between;margin:12px 0 15px}.folder-head h3{font-size:20px;margin:7px 0}.folder-head p{color:#78879b;margin:0}.folder-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:25px}.folder-tile{display:flex;flex-direction:column;text-align:left;gap:8px;background:#fff;padding:20px;border:1px solid #e4eaf2;border-radius:13px;box-shadow:0 4px 15px #172b4608;color:#18304a;transition:.15s}.folder-tile:hover,.folder-tile.selected{border-color:#f47520;background:#fffaf6;transform:translateY(-1px)}.folder-icon{color:#f47520;font-size:25px;line-height:1}.folder-text{font-weight:800;font-size:14px}.folder-tile small{color:#8190a3}.notice{background:#f0f6fc;color:#354c68;padding:14px 17px;border-radius:10px;line-height:1.6;margin-bottom:18px;font-size:12px;border-left:3px solid #f47520}
@media(max-width:600px){.login-card{padding:27px 23px}.login-card h1{font-size:28px}.folder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.folder-tile{padding:15px}.login-foot{font-size:8px}}


/* V5 — Diseño ejecutivo, escala compacta y legibilidad */
:root{--navy:#10233c;--orange:#ed6a1b;--bg:#f5f7fa;--ink:#182c45;--muted:#748398;--border:#e6eaf0}
body{font-family:Inter,'Segoe UI',Arial,sans-serif;font-size:13px;letter-spacing:-.005em}
.login-shell{background:linear-gradient(115deg,rgba(8,20,35,.92),rgba(15,43,69,.76)),radial-gradient(ellipse at 85% 25%,#3e6986,transparent 45%),#12263d;padding:22px}
.login-shell:before{width:660px;height:660px;border-color:#ffffff0c;top:-340px;right:-220px}
.login-shell:after{width:650px;height:650px;border-color:#ffffff0b;bottom:-400px;left:-240px}
.login-card{width:min(420px,100%);border:1px solid #ffffffa8;border-radius:15px;padding:26px 32px 24px;box-shadow:0 24px 78px #06132170}
.login-card .login-logo{width:218px;max-height:64px;padding:9px 14px;border-radius:8px;margin:0 0 19px;object-fit:contain}
.login-rule{margin-bottom:18px}
.login-card .eyebrow{font-size:9px;letter-spacing:1.55px}
.login-card h1{font-size:27px;line-height:1.18;letter-spacing:-.9px;margin:11px 0 8px}
.login-card h1 span{color:#e5681a}
.login-card>p{font-size:12px;line-height:1.6;margin:10px 0 20px}
.login-card form{gap:12px}
.login-card label{font-size:11px;gap:6px}
.login-card input{padding:10px 12px;font-size:12px;border-radius:7px;background:#fff}
.login-card input:focus{box-shadow:0 0 0 3px #f4752017}
.login-card .primary{margin-top:6px;padding:11px 16px;font-size:12px;border-radius:7px}
.login-card .hint{font-size:10px;margin-top:18px;padding-top:13px}
.login-foot{font-size:8px;letter-spacing:1.2px;bottom:9px}
.sidebar{width:214px;min-width:214px;padding:22px 12px;background:#102138}
.side-brand{padding:0 9px 28px}
.side-brand img{max-width:164px;margin-bottom:9px}
.side-brand span{font-size:8px}
.side-label{padding:7px 12px;font-size:9px}
.sidebar nav{gap:3px}
.nav{font-size:12px;padding:10px 12px;border-radius:7px}
.side-bottom{gap:6px;padding-top:22px}
.company-name{font-size:11px;padding:5px}
.outline-light{font-size:11px;padding:8px 10px;border-radius:6px}
.content{padding:25px clamp(20px,2.5vw,40px);background:#f5f7fb}
.topbar{margin-bottom:19px}
.topbar h2{font-size:24px;letter-spacing:-.7px;margin:5px 0 4px}
.topbar #welcome{font-size:12px}
.eyebrow{font-size:9px;letter-spacing:1.45px}
.role-chip{font-size:10px;padding:7px 10px}
.stats{gap:11px;margin-bottom:19px}
.stat{border:1px solid #e7ebf2;border-top:2px solid #ee7828;border-radius:9px;padding:15px 17px;box-shadow:0 3px 14px #172a4007}
.stat small{font-size:10px;letter-spacing:.1px}
.stat strong{font-size:23px;margin-top:6px}
.folder-head{margin:10px 0 10px}
.folder-head h3{font-size:16px;margin:5px 0}
.folder-head p{font-size:11px}
.folder-grid{grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:9px;margin-bottom:18px}
.folder-tile{gap:5px;padding:12px 14px;border-radius:9px;box-shadow:none}
.folder-icon{font-size:19px}
.folder-text{font-size:12px}
.folder-tile small{font-size:10px}
.panel{padding:18px 20px;border-radius:11px;margin-bottom:18px;box-shadow:0 4px 18px #172a4008}
.panel h3{font-size:16px;margin-bottom:4px}
.panel p{font-size:11px;margin-bottom:11px}
.primary{font-size:11px;padding:10px 13px;border-radius:7px}
.filters{gap:7px;margin:13px 0}
.filters input,.filters select{min-width:110px;font-size:11px;padding:9px 10px;border-radius:7px}
.filters input{min-width:180px}
.table-wrap table{min-width:690px}
th{padding:11px 9px;font-size:9px}
td{padding:11px 9px;font-size:11px}
td strong{font-size:12px}
.action{font-size:10px;padding:7px 8px}
.empty{padding:24px;font-size:12px}
.dialog-form{padding:22px;gap:12px}
.dialog-form input,.dialog-form select,.inline-form input,.user-grid input,.user-grid select{padding:9px 11px;font-size:12px}
.notice{font-size:11px;padding:10px 13px}
@media(max-width:850px){.sidebar{width:184px;min-width:184px}.content{padding:18px}.folder-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}}
@media(max-width:610px){.sidebar{width:100%;padding:13px}.side-brand{padding:0 0 8px}.side-brand img{max-width:144px}.nav{padding:9px 10px}.topbar h2{font-size:21px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{padding:14px}.login-card{padding:24px 22px}.login-card h1{font-size:25px}.folder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* SLP V6 — diseño SaaS corporativo, una sola superficie oscura y tarjeta ligera */
:root{--navy:#0b1e33;--orange:#f57625;--ink:#162c43;--bg:#f7f9fc;--border:#e7edf4}
body{font-family:Inter,"Segoe UI",Arial,sans-serif;background:#f6f8fc}
.login-shell{position:relative;min-height:100vh;display:block;padding:0;background:
radial-gradient(ellipse 45% 58% at 85% 12%,rgba(55,117,168,.38),transparent 100%),
radial-gradient(ellipse 44% 65% at 10% 85%,rgba(14,114,155,.31),transparent 100%),
radial-gradient(ellipse 28% 45% at 63% 75%,rgba(239,111,40,.11),transparent 100%),
linear-gradient(135deg,#071422 0%,#102b48 53%,#0a192e 100%);overflow:hidden}
.login-shell::before,.login-shell::after{display:none}
.login-shell .ambient{position:absolute;pointer-events:none;filter:blur(1px)}
.ambient-a{width:600px;height:600px;top:-330px;right:-80px;border:1px solid #b2d7ff19;border-radius:50%;box-shadow:0 0 0 80px #ffffff05,0 0 0 160px #ffffff04,0 0 0 240px #ffffff03}
.ambient-b{width:580px;height:580px;bottom:-430px;left:-210px;border:1px solid #d4e9ff24;border-radius:50%;box-shadow:0 0 0 90px #ffffff04,0 0 0 175px #ffffff03}
.ambient-c{height:230px;width:430px;left:42%;top:45%;transform:rotate(-33deg);background:linear-gradient(90deg,transparent,#f5762512,transparent);filter:blur(52px)}
.login-layout{position:relative;z-index:2;width:min(1210px,calc(100% - 96px));min-height:100vh;margin:auto;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(32px,6vw,95px);align-items:center}
.login-intro{height:min(710px,calc(100vh - 112px));min-height:530px;display:flex;flex-direction:column;justify-content:space-between;color:#fff}
.intro-brand{display:flex;align-items:center;gap:24px}
.intro-brand img{height:58px;width:auto;max-width:220px;object-fit:contain}
.intro-brand>span{padding-left:22px;border-left:1px solid #ffffff36;font-size:10px;letter-spacing:2px;color:#c0d0df;font-weight:650;white-space:nowrap}
.intro-pill{display:inline-flex;gap:10px;align-items:center;border:1px solid #ffffff2b;border-radius:100px;background:#ffffff09;padding:9px 14px;letter-spacing:1.6px;font-size:10px;font-weight:750;color:#d5e0eb}
.pulse-dot{height:7px;width:7px;border-radius:100%;background:#f68d47;box-shadow:0 0 0 4px #f5762522}
.intro-copy h1{font-size:clamp(46px,5.35vw,77px);letter-spacing:-3.7px;font-weight:800;line-height:1.07;margin:28px 0 22px}
.intro-copy h1 em{font-style:normal;background:linear-gradient(95deg,#fff2e7,#faaa72 75%,#f97833);background-clip:text;-webkit-background-clip:text;color:transparent}
.intro-copy>p{font-size:17px;line-height:1.75;color:#b5cada;max-width:465px;margin:0 0 34px}
.intro-features{display:flex;gap:12px;flex-wrap:wrap}
.intro-features span{font-size:11px;color:#dce8f3;padding:9px 12px;background:#ffffff0d;border:1px solid #ffffff16;border-radius:8px}
.intro-foot{font-size:10px;letter-spacing:1.9px;color:#94aabd;display:flex;gap:20px}
.intro-foot span{opacity:.7}
.login-form-side{display:flex;justify-content:center}
.login-card{width:100%;max-width:445px;background:rgba(255,255,255,.975);margin:0;padding:36px 37px 32px;border:1px solid #ffffffbf;border-radius:21px;box-shadow:0 30px 100px #0005,0 1px 0 #fff inset;color:#142940;text-align:left}
.login-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:45px}
.card-mark{color:#152b43;font-size:22px;font-weight:900;letter-spacing:-1px}
.card-mark span{color:#f57625}
.secure-tag{font-size:9px;font-weight:800;letter-spacing:1.2px;color:#4e8b80;background:#ebf8f3;padding:8px 11px;border-radius:100px}
.login-card .eyebrow{font-size:9px;letter-spacing:1.75px;color:#ee792e}
.login-card h2{font-size:28px;letter-spacing:-.9px;margin:9px 0 7px;color:#142940}
.login-subtitle{color:#7b899d;font-size:12px;line-height:1.7;margin:0 0 31px}
.login-card form{gap:18px}
.login-card label{font-size:11px;color:#394f67;gap:8px}
.login-card input{background:#f6f8fb;border:1px solid #e1e7ef;border-radius:9px;padding:13px 14px;font-size:12px;box-shadow:0 1px 1px #00000003}
.login-card input:focus{outline:2px solid #f5762529;background:white}
.login-card .primary{margin-top:7px;width:100%;height:46px;border-radius:9px;display:flex;justify-content:center;align-items:center;gap:17px;font-weight:750;background:linear-gradient(110deg,#f47b2c,#ed6319);box-shadow:0 8px 20px #ed75252b}
.login-card .primary span{font-size:17px}
.login-assistance{margin-top:30px;padding-top:19px;border-top:1px solid #e8edf3;display:flex;gap:9px;align-items:flex-start;font-size:10px;line-height:1.7;color:#8a97a7}
.lock-symbol{font-size:17px;color:#f57625}
.sidebar{width:218px;min-width:218px;padding:22px 12px;background:#0e2139;border-right:1px solid #ffffff0c}
.side-brand{padding:0 14px 26px;border-bottom:1px solid #ffffff13;margin-bottom:20px;gap:2px}
.side-brand img{max-width:164px;height:auto;margin-bottom:5px}
.side-brand span{font-size:8px;color:#b3c5d8;letter-spacing:1.2px}
.side-label{font-size:9px;letter-spacing:1.8px;color:#7f95ac;padding:12px 13px}
.sidebar nav{gap:5px}
.nav{border-radius:9px;font-size:12px;font-weight:600;padding:12px 14px;color:#a6b8cd;transition:background .15s,color .15s}
.nav.active{color:#fff;background:linear-gradient(100deg,#294562,#223b57);box-shadow:inset 3px 0 #f57625}
.nav:hover{background:#223a56;color:white}
.content{background:#f7f9fc;padding:29px clamp(20px,3.1vw,48px);max-width:calc(100vw - 218px)}
.topbar{border-bottom:1px solid #e7edf3;padding-bottom:22px;margin-bottom:23px}
.topbar h2{font-size:26px;margin:7px 0 4px;font-weight:800;letter-spacing:-.8px}
.topbar .eyebrow{font-size:9px;color:#f17528;letter-spacing:1.8px}
.role-chip{background:#fff;border:1px solid #e8edf3;color:#4f647a;box-shadow:0 2px 6px #10233d07;border-radius:9px;font-size:11px}
.stats{gap:13px;margin-bottom:26px}
.stat{padding:19px 19px 17px;border:1px solid #e7edf2;border-top:1px solid #e7edf2;border-radius:13px;box-shadow:0 5px 22px #142b4307;position:relative;overflow:hidden}
.stat::before{content:'';position:absolute;right:18px;top:18px;width:8px;height:8px;border-radius:50%;background:#f6a46d;box-shadow:0 0 0 6px #f68a3320}
.stat small{font-size:11px;font-weight:600;color:#71829a}
.stat strong{margin-top:14px;font-size:27px;font-weight:800;letter-spacing:-.7px}
.folder-head{margin:4px 0 12px}
.folder-head h3{font-size:18px;font-weight:800;letter-spacing:-.3px}
.folder-head p{font-size:11px}
.folder-tile{background:white;border:1px solid #e8edf3;border-radius:11px;box-shadow:0 3px 15px #1b2f4806;padding:13px}
.folder-tile.active{border-color:#f7a26c;background:#fff9f5}
.folder-grid{gap:11px;margin-bottom:23px;grid-template-columns:repeat(auto-fill,minmax(145px,1fr))}
.panel{border:1px solid #e7edf3;padding:21px 23px;border-radius:13px;box-shadow:0 6px 25px #1b2f4806}
.panel h3{font-size:17px;font-weight:800}
.panel p{font-size:11px}
.filters input,.filters select{background:#f9fbfd;border-color:#e6ebf2;font-size:11px}
.primary{background:linear-gradient(110deg,#f58032,#ef6a1d);border-radius:8px;color:white}
.table-wrap th{background:#f9fbfd;color:#8b9aab;letter-spacing:1px;font-size:9px}
.table-wrap tr:hover td{background:#f9fbfd}
@media(max-width:960px){.login-layout{width:min(920px,calc(100% - 55px));gap:28px;grid-template-columns:1fr 1fr}.intro-copy h1{font-size:45px;letter-spacing:-2px}.login-card{padding:27px}.intro-brand>span{display:none}}
@media(max-width:700px){.login-layout{display:flex;flex-direction:column;justify-content:center;gap:25px;padding:28px 0;width:calc(100% - 36px)}.login-intro{height:auto;min-height:0;width:100%;gap:20px}.intro-brand img{height:48px}.intro-copy h1{font-size:34px;letter-spacing:-1.4px;margin:14px 0 9px}.intro-copy>p{font-size:12px;margin-bottom:11px;line-height:1.6}.intro-pill,.intro-features,.intro-foot{display:none}.login-form-side{width:100%}.login-card{max-width:470px;padding:24px}.login-card-top{margin-bottom:20px}.login-card h2{font-size:23px}.login-subtitle{margin-bottom:19px}.sidebar{width:100%;min-width:0}.content{max-width:none}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* V7 · Premium workspace: presentation only, no changes to database logic */
.login-card{padding-top:39px}.login-card .eyebrow{margin-top:0}.login-card h2{margin-top:10px}
.app-shell{background:#f3f6fa;font-family:Inter,"Segoe UI",Arial,sans-serif}
.sidebar{background:linear-gradient(180deg,#081b30 0%,#112a46 75%,#0a1d34 100%);border-right:1px solid #28405b;width:232px;min-width:232px;padding:26px 14px 17px;box-shadow:8px 0 32px #071a2e08}
.side-brand{padding:3px 11px 24px;position:relative;border-bottom:1px solid #ffffff17;margin-bottom:19px}
.side-brand img{max-width:176px;max-height:77px;object-fit:contain;object-position:left center;margin-bottom:9px}
.side-brand span{color:#829ebc;font-size:9px;letter-spacing:1.5px}
.side-label{padding:8px 12px 12px;font-weight:750;letter-spacing:1.7px;color:#7190b0;font-size:9px}
.sidebar nav{gap:5px}.nav{display:flex;align-items:center;text-align:left;min-height:43px;border-radius:9px;padding:11px 15px;letter-spacing:.1px;color:#a9bfd5;font-size:12px;font-weight:650}
.nav.active{background:linear-gradient(90deg,#1d3e5c,#254565);border-left:3px solid #ff8134;padding-left:12px;color:white;box-shadow:0 8px 22px #04172a25}
.nav:hover{background:#24425f}.side-bottom{gap:8px;padding:16px 5px 0;border-top:1px solid #ffffff19}.company-name{font-weight:650;letter-spacing:.1px}.outline-light{font-size:11px;border-color:#45617e;border-radius:8px;padding:11px 12px;background:#ffffff05}
.content{padding:25px clamp(24px,3.4vw,52px) 44px;background:#f4f7fb;max-width:calc(100vw - 232px)}
.topbar{padding:0 0 21px;margin-bottom:24px;border-bottom:1px solid #e1e8f0;align-items:center}.topbar h2{font-size:25px;color:#152c45;font-weight:850;letter-spacing:-.9px;margin:6px 0 3px}.topbar #welcome{font-size:11px;color:#899aae}
.topbar .eyebrow{color:#f16f26;letter-spacing:1.7px;font-size:9px}.crumb-sep{color:#a8b7c7;margin:0 8px}.role-chip{background:#fff;border:1px solid #e2e9f1;border-radius:10px;padding:10px 14px;font-size:11px;color:#244260;box-shadow:0 4px 16px #15324c0a}
.workspace-banner{position:relative;overflow:hidden;min-height:188px;background:radial-gradient(ellipse 55% 125% at 98% 25%,#244e75 0%,transparent 100%),linear-gradient(114deg,#0e2743,#173957 70%,#163956);color:white;border:1px solid #36536e;border-radius:17px;margin-bottom:17px;display:flex;justify-content:space-between;box-shadow:0 14px 28px #0e2b4719}
.workspace-banner::before{content:'';position:absolute;width:350px;height:350px;border:1px solid #ffffff1b;border-radius:50%;right:0;top:-170px;box-shadow:0 0 0 53px #ffffff07,0 0 0 110px #ffffff04}
.banner-copy{position:relative;z-index:1;padding:30px 36px;max-width:760px}.banner-kicker{font-size:9px;color:#d1e2f2;letter-spacing:1.9px;font-weight:800;display:flex;align-items:center;gap:9px}.banner-dot{height:7px;width:7px;border-radius:50%;background:#ff8a39;box-shadow:0 0 0 4px #ff8a3926}.banner-copy h3{font-size:clamp(20px,2.15vw,31px);font-weight:850;letter-spacing:-.9px;margin:15px 0 10px}.banner-copy h3 span{color:#ffad76}.banner-copy p{font-size:12px;line-height:1.7;color:#bdd0e1;max-width:520px;margin:0}
.banner-art{position:relative;min-width:255px;align-self:stretch;margin-right:38px}.art-ring{position:absolute;right:20px;top:30px;width:150px;height:150px;border:1px solid #a7d5ff33;border-radius:50%;box-shadow:0 0 0 27px #ffffff09,0 0 0 53px #ffffff05}.art-document{position:absolute;width:95px;height:117px;border-radius:13px;box-shadow:0 11px 25px #00152836;padding:22px 15px}.art-document span{display:block;height:5px;margin:10px 0;border-radius:8px;background:#c1d4e7}.art-document span:nth-child(3){width:63%}.art-back{right:70px;top:29px;transform:rotate(-13deg);background:#dae8f4;opacity:.8}.art-front{right:26px;top:50px;transform:rotate(8deg);background:#fff}.doc-symbol{color:#f57827;font-size:25px;height:24px;line-height:23px}.art-check{position:absolute;right:9px;top:135px;width:31px;height:31px;background:#f7792b;border:3px solid #fff;color:white;border-radius:50%;text-align:center;line-height:25px;font-weight:900;box-shadow:0 5px 20px #0003}
.stats{gap:15px;margin:0 0 26px}.stat{border:1px solid #e2eaf2!important;border-radius:13px!important;padding:19px 23px 20px!important;background:white;box-shadow:0 5px 18px #112e4809;min-height:111px}.stat::before{width:30px;height:30px;right:19px;top:17px;background:#fff2e9;border-radius:9px;box-shadow:none}.stat::after{content:'↗';position:absolute;right:27px;top:22px;font-size:17px;color:#f27830;font-weight:700}.stat small{font-size:11px;color:#70839c;font-weight:700}.stat strong{font-size:29px;letter-spacing:-1px;margin-top:18px;color:#122c48}
.folder-head{margin:0 0 12px;display:flex;align-items:end;justify-content:space-between}.folder-head .eyebrow,.section-kicker{display:block;font-size:9px!important;color:#ef742f;font-weight:850;letter-spacing:1.7px}.folder-head h3{font-size:19px;font-weight:830;letter-spacing:-.45px;margin:7px 0 5px;color:#172d45}.folder-head p{color:#8b9aac;font-size:11px}
.folder-grid{gap:11px;margin:0 0 24px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.folder-tile{padding:18px 16px;border:1px solid #e2eaf2;border-radius:12px;background:#fff;gap:8px;box-shadow:0 4px 18px #142e4608;transition:all .15s ease}.folder-tile:hover{transform:translateY(-2px);box-shadow:0 12px 23px #142e4612}.folder-tile.selected,.folder-tile.active{background:#fff9f5;border-color:#f58a46}.folder-icon{font-size:22px;color:#f47724}.folder-text{font-size:12px;color:#223b56;font-weight:800}.folder-tile small{font-size:10px;color:#8d9caf}
.panel{border:1px solid #e2eaf2;border-radius:14px;padding:24px 26px;background:#fff;box-shadow:0 7px 27px #0f2b4610}.document-panel{position:relative;overflow:hidden}.document-panel::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#f16b1e,#ffc49b 42%,transparent 75%)}.panel-title{align-items:center}.panel-title h3{font-size:18px;font-weight:850;letter-spacing:-.5px;color:#152c45;margin:6px 0 5px}.panel-title p{color:#8999ab;font-size:11px;margin:0}.panel .primary,.primary{color:#fff;border-radius:9px;padding:12px 16px;background:linear-gradient(110deg,#f58537,#ed681e);box-shadow:0 5px 15px #ef792226;font-size:11px}
.filters{display:grid;grid-template-columns:minmax(200px,2.8fr) repeat(4,minmax(110px,1fr));gap:10px;margin:23px 0 18px;padding:15px;background:#f7f9fc;border:1px solid #edf1f6;border-radius:10px}.filters input,.filters select{width:100%;min-width:0;border-radius:8px;border:1px solid #e3eaf1;background:white;color:#3d5670;min-height:40px;font-size:11px;padding:10px 11px}.filters input{font-weight:500}.table-wrap{border:1px solid #edf1f6;border-radius:9px;overflow:auto}.table-wrap table{min-width:720px}.table-wrap th{background:#f7f9fc;border-bottom:1px solid #eaf0f5;color:#8393a7;font-size:9px;letter-spacing:1px;padding:14px}.table-wrap td{padding:15px 14px}.empty{border:1px dashed #e2eaf2;border-radius:8px;margin-top:14px;background:#fbfcfe;color:#8b9aac}
#clientsSection .panel,#usersSection .panel,#activitySection .panel{max-width:1250px}.notice{border-left-color:#f47b2b}
@media(max-width:1050px){.banner-art{min-width:160px;margin-right:10px}.filters{grid-template-columns:repeat(3,minmax(0,1fr))}.filters input{grid-column:1/-1}.content{padding:22px}.sidebar{width:205px;min-width:205px}.content{max-width:calc(100vw - 205px)}}
@media(max-width:700px){.sidebar{width:100%;min-width:0;padding:12px}.content{max-width:100vw;padding:18px 13px}.workspace-banner{min-height:155px}.banner-copy{padding:24px}.banner-copy h3{font-size:21px}.banner-art{display:none}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.stat{min-height:95px;padding:15px!important}.stat strong{font-size:24px}.folder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{padding:18px 14px}.filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px}.filters input{grid-column:1/-1}.topbar h2{font-size:23px}}

/* V9 — enfoque en carpeta mensual, identidad de empresa y navegación estable */
@media(min-width:701px){.app-shell{align-items:flex-start}.sidebar{position:sticky;top:0;height:100vh;max-height:100vh;overflow-y:auto;flex-shrink:0;scrollbar-width:thin;scrollbar-color:#36516b transparent}.side-bottom{margin-top:auto;padding-bottom:8px}.content{min-height:100vh}}
#documentsSection{display:flex;flex-direction:column}
#documentsSection .workspace-banner{order:0;min-height:150px;margin-bottom:18px}
#documentsSection .folder-head{order:1;margin:0 0 10px}
#documentsSection .folder-grid{order:2;margin-bottom:15px;grid-template-columns:repeat(auto-fill,minmax(145px,1fr))}
#documentsSection #documentPanel{order:3;margin-bottom:16px}
#documentsSection #stats{order:4;margin:3px 0 0}
.workspace-banner .banner-copy{padding:25px 32px;max-width:calc(100% - 170px)}
.workspace-banner .banner-copy h3.company-banner-name{font-size:clamp(23px,2.3vw,35px);line-height:1.16;letter-spacing:-.65px;overflow-wrap:anywhere;max-width:850px;margin:12px 0}
.workspace-banner .banner-copy p{font-size:12px;line-height:1.5}
#folderGrid .folder-tile{min-height:88px;padding:14px 15px;gap:5px}
#folderGrid .folder-icon{font-size:18px}
#documentPanel .panel-title{margin-bottom:15px}
#documentPanel .filters{margin-bottom:14px}
.table-wrap{overflow-x:auto}
#documentPanel table{min-width:820px}
#documentPanel thead th{white-space:nowrap;font-size:10px}
#documentPanel tbody td{font-size:11px;vertical-align:middle}
@media(max-width:700px){.sidebar{position:relative;height:auto;max-height:none}.workspace-banner .banner-copy{max-width:none;padding:20px}.workspace-banner .banner-copy h3.company-banner-name{font-size:22px}.content{padding-top:15px}#documentsSection .folder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
