:root {
    --admin-coffee:#51331f;
    --admin-coffee-dark:#2f1d13;
    --admin-gold:#c7a15a;
    --admin-gold-dark:#9a7537;
    --admin-beige:#f3eadb;
    --admin-cream:#fbf8f1;
    --admin-white:#fff;
    --admin-ink:#2b241f;
    --admin-muted:#746a60;
    --admin-border:#e2d7c6;
    --admin-green:#2f7653;
    --admin-red:#a33a3a;
    --admin-shadow:0 18px 48px rgba(61,43,27,.10);
}

* { box-sizing:border-box; }
html { min-height:100%; background:var(--admin-cream); }
body { min-height:100vh; margin:0; color:var(--admin-ink); background:var(--admin-cream); font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; }
button,input,select,textarea { font:inherit; }

.admin-body { display:flex; flex-direction:column; }
.admin-main { width:100%; flex:1; padding-top:clamp(1.5rem,4vw,3.5rem); padding-bottom:4rem; }
.admin-eyebrow { display:block; margin-bottom:.45rem; color:var(--admin-gold-dark); font-size:.73rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.admin-muted { color:var(--admin-muted); }

.admin-navbar { position:sticky; z-index:1020; top:0; border-bottom:1px solid rgba(255,255,255,.1); color:#fff; background:rgba(47,29,19,.97); box-shadow:0 5px 24px rgba(47,29,19,.16); backdrop-filter:blur(14px); }
.admin-navbar-inner { min-height:78px; display:flex; align-items:center; gap:clamp(1rem,3vw,2.5rem); }
.admin-brand { display:flex; align-items:center; gap:.7rem; color:#fff; text-decoration:none; }
.admin-brand img { width:48px; height:48px; object-fit:contain; border-radius:14px; background:#fff; }
.admin-brand span { display:flex; flex-direction:column; line-height:1.1; }
.admin-brand small { color:#dac8a9; font-size:.65rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.admin-brand strong { margin-top:.2rem; font-size:.95rem; }
.admin-main-nav { display:flex; align-items:center; gap:.35rem; margin-left:auto; }
.admin-main-nav a { min-height:42px; display:flex; align-items:center; border-radius:11px; padding:.55rem .85rem; color:#eee4d6; font-weight:700; text-decoration:none; }
.admin-main-nav a:hover,.admin-main-nav a:focus-visible,.admin-main-nav a.active { color:#fff; background:rgba(255,255,255,.12); }
.admin-nav-toggle { min-height:42px; border:0; border-radius:11px; padding:.55rem .85rem; color:#eee4d6; background:transparent; font-weight:700; }
.admin-nav-toggle:hover,.admin-nav-toggle:focus-visible,.admin-nav-toggle.active,.admin-nav-group.show .admin-nav-toggle { color:#fff; background:rgba(255,255,255,.12); }
.admin-nav-menu { min-width:210px; border:1px solid var(--admin-border); border-radius:14px; padding:.45rem; box-shadow:var(--admin-shadow); }
.admin-main-nav .admin-nav-menu a { min-height:36px; display:block; border-radius:9px; padding:.5rem .7rem; color:var(--admin-coffee-dark); font-weight:700; }
.admin-main-nav .admin-nav-menu a:hover,.admin-main-nav .admin-nav-menu a:focus-visible { color:var(--admin-coffee-dark); background:var(--admin-cream); }
.admin-main-nav .admin-new-link { color:#2f2118; background:var(--admin-gold); }
.admin-main-nav .admin-new-link:hover,.admin-main-nav .admin-new-link:focus-visible { color:#fff; background:var(--admin-gold-dark); }
.admin-logout { margin:0; }
.admin-logout button { min-height:42px; display:flex; align-items:center; gap:.4rem; border:1px solid rgba(255,255,255,.2); border-radius:11px; padding:.5rem .75rem; color:#fff; background:transparent; font-weight:700; }
.admin-logout button:hover { background:rgba(255,255,255,.1); }
.admin-logout button:active { transform:translateY(1px) scale(.98); }
.admin-logout svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }

.admin-button { min-height:46px; display:inline-flex; align-items:center; justify-content:center; gap:.5rem; border:1.5px solid transparent; border-radius:13px; padding:.68rem 1rem; font-weight:800; text-decoration:none; cursor:pointer; transition:transform .16s ease,box-shadow .16s ease,background .16s ease; }
.admin-button:hover,.admin-button:focus-visible { transform:translateY(-1px); }
.admin-button:active:not(:disabled) { transform:translateY(1px) scale(.98); }
.admin-button svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; }
.admin-button-primary { color:#fff; border-color:var(--admin-coffee-dark); background:var(--admin-coffee); box-shadow:0 7px 18px rgba(47,29,19,.17); }
.admin-button-primary:hover { color:#fff; background:var(--admin-coffee-dark); }
.admin-button-gold { color:#302317; border-color:#aa8441; background:var(--admin-gold); box-shadow:0 7px 18px rgba(154,117,55,.2); }
.admin-button-gold:hover { color:#fff; background:var(--admin-gold-dark); }
.admin-button-ghost { color:var(--admin-coffee); border-color:#b9a996; background:#fff; }
.admin-button-ghost:hover { color:#fff; background:var(--admin-coffee); }
.admin-button-danger { color:#fff; border-color:#8d3030; background:var(--admin-red); }
.admin-button-danger:hover { color:#fff; background:#7e2929; }
.admin-button-block { width:100%; }
.admin-button:disabled { opacity:.55; cursor:not-allowed; transform:none; box-shadow:none; }

.backend-status { width:max-content; display:inline-flex; align-items:center; gap:.45rem; border:1px solid #c8dfd3; border-radius:999px; padding:.5rem .8rem; color:#245f43; background:#edf8f2; font-size:.8rem; font-weight:800; }
.backend-status span { width:9px; height:9px; border-radius:50%; background:#38a66d; box-shadow:0 0 0 4px rgba(56,166,109,.13); }

.admin-hero { position:relative; overflow:hidden; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:2rem; margin-bottom:clamp(2.5rem,5vw,4rem); border-radius:28px; padding:clamp(1.6rem,5vw,3.5rem); color:#fff; background:linear-gradient(125deg,var(--admin-coffee-dark),#67452b 68%,#886637); box-shadow:var(--admin-shadow); }
.admin-hero::after { content:""; position:absolute; width:280px; height:280px; right:-90px; top:-110px; border:55px solid rgba(199,161,90,.17); border-radius:50%; }
.admin-hero>div { position:relative; z-index:1; }
.admin-hero .admin-eyebrow { color:#e5c98f; }
.admin-hero h1 { max-width:850px; margin:0; font-size:clamp(2rem,5vw,4rem); font-weight:850; letter-spacing:-.045em; line-height:1.02; }
.admin-hero p { max-width:700px; margin:1rem 0 0; color:#e5ddd2; font-size:clamp(1rem,2vw,1.15rem); }
.admin-hero-actions { display:flex; flex-direction:column; align-items:flex-end; gap:1rem; }
.admin-hero .live-clock {
    width:max-content;
    min-width:196px;
    display:grid;
    align-self:flex-end;
    border:1px solid rgba(225,193,132,.36);
    border-radius:17px;
    padding:.68rem .82rem;
    color:#fff9ed;
    background:rgba(38,23,15,.38);
    box-shadow:0 10px 25px rgba(29,17,10,.14);
    backdrop-filter:blur(12px);
}
.admin-hero .live-clock-label { display:flex; align-items:center; gap:.35rem; color:#e6c98f; font-size:.62rem; font-weight:850; letter-spacing:.11em; text-transform:uppercase; }
.admin-hero .live-clock-label svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.admin-hero .live-clock-time { display:flex; align-items:baseline; margin:.12rem 0 0; color:inherit; font-size:2rem; font-variant-numeric:tabular-nums; font-weight:790; letter-spacing:-.05em; line-height:1; }
.admin-hero .live-clock-separator { margin:0 .05em; opacity:.78; }
.admin-hero .live-clock-seconds { margin-left:.12rem; font-size:.35em; font-weight:650; letter-spacing:0; opacity:.62; }
.admin-hero .live-clock-date { margin-top:.26rem; color:#e7ddd0; font-size:.7rem; font-weight:650; line-height:1.2; }
.admin-hero .live-clock-date-compact { display:none; }
.admin-hero .live-clock.is-ticking .live-clock-time { animation:liveClockTick .24s cubic-bezier(.2,.75,.25,1); }
@keyframes liveClockTick { 0% { opacity:.5; transform:translateY(3px); } 100% { opacity:1; transform:none; } }

.admin-section-heading,.admin-page-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; margin-bottom:1.4rem; }
.admin-section-heading h2 { margin:0; font-size:clamp(1.55rem,3vw,2.25rem); font-weight:850; letter-spacing:-.03em; }
.admin-section-heading>a { color:var(--admin-coffee); font-weight:800; text-decoration:none; }
.admin-page-heading h1 { margin:0; font-size:clamp(2rem,4.5vw,3.5rem); font-weight:850; letter-spacing:-.04em; }
.admin-page-heading p { margin:.55rem 0 0; color:var(--admin-muted); }
.admin-back-link { display:inline-flex; margin-bottom:1.2rem; color:var(--admin-coffee); font-size:.9rem; font-weight:800; text-decoration:none; }

.admin-dashboard-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:1rem; }
.admin-module-card { min-width:0; min-height:150px; position:relative; display:flex; align-items:flex-start; gap:.85rem; grid-column:span 2; border:1px solid var(--admin-border); border-radius:20px; padding:1.25rem; background:#fff; box-shadow:0 9px 25px rgba(61,43,27,.06); text-decoration:none; transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease; }
.admin-module-card.featured { grid-column:span 2; color:#fff; border-color:var(--admin-coffee); background:linear-gradient(145deg,#6c482e,var(--admin-coffee)); }
.admin-module-card.featured:hover { transform:translateY(-2px); box-shadow:var(--admin-shadow); }
.admin-module-card:not(.upcoming):hover { transform:translateY(-2px); box-shadow:var(--admin-shadow); }
.admin-module-icon { width:45px; height:45px; flex:0 0 auto; display:grid; place-items:center; border-radius:14px; color:var(--admin-coffee); background:var(--admin-beige); font-size:1.25rem; font-weight:900; }
.featured .admin-module-icon { color:#fff; background:rgba(255,255,255,.15); }
.admin-module-copy { min-width:0; display:flex; flex-direction:column; }
.admin-module-copy small { color:var(--admin-gold-dark); font-size:.67rem; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.featured .admin-module-copy small { color:#e5c98f; }
.admin-module-copy strong { margin-top:.25rem; font-size:1.13rem; }
.admin-module-copy span { margin-top:.45rem; color:var(--admin-muted); font-size:.86rem; }
.featured .admin-module-copy span { color:#e9dfd2; }
.admin-module-arrow { margin-left:auto; font-size:1.5rem; }
.admin-module-card.upcoming { opacity:.84; }
.admin-community-module-card { position:relative; }
.admin-module-count { min-width:26px; height:26px; position:absolute; top:.75rem; right:.75rem; display:grid; place-items:center; border-radius:999px; padding:0 .42rem; color:#fff; background:var(--admin-red); font-size:.72rem; font-weight:900; }
.admin-pending-community-link { display:flex; justify-content:flex-end; margin-top:1rem; }
.admin-pending-community-link a { display:flex; align-items:center; gap:1rem; border:1px solid #ead497; border-radius:14px; padding:.75rem 1rem; color:#725310; background:#fff8df; text-decoration:none; }
.admin-pending-community-link span { color:var(--admin-coffee); font-size:.82rem; font-weight:850; }

.admin-recent-section { margin-top:clamp(2.5rem,5vw,4rem); }
.admin-recent-list,.admin-empty-state,.admin-history-card,.admin-form-card,.admin-send-card { border:1px solid var(--admin-border); border-radius:22px; background:#fff; box-shadow:0 10px 30px rgba(61,43,27,.06); }
.admin-recent-list { overflow:hidden; }
.admin-recent-item { display:grid; grid-template-columns:auto minmax(0,1fr) auto auto; align-items:center; gap:1rem; padding:1rem 1.25rem; border-bottom:1px solid #eee6da; }
.admin-recent-item { transition:background .18s ease,transform .18s ease; }
.admin-recent-item:hover { background:#fffaf2; }
.admin-recent-item:last-child { border-bottom:0; }
.admin-recent-item>div { min-width:0; display:flex; flex-direction:column; }
.admin-recent-item>div span,.admin-recent-item time { color:var(--admin-muted); font-size:.84rem; }
.admin-priority-dot { width:11px; height:11px; border-radius:50%; background:#7c9b87; }
.admin-priority-dot.priority-importante { background:#d19a32; }
.admin-priority-dot.priority-urgente { background:#b43e3e; }
.admin-empty-state { padding:clamp(2rem,5vw,3.5rem); text-align:center; }
.admin-empty-state strong { font-size:1.25rem; }
.admin-empty-state p { margin:.5rem 0 1.25rem; color:var(--admin-muted); }

@keyframes uiElementReveal {
    from { opacity:0; transform:translateY(20px) scale(.97); }
    to { opacity:1; transform:none; }
}
.ui-motion-fallback .ui-reveal { opacity:0; transform:translateY(20px) scale(.97); }
.ui-motion-fallback .ui-reveal.is-revealed { animation:uiElementReveal .52s cubic-bezier(.2,.72,.24,1) var(--ui-reveal-delay,0ms) both; }
@supports (animation-timeline:view()) and (animation-range:entry 0% cover 24%) {
    .ui-motion-scroll .ui-reveal {
        animation:uiElementReveal linear both;
        animation-timeline:view();
        animation-range:entry 0% cover 24%;
    }
}

.admin-messages { margin-bottom:1.25rem; }
.admin-messages:empty { display:none; margin:0; }
.admin-alert { --feedback-accent:#497493; --feedback-icon:#497493; position:relative; display:flex; align-items:flex-start; gap:.85rem; margin-bottom:.75rem; border:1px solid #b9d3e4; border-left:5px solid var(--feedback-accent); border-radius:16px; padding:1rem 3.25rem 1rem 1rem; color:#244a64; background:#edf7fd; box-shadow:0 9px 24px rgba(61,43,27,.07); animation:admin-feedback-enter .3s cubic-bezier(.2,.75,.25,1) both; }
.admin-alert p,.admin-alert ul { margin:0; }
.admin-alert ul { padding-left:1.15rem; }
.admin-alert li+li { margin-top:.25rem; }
.admin-alert-success { --feedback-accent:#2f7653; --feedback-icon:#2f7653; color:#225b40; border-color:#bedcc9; background:#eaf7ef; }
.admin-alert-error { --feedback-accent:#a33a3a; --feedback-icon:#a33a3a; color:#7b2929; border-color:#ebc0c0; background:#fff0f0; }
.admin-alert-warning { --feedback-accent:#c39332; --feedback-icon:#9b7019; color:#725310; border-color:#ead497; background:#fff8df; }
.admin-alert-info { --feedback-accent:#397da8; --feedback-icon:#397da8; color:#24526f; border-color:#b9d8ea; background:#edf8fe; }
.admin-alert.compact { padding:.75rem 3rem .75rem .85rem; }
.admin-alert-icon { width:34px; height:34px; flex:0 0 auto; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--feedback-icon); box-shadow:0 0 0 4px rgba(255,255,255,.5); }
.admin-alert-icon svg,.admin-toast-icon svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.admin-alert-content { min-width:0; flex:1; }
.admin-alert-content strong { display:block; margin:.05rem 0 .18rem; font-size:.92rem; }
.admin-alert-content p { overflow-wrap:anywhere; white-space:pre-line; }
.admin-alert-action { display:inline-flex; margin-top:.55rem; color:currentColor; font-size:.85rem; font-weight:850; }
.admin-feedback-close { width:32px; height:32px; position:absolute; top:.65rem; right:.65rem; display:grid; place-items:center; border:0; border-radius:9px; padding:0; color:currentColor; background:transparent; opacity:.65; cursor:pointer; }
.admin-feedback-close:hover,.admin-feedback-close:focus-visible { background:rgba(43,36,31,.08); opacity:1; outline:2px solid currentColor; outline-offset:1px; }
.admin-feedback-close svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; }
.admin-feedback-leaving { pointer-events:none; animation:admin-feedback-leave .22s ease forwards; }
.admin-send-result { margin:.65rem 0 0; border-top:1px solid rgba(47,118,83,.2); padding-top:.6rem; color:#225b40; }
.admin-send-result>div { display:grid; grid-template-columns:90px minmax(0,1fr); gap:.5rem; }
.admin-send-result dt { color:#47715b; font-size:.75rem; }
.admin-send-result dd { margin:0; overflow-wrap:anywhere; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:.78rem; }
.admin-toast-region { position:fixed; z-index:1090; right:max(1rem,env(safe-area-inset-right)); bottom:max(1rem,env(safe-area-inset-bottom)); width:min(390px,calc(100vw - 2rem)); display:grid; gap:.75rem; pointer-events:none; }
.admin-toast { --feedback-icon:var(--admin-green); position:relative; display:flex; align-items:flex-start; gap:.75rem; border:1px solid #d2c4b3; border-left:5px solid var(--admin-gold); border-radius:16px; padding:1rem 3rem 1rem 1rem; color:var(--admin-ink); background:#fff; box-shadow:0 18px 50px rgba(47,29,19,.22); pointer-events:auto; animation:admin-feedback-enter .3s cubic-bezier(.2,.75,.25,1) both; }
.admin-toast-success { --feedback-icon:var(--admin-green); border-left-color:var(--admin-green); }
.admin-toast-info { --feedback-icon:#397da8; border-left-color:#397da8; }
.admin-toast-icon { width:32px; height:32px; flex:0 0 auto; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--feedback-icon); }
.admin-toast-content { min-width:0; flex:1; }
.admin-toast-content strong { display:block; color:var(--admin-coffee); font-size:.83rem; }
.admin-toast-content p { margin:.15rem 0 0; overflow-wrap:anywhere; color:#554a41; font-size:.9rem; }
@keyframes admin-feedback-enter { from { opacity:0; transform:translateY(10px) scale(.985); } to { opacity:1; transform:none; } }
@keyframes admin-feedback-leave { to { opacity:0; transform:translateY(7px) scale(.985); } }
@media (prefers-reduced-motion:reduce) { .admin-alert,.admin-toast,.admin-feedback-leaving { animation:none; } }

.admin-notice-layout { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr); align-items:start; gap:1.25rem; }
.admin-form-card { padding:clamp(1.25rem,3vw,2rem); }
.admin-card-heading { display:flex; align-items:center; gap:.85rem; margin-bottom:1.5rem; }
.admin-card-heading h2,.admin-upcoming-card h2 { margin:0; font-size:1.35rem; font-weight:850; }
.admin-card-heading p { margin:.2rem 0 0; color:var(--admin-muted); font-size:.88rem; }
.admin-step { width:42px; height:42px; flex:0 0 auto; display:grid; place-items:center; border-radius:13px; color:#fff; background:var(--admin-coffee); font-weight:900; }
.admin-field { margin-bottom:1.2rem; }
.admin-field label { display:block; margin-bottom:.45rem; font-size:.88rem; font-weight:800; }
.admin-field label span { color:var(--admin-red); }
.admin-field input,.admin-field select,.admin-field textarea { width:100%; min-height:48px; border:1.5px solid #cfc2b1; border-radius:12px; padding:.7rem .85rem; color:var(--admin-ink); background:#fff; outline:none; transition:border-color .15s ease,box-shadow .15s ease; }
.admin-field textarea { min-height:170px; resize:vertical; }
.admin-field input:focus,.admin-field select:focus,.admin-field textarea:focus { border-color:var(--admin-gold-dark); box-shadow:0 0 0 4px rgba(199,161,90,.18); }
.admin-field input.admin-field-invalid,.admin-field select.admin-field-invalid,.admin-field textarea.admin-field-invalid { border-color:var(--admin-red); background:#fffafa; box-shadow:inset 0 0 0 1px rgba(163,58,58,.08); }
.admin-field input.admin-field-invalid:focus,.admin-field select.admin-field-invalid:focus,.admin-field textarea.admin-field-invalid:focus { border-color:var(--admin-red); box-shadow:0 0 0 4px rgba(163,58,58,.15); }
.admin-field-meta { display:flex; justify-content:space-between; gap:1rem; margin-top:.35rem; color:var(--admin-muted); }
.admin-field-error { margin:.35rem 0 0; color:var(--admin-red); font-size:.82rem; font-weight:700; }
.admin-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.admin-form-sidebar { position:sticky; top:98px; display:grid; gap:1rem; }
.admin-upcoming-card { background:#f7f1e7; }
.admin-disabled-option { min-height:45px; display:flex; align-items:center; justify-content:space-between; gap:1rem; border-top:1px solid #e2d5c2; color:#827568; font-size:.88rem; }
.admin-disabled-option:first-of-type { margin-top:1rem; }
.admin-send-card { padding:1.25rem; }
.admin-send-card>strong { font-size:1.05rem; }
.admin-send-card>p { margin:.4rem 0 1rem; color:var(--admin-muted); font-size:.88rem; }
.admin-send-card .admin-button+.admin-button { margin-top:.55rem; }

.admin-confirm-modal { overflow:hidden; border:0; border-radius:22px; box-shadow:0 24px 70px rgba(35,24,15,.28); }
.admin-confirm-modal .modal-header,.admin-confirm-modal .modal-body,.admin-confirm-modal .modal-footer { padding:1.25rem 1.5rem; }
.admin-confirm-modal .modal-header { border-color:var(--admin-border); }
.admin-confirm-modal .modal-title { font-weight:850; }
.admin-confirm-details { display:grid; grid-template-columns:1fr 1fr; gap:.8rem; margin:0; }
.admin-confirm-details>div { min-width:0; border-radius:13px; padding:.85rem; background:var(--admin-cream); }
.admin-confirm-details>div.full { grid-column:1/-1; }
.admin-confirm-details dt { color:var(--admin-muted); font-size:.7rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.admin-confirm-details dd { margin:.25rem 0 0; overflow-wrap:anywhere; font-weight:700; white-space:pre-wrap; }
.admin-confirm-warning { margin:1rem 0 0; border-left:4px solid var(--admin-gold); padding:.75rem 1rem; color:#604719; background:#fff8e7; }

.admin-delete-modal { overflow:hidden; border:0; border-radius:22px; box-shadow:0 24px 70px rgba(35,24,15,.32); }
.admin-delete-modal .modal-header,.admin-delete-modal .modal-body,.admin-delete-modal .modal-footer { padding:1.25rem 1.5rem; }
.admin-delete-modal .modal-header { align-items:flex-start; border-color:var(--admin-border); background:linear-gradient(135deg,#fff,#fbf5eb); }
.admin-delete-modal .modal-footer { border-color:var(--admin-border); background:#fcfaf6; }
.admin-delete-modal .modal-footer form { margin:0; }
.admin-delete-modal-heading { display:flex; align-items:center; gap:.85rem; }
.admin-delete-modal-heading .admin-eyebrow { margin-bottom:.18rem; color:var(--admin-red); }
.admin-delete-modal-icon { width:44px; height:44px; flex:0 0 auto; display:grid; place-items:center; border-radius:14px; color:#fff; background:var(--admin-red); box-shadow:0 0 0 5px rgba(163,58,58,.1); }
.admin-delete-modal-icon svg,.admin-delete-warning svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.admin-delete-modal .modal-title { color:var(--admin-coffee-dark); font-weight:850; }
.admin-delete-modal .modal-body>p:first-child { margin:0 0 1rem; color:var(--admin-muted); }
.admin-delete-record { border:1px solid var(--admin-border); border-radius:14px; padding:.9rem 1rem; background:var(--admin-cream); }
.admin-delete-record span { display:block; color:var(--admin-muted); font-size:.7rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.admin-delete-record strong { display:block; margin-top:.25rem; overflow-wrap:anywhere; color:var(--admin-coffee-dark); }
.admin-delete-warning { display:flex; align-items:center; gap:.55rem; margin:1rem 0 0; border-left:4px solid var(--admin-red); border-radius:10px; padding:.75rem .9rem; color:#7b2929; background:#fff0f0; font-size:.88rem; font-weight:750; }
.admin-delete-warning svg { width:20px; height:20px; flex:0 0 auto; }
.admin-delete-modal[aria-busy="true"] { cursor:progress; }
.admin-delete-modal button:disabled { cursor:wait; opacity:.68; }

.admin-history-card { overflow:hidden; }
.admin-table-wrap { overflow-x:auto; }
.admin-history-table { width:100%; border-collapse:collapse; }
.admin-history-table th { padding:.85rem 1rem; color:#675b4f; background:#f4ede2; font-size:.7rem; font-weight:850; letter-spacing:.07em; text-align:left; text-transform:uppercase; white-space:nowrap; }
.admin-history-table td { max-width:260px; padding:1rem; border-top:1px solid #eee6da; vertical-align:middle; font-size:.88rem; }
.admin-history-table time { white-space:nowrap; }
.admin-category,.admin-priority,.admin-status { width:max-content; display:inline-flex; border-radius:999px; padding:.32rem .6rem; font-size:.72rem; font-weight:850; }
.admin-category { color:#694f24; background:#f5e6c5; }
.admin-priority { color:#3c6049; background:#e1efe6; }
.admin-priority.priority-importante { color:#765416; background:#fff0c8; }
.admin-priority.priority-urgente { color:#8d2d2d; background:#ffe0e0; }
.admin-status.status-enviado { color:#246342; background:#dff2e7; }
.admin-status.status-pendiente { color:#755514; background:#fff0c7; }
.admin-status.status-fallido { color:#8b3030; background:#ffe2e2; }
.admin-status.status-activo { color:#246342; background:#dff2e7; }
.admin-status.status-inactivo { color:#755514; background:#fff0c7; }
.admin-status.status-aprobada { color:#246342; background:#dff2e7; }
.admin-status.status-rechazada { color:#8b3030; background:#ffe2e2; }
.admin-status.status-vencida { color:#625b54; background:#ebe7e2; }
.admin-status.vaccination-status-vigente,.admin-status.vaccination-summary-al_dia { color:#246342; background:#dff2e7; }
.admin-status.vaccination-status-proxima_a_vencer,.admin-status.vaccination-summary-proxima { color:#755514; background:#fff0c7; }
.admin-status.vaccination-status-vencida,.admin-status.vaccination-summary-vencida { color:#8b3030; background:#ffe2e2; }
.admin-status.vaccination-status-sin_proxima_dosis,.admin-status.vaccination-summary-sin_vacunas { color:#625b54; background:#ebe7e2; }
.admin-status.concierge-status-abierta { color:#755514; background:#fff0c7; }
.admin-status.concierge-status-en_seguimiento { color:#24526f; background:#dceefa; }
.admin-status.concierge-status-cerrada { color:#246342; background:#dff2e7; }
.admin-status.concierge-handover-pendiente_de_recepcion { color:#755514; background:#fff0c7; }
.admin-status.concierge-handover-recibido { color:#246342; background:#dff2e7; }
.admin-priority.concierge-priority-baja { color:#3c6049; background:#e1efe6; }
.admin-priority.concierge-priority-normal { color:#625b54; background:#ebe7e2; }
.admin-priority.concierge-priority-alta { color:#755514; background:#ffe3a3; }
.admin-priority.concierge-priority-urgente { color:#8d2d2d; background:#ffe0e0; }
.admin-priority-dot.concierge-priority-baja { background:#76a183; }
.admin-priority-dot.concierge-priority-normal { background:#8a8279; }
.admin-priority-dot.concierge-priority-alta { background:#d79725; }
.admin-priority-dot.concierge-priority-urgente { background:#b43e3e; }
.admin-vaccination-section { margin-top:1.5rem; border-top:1px solid var(--admin-border); padding-top:1.5rem; }
.admin-vaccination-section .admin-section-heading { margin-bottom:1rem; }
.admin-vaccination-proof-editor { display:grid; grid-template-columns:112px minmax(0,1fr); gap:1.25rem; margin:1.25rem 0; border:1px solid var(--admin-border); border-radius:18px; padding:1.15rem; background:var(--admin-cream); }
.admin-vaccination-proof-preview { display:grid; width:112px; height:112px; place-items:center; overflow:hidden; border-radius:20px; background:#fff; }
.admin-vaccination-proof-preview img { width:100%; height:100%; object-fit:cover; }
.admin-vaccination-proof-placeholder { color:var(--admin-coffee); font-weight:850; }
.admin-vaccination-proof-file { display:flex; flex-direction:column; gap:.1rem; margin-top:.65rem; color:var(--admin-coffee); font-size:.82rem; }
.admin-vaccination-counts { position:absolute; right:1rem; bottom:.7rem; display:flex; gap:.35rem; flex-wrap:wrap; }
.admin-vaccination-counts small { border-radius:999px; padding:.2rem .45rem; color:#8b3030; background:#ffe2e2; font-size:.64rem; font-weight:800; }
.admin-concierge-counts { position:absolute; right:1rem; bottom:.7rem; display:flex; gap:.35rem; flex-wrap:wrap; }
.admin-concierge-counts small { border-radius:999px; padding:.2rem .45rem; color:#755514; background:#fff0c7; font-size:.64rem; font-weight:800; }
.admin-concierge-counts small.urgent { color:#8b3030; background:#ffe2e2; }
.admin-status-large { align-self:flex-end; padding:.55rem .9rem; font-size:.82rem; }
.admin-message-id { overflow-wrap:anywhere; color:#665b51; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:.75rem !important; }

.admin-filter-card,.admin-community-detail-card { border:1px solid var(--admin-border); border-radius:22px; background:#fff; box-shadow:0 10px 30px rgba(61,43,27,.06); }
.admin-filter-card { margin-bottom:1.25rem; padding:1.25rem; }
.admin-filter-grid { display:grid; grid-template-columns:1.35fr 1fr 1fr 1.2fr 1fr; gap:1rem; }
.admin-filter-grid-community { grid-template-columns:1.45fr repeat(5,minmax(120px,1fr)); }
.admin-concierge-filter-grid { display:grid; grid-template-columns:repeat(5,minmax(140px,1fr)); gap:1rem; }
.admin-community-post-filter-grid { grid-template-columns:minmax(0,2fr) minmax(220px,1fr); }
.admin-filter-card .admin-field { margin-bottom:0; }
.admin-filter-actions { display:flex; justify-content:flex-end; gap:.65rem; margin-top:1rem; }
.admin-table-toolbar { display:flex; align-items:center; justify-content:space-between; min-height:44px; }
.admin-table-toolbar p { margin:0 0 .75rem; color:var(--admin-muted); }
.admin-community-name { min-width:180px; font-weight:750; }
.admin-community-name small { display:block; margin-top:.2rem; color:var(--admin-muted); font-size:.72rem; font-weight:650; }
.admin-community-actions { display:flex; align-items:center; flex-wrap:wrap; gap:.4rem .7rem; }
.admin-community-actions form { margin:0; }
.admin-action-link { border:0; padding:0; color:var(--admin-coffee); background:transparent; font-size:.8rem; font-weight:800; text-decoration:none; white-space:nowrap; cursor:pointer; }
.admin-action-link:hover { color:var(--admin-gold-dark); text-decoration:underline; }
.admin-action-link.danger { color:var(--admin-red); }
.admin-community-form { max-width:920px; }
.admin-form-actions { display:flex; justify-content:flex-end; gap:.75rem; padding-top:.25rem; }
.admin-community-detail-card { overflow:hidden; padding:clamp(1.25rem,3vw,2rem); }
.admin-community-message { margin-bottom:1rem; }
.admin-pending-value { color:#8a6316; font-weight:800; }
.admin-owner-reference { color:var(--admin-coffee); font-weight:750; text-decoration:none; }
.admin-owner-reference:hover { color:var(--admin-gold-dark); text-decoration:underline; }
.admin-field-hint { display:block; margin-top:.35rem; color:var(--admin-muted); font-size:.78rem; }
.admin-detail-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.admin-detail-grid>div { min-width:0; border-radius:15px; padding:1rem; background:var(--admin-cream); }
.admin-detail-grid span,.admin-detail-observations>span { display:block; color:var(--admin-muted); font-size:.7rem; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }
.admin-detail-grid strong { display:block; margin-top:.4rem; }
.admin-detail-grid strong .admin-status { display:inline-flex; }
.admin-detail-observations { margin-top:1rem; border-top:1px solid var(--admin-border); padding-top:1.25rem; }
.admin-detail-observations p { margin:.5rem 0 0; white-space:pre-wrap; }
.admin-detail-actions { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:1.5rem; border-top:1px solid var(--admin-border); padding-top:1.25rem; }
.admin-detail-actions form { margin:0; }
.admin-break-text { overflow-wrap:anywhere; }
.admin-owner-avatar { display:grid; place-items:center; flex:0 0 auto; border:2px solid rgba(199,161,90,.45); border-radius:50%; color:#fff; background:linear-gradient(145deg,var(--admin-gold-dark),var(--admin-coffee)); font-weight:900; letter-spacing:.03em; }
.admin-owner-list-identity { min-width:190px; display:flex; align-items:center; gap:.65rem; }
.admin-owner-thumbnail,.admin-owner-avatar-list { width:42px; height:42px; }
.admin-owner-thumbnail { flex:0 0 auto; border:2px solid #eadfcf; border-radius:50%; object-fit:cover; background:var(--admin-beige); }
.admin-owner-avatar-list { font-size:.72rem; }
.admin-owner-profile-header { display:flex; align-items:center; gap:1.25rem; margin-bottom:1.5rem; border-bottom:1px solid var(--admin-border); padding-bottom:1.5rem; }
.admin-owner-profile-photo,.admin-owner-avatar-detail { width:clamp(92px,14vw,132px); height:clamp(92px,14vw,132px); }
.admin-owner-profile-photo { flex:0 0 auto; border:4px solid #fff; border-radius:24px; object-fit:cover; background:var(--admin-beige); box-shadow:0 8px 26px rgba(61,43,27,.16); }
.admin-owner-avatar-detail { border-radius:24px; font-size:clamp(1.6rem,4vw,2.4rem); box-shadow:0 8px 26px rgba(61,43,27,.12); }
.admin-owner-profile-header h2 { margin:0; color:var(--admin-coffee-dark); font-size:clamp(1.45rem,3vw,2rem); font-weight:850; }
.admin-owner-profile-header p { margin:.3rem 0 .7rem; color:var(--admin-muted); }
.admin-owner-photo-editor { display:grid; grid-template-columns:auto minmax(0,1fr); gap:1.25rem; margin-bottom:1.5rem; border:1px solid var(--admin-border); border-radius:18px; padding:1.15rem; background:var(--admin-cream); }
.admin-owner-photo-preview-wrap { width:112px; height:112px; }
.admin-owner-photo-preview,.admin-owner-avatar-form { width:112px; height:112px; border-radius:20px; }
.admin-owner-photo-preview { border:3px solid #fff; object-fit:cover; background:var(--admin-beige); box-shadow:0 7px 20px rgba(61,43,27,.13); }
.admin-owner-avatar-form { font-size:1.7rem; }
.admin-owner-photo-controls { min-width:0; }
.admin-owner-photo-controls label { display:block; color:var(--admin-coffee-dark); font-size:.92rem; font-weight:850; }
.admin-owner-photo-controls p { margin:.15rem 0 .65rem; color:var(--admin-muted); font-size:.8rem; }
.admin-owner-photo-controls input[type="file"] { width:100%; border:1.5px dashed #c8b89f; border-radius:12px; padding:.7rem; color:var(--admin-ink); background:#fff; }
.admin-owner-photo-buttons { display:flex; align-items:center; flex-wrap:wrap; gap:.7rem; margin-top:.75rem; }
.admin-pagination-wrap { display:flex; justify-content:center; margin-top:1.25rem; }
.admin-pagination-wrap .pagination { margin:0; flex-wrap:wrap; justify-content:center; }
.admin-pagination-wrap .page-link { color:var(--admin-coffee); border-color:var(--admin-border); background:#fff; }
.admin-pagination-wrap .page-item.active .page-link { color:#fff; border-color:var(--admin-coffee); background:var(--admin-coffee); }
.admin-pagination-wrap .page-item.disabled .page-link { color:#a99d91; background:#f5efe6; }
.admin-status-tabs { display:flex; flex-wrap:wrap; gap:.45rem; margin-bottom:1rem; }
.admin-status-tabs a { border:1px solid var(--admin-border); border-radius:999px; padding:.5rem .8rem; color:var(--admin-coffee); background:#fff; font-size:.82rem; font-weight:800; text-decoration:none; }
.admin-status-tabs a:hover,.admin-status-tabs a:focus-visible,.admin-status-tabs a.active { color:#fff; border-color:var(--admin-coffee); background:var(--admin-coffee); }
.admin-review-panel { margin-top:1.5rem; border-top:1px solid var(--admin-border); padding-top:1.5rem; }
.admin-review-actions { display:grid; grid-template-columns:minmax(200px,.65fr) minmax(0,1.35fr); align-items:start; gap:1rem; }
.admin-review-actions>form { margin:0; }
.admin-rejection-form { border:1px solid var(--admin-border); border-radius:16px; padding:1rem; background:var(--admin-cream); }
.admin-rejection-form .admin-field { margin-bottom:.8rem; }
.admin-rejection-form textarea { min-height:110px; }
.admin-rejection-detail { border-left:4px solid var(--admin-red); border-top:0; border-radius:12px; padding:1rem; background:#fff0f0; }
.community-pinned { color:#694f24; background:#f5e6c5; }
.admin-community-heading-badges { display:flex; align-items:center; flex-wrap:wrap; gap:.55rem; }
.admin-social-post { max-width:980px; margin:0 auto; }
.admin-social-author { display:flex; align-items:center; gap:.75rem; margin-bottom:1rem; }
.admin-social-author>div:last-child { display:flex; flex-direction:column; }
.admin-social-author span { color:var(--admin-muted); font-size:.82rem; }
.admin-social-content { margin:1rem 0 1.25rem; white-space:pre-wrap; font-size:1.02rem; line-height:1.65; }
.admin-social-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem; margin:1rem 0; }
.admin-social-gallery.count-1 { grid-template-columns:1fr; }
.admin-social-gallery figure { position:relative; overflow:hidden; min-height:180px; margin:0; border-radius:16px; background:var(--admin-beige); }
.admin-social-gallery img { width:100%; height:100%; max-height:520px; display:block; object-fit:cover; }
.admin-social-gallery form { position:absolute; right:.55rem; bottom:.55rem; border-radius:9px; padding:.35rem .5rem; background:rgba(255,255,255,.92); }
.admin-social-metrics { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.65rem; margin:1rem 0; border-block:1px solid var(--admin-border); padding:.8rem 0; color:var(--admin-muted); font-size:.82rem; }
.admin-social-reactions { margin-bottom:1.25rem; }
.admin-reaction-breakdown,.admin-reaction-actions,.admin-reaction-actions form { display:flex; align-items:center; flex-wrap:wrap; gap:.55rem; }
.admin-reaction-breakdown span { border-radius:999px; padding:.25rem .55rem; color:var(--admin-coffee); background:var(--admin-beige); font-size:.72rem; font-weight:800; }
.admin-reaction-actions { margin-top:.75rem; }
.admin-reaction-actions select { min-height:46px; border:1px solid var(--admin-border); border-radius:12px; padding:.5rem; background:#fff; }
.admin-social-admin-controls { margin-top:1.5rem; border-top:1px solid var(--admin-border); padding-top:1.25rem; }
.admin-social-admin-controls h2 { font-size:1.15rem; }
.admin-social-comments { max-width:980px; margin:2rem auto 0; }
.admin-social-comment-form,.admin-social-comment { border:1px solid var(--admin-border); border-radius:18px; padding:1rem; background:#fff; box-shadow:0 7px 20px rgba(61,43,27,.05); }
.admin-social-comment-list { display:grid; gap:.75rem; margin-top:1rem; }
.admin-social-comment.reply { margin-left:3rem; border-left:4px solid var(--admin-gold); }
.admin-social-comment header { display:flex; align-items:center; flex-wrap:wrap; gap:.45rem; }
.admin-social-comment header time,.admin-social-comment header small { color:var(--admin-muted); font-size:.72rem; }
.admin-social-comment>p { margin:.65rem 0; white-space:pre-wrap; }
.admin-social-comment details form { min-width:min(500px,75vw); display:grid; gap:.5rem; margin-top:.5rem; }
.admin-social-comment textarea { width:100%; min-height:80px; border:1px solid var(--admin-border); border-radius:10px; padding:.65rem; }
.admin-community-media-picker { border:1px solid var(--admin-border); border-radius:16px; padding:1rem; background:var(--admin-cream); }
.admin-community-media-preview { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.55rem; margin:.75rem 0; }
.admin-community-media-preview:empty { display:none; }
.admin-community-media-preview img { width:100%; aspect-ratio:1; border-radius:12px; object-fit:cover; }
.admin-social-list-metrics { display:flex; flex-direction:column; color:var(--admin-muted); font-size:.72rem; }
.admin-social-hidden { display:block; margin-top:.25rem; color:var(--admin-red); font-size:.7rem; font-weight:800; }
.admin-concierge-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; margin-bottom:1rem; }
.admin-concierge-stats a { display:flex; flex-direction:column; border:1px solid var(--admin-border); border-radius:20px; padding:1.3rem; color:var(--admin-coffee-dark); background:#fff; box-shadow:0 9px 25px rgba(61,43,27,.06); text-decoration:none; }
.admin-concierge-stats a:hover { transform:translateY(-2px); box-shadow:var(--admin-shadow); }
.admin-concierge-stats small { color:var(--admin-muted); font-weight:800; }
.admin-concierge-stats strong { margin-top:.25rem; font-size:2rem; }
.admin-concierge-stats a.urgent { border-color:#e5bcbc; background:#fff7f7; }
.admin-concierge-stats a.urgent strong { color:var(--admin-red); }
.admin-concierge-actions { display:flex; gap:.75rem; margin:1.25rem 0 2rem; }
.admin-concierge-dashboard-grid { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(260px,.75fr); align-items:start; gap:1.25rem; }
.admin-concierge-dashboard-grid .admin-history-card>.admin-card-heading { padding:1.25rem; }
.admin-tower-summary { display:grid; gap:.75rem; }
.admin-tower-summary>div { display:flex; justify-content:space-between; border-radius:14px; padding:1rem; background:var(--admin-cream); }
.admin-tower-summary strong { color:var(--admin-coffee); font-size:1.3rem; }
.admin-concierge-thumb,.admin-concierge-icon { width:44px; height:44px; border-radius:13px; }
.admin-concierge-thumb { display:block; object-fit:cover; background:var(--admin-beige); }
.admin-concierge-icon { display:grid; place-items:center; color:var(--admin-coffee); background:var(--admin-beige); font-weight:900; }
.admin-concierge-detail-photo { overflow:hidden; max-height:520px; margin:-.4rem -.4rem 1.5rem; border-radius:18px; background:var(--admin-beige); }
.admin-concierge-detail-photo img { width:100%; max-height:520px; display:block; object-fit:cover; }
.admin-concierge-state-actions { display:grid; grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr); gap:1rem; }
.admin-concierge-state-actions>form { margin:0; }
.admin-concierge-entry-checks { display:grid; gap:.55rem; margin-top:.75rem; }
.admin-concierge-entry-checks label { display:flex; align-items:flex-start; gap:.75rem; border:1px solid var(--admin-border); border-radius:13px; padding:.75rem; cursor:pointer; background:#fff; }
.admin-concierge-entry-checks label:hover { background:var(--admin-cream); }
.admin-concierge-entry-checks input { margin-top:.3rem; }
.admin-concierge-entry-checks span { display:flex; flex-direction:column; }
.admin-concierge-entry-checks small { color:var(--admin-muted); }
.admin-concierge-confirm { display:flex; align-items:flex-start; gap:.65rem; margin-top:1.25rem; border-radius:14px; padding:1rem; color:var(--admin-coffee-dark); background:var(--admin-beige); font-weight:750; }
.admin-concierge-confirm input { margin-top:.25rem; }
.admin-concierge-linked { display:grid; gap:.55rem; margin-top:.75rem; }
.admin-concierge-linked a { display:flex; flex-direction:column; border:1px solid var(--admin-border); border-radius:13px; padding:.8rem; color:var(--admin-coffee); text-decoration:none; }
.admin-concierge-linked a:hover { background:var(--admin-cream); }
.admin-concierge-linked small { margin-top:.2rem; color:var(--admin-muted); }

.admin-login-page { background:#f4ecdf; }
.admin-login-shell { min-height:100vh; display:grid; grid-template-columns:minmax(380px,1.05fr) minmax(420px,.95fr); }
.admin-login-brand { position:relative; overflow:hidden; display:grid; place-items:center; padding:3rem; color:#fff; background:linear-gradient(145deg,rgba(47,29,19,.94),rgba(92,58,35,.91)),url('/images/condominio/portada-real.jpg') center/cover; }
.admin-login-brand::before { content:""; position:absolute; width:420px; height:420px; left:-180px; bottom:-200px; border:70px solid rgba(199,161,90,.16); border-radius:50%; }
.admin-login-brand-content { position:relative; z-index:1; max-width:600px; }
.admin-login-brand img { width:100px; height:100px; margin-bottom:2rem; object-fit:contain; border-radius:25px; background:#fff; box-shadow:0 14px 35px rgba(0,0,0,.2); }
.admin-login-brand .admin-eyebrow { color:#e7cc96; }
.admin-login-brand h1 { margin:0; font-size:clamp(2.5rem,5vw,5rem); font-weight:850; letter-spacing:-.05em; line-height:.95; }
.admin-login-brand p { max-width:540px; margin:1.2rem 0 0; color:#e6ddd2; font-size:1.1rem; }
.admin-login-form-panel { display:grid; place-items:center; padding:clamp(1.25rem,5vw,4rem); }
.admin-login-card { width:min(100%,440px); border:1px solid var(--admin-border); border-radius:24px; padding:clamp(1.5rem,5vw,2.5rem); background:#fff; box-shadow:var(--admin-shadow); }
.admin-login-card h2 { margin:0; font-size:2rem; font-weight:850; }
.admin-login-back { min-height:40px; display:inline-flex; align-items:center; margin-bottom:1rem; color:var(--admin-coffee); font-size:.78rem; font-weight:800; text-decoration:none; }
.admin-login-back:hover,.admin-login-back:focus-visible { color:var(--admin-gold-dark); text-decoration:underline; }
.admin-login-form { margin-top:1.5rem; }
.admin-login-note { margin:1.25rem 0 0; color:var(--admin-muted); font-size:.78rem; text-align:center; }

.admin-error-page { min-height:100vh; background:radial-gradient(circle at 15% 10%,rgba(199,161,90,.16),transparent 35%),var(--admin-cream); }
.admin-error-shell { min-height:100vh; display:grid; place-items:center; padding-top:2rem; padding-bottom:2rem; }
.admin-error-card { width:min(100%,680px); position:relative; overflow:hidden; border:1px solid var(--admin-border); border-radius:28px; padding:clamp(1.5rem,5vw,3rem); background:#fff; box-shadow:var(--admin-shadow); }
.admin-error-card::after { content:""; width:190px; height:190px; position:absolute; right:-80px; top:-90px; border:35px solid rgba(199,161,90,.13); border-radius:50%; pointer-events:none; }
.admin-error-brand { display:inline-flex; align-items:center; gap:.7rem; margin-bottom:2rem; color:var(--admin-coffee); font-size:.82rem; font-weight:850; text-decoration:none; }
.admin-error-brand img { width:42px; height:42px; border-radius:12px; object-fit:contain; }
.admin-error-status { display:block; color:var(--admin-gold-dark); font-size:clamp(3.5rem,12vw,6.5rem); font-weight:900; letter-spacing:-.07em; line-height:.85; }
.admin-error-card .admin-eyebrow { display:block; margin-top:1.25rem; }
.admin-error-card h1 { max-width:560px; margin:.4rem 0 0; color:var(--admin-coffee-dark); font-size:clamp(1.8rem,5vw,3rem); font-weight:850; letter-spacing:-.04em; }
.admin-error-card>p { max-width:560px; margin:.8rem 0 1.5rem; color:var(--admin-muted); font-size:1rem; }
.admin-error-support { margin-bottom:1.5rem; border:1px solid var(--admin-border); border-radius:15px; padding:1rem; background:var(--admin-cream); }
.admin-error-support>span { color:var(--admin-muted); font-size:.7rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.admin-error-support dl { display:grid; grid-template-columns:1fr 1fr; gap:.75rem 1rem; margin:.7rem 0 0; }
.admin-error-support dl>div { min-width:0; }
.admin-error-support dt { color:var(--admin-muted); font-size:.72rem; }
.admin-error-support dd { margin:.2rem 0 0; overflow-wrap:anywhere; color:var(--admin-coffee-dark); font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:.78rem; font-weight:750; }

.admin-footer { margin-top:auto; color:#ded1c0; background:var(--admin-coffee-dark); }
.admin-footer .container { min-height:68px; display:flex; align-items:center; justify-content:space-between; gap:1rem; font-size:.8rem; }

@media (max-width:991.98px) {
    .admin-navbar-inner { flex-wrap:wrap; padding-top:.65rem; padding-bottom:.65rem; }
    .admin-main-nav { order:3; width:100%; display:grid; grid-template-columns:repeat(4,1fr); }
    .admin-main-nav a { justify-content:center; }
    .admin-nav-toggle { width:100%; }
    .admin-logout { margin-left:auto; }
    .admin-hero { grid-template-columns:1fr; align-items:start; }
    .admin-hero-actions { align-items:flex-start; }
    .admin-hero .live-clock { align-self:flex-start; }
    .admin-dashboard-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .admin-module-card,.admin-module-card.featured { grid-column:span 1; }
    .admin-notice-layout { grid-template-columns:1fr; }
    .admin-form-sidebar { position:static; grid-template-columns:1fr 1fr; }
    .admin-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .admin-detail-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .admin-review-actions { grid-template-columns:1fr; }
    .admin-concierge-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .admin-concierge-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .admin-concierge-dashboard-grid,.admin-concierge-state-actions { grid-template-columns:1fr; }
    .admin-community-media-preview { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .admin-login-shell { grid-template-columns:1fr; }
    .admin-login-brand { min-height:330px; place-items:end start; }
    .admin-login-brand h1 { font-size:clamp(2.3rem,8vw,4rem); }
    .admin-login-brand img { width:72px; height:72px; margin-bottom:1.2rem; }
}

@media (max-width:767.98px) {
    .admin-brand strong { font-size:.82rem; }
    .admin-logout span { display:none; }
    .admin-section-heading,.admin-page-heading { align-items:flex-start; flex-direction:column; }
    .admin-page-heading>.admin-button { width:100%; }
    .admin-recent-item { grid-template-columns:auto minmax(0,1fr) auto; }
    .admin-recent-item time { grid-column:2; }
    .admin-recent-item .admin-status { grid-column:3; grid-row:1/3; }
    .admin-history-card { border:0; background:transparent; box-shadow:none; }
    .admin-table-wrap { overflow:visible; }
    .admin-history-table,.admin-history-table tbody,.admin-history-table tr,.admin-history-table td { display:block; width:100%; }
    .admin-history-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
    .admin-history-table tbody { display:grid; gap:1rem; }
    .admin-history-table tr { border:1px solid var(--admin-border); border-radius:18px; padding:.65rem 1rem; background:#fff; box-shadow:0 8px 22px rgba(61,43,27,.06); }
    .admin-history-table td { max-width:none; display:grid; grid-template-columns:105px minmax(0,1fr); gap:.75rem; border-top:1px solid #eee6da; padding:.7rem 0; }
    .admin-history-table td:first-child { border-top:0; }
    .admin-history-table td::before { content:attr(data-label); color:var(--admin-muted); font-size:.7rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
    .admin-login-form-panel { padding:1rem; }
    .admin-community-actions { justify-content:flex-start; }
}

@media (max-width:575.98px) {
    .admin-main { padding-left:1rem; padding-right:1rem; }
    .admin-navbar-inner { padding-left:1rem; padding-right:1rem; }
    .admin-brand img { width:42px; height:42px; }
    .admin-main-nav a { padding:.5rem .35rem; font-size:.78rem; }
    .admin-nav-toggle { padding:.5rem .35rem; font-size:.78rem; }
    .admin-main-nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .admin-hero { border-radius:20px; }
    .admin-hero-actions,.admin-hero-actions .admin-button { width:100%; }
    .admin-hero .live-clock { width:100%; min-width:0; grid-template-columns:auto 1fr; grid-template-rows:auto auto; column-gap:.75rem; align-items:center; }
    .admin-hero .live-clock-label { grid-column:1; grid-row:1; }
    .admin-hero .live-clock-time { grid-column:1; grid-row:2; font-size:1.65rem; }
    .admin-hero .live-clock-seconds,.admin-hero .live-clock-date-full { display:none; }
    .admin-hero .live-clock-date-compact { display:block; grid-column:2; grid-row:1/3; justify-self:end; margin:0; font-size:.7rem; }
    .admin-dashboard-grid { grid-template-columns:1fr; }
    .admin-form-grid,.admin-form-sidebar,.admin-confirm-details { grid-template-columns:1fr; }
    .admin-filter-grid,.admin-detail-grid { grid-template-columns:1fr; }
    .admin-concierge-filter-grid,.admin-concierge-stats { grid-template-columns:1fr; }
    .admin-concierge-actions { align-items:stretch; flex-direction:column; }
    .admin-social-gallery { grid-template-columns:1fr; }
    .admin-social-comment.reply { margin-left:1rem; }
    .admin-filter-actions,.admin-form-actions,.admin-detail-actions { align-items:stretch; flex-direction:column; }
    .admin-owner-photo-editor { grid-template-columns:1fr; }
    .admin-vaccination-proof-editor { grid-template-columns:1fr; }
    .admin-owner-photo-preview-wrap { width:96px; height:96px; }
    .admin-owner-photo-preview,.admin-owner-avatar-form { width:96px; height:96px; }
    .admin-owner-profile-header { align-items:flex-start; flex-direction:column; }
    .admin-filter-actions .admin-button,.admin-form-actions .admin-button,.admin-detail-actions .admin-button { width:100%; }
    .admin-confirm-details>div.full { grid-column:auto; }
    .admin-confirm-modal .modal-footer { display:grid; grid-template-columns:1fr; }
    .admin-confirm-modal .modal-footer .admin-button { width:100%; margin:0; }
    .admin-login-brand { min-height:280px; padding:2rem 1.25rem; }
    .admin-login-brand p { font-size:.95rem; }
    .admin-error-support dl { grid-template-columns:1fr; }
    .admin-footer .container { align-items:flex-start; flex-direction:column; justify-content:center; }
}

@media (prefers-reduced-motion:reduce) {
    *,*::before,*::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
    .ui-reveal,.ui-motion-fallback .ui-reveal { opacity:1 !important; transform:none !important; }
}

/* Room multimedia v2: conversación compacta sin alterar herramientas administrativas */
.community-author-avatar { width:40px; height:40px; border-width:1px; box-shadow:0 2px 7px rgba(61,43,27,.14); }
.community-author-avatar>img,.community-comment-avatar>img { filter:saturate(1.05) contrast(1.04); }
.community-comment-thread { gap:10px; }
.community-comment { gap:8px; }
.community-comment-avatar { width:36px; height:36px; box-shadow:0 2px 6px rgba(61,43,27,.13); }
.community-comment-main { display:grid; justify-items:start; }
.community-comment-identity { display:flex; align-items:baseline; flex-wrap:wrap; gap:.18rem .45rem; margin:0 0 .2rem .34rem; line-height:1.2; }
.community-comment-identity strong { color:var(--admin-coffee-dark); font-size:.75rem; }
.community-comment-identity .community-comment-time { color:var(--admin-muted); font-size:.6rem; }
.community-comment-bubble { width:fit-content; max-width:min(100%,560px); border:0; border-radius:4px 15px 15px; padding:.46rem .66rem; background:#f1ece5; box-shadow:none; transform:none !important; }
.community-comment-bubble p { margin:0; font-size:.8rem; line-height:1.38; }
.community-comment:nth-child(even) .community-comment-bubble { background:#f6f1ea; transform:none; }
.community-comment.is-sticker-only .community-comment-bubble,
.community-comment.is-gif-only .community-comment-bubble { border:0; padding:0; background:transparent; box-shadow:none; }
.community-comment.is-reply { margin-left:1.65rem; }
.community-comment-actions { gap:.05rem .35rem; margin:.08rem 0 0 .28rem; }
.community-comment-action { min-height:25px; padding:.1rem .22rem; font-size:.62rem; }
.community-comment-sticker img { width:clamp(110px,15vw,150px); height:clamp(110px,15vw,150px); filter:drop-shadow(0 4px 5px rgba(59,39,22,.14)); }
.community-comment-gif { margin:0; }
.community-comment-gif img { width:min(290px,100%); max-height:300px; border:0; border-radius:12px; background:#eee8df; box-shadow:0 3px 11px rgba(59,39,22,.13); }
.community-comment-photo { width:min(260px,100%); margin:0; transform:none; }
.community-comment-photo .community-media-open { overflow:hidden; border:0; border-radius:12px; box-shadow:0 3px 11px rgba(59,39,22,.13); }
.community-comment-photo img { max-height:260px; object-fit:cover; }
.community-comment-composer { gap:.48rem; margin-top:.75rem; }
.community-comment-composer>.community-comment-avatar { width:36px; height:36px; }
.community-comment-editor { border-radius:20px; box-shadow:0 3px 10px rgba(61,43,27,.04); }
.community-comment-composer .community-comment-editor>textarea { min-height:40px; padding:.62rem .75rem .3rem; }
.community-comment-editor>.community-comment-media-controls { padding:0 .46rem; }
.community-comment-media-toolbar { gap:.14rem; }
.community-comment-media-toolbar button { min-height:32px; border-color:transparent; padding:.27rem .4rem; color:var(--admin-coffee); background:transparent; font-size:.63rem; }
.community-comment-media-toolbar button:hover,.community-comment-media-toolbar button:focus-visible { border-color:rgba(126,91,57,.16); background:#f7f0e6; }
.community-comment-composer-footer { margin-top:.28rem; padding:.38rem .45rem .43rem .7rem; }
.community-comment-send { min-width:82px; min-height:34px; padding:.42rem .65rem; }
.community-comment-media-selection { border:0; border-radius:12px; padding:.3rem .42rem; background:#f6efe5; }
.community-comment-media-selection img { width:58px; height:58px; border-radius:10px; background:transparent; }
.community-comment-media-selection.is-sticker img { width:86px; height:86px; }
.community-comment-media-selection.is-gif img { width:110px; height:72px; object-fit:cover; }
.community-media-popover { width:min(94vw,440px); max-height:min(76vh,610px); border-radius:18px; padding:.7rem; }
.community-media-popover[data-community-picker-kind="gif"] { width:min(94vw,610px); }
.community-media-popover>header { top:-.7rem; margin:-.7rem -.7rem .55rem; padding:.62rem .72rem; }
.community-emoji-search-wrap,.community-gif-search-wrap { position:sticky; z-index:1; top:39px; margin:0 0 .45rem; padding:.1rem 0 .28rem; background:#fffdf8; }
.community-emoji-search-wrap input,.community-gif-search-wrap input { width:100%; min-height:38px; border:1px solid #d8c9b4; border-radius:11px; padding:.48rem .65rem; color:var(--admin-coffee-dark); background:#fff; font-size:.76rem; }
.community-emoji-search-wrap input:focus,.community-gif-search-wrap input:focus { border-color:var(--admin-gold); outline:3px solid rgba(177,128,54,.12); }
.community-picker-tabs { gap:.25rem; margin-bottom:.45rem; }
.community-picker-tabs button { min-height:31px; padding:.25rem .5rem; }
.community-emoji-grid { grid-template-columns:repeat(8,minmax(36px,1fr)); gap:.16rem; max-height:300px; }
.community-emoji-grid button { min-height:39px; font-size:1.38rem; }
.community-media-catalog-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:.35rem; }
.community-media-catalog-grid button { min-height:125px; border-radius:12px; padding:.25rem; }
.community-media-catalog-grid [data-community-catalog-choice="sticker"] img { max-width:112px; filter:drop-shadow(0 3px 5px rgba(59,39,22,.12)); }
.community-media-catalog-grid [data-community-catalog-choice="sticker"] span { font-size:.61rem; }
.community-gif-catalog { grid-template-columns:repeat(3,minmax(0,1fr)); }
.community-gif-catalog button { min-height:0; overflow:hidden; padding:0; }
.community-gif-catalog img { width:100%; min-height:96px; aspect-ratio:1.22; object-fit:cover; }

@media (max-width:700px) {
    .community-author-avatar { width:38px; height:38px; }
    .community-comment-avatar { width:34px; height:34px; }
    .community-comment-thread { gap:9px; }
    .community-comment { gap:7px; }
    .community-comment.is-reply { margin-left:.75rem; }
    .community-comment-gif img { width:min(100%,240px); max-height:240px; }
    .community-comment-photo { width:min(100%,230px); }
    .community-comment-media-toolbar { justify-content:space-between; }
    .community-comment-media-toolbar button { min-width:0; min-height:36px; padding:.3rem .34rem; }
    .community-comment-media-toolbar button span:last-child { font-size:.59rem; }
    .community-comment-send { min-width:78px; min-height:38px; }
    .community-media-popover { width:100%; max-height:78vh; }
    .community-emoji-grid { grid-template-columns:repeat(7,minmax(36px,1fr)); }
    .community-media-catalog-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .community-media-catalog-grid button { min-height:105px; }
    .community-gif-catalog { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (prefers-reduced-motion:reduce) {
    .community-media-catalog-grid button,.community-comment-media-selection img { transition:none !important; transform:none !important; }
}

/* Panel comunitario: experiencia social */
.community-page { background:linear-gradient(180deg,#f8f3eb 0,#f4ecdf 38%,#f8f5ef 100%); }
.community-feed-shell,.community-detail-shell { width:min(100%,1040px); }
.community-feed-heading,.community-detail-heading { margin-bottom:1.1rem; }
.community-feed-heading h1,.community-detail-heading h1 { letter-spacing:-.035em; }
.community-feed-tabs { position:sticky; z-index:15; top:74px; overflow-x:auto; flex-wrap:nowrap; padding:.55rem; border:1px solid rgba(126,91,57,.14); border-radius:16px; background:rgba(255,255,255,.9); box-shadow:0 8px 24px rgba(61,43,27,.06); backdrop-filter:blur(12px); scrollbar-width:none; }
.community-feed-tabs::-webkit-scrollbar { display:none; }
.community-feed-tabs a { flex:0 0 auto; }
.community-filter-drawer { margin:1rem auto; border:1px solid var(--admin-border); border-radius:18px; background:#fff; box-shadow:0 8px 24px rgba(61,43,27,.05); }
.community-filter-drawer>summary { display:flex; align-items:center; justify-content:space-between; gap:.8rem; padding:1rem 1.2rem; color:var(--admin-coffee); font-weight:850; cursor:pointer; list-style:none; }
.community-filter-drawer>summary .morph-icon { width:1.1rem; height:1.1rem; }
.community-filter-drawer>summary::-webkit-details-marker { display:none; }
.community-filter-drawer .admin-filter-card { margin:0; border:0; border-top:1px solid var(--admin-border); border-radius:0 0 18px 18px; box-shadow:none; }
.community-feed-counter { display:flex; align-items:baseline; gap:.35rem; width:min(100%,820px); margin:1rem auto; color:var(--admin-muted); font-size:.82rem; }
.community-feed-counter strong { color:var(--admin-coffee-dark); font-size:1.15rem; }
.community-feed { display:grid; gap:1.25rem; width:min(100%,820px); margin:0 auto; }
.community-feed-empty { width:min(100%,820px); margin:1.2rem auto; }
.community-empty-icon { display:block; margin-bottom:.55rem; font-size:2.2rem; }

.community-feed-card { overflow:hidden; position:relative; border:1px solid rgba(114,82,51,.17); border-radius:24px; background:#fff; box-shadow:0 12px 34px rgba(61,43,27,.075); opacity:0; transform:translateY(12px); transition:opacity .38s ease,transform .38s ease,box-shadow .22s ease,border-color .22s ease; }
.community-feed-card.is-visible,.community-detail-shell .community-feed-card { opacity:1; transform:none; }
.community-feed-card:hover { border-color:rgba(183,139,65,.42); box-shadow:0 18px 42px rgba(61,43,27,.105); }
.community-feed-card.is-pinned { border-top:4px solid var(--admin-gold); }
.community-feed-card.is-hidden { background:linear-gradient(135deg,#fff 0,#fbf7f2 100%); }
.community-feed-card.priority-alta,.community-feed-card.priority-critica { border:2px solid #ba3b3b; box-shadow:0 12px 34px rgba(149,38,38,.13); }
.community-post-header { display:flex; align-items:center; gap:.75rem; padding:1.1rem 1.2rem .65rem; }
.community-author-avatar,.community-comment-avatar { position:relative; overflow:hidden; flex:0 0 auto; display:grid; place-items:center; border-radius:50%; color:#fff; background:linear-gradient(145deg,var(--admin-coffee),var(--admin-gold-dark)); font-weight:900; text-transform:uppercase; box-shadow:0 5px 14px rgba(61,43,27,.18); }
.community-author-avatar>span,.community-comment-avatar>span { position:relative; z-index:0; }
.community-author-avatar>img,.community-comment-avatar>img { width:100%; height:100%; position:absolute; z-index:1; inset:0; display:block; object-fit:cover; }
.community-author-avatar>img[hidden],.community-comment-avatar>img[hidden] { display:none; }
.community-author-avatar { width:46px; height:46px; border:2px solid #fff; outline:1px solid var(--admin-border); font-size:1.05rem; }
.community-author-copy { min-width:0; display:flex; flex:1; flex-direction:column; }
.community-author-copy strong { overflow:hidden; color:var(--admin-coffee-dark); font-size:.98rem; text-overflow:ellipsis; white-space:nowrap; }
.community-author-copy>span { overflow:hidden; color:var(--admin-muted); font-size:.76rem; text-overflow:ellipsis; white-space:nowrap; }
.community-post-badges { display:flex; align-items:flex-end; flex-direction:column; gap:.35rem; }
.community-badge { display:inline-flex; align-items:center; border-radius:999px; padding:.28rem .55rem; font-size:.68rem; font-weight:850; }
.community-badge-pinned { color:#654916; background:#f8e8bd; }
.community-badge-hidden { color:#8f2e2e; background:#fee6e6; }
.community-post-body { padding:.35rem 1.25rem 1rem; }
.community-post-title { color:inherit; text-decoration:none; }
.community-post-title h2 { margin:0 0 .55rem; color:var(--admin-coffee-dark); font-size:clamp(1.15rem,2.4vw,1.4rem); font-weight:850; line-height:1.25; }
.community-post-title:hover h2 { color:var(--admin-gold-dark); }
.community-post-text { margin:0; color:var(--admin-ink); font-size:.96rem; line-height:1.62; overflow-wrap:anywhere; white-space:pre-wrap; }
.community-post-meta { display:flex; align-items:center; flex-wrap:wrap; gap:.5rem; margin-top:.8rem; }
.community-comments-closed { border-radius:999px; padding:.28rem .55rem; color:#695f53; background:#eee9e2; font-size:.68rem; font-weight:800; }

.community-media-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:3px; overflow:hidden; max-height:620px; background:#eee6da; }
.community-media-item { position:relative; min-width:0; min-height:210px; margin:0; }
.community-media-open { width:100%; height:100%; display:block; overflow:hidden; border:0; padding:0; cursor:zoom-in; background:#e9dfd0; }
.community-media-open img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .35s ease,filter .25s ease; }
.community-media-open:hover img,.community-media-open:focus-visible img { transform:scale(1.035); filter:brightness(.94); }
.community-media-open:focus-visible { position:relative; z-index:2; outline:3px solid var(--admin-gold); outline-offset:-3px; }
.community-media-count-1 { grid-template-columns:1fr; max-height:600px; }
.community-media-count-1 .community-media-item { min-height:clamp(300px,58vw,560px); }
.community-media-count-2 .community-media-item { min-height:clamp(260px,42vw,500px); }
.community-media-count-3 .community-media-item:first-child { grid-row:span 2; min-height:440px; }
.community-media-count-3 .community-media-item:not(:first-child) { min-height:218px; }
.community-media-count-4 .community-media-item { min-height:250px; }
.community-media-more { position:absolute; inset:0; display:grid; place-items:center; color:#fff; background:rgba(28,18,11,.58); font-size:2rem; font-weight:900; }
.community-photo-delete { position:absolute; z-index:3; top:.55rem; right:.55rem; }
.community-photo-delete button { width:34px; height:34px; display:grid; place-items:center; border:0; border-radius:50%; color:#fff; background:rgba(123,27,27,.88); font-size:1.35rem; line-height:1; box-shadow:0 4px 12px rgba(0,0,0,.22); }

.community-engagement-summary { display:flex; align-items:center; justify-content:space-between; gap:.75rem; margin:0 1.2rem; border-bottom:1px solid var(--admin-border); padding:.8rem 0; color:var(--admin-muted); font-size:.78rem; }
.community-engagement-summary>div { display:flex; align-items:center; gap:.25rem; }
.community-reaction-stack { letter-spacing:-.35rem; margin-right:.32rem; filter:drop-shadow(0 2px 3px rgba(0,0,0,.13)); }
.community-metric-link { border:0; padding:0; color:inherit; background:transparent; text-decoration:none; }
.community-metric-link:hover { color:var(--admin-coffee); text-decoration:underline; }
.community-reaction-panel { padding:.55rem 1rem .75rem; }
.community-reaction-breakdown { display:flex; flex-wrap:wrap; gap:.35rem; min-height:.25rem; }
.community-reaction-breakdown span { border-radius:999px; padding:.2rem .45rem; color:var(--admin-coffee); background:var(--admin-beige); font-size:.65rem; font-weight:750; }
.community-reaction-buttons { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:.25rem; margin-top:.45rem; }
.community-reaction-buttons form { min-width:0; margin:0; }
.community-reaction-button { width:100%; min-height:48px; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:.12rem; border:0; border-radius:12px; padding:.35rem .2rem; color:#65594d; background:transparent; font-size:.64rem; font-weight:780; transition:transform .18s ease,color .18s ease,background .18s ease; }
.community-reaction-button>span:first-child { font-size:1.12rem; line-height:1; transition:transform .18s ease; }
.community-reaction-button:hover,.community-reaction-button:focus-visible { color:var(--admin-coffee-dark); background:var(--admin-cream); transform:translateY(-1px); }
.community-reaction-button:hover>span:first-child { transform:scale(1.17); }
.community-reaction-button.is-selected { color:var(--admin-coffee); background:#f6ead2; box-shadow:inset 0 0 0 1px #dec18b; }
.community-reaction-button:disabled,.community-comment-send:disabled { cursor:wait; opacity:.55; }

.community-comments { border-top:1px solid var(--admin-border); padding:1rem 1.2rem; background:#fdfbf8; }
.community-comments-notice { display:flex; align-items:center; gap:.5rem; border-radius:12px; padding:.75rem; color:#6c6257; background:#eeeae4; font-size:.8rem; }
.community-comment-thread { display:grid; gap:.72rem; }
.community-comment { display:flex; align-items:flex-start; gap:.55rem; }
.community-comment.is-reply { margin-left:2.5rem; }
.community-comment-avatar { width:32px; height:32px; border:1px solid rgba(255,255,255,.9); font-size:.7rem; }
.community-comment-main { min-width:0; flex:1; }
.community-comment-bubble { width:fit-content; max-width:100%; border-radius:4px 16px 16px; padding:.62rem .78rem; background:#f1ebe2; }
.community-comment-bubble header { display:flex; align-items:baseline; flex-wrap:wrap; gap:.38rem; }
.community-comment-bubble strong { color:var(--admin-coffee-dark); font-size:.78rem; }
.community-comment-bubble time,.community-comment-bubble small { color:var(--admin-muted); font-size:.64rem; }
.community-comment-bubble p { margin:.25rem 0 0; overflow-wrap:anywhere; font-size:.82rem; line-height:1.45; white-space:pre-wrap; }
.community-comment-actions { display:flex; align-items:center; flex-wrap:wrap; gap:.5rem; margin:.25rem 0 0 .55rem; }
.community-comment-actions form { margin:0; }
.community-comment-actions summary,.community-comment-action { border:0; padding:0; color:var(--admin-coffee); background:transparent; cursor:pointer; font-size:.68rem; font-weight:800; list-style:none; }
.community-comment-actions summary::-webkit-details-marker { display:none; }
.community-comment-action.danger { color:var(--admin-red); }
.community-comment-actions details[open] { width:min(100%,520px); flex-basis:100%; }
.community-comment-actions details form { display:grid; gap:.45rem; margin-top:.35rem; }
.community-comment-actions textarea { width:100%; min-height:70px; border:1px solid var(--admin-border); border-radius:12px; padding:.65rem; resize:vertical; }
.community-comments-empty { display:flex; align-items:center; justify-content:center; gap:.55rem; padding:.65rem; color:var(--admin-muted); font-size:.8rem; text-align:center; }
.community-comments-empty p { margin:0; }
.community-comment-composer { display:flex; align-items:flex-start; gap:.55rem; margin-top:.9rem; }
.community-comment-input-wrap { min-width:0; flex:1; }
.community-comment-composer textarea { width:100%; min-height:40px; max-height:160px; display:block; border:1px solid var(--admin-border); border-radius:20px; padding:.58rem .85rem; background:#fff; font-size:.82rem; line-height:1.4; resize:none; transition:border-color .18s ease,box-shadow .18s ease; }
.community-comment-composer textarea:focus { border-color:var(--admin-gold-dark); outline:0; box-shadow:0 0 0 3px rgba(183,139,65,.14); }
.community-comment-send { min-height:40px; border:0; border-radius:999px; padding:.55rem .85rem; color:#fff; background:var(--admin-coffee); font-size:.75rem; font-weight:850; transition:transform .18s ease,background .18s ease; }
.community-comment-send:hover { background:var(--admin-coffee-dark); transform:translateY(-1px); }
.community-comment-input-wrap .admin-field-error { margin:.2rem 0 0 .7rem; }
.community-post-footer { display:flex; align-items:center; justify-content:space-between; gap:.75rem; border-top:1px solid var(--admin-border); padding:.8rem 1.2rem; }
.community-post-admin-shortcuts,.community-post-admin-shortcuts form { display:flex; align-items:center; gap:.6rem; margin:0; }

.community-management-card { width:min(100%,820px); margin:1.25rem auto 0; border:1px solid var(--admin-border); border-radius:22px; padding:1.25rem; background:#fff; box-shadow:0 10px 28px rgba(61,43,27,.06); }
.community-management-card .admin-review-panel { border:0; }
.community-admin-controls { display:flex; align-items:center; flex-wrap:wrap; gap:.65rem; }
.community-admin-controls form { margin:0; }
.community-detail-shell>.admin-detail-actions { width:min(100%,820px); margin-right:auto; margin-left:auto; }

.community-lightbox[hidden] { display:none; }
.community-lightbox { position:fixed; z-index:2000; inset:0; display:grid; grid-template-columns:minmax(52px,1fr) minmax(0,12fr) minmax(52px,1fr); grid-template-rows:1fr auto; align-items:center; color:#fff; background:rgba(20,14,10,.96); backdrop-filter:blur(12px); animation:communityLightboxIn .2s ease both; }
.community-lightbox-stage { overflow:auto; max-width:100%; max-height:calc(100vh - 100px); display:grid; place-items:center; }
.community-lightbox-stage img { max-width:100%; max-height:calc(100vh - 110px); object-fit:contain; transform-origin:center; transition:transform .2s ease; }
.community-lightbox-close,.community-lightbox-nav,.community-lightbox-toolbar button { border:0; color:#fff; background:rgba(255,255,255,.1); transition:background .18s ease,transform .18s ease; }
.community-lightbox-close:hover,.community-lightbox-nav:hover,.community-lightbox-toolbar button:hover { background:rgba(199,161,90,.65); transform:scale(1.04); }
.community-lightbox-close { position:absolute; z-index:2; top:1rem; right:1rem; width:44px; height:44px; border-radius:50%; font-size:1.8rem; }
.community-lightbox-nav { width:46px; height:70px; justify-self:center; border-radius:999px; font-size:2.5rem; }
.community-lightbox-toolbar { grid-column:1/-1; display:flex; align-items:center; justify-content:center; gap:1rem; padding:1rem; }
.community-lightbox-toolbar button { width:38px; height:38px; border-radius:50%; font-size:1.35rem; }
.community-lightbox-toolbar span { min-width:72px; text-align:center; }
.community-lightbox-open { overflow:hidden; }
@keyframes communityLightboxIn { from { opacity:0; } to { opacity:1; } }

@media (max-width:991.98px) {
    .community-feed-tabs { top:123px; }
    .community-reaction-buttons { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (max-width:767.98px) {
    .community-feed-shell,.community-detail-shell { padding-right:.8rem; padding-left:.8rem; }
    .community-feed-tabs { top:116px; margin-right:-.2rem; margin-left:-.2rem; }
    .community-feed-card { border-radius:18px; }
    .community-post-header { align-items:flex-start; padding:1rem .9rem .55rem; }
    .community-post-badges { align-items:flex-start; }
    .community-post-badges .admin-status { display:none; }
    .community-post-body { padding:.35rem 1rem .85rem; }
    .community-media-item,.community-media-count-2 .community-media-item,.community-media-count-4 .community-media-item { min-height:190px; }
    .community-media-count-3 .community-media-item:first-child { min-height:383px; }
    .community-media-count-3 .community-media-item:not(:first-child) { min-height:190px; }
    .community-engagement-summary { margin:0 1rem; }
    .community-reaction-panel { padding:.5rem .65rem .7rem; }
    .community-reaction-button { min-height:44px; }
    .community-comments { padding:.85rem .8rem; }
    .community-comment.is-reply { margin-left:1.25rem; }
    .community-post-footer { align-items:flex-start; flex-direction:column; padding:.75rem 1rem; }
    .community-post-admin-shortcuts { width:100%; flex-wrap:wrap; }
    .community-management-card { padding:1rem; }
}
@media (max-width:575.98px) {
    .community-feed-heading .admin-button { width:100%; }
    .community-author-avatar { width:42px; height:42px; }
    .community-author-copy>span { white-space:normal; }
    .community-post-badges { max-width:120px; }
    .community-badge { text-align:center; }
    .community-media-grid { max-height:500px; }
    .community-media-item,.community-media-count-2 .community-media-item,.community-media-count-4 .community-media-item { min-height:145px; }
    .community-media-count-1 .community-media-item { min-height:280px; }
    .community-media-count-3 .community-media-item:first-child { min-height:293px; }
    .community-media-count-3 .community-media-item:not(:first-child) { min-height:145px; }
    .community-engagement-summary { align-items:flex-start; flex-direction:column; gap:.35rem; }
    .community-reaction-buttons { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .community-comment-composer { align-items:center; }
    .community-comment-composer>.community-comment-avatar { display:none; }
    .community-comment-send { padding:.55rem .7rem; }
    .community-lightbox { grid-template-columns:44px minmax(0,1fr) 44px; }
    .community-lightbox-nav { width:38px; height:58px; font-size:2rem; }
}

@media (prefers-reduced-motion:reduce) {
    .community-feed-card { opacity:1; transform:none; }
    .community-lightbox { animation:none; }
}

/* Adjuntos seguros de avisos */
.admin-notice-main-column { min-width:0; display:grid; gap:1.25rem; }
.admin-notice-attachments-card { overflow:hidden; }
.admin-notice-file-error:empty { display:none; }
.admin-notice-file-block { border:1px solid var(--admin-border); border-radius:18px; padding:1rem; background:var(--admin-cream); }
.admin-notice-file-block + .admin-notice-file-block { margin-top:1rem; }
.admin-notice-file-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.admin-notice-file-heading>div { display:flex; flex-direction:column; }
.admin-notice-file-heading strong { color:var(--admin-coffee-dark); font-size:.95rem; }
.admin-notice-file-heading span { margin-top:.15rem; color:var(--admin-muted); font-size:.76rem; }
.admin-notice-file-icon { font-size:1.6rem; }
.admin-notice-file-picker { display:flex; align-items:center; justify-content:center; flex-direction:column; min-height:88px; margin-top:.8rem; border:1.5px dashed #bda888; border-radius:14px; padding:1rem; color:var(--admin-coffee); background:#fff; text-align:center; cursor:pointer; transition:border-color .18s ease,background .18s ease,transform .18s ease; }
.admin-notice-file-picker:hover,.admin-notice-file-picker:focus-within { border-color:var(--admin-gold-dark); background:#fffaf0; transform:translateY(-1px); }
.admin-notice-file-picker span { font-size:.86rem; font-weight:850; }
.admin-notice-file-picker small { margin-top:.2rem; color:var(--admin-muted); font-size:.7rem; }
.admin-notice-image-preview { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.6rem; margin-top:.8rem; }
.admin-notice-image-preview:empty { display:none; }
.admin-notice-image-item { min-width:0; position:relative; overflow:hidden; margin:0; border:1px solid var(--admin-border); border-radius:13px; background:#fff; }
.admin-notice-image-item img { width:100%; aspect-ratio:1; display:block; object-fit:cover; }
.admin-notice-image-item figcaption { display:flex; flex-direction:column; min-width:0; padding:.45rem; }
.admin-notice-image-item figcaption strong { overflow:hidden; color:var(--admin-coffee-dark); font-size:.66rem; text-overflow:ellipsis; white-space:nowrap; }
.admin-notice-image-item figcaption small { color:var(--admin-muted); font-size:.62rem; }
.admin-notice-image-item>button { position:absolute; top:.35rem; right:.35rem; width:30px; height:30px; display:grid; place-items:center; border:0; border-radius:50%; color:#fff; background:rgba(126,29,29,.9); font-size:1.2rem; box-shadow:0 3px 10px rgba(0,0,0,.2); }
#clearNoticeImages { margin-top:.75rem; }
.admin-notice-pdf-preview,.admin-notice-detail-pdf { display:flex; align-items:center; gap:.8rem; margin-top:.8rem; border:1px solid #e5c7c7; border-radius:14px; padding:.8rem; background:#fff; }
.admin-notice-pdf-preview>div,.admin-notice-detail-pdf>div { min-width:0; display:flex; flex:1; flex-direction:column; }
.admin-notice-pdf-preview strong,.admin-notice-detail-pdf strong { overflow:hidden; color:var(--admin-coffee-dark); font-size:.82rem; text-overflow:ellipsis; white-space:nowrap; }
.admin-notice-pdf-preview small,.admin-notice-detail-pdf small { color:var(--admin-muted); font-size:.7rem; }
.admin-notice-pdf-preview>button { width:34px; height:34px; display:grid; place-items:center; border:0; border-radius:50%; color:var(--admin-red); background:#fff0f0; font-size:1.3rem; }
.admin-notice-pdf-mark { flex:0 0 auto; display:grid; place-items:center; width:48px; height:52px; border-radius:10px; color:#fff; background:#a53636; font-size:.68rem; font-weight:900; box-shadow:0 5px 12px rgba(105,25,25,.16); }
.admin-notice-attachment-badges { display:flex; align-items:flex-start; flex-direction:column; gap:.28rem; }
.admin-notice-attachment-badges span { border-radius:999px; padding:.24rem .5rem; color:var(--admin-coffee); background:var(--admin-beige); font-size:.67rem; font-weight:800; white-space:nowrap; }
.admin-muted-value { color:var(--admin-muted); font-size:.72rem; }
.admin-notice-history-table td>small.admin-message-id { display:block; max-width:210px; margin-top:.25rem; }
.admin-notice-detail-page { width:min(100%,1040px); }
.admin-notice-detail-card { width:min(100%,880px); margin:0 auto 1.25rem; }
.admin-notice-detail-header { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1.15rem; }
.admin-notice-detail-header>div { display:flex; align-items:center; flex-wrap:wrap; gap:.5rem; }
.admin-notice-detail-header time { color:var(--admin-muted); font-size:.78rem; }
.admin-notice-detail-message { margin:0 0 1.25rem; color:var(--admin-ink); font-size:1rem; line-height:1.65; white-space:pre-wrap; }
.admin-notice-attachment-empty { border:1px dashed var(--admin-border); border-radius:14px; padding:1rem; color:var(--admin-muted); background:var(--admin-cream); font-size:.82rem; text-align:center; }
.admin-notice-detail-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem; overflow:hidden; border-radius:16px; }
.admin-notice-detail-gallery.count-1 { grid-template-columns:1fr; }
.admin-notice-detail-gallery button { min-height:230px; overflow:hidden; border:0; padding:0; cursor:zoom-in; background:var(--admin-beige); }
.admin-notice-detail-gallery.count-1 button { min-height:420px; }
.admin-notice-detail-gallery img { width:100%; height:100%; max-height:520px; display:block; object-fit:cover; transition:transform .3s ease,filter .2s ease; }
.admin-notice-detail-gallery button:hover img,.admin-notice-detail-gallery button:focus-visible img { transform:scale(1.035); filter:brightness(.95); }
.admin-notice-detail-page>.admin-detail-actions { width:min(100%,880px); margin-right:auto; margin-left:auto; }
.admin-notice-lightbox[hidden] { display:none; }
.admin-notice-lightbox { position:fixed; z-index:2100; inset:0; display:grid; grid-template-columns:70px minmax(0,1fr) 70px; grid-template-rows:1fr auto; align-items:center; padding:1rem; color:#fff; background:rgba(20,14,10,.96); backdrop-filter:blur(10px); }
.admin-notice-lightbox img { max-width:100%; max-height:calc(100vh - 90px); justify-self:center; object-fit:contain; }
.admin-notice-lightbox button { border:0; color:#fff; background:rgba(255,255,255,.12); }
.admin-notice-lightbox .close { position:absolute; top:1rem; right:1rem; width:44px; height:44px; border-radius:50%; font-size:1.7rem; }
.admin-notice-lightbox .previous,.admin-notice-lightbox .next { width:46px; height:70px; justify-self:center; border-radius:999px; font-size:2.5rem; }
.admin-notice-lightbox>span { grid-column:1/-1; justify-self:center; padding:.7rem; }
.admin-notice-lightbox-open { overflow:hidden; }

@media (max-width:991.98px) {
    .admin-notice-image-preview { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:575.98px) {
    .admin-notice-file-heading { align-items:flex-start; }
    .admin-notice-image-preview { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .admin-notice-detail-header { align-items:flex-start; flex-direction:column; }
    .admin-notice-detail-gallery button,.admin-notice-detail-gallery.count-1 button { min-height:220px; }
    .admin-notice-lightbox { grid-template-columns:44px minmax(0,1fr) 44px; padding:.5rem; }
    .admin-notice-lightbox .previous,.admin-notice-lightbox .next { width:38px; height:58px; font-size:2rem; }
    .admin-notice-detail-pdf { align-items:flex-start; flex-wrap:wrap; }
    .admin-notice-detail-pdf .admin-button { width:100%; }
}

/* Identidad visual premium: Mural Comunitario Digital */
:root {
    --mural-board:#ddcfb8;
    --mural-board-deep:#cdbb9e;
    --mural-paper:#fffdf7;
    --mural-paper-warm:#fff7dc;
    --mural-paper-shadow:0 13px 25px rgba(63,43,25,.15),0 2px 5px rgba(63,43,25,.09);
    --mural-paper-shadow-raised:0 20px 34px rgba(63,43,25,.19),0 5px 10px rgba(63,43,25,.10);
}

.mural-page {
    background-color:#f4ecdf;
    background-image:
        radial-gradient(circle at 14% 17%,rgba(91,62,35,.025) 0 1px,transparent 1.4px),
        radial-gradient(circle at 83% 62%,rgba(199,161,90,.04) 0 1.2px,transparent 1.8px),
        linear-gradient(135deg,rgba(255,255,255,.38),transparent 48%);
    background-size:17px 17px,23px 23px,100% 100%;
}

.mural-board {
    position:relative;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    align-items:start;
    gap:clamp(1.5rem,3vw,2.4rem);
    border:1px solid rgba(98,68,39,.18);
    border-radius:26px;
    padding:clamp(1.6rem,3.5vw,3rem);
    background-color:var(--mural-board);
    background-image:
        radial-gradient(circle at 15% 20%,rgba(88,59,31,.07) 0 1px,transparent 1.5px),
        radial-gradient(circle at 74% 63%,rgba(255,255,255,.18) 0 1px,transparent 1.5px),
        repeating-linear-gradient(35deg,rgba(255,255,255,.035) 0 2px,transparent 2px 7px);
    background-size:19px 19px,27px 27px,auto;
    box-shadow:inset 0 0 0 7px rgba(255,255,255,.2),inset 0 0 42px rgba(81,51,31,.08),0 18px 45px rgba(61,43,27,.11);
}

.mural-paper {
    --mural-rotation:0deg;
    position:relative;
    border:1px solid rgba(104,78,49,.16);
    border-radius:5px 8px 6px 4px;
    padding:clamp(1.25rem,2.4vw,1.75rem);
    background-color:var(--mural-paper);
    background-image:
        linear-gradient(105deg,rgba(104,78,49,.018),transparent 34%,rgba(255,255,255,.42) 70%,transparent),
        radial-gradient(circle at 20% 30%,rgba(95,68,42,.025) 0 1px,transparent 1.4px);
    background-size:auto,13px 13px;
    box-shadow:var(--mural-paper-shadow);
    transform:rotate(var(--mural-rotation));
    transform-origin:50% 10%;
    transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}

.official-notice-board>.mural-paper:nth-child(3n+1) { --mural-rotation:-.7deg; }
.official-notice-board>.mural-paper:nth-child(3n+2) { --mural-rotation:.8deg; }
.official-notice-board>.mural-paper:nth-child(3n) { --mural-rotation:-.3deg; }
.official-notice-board>.mural-paper:hover,
.official-notice-board>.mural-paper:focus-within {
    z-index:2;
    border-color:rgba(154,117,55,.35);
    box-shadow:var(--mural-paper-shadow-raised);
    transform:translateY(-3px) rotate(var(--mural-rotation)) scale(1.006);
}

.notice-priority-importante {
    background-color:var(--mural-paper-warm);
    background-image:
        linear-gradient(112deg,rgba(199,161,90,.08),transparent 42%,rgba(255,255,255,.32)),
        radial-gradient(circle at 20% 30%,rgba(95,68,42,.025) 0 1px,transparent 1.4px);
}
.notice-priority-urgente { border:2px solid rgba(163,58,58,.7); box-shadow:0 13px 26px rgba(123,38,38,.14); }

.mural-paper-tape {
    width:84px;
    height:24px;
    position:absolute;
    z-index:3;
    top:-13px;
    left:50%;
    border-right:1px solid rgba(125,94,52,.12);
    border-left:1px solid rgba(125,94,52,.12);
    background:rgba(224,204,157,.72);
    box-shadow:0 2px 4px rgba(78,55,30,.08);
    transform:translateX(-50%) rotate(-1deg);
    backdrop-filter:blur(1px);
}
.mural-paper-pin {
    width:17px;
    height:17px;
    position:absolute;
    z-index:3;
    top:12px;
    left:50%;
    border:3px solid #e2c889;
    border-radius:50%;
    background:var(--admin-coffee);
    box-shadow:0 4px 6px rgba(48,30,18,.25);
    transform:translateX(-50%);
}
.mural-paper-clip {
    width:18px;
    height:48px;
    position:absolute;
    z-index:3;
    top:-9px;
    right:28px;
    border:3px solid #8c8175;
    border-bottom-color:transparent;
    border-radius:10px 10px 4px 4px;
    transform:rotate(7deg);
    box-shadow:1px 1px 2px rgba(49,38,28,.13);
}

.mural-notice-header { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:.9rem; }
.mural-notice-header time { color:var(--admin-muted); font-size:.72rem; white-space:nowrap; }
.mural-official-signature { display:flex; min-width:0; flex-direction:column; }
.mural-official-signature span { color:var(--admin-gold-dark); font-size:.66rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.mural-official-signature strong { margin-top:.18rem; color:var(--admin-coffee-dark); font-family:Georgia,"Times New Roman",serif; font-size:.82rem; line-height:1.2; }
.mural-detail-signature { margin-bottom:1rem; }
.mural-notice-labels { display:flex; align-items:center; flex-wrap:wrap; gap:.45rem; min-height:28px; margin-bottom:.7rem; }
.mural-priority-label { display:inline-flex; align-items:center; gap:.25rem; border-radius:4px; padding:.28rem .48rem; font-size:.66rem; font-weight:900; letter-spacing:.08em; }
.mural-priority-label.important { color:#70500f; border:1px solid #d9bd72; background:#f7e5ab; }
.mural-priority-label.urgent { color:#872929; border:1px solid #dfa3a3; background:#fff0ed; }
.mural-notice-title { color:inherit; text-decoration:none; }
.mural-notice-title h2,.mural-preview-paper h3 { margin:.25rem 0 .65rem; color:var(--admin-coffee-dark); font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.25rem,2.2vw,1.55rem); font-weight:750; line-height:1.22; }
.mural-notice-title:hover h2 { color:var(--admin-gold-dark); }
.mural-notice-message { display:-webkit-box; overflow:hidden; margin:0 0 1.1rem; color:#342b24; font-family:Georgia,"Times New Roman",serif; font-size:.94rem; line-height:1.58; overflow-wrap:anywhere; white-space:pre-wrap; -webkit-box-orient:vertical; -webkit-line-clamp:7; }
.mural-notice-meta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem .8rem; margin:0; border-top:1px solid rgba(114,82,51,.14); padding-top:.85rem; }
.mural-notice-meta>div:last-child { grid-column:1/-1; }
.mural-notice-meta dt { color:var(--admin-muted); font-size:.61rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.mural-notice-meta dd { margin:.12rem 0 0; color:var(--admin-coffee-dark); font-size:.76rem; font-weight:760; }
.mural-notice-attachments { display:flex; flex-wrap:wrap; gap:.4rem; margin-top:.65rem; }
.mural-notice-attachments span { border:1px solid #dbc8a7; border-radius:999px; padding:.26rem .52rem; color:#6c4d20; background:#fff8e9; font-size:.66rem; font-weight:800; }
.mural-notice-footer { display:flex; align-items:flex-end; justify-content:space-between; gap:.75rem; margin-top:.8rem; border-top:1px dashed rgba(114,82,51,.2); padding-top:.72rem; }
.mural-notice-footer .admin-message-id { overflow:hidden; max-width:46%; color:var(--admin-muted); font-size:.58rem; text-overflow:ellipsis; white-space:nowrap; }

.mural-detail-board { display:block; width:min(100%,960px); margin:0 auto 1.5rem; }
.mural-detail-board>.mural-paper { width:min(100%,880px); margin:0 auto 2rem; }
.mural-detail-board>.mural-paper:nth-child(2) { --mural-rotation:.35deg; }
.mural-detail-board>.mural-paper:nth-child(3) { --mural-rotation:-.3deg; }
.mural-detail-board>.mural-paper:hover { box-shadow:var(--mural-paper-shadow-raised); transform:translateY(-2px) rotate(var(--mural-rotation)) scale(1.004); }
.mural-attachment-sheet { overflow:visible; }
.mural-attachment-sheet .admin-card-heading { padding-right:2rem; }
.mural-detail-board .admin-notice-detail-gallery { overflow:visible; gap:1rem; border-radius:0; padding:.6rem; }
.mural-detail-board .admin-notice-detail-gallery button {
    --polaroid-rotation:-.8deg;
    --polaroid-hover-rotation:-.2deg;
    overflow:hidden;
    border:7px solid #fff;
    border-bottom-width:20px;
    border-radius:2px;
    background:#eee7dc;
    box-shadow:0 8px 16px rgba(47,31,19,.18);
    transform:rotate(var(--polaroid-rotation));
    transition:transform .22s ease,box-shadow .22s ease;
}
.mural-detail-board .admin-notice-detail-gallery button:nth-child(even) { --polaroid-rotation:.9deg; --polaroid-hover-rotation:.2deg; }
.mural-detail-board .admin-notice-detail-gallery button:hover,
.mural-detail-board .admin-notice-detail-gallery button:focus-visible { z-index:2; box-shadow:0 13px 23px rgba(47,31,19,.23); transform:translateY(-2px) rotate(var(--polaroid-hover-rotation)) scale(1.015); }
.mural-detail-board .admin-notice-detail-pdf { position:relative; border-style:dashed; background:#fffaf0; }

/* Mural Universitario Pro: selector y plantillas persistentes de papel */
.notice-paper-style-selector {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:.85rem;
    margin:0;
    border:0;
    padding:0;
}
.notice-paper-style-help { grid-column:1/-1; margin:0 0 .15rem; color:var(--admin-muted); font-size:.75rem; }
.notice-paper-style-option { min-width:0; position:relative; display:flex; flex-direction:column; gap:.45rem; cursor:pointer; }
.notice-paper-style-option>input { width:1px; height:1px; position:absolute; opacity:0; pointer-events:none; }
.notice-paper-style-option>strong { color:var(--admin-coffee-dark); font-size:.73rem; line-height:1.25; text-align:center; }
.notice-paper-style-thumbnail {
    min-height:132px;
    position:relative;
    display:flex;
    overflow:hidden;
    flex-direction:column;
    justify-content:center;
    border:2px solid transparent;
    border-radius:5px;
    padding:1.05rem .85rem .8rem;
    color:#403329;
    background:#fffdf7;
    box-shadow:0 8px 17px rgba(63,43,25,.13);
    transform:rotate(-.4deg);
    transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.notice-paper-style-option:nth-of-type(even) .notice-paper-style-thumbnail { transform:rotate(.45deg); }
.notice-paper-style-option:hover .notice-paper-style-thumbnail { box-shadow:0 12px 22px rgba(63,43,25,.18); transform:translateY(-2px) rotate(0); }
.notice-paper-style-option>input:focus-visible+.notice-paper-style-thumbnail { outline:3px solid rgba(199,161,90,.38); outline-offset:3px; }
.notice-paper-style-option>input:checked+.notice-paper-style-thumbnail { border-color:var(--admin-gold-dark); box-shadow:0 0 0 3px rgba(199,161,90,.2),0 11px 22px rgba(63,43,25,.17); }
.notice-paper-choice-kicker { font-size:.47rem; font-weight:900; letter-spacing:.09em; }
.notice-paper-choice-title { margin:.25rem 0 .42rem; font-family:Georgia,"Times New Roman",serif; font-size:.9rem; font-weight:850; }
.notice-paper-choice-line { width:100%; height:3px; display:block; margin-top:.24rem; border-radius:99px; background:currentColor; opacity:.14; }
.notice-paper-choice-line.short { width:68%; }
.notice-paper-choice-check {
    width:24px;
    height:24px;
    position:absolute;
    right:.42rem;
    bottom:.42rem;
    display:grid;
    place-items:center;
    border:2px solid #fff;
    border-radius:50%;
    color:#fff;
    background:var(--admin-gold-dark);
    box-shadow:0 3px 8px rgba(54,36,20,.18);
    font-size:.72rem;
    font-weight:900;
    opacity:0;
    transform:scale(.75);
    transition:opacity .18s ease,transform .18s ease;
}
.notice-paper-style-option>input:checked+.notice-paper-style-thumbnail .notice-paper-choice-check { opacity:1; transform:scale(1); }
.notice-paper-choice-fastener { position:absolute; z-index:2; pointer-events:none; }

/* Biblioteca liviana de decoraciones para avisos oficiales */
.notice-decoration-selector {
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:.65rem;
    margin:0;
    border:0;
    padding:0;
}
.notice-decoration-help { grid-column:1/-1; margin:0 0 .1rem; color:var(--admin-muted); font-size:.75rem; }
.notice-decoration-option { min-width:0; position:relative; cursor:pointer; }
.notice-decoration-option>input { width:1px; height:1px; position:absolute; opacity:0; pointer-events:none; }
.notice-decoration-choice {
    min-height:92px;
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:.4rem;
    border:1px solid #ded1bd;
    border-radius:14px;
    padding:.7rem .35rem .55rem;
    color:var(--sticker-ink,#70502e);
    background:linear-gradient(145deg,#fffdf8,#f8f0e3);
    box-shadow:0 5px 12px rgba(63,43,25,.07);
    transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease;
}
.notice-decoration-choice svg { width:32px; height:32px; color:var(--sticker-ink,#70502e); filter:drop-shadow(0 2px 2px rgba(52,35,20,.12)); }
.notice-decoration-choice>span:not(.notice-decoration-choice-check):not(.notice-decoration-none-mark) { color:var(--admin-coffee-dark); font-size:.67rem; font-weight:800; line-height:1.2; text-align:center; }
.notice-decoration-option:hover .notice-decoration-choice { border-color:#c7a15a; box-shadow:0 8px 16px rgba(63,43,25,.11); transform:translateY(-1px); }
.notice-decoration-option>input:focus-visible+.notice-decoration-choice { outline:3px solid rgba(199,161,90,.38); outline-offset:2px; }
.notice-decoration-option>input:checked+.notice-decoration-choice { border-color:var(--admin-gold-dark); background:#fff9ec; box-shadow:0 0 0 3px rgba(199,161,90,.18),0 8px 17px rgba(63,43,25,.11); }
.notice-decoration-choice-check {
    width:20px;
    height:20px;
    position:absolute;
    right:.3rem;
    bottom:.3rem;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:#fff;
    background:var(--admin-gold-dark);
    font-size:.62rem;
    font-weight:900;
    opacity:0;
    transform:scale(.75);
    transition:opacity .18s ease,transform .18s ease;
}
.notice-decoration-option>input:checked+.notice-decoration-choice .notice-decoration-choice-check { opacity:1; transform:scale(1); }
.notice-decoration-none-mark { width:30px; height:30px; position:relative; border:2px dashed #aa9b87; border-radius:50%; }
.notice-decoration-none-mark::after { content:""; width:2px; height:28px; position:absolute; top:-1px; left:12px; background:#aa6a63; transform:rotate(45deg); }

.notice-decoration-pushpin { --sticker-ink:#8f3a34; --sticker-surface:#fff0e7; --decoration-rotation:5deg; }
.notice-decoration-paperclip { --sticker-ink:#716b65; --sticker-surface:#f4f0e9; --decoration-rotation:10deg; }
.notice-decoration-star { --sticker-ink:#bd8319; --sticker-surface:#fff1b9; --decoration-rotation:-5deg; }
.notice-decoration-heart { --sticker-ink:#b54752; --sticker-surface:#ffe8ec; --decoration-rotation:4deg; }
.notice-decoration-bell { --sticker-ink:#a66e16; --sticker-surface:#fff2ca; --decoration-rotation:-3deg; }
.notice-decoration-warning { --sticker-ink:#c16c1b; --sticker-surface:#ffebc5; --decoration-rotation:3deg; }
.notice-decoration-paw { --sticker-ink:#76502c; --sticker-surface:#f3e3cd; --decoration-rotation:-6deg; }
.notice-decoration-home { --sticker-ink:#4d7080; --sticker-surface:#e6f1f2; --decoration-rotation:4deg; }
.notice-decoration-celebration { --sticker-ink:#9b4d86; --sticker-surface:#f8e5f4; --decoration-rotation:-5deg; }
.notice-decoration-coffee { --sticker-ink:#6d4931; --sticker-surface:#ead9c6; --decoration-rotation:5deg; }

.notice-paper-style-thumbnail.paper-style-classic {
    background-image:radial-gradient(circle at 20% 30%,rgba(95,68,42,.035) 0 1px,transparent 1.4px);
}
.notice-paper-style-thumbnail.paper-style-classic .notice-paper-choice-fastener,
.notice-paper-style-thumbnail.paper-style-notebook .notice-paper-choice-fastener,
.notice-paper-style-thumbnail.paper-style-information .notice-paper-choice-fastener {
    width:45px;
    height:13px;
    top:-3px;
    left:50%;
    background:rgba(224,204,157,.78);
    transform:translateX(-50%) rotate(-1deg);
}
.notice-paper-style-thumbnail.paper-style-post-it {
    min-height:125px;
    border-radius:2px 2px 9px 2px;
    background:linear-gradient(145deg,#fff3ad,#f8e59a);
}
.notice-paper-style-thumbnail.paper-style-notebook {
    padding-left:1.25rem;
    background-color:#fffdfa;
    background-image:
        linear-gradient(90deg,transparent 0 18px,rgba(190,83,83,.18) 18px 19px,transparent 19px),
        repeating-linear-gradient(180deg,transparent 0 20px,rgba(101,143,174,.13) 20px 21px);
}
.notice-paper-style-thumbnail.paper-style-notebook::before {
    content:"";
    width:6px;
    position:absolute;
    top:9px;
    bottom:9px;
    left:5px;
    background:radial-gradient(circle,#d8d0c4 0 2px,transparent 2.3px) center top/6px 21px repeat-y;
}
.notice-paper-style-thumbnail.paper-style-kraft {
    color:#3c2d20;
    background-color:#cdb087;
    background-image:radial-gradient(circle at 30% 20%,rgba(80,55,30,.06) 0 1px,transparent 1.5px);
}
.notice-paper-style-thumbnail.paper-style-kraft .notice-paper-choice-fastener {
    width:14px;
    height:37px;
    top:-7px;
    right:15px;
    border:2px solid #73685b;
    border-bottom-color:transparent;
    border-radius:8px 8px 3px 3px;
    transform:rotate(7deg);
}
.notice-paper-style-thumbnail.paper-style-university { justify-content:flex-start; padding-top:1.25rem; background:#fff; }
.notice-paper-style-thumbnail.paper-style-university .notice-paper-choice-title { font-size:1.04rem; }
.notice-paper-style-thumbnail.paper-style-university .notice-paper-choice-fastener {
    width:12px;
    height:12px;
    top:7px;
    left:50%;
    border:2px solid #dfc27f;
    border-radius:50%;
    background:var(--admin-coffee);
    transform:translateX(-50%);
}
.notice-paper-style-thumbnail.paper-style-university::after {
    content:"";
    height:13px;
    position:absolute;
    right:8px;
    bottom:0;
    left:8px;
    background:repeating-linear-gradient(90deg,transparent 0 13px,rgba(89,70,52,.18) 13px 14px);
}
.notice-paper-style-thumbnail.paper-style-information { border-top:6px solid var(--admin-gold); background:#fffdf8; }
.notice-paper-style-thumbnail.paper-style-information .notice-paper-choice-title { font-family:inherit; letter-spacing:.04em; }

.paper-style-post-it {
    border-radius:2px 3px 13px 3px;
    background-color:#f8e8a1;
    background-image:linear-gradient(145deg,rgba(255,255,255,.32),transparent 48%,rgba(143,112,47,.06));
}
.paper-style-post-it>.notice-paper-fastener { display:none; }
.official-notice-paper.paper-style-post-it::after {
    content:"";
    width:34px;
    height:18px;
    position:absolute;
    right:0;
    bottom:0;
    background:linear-gradient(145deg,rgba(136,105,48,.13),rgba(255,255,255,.48));
    clip-path:polygon(100% 0,0 100%,100% 100%);
}
.paper-style-notebook {
    padding-left:clamp(1.7rem,3.5vw,2.35rem);
    background-color:#fffdf8;
    background-image:
        linear-gradient(90deg,transparent 0 35px,rgba(190,83,83,.16) 35px 36px,transparent 36px),
        repeating-linear-gradient(180deg,transparent 0 28px,rgba(101,143,174,.11) 28px 29px);
}
.paper-style-notebook::after {
    content:"";
    width:8px;
    position:absolute;
    top:16px;
    bottom:16px;
    left:7px;
    background:radial-gradient(circle,#d2c8ba 0 2.6px,transparent 2.9px) center top/8px 28px repeat-y;
    pointer-events:none;
}
.paper-style-notebook>.notice-paper-fastener { width:68px; height:20px; }
.paper-style-kraft {
    color:#392a1e;
    border-color:rgba(83,58,35,.25);
    background-color:#cbb087;
    background-image:
        linear-gradient(120deg,rgba(255,255,255,.09),transparent 45%,rgba(77,48,25,.035)),
        radial-gradient(circle at 25% 25%,rgba(71,46,25,.07) 0 1px,transparent 1.5px);
    background-size:auto,15px 15px;
}
.paper-style-kraft>.notice-paper-fastener {
    width:17px;
    height:46px;
    top:-9px;
    right:27px;
    left:auto;
    border:3px solid #766b5f;
    border-bottom-color:transparent;
    border-radius:9px 9px 4px 4px;
    background:transparent;
    box-shadow:1px 1px 2px rgba(49,38,28,.12);
    transform:rotate(7deg);
}
.paper-style-kraft .mural-official-signature span,
.paper-style-kraft .mural-notice-meta dt { color:#664821; }
.paper-style-kraft .mural-notice-message,
.paper-style-kraft .mural-notice-meta dd,
.paper-style-kraft .mural-notice-title h2 { color:#34261c; }
.paper-style-university { border-radius:2px; padding-bottom:2.1rem; background:#fff; }
.paper-style-university>.notice-paper-fastener {
    width:17px;
    height:17px;
    top:10px;
    left:50%;
    border:3px solid #e2c889;
    border-radius:50%;
    background:var(--admin-coffee);
    box-shadow:0 4px 6px rgba(48,30,18,.25);
    transform:translateX(-50%);
}
.paper-style-university .mural-notice-title h2,
.paper-style-university.mural-preview-paper h3 { font-size:clamp(1.42rem,2.5vw,1.78rem); letter-spacing:.015em; text-transform:uppercase; }
.official-notice-paper.paper-style-university::after,
.mural-attachment-sheet.paper-style-university::after {
    content:"";
    height:20px;
    position:absolute;
    right:14px;
    bottom:0;
    left:14px;
    background:repeating-linear-gradient(90deg,transparent 0 24px,rgba(81,62,45,.18) 24px 25px);
    pointer-events:none;
}
.paper-style-information {
    border:1px solid rgba(154,117,55,.38);
    border-top:7px solid var(--admin-gold);
    border-radius:3px;
    background:#fffdf8;
}
.paper-style-information>.notice-paper-fastener { width:54px; height:17px; top:-10px; right:28px; left:auto; transform:rotate(1deg); }
.paper-style-information .mural-official-signature { position:relative; padding-left:2rem; }
.paper-style-information .mural-official-signature::before {
    content:"i";
    width:22px;
    height:22px;
    position:absolute;
    top:0;
    left:0;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:#fff;
    background:var(--admin-coffee);
    font-family:Georgia,"Times New Roman",serif;
    font-size:.8rem;
    font-weight:900;
}
.paper-style-information .mural-notice-title h2,
.paper-style-information.mural-preview-paper h3 { font-family:inherit; font-weight:900; letter-spacing:.015em; }
.official-notice-paper.notice-priority-urgente { border:2px solid rgba(163,58,58,.7); }

.official-notice-board>.mural-paper.notice-rotation-0 { --mural-rotation:-1.2deg; }
.official-notice-board>.mural-paper.notice-rotation-1 { --mural-rotation:.6deg; }
.official-notice-board>.mural-paper.notice-rotation-2 { --mural-rotation:-.4deg; }
.official-notice-board>.mural-paper.notice-rotation-3 { --mural-rotation:1deg; }
.mural-detail-board>.notice-rotation-0 { --mural-rotation:-1.2deg; }
.mural-detail-board>.notice-rotation-1 { --mural-rotation:.6deg; }
.mural-detail-board>.notice-rotation-2 { --mural-rotation:-.4deg; }
.mural-detail-board>.notice-rotation-3 { --mural-rotation:1deg; }

.mural-motion-enabled .mural-paper.mural-reveal-pending:not(.is-revealed) {
    opacity:0;
    transform:translate3d(0,14px,0) rotate(var(--mural-rotation)) scale(.985);
}
.mural-motion-enabled .mural-paper.mural-reveal-pending.is-revealed {
    animation:muralPaperReveal .52s cubic-bezier(.2,.7,.2,1) var(--mural-reveal-delay,0ms) backwards;
}
.mural-paper.is-revealed>.notice-paper-fastener {
    animation:muralFastenerSettle .34s ease-out calc(var(--mural-reveal-delay,0ms) + 150ms) backwards;
}
.notice-decoration {
    width:42px;
    height:42px;
    position:absolute;
    z-index:4;
    top:-15px;
    right:18px;
    display:grid;
    place-items:center;
    border:3px solid rgba(255,255,255,.88);
    border-radius:48% 52% 45% 55%;
    color:var(--sticker-ink,#70502e);
    background-color:var(--sticker-surface,#fff4d8);
    background-image:radial-gradient(circle at 28% 24%,rgba(255,255,255,.65) 0 1px,transparent 1.5px);
    background-size:7px 7px;
    box-shadow:0 5px 10px rgba(53,35,20,.16);
    transform:rotate(var(--decoration-rotation,4deg));
    pointer-events:none;
}
.notice-decoration[hidden] { display:none; }
.notice-decoration svg { width:26px; height:26px; display:block; overflow:visible; color:inherit; }
.notice-decoration.notice-decoration-paperclip { border:0; background:transparent; box-shadow:none; filter:drop-shadow(0 3px 3px rgba(45,36,28,.2)); }
.paper-style-kraft>.notice-decoration,
.paper-style-information>.notice-decoration { right:auto; left:18px; }
.mural-paper.is-revealed>.notice-decoration {
    animation:muralDecorationSettle .38s cubic-bezier(.2,.75,.25,1.2) calc(var(--mural-reveal-delay,0ms) + 170ms) backwards;
}
@keyframes muralPaperReveal {
    from { opacity:0; transform:translate3d(0,14px,0) rotate(var(--mural-rotation)) scale(.985); }
    to { opacity:1; transform:translate3d(0,0,0) rotate(var(--mural-rotation)) scale(1); }
}
@keyframes muralFastenerSettle {
    from { opacity:.82; filter:brightness(1.06); }
    to { opacity:1; filter:brightness(1); }
}
@keyframes muralDecorationSettle {
    from { opacity:.35; transform:rotate(var(--decoration-rotation,4deg)) scale(.82); }
    to { opacity:1; transform:rotate(var(--decoration-rotation,4deg)) scale(1); }
}

.paper-style-post-it .admin-notice-media-gallery.compact { margin-right:-.25rem; margin-left:.45rem; }
.paper-style-notebook .admin-notice-media-gallery.compact::before { background:rgba(224,204,157,.82); }
.paper-style-kraft .admin-notice-media-gallery button { border-color:#f3e5cf; box-shadow:0 7px 15px rgba(54,36,20,.22); }
.paper-style-kraft .admin-notice-pdf-card { border-color:#8f724e; background:#e2c9a5; }
.paper-style-university .admin-notice-media-gallery.compact { border-top-style:solid; }
.paper-style-information .admin-notice-pdf-card { border-style:solid; border-color:rgba(154,117,55,.38); background:#fff; }

/* Multimedia real integrado en los papeles del Tablero Oficial */
.admin-notice-media-gallery {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.65rem;
}
.admin-notice-media-gallery button {
    --polaroid-rotation:-1.1deg;
    --polaroid-hover-rotation:-.25deg;
    min-width:0;
    position:relative;
    overflow:hidden;
    border:8px solid #fff;
    border-bottom-width:18px;
    border-radius:2px;
    padding:0;
    cursor:zoom-in;
    background:#eee7dc;
    box-shadow:0 7px 16px rgba(47,31,19,.17),0 1px 3px rgba(47,31,19,.09);
    transform:rotate(var(--polaroid-rotation));
    transition:transform .22s ease,box-shadow .22s ease,filter .22s ease;
}
.admin-notice-media-gallery button:nth-child(even) { --polaroid-rotation:1.15deg; --polaroid-hover-rotation:.3deg; }
.admin-notice-media-gallery button:nth-child(3n) { --polaroid-rotation:-.4deg; --polaroid-hover-rotation:-.1deg; }
.admin-notice-media-gallery button:nth-child(4n) { --polaroid-rotation:.55deg; --polaroid-hover-rotation:.14deg; }
.admin-notice-media-gallery button:hover,
.admin-notice-media-gallery button:focus-visible {
    z-index:2;
    box-shadow:0 11px 21px rgba(47,31,19,.22);
    filter:brightness(.99);
    transform:translateY(-2px) rotate(var(--polaroid-hover-rotation)) scale(1.015);
}
.admin-notice-media-gallery img {
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}
.admin-notice-media-gallery.compact {
    position:relative;
    margin-top:.72rem;
    border-top:1px dashed rgba(114,82,51,.2);
    padding:.78rem .2rem .08rem;
}
.admin-notice-media-gallery.compact::before {
    content:"";
    width:54px;
    height:14px;
    position:absolute;
    z-index:3;
    top:1px;
    left:50%;
    pointer-events:none;
    background:rgba(224,204,157,.72);
    box-shadow:0 2px 4px rgba(78,55,30,.08);
    transform:translateX(-50%) rotate(-.8deg);
}
.admin-notice-media-gallery.compact button { height:118px; max-height:270px; }
.admin-notice-media-gallery.compact.count-1 { grid-template-columns:1fr; }
.admin-notice-media-gallery.compact.count-1 button { height:clamp(190px,17vw,270px); aspect-ratio:16/10; }
.admin-notice-media-gallery.compact.count-3 button:first-child { grid-row:span 2; height:254px; }
.admin-notice-media-gallery.compact button:nth-child(n+5) { display:none; }
.admin-notice-media-gallery.detail {
    overflow:visible;
    gap:1rem;
    padding:.6rem;
}
.admin-notice-media-gallery.detail button { min-height:230px; }
.admin-notice-media-gallery.detail.count-1 { grid-template-columns:1fr; }
.admin-notice-media-gallery.detail.count-1 button { min-height:420px; }
.admin-notice-media-gallery.detail img { max-height:520px; }
.admin-notice-media-more {
    position:absolute;
    inset:0;
    display:grid;
    place-items:center;
    color:#fff;
    background:rgba(47,31,19,.64);
    font-size:1.6rem;
    font-weight:900;
    letter-spacing:.02em;
}
.admin-notice-pdf-card {
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:.75rem;
    position:relative;
    margin-top:.72rem;
    border:1px dashed #cdb68f;
    border-radius:6px;
    padding:.66rem .72rem;
    background:linear-gradient(135deg,#fffdf8,#fff7e7);
    box-shadow:0 5px 12px rgba(72,48,25,.09);
}
.admin-notice-pdf-card::before {
    content:"";
    width:24px;
    height:9px;
    position:absolute;
    top:-5px;
    right:22px;
    border:2px solid #9c8a72;
    border-bottom:0;
    border-radius:10px 10px 0 0;
    transform:rotate(5deg);
}
.admin-notice-pdf-copy { min-width:0; display:flex; flex-direction:column; gap:.08rem; }
.admin-notice-pdf-copy strong {
    display:block;
    overflow:hidden;
    color:var(--admin-coffee-dark);
    font-size:.8rem;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.admin-notice-pdf-copy small { color:var(--admin-muted); font-size:.64rem; }
.admin-notice-pdf-link {
    border-radius:999px;
    padding:.48rem .7rem;
    color:#fff;
    background:var(--admin-coffee);
    font-size:.7rem;
    font-weight:850;
    text-decoration:none;
    white-space:nowrap;
}
.admin-notice-pdf-link:hover,.admin-notice-pdf-link:focus-visible { color:#fff; background:var(--admin-coffee-dark); }
.admin-notice-delivery-status { color:var(--admin-muted); font-size:.62rem; }

.mural-form-accent {
    width:64px;
    height:18px;
    position:absolute;
    top:-9px;
    left:clamp(1.25rem,4vw,2rem);
    background:rgba(224,204,157,.68);
    box-shadow:0 2px 4px rgba(78,55,30,.08);
    transform:rotate(-1.2deg);
}
.admin-form-card:has(>.mural-form-accent) { position:relative; overflow:visible; }
.mural-preview-panel { overflow:visible; }
.mural-preview-paper { padding:1.1rem; transform:rotate(.5deg); }
.mural-preview-paper h3 { font-size:1.1rem; }
.mural-preview-paper>p { margin:0 0 .85rem; color:#3a3028; font-family:Georgia,"Times New Roman",serif; font-size:.8rem; line-height:1.5; overflow-wrap:anywhere; white-space:pre-wrap; }
.mural-preview-paper .mural-priority-label { margin:.75rem 0 0; }

/* Mural de Vecinos */
.community-page {
    background-color:#f2e9dc;
    background-image:
        radial-gradient(circle at 18% 22%,rgba(81,51,31,.025) 0 1px,transparent 1.5px),
        radial-gradient(circle at 76% 61%,rgba(199,161,90,.05) 0 1px,transparent 1.6px),
        linear-gradient(180deg,rgba(255,255,255,.55),transparent 45%);
    background-size:18px 18px,25px 25px,100% 100%;
}
.mural-neighbor-board {
    width:min(100%,880px);
    border:1px solid rgba(98,68,39,.15);
    border-radius:25px;
    padding:clamp(1rem,3vw,2rem);
    background-color:#d9c9af;
    background-image:
        radial-gradient(circle at 20% 28%,rgba(80,53,28,.055) 0 1px,transparent 1.5px),
        repeating-linear-gradient(42deg,rgba(255,255,255,.035) 0 2px,transparent 2px 8px);
    background-size:21px 21px,auto;
    box-shadow:inset 0 0 35px rgba(81,51,31,.08),0 16px 38px rgba(61,43,27,.09);
}
.community-feed-card {
    overflow:visible;
    border-radius:7px 10px 8px 6px;
    background-color:#fffdf8;
    background-image:linear-gradient(102deg,rgba(120,87,49,.018),transparent 38%,rgba(255,255,255,.55));
    box-shadow:var(--mural-paper-shadow);
    transform-origin:50% 8%;
}
.mural-neighbor-board>.community-feed-card:nth-child(3n+1).is-visible { transform:rotate(-.55deg); }
.mural-neighbor-board>.community-feed-card:nth-child(3n+2).is-visible { transform:rotate(.65deg); }
.mural-neighbor-board>.community-feed-card:nth-child(3n).is-visible { transform:rotate(-.25deg); }
.mural-neighbor-board>.community-feed-card:hover,
.mural-neighbor-board>.community-feed-card:focus-within { box-shadow:var(--mural-paper-shadow-raised); transform:translateY(-4px) rotate(0); }
.community-detail-shell>.community-feed-card { overflow:visible; border-radius:8px; box-shadow:var(--mural-paper-shadow); }
.community-paper-fastener {
    width:82px;
    height:22px;
    position:absolute;
    z-index:6;
    top:-12px;
    left:50%;
    background:rgba(225,204,157,.72);
    box-shadow:0 2px 4px rgba(78,55,30,.09);
    transform:translateX(-50%) rotate(-1.5deg);
}
.community-feed-card.is-pinned .community-paper-fastener {
    width:18px;
    height:18px;
    top:-8px;
    border:3px solid #e4c87f;
    border-radius:50%;
    background:#76502c;
    box-shadow:0 5px 7px rgba(47,31,19,.28);
    transform:translateX(-50%);
}
.community-feed-card.is-pinned .community-paper-fastener::after {
    content:"";
    width:2px;
    height:12px;
    position:absolute;
    top:13px;
    left:5px;
    background:#755d48;
    transform:rotate(13deg);
}
.community-badge-pinned { border:1px solid #dfc27f; background:#fff1c9; }
.community-media-grid { overflow:visible; max-height:none; gap:.8rem; padding:.75rem 1rem 1rem; background:transparent; }
.community-media-item { overflow:visible; }
.community-media-open {
    overflow:hidden;
    border:7px solid #fff;
    border-bottom-width:19px;
    border-radius:2px;
    box-shadow:0 8px 16px rgba(47,31,19,.19);
    transform:rotate(-.65deg);
    transition:transform .22s ease,box-shadow .22s ease;
}
.community-media-item:nth-child(even) .community-media-open { transform:rotate(.7deg); }
.community-media-item:nth-child(3n) .community-media-open { transform:rotate(-.25deg); }
.community-media-open:hover,.community-media-open:focus-visible { z-index:2; box-shadow:0 13px 23px rgba(47,31,19,.24); transform:translateY(-3px) rotate(0); }
.community-comments { border-top:1px dashed rgba(114,82,51,.22); background:rgba(250,246,237,.75); }
.community-comment-bubble {
    position:relative;
    border:1px solid rgba(125,91,52,.13);
    border-radius:4px 11px 9px 5px;
    background:#fff7d7;
    box-shadow:0 4px 9px rgba(61,43,27,.07);
    transform:rotate(-.15deg);
}
.community-comment:nth-child(even) .community-comment-bubble { background:#f6f0e7; transform:rotate(.18deg); }
.community-comment.is-reply .community-comment-bubble { background:#f5eee2; }
.community-reaction-button.is-reacting>span:first-child { animation:muralReactionPop .18s ease-out; }
@keyframes muralReactionPop { 50% { transform:scale(1.1); } }

/* Iconos del dashboard creados con CSS */
.mural-notice-icon>span {
    width:22px;
    height:27px;
    position:relative;
    display:block;
    border-radius:2px;
    background:#fff8e9;
    box-shadow:0 3px 7px rgba(32,20,12,.18);
    transform:rotate(-4deg);
}
.mural-notice-icon>span::before { content:""; position:absolute; top:6px; right:4px; left:4px; height:2px; background:currentColor; box-shadow:0 6px 0 currentColor,0 12px 0 currentColor; opacity:.45; }
.mural-community-icon>span { width:27px; height:22px; position:relative; display:block; border:2px solid currentColor; border-radius:3px; opacity:.8; }
.mural-community-icon>span::before,.mural-community-icon>span::after { content:""; position:absolute; width:9px; height:11px; top:4px; border-radius:1px; background:currentColor; opacity:.45; transform:rotate(-5deg); }
.mural-community-icon>span::before { left:3px; }
.mural-community-icon>span::after { right:3px; transform:rotate(5deg); }

@media (max-width:991.98px) {
    .official-notice-board { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .mural-preview-paper { transform:none; }
    .notice-decoration-selector { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width:767.98px) {
    .official-notice-board { grid-template-columns:1fr; }
    .mural-board { gap:1.35rem; border-radius:18px; padding:1.25rem .9rem; }
    .official-notice-board>.mural-paper:nth-child(n),
    .mural-neighbor-board>.community-feed-card:nth-child(n).is-visible,
    .mural-detail-board>.mural-paper:nth-child(n) { transform:none; }
    .mural-paper { border-radius:6px; }
    .mural-notice-footer { align-items:flex-start; flex-direction:column; }
    .mural-notice-footer .admin-message-id { max-width:100%; }
    .admin-notice-media-gallery button:nth-child(n) { transform:none; }
    .notice-paper-style-selector { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .notice-decoration-selector { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .notice-paper-style-thumbnail { min-height:120px; transform:none !important; }
    .mural-neighbor-board { padding:1.15rem .65rem; }
    .community-media-grid { gap:.5rem; padding:.55rem; }
    .community-media-open { border-width:5px; border-bottom-width:13px; transform:none !important; }
}

@media (max-width:575.98px) {
    .mural-notice-header { flex-direction:column; gap:.4rem; }
    .mural-notice-meta { grid-template-columns:1fr; }
    .mural-notice-meta>div:last-child { grid-column:auto; }
    .mural-official-page .admin-page-heading { align-items:stretch; }
    .mural-official-page .admin-page-heading>.admin-button { width:100%; }
    .mural-detail-board .admin-notice-detail-gallery { grid-template-columns:1fr; }
    .mural-detail-board .admin-notice-detail-gallery button { transform:none; }
    .admin-notice-media-gallery.detail { grid-template-columns:1fr; }
    .admin-notice-media-gallery.detail button,
    .admin-notice-media-gallery.detail.count-1 button { min-height:220px; }
    .admin-notice-pdf-card { grid-template-columns:auto minmax(0,1fr); }
    .admin-notice-pdf-link { grid-column:1/-1; text-align:center; }
    .notice-paper-style-selector { gap:.65rem; }
    .notice-paper-style-thumbnail { min-height:108px; padding:.85rem .65rem .65rem; }
    .notice-paper-style-option>strong { font-size:.68rem; }
    .paper-style-notebook { padding-left:1.45rem; }
    .paper-style-university { padding-bottom:1.75rem; }
}

@media (prefers-reduced-motion:reduce) {
    .mural-paper,
    .community-feed-card,
    .community-media-open,
    .mural-detail-board .admin-notice-detail-gallery button { transition:none; transform:none !important; }
    .admin-notice-media-gallery button { transition:none; transform:none !important; }
    .notice-paper-style-thumbnail,
    .notice-paper-choice-check,
    .notice-decoration-choice,
    .notice-decoration-choice-check { transition:none; transform:none !important; }
    .mural-motion-enabled .mural-paper.mural-reveal-pending,
    .mural-paper.is-revealed>.notice-paper-fastener,
    .mural-paper.is-revealed>.notice-decoration { animation:none !important; opacity:1 !important; }
    .mural-paper:hover,
    .community-feed-card:hover,
    .community-media-open:hover,
    .mural-detail-board .admin-notice-detail-gallery button:hover { transform:none !important; }
    .community-reaction-button.is-reacting>span:first-child { animation:none; }
}

/* Comentarios multimedia del Mural Comunitario */
.community-comment-media-controls { display:grid; gap:.38rem; margin-top:.42rem; }
.community-comment-media-controls>small { color:var(--admin-muted); font-size:.62rem; }
.community-comment-media-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:.3rem; }
.community-comment-media-toolbar button { display:inline-flex; align-items:center; gap:.25rem; border:1px solid #d8c9b4; border-radius:999px; padding:.3rem .52rem; color:var(--admin-coffee); background:#fffdf8; cursor:pointer; font-size:.67rem; font-weight:800; transition:background .18s ease,transform .18s ease,border-color .18s ease; }
.community-comment-media-toolbar button:hover,.community-comment-media-toolbar button:focus-visible { border-color:var(--admin-gold); background:#fff7e7; transform:translateY(-1px); }
.community-comment-media-selection { width:fit-content; max-width:100%; display:flex; align-items:center; gap:.45rem; border:1px dashed #cdb68f; border-radius:12px; padding:.38rem; background:#fffaf0; }
.community-comment-media-selection[hidden] { display:none; }
.community-comment-media-selection img { width:54px; height:54px; border-radius:9px; object-fit:contain; background:#fff; }
.community-comment-media-selection span { overflow:hidden; max-width:180px; color:var(--admin-coffee-dark); font-size:.66rem; font-weight:750; text-overflow:ellipsis; white-space:nowrap; }
.community-comment-media-selection button { border:0; padding:.25rem; color:var(--admin-red); background:transparent; cursor:pointer; font-size:.65rem; font-weight:850; }
.community-remove-existing-media { display:flex; align-items:center; gap:.38rem; color:#765b3b; font-size:.66rem; font-weight:750; }
.community-media-popover { position:fixed; z-index:1250; inset:50% auto auto 50%; width:min(92vw,660px); max-height:min(78vh,650px); overflow:auto; border:1px solid rgba(89,59,32,.22); border-radius:18px; padding:.8rem; background:#fffdf8; box-shadow:0 26px 70px rgba(42,27,16,.32); transform:translate(-50%,-50%); }
.community-media-popover[hidden] { display:none; }
body.community-media-open { overflow:hidden; }
.community-media-popover::before { content:""; position:fixed; z-index:-1; inset:-100vh; background:rgba(37,24,14,.4); }
.community-media-popover>header { position:sticky; z-index:2; top:-.8rem; display:flex; align-items:center; justify-content:space-between; margin:-.8rem -.8rem .7rem; border-bottom:1px solid var(--admin-border); padding:.75rem .9rem; color:var(--admin-coffee-dark); background:#fffdf8; }
.community-media-popover>header button { width:34px; height:34px; border:0; border-radius:50%; color:var(--admin-coffee); background:#f1e9dc; cursor:pointer; font-size:1.2rem; }
.community-media-catalog-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.55rem; }
.community-media-catalog-grid[hidden] { display:none; }
.community-media-catalog-grid button { min-width:0; display:grid; place-items:center; gap:.2rem; border:1px solid transparent; border-radius:13px; padding:.35rem; color:var(--admin-coffee-dark); background:transparent; cursor:pointer; font-size:.58rem; font-weight:750; transition:background .18s ease,transform .18s ease,border-color .18s ease; }
.community-media-catalog-grid button[hidden] { display:none; }
.community-media-catalog-grid button:hover,.community-media-catalog-grid button:focus-visible { border-color:#d8bb82; background:#fff4dc; transform:translateY(-2px); }
.community-media-catalog-grid img { width:100%; max-width:92px; aspect-ratio:1; object-fit:contain; }
.community-gif-catalog { grid-template-columns:repeat(4,minmax(0,1fr)); }
.community-gif-catalog img { max-width:none; border-radius:9px; background:#f5eee3; }
.community-comment.is-sticker-only .community-comment-bubble { border:0; padding:.12rem .2rem; background:transparent; box-shadow:none; transform:none; }
.community-comment.is-sticker-only .community-comment-bubble>header { width:fit-content; border-radius:10px; padding:.3rem .48rem; background:#f1ebe2; }
.community-comment-sticker { display:grid; place-items:start; padding:.1rem 0; }
.community-comment-sticker img { width:clamp(96px,16vw,160px); height:clamp(96px,16vw,160px); object-fit:contain; filter:drop-shadow(0 5px 5px rgba(65,42,23,.14)); }
.community-comment.is-new .community-comment-sticker img { animation:communityStickerIn .28s cubic-bezier(.2,.75,.25,1.15) both; }
@keyframes communityStickerIn { from { opacity:0; transform:translateY(4px) scale(.96); } to { opacity:1; transform:none; } }
.community-comment-gif { margin-top:.4rem; }
.community-comment-gif img { display:block; width:min(260px,100%); height:auto; max-height:260px; border:4px solid #fff; border-radius:11px; object-fit:contain; background:#f5eee3; box-shadow:0 5px 13px rgba(59,39,22,.15); }
.community-picker-panel[hidden] { display:none; }
.community-picker-tabs { display:flex; gap:.35rem; overflow-x:auto; margin:0 0 .65rem; padding:.05rem .05rem .35rem; scrollbar-width:thin; }
.community-picker-tabs button { flex:0 0 auto; min-height:34px; border:1px solid #d8c9b4; border-radius:999px; padding:.3rem .62rem; color:var(--admin-coffee); background:#fffdf8; font-size:.66rem; font-weight:800; }
.community-picker-tabs button.is-active { border-color:var(--admin-gold); color:#fff; background:var(--admin-coffee); }
.community-emoji-grid { display:grid; grid-template-columns:repeat(8,minmax(38px,1fr)); gap:.25rem; max-height:330px; overflow:auto; padding:.15rem; }
.community-emoji-grid button { min-height:42px; border:0; border-radius:10px; padding:.2rem; background:transparent; cursor:pointer; font-size:1.45rem; line-height:1; }
.community-emoji-grid button:hover,.community-emoji-grid button:focus-visible { background:#f1e9dc; transform:scale(1.06); }
.community-emoji-toolbar-icon { font-size:1rem; line-height:1; }
.community-gif-search-wrap { position:sticky; z-index:1; top:43px; margin:-.1rem 0 .45rem; padding:.12rem 0 .35rem; background:#fffdf8; }
.community-gif-search-wrap input { width:100%; min-height:42px; border:1px solid #d8c9b4; border-radius:12px; padding:.55rem .7rem; color:var(--admin-coffee-dark); background:#fff; }
.community-gif-search-wrap input:focus { border-color:var(--admin-gold); outline:3px solid rgba(177,128,54,.14); }
.community-gif-status { min-height:1.2rem; margin:.2rem 0 .45rem; color:var(--admin-muted); font-size:.7rem; }
.community-tenor-results:empty { display:none; }
.community-tenor-results button { overflow:hidden; padding:0; background:#eee6d9; }
.community-tenor-results button img { width:100%; height:100%; min-height:90px; aspect-ratio:1; object-fit:cover; }
.community-gif-more { min-height:38px; display:block; margin:.6rem auto; border:1px solid var(--admin-gold); border-radius:999px; padding:.4rem .8rem; color:var(--admin-coffee); background:#fff7e7; font-size:.7rem; font-weight:800; }
.community-local-gifs { margin-top:.7rem; border-top:1px solid var(--admin-border); padding-top:.6rem; }
.community-local-gifs>strong { display:block; margin-bottom:.4rem; color:var(--admin-coffee-dark); font-size:.7rem; }
.community-tenor-attribution { width:max-content; display:block; margin:.75rem 0 0 auto; color:var(--admin-muted); font-size:.65rem; font-weight:800; text-decoration:none; }
.community-media-catalog-grid [data-community-catalog-choice="sticker"] { border:0; background:transparent; }
.community-comment-photo { width:min(230px,100%); margin-top:.45rem; transform:rotate(-.5deg); }
.community-comment-photo .community-media-open { min-height:0; border:6px solid #fff; border-bottom-width:13px; border-radius:3px; box-shadow:0 6px 14px rgba(59,39,22,.18); }
.community-comment-photo img { width:100%; max-height:220px; display:block; object-fit:cover; }
.community-comment-actions details form .community-comment-media-controls { width:100%; }

@media (max-width:700px) {
    .community-media-popover { width:100%; max-height:80vh; inset:auto 0 0; border-radius:22px 22px 0 0; padding:.75rem .7rem calc(.8rem + env(safe-area-inset-bottom)); transform:none; }
    .community-media-popover>header { top:-.75rem; margin:-.75rem -.7rem .65rem; }
    .community-media-catalog-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
    .community-gif-catalog { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .community-emoji-grid { grid-template-columns:repeat(7,minmax(38px,1fr)); max-height:48vh; }
    .community-comment-sticker img { width:clamp(92px,35vw,130px); height:clamp(92px,35vw,130px); }
    .community-comment-media-toolbar { gap:.22rem; }
    .community-comment-media-toolbar button { padding:.28rem .42rem; font-size:.62rem; }
    .community-comment-photo { transform:none; }
}

@media (prefers-reduced-motion:reduce) {
    .community-comment-media-toolbar button,.community-media-catalog-grid button,.community-emoji-grid button { transition:none; transform:none !important; }
}

/* Room / Panel comunitario: refinamiento social progresivo */
.community-ui-icon {
    width:1em;
    height:1em;
    display:inline-block;
    flex:0 0 auto;
    overflow:visible;
    fill:none;
    vertical-align:-.125em;
}
.community-author-meta,
.community-author-location,
.community-post-context,
.community-metric,
.community-engagement-counts,
.community-comment-time,
.community-comment-action,
.community-comment-send {
    display:inline-flex;
    align-items:center;
}
.community-author-meta { min-width:0; gap:.38rem; }
.community-author-location { min-width:0; gap:.25rem; }
.community-author-location>span { overflow:hidden; text-overflow:ellipsis; }
.community-author-location .community-ui-icon { width:.88rem; height:.88rem; color:#96724e; }
.community-meta-separator { color:#b3a393; }
.community-post-context { flex-wrap:wrap; gap:.45rem; margin-bottom:.55rem; }
.community-category-chip { gap:.3rem; }
.community-category-chip .community-ui-icon,
.community-comments-closed .community-ui-icon { width:.78rem; height:.78rem; }
.community-comments-closed { display:inline-flex; align-items:center; gap:.3rem; }

.community-engagement-counts { flex-wrap:wrap; justify-content:flex-end; gap:.8rem !important; }
.community-metric { gap:.3rem; }
.community-metric .community-ui-icon { width:.95rem; height:.95rem; color:#927454; }
.community-metric-link { border-radius:7px; padding:.2rem .28rem; cursor:pointer; transition:color .18s ease,background .18s ease,transform .18s ease; }
.community-metric-link:hover,.community-metric-link:focus-visible { background:rgba(176,133,70,.09); text-decoration:none; transform:translateY(-1px); }

.community-reaction-button { position:relative; isolation:isolate; }
.community-reaction-glyph { display:inline-grid; place-items:center; transform-origin:50% 80%; }
.community-reaction-button.is-pending::after {
    content:"";
    width:4px;
    height:4px;
    position:absolute;
    right:7px;
    bottom:6px;
    border-radius:50%;
    background:var(--admin-gold-dark);
    box-shadow:0 0 0 3px rgba(183,139,65,.14);
}
.community-reaction-button.is-selected .community-reaction-glyph { transform:scale(1.08); }
.community-reaction-button.is-reacting .community-reaction-glyph { animation:communityReactionSelect .24s cubic-bezier(.2,.8,.3,1.35); }
@keyframes communityReactionSelect {
    0% { transform:scale(.92); }
    65% { transform:scale(1.2); }
    100% { transform:scale(1.08); }
}

.community-comment-thread { position:relative; }
.community-comment { min-width:0; transform-origin:top left; }
.community-comment-avatar { outline:2px solid rgba(255,255,255,.9); }
.community-comment-bubble header { justify-content:space-between; gap:.35rem .8rem; }
.community-comment-time { gap:.35rem; }
.community-comment-time small::before { content:"·"; margin-right:.35rem; }
.community-comment-actions { gap:.2rem .55rem; }
.community-comment-action { gap:.22rem; min-height:30px; border-radius:7px; padding:.15rem .25rem; transition:color .18s ease,background .18s ease,transform .18s ease; }
.community-comment-action .community-ui-icon { width:.8rem; height:.8rem; }
.community-comment-action:hover,.community-comment-action:focus-visible { color:var(--admin-coffee-dark); background:rgba(176,133,70,.1); transform:translateY(-1px); }
.community-comment-action.danger:hover,.community-comment-action.danger:focus-visible { color:#8f2e2e; background:rgba(176,50,50,.08); }
.community-comments-empty>.community-ui-icon { width:1.2rem; height:1.2rem; }
.community-comments.is-updated .community-comment-thread { animation:communityThreadRefresh .3s ease-out; }
.community-comment.is-new { animation:communityCommentIn .34s cubic-bezier(.2,.75,.25,1) both; }
@keyframes communityCommentIn {
    from { opacity:0; transform:translateY(7px) scale(.985); }
    to { opacity:1; transform:none; }
}
@keyframes communityThreadRefresh {
    50% { opacity:.82; }
}

.community-comment-composer { align-items:flex-start; }
.community-comment-input-wrap { display:grid; gap:.22rem; }
.community-comment-editor { overflow:hidden; border:1px solid rgba(126,91,57,.2); border-radius:18px; background:#fffdf9; box-shadow:0 5px 14px rgba(61,43,27,.045); transition:border-color .18s ease,box-shadow .18s ease; }
.community-comment-editor:focus-within { border-color:var(--admin-gold-dark); box-shadow:0 0 0 3px rgba(183,139,65,.12),0 6px 18px rgba(61,43,27,.06); }
.community-comment-composer .community-comment-editor>textarea { border:0; border-radius:0; padding:.72rem .82rem .45rem; background:transparent; box-shadow:none; }
.community-comment-composer .community-comment-editor>textarea:focus { border:0; box-shadow:none; }
.community-comment-editor>.community-comment-media-controls { gap:.32rem; margin:0; padding:0 .55rem; }
.community-comment-editor>.community-comment-media-controls>small { display:none; }
.community-comment-composer-footer { justify-content:space-between; gap:.7rem; border-top:1px dashed rgba(126,91,57,.15); margin-top:.42rem; padding:.5rem .55rem .55rem .75rem; }
.community-comment-composer-footer>small { color:var(--admin-muted); font-size:.62rem; }
.community-comment-send { justify-content:center; gap:.32rem; min-width:90px; min-height:38px; }
.community-comment-send .community-ui-icon { width:.95rem; height:.95rem; }
.community-comment-media-toolbar button { min-height:34px; }
.community-comment-media-toolbar .community-ui-icon { width:.9rem; height:.9rem; }
.community-comment-media-toolbar button:active,
.community-comment-send:active,
.community-comment-action:active,
.community-metric-link:active { transform:scale(.97); }

/* Las tarjetas permanecen visibles sin JavaScript; la clase se aplica solo si existe un observador compatible. */
.community-feed-card { --community-paper-rotation:0deg; opacity:1; transform:rotate(var(--community-paper-rotation)); }
.mural-neighbor-board>.community-feed-card:nth-child(3n+1) { --community-paper-rotation:-.55deg; }
.mural-neighbor-board>.community-feed-card:nth-child(3n+2) { --community-paper-rotation:.65deg; }
.mural-neighbor-board>.community-feed-card:nth-child(3n) { --community-paper-rotation:-.25deg; }
.mural-neighbor-board>.community-feed-card:nth-child(n).is-visible { transform:rotate(var(--community-paper-rotation)); }
.community-motion-enabled .community-feed-card.community-reveal-pending:not(.is-visible) {
    opacity:0;
    transform:translateY(14px) rotate(var(--community-paper-rotation)) scale(.992);
}
.community-motion-enabled .community-feed-card.community-reveal-pending.is-visible {
    animation:communityCardReveal .46s cubic-bezier(.2,.75,.25,1) both;
}
@keyframes communityCardReveal {
    from { opacity:0; transform:translateY(14px) rotate(var(--community-paper-rotation)) scale(.992); }
    to { opacity:1; transform:rotate(var(--community-paper-rotation)) scale(1); }
}
.mural-neighbor-board>.community-feed-card:nth-child(n):hover,
.mural-neighbor-board>.community-feed-card:nth-child(n):focus-within {
    transform:translateY(-3px) rotate(var(--community-paper-rotation));
}

/* Galería social: proporciones estables para una a cuatro fotografías. */
.community-media-grid { grid-auto-rows:minmax(185px,1fr); max-height:none; }
.community-media-item,
.community-media-count-1 .community-media-item,
.community-media-count-2 .community-media-item,
.community-media-count-4 .community-media-item { min-height:0; aspect-ratio:4/3; }
.community-media-count-1 .community-media-item { aspect-ratio:16/10; }
.community-media-count-3 .community-media-item:first-child { min-height:0; aspect-ratio:auto; }
.community-media-count-3 .community-media-item:not(:first-child) { min-height:0; aspect-ratio:4/3; }
.community-media-open img { object-position:center; }
.community-comment-photo { aspect-ratio:auto; }

@media (max-width:767.98px) {
    .community-author-meta { align-items:flex-start; flex-direction:column; gap:.12rem; white-space:normal; }
    .community-meta-separator { display:none; }
    .community-post-context { margin-bottom:.45rem; }
    .community-engagement-counts { justify-content:flex-start; }
    .community-reaction-button { min-height:48px; }
}

@media (max-width:575.98px) {
    .mural-neighbor-board>.community-feed-card:nth-child(n),
    .mural-neighbor-board>.community-feed-card:nth-child(n).is-visible,
    .mural-neighbor-board>.community-feed-card:nth-child(n):hover,
    .mural-neighbor-board>.community-feed-card:nth-child(n):focus-within { transform:none; }
    .community-motion-enabled .community-feed-card.community-reveal-pending:not(.is-visible) { transform:translateY(10px) scale(.995); }
    .community-engagement-summary { width:auto; }
    .community-engagement-counts { width:100%; gap:.55rem !important; }
    .community-media-grid,
    .community-media-count-1,
    .community-media-count-2,
    .community-media-count-3,
    .community-media-count-4 { grid-template-columns:1fr; grid-auto-rows:auto; max-height:none; }
    .community-media-grid .community-media-item,
    .community-media-count-3 .community-media-item:first-child,
    .community-media-count-3 .community-media-item:not(:first-child) { grid-row:auto; min-height:0; aspect-ratio:4/3; }
    .community-comment.is-reply { margin-left:.8rem; padding-left:.55rem; border-left:2px solid rgba(177,139,82,.2); }
    .community-comment-bubble { width:100%; }
    .community-comment-bubble header { align-items:flex-start; flex-direction:column; gap:.08rem; }
    .community-comment-composer { align-items:stretch; }
    .community-comment-editor { border-radius:15px; }
    .community-comment-composer-footer { align-items:flex-end; }
    .community-comment-composer-footer>small { max-width:52%; }
    .community-comment-send { min-width:96px; min-height:42px; }
    .community-comment-media-toolbar button { min-height:40px; padding:.42rem .52rem; }
    .community-comment-actions details[open] { width:100%; }
}

@media (prefers-reduced-motion:reduce) {
    .community-motion-enabled .community-feed-card.community-reveal-pending,
    .community-motion-enabled .community-feed-card.community-reveal-pending.is-visible,
    .community-comment.is-new,
    .community-comments.is-updated .community-comment-thread,
    .community-reaction-button.is-reacting .community-reaction-glyph { animation:none !important; opacity:1 !important; transform:none !important; }
    .community-reaction-button.is-selected .community-reaction-glyph { transform:none; }
}

/* Room multimedia v2: prioridad final sobre la estética de papel del panel */
.community-author-avatar { width:40px; height:40px; border-width:1px; box-shadow:0 2px 7px rgba(61,43,27,.14); }
.community-author-avatar>img,.community-comment-avatar>img { filter:saturate(1.05) contrast(1.04); }
.community-comment-thread { gap:10px; }
.community-comment { gap:8px; }
.community-comment-avatar { width:36px; height:36px; box-shadow:0 2px 6px rgba(61,43,27,.13); }
.community-comment-main { display:grid; justify-items:start; }
.community-comment-identity { display:flex; align-items:baseline; flex-wrap:wrap; gap:.18rem .45rem; margin:0 0 .2rem .34rem; line-height:1.2; }
.community-comment-identity strong { color:var(--admin-coffee-dark); font-size:.75rem; }
.community-comment-identity .community-comment-time { color:var(--admin-muted); font-size:.6rem; }
.community-comment-bubble { width:fit-content; max-width:min(100%,560px); border:0; border-radius:4px 15px 15px; padding:.46rem .66rem; background:#f1ece5; box-shadow:none; transform:none !important; }
.community-comment-bubble p { margin:0; font-size:.8rem; line-height:1.38; }
.community-comment:nth-child(even) .community-comment-bubble { background:#f6f1ea; transform:none; }
.community-comment.is-sticker-only .community-comment-bubble,.community-comment.is-gif-only .community-comment-bubble { border:0; padding:0; background:transparent; box-shadow:none; }
.community-comment.is-reply { margin-left:1.65rem; }
.community-comment-actions { gap:.05rem .35rem; margin:.08rem 0 0 .28rem; }
.community-comment-action { min-height:25px; padding:.1rem .22rem; font-size:.62rem; }
.community-comment-sticker img { width:clamp(110px,15vw,150px); height:clamp(110px,15vw,150px); filter:drop-shadow(0 4px 5px rgba(59,39,22,.14)); }
.community-comment-gif { margin:0; }
.community-comment-gif img { width:min(290px,100%); max-height:300px; border:0; border-radius:12px; background:#eee8df; box-shadow:0 3px 11px rgba(59,39,22,.13); }
.community-comment-photo { width:min(260px,100%); margin:0; transform:none; }
.community-comment-photo .community-media-open { overflow:hidden; border:0; border-radius:12px; box-shadow:0 3px 11px rgba(59,39,22,.13); transform:none; }
.community-comment-photo img { max-height:260px; object-fit:cover; }
.community-comment-composer { gap:.48rem; margin-top:.75rem; }
.community-comment-composer>.community-comment-avatar { width:36px; height:36px; }
.community-comment-editor { border-radius:20px; box-shadow:0 3px 10px rgba(61,43,27,.04); }
.community-comment-composer .community-comment-editor>textarea { min-height:40px; padding:.62rem .75rem .3rem; }
.community-comment-editor>.community-comment-media-controls { padding:0 .46rem; }
.community-comment-media-toolbar { gap:.14rem; }
.community-comment-media-toolbar button { min-height:32px; border-color:transparent; padding:.27rem .4rem; color:var(--admin-coffee); background:transparent; font-size:.63rem; }
.community-comment-media-toolbar button:hover,.community-comment-media-toolbar button:focus-visible { border-color:rgba(126,91,57,.16); background:#f7f0e6; }
.community-comment-composer-footer { margin-top:.28rem; padding:.38rem .45rem .43rem .7rem; }
.community-comment-send { min-width:82px; min-height:34px; padding:.42rem .65rem; }
.community-comment-media-selection { border:0; border-radius:12px; padding:.3rem .42rem; background:#f6efe5; }
.community-comment-media-selection img { width:58px; height:58px; border-radius:10px; background:transparent; }
.community-comment-media-selection.is-sticker img { width:86px; height:86px; }
.community-comment-media-selection.is-gif img { width:110px; height:72px; object-fit:cover; }
.community-media-popover { width:min(94vw,440px); max-height:min(76vh,610px); border-radius:18px; padding:.7rem; }
.community-media-popover[data-community-picker-kind="gif"] { width:min(94vw,610px); }
.community-media-popover>header { top:-.7rem; margin:-.7rem -.7rem .55rem; padding:.62rem .72rem; }
.community-emoji-search-wrap,.community-gif-search-wrap { position:sticky; z-index:1; top:39px; margin:0 0 .45rem; padding:.1rem 0 .28rem; background:#fffdf8; }
.community-emoji-search-wrap input,.community-gif-search-wrap input { width:100%; min-height:38px; border:1px solid #d8c9b4; border-radius:11px; padding:.48rem .65rem; color:var(--admin-coffee-dark); background:#fff; font-size:.76rem; }
.community-emoji-search-wrap input:focus,.community-gif-search-wrap input:focus { border-color:var(--admin-gold); outline:3px solid rgba(177,128,54,.12); }
.community-picker-tabs { gap:.25rem; margin-bottom:.45rem; }
.community-picker-tabs button { min-height:31px; padding:.25rem .5rem; }
.community-emoji-grid { grid-template-columns:repeat(8,minmax(36px,1fr)); gap:.16rem; max-height:300px; }
.community-emoji-grid button { min-height:39px; font-size:1.38rem; }
.community-media-catalog-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:.35rem; }
.community-media-catalog-grid button { min-height:125px; border-radius:12px; padding:.25rem; }
.community-media-catalog-grid [data-community-catalog-choice="sticker"] img { max-width:112px; filter:drop-shadow(0 3px 5px rgba(59,39,22,.12)); }
.community-media-catalog-grid [data-community-catalog-choice="sticker"] span { font-size:.61rem; }
.community-gif-catalog { grid-template-columns:repeat(3,minmax(0,1fr)); }
.community-gif-catalog button { min-height:0; overflow:hidden; padding:0; }
.community-gif-catalog img { width:100%; min-height:96px; aspect-ratio:1.22; object-fit:cover; }

@media (max-width:700px) {
    .community-author-avatar { width:38px; height:38px; }
    .community-comment-avatar { width:34px; height:34px; }
    .community-comment-thread { gap:9px; }
    .community-comment { gap:7px; }
    .community-comment.is-reply { margin-left:.75rem; }
    .community-comment-gif img { width:min(100%,240px); max-height:240px; }
    .community-comment-photo { width:min(100%,230px); }
    .community-comment-media-toolbar { justify-content:space-between; }
    .community-comment-media-toolbar button { min-width:0; min-height:36px; padding:.3rem .34rem; }
    .community-comment-media-toolbar button span:last-child { font-size:.59rem; }
    .community-comment-send { min-width:78px; min-height:38px; }
    .community-media-popover { max-height:78vh; }
    .community-emoji-grid { grid-template-columns:repeat(7,minmax(36px,1fr)); }
    .community-media-catalog-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .community-media-catalog-grid button { min-height:105px; }
    .community-gif-catalog { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (prefers-reduced-motion:reduce) {
    .community-media-catalog-grid button,.community-comment-media-selection img { transition:none !important; transform:none !important; }
}
