
:root{--ink:#1f2937;--muted:#667085;--line:#d8dee6;--surface:#fff;--bg:#f4f6f8;--brand:#1f4f46;--brand2:#2f6b5f;--ok:#246b45;--okbg:#eaf6ee;--warn:#7a5b00;--warnbg:#fff5db;--bad:#8a2020;--badbg:#fff0f0;--info:#174ea6;--infobg:#eef4ff;--shadow:0 8px 28px rgba(16,24,40,.07)}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0!important;background:var(--bg)!important;color:var(--ink)!important;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;line-height:1.48}
main{width:min(1180px,100%);max-width:1180px!important;margin:24px auto 64px!important;padding:0 18px!important}.card{background:var(--surface)!important;border:1px solid #e8ebef;border-radius:16px!important;box-shadow:var(--shadow)!important;padding:22px!important;margin-bottom:16px!important}
h1,h2,h3{letter-spacing:-.02em;color:#17212b}h1{font-size:clamp(1.65rem,3vw,2.15rem);line-height:1.12;margin-top:0}h2{font-size:1.2rem;margin-top:0}.muted,small{color:var(--muted)}
a{color:#245e54;text-underline-offset:3px}.cy-nav{position:sticky;top:0;z-index:20;display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px max(14px,calc((100vw - 1180px)/2));background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid #e5e9ee}.cy-nav a{display:inline-flex;align-items:center;min-height:40px;padding:8px 12px;border-radius:9px;text-decoration:none;font-weight:650;color:#334155}.cy-nav a:hover{background:#edf3f1}.cy-nav form{margin-left:auto;margin-bottom:0}.cy-nav button{background:#eef1f4!important;color:#28323c!important;box-shadow:none!important}
button,.action,input[type=submit]{appearance:none;border:0;border-radius:10px!important;min-height:44px;padding:10px 15px!important;background:var(--brand)!important;color:#fff!important;font-weight:700!important;cursor:pointer;text-decoration:none;transition:.15s ease}.action{display:block}.action.secondary,.secondary{background:#edf1f3!important;color:#26343b!important}.action:hover,button:hover{filter:brightness(.96)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(31,79,70,.22);outline-offset:2px}
input,select,textarea{width:100%;max-width:100%;min-height:44px;border:1px solid #cfd6de!important;border-radius:10px!important;background:#fff!important;color:#202b35!important;padding:10px 12px!important;font-size:16px!important}textarea{min-height:94px;resize:vertical}label{font-weight:650;color:#344054;margin-top:8px}form{margin-bottom:0}.grid{gap:12px!important}.metric{border:1px solid #e5e9ee;background:#f7f9fa!important;border-radius:12px!important}.metric strong{color:#17212b}
table{width:100%;border-collapse:separate;border-spacing:0;font-size:.94rem}th{text-align:left;background:#f5f7f8;color:#475467;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}th,td{padding:11px 10px;border-bottom:1px solid #e8ebef;vertical-align:top}tr:last-child td{border-bottom:0}.table-wrap{overflow:auto;border:1px solid #e3e7eb;border-radius:12px}
.notice,.info{background:var(--infobg)!important;border:1px solid #cbdafb!important;color:#244a82!important;border-radius:11px;padding:12px 14px}.error,.danger{background:var(--badbg)!important;border:1px solid #efcaca!important;color:var(--bad)!important;border-radius:11px;padding:12px 14px}.active,.ok,.success{background:var(--okbg)!important;color:var(--ok)!important;border-radius:999px!important}.warning,.pending{background:var(--warnbg)!important;color:var(--warn)!important;border-radius:999px!important}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:999px;font-size:.76rem;font-weight:750;background:#eef1f4;color:#39434d}.badge.principal{background:#e7f2ef;color:#215b50}.badge.interfaz{background:#eef4ff;color:#315b9f}.badge.contractual{background:#f4f2ed;color:#6a5d43}
.cy-hero{background:linear-gradient(135deg,#183e37,#2d6a5d);color:#fff;border-radius:18px;padding:22px;margin-bottom:16px;box-shadow:var(--shadow)}.cy-hero h1,.cy-hero h2{color:#fff}.cy-hero p{color:#e5f1ed;margin-bottom:0}.role-note{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;background:#fff;border:1px solid #e2e7ea;border-radius:13px;padding:14px;margin:12px 0}.role-note b{color:#183e37}.item-grid{display:grid;gap:12px}.item-card{background:#fff;border:1px solid #e0e5e9;border-radius:14px;padding:16px;scroll-margin-top:80px}.item-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.item-number{font-size:.78rem;font-weight:800;color:#667085;text-transform:uppercase}.item-title{font-size:1.03rem;font-weight:760;margin:2px 0 8px}.item-meta{display:flex;gap:7px;flex-wrap:wrap;margin:8px 0}.progress-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px;margin:12px 0}.progress-grid>div{border:1px solid #e4e8ec;background:#f8fafb;border-radius:10px;padding:9px 10px}.progress-grid small{display:block;color:#667085;font-size:.72rem;line-height:1.2}.progress-grid strong{display:block;margin-top:4px;font-size:1.02rem;color:#17212b}.item-observation{margin-top:12px;padding-top:12px;border-top:1px solid #e8ebef}.compact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.money{font-variant-numeric:tabular-nums;font-weight:700}.empty{padding:22px;text-align:center;color:var(--muted);background:#f8f9fa;border-radius:12px}
details{border:1px solid #e1e6ea;border-radius:14px;background:#fff;margin-bottom:14px;overflow:hidden}summary{cursor:pointer;padding:15px 17px;font-weight:800;list-style:none}summary::-webkit-details-marker{display:none}details[open]>summary{border-bottom:1px solid #e5e9ed;background:#fafbfb}.details-body{padding:15px}
@media(max-width:720px){main{margin-top:16px!important;padding:0 12px!important}.card{padding:16px!important;border-radius:14px!important}.cy-nav{position:sticky;padding:8px 10px;overflow-x:auto;flex-wrap:nowrap}.cy-nav a{white-space:nowrap}.cy-nav form{margin-left:0}.item-head{display:block}.compact-grid{grid-template-columns:1fr}table{font-size:.88rem}th,td{padding:9px 8px}.cy-hero{border-radius:14px;padding:18px}}
