:root{--navy:#142c45;--navy2:#213e56;--gold:#b69a57;--gold-soft:#efe8d8;--wine:#720c39;--ink:#1a2c3e;--muted:#68788a;--bg:#f4f6f8;--line:#e1e5ea;--white:#fff;--shadow:0 5px 22px rgba(21,42,60,.06)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Arial,'Segoe UI',sans-serif;font-size:15px;line-height:1.5}a{color:inherit;text-decoration:none}a:hover{color:var(--wine)}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;object-fit:contain}.topbar{height:104px;background:#fff;border-bottom:3px solid var(--gold);padding:10px max(18px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:14px;min-width:0}.seal{width:78px;height:78px}.brand-name{font-size:25px;font-weight:750;letter-spacing:-.7px;color:var(--navy);white-space:nowrap}.brand-name em{font-style:normal;color:var(--wine)}.brand-name small{font-weight:400;font-size:11px;display:block;letter-spacing:1px;color:#728092;text-transform:uppercase}.marina{height:60px;width:min(315px,32vw)}.nav{background:var(--navy);height:49px;padding:0 max(18px,calc((100vw - 1180px)/2));display:flex;align-items:center;gap:24px;color:#f8fafc}.nav a,.nav button{color:#e3e9ef;font-size:13px}.nav a:hover{color:#fff}.nav-spacer,.grow{flex:1}.nav-user{font-size:12px;color:#c1ccd6}.nav-exit{border:0;background:transparent;padding:6px}.container{max-width:1180px;margin:0 auto;min-height:calc(100vh - 250px);padding:34px 18px 65px}.container-public{max-width:940px}.footer{text-align:center;font-size:12px;color:#8994a1;margin:20px 16px 30px}.card{background:var(--white);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:25px}.card h2{font-size:18px;margin:0 0 15px;line-height:1.3}h1{font-size:30px;line-height:1.25;letter-spacing:-.7px;margin:4px 0 8px}h3{margin:0 0 10px;font-size:16px}.muted{color:var(--muted)}.small{font-size:12px}.hint{font-size:12px;color:#84909c;margin:14px 0}.kicker{font-weight:700;color:var(--gold);font-size:11px;letter-spacing:2px}.page-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:25px}.page-head p{margin:6px 0 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:8px;padding:10px 17px;min-height:40px;font-size:13px;font-weight:600;transition:background .15s}.btn-primary{background:var(--navy);color:white}.btn-primary:hover{background:#244663;color:white}.btn-quiet{background:white;color:var(--navy);border-color:var(--line)}.btn-quiet:hover{background:#f5f7fa;color:var(--navy)}.btn-small{font-size:11px;min-height:29px;padding:5px 10px}.full{width:100%}.plus{font-size:20px;line-height:12px}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(275px,1fr));gap:18px}.form-card{display:flex;flex-direction:column;min-height:220px}.form-card-top,.question-top,.question-footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.form-card h2{margin:15px 0 5px}.form-card .clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px}.form-actions{margin-top:auto;display:flex;gap:8px;padding-top:16px}.pill{font-size:11px;border-radius:30px;background:#e5f5eb;color:#21633d;padding:3px 10px;white-space:nowrap}.pill-muted{background:#eff2f5;color:#687785}.empty{padding:45px;text-align:center}.mid-card{max-width:740px}.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 295px;gap:20px}.editor-main{display:flex;flex-direction:column;gap:16px}.sidebar .sticky{position:sticky;top:24px}.section-head{margin:10px 0 0;font-size:18px}.gold-rule{height:5px;background:var(--gold);border-radius:8px;margin:-25px -25px 25px}.question-card{border-left:4px solid var(--gold)}.question-card h3{margin-top:12px}.question-footer{justify-content:flex-start;margin-top:18px;border-top:1px solid var(--line);padding-top:13px}.choices-preview{color:var(--muted);font-size:13px;display:grid;gap:5px}.answer-preview{border-bottom:1px solid #bec9d0;color:#98a2ab;padding:8px 0}.tabs{display:flex;gap:22px;border-bottom:1px solid var(--line);margin:0 0 22px}.tabs>a,.tabs>span{display:inline-block;padding:8px 0 12px;font-size:13px;color:#6f7d87}.tabs .selected{border-bottom:3px solid var(--gold);color:var(--navy);font-weight:700}.public-wrap{max-width:740px;margin:0 auto}.gold-strip{background:var(--gold);height:9px;border-radius:12px 12px 0 0;margin-bottom:-10px;position:relative;z-index:1}.public-heading{padding-top:34px}.public-heading h1{margin:10px 0}.public-question{margin-top:16px}.question-label{font-weight:600;font-size:15px;display:block;margin-bottom:18px}.required{color:#b54242}.option-list{display:flex;flex-direction:column;gap:15px}.option{display:flex;gap:10px;align-items:flex-start;font-size:14px}.option input{accent-color:var(--navy);margin-top:4px}.public-wrap>form>.btn{margin-top:20px}.thank-you{max-width:620px;margin:30px auto;text-align:center;padding:60px 30px}.success-icon{width:55px;height:55px;line-height:55px;border-radius:100%;background:#e6f5eb;color:#167944;font-size:30px;margin:0 auto 18px}.metric-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:18px}.metric-number{font-size:36px;font-weight:750;color:var(--navy)}.metric-status{font-size:22px;font-weight:700;margin-top:6px}.result-card{margin-bottom:16px}.result-card h2{margin-top:14px}.bar-label{display:flex;justify-content:space-between;gap:12px;font-size:13px;margin:14px 0 5px}.bar-track{height:12px;background:#edf1f4;border-radius:12px;overflow:hidden}.bar{height:100%;background:linear-gradient(90deg,#b39a67,#856d42);border-radius:12px}.response-list{display:grid;gap:8px;max-height:400px;overflow:auto}.response-list>div{padding:12px 14px;background:#f6f7f8;border-radius:8px;font-size:13px;overflow-wrap:anywhere}.grant{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid var(--line);padding:12px 0}.two-col{display:grid;grid-template-columns:minmax(280px,1fr) minmax(0,1.7fr);gap:20px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;color:#7a8a99;font-size:11px}td,th{padding:11px 9px;border-bottom:1px solid var(--line)}.auth-card{max-width:470px;margin:35px auto;padding:34px}.auth-card h1{font-size:27px}form>div:has(> label){margin-bottom:16px}label:not(.option){display:block;margin-bottom:7px;color:#283d50;font-size:13px;font-weight:600}input:not([type=radio]):not([type=checkbox]),select,textarea{width:100%;border:1px solid #cbd3dc;border-radius:7px;padding:11px 12px;background:white;outline:0;font-size:14px;color:#21384a}input:focus,select:focus,textarea:focus{border-color:#937b4b;box-shadow:0 0 0 3px rgba(182,154,87,.15)}textarea{resize:vertical}form .helptext{display:block;font-size:11px;color:#778593}.errorlist{color:#b63845;padding-left:18px;font-size:12px}.field-error{color:#b63845;font-size:12px}.alert{padding:12px 16px;border-radius:7px;background:#e6f6ec;color:#27693f;margin-bottom:16px}.alert-error{background:#fff0ef;color:#9f2f33}aside hr{border:0;border-top:1px solid var(--line);margin:22px 0}aside input{margin:8px 0 10px}aside .btn{margin-top:10px}
@media(max-width:850px){.topbar{height:94px}.seal{height:62px;width:62px}.marina{max-width:190px;height:48px}.brand-name{font-size:19px}.brand-name small{font-size:8px}.editor-layout,.two-col{grid-template-columns:1fr}.sidebar .sticky{position:static}}
@media(max-width:560px){.topbar{padding:10px 13px}.seal{width:50px;height:50px}.brand{gap:7px}.brand-name{font-size:17px}.brand-name small{font-size:7px}.marina{max-width:110px;max-height:40px}.nav{gap:10px;padding:0 12px}.nav-user{display:none}.container{padding:22px 12px 45px}.card{padding:18px}h1{font-size:24px}.page-head{align-items:flex-start;flex-direction:column}.metric-row{gap:7px}.metric{padding:13px}.metric-number{font-size:27px}.metric-status{font-size:15px}.form-grid{grid-template-columns:1fr}}

/* Acción de borrado lógico en la tarjeta: discreta y coherente con los demás botones. */
.form-actions{flex-wrap:wrap;align-items:center}
.form-actions form{margin:0}
.btn-delete{border-color:#d7b6bb;color:#9c3344;background:#fff;font-weight:600}
.btn-delete:hover,.btn-delete:focus-visible{background:#fff4f5;border-color:#bb5c68;color:#842839}


/* =====================================================================
   OSYN Forms · Cuestionarios públicos accesibles · móvil y tableta
   Solo se activan con .survey-public y no modifican paneles privados.
   ===================================================================== */
.survey-public { width:100%; max-width:740px; min-width:0; }
.survey-public, .survey-public * { min-width:0; }
.survey-public .public-heading { padding-top:34px; }
.survey-public .public-heading h1,
.survey-public .public-heading p,
.survey-public .question-label,
.survey-public .option span { overflow-wrap:anywhere; word-break:normal; }
.survey-public .public-heading p { max-width:68ch; }
.survey-public .survey-response-form { display:flex; flex-direction:column; gap:16px; }
.survey-public .survey-response-form .public-question { margin-top:0; }
.survey-public .public-question .question-label {
  display:block; width:100%; padding:0; margin:0 0 16px;
  font-size:16px; font-weight:650; line-height:1.5;
}
.survey-public .option-list { gap:9px; }
.survey-public .option {
  display:flex; align-items:center; gap:13px; padding:12px 14px;
  min-height:48px; border:1px solid #dbe1e7; border-radius:10px;
  font-size:15px; line-height:1.45; cursor:pointer;
  -webkit-tap-highlight-color:rgba(20,44,69,.08);
  transition:border-color .15s, background-color .15s;
}
.survey-public .option:hover { border-color:#b7c5d1; background:#f9fafb; }
.survey-public .option:focus-within { outline:2px solid #927640; outline-offset:1px; }
.survey-public .option input[type="radio"],
.survey-public .option input[type="checkbox"] {
  width:20px; height:20px; min-width:20px; flex:0 0 20px;
  margin:0; accent-color:var(--navy); cursor:pointer;
}
.survey-public .option span { flex:1; }
.survey-public input:not([type=radio]):not([type=checkbox]),
.survey-public textarea { font-size:16px; line-height:1.5; padding:13px 14px; min-height:48px; }
.survey-public textarea { min-height:130px; resize:vertical; }
.survey-public .survey-actions { margin:2px 0 0; display:flex; flex-direction:column; gap:10px; align-items:flex-start; }
.survey-public .survey-submit { min-height:48px; padding:12px 26px; font-size:15px; }
.survey-public .survey-submit:disabled { opacity:.68; cursor:wait; }
.survey-public .survey-submit-info { color:var(--muted); margin:0; font-size:12px; }
.survey-public .survey-error-summary { background:#fff4f3; color:#8c2d33; border:1px solid #edc7c7; border-radius:9px; padding:12px 14px; font-size:14px; }
.survey-public .field-error { margin:10px 0 0; font-size:13px; font-weight:600; }
.survey-public :focus-visible { outline:2px solid #927640; outline-offset:3px; }
@media(max-width:850px){
  .survey-public .public-heading h1 { font-size:clamp(23px,3.8vw,30px); line-height:1.22; }
}
@media(max-width:560px){
  .container:has(.survey-public) { padding:16px 12px 36px; }
  .survey-public .gold-strip { height:7px; }
  .survey-public .public-heading { padding:26px 18px 20px; }
  .survey-public .public-heading h1 { font-size:clamp(22px,6vw,26px); }
  .survey-public .public-question { padding:18px 16px 20px; border-radius:11px; }
  .survey-public .public-question .question-label { font-size:16px; margin-bottom:13px; }
  .survey-public .option { min-height:52px; padding:13px 12px; font-size:16px; }
  .survey-public .option-list { gap:8px; }
  .survey-public .survey-actions { width:100%; margin-top:0; }
  .survey-public .survey-submit { width:100%; min-height:52px; font-size:16px; }
  .survey-public .survey-submit-info { text-align:center; width:100%; }
  body:has(.survey-public) .topbar { height:auto; min-height:82px; padding:9px 12px; gap:6px 10px; }
  body:has(.survey-public) .brand { flex:1 1 160px; min-width:0; }
  body:has(.survey-public) .brand-name { font-size:clamp(15px,4.7vw,18px); white-space:normal; line-height:1.12; overflow-wrap:anywhere; }
  body:has(.survey-public) .brand-name small { font-size:7px; letter-spacing:.4px; line-height:1.4; }
  body:has(.survey-public) .seal { width:clamp(40px,12vw,52px); height:clamp(40px,12vw,52px); flex:0 0 auto; }
  body:has(.survey-public) .top-right { flex:0 1 auto; min-width:0; }
  body:has(.survey-public) .marina { width:clamp(78px,25vw,114px); height:auto; max-height:45px; }
}
@media(max-width:360px){
  .container:has(.survey-public) { padding-left:9px; padding-right:9px; }
  .survey-public .public-heading { padding-left:15px; padding-right:15px; }
  .survey-public .public-question { padding-left:13px; padding-right:13px; }
  body:has(.survey-public) .topbar { padding-left:8px; padding-right:8px; }
  body:has(.survey-public) .brand { gap:6px; }
}
@media(prefers-reduced-motion:reduce){
  .survey-public .option { transition:none; }
}

/* Campo anti-bots fuera del área visible y de la navegación por teclado. */
.survey-public .survey-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;pointer-events:none!important;}
