:root{--primary:#004aac;--deep:#0b2447;--muted:#64748b;--stroke:#dbe4f0;--light:#f7faff;--success:#0c7355;--amber:#a64a06;--red:#b42318}
html{scroll-behavior:smooth}
body{background:linear-gradient(170deg,#eef4ff 0%,#f8fafc 32%,#f5f7fc 100%);color:var(--deep)}
main.wrapper{max-width:1140px}
h1{max-width:850px;letter-spacing:-.035em}
main>p{max-width:900px}
.panel{box-shadow:0 12px 35px rgba(14,50,90,.04)}
#app{padding:clamp(16px,2.7vw,30px)}
#app h2{margin:0 0 .45rem;font-size:1.5rem;line-height:1.25}
#app p{margin:0}
.eyebrow{font-size:.77rem;font-weight:800;letter-spacing:.095em;text-transform:uppercase;color:var(--primary)}
.app-intro{color:#536881;font-size:.95rem}
.field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:23px}
.field-grid label,.new-task-grid label,.filter-label{display:block;font-size:.85rem;font-weight:700;color:var(--deep)}
#app input,#app select,#app textarea{font:inherit;display:block;width:100%;border:1px solid #bfd0e4;background:#fff;border-radius:11px;padding:11px 12px;color:#18365a;margin-top:6px;min-height:45px}
#app input:focus,#app select:focus,#app textarea:focus,#app button:focus-visible{outline:3px solid #83b5ff;outline-offset:2px}
#app .privacy-notice{font-size:.84rem;line-height:1.55;background:#eef6ff;border:1px solid #d4e6ff;color:#29547d;padding:12px 15px;border-radius:12px;margin:18px 0 20px}
.tabbar{display:flex;gap:8px;background:#edf2fa;padding:6px;border-radius:14px}
#app .tabbar button{flex:1;background:transparent;color:#486282;border:0;border-radius:11px;font-weight:750;min-height:48px}
#app .tabbar button.active{background:#fff;color:var(--primary);box-shadow:0 2px 8px rgba(22,50,80,.10)}
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}
.metric{border:1px solid #dde6f1;background:#fbfdff;border-radius:14px;padding:13px}
.metric strong{font-size:1.8rem;display:block;line-height:1.22;letter-spacing:-.04em;word-break:break-word}
.metric span{font-size:.79rem;color:#55708a;display:block}
.metric.primary{background:#eaf3ff;border-color:#caddff}
.progress-track{height:12px;background:#e6edf6;border-radius:30px;overflow:hidden}
.progress-fill{height:100%;width:0;background:linear-gradient(90deg,#0955c3,#25a7b4);border-radius:inherit;transition:width .2s}
.status-message{font-size:.9rem;color:#425a75;line-height:1.55;margin:10px 0 0!important}
.toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:8px;margin:22px 0 8px}
.filter-label{flex:1 1 155px}
#app button{font:inherit;font-weight:700;min-height:43px;padding:10px 15px;white-space:normal}
#app button.secondary{background:#e8f0fd;color:var(--primary);border:1px solid #c9dcf6}
#app button.ghost{background:#fff;color:#49617c;border:1px solid #cfdeec}
#app button.danger-btn{background:#fff6f4;color:var(--red);border:1px solid #f4d4cf}
#app button:hover{filter:brightness(.96)}
#app .tiny-btn{font-size:.75rem;padding:6px 10px;min-height:34px;background:#eef3fb;color:#314d70;border:1px solid #dce6f5}
.list-topline{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:20px 0 8px}
.list-topline h3{margin:0;font-size:1.18rem}
.list-topline span{font-size:.82rem;color:#667f99}
.task-group{margin-top:22px}
.group-heading{font-size:.89rem;font-weight:800;color:#284a76;letter-spacing:.02em;margin:0 0 9px}
.task-card{padding:15px;border:1px solid #dce6f0;border-left:4px solid #cfdded;border-radius:13px;margin:9px 0;background:#fff}
.task-card.status-hecho{border-left-color:#12a074}
.task-card.status-incidencia{border-left-color:#d85b2b;background:#fffaf7}
.task-card.status-no-aplica{border-left-color:#a9b6c8}
.task-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.task-info{min-width:0;flex:1}
.task-name{font-weight:650;line-height:1.4;overflow-wrap:anywhere}
.task-type{display:inline-block;font-size:.74rem;color:#8291a4;margin-top:5px}
.task-controls{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
#app .task-status{width:auto;min-width:130px;font-size:.85rem;margin:0}
.task-notes{border-top:1px solid #edf1f5;margin-top:10px;padding-top:8px;font-size:.85rem}
.task-notes summary{cursor:pointer;color:#405d7e;font-weight:650}
#app .note-field{margin-top:10px;max-width:100%;min-height:65px;font-size:.9rem}
.warn{color:#9a4511;display:block;margin-top:6px}
.empty-message{padding:22px;background:#f7fbff;border:1px dashed #adc6e9;border-radius:12px;color:#526986}
.custom-box{margin-top:28px;background:#f4f8ff;border:1px solid #dbe6f4;border-radius:15px;padding:18px}
.custom-box h3{margin:0;font-size:1.15rem}
.custom-box p{margin:7px 0 0!important;color:#627890;font-size:.86rem}
.new-task-grid{display:grid;grid-template-columns:1.3fr .9fr .9fr auto;gap:10px;align-items:end;margin-top:15px}
.new-task-grid button{height:45px}
.small-actions{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:20px}
#app-feedback{min-height:26px;color:var(--success);font-size:.9rem;font-weight:700;padding-top:10px}
#app-feedback.error{color:var(--red)}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.how-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}
.how-grid>div{border:1px solid #dfe7f2;border-radius:12px;background:#f8fbff;padding:15px}
.how-grid strong{display:block;color:#004aac}
.how-grid p{margin:8px 0 0;font-size:.92rem}
.faq-item{margin-top:12px;border-bottom:1px solid #e5ecf4;padding-bottom:12px}
.faq-item summary{cursor:pointer;font-weight:750}
.faq-item p{margin:8px 0 0}
#referral-box{background:linear-gradient(135deg,#0d2d5a,#0759be);color:#fff;border:0}
#referral-box h2{color:#fff}#referral-box p{max-width:780px}
#referral-box a.cta{display:inline-block;background:#fff;color:#004aac;border-radius:11px;padding:13px 19px;margin-top:14px;font-weight:800;text-decoration:none}
#print-report{display:none}
@media(max-width:900px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.new-task-grid{grid-template-columns:1fr 1fr}.new-task-grid label:first-child{grid-column:span 2}.new-task-grid button{grid-column:span 2}}
@media(max-width:610px){.field-grid,.how-grid{grid-template-columns:1fr}.toolbar>*{flex:1 1 42%}.task-top{flex-direction:column;gap:10px}.task-controls{width:100%;justify-content:stretch}.task-controls select{flex:1}.list-topline{align-items:flex-start}.new-task-grid{grid-template-columns:1fr}.new-task-grid label:first-child,.new-task-grid button{grid-column:span 1}}
@media(max-width:355px){.stats-grid{gap:7px}.metric{padding:10px}.metric strong{font-size:1.45rem}.toolbar>*{flex-basis:100%}}
@media print{body{background:white;color:#111;font:11pt/1.3 Arial,sans-serif}body>*:not(main){display:none!important}main>*{display:none!important}main{padding:0!important;width:100%!important}main>#print-report{display:block!important}#print-report h1{font-size:19pt}#print-report h2{font-size:13pt;margin-top:15px}#print-report .print-table{border-collapse:collapse;width:100%;font-size:9pt}#print-report td,#print-report th{border:1px solid #888;padding:5px;text-align:left;overflow-wrap:anywhere}#print-report tr{break-inside:avoid}}
