:root{--ink:#172c29;--muted:#63736d;--green:#14684f;--line:#dce4dc;--cream:#f4f6ef;--amber:#7d530c}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}header{display:flex;align-items:center;justify-content:space-between;padding:22px 5%;border-bottom:1px solid var(--line);background:#fff}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}.brand{display:flex;align-items:center;gap:12px;font-size:23px;font-weight:750;color:var(--ink)}.brand-icon{display:grid;place-items:center;width:38px;height:38px;background:var(--green);border-radius:10px;color:white}.brand small{font-size:10px;letter-spacing:1.5px;border-left:1px solid var(--line);padding-left:16px;margin-left:6px}nav{display:flex;align-items:center;gap:20px;font-size:13px}main{max-width:1250px;margin:auto;padding:48px 30px 70px}.eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:700;color:var(--green);margin:0 0 14px}h1{font-size:42px;letter-spacing:-1.6px;line-height:1.17;margin:0 0 18px;font-weight:650}h1 span{color:var(--muted)}h2{font-size:22px;letter-spacing:-.6px;margin:0 0 12px}p{color:var(--muted);margin:0 0 24px}.intro{max-width:640px;margin-bottom:35px}.grid{display:grid;grid-template-columns:1.6fr 1fr;gap:24px}.card{border:1px solid var(--line);background:white;border-radius:16px;padding:30px}.info{background:#e8efe3}.info h2{font-size:29px;line-height:1.2}.info li{padding:5px 0}.note{margin-top:20px;padding-top:18px;border-top:1px solid #cbd9c5;font-size:13px}.history{margin-top:30px}label{display:block;font-size:13px;font-weight:650;margin:16px 0 7px}input,select{width:100%;padding:12px;border:1px solid #becdc1;border-radius:7px;background:white;color:var(--ink);font:inherit}input:focus,select:focus{outline:2px solid #6f9c81;outline-offset:2px}.drop{padding:18px;background:#f7f9f5;border:1px dashed #a6b8a9;border-radius:9px;margin:20px 0}.drop input{border:0;background:transparent;padding:10px 0;font-size:13px}.drop small{font-weight:400;color:var(--muted)}button{cursor:pointer;border:0;font:inherit}.primary{background:var(--green);color:#fff;padding:13px 24px;border-radius:8px;font-weight:600}.primary:hover{background:#0a4e39}.primary:disabled{opacity:.5;cursor:not-allowed}.quiet{background:transparent;color:var(--muted)}.pill{font-size:11px;background:#edf1e6;color:#49603f;padding:5px 10px;border-radius:20px;white-space:nowrap}.section-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.section-title span{font-size:13px;color:var(--muted)}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;font-size:11px;color:var(--muted);font-weight:600;padding:13px 12px;border-bottom:1px solid var(--line)}td{padding:16px 12px;border-bottom:1px solid #edf0e9;vertical-align:top}td small{display:block;color:var(--muted);margin-top:4px}.empty{text-align:center;padding:35px;color:var(--muted)}.notice,.alert{border-radius:10px;padding:18px 24px;margin:0 0 26px;font-size:13px}.notice{background:#fff5dc;border:1px solid #e6d6a8;color:var(--amber)}.alert{background:#fff0ef;border:1px solid #e8c3bd;color:#912f23}.login{max-width:450px;margin:45px auto;background:#fff;padding:35px;border:1px solid var(--line);border-radius:16px}.login h1{font-size:34px}.login button{width:100%;margin:25px 0 20px}.login small{font-size:12px;color:var(--muted)}footer{text-align:center;color:var(--muted);font-size:11px;padding:25px;border-top:1px solid var(--line)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:25px 0}.stats>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px}.stats span{display:block;font-size:12px;color:var(--muted)}.stats strong{font-size:23px}.entry{background:#fff;border:1px solid var(--line);border-radius:10px;margin-bottom:12px}.entry summary{display:flex;gap:20px;align-items:center;cursor:pointer;padding:18px;font-size:13px}.entry summary::before{content:'+';font-size:20px;color:var(--green)}.entry[open] summary::before{content:'−'}.entry summary strong{margin-right:auto}.line-alert{color:var(--amber);font-size:13px}.money{white-space:nowrap;text-align:right}.warning{color:var(--amber)}.pagination{display:flex;justify-content:center;gap:25px;padding-top:24px;font-size:13px}.file-title{font-size:32px;overflow-wrap:anywhere}.back{display:block;margin-bottom:25px;font-size:13px}@media(max-width:800px){main{padding:28px 16px}.grid{grid-template-columns:1fr}h1{font-size:32px}.stats{grid-template-columns:1fr 1fr}.stats strong{font-size:19px}header{padding:15px}.brand small,nav>span:not(.pill){display:none}nav{gap:10px}.card{padding:22px}.entry summary{flex-wrap:wrap;gap:10px}.login{margin:10px auto}}

/* CORPORATIVO ASIENTOS */
:root{
 --ink:#080d20;--muted:#667a99;--green:#e82127;
 --line:#e7edf5;--cream:#f7f9fc;--amber:#895c12
}
body{background:var(--cream);color:var(--ink)}
a{color:#d91d24}
.eyebrow{color:#ed2027;letter-spacing:3px;font-size:11px}
h1,h2{font-weight:750;letter-spacing:-1.2px}
.card{border-color:#edf1f6;border-radius:24px;box-shadow:0 2px 3px #15274605}
.primary{
 background:#e82127;border-radius:12px;
 box-shadow:0 12px 22px #e8212725;letter-spacing:.5px
}
.primary:hover{background:#cb161d}
input,select{border-color:#cad5e6;border-radius:12px;min-height:50px}
input:focus,select:focus{outline-color:#233e8a}
.pill{background:#f6f8fc;border:1px solid #e1e8f2;color:#53647e}
.notice{border-radius:16px}
.alert{border-radius:16px}
.sidebar{
 position:fixed;inset:0 auto 0 0;width:260px;background:white;
 border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:10
}
.sidebar .brand{padding:25px 24px;border-bottom:1px solid var(--line);font-size:20px}
.brand-icon{background:#e82127;border-radius:15px;box-shadow:0 8px 15px #e8212728;width:44px;height:44px;font-size:16px}
.sidebar .brand small{display:block;border:0;padding:0;margin:0;color:#e82127;letter-spacing:3px;font-size:10px}
.side-nav{display:flex;flex-direction:column;align-items:stretch;gap:9px;padding:24px 16px}
.side-nav a{padding:13px 17px;color:#4d607d;font-size:14px;font-weight:600;border-radius:16px}
.side-nav a:hover{background:#f4f6fb;text-decoration:none}
.side-nav a.active{background:#e82127;color:#fff;box-shadow:0 8px 15px #e8212717}
.profile{margin:auto 16px 18px;padding:17px 13px;border-radius:16px;background:#f7f9fc;font-size:12px}
.profile small{display:block;color:var(--muted);overflow-wrap:anywhere;margin-top:4px}
.topbar{margin-left:260px;padding:20px 32px;background:#fff;min-height:86px}
.topbar .eyebrow{margin-bottom:1px;font-size:10px}
.topbar strong{font-size:22px}
.topbar nav{font-size:12px}
.quiet{background:#080d20;color:#fff;border-radius:12px;padding:10px 17px}
.portal main{margin-left:260px;max-width:none;padding:32px}
.portal footer{margin-left:260px}
.portal main>h1:not(.file-title){
 background:linear-gradient(115deg,#070d1e 0%,#172036 42%,#b91c24 100%);
 color:white;border-radius:28px;padding:35px 32px 20px;margin-bottom:0;
 font-size:40px;line-height:1.18
}
.portal main>h1:not(.file-title) span{color:white}
.portal main>.intro{
 background:linear-gradient(115deg,#070d1e 0%,#172036 42%,#b91c24 100%);
 color:#e4e7ef;max-width:none;margin-top:-1px;padding:0 32px 30px;
 border-radius:0 0 28px 28px;margin-bottom:28px
}
.portal main>h1:not(.file-title){border-bottom-left-radius:0;border-bottom-right-radius:0}
.info{background:#fff}
.info h2{font-size:28px}
.note{border-color:var(--line);color:var(--muted)}
.drop{background:#f8faff;border-color:#c4d0e1;border-radius:15px}
.stats>div{border-radius:22px;border-color:#edf1f6;padding:24px;background:#fff}
.stats strong{font-size:27px}
.entry{border-radius:18px;border-color:#e7edf5}
.entry summary::before{color:#e82127}
th{background:#f8faff;color:#637797}
.access{
 min-height:100vh;
 background:radial-gradient(ellipse at top left,#fff0f1,transparent 40%),linear-gradient(130deg,#fff,#edf2f8)
}
.access main{max-width:1210px;padding:46px 28px;margin:auto}
.login-shell{
 display:grid;grid-template-columns:1fr 1fr;min-height:620px;
 border-radius:26px;overflow:hidden;background:#fff;
 box-shadow:0 24px 50px #24365a12
}
.login-brand{
 padding:48px;display:flex;flex-direction:column;
 background:radial-gradient(ellipse at bottom left,#47349a,transparent 70%),
 linear-gradient(135deg,#0e172b,#203b98 48%,#701b24);
 color:#fff
}
.corporate-logo{
 background:white;color:#e82127;border-radius:16px;padding:18px 25px;
 width:205px;font-size:24px;font-weight:800;letter-spacing:2px;text-align:center
}
.corporate-logo span{display:block;color:#4c5870;font-size:10px;letter-spacing:4px}
.login-message{margin-top:auto;padding-top:95px}
.login-message .eyebrow{color:#f5e4ed;letter-spacing:4px;font-size:12px}
.login-message h1{font-size:44px;line-height:1.25;margin:32px 0}
.login-message p{color:#e3dded;font-size:19px;line-height:1.9;margin-bottom:14px}
.login-form{padding:62px;display:flex;flex-direction:column;justify-content:center}
.login-form h2{font-size:34px;line-height:1.2;margin:4px 0 20px}
.login-form p{font-size:15px;line-height:1.9}
.login-form label{color:#35445e;margin-top:24px}
.login-form .primary{width:100%;margin:30px 0 22px;letter-spacing:4px;min-height:52px;font-size:13px;font-weight:750}
.login-form small{color:var(--muted);font-size:12px;line-height:1.7}
#nueva-importacion,#historial{scroll-margin-top:25px}
@media(max-width:1100px){
 .sidebar{width:220px}.topbar,.portal footer{margin-left:220px}
 .portal main{margin-left:220px;padding:24px}
 .grid{grid-template-columns:1fr}.login-form{padding:38px}
 .login-brand{padding:35px}.login-message h1{font-size:36px}
}
@media(max-width:760px){
 .sidebar{position:static;width:100%;border-right:0}
 .sidebar .brand{padding:16px 20px}
 .side-nav{flex-direction:row;flex-wrap:wrap;padding:12px;gap:4px}
 .side-nav a{padding:10px;font-size:12px}.profile{display:none}
 .topbar,.portal footer{margin-left:0}
 .topbar{padding:16px;gap:10px}.topbar strong{font-size:18px}
 .topbar nav>span{display:none}
 .portal main{margin:0;padding:20px 14px}
 .portal main>h1:not(.file-title){font-size:29px;padding:26px 23px 16px}
 .portal main>.intro{padding:0 23px 25px}
 .access main{padding:22px 14px}
 .login-shell{grid-template-columns:1fr;min-height:0}
 .login-brand{padding:30px}
 .login-message{padding-top:30px}
 .login-message h1{font-size:30px;margin:18px 0}
 .login-message p{font-size:15px}
 .login-form{padding:32px 26px}
 .login-form h2{font-size:28px}
 .stats strong{font-size:20px}
}

/* REVISION Y PAGINACION */
.review-summary{
 display:flex;align-items:center;justify-content:space-between;gap:20px;
 padding:22px 25px;margin:24px 0;background:#fff5e4;
 border:1px solid #efd6a7;border-radius:20px
}
.review-summary strong{font-size:20px;color:#794b06}
.review-summary p{margin:6px 0 0;font-size:13px;color:#795b30}
.review-button{
 display:inline-flex;align-items:center;justify-content:center;
 min-height:46px;padding:10px 18px;background:#e82127;
 color:#fff;border-radius:12px;font-weight:650;text-align:center
}
.review-pagination{
 display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
 gap:16px;background:white;border:1px solid #e2e8f2;
 border-radius:18px;padding:18px;margin:22px 0
}
.page-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:9px}
.page-button{
 display:inline-flex;align-items:center;justify-content:center;
 min-width:46px;min-height:46px;padding:10px 16px;
 border:1px solid #ced8e8;border-radius:11px;
 background:#fff;color:#17243d;font-size:14px;font-weight:600
}
a.page-button:hover,button.page-button:hover{background:#fff0f0;border-color:#e82127;text-decoration:none}
.page-button.disabled{color:#718096;background:#f2f4f8;border-color:#e7ebf1}
.page-position{padding:10px;font-size:14px}
.page-jump{display:flex;align-items:center;gap:10px;margin:0}
.page-jump label{margin:0;font-size:13px}
.page-jump input{width:85px;min-height:46px;padding:10px}
.page-jump button{background:#e82127;color:white;border-color:#e82127}
.review-pagination :focus-visible,.review-button:focus-visible,
.entry summary:focus-visible{outline:3px solid #233e8a;outline-offset:3px}
.entry[open]{border-color:#d7bf91}
#revision{scroll-margin-top:20px}
@media(max-width:760px){
 .review-summary{align-items:flex-start;flex-direction:column}
 .review-pagination{padding:14px}
 .page-buttons{justify-content:center;width:100%}
 .page-position{order:-1;width:100%;text-align:center}
 .page-jump{justify-content:center;width:100%}
}

/* GESTION DE USUARIOS */
.user-create{margin-bottom:25px}
.user-item{margin:15px 0;padding:22px}
.user-item summary,.user-create summary{cursor:pointer;display:flex;flex-wrap:wrap;align-items:center;gap:15px}
.user-item summary>span:not(.pill){color:var(--muted);font-size:13px}
.user-form{margin-top:22px}
.user-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.company-options{border:1px solid #e1e7ef;border-radius:14px;padding:18px;margin:22px 0}
.company-options legend{font-size:13px;padding:0 8px}
.company-options label{display:inline-flex;align-items:center;gap:8px;margin:8px 22px 8px 0}
.company-options input{width:18px;height:18px;min-height:18px;accent-color:#e82127}
.password-card{max-width:620px}
.password-card p{margin-top:20px;font-size:13px}
.user-item summary:focus-visible,.user-create summary:focus-visible{outline:3px solid #233e8a;outline-offset:5px}
@media(max-width:760px){.user-grid{grid-template-columns:1fr}}
