:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#18212f;background:#f4f7fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:0;cursor:pointer;background:#126a58;color:#fff;padding:.65rem .9rem;border-radius:6px;font-weight:650}button:hover{background:#0d5648}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:#e6edf2;color:#253343}button.secondary:hover{background:#d9e3e9}input,select{width:100%;min-width:0;padding:.65rem .7rem;border:1px solid #c7d2dc;border-radius:5px;background:#fff}label{display:grid;gap:.4rem;font-size:.9rem;font-weight:650}h1,h2,h3,p{margin-top:0}h1{font-size:1.55rem;margin-bottom:.25rem}h2{font-size:1.2rem;margin-bottom:.25rem}h3{font-size:1rem}.muted,small{color:#647486}.eyebrow{color:#126a58;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.45rem}.login-shell{display:grid;place-items:center;min-height:100vh;padding:1rem;background:linear-gradient(135deg,#e3f2eb,#f4f7fb 55%)}.login-panel{width:min(100%,440px);padding:2rem;background:#fff;border:1px solid #dce5eb;box-shadow:0 20px 55px #1e293b18}.login-panel form{display:grid;gap:1rem;margin-top:1.5rem}.login-mark{display:grid;place-items:center;width:46px;height:46px;margin-bottom:1.2rem;color:#fff;background:#126a58}.hint{margin-top:1.25rem;font-size:.8rem;color:#647486}.app-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}aside{position:relative;display:flex;flex-direction:column;padding:1.25rem;color:#eef7f4;background:#143a36}.brand{display:flex;gap:.65rem;align-items:center;line-height:1.2;font-size:.9rem}.brand span{display:grid;place-items:center;width:34px;height:34px;background:#4cba91;color:#073128;font-weight:800}nav{display:grid;gap:.25rem;margin-top:2.5rem}.nav-item{justify-content:flex-start;text-align:left;background:transparent;color:#d2e4de}.nav-item svg{width:17px}.nav-item:hover,.nav-item.active{background:#24514a}.profile{display:grid;gap:.25rem;margin-top:auto;padding-top:1rem;border-top:1px solid #477068;font-size:.85rem}.profile button{width:max-content;padding:.35rem 0;color:#cce9df;background:transparent}.mobile-menu-trigger,.mobile-menu-close,.mobile-menu-overlay{display:none}.workspace{padding:1.6rem;min-width:0}header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}header .muted{margin-bottom:0}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}.metric,.info{display:grid;gap:.45rem;padding:.9rem;border:1px solid #dce5eb;background:#fff}.metric span,.info span{display:flex;align-items:center;gap:.35rem;color:#667789;font-size:.8rem}.metric span svg{width:16px}.metric strong{font-size:1.4rem}.panel{padding:1rem;border:1px solid #dce5eb;background:#fff}.status-bars{display:grid;gap:.5rem}.status-bars div{display:flex;justify-content:space-between;padding:.7rem;background:#f2f6f8}.filter-bar{display:grid;grid-template-columns:auto repeat(5,minmax(110px,1fr)) auto;align-items:center;gap:.5rem;padding:.7rem;margin-bottom:1rem;border:1px solid #dce5eb;background:#fff}.case-layout{display:grid;grid-template-columns:minmax(220px,28%) 1fr;gap:1rem}.case-list,.case-detail{min-width:0;border:1px solid #dce5eb;background:#fff}.section-title{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid #e7edf1}.section-title h2{margin:0;font-size:1rem}.case-row{display:grid;justify-content:stretch;gap:.25rem;width:100%;padding:.9rem 1rem;text-align:left;color:#293848;background:#fff;border-radius:0;border-bottom:1px solid #edf1f4}.case-row:hover,.case-row.selected{background:#edf8f4;color:#143a36}.case-row small{color:inherit;opacity:.72}.case-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:1.25rem 1.25rem .8rem}.status{display:inline-block;padding:.35rem .55rem;border-radius:999px;background:#e6edf2;color:#394b5d;font-size:.72rem;font-weight:700;white-space:nowrap}.status.en_revision{background:#fff2c6;color:#765900}.status.certificado,.status.emitida,.status.activa,.status.activo,.status.confirmado{background:#d8f3e6;color:#09603c}.status.observado,.status.revocado,.status.inactiva{background:#fde1df;color:#9d2922}.tabs{display:flex;gap:.15rem;overflow-x:auto;padding:0 1.25rem;border-bottom:1px solid #dce5eb}.tabs.standalone{margin-bottom:1rem;border:1px solid #dce5eb;background:#fff}.tab{color:#5d6f80;background:transparent;border-radius:0;border-bottom:2px solid transparent;white-space:nowrap}.tab:hover{background:#f1f6f4;color:#143a36}.tab.selected{color:#126a58;border-bottom-color:#126a58}.tab-content{padding:1.25rem}.summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.actions,.inline-form,.upload-form{display:flex;align-items:end;flex-wrap:wrap;gap:.65rem;margin-top:1rem}.actions select{width:auto;min-width:190px}.inline-form>*,.upload-form>*{flex:1 1 150px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:.75rem;margin-top:1rem}.note,.alert{margin-top:1rem;padding:.8rem;border-left:3px solid #126a58;background:#edf8f4;color:#264b43;font-size:.9rem}.alert{border-color:#c4771b;background:#fff5db;color:#695018}.table,.evidence-list,.timeline{display:grid;gap:.5rem}.table-row,.evidence-list article{display:grid;grid-template-columns:.7fr 1fr 1.4fr;align-items:center;gap:.75rem;padding:.8rem;border:1px solid #e1e8ed;font-size:.85rem}.table-row>div{display:grid;gap:.2rem}code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#36536f;font-size:.78rem}.evidence-list article{grid-template-columns:1.3fr 1fr .7fr}.evidence-list p{margin:.25rem 0 0;color:#6b7c8c;font-size:.8rem}.evidence-actions{display:flex;align-items:center;justify-content:space-between;gap:.4rem}.icon-button{width:34px;height:34px;padding:0}.timeline article{padding:.75rem;border-left:2px solid #b6d9cc;background:#fbfdfc}.timeline p{margin:.3rem 0;font-size:.9rem}.certificate{display:grid;gap:.65rem;padding:1rem;border:1px solid #bde3d2;background:#f4fcf8}.certificate p{margin:0}.certificate button{width:max-content}.audit-table{overflow-x:auto}.table-header{display:grid;grid-template-columns:1fr 1fr 1fr 2fr;min-width:750px;gap:1rem;padding:.75rem;border-bottom:1px solid #e1e8ed;font-size:.82rem}.setting{display:grid;grid-template-columns:1fr 2fr;gap:1rem;padding:.75rem;border-bottom:1px solid #e1e8ed}.toast,.error-banner{position:fixed;z-index:20;right:1rem;top:1rem;max-width:400px;padding:.8rem 1rem;color:#fff;background:#126a58;box-shadow:0 8px 22px #1e293b33}.error,.error-banner{color:#9d2922}.error-banner{background:#feeceb;display:flex;gap:1rem;align-items:center}.error-banner button{background:transparent;color:inherit;padding:0}.empty{padding:1rem;color:#6b7c8c}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;z-index:10;padding:1rem;background:#17232d66}.modal{display:grid;gap:1rem;width:min(100%,520px);padding:1.25rem;background:#fff;box-shadow:0 18px 45px #17232d33}@media (max-width: 1100px){.filter-bar{grid-template-columns:repeat(3,1fr)}.filter-bar>svg{display:none}}@media (max-width: 900px){.app-shell{grid-template-columns:1fr}aside{position:fixed;z-index:40;inset:0 auto 0 0;display:flex;width:min(82vw,280px);transform:translate(-100%);transition:transform .2s ease;box-shadow:12px 0 32px #0f172a33}aside.mobile-open{transform:translate(0)}.mobile-menu-trigger{position:fixed;z-index:30;top:.75rem;left:.75rem;display:inline-flex;width:42px;height:42px;padding:0;box-shadow:0 4px 14px #0f172a2b}.mobile-menu-close{position:absolute;top:1rem;right:1rem;display:inline-flex;width:36px;height:36px;padding:0;color:#d2e4de;background:transparent}.mobile-menu-overlay{position:fixed;z-index:35;top:0;right:0;bottom:0;left:0;display:block;padding:0;border-radius:0;background:#0f172a66}.workspace{padding:4.5rem 1rem 1rem}.metrics{grid-template-columns:repeat(2,1fr)}.case-layout{grid-template-columns:1fr}.case-list{max-height:230px;overflow:auto}}@media (max-width: 560px){header{align-items:flex-start;flex-direction:column}.metrics,.summary-grid,.form-grid,.filter-bar{grid-template-columns:1fr}.case-header{flex-direction:column}.table-row,.evidence-list article{grid-template-columns:1fr}}
