:root{--navy:#17324d;--blue:#2563eb;--ink:#172b4d;--muted:#64748b;--bg:#f4f6f8;--line:#e3e8ef;--green:#15803d;--amber:#b45309;--red:#b91c1c;--radius:12px}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);font-size:14px}[hidden]{display:none!important}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #ccd6e3;border-radius:7px;padding:10px 15px;background:white;color:var(--ink);font-weight:600}button:hover{background:#f1f5f9}button:disabled{opacity:.5;cursor:default}button.primary{color:white;background:var(--blue);border-color:var(--blue)}button.primary:hover{background:#1d4ed8}button.danger{color:var(--red);border-color:#fecaca}input,select,textarea{border:1px solid #cbd5e1;border-radius:7px;background:white;padding:10px 11px;color:var(--ink);min-height:41px;width:100%}input:focus,select:focus,textarea:focus,button:focus-visible{outline:3px solid #93c5fd;outline-offset:2px}label{display:block;font-size:12px;font-weight:650;line-height:1.5}label input,label select,label textarea{display:block;margin-top:5px}h1,h2,h3,p{margin-top:0}h1{font-size:29px;letter-spacing:-1px;margin-bottom:8px}h2{font-size:23px;letter-spacing:-.5px}h3{font-size:16px}.muted{color:var(--muted)}small{font-size:12px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;margin-bottom:20px}.login-layout{display:grid;grid-template-columns:1.05fr 1fr;min-height:100vh}.login-brand{background:var(--navy);color:white;padding:70px clamp(30px,6vw,100px);display:flex;flex-direction:column;justify-content:center}.brandmark{width:58px;height:58px;border:1px solid #7894b1;border-radius:14px;font-size:33px;display:flex;align-items:center;justify-content:center;margin-bottom:35px}.brandmark span{font-size:19px;margin-left:2px;color:#8fb7fc}.login-brand h1{font-size:clamp(34px,4vw,52px);line-height:1.12;margin-bottom:24px}.login-brand>p:not(.eyebrow){color:#b9cce0;max-width:410px;line-height:1.7;margin-bottom:38px}.login-feature{display:flex;gap:18px;margin-bottom:23px}.login-feature>span{font-size:12px;color:#a8c6f1;border:1px solid #426080;width:33px;height:33px;border-radius:8px;display:grid;place-items:center;flex-shrink:0}.login-feature p{font-size:13px;color:#b9cce0;margin:7px 0 0;line-height:1.5}.login-brand>small{margin-top:30px;color:#b9cce0}.login-form{background:white;display:flex;align-items:center;justify-content:center;padding:50px 30px}.login-box{max-width:360px;width:100%}.login-box .eyebrow{color:var(--blue)}.login-box label{margin:22px 0}.full{width:100%}.primary span{float:right}.error-text{color:var(--red);white-space:pre-wrap;line-height:1.5;margin-top:15px}.sidebar{position:fixed;inset:0 auto 0 0;width:240px;background:var(--navy);color:#e5eef8;padding:30px 18px;display:flex;flex-direction:column;z-index:5}.logo{display:flex;gap:12px;align-items:center;margin:0 12px 40px}.logo strong{font-size:13px;letter-spacing:1px}.logo small{display:block;color:#a7bbd2;margin-top:5px;font-size:11px}.square{border:1px solid #6e88a5;border-radius:9px;width:36px;height:36px;display:grid;place-items:center;font-size:24px}.nav-caption{font-size:10px;color:#8ca5c0;letter-spacing:1.7px;padding:0 13px;margin-bottom:15px}.sidebar nav{display:flex;flex-direction:column;gap:5px}.nav-item{background:transparent;border:0;text-align:left;color:#b8cbdf;font-weight:500;padding:12px 14px;display:flex;align-items:center;gap:12px}.nav-item:hover{background:#234661;color:white}.nav-item.active{background:#315479;color:white}.nav-icon{width:21px;text-align:center;opacity:.9}.sidebar-foot{margin-top:auto;padding:30px 14px 0;color:#b6cadd;font-size:11px}.sidebar-foot small{display:block;margin-top:10px;color:#8ca5c0}.status-dot{display:inline-block;background:#6bdfa0;width:6px;height:6px;border-radius:50%;margin-right:6px}.workspace{margin-left:240px}.topbar{height:89px;border-bottom:1px solid var(--line);background:white;display:flex;align-items:center;justify-content:space-between;padding:18px 38px;gap:20px}.context{display:flex;gap:22px}.context label{color:var(--muted);font-size:10px;letter-spacing:.4px}.context select{min-height:30px;padding:3px 26px 3px 0;margin:3px 0 0;border:none;font-size:13px;font-weight:650;width:auto;max-width:320px}.user-area{display:flex;align-items:center;gap:18px;font-size:11px}.text-button{border:0;color:var(--muted);padding:8px;background:transparent}.icon-button{display:none}main{padding:36px 38px;max-width:1600px;margin:auto;min-height:calc(100vh - 145px)}footer{padding:18px 38px;border-top:1px solid var(--line);color:var(--muted);font-size:10px;display:flex;justify-content:space-between}.page-title{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:27px}.page-title p{color:var(--muted);line-height:1.6;margin-bottom:0}.page-title .eyebrow{color:var(--muted);margin-bottom:10px;letter-spacing:1.5px}.actions{display:flex;gap:8px;flex-wrap:wrap}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:23px;margin-bottom:20px;box-shadow:0 2px 3px #17324d03}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:26px}.stat{margin-bottom:0;padding:22px}.stat small{color:var(--muted)}.stat strong{display:block;font-size:29px;margin:15px 0 9px;letter-spacing:-1px;font-weight:650}.stat .mini{font-size:11px;color:var(--green)}.grid-two{display:grid;grid-template-columns:1.5fr 1fr;gap:20px}.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.card-head h3{margin:0}.tag{display:inline-block;padding:4px 8px;border-radius:5px;font-size:10px;font-weight:700;white-space:nowrap}.tag.green{background:#eaf7ef;color:var(--green)}.tag.red{background:#fff0f0;color:var(--red)}.tag.amber{background:#fff5e6;color:var(--amber)}.tag.blue{background:#eaf2ff;color:#0369a1}.tag.gray{background:#f1f5f9;color:#64748b}.table-wrap{overflow:auto;margin:0 -5px}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px;white-space:nowrap}th{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);padding:12px;background:#f8fafc;border-bottom:1px solid var(--line)}td{padding:13px 12px;border-bottom:1px solid #eef2f6}tr:last-child td{border-bottom:none}td.wrap{white-space:normal;min-width:180px;max-width:400px}.num{text-align:right;font-variant-numeric:tabular-nums}.table-action{border:0;background:transparent;color:var(--blue);padding:5px 7px;font-size:11px}.empty{padding:42px 20px;text-align:center;color:var(--muted)}.empty strong{display:block;color:var(--ink);font-size:17px;margin-bottom:10px}.step{display:flex;gap:14px;padding:15px 0;border-bottom:1px solid var(--line)}.step:last-child{border-bottom:0}.step .step-no{background:#eff4fa;color:#416386;width:29px;height:29px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.step p{margin:6px 0 0;font-size:12px;color:var(--muted);line-height:1.5}.notice{margin:20px 38px 0;padding:13px 18px;border-radius:8px;background:#eaf2ff;color:#0369a1;line-height:1.5}.notice.error{background:#fff0f0;color:var(--red)}.notice.success{background:#eaf7ef;color:var(--green)}.notice button{float:right;border:0;background:transparent;padding:0;color:inherit}.hint{padding:12px 15px;border:1px solid #f4d19b;border-radius:8px;background:#fffbf2;color:#855516;font-size:12px;line-height:1.6;margin-bottom:20px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:17px}.span-two{grid-column:1/-1}.check{display:flex;align-items:center;gap:8px}.check input{width:16px;min-height:16px;margin:0}.journal-top{display:grid;grid-template-columns:180px 1fr;gap:20px}.journal-table td{padding:8px 5px;vertical-align:top}.journal-table input,.journal-table select{font-size:12px}.journal-table .account{min-width:240px}.journal-table .amount{min-width:120px}.journal-table .party{min-width:180px}.journal-table .description{min-width:180px}.journal-table .doc{min-width:130px}.totals{display:flex;justify-content:flex-end;gap:35px;padding:20px 10px 0;border-top:1px solid var(--line);margin-top:12px}.totals label{font-weight:500;color:var(--muted)}.totals strong{display:block;font-size:19px;margin-top:5px}.totals .difference{color:var(--green)}.totals .difference.bad{color:var(--red)}.filters{display:flex;gap:15px;align-items:flex-end;margin-bottom:23px;flex-wrap:wrap}.filters label{min-width:160px}.filters .grow{flex:1}.subtle{font-size:11px;color:var(--muted);line-height:1.6}.search{max-width:320px;margin-bottom:20px}.timeline{border-left:2px solid #e2eaf5;margin-left:8px;padding-left:18px}.event{margin-bottom:25px;position:relative}.event:before{content:'';position:absolute;left:-24px;top:5px;width:9px;height:9px;border-radius:50%;background:#6488bc}.event small{display:block;color:var(--muted);margin-top:7px}.event pre{white-space:pre-wrap;word-break:break-word;font:11px ui-monospace,monospace;background:#f8fafc;border-radius:6px;padding:10px;color:var(--muted)}dialog{border:0;border-radius:14px;width:min(650px,calc(100% - 32px));padding:30px;box-shadow:0 20px 90px #11294440;max-height:90vh}dialog::backdrop{background:#11294480}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:26px}.busy{position:fixed;right:24px;bottom:24px;background:var(--navy);color:white;padding:14px 20px;border-radius:9px;box-shadow:0 8px 30px #17324d30;z-index:100}.busy span{display:inline-block;width:12px;height:12px;border:2px solid #7298c2;border-top-color:white;border-radius:50%;animation:spin 1s linear infinite;margin-right:8px}@keyframes spin{to{transform:rotate(360deg)}}.periods{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.period{border:1px solid var(--line);padding:16px;border-radius:9px}.period button{display:block;font-size:11px;margin-top:15px}.period h3{font-size:13px;margin-bottom:10px}.privacy{font-size:11px;color:var(--muted);line-height:1.6}.brand-label{font-size:11px;color:var(--blue)}
@media(max-width:1100px){.sidebar{width:205px}.workspace{margin-left:205px}main{padding:28px 22px}.topbar{padding:18px 22px}.stats{grid-template-columns:repeat(2,1fr)}.grid-two{grid-template-columns:1fr}.user-area>span{display:none}.periods{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.login-layout{grid-template-columns:1fr}.login-brand{padding:35px}.login-brand h1{font-size:32px}.login-brand .login-feature,.login-brand>small{display:none}.login-brand>p:not(.eyebrow){margin-bottom:0}.brandmark{margin-bottom:20px}.login-form{padding:35px 25px}.sidebar{transform:translateX(-100%);transition:transform .2s}.sidebar.shown{transform:translateX(0);box-shadow:0 0 0 100vmax #11294460}.workspace{margin-left:0}.topbar{height:auto;min-height:85px;padding:15px;gap:10px}.icon-button{display:block;padding:8px}.context{gap:10px;flex:1}.context select{font-size:11px;max-width:145px}.user-area{gap:0}main{padding:24px 15px}.page-title{flex-direction:column}h1{font-size:25px}.stats{gap:10px}.stat{padding:17px}.stat strong{font-size:25px}.card{padding:18px}.periods{grid-template-columns:repeat(2,1fr)}.form-grid,.journal-top{grid-template-columns:1fr}.span-two{grid-column:auto}.totals{gap:18px}.totals strong{font-size:16px}.notice{margin:15px}.filters label{min-width:130px}.login-box h2{font-size:22px}footer{padding:15px}.privacy{font-size:10px}}@media print{.sidebar,.topbar,.actions,.filters,footer,.notice,.busy,.page-title button,.table-action{display:none!important}.workspace{margin:0}main{padding:0;max-width:none}.card{border:none;padding:0;box-shadow:none}.table-wrap{overflow:visible}table{font-size:9px;white-space:normal}th,td{padding:5px}.page-title{margin-bottom:15px}body{background:white}thead{display:table-header-group}tr{break-inside:avoid}dialog{display:none}@page{size:letter landscape;margin:12mm}}

/* Imagen original: sin reconstruir, recolorear ni alterar el archivo. */
.original-logo{background:#fff;border:1px solid #dce5ef;overflow:hidden;flex-shrink:0}.original-logo img{display:block;width:100%;height:100%;object-fit:contain}.brandmark.original-logo{width:155px;height:155px;border-radius:12px;margin-bottom:25px}.logo{display:flex;flex-direction:column;gap:12px;align-items:center;margin:0 0 24px}.sidebar-logo{width:135px;height:135px;border-radius:10px}.sidebar-title{font-size:10px!important;letter-spacing:1.8px!important;color:#c8d7e8}.sidebar nav{overflow-y:auto;min-height:0;flex:1}.sidebar-foot{padding-top:18px;flex-shrink:0}.captcha-wrap{margin:18px 0}.captcha-wrap>div{min-height:65px}.captcha-wrap .subtle{margin:8px 0 0}.captcha-wrap .text-button{padding:8px 0}.login-brand{padding-top:35px;padding-bottom:35px}.login-brand h1{font-size:clamp(32px,3.5vw,46px)}.login-brand>p:not(.eyebrow){margin-bottom:25px}.login-feature{margin-bottom:17px}.login-brand>small{margin-top:15px}@media(max-width:760px){.brandmark.original-logo{width:125px;height:125px}.login-brand{padding:25px 35px}.sidebar-logo{width:110px;height:110px}}
/* Formularios de trabajo con la organización del libro Excel. */
.form-window{border:1px solid #c9d5e3;border-radius:9px;background:#f6f8fb;overflow:hidden;box-shadow:0 5px 18px #17324d09}.form-window-title{background:#e8eef5;padding:13px 18px;border-bottom:1px solid #c9d5e3;font-size:13px;font-weight:700;display:flex;justify-content:space-between;gap:15px}.form-window-title span{font-size:10px;color:#4b6380;letter-spacing:.3px}.form-body{padding:19px}.form-tabs{display:flex;gap:0;border-bottom:1px solid #c9d5e3;margin-bottom:0;background:#eaf0f6;padding:8px 8px 0;border-radius:8px 8px 0 0;overflow:auto}.form-tab{background:#f4f6f9;border:1px solid #c9d5e3;border-bottom:0;border-radius:6px 6px 0 0;padding:9px 15px;font-size:12px;white-space:nowrap;margin-right:4px}.form-tab.active{background:white;color:#17324d;box-shadow:inset 0 3px #2563eb}.form-tabs+.form-window{border-radius:0 0 9px 9px}.diary-header{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 15px}.diary-header input,.diary-header select,.line-fields input,.line-fields select{min-height:35px;font-size:12px;padding:7px 9px}.diary-glosa{grid-column:2/-1}.diary-header input[readonly],.line-fields input[readonly]{background:#edf1f5;color:#506176}.period-status{font-size:11px;margin:12px 0;min-height:17px}.period-status.error-text{color:#b91c1c}.diary-detail{height:260px;border:1px solid #bfcede;background:white;overflow:auto}.diary-detail th{background:#e4edf7;color:#17324d;position:sticky;top:0;z-index:1}.diary-detail td{padding:10px 9px;font-size:12px}.diary-detail tr[data-select-line]{cursor:pointer}.diary-detail tr[data-select-line]:hover{background:#f0f5fb}.diary-detail tr.selected{background:#dceafe}.diary-detail tr[data-select-line]:focus-visible{outline:2px solid #2563eb;outline-offset:-2px}.doc-reference{display:block;color:#64748b;font-size:10px;margin-top:4px}.line-panel{margin-top:20px}.line-fields{display:grid;grid-template-columns:1fr 1.6fr 1.5fr .8fr .8fr;gap:12px}.line-glosa{grid-column:1/4}.line-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:16px;flex-wrap:wrap}.line-toolbar button{font-size:12px;padding:9px 14px}.diary-totals{display:flex;gap:17px;font-size:11px;font-variant-numeric:tabular-nums}.diary-totals strong{margin-left:3px}.diary-totals .difference{color:#15803d}.diary-totals .bad{color:#b91c1c}.form-footer{border-top:1px solid #c9d5e3;padding:13px 16px;display:flex;gap:8px;background:#eef2f7;flex-wrap:wrap}.form-footer button{flex:1;min-width:115px;font-size:12px}.work-form{border:1px solid #c9d5e3;background:#f8fafc;border-radius:8px;padding:20px}.work-form .form-grid{gap:14px}.work-form input,.work-form select{min-height:35px;padding:7px 9px}.consult-toolbar{display:flex;gap:12px;align-items:end;margin-bottom:18px;flex-wrap:wrap}.consult-toolbar label{flex:1;min-width:150px}.entry-metadata{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;background:#f6f8fb;padding:14px;border-radius:6px;margin-bottom:18px}.entry-metadata small{display:block;color:#64748b;margin-bottom:4px}dialog{background:#f6f8fb;padding:0;border:1px solid #c9d5e3}#dialog-form{padding:24px}#dialog-form>div:first-child>h2{background:#e8eef5;margin:-24px -24px 20px;padding:15px 24px;border-bottom:1px solid #c9d5e3;font-size:17px}.dialog-actions{padding-top:15px;border-top:1px solid #c9d5e3}.card input,.card select{min-height:35px}.card .table-wrap{border:1px solid #d6e0eb;border-radius:5px}.card th{background:#e8eff7;color:#17324d}
@media(max-width:1100px){.diary-header{grid-template-columns:repeat(3,minmax(0,1fr))}.diary-glosa{grid-column:1/-1}.line-fields{grid-template-columns:1fr 1.5fr 1.5fr}.line-name{grid-column:2/4}.line-glosa{grid-column:1/-1}.diary-detail{height:240px}}@media(max-width:760px){.form-body{padding:13px}.form-window-title{flex-direction:column;gap:7px}.diary-header,.line-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.line-name,.line-glosa,.diary-glosa{grid-column:1/-1}.line-toolbar{align-items:stretch}.line-toolbar .actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.diary-totals{width:100%;justify-content:space-between}.form-footer{display:grid;grid-template-columns:1fr 1fr}.form-footer button{min-width:0}.entry-metadata{grid-template-columns:1fr 1fr}.form-tab{padding:9px;font-size:11px}}
.trade-import-head{display:grid;grid-template-columns:1.6fr auto 1fr 1.3fr auto;gap:13px;align-items:end;margin-bottom:20px}.trade-file-name{grid-column:1/5}.trade-import-head .trade-file-name+button{grid-column:5}.trade-tab-body{background:white;border:1px solid #c9d5e3;border-top:none;padding:18px;min-height:190px}.trade-list{max-height:230px;overflow:auto;border:1px solid #c9d5e3}.trade-list .table-wrap{overflow:visible}.trade-list thead th{position:sticky;top:0;z-index:1}.trade-list tr.selected{background:#dceafe}.row-check{width:16px;min-height:16px;margin:0;cursor:pointer}.trade-component-list{display:flex;gap:12px 20px;flex-wrap:wrap;padding:14px 0;margin-bottom:15px;border-bottom:1px solid #e3e8ef;font-size:11px}.trade-dist-panel{display:grid;grid-template-columns:1.4fr .6fr 1fr 1.5fr .8fr;gap:12px;margin-top:20px}.trade-document-info{font-size:12px}@media(max-width:900px){.trade-import-head{grid-template-columns:1fr 1fr}.trade-file-name{grid-column:1/-1}.trade-import-head .trade-file-name+button{grid-column:auto}.trade-dist-panel{grid-template-columns:1fr 1fr}.trade-tab-body{padding:13px}}
.fin-rubro,.fin-total{font-weight:700;background:#eef2f7}.fin-heading,.fin-grand{font-weight:700;background:#dbeafe}.fin-section{font-weight:700}.fin-account td:nth-child(2){padding-left:22px}.fin-warning{background:#fef2f2;color:#991b1b}.financial-controls{margin-top:20px}.financial-report{margin-top:25px}
input[id^="financial-"][type="checkbox"]{width:18px;min-height:18px;height:18px;display:inline-block}
/* frmReportes: selector, fechas, cuentas, auxiliares, comparativo y botones inferiores. */
.reports-fields{max-width:760px;display:grid;gap:14px}.reports-fields>label:not(.report-check){display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:12px}.reports-fields .hint{margin:0 0 8px}.report-dates{display:flex;gap:22px}.report-dates label{display:flex;align-items:center;gap:12px}.report-dates input{max-width:190px}.report-check{display:flex;align-items:center;gap:8px}.reports-fields>.report-check{margin-left:122px}.report-compare{display:grid;grid-template-columns:150px 1fr 1fr;gap:15px;align-items:center}.report-compare label:not(.report-check){display:flex;gap:10px;align-items:center}.report-compare input[type=date]{min-width:0;width:100%}.reports-fields select:disabled,.reports-fields input:disabled{background:#edf1f5;color:#7a8797}.reports-window .form-footer button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:760px){.reports-fields>label:not(.report-check){grid-template-columns:1fr;gap:6px}.reports-fields>.report-check{margin-left:0}.report-dates,.report-compare{display:grid;grid-template-columns:1fr}.report-dates label,.report-compare label:not(.report-check){display:grid;grid-template-columns:70px 1fr}.report-dates input{max-width:none}}

.financial-controls .notice{margin:8px 0}.notice.pending{background:#fffbeb;color:#92400e}
/* Avisos centrados: independientes del scroll y sobre los formularios modales. */
#system-message{width:min(520px,calc(100% - 40px));max-height:calc(100dvh - 40px);margin:auto;padding:26px;border:1px solid #c9d5e3;border-top:5px solid #185fa5;overflow:auto}
#system-message[open]{display:block}#system-message[data-kind=error]{border-top-color:#a32d2d}#system-message[data-kind=success]{border-top-color:#15803d}#system-message[data-kind=warning]{border-top-color:#b45309}
#system-message h2{font-size:20px;margin-bottom:16px}#system-message-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}#system-message .dialog-actions{margin-top:20px}#system-message-ok{min-width:110px}
@media(max-width:520px){#system-message{padding:22px}}
@media print{#system-message[open]{display:none}}
/* Identidad de acceso: logo original transparente y mensaje simplificado. */
.login-brand{background:#f3f6fa;color:#17324d;align-items:flex-start;justify-content:center}
.login-logo{display:block;width:clamp(220px,26vw,330px);height:auto;max-width:100%;margin:0 0 12px}
.login-brand .eyebrow{color:#17324d;margin:0 0 20px;letter-spacing:2.5px}
.login-brand h1{color:#17324d;margin:0;line-height:1.18}
@media(max-width:760px){.login-brand{align-items:center;text-align:center;padding:20px 28px 30px}.login-logo{width:210px;margin-bottom:6px}.login-brand .eyebrow{margin-bottom:14px}.login-brand h1{font-size:30px}}
