@import url('voice-assistant.css');
:root{--green:#6f9c82;--dark:#315c49;--mint:#eaf6ef;--line:#dfeae4;--bg:#f7faf8;--text:#23352e;--muted:#6d7b74;--danger:#b94f4f;--white:#fff}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--text)}a{text-decoration:none;color:inherit}.topbar{height:72px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 22px;position:sticky;top:0;z-index:15}.topbar .brand{display:flex;align-items:center;gap:9px;color:var(--dark);font-weight:800;font-size:19px}.topbar .brand img{width:42px;height:42px;object-fit:contain}.topbar-actions{display:flex;align-items:center;gap:10px}.icon-btn,.btn{border:0;border-radius:11px;padding:10px 13px;font-weight:700;cursor:pointer}.icon-btn{background:var(--mint);color:var(--dark)}.btn-light{background:var(--mint);color:var(--dark)}.user-chip{background:#f3f6f4;border:1px solid var(--line);padding:8px 11px;border-radius:999px;font-size:13px}.layout{display:grid;grid-template-columns:230px 1fr;min-height:calc(100vh - 72px)}.sidebar{background:#315c49;color:white;padding:18px;display:flex;flex-direction:column;gap:18px}.sidebar .mini-brand{display:flex;align-items:center;gap:8px;padding:8px 6px;font-weight:800}.sidebar nav{display:grid;gap:6px}.sidebar nav a{padding:11px 12px;border-radius:12px;color:#dceae2;font-size:14px}.sidebar nav a:hover,.sidebar nav a.active{background:rgba(255,255,255,.13);color:white}.page{padding:28px;max-width:1450px;width:100%;margin:auto}.page-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;margin-bottom:24px}.eyebrow{font-size:11px;letter-spacing:.13em;font-weight:800;color:var(--dark)}h1{font-size:34px;margin:7px 0 0}.muted{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}.stat{background:white;border:1px solid var(--line);border-radius:18px;padding:18px}.stat span{display:block;color:var(--muted);font-size:13px}.stat strong{display:block;font-size:28px;margin-top:7px}.panel{background:white;border:1px solid var(--line);border-radius:20px;padding:20px;margin-bottom:20px}.panel-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:16px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:13px}.table th,.table td{padding:12px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.table th{color:var(--muted);font-weight:700}.badge{display:inline-flex;border-radius:999px;padding:5px 9px;background:var(--mint);color:var(--dark);font-weight:700;font-size:11px}.badge.danger{background:#fdeceb;color:var(--danger)}.actions{display:flex;gap:6px;flex-wrap:wrap}.small-btn{border:1px solid var(--line);background:white;border-radius:9px;padding:7px 9px;cursor:pointer;font-size:12px}.danger-btn{color:var(--danger);border-color:#f0cccc}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.form-grid .full{grid-column:1/-1}.field label{display:grid;gap:7px;font-weight:700;font-size:13px}.field input,.field textarea,.field select{padding:11px;border:1px solid var(--line);border-radius:11px;font:inherit}.field textarea{min-height:140px;resize:vertical}.notice{padding:12px;border-radius:12px;background:#fff6df;color:#745d21;margin-bottom:16px}.accessibility-panel{position:fixed;right:18px;bottom:18px;z-index:40;background:white;border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 45px rgba(42,77,61,.15);padding:12px;display:flex;gap:8px}.accessibility-panel button{border:0;border-radius:10px;padding:9px 11px;background:var(--mint);color:var(--dark);font-weight:700}.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.post{background:white;border:1px solid var(--line);border-radius:18px;padding:18px}.post .cover{height:120px;background:var(--mint);border-radius:13px;margin-bottom:14px;display:flex;align-items:center;justify-content:center;font-size:34px}.post h3{margin-bottom:7px}.post p{color:var(--muted);font-size:14px}.empty{padding:30px;text-align:center;color:var(--muted)}body.dark{background:#14211c;color:#eef8f2}body.dark .topbar,body.dark .panel,body.dark .stat,body.dark .post,body.dark .accessibility-panel{background:#1d2c25;color:#eef8f2}body.dark .muted,body.dark .stat span,body.dark .post p{color:#bdd0c5}@media(max-width:1000px){.cards{grid-template-columns:repeat(2,1fr)}.post-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.layout{grid-template-columns:1fr}.sidebar{position:sticky;top:72px;z-index:10;overflow:auto;flex-direction:row;align-items:center}.sidebar nav{display:flex;overflow:auto}.sidebar .mini-brand{display:none}.page{padding:18px}.cards,.post-grid,.form-grid{grid-template-columns:1fr}.page-head{align-items:flex-start;flex-direction:column}}
.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}
.skip-link{position:absolute;left:10px;top:-100px;z-index:300;background:#000;color:#fff;padding:10px 14px;border-radius:8px}.skip-link:focus{top:10px}
.dark .sidebar{background:#0e1b16}
.dark .small-btn,.dark .field input,.dark .field textarea,.dark .field select{background:#15211c;color:#eef8f2;border-color:#426050}
.dark .btn-light,.dark .icon-btn{background:#294838;color:#eef8f2}
.dark .notice{background:#4b3b1d;color:#ffe8a3}
.reading-friendly{font-family:Arial,Helvetica,sans-serif;letter-spacing:.01em}
.reduce-motion *{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
.text-spacing,.text-spacing button,.text-spacing input,.text-spacing select,.text-spacing textarea{letter-spacing:.06em;line-height:1.8}
.low-stimulus *{animation:none!important;transition:none!important;box-shadow:none!important}.low-stimulus .site-background,.low-stimulus .hero::before{display:none}
.high-contrast{--bg:#fff;--text:#000;--muted:#222;--line:#000;--mint:#fff}.high-contrast .panel,.high-contrast .post,.high-contrast .stat,.high-contrast .topbar,.high-contrast .accessibility-panel{border:2px solid #000}.high-contrast a,.high-contrast button{ text-decoration:underline}.high-contrast .sidebar{background:#000}.high-contrast .muted{color:#222}

/* Controles compartidos: no se superponen con el asistente y conservan foco visible. */
:where(button,a,input,select,textarea):focus-visible{outline:3px solid #f0c36a;outline-offset:2px}
.accessibility-panel{right:20px;bottom:20px;z-index:100;max-width:calc(100vw - 40px);flex-wrap:wrap}
.accessibility-panel button{cursor:pointer}
.post-filter{display:flex;gap:10px;flex-wrap:wrap}
.post-filter input{flex:1;min-width:220px;padding:12px;border:1px solid var(--line);border-radius:11px;background:var(--white);color:var(--text);font:inherit}
.post-filter .btn{background:var(--green);color:#fff}
.post-title{font-size:20px;margin:10px 0 7px}
.post-speak{margin-top:12px}
.post-report{margin-top:10px}
.post-report summary{cursor:pointer;color:var(--dark);font-weight:700}
.post-report form{display:grid;gap:7px;margin-top:8px}
.post-report select,.post-report textarea{padding:8px;border:1px solid var(--line);border-radius:9px;background:var(--white);color:var(--text);font:inherit}
.post-report textarea{min-height:76px;resize:vertical}
.notice-error{background:#fdeceb;color:#8d3030}
body.dark .post-filter input,body.dark .post-report select,body.dark .post-report textarea{background:#15211c;color:#eef8f2;border-color:#426050}
body.dark .post-report summary{color:#d9eee2}
body.dark .notice-error{background:#4b2525;color:#ffd4d4}
body.dark .accessibility-panel button{background:#294838;color:#eef8f2}
@media(max-width:760px){
  .accessibility-panel{left:14px;right:14px;bottom:14px;justify-content:center}
}
