:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#223039;background:#f6f4f0;font-size:16px;line-height:1.5;--ink:#223039;--muted:#5e6b70;--line:#dedfdc;--surface:#fff;--soft:#f0ede8;--primary:#33494a;--accent:#a97677;--focus:#1b5c91}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.skip-link{position:absolute;left:12px;top:-80px;background:#fff;padding:10px;z-index:100}.skip-link:focus{top:12px}#app{min-height:100dvh}.shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100dvh}.sidebar{background:#e7e8e4;border-right:1px solid #d3d7d3;padding:28px 18px;display:flex;flex-direction:column;gap:22px}.wordmark{font-size:.84rem;font-weight:800;text-transform:uppercase;letter-spacing:.13em;line-height:1.28;display:flex;align-items:center;gap:11px}.wordmark-mark{width:34px;height:34px;display:grid;place-items:center;background:#273d3f;color:white;font-size:.72rem;letter-spacing:0;border-radius:8px}.side-group{display:grid;gap:7px}.side-heading{font-size:.7rem;color:#677579;font-weight:800;text-transform:uppercase;letter-spacing:.12em;margin:7px 12px}.nav-btn{border:0;background:transparent;color:#33454b;text-align:left;padding:12px 14px;border-radius:10px;min-height:46px;font-weight:600}.nav-btn:hover{background:#f4f5f2}.nav-btn.active{background:#fff;color:#1f3439;box-shadow:0 1px 3px #18242a17}.side-footer{margin-top:auto;border-top:1px solid #cfd5d1;padding:18px 9px 0;font-size:.78rem;color:#5a686b}.side-footer button{margin-top:12px}.main-wrap{min-width:0}.topbar{height:64px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;background:#fbfaf8;gap:12px}.topbar small{font-weight:700;color:#5a6567;white-space:nowrap}.main{max-width:1170px;margin:0 auto;padding:34px 36px 90px}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:.73rem;font-weight:800;color:#826062}.page-title{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,3.4vw,3.25rem);line-height:1.08;letter-spacing:-.035em;margin:10px 0 12px;color:#1e3036;font-weight:500}.lead{color:#56636a;max-width:720px;margin:0 0 25px}.banner{background:#f2e8e6;color:#6d3c40;border:1px solid #dec9c7;border-radius:10px;padding:11px 16px;font-size:.86rem;font-weight:650}.banner strong{color:#5d3236}.section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:30px 0 14px}.section-head h2,.section-head h3{margin:0;font-size:1.2rem}.section-head p{margin:3px 0 0;color:var(--muted);font-size:.9rem}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.card,.panel{background:var(--surface);border:1px solid #dedfdc;border-radius:14px;box-shadow:0 3px 18px #28313709}.card{padding:23px}.card h3{margin:8px 0 6px;font-size:1.18rem}.card p{margin:0;color:var(--muted)}.panel{padding:25px}.panel+.panel{margin-top:16px}.muted{color:var(--muted)}.small{font-size:.86rem}.tiny{font-size:.74rem}.pill{display:inline-flex;align-items:center;gap:5px;border:1px solid #dedbd8;border-radius:100px;padding:4px 9px;font-size:.72rem;font-weight:800;color:#5b6264;background:#faf9f7}.pill.rose{background:#f6ebe9;color:#815053;border-color:#e7cecb}.pill.green{background:#e8f2eb;color:#356445;border-color:#bfd9c5}.action-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.btn{border:1px solid #ced5d3;border-radius:9px;padding:10px 15px;min-height:44px;background:#fff;color:#294046;font-weight:700}.btn:hover{background:#f4f6f4}.btn.primary{background:#263e42;border-color:#263e42;color:#fff}.btn.primary:hover{background:#1a3135}.btn.rose{background:var(--primary);border-color:var(--primary);color:#fff}.btn.rose:hover{filter:brightness(.9)}.btn.text{border:0;background:transparent;padding:9px}.btn.danger{color:#9e3d3d;border-color:#e9cece}.btn.compact{padding:7px 10px;min-height:38px;font-size:.84rem}.field{display:grid;gap:6px;margin:0 0 15px}.field label{font-size:.86rem;font-weight:750;color:#3d4b50}.input,.field input,.field textarea,.field select{width:100%;border:1px solid #bec9c9;border-radius:8px;background:#fff;color:#24353a;padding:11px 12px;min-height:44px}.field textarea{min-height:106px;resize:vertical}.field .help{font-size:.78rem;color:#657276}.form-inline{display:flex;gap:10px;align-items:end}.form-inline .field{flex:1;margin:0}.brand-band{--client-primary:#915f64;--client-accent:#ae7d7e;background:#f6f0ee;border:1px solid #e7d9d5;border-left:5px solid var(--client-primary);border-radius:13px;padding:19px 22px;display:flex;align-items:center;gap:16px;margin:22px 0}.brand-monogram{display:grid;grid-template-columns:repeat(2,24px);grid-template-rows:repeat(2,24px);gap:2px;flex:none}.brand-monogram span{display:grid;place-items:center;color:white;background:var(--client-primary);font:700 15px Georgia,serif}.brand-monogram span:first-child{background:#6e7577}.brand-monogram span:last-child{background:#6e7577}.brand-band strong{display:block;color:#2d3d41;font-size:1.1rem}.brand-band small{color:#746f6f}.breadcrumb{font-size:.8rem;color:#68777a;margin:0 0 18px}.breadcrumb button{border:0;background:none;color:#526b6e;text-decoration:underline;padding:0}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0}.stat{padding:18px;background:#fff;border:1px solid var(--line);border-radius:12px}.stat strong{display:block;font:500 2rem Georgia,serif}.stat span{font-size:.82rem;color:#6b7679}.tabs{display:flex;gap:5px;border-bottom:1px solid #d9dcda;overflow-x:auto;margin-top:25px}.tab{border:0;background:transparent;padding:13px 17px;color:#637176;font-weight:700;white-space:nowrap;min-height:46px;border-bottom:3px solid transparent}.tab.active{color:#283d42;border-color:#9e6d6e}.guide-list{display:grid;gap:12px}.guide-card{background:#fff;border:1px solid #d9dfdd;border-radius:12px;overflow:hidden}.guide-card summary{list-style:none;padding:17px 19px;font-size:1.08rem;font-weight:750;cursor:pointer;display:flex;align-items:center;justify-content:space-between;min-height:56px}.guide-card summary::-webkit-details-marker{display:none}.guide-card summary::after{content:'+';font-size:1.4rem;font-weight:400;color:#6c7b7a}.guide-card[open] summary::after{content:'−'}.guide-body{padding:0 19px 21px}.guide-body blockquote{border-left:3px solid #ad8585;margin:4px 0 18px;padding:7px 0 7px 16px;color:#576467}.guide-body ul{padding-left:22px;margin:10px 0 22px}.guide-body li{margin:9px 0}.fiche-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.fiche-item{padding:18px;border:1px solid var(--line);border-radius:11px;background:#fff}.fiche-item h3{margin:0 0 3px;font-size:1rem}.fiche-item p{margin:0 0 12px;font-size:.8rem;color:#6d777b}.fiche-item textarea{min-height:95px}.form-summary{display:grid;gap:15px;counter-reset:q}.question-preview{padding:17px 20px;background:#fff;border:1px solid var(--line);border-radius:12px}.question-preview::before{counter-increment:q;content:counter(q,decimal-leading-zero);float:right;color:#ad8585;font-family:Georgia,serif;font-size:1.5rem}.question-preview h3{max-width:680px;margin:0 0 5px;font-size:1rem}.question-preview p{margin:0;color:#657176;font-size:.85rem}.list-table{width:100%;border-collapse:collapse;font-size:.86rem}.list-table th,.list-table td{text-align:left;border-bottom:1px solid #e1e4e2;padding:13px 8px;vertical-align:top}.list-table th{font-size:.72rem;color:#687579;text-transform:uppercase;letter-spacing:.08em}.list-table td a{overflow-wrap:anywhere}.empty{padding:33px;text-align:center;color:#667477;background:#fafaf8;border:1px dashed #cad2ce;border-radius:12px}.message{padding:12px 15px;border-radius:9px;margin:12px 0;font-size:.87rem}.message.error{background:#faeded;color:#8d3030}.message.success{background:#e9f3ec;color:#2b6241}.notice-line{border-left:3px solid #b37f81;padding:8px 0 8px 14px;color:#57676a;font-size:.86rem}.login-layout{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr}.login-art{background:#263e42;color:#eff4f0;padding:clamp(30px,6vw,95px);display:flex;flex-direction:column;justify-content:space-between}.login-art h1{font:500 clamp(2.7rem,5vw,5rem)/1.05 Georgia,serif;letter-spacing:-.04em;max-width:550px}.login-art p{color:#bbcbca;max-width:490px}.login-form{display:grid;place-items:center;padding:30px}.login-form .panel{max-width:430px;width:100%}.login-form h2{font:500 2rem Georgia,serif;margin:0 0 7px}.login-form p{color:#617075}.login-form .btn{width:100%}.form-page{--client-primary:#915f64;--client-accent:#ae7d7e}.form-shell{max-width:710px;margin:0 auto;padding:28px 22px 80px}.form-shell .brand-band{margin:0 0 22px}.form-shell h1{font:500 clamp(2rem,6vw,3.1rem)/1.1 Georgia,serif;letter-spacing:-.03em;margin:20px 0 9px}.form-shell .intro{color:#59686c;max-width:610px}.form-shell .panel{padding:25px;margin-top:18px}.form-shell .q-number{font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;font-weight:800;color:#8c5a5c}.form-shell h2{font-size:1.1rem;margin:5px 0 10px}.task-card{border:1px solid #d9dcda;border-radius:10px;padding:15px;margin-top:12px;background:#fcfcfa}.task-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.task-head strong{font-size:.89rem}.task-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:10px}.check-row{display:flex;align-items:center;gap:9px;font-size:.86rem;color:#485b5f}.check-row input{width:20px;height:20px}.task-actions{display:flex;gap:4px}.task-actions button{border:1px solid #cad1d0;border-radius:7px;background:#fff;min-width:37px;min-height:37px;color:#40545a}.task-actions button:hover{background:#eef2ef}.form-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px}.form-footer .btn{min-width:170px}.readonly{color:#727a7c;background:#f3f2ef;border:1px solid #dfdfdc;border-radius:12px;padding:22px;margin-top:22px}.form-page .btn.primary{background:var(--client-primary);border-color:var(--client-primary)}
@media(max-width:950px){.shell{grid-template-columns:190px minmax(0,1fr)}.sidebar{padding:22px 11px}.main{padding:26px 22px 70px}.topbar{padding:0 22px}.fiche-grid{grid-template-columns:1fr}}
@media(max-width:680px){.shell{display:block}.sidebar{padding:14px 16px;gap:12px;border-right:0;border-bottom:1px solid var(--line)}.sidebar .wordmark{font-size:.75rem}.side-group{display:flex;overflow-x:auto;gap:5px}.side-heading,.side-footer{display:none}.nav-btn{white-space:nowrap}.topbar{height:auto;min-height:49px;padding:9px 18px}.main{padding:22px 17px 70px}.grid,.stats{grid-template-columns:1fr}.section-head{align-items:start;flex-direction:column}.form-inline{align-items:stretch;flex-direction:column}.task-grid{grid-template-columns:1fr 1fr}.task-grid .field:first-child{grid-column:1/-1}.login-layout{grid-template-columns:1fr}.login-art{padding:28px;min-height:230px}.login-art h1{font-size:2.7rem;margin:24px 0}.login-art p{display:none}.login-form{padding:25px 18px}.form-shell{padding:18px 14px 70px}.form-shell .panel{padding:19px}.form-footer{align-items:stretch;flex-direction:column}.form-footer .btn{width:100%}.list-table{display:block;overflow-x:auto}.brand-band{padding:15px}}
@media(prefers-reduced-motion:no-preference){button,.card{transition:background-color .16s ease,box-shadow .16s ease}.card:hover{box-shadow:0 9px 26px #28313716}}

/* Revisión de Javier: navegación oscura, guion anotable y ficha con campos propios. */
.sidebar{background:#263e42;border-right-color:#1b3033;color:#f1f5f1}
.sidebar .wordmark,.sidebar .nav-btn{color:#f1f5f1}
.sidebar .wordmark-mark{background:#f1f5f1;color:#263e42}
.sidebar .side-heading{color:#bbceca}
.sidebar .nav-btn:hover{background:#37565a}
.sidebar .nav-btn.active{background:#f6f4f0;color:#21383c}
.sidebar .side-footer{border-top-color:#587276;color:#d2dedb}
.sidebar .nav-btn:disabled{color:#a6b7b6}
.brand-band{border-top:3px solid var(--client-accent)}
.guide-questions{display:grid;gap:12px}
.guide-question{padding:15px 0;border-top:1px solid #e2e5e3}
.guide-question:first-child{border-top:0}
.guide-question p{margin:0 0 12px;max-width:780px}
.guide-question .field{margin-bottom:8px}
.guide-question textarea{min-height:75px}
.legacy-note{margin-top:16px;padding:12px 14px;background:#f5f3ef;border-radius:8px}
.legacy-note summary{cursor:pointer;font-weight:700}
.legacy-note p{white-space:pre-wrap;overflow-wrap:anywhere}
.fiche-grid{align-items:start}
.fiche-item.wide{grid-column:1/-1}
.fiche-card-head{margin-bottom:18px}
.fiche-card-head p{margin-bottom:0}
.fiche-item h2{margin:0 0 3px;font-size:1rem}
.fiche-item h3{margin:22px 0 12px;color:#31484c;font-size:1rem}
.fiche-item h3:first-of-type{margin-top:0}
.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.field-grid>.field,.field-grid>.field-block{min-width:0}
.field-block{margin:10px 0 20px}
.field-title{font-size:.9rem;font-weight:750;color:#3d4b50;margin-bottom:7px}
.field-block>.small{margin:0 0 10px}
.repeat-list{display:grid;gap:9px;margin-bottom:9px}
.repeat-row{display:flex;gap:9px;align-items:center;min-width:0}
.repeat-row>input{flex:1;min-width:0;border:1px solid #bec9c9;border-radius:8px;background:#fff;color:#24353a;padding:10px 12px;min-height:44px}
.repeat-row>.check-row{white-space:nowrap}
.repeat-row .btn{min-height:44px}
.activity-row>input:first-child{flex:2}
.activity-row>input:nth-child(2){flex:1}
.contact-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;padding:16px;border:1px solid #dce2df;border-radius:11px;background:#fbfcfa}
.contact-row .field{margin:0}
.contact-row .btn{justify-self:start}
.attendee-list{display:flex;gap:12px;flex-wrap:wrap}
.attendee-list .check-row{padding:9px 12px;background:#f7f8f6;border:1px solid #dce2df;border-radius:8px}
.next-step-highlight{display:flex;gap:13px;align-items:center;background:#edf3ef;border-left:4px solid #496d5a;border-radius:8px;padding:13px 16px;margin:0 0 18px}
.next-step-highlight strong{white-space:nowrap}
.step-row{display:grid;grid-template-columns:auto minmax(190px,2fr) minmax(120px,1fr) 160px auto;align-items:center;gap:9px;padding:11px;border:1px solid #dce2df;border-radius:10px;background:#fbfcfa}
.step-row>input{width:100%;min-width:0;border:1px solid #bec9c9;border-radius:8px;padding:10px;min-height:44px}
.step-actions{display:flex;gap:5px}
.step-actions .btn{min-height:44px;min-width:44px}
.fiche-save{position:sticky;bottom:0;display:flex;justify-content:flex-end;padding:12px 0;background:linear-gradient(transparent,#f6f4f0 35%);z-index:5}
.fiche-save .btn{box-shadow:0 5px 22px #1d30302c}
@media(max-width:950px){.field-grid{grid-template-columns:1fr}.step-row{grid-template-columns:auto minmax(0,1fr) 150px}.step-row>input[data-step="owner"]{grid-column:2}.step-actions{grid-column:3;grid-row:2}}
@media(max-width:680px){.sidebar{border-bottom-color:#1b3033}.side-group{padding-bottom:2px}.field-grid{grid-template-columns:1fr}.contact-row{grid-template-columns:1fr}.repeat-row{flex-wrap:wrap}.repeat-row>input{flex-basis:100%}.activity-row>input:first-child,.activity-row>input:nth-child(2){flex:1 1 100%}.step-row{grid-template-columns:1fr 1fr}.step-row>input[data-step="action"]{grid-column:1/-1}.step-row>input[data-step="owner"]{grid-column:1/-1}.step-row>input[data-step="date"]{grid-column:1/-1}.step-actions{grid-column:1/-1;grid-row:auto}.next-step-highlight{align-items:flex-start;flex-direction:column}}
