.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.admin-launch{width:52px;height:52px;padding:13px!important;left:max(16px,env(safe-area-inset-left));bottom:max(18px,env(safe-area-inset-bottom));border-radius:50%;background:rgba(250,248,240,.58);border:1px solid rgba(52,84,66,.25);color:#254d3c;box-shadow:0 5px 22px rgba(20,52,39,.14);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);opacity:.68;transition:opacity .2s,transform .2s,background .2s}
.admin-launch:after{display:none!important}
.admin-launch svg{display:block;width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.admin-launch:hover,.admin-launch:focus-visible{opacity:1;background:rgba(250,248,240,.92);transform:translateY(-3px)}
.admin-launch:focus-visible{outline:3px solid #b99553;outline-offset:3px}
body.adm-open{overflow:hidden}
.admin-overlay{background:rgba(13,35,28,.66);backdrop-filter:blur(8px);padding:24px}
.admin-panel{--gold:#af8543;--gold2:#d5b46b;--muted:#66756c;--line:#d9e1db;--panel:#fff;--panel2:#f5f7f3;--text:#203e30;background:#f8f9f5;color:#203e30;width:min(1100px,100%);max-height:calc(100dvh - 48px);border:1px solid #d5dfd6;border-radius:24px;padding:28px;box-shadow:0 24px 90px rgba(9,33,24,.28);scrollbar-color:#aabbb0 #edf1ec;overscroll-behavior:contain}
.admin-panel h2,.admin-panel h3,.admin-panel h4,.admin-panel label,.admin-panel strong{color:#203e30}
.admin-panel p,.admin-panel small,.admin-panel .admin-note{color:#5d7166}
.admin-head{position:sticky;top:-28px;z-index:5;background:#f8f9f5;align-items:flex-start;padding-top:8px;padding-bottom:22px;border-bottom:1px solid #d9e1db;gap:22px}
.admin-head h2{font-family:'Playfair Display',serif;font-size:30px;line-height:1.2;margin:5px 0 9px!important}
.admin-head small{font-size:12px;display:block;max-width:540px;line-height:1.6}
.adm-brand-kicker{font-size:10px;font-weight:800;letter-spacing:2px;color:#9c773c;display:block}
.admin-head #adminClose{color:#234a38;width:44px;height:44px;display:grid;place-items:center;border:1px solid #d7e1d8;border-radius:50%;background:#fff;flex:none}
.admin-head .adm-lang{border-color:#d0dcd3;background:#edf2ed}
.admin-head .adm-lang button{color:#335e47;min-height:36px}
.admin-head .adm-lang button.active{background:#214e39;color:#fff}
.admin-head-tools{gap:10px}
.login-box{max-width:420px;margin:34px auto 20px}
.adm-login-intro{font-size:14px;line-height:1.75;margin-bottom:24px}
.login-box .admin-action{width:100%;margin-top:5px}
.admin-tabs{gap:7px;margin:22px 0;flex-wrap:wrap}
.admin-tabs button{background:#fff;border:1px solid #d6e0d6;color:#315b43;border-radius:9px;padding:12px 14px;font-size:12px;font-weight:700;min-height:44px}
.admin-tabs button:hover{background:#edf2ec}
.admin-tabs button.active{background:#244e3a;border-color:#244e3a;color:#fff;box-shadow:0 4px 10px rgba(30,72,49,.12)}
.admin-tabs #logoutBtn{margin-left:auto;color:#865840}
.admin-field>label,.admin-field>span{font-size:12px;font-weight:700;color:#315641}
.admin-field input,.admin-field textarea,.admin-field select{background:#fff;border:1px solid #cbd8ce;color:#233e30;border-radius:10px;padding:12px;font:inherit;font-size:14px;min-height:45px;box-shadow:0 1px 2px rgba(23,52,35,.02)}
.admin-field textarea{min-height:88px;line-height:1.65}
.admin-field input::placeholder,.admin-field textarea::placeholder{color:#798980}
.admin-panel input:focus-visible,.admin-panel textarea:focus-visible,.admin-panel select:focus-visible,.admin-panel button:focus-visible{outline:2px solid #a27d40;outline-offset:3px}
.admin-panel button:disabled{opacity:.48;cursor:not-allowed}
.admin-panel .admin-action{background:#244f3a;color:#fff;border-radius:10px;min-height:45px;box-shadow:0 4px 12px rgba(29,78,47,.12);font-size:13px}
.admin-panel .admin-action.ghost{background:#fff;color:#315a43;border:1px solid #cbd8ce;box-shadow:none}
.admin-panel .admin-status{color:#315f45;min-height:20px;line-height:1.6;font-size:13px;overflow-wrap:anywhere}
.adm-guide,.adm-section-heading{border:1px solid #dce4d8;border-left:4px solid #ac884b;border-radius:12px;background:#edf2e8;padding:20px;margin-bottom:22px}
.adm-guide h3,.adm-section-heading h3{font-family:'Playfair Display',serif;font-size:23px;margin:0 0 8px}
.adm-guide p,.adm-section-heading p{font-size:13px;line-height:1.8;margin:0}
.adm-section-heading h3{font-size:28px;margin-top:6px}
.adm-main-banner{border-color:#d7e1d7;background:#f0f3ea}
.adm-main-banner .adm-main-label{color:#8e6b37}
.adm-check{border-color:#d6dfd2;background:#fff;color:#37533d}
.adm-check b,.adm-device b{color:#355f43}
.adm-device{border-color:#d5dfd3;background:#edf2e8;color:#3d5b43}
.adm-drop{border-color:#a9bea9;background:#f0f5ed;color:#254731}
.adm-drop:hover,.adm-drop.drag{border-color:#66836a;background:#e6efe1}
.adm-drop-copy strong{color:#254731}
.adm-drop-copy span{color:#5c7160}
.adm-drop-icon{background:#e0ead8;color:#4a6842}
.adm-drop-btn{background:#254e38;color:#fff}
.adm-file-chip{background:#eaf1e5;color:#31523a;border-color:#c5d6bb}
.adm-file-chip.warn{background:#fbefe1;color:#7a4e1d;border-color:#dec29c}
.adm-list-head{color:#58725b}
.adm-row{background:#fff;border:1px solid #dbe3d7;border-radius:12px;padding:14px;gap:14px}
.admin-panel .adm-row-text strong,.admin-panel .adm-row b{color:#264631}
.admin-panel .adm-row-text span,.admin-panel .adm-row small{color:#667b67}
.adm-row-actions{flex-wrap:wrap}
.adm-row-actions button{background:#eef3e9;border:1px solid #d3e0c9;color:#345137;min-height:40px;border-radius:8px}
.adm-row-actions button.danger{background:#fbefeb;border-color:#e7cbc0;color:#884e3d}
.adm-thumb,.adm-ev-thumb{border-color:#d8e1d2;background-color:#eaf0e4}
.adm-badge.off{background:#f2e5d9;color:#875d34}
.adm-editor-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.adm-editor-guide{font-size:12px;line-height:1.9;padding:15px 18px;background:#fff;border:1px solid #e0e6dd;border-radius:10px;margin:0 0 20px}
.adm-editor-fields{display:grid;gap:16px}
.adm-content-field{padding:20px;border:1px solid #dce4d8;border-radius:14px;background:#fff}
.adm-content-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.adm-content-heading h4{font-size:14px;line-height:1.6;font-weight:700;max-width:75%;overflow-wrap:anywhere}
.adm-reset{border:0;background:none;color:#8c6932;cursor:pointer;font-size:12px;font-weight:700;min-height:32px}
.adm-content-field .admin-field:last-child{margin-bottom:0}
.adm-image-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.adm-image-preview{width:112px;height:88px;object-fit:contain;background:#f1f3ec;border:1px solid #dae3d4;border-radius:10px;padding:5px}
.adm-upload-button{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;min-height:44px;padding:12px 16px;border:1px solid #b8c9b1;border-radius:9px;background:#edf3e7;font-size:12px;font-weight:700;max-width:100%;overflow-wrap:anywhere;cursor:pointer}
.adm-upload-button input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}
.adm-upload-button:focus-within{outline:2px solid #a27d40;outline-offset:3px}
.adm-image-row small{font-size:10px}
.adm-publish-bar{position:sticky;bottom:-28px;background:rgba(248,249,245,.97);backdrop-filter:blur(12px);border-top:1px solid #d5dfd0;padding:18px 0;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px;z-index:3}
#siteDirty{font-size:12px;color:#667b63}
.adm-editor-empty{padding:30px;border:1px dashed #b8cab0;border-radius:12px;text-align:center}
.trd-dir,.trd-way{border-color:#d1dfc8;background:#eff4eb;color:#3b5a39}
.trd-way.active{background:#2c583b;color:#fff}
#programacion .cards{gap:22px;align-items:stretch}
#programacion .card{--card-ink:#254a37;--card-accent:#719275;--card-bg:#e9f0e6;background:var(--card-bg);border:1px solid color-mix(in srgb,var(--card-accent) 35%,transparent);border-radius:22px;box-shadow:0 10px 30px rgba(33,62,43,.06);padding:30px 25px}
#programacion .card:nth-child(2){--card-ink:#73452e;--card-accent:#bc8763;--card-bg:#f4e9df}
#programacion .card:nth-child(3){--card-ink:#284d61;--card-accent:#769da8;--card-bg:#e5eef1}
#programacion .card:before{left:25px;right:25px;top:0;height:3px;opacity:1;background:var(--card-accent)}
#programacion .card:after{display:none}
#programacion .card h3{color:var(--card-ink);font-family:'Playfair Display',serif;font-size:25px;line-height:1.3;margin-bottom:13px}
#programacion .card p{color:var(--card-ink);opacity:.84;font-size:14px;line-height:1.8}
#programacion .card .icon{background:rgba(255,255,255,.58);border:1px solid rgba(255,255,255,.7);border-radius:15px;box-shadow:none;width:54px;height:54px}
#programacion .card .icon svg{stroke:var(--card-ink)}
#programacion .card .time{background:rgba(255,255,255,.56);color:var(--card-ink);border-color:transparent;display:inline-block;margin-top:22px;font-weight:800;font-size:12px;padding:10px 13px;border-radius:9px;line-height:1.6}
#programacion .card:hover{transform:translateY(-4px);box-shadow:0 15px 32px rgba(33,62,43,.1);border-color:var(--card-accent)}
.dev-credit{display:block;color:#dcc899!important;margin-top:13px;font-size:11px;text-decoration:none}
.dev-credit:hover{text-decoration:underline;text-underline-offset:4px}
.ev-link{display:inline-block;margin-top:14px;color:#355d43;font-weight:700;text-decoration:underline;text-underline-offset:4px;font-size:12px}
.adm-event-clock{display:grid;grid-template-columns:1.15fr 1fr;gap:12px}
@media(max-width:760px){
  .admin-overlay{padding:10px}
  .admin-panel{max-height:calc(100dvh - 20px);padding:20px;border-radius:18px;width:100%}
  .admin-head{top:-20px;gap:14px;padding-bottom:18px;flex-wrap:wrap}
  .admin-head>div:first-child{flex:1;min-width:155px}
  .admin-head small{display:none}
  .admin-head h2{font-size:24px!important}
  .admin-head-tools{margin-left:0;flex-direction:column-reverse;align-items:flex-end;gap:8px}
  .admin-tabs{display:flex;flex-wrap:nowrap;overflow:auto;padding:2px 1px 8px;gap:6px;scrollbar-width:thin}
  .admin-tabs button{white-space:nowrap;flex:none;font-size:11px;padding:11px 12px}
  .admin-tabs #logoutBtn{margin-left:0}
  .adm-editor-toolbar,.admin-grid{grid-template-columns:1fr;gap:0}
  .admin-field input,.admin-field textarea,.admin-field select{font-size:16px}
  .adm-content-field{padding:16px}
  .adm-content-heading{gap:8px}
  .adm-content-heading h4{font-size:13px}
  .adm-section-heading h3{font-size:24px}
  .adm-publish-bar{bottom:-20px;flex-wrap:wrap;padding:14px 0}
  .adm-publish-bar .admin-action{flex:1}
  .adm-row{flex-wrap:wrap}
  .adm-row-text{flex:1;min-width:130px}
  .adm-row-actions{width:100%;display:flex;gap:6px}
  .adm-row-actions button{flex:1;padding:10px;font-size:11px}
  .adm-drop{flex-wrap:wrap;padding:15px}
  .adm-drop-btn{margin-left:59px;flex:1;text-align:center}
  #programacion .cards{grid-template-columns:1fr;gap:15px}
  #programacion .card{padding:25px;border-radius:18px}
  #programacion .card h3{font-size:24px}
  #programacion .card .time{margin-top:16px}
  .admin-launch{width:48px;height:48px;bottom:max(14px,env(safe-area-inset-bottom));left:12px}
}
@media(max-width:380px){.admin-panel{padding:16px}.admin-head{top:-16px}.admin-head h2{font-size:22px!important}.adm-publish-bar{bottom:-16px}.adm-event-clock{grid-template-columns:1fr}.adm-content-heading{flex-wrap:wrap}.adm-content-heading h4{max-width:100%}}
@media(prefers-reduced-motion:reduce){.admin-launch,#programacion .card{transition:none;transform:none!important}}
