.admin-initial{all:unset;font:inherit;color:inherit;letter-spacing:inherit;cursor:inherit;display:inline}
.admin-initial:focus-visible{outline:2px solid #91e7ef;outline-offset:3px;border-radius:3px}
.legal-body{margin:0;color:#eff6f5;background:#04121b;font-family:Arial,sans-serif;line-height:1.65}
.legal-body::before{content:'';position:fixed;inset:0;z-index:-1;background:linear-gradient(100deg,#03121be8,#03121b99),url('media/arquitectura-nocturna.webp') center/cover}
.legal-top{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px max(5%,calc((100% - 1180px)/2));border-bottom:1px solid #91e7ef30;background:#06151ee8}
.legal-brand{display:block;flex-shrink:0;width:150px;height:54px;background:url('media/marca-aprobada.webp') 49% 14%/296% auto no-repeat}
.legal-top nav{display:flex;gap:20px;flex-wrap:wrap;align-items:center;font-size:14px}
.legal-body a{color:#b1edf1;text-underline-offset:4px}
.legal-top a{text-decoration:none}.legal-top a[aria-current=page]{color:#e5d29c}
.legal-main{max-width:1180px;margin:auto;padding:55px 5% 80px}
.legal-kicker{color:#91e7ef;font-size:11px;letter-spacing:2px;text-transform:uppercase}
.legal-body h1{font-size:clamp(34px,5vw,58px);line-height:1.08;letter-spacing:-1.5px;font-weight:500;margin:20px 0}
.legal-body h2{font-size:24px;line-height:1.3;font-weight:500;color:#b1edf1;margin:28px 0 12px}
.legal-body h3{font-size:19px;font-weight:500;margin:15px 0}
.legal-intro{max-width:720px;color:#c4d5dc;font-size:18px}
.legal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:30px}
.legal-card,.legal-paper{border:1px solid #91e7ef35;border-radius:20px;padding:30px;background:#061925d9;backdrop-filter:blur(12px);box-shadow:0 20px 60px #0004;min-width:0}
.legal-card p,.legal-paper p,.legal-paper li{color:#d1dfe5}
.legal-paper{margin-top:28px;max-width:900px}.legal-paper p{max-width:78ch}
.legal-note{padding:16px 20px;border-left:3px solid #e5d29c;background:#b99d5a12;color:#ebd9ad;font-size:14px;margin:24px 0}
.legal-actions{display:flex;flex-wrap:wrap;gap:14px;margin:22px 0}
.legal-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;border:1px solid #91e7ef66;background:linear-gradient(135deg,#264654,#0a202e);color:#eff6f5!important;border-radius:9px;padding:12px 18px;min-height:44px;font:inherit;cursor:pointer;box-shadow:inset 1px 1px 0 #d6faff40,0 7px 16px #0004}
.legal-button:disabled{opacity:.5;cursor:not-allowed}
.legal-foot{max-width:1180px;margin:auto;padding:24px 5%;border-top:1px solid #91e7ef30;color:#a9c1cb;font-size:13px}
.legal-foot a{margin-right:20px}.legal-meta{color:#abc3cd;font-size:13px}
.admin-status{display:inline-flex;gap:8px;align-items:center;font-size:12px;color:#e5d29c}.admin-status::before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor}
.admin-layout{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:24px;margin-top:28px}
.admin-form label{display:block;font-size:14px;margin-top:16px}.admin-form input{display:block;box-sizing:border-box;width:100%;margin-top:6px;padding:13px;border:1px solid #91e7ef50;border-radius:8px;background:#06131e;color:white;font:inherit}.admin-form input:focus{outline:2px solid #91e7ef;outline-offset:2px}
.admin-form button{margin-top:22px}.admin-form small{display:block;color:#b7c9d1;margin-top:14px}.admin-form [role=status]{min-height:28px}
.admin-form select,.admin-form textarea{display:block;box-sizing:border-box;width:100%;margin-top:6px;padding:13px;border:1px solid #91e7ef50;border-radius:8px;background:#06131e;color:white;font:inherit}.admin-form textarea{min-height:90px;resize:vertical}
.admin-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px}.admin-toolbar label{flex:1;min-width:180px}.admin-toolbar button{align-self:flex-end}
#admin-session .legal-paper{max-width:none}.admin-table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;padding:14px 12px;border-bottom:1px solid #91e7ef30;vertical-align:top}th{color:#91e7ef;font-weight:500}td .legal-button{font-size:12px;margin:3px;padding:7px 10px;min-height:36px}
#license-change{max-width:520px;width:calc(100% - 40px);box-sizing:border-box;border:1px solid #91e7ef60;border-radius:20px;background:#09212e;color:#eff6f5;padding:28px}#license-change::backdrop{background:#001018b3}
.admin-modules{list-style:none;padding:0;margin:0}.admin-modules li{padding:18px 0;border-bottom:1px solid #91e7ef20}.admin-modules strong{display:block;color:#eff6f5;font-weight:500}.admin-modules span{font-size:14px;color:#b7c9d1}
[hidden]{display:none!important}
@media(max-width:760px){.legal-top{align-items:flex-start;gap:20px;padding:20px 5%;flex-direction:column}.legal-top nav{gap:14px;font-size:13px}.legal-main{padding-top:30px}.legal-grid,.admin-layout{grid-template-columns:1fr}.legal-card,.legal-paper{padding:23px}.legal-body h1{font-size:36px}.legal-intro{font-size:16px}}
@media(prefers-reduced-motion:reduce){.legal-body *{scroll-behavior:auto}}

/* Read-only design preview: no authenticated data or actions. */
.admin-preview .legal-paper{max-width:none;scroll-margin-top:24px}
.preview-nav{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0}
.preview-nav a{padding:10px 16px;border:1px solid #91e7ef40;border-radius:8px;background:#0b2432b8;text-decoration:none;min-height:24px}
.preview-nav a:focus-visible,summary:focus-visible{outline:2px solid #91e7ef;outline-offset:4px}
.preview-overview h2{margin-top:12px}.preview-fields{border:1px solid #91e7ef30;border-radius:12px;margin-top:22px;padding:20px;min-width:0}
.preview-fields legend{color:#b7c9d1;font-size:13px;padding:0 8px}
.preview-fields .legal-grid{margin-top:0}.preview-fields input:disabled{opacity:1;color:#b7c9d1}
.admin-preview details{margin-top:24px;border-top:1px solid #91e7ef30;padding-top:18px}
.admin-preview summary{cursor:pointer;color:#b1edf1;padding:6px 0}
.preview-steps{padding-left:22px}.preview-steps li{padding:9px 0}
.admin-preview caption{text-align:left;color:#abc3cd;padding:14px 12px}
.preview-communication{grid-column:1/-1}
.message-preview{align-self:center;border-color:#91e7ef70;box-shadow:inset 1px 1px 0 #d6faff30,0 24px 60px #0007;background:linear-gradient(135deg,#163646e8,#071b29dd)}
.message-preview small{color:#b7c9d1}

/* Legal tables keep their own horizontal scroll on small devices. */
.legal-table-wrap{max-width:100%;overflow-x:auto;margin:22px 0;border:1px solid #91e7ef30;border-radius:12px}
.legal-table-wrap table{min-width:480px;line-height:1.6}
.legal-table-wrap caption{text-align:left;padding:16px;color:#c4d5dc;font-size:13px}
.legal-table-wrap:focus-visible,.legal-body a:focus-visible{outline:2px solid #91e7ef;outline-offset:4px}
.legal-card .legal-button{margin-top:12px}
.legal-paper a{overflow-wrap:anywhere}

/* Justified legal prose; short labels and narrow screens retain natural spacing. */
.legal-document .legal-paper p,
.legal-document .legal-card p:not(.legal-kicker),
.legal-document .legal-note{
  text-align:justify;
  text-align-last:start;
  hyphens:auto;
}
@media(max-width:600px){
  .legal-document .legal-paper p,
  .legal-document .legal-card p:not(.legal-kicker),
  .legal-document .legal-note{text-align:start;hyphens:none}
}
