:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-primary:var(--bs-blue);--bs-secondary:#6c757d;--bs-success:var(--bs-green);--bs-info:var(--bs-cyan);--bs-warning:var(--bs-yellow);--bs-danger:var(--bs-red);--bs-light:#f8f9fa;--bs-dark:#212529;--bs-body-color:#212529;--bs-body-bg:#f8f9fa;--bs-border-color:#dee2e6;--text:var(--bs-secondary);--text-h:var(--bs-dark);--bg:var(--bs-body-bg);--border:var(--bs-border-color);--code-bg:#e9ecef;--accent:var(--bs-primary);--accent-bg:#0d6efd1a;--accent-border:#0d6efd80;--social-bg:#f8f9facc;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=1024px){:root{font-size:16px}}*,:before,:after{box-sizing:border-box}html,body{max-width:100%;overflow-x:clip}body{background:var(--bs-body-bg);color:var(--bs-body-color);margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.app-shell{--surface:#fff;--surface-muted:var(--bs-light);--ink:var(--bs-dark);--muted:var(--bs-secondary);--line:var(--bs-border-color);gap:1.2rem;padding:1.5rem;display:grid}.app-shell>*{min-width:0}.hero-panel{background:linear-gradient(135deg, var(--bs-primary), var(--bs-indigo));color:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.25rem;display:flex;box-shadow:0 18px 40px #0f172a2e}.eyebrow{white-space:nowrap;text-transform:uppercase;letter-spacing:.2em;color:#5494f3;justify-self:center;margin:0 0 .3rem;font-size:1.25rem;font-weight:700}.hero-panel h1{color:#fff;letter-spacing:0;margin:0 0 .4rem;font-size:1.3rem}.hero-text{color:#e7f1ff;max-width:640px;margin:0}.hero-badge{background:#ffffff29;border-radius:999px;padding:.75rem 1rem;font-weight:600}.hero-actions{align-items:center;gap:.8rem;display:flex}.navbar-menu{align-items:center;gap:.35rem;display:flex}.navbar-menu .view-button{align-items:center;display:inline-flex}.navbar-menu .view-button,.navbar-menu .view-button.active{color:#fff;background:0 0}.navbar-menu .button-icon{width:1rem;height:1rem;margin-right:.4rem}.claims-menu-control{position:relative}.menu-chevron{margin-left:.45rem;font-size:.9rem;line-height:1;transition:transform .2s}.menu-chevron.open{transform:rotate(180deg)}.claims-submenu{z-index:60;border:1px solid var(--bs-border-color);background:#fff;border-radius:.75rem;width:210px;padding:.4rem;position:absolute;top:calc(100% + .55rem);left:0;box-shadow:0 .75rem 1.75rem #21252933}.claims-submenu button{width:100%;color:var(--bs-dark);text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:.45rem;align-items:center;padding:.7rem .75rem;display:flex}.claims-submenu button:hover{background:var(--bs-light)}.claims-submenu button.active{color:var(--bs-primary);background:#e7f1ff;font-weight:700}.claims-submenu .button-icon{flex:none;width:1rem;height:1rem;margin-right:.6rem}.role-switcher{display:none}.board-header{text-align:left;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.1rem;display:flex}.board-header h2{margin:0}.board-header p{color:var(--bs-secondary);margin:.2rem 0 0;font-size:.9rem}.board-header .primary-button{white-space:nowrap;align-items:center;display:inline-flex}.primary-button{color:var(--bs-primary);cursor:pointer;background:#fff;border:none;border-radius:999px;padding:.8rem 1rem;font-weight:700}.success-button{background:var(--bs-success);color:#fff;cursor:pointer;border:none;border-radius:999px;padding:.8rem 1rem;font-weight:700}.success-button:hover{background:#02522c}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.stat-card,.form-panel,.board-panel{background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:0 10px 30px #0f172a0f}.stat-card{flex-direction:column;gap:.25rem;padding:1rem 1.2rem;display:flex}.stat-card span{color:var(--muted);font-size:.95rem}.stat-card strong{color:var(--ink);font-size:1.4rem}.content-grid{gap:1.2rem;display:grid}.form-panel,.board-panel{padding:1.2rem}.modal-overlay{z-index:50;background:#0f172aad;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-card{background:#fff;border-radius:24px;width:min(720px,100%);max-height:90vh;padding:1.2rem;overflow:auto;box-shadow:0 20px 60px #0f172a4d}.modal-header{grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;margin-bottom:1rem;display:grid}.modal-header-title{justify-self:start}.modal-header h2{color:#111827;margin:0}.claim-form-header{gap:1rem;margin-bottom:1rem;display:grid}.claim-form-header-actions{justify-content:flex-end;display:flex}.claim-form-title{color:var(--bs-primary);text-align:center;margin:0}.modal-form{gap:.8rem;display:grid}.modal-form label{color:#0f172a;flex-direction:column;align-items:flex-start;gap:.35rem;font-weight:700;display:flex}.modal-form input,.modal-form textarea,.modal-form select{box-sizing:border-box;color:#111827;background:#f8fafc;border:1px solid #d1d5db;border-radius:12px;width:100%;padding:.8rem .9rem}.form-panel h2,.empty-state h3{color:#111827;margin-top:0}.form-panel label{color:#0f172a;flex-direction:column;align-items:flex-start;gap:.4rem;margin-bottom:.8rem;font-weight:700;display:flex}.form-panel input,.form-panel textarea,.form-panel select,.toolbar input,.toolbar select{width:100%;font:inherit;box-sizing:border-box;color:#111827;background:#f8fafc;border:1px solid #d1d5db;border-radius:12px;padding:.8rem .9rem}.inline-fields{grid-template-columns:1fr 1fr;gap:.8rem;display:grid}.toolbar{gap:.8rem;margin-bottom:1rem;display:flex}.claim-list{gap:.9rem;display:grid}.claim-card{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:16px;padding:1rem}.claim-header{justify-content:space-between;align-items:start;gap:.8rem;display:flex}.claim-card h3{color:#111827;margin:0 0 .25rem}.customer{color:#64748b;margin:0;font-size:.95rem}.status-pill{white-space:nowrap;border-radius:999px;padding:.35rem .7rem;font-size:.8rem;font-weight:700}.status-pill.en-revisión{color:#1d4ed8;background:#dbeafe}.status-pill.pendiente-anulación{color:#b91c1c;background:#fef2f2}.detail{color:#111827;margin:.75rem 0}.claim-footer{color:#64748b;justify-content:space-between;align-items:center;margin-bottom:.8rem;font-size:.9rem;display:flex}.claim-actions{flex-wrap:wrap;gap:.6rem;display:flex}.claim-actions button{flex:1;min-width:120px}.detail-overlay{width:100%}.detail-modal-card{width:min(960px,100%);max-height:none;margin:0 auto}.detail-header{gap:1rem;margin-bottom:1.5rem;display:grid}.detail-header-actions{justify-content:flex-end;display:flex}.detail-header-content{text-align:center}.detail-header-content h2{color:var(--ink);margin:.35rem 0 0}.detail-header-content .detail-page-title{color:var(--bs-primary);margin:0}.detail-header-content .detail-subtitle{margin-top:.35rem}.detail-header-content .helper-text{margin:.5rem 0 0}.detail-page>.hero-panel,.detail-page>.stats-grid,.detail-page>.content-grid,.detail-page>.search-page{display:none}.detail-view{background:#fff;border:1px solid #e5e7eb;border-radius:24px;padding:1.2rem;box-shadow:0 10px 30px #0f172a0f}.detail-view-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.detail-subtitle{color:#64748b;margin:.2rem 0 0}.ghost-button{color:#334155;background:#fff;border:1px solid #cbd5e1}.detail-grid{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;display:grid}.detail-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;padding:1rem}.detail-card h3{color:#111827;margin-top:0}.detail-actions{flex-wrap:wrap;gap:.6rem;margin-bottom:1rem;display:flex}.detail-meta{color:#111827;flex-direction:column;gap:.35rem;margin-top:.8rem;font-weight:600;display:flex}.timeline-track{gap:0;padding-left:.25rem;display:grid;position:relative}.timeline-step{color:#64748b;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:.65rem;align-items:center;gap:.85rem;min-height:3.4rem;padding:.45rem .75rem .45rem 2.25rem;display:flex;position:relative}.timeline-step:before{content:"";background:#cbd5e1;width:3px;position:absolute;top:0;bottom:0;left:.84rem}.timeline-step:first-child:before{top:50%}.timeline-step:last-child:before{bottom:50%}.timeline-step:disabled{cursor:default}.timeline-step:hover:not(:disabled){background:#eef2ff}.timeline-step.completed:before{background:#22c55e}.timeline-step .timeline-dot{z-index:1;border:3px solid #fff;width:1rem;height:1rem;position:absolute;left:.38rem;box-shadow:0 0 0 2px}.timeline-dot{background:currentColor;border-radius:999px;width:.7rem;height:.7rem}.timeline-label{font-size:.95rem;font-weight:700}.detail-event-toolbar{justify-content:flex-end;margin-bottom:1rem;display:flex}.detail-event-toolbar .primary-button{color:#fff;background:var(--bs-primary)}.event-modal-card{width:min(560px,100%)}.hero-actions{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.8rem;width:100%;display:flex}.navbar-menu{order:1}.profile-control{order:2;margin-left:auto}.notifications-control{order:3}.role-switcher{background:#ffffff29;border-radius:999px;gap:.3rem;padding:.25rem;display:flex}.role-button,.view-button{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:.55rem .8rem;font-weight:600}.role-button.active,.view-button.active{color:#312e81;background:#fff}.helper-text{color:#475569;margin:.35rem 0 0;font-size:.95rem}.admin-action-card{gap:.8rem;display:grid}.admin-event-form{gap:.75rem;display:grid}.admin-event-form label{color:#0f172a;flex-direction:column;gap:.35rem;font-weight:700;display:flex}.admin-event-form input,.admin-event-form textarea,.admin-event-form select{box-sizing:border-box;color:#111827;background:#f8fafc;border:1px solid #d1d5db;border-radius:12px;width:100%;padding:.75rem .85rem}.ticket-chip{color:#4338ca;background:#eef2ff;border-radius:999px;width:fit-content;margin:.35rem 0 0;padding:.35rem .6rem;font-size:.85rem;font-weight:700;display:inline-flex}.ticket-pill{color:#6d28d9;background:#ede9fe;border-radius:999px;align-items:center;padding:.35rem .7rem;font-size:.85rem;font-weight:700;display:inline-flex}.search-page{gap:1rem;display:grid}.search-panel{background:#fff;border:1px solid #e5e7eb;border-radius:24px;padding:1.2rem;box-shadow:0 10px 30px #0f172a0f}.search-panel-header{margin-bottom:1rem}.search-panel-header p{text-align:left}.ticket-search-form{gap:.8rem;margin-bottom:1rem;display:grid}.ticket-search-form label{color:#334155;flex-direction:column;gap:.35rem;font-weight:600;display:flex}.ticket-search-form input{width:100%;height:2.5rem;padding:.8rem .9rem}.ticket-search-form button,.ticket-search-result button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4f46e5,#7c3aed);border:none;border-radius:999px;padding:.8rem 1rem;font-weight:600}.ticket-search-result{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:16px;padding:1rem}.history-card{padding:1rem 1.1rem}.history-list{gap:.9rem;display:grid}.history-item{border-top:1px solid #e5e7eb;align-items:start;gap:.75rem;padding:.7rem 0;display:flex}.history-content{flex:1;min-width:0}.history-item-actions{flex-wrap:wrap;gap:.4rem;margin-left:auto;display:flex}.history-action-button{border-radius:50%;place-items:center;width:2.35rem;height:2.35rem;padding:0;display:inline-grid}.history-action-button .button-icon{width:1.05rem;height:1.05rem;margin:0;transition:transform .22s}.history-edit-button:hover .button-icon{transform:rotate(-14deg)scale(1.16)}.history-delete-button:hover .button-icon{transform:translateY(-2px)scale(1.12)}.history-action-button:focus-visible{outline-offset:2px;outline:3px solid #0d6efd4d}@media (prefers-reduced-motion:reduce){.history-action-button .button-icon{transition:none}}.history-edit-form{gap:.6rem;display:grid}.history-edit-form label{color:#0f172a;flex-direction:column;gap:.35rem;font-weight:600;display:flex}.history-edit-form input,.history-edit-form textarea{box-sizing:border-box;color:#111827;background:#f8fafc;border:1px solid #d1d5db;border-radius:10px;width:100%;padding:.7rem .8rem}.history-edit-actions{flex-wrap:wrap;gap:.55rem;display:flex}.history-item:first-child{border-top:none;padding-top:0}.history-dot{background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:999px;flex-shrink:0;width:.8rem;height:.8rem;margin-top:.35rem}.history-title-row{justify-content:space-between;gap:.8rem;margin-bottom:.2rem;display:flex}.history-title-row span{color:#64748b;font-size:.9rem}.history-item p{color:#111827;margin:0}.empty-state{text-align:center;color:#111827;border:1px dashed #cbd5e1;border-radius:16px;padding:1.2rem}@media (width<=900px){.content-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.app-shell,.hero-panel,.form-panel,.board-panel,.detail-view{padding:1rem}.hero-panel{flex-direction:column;align-items:flex-start}.hero-actions{justify-content:space-between;width:100%}.profile-control,.notifications-control{order:2;align-items:center;display:flex}.navbar-menu{order:3;width:100%}.claims-menu-control,.claims-menu-control>.view-button{width:100%}.claims-menu-control>.view-button{justify-content:center}.claims-submenu{width:100%;right:0}.board-header{flex-direction:column;align-items:flex-start}.stats-grid,.inline-fields,.toolbar,.detail-grid{grid-template-columns:1fr;display:grid}.detail-view-header,.history-title-row,.claim-footer{flex-direction:column;align-items:flex-start}}.login-page{background-image:url(/building.jpg);background-position:50%;background-size:cover;justify-content:center;align-items:center;width:100vw;min-height:100svh;margin-left:calc(50% - 50vw);padding:2rem;display:flex}.login-card.municipal{justify-content:flex-end;align-items:center;width:min(1000px,96%);min-height:500px;display:flex;position:relative}.assistant-avatar{background:linear-gradient(145deg,#fff,#e7f1ff);border:.3rem solid #ffffffe6;border-radius:50%;flex:none;place-items:center;width:4.75rem;height:4.75rem;animation:3s ease-in-out infinite assistant-float;display:grid;position:relative;box-shadow:0 1rem 2.5rem #0f172a40}.assistant-antenna{background:#7b1b1b;border-radius:999px;width:.25rem;height:1.2rem;position:absolute;top:-1.2rem}.assistant-antenna:before{content:"";background:#ffc107;border:.15rem solid #fff;border-radius:50%;width:.65rem;height:.65rem;animation:1.5s ease-in-out infinite assistant-signal;position:absolute;top:-.35rem;left:50%;transform:translate(-50%)}.assistant-face{background:linear-gradient(135deg,#0d6efd,#6610f2);border-radius:1rem;justify-content:center;align-items:center;gap:1rem;width:3.35rem;height:2.55rem;display:flex;position:relative}.assistant-eye{background:#fff;border-radius:999px;width:.55rem;height:.75rem;animation:4s infinite assistant-blink}.assistant-smile{border-bottom:.18rem solid #fff;border-radius:0 0 999px 999px;width:1.2rem;height:.55rem;position:absolute;bottom:.55rem}.chatbot{z-index:70;flex-direction:column;align-items:flex-end;gap:.8rem;display:flex;position:fixed;bottom:1.25rem;right:max(1.25rem,50vw - 563px + 1.25rem)}.chatbot-toggle{cursor:pointer;padding:0}.chatbot-toggle:focus-visible{outline-offset:3px;outline:4px solid #0d6efd59}.chatbot-panel{width:min(390px,100vw - 2rem);max-height:min(620px,100svh - 7rem);color:var(--bs-dark);text-align:left;border:1px solid var(--bs-border-color);background:#fff;border-radius:1rem;flex-direction:column;animation:.25s ease-out both assistant-message-in;display:flex;overflow:hidden;box-shadow:0 1rem 2.5rem #0f172a38}.chatbot-header{color:#fff;background:linear-gradient(135deg, var(--bs-primary), var(--bs-indigo));flex:none;justify-content:space-between;align-items:center;padding:.85rem 1rem;display:flex}.chatbot-header>div:first-child{display:grid}.chatbot-header span{opacity:.85;font-size:.72rem}.chatbot-header button{color:#fff;cursor:pointer;background:0 0;border:0;padding:0;font-size:1.5rem;line-height:1}.chatbot-header .chatbot-header-actions{align-items:center;gap:.7rem;display:flex}.chatbot-header .chatbot-clear{border:1px solid #ffffff8c;border-radius:.45rem;padding:.35rem .55rem;font-size:.72rem;font-weight:700}.chatbot-header .chatbot-clear:hover{background:#ffffff29}.chatbot-header .chatbot-close{font-size:1.5rem}.chatbot-content{flex-direction:column;flex:auto;min-height:0;padding:.85rem;display:flex;overflow:hidden}.chatbot-messages{flex-direction:column;flex:auto;gap:.55rem;min-height:0;padding:.15rem .1rem .65rem;display:flex;overflow-y:auto}.chat-message{overflow-wrap:anywhere;white-space:pre-line;border-radius:.8rem;max-width:88%;margin:0;padding:.65rem .75rem;font-size:.82rem;line-height:1.4}.chat-message.bot{background:#e7f1ff;border-bottom-left-radius:.2rem;align-self:flex-start}.chat-message.user{color:#fff;background:var(--bs-primary);border-bottom-right-radius:.2rem;align-self:flex-end}.chatbot-options{gap:.5rem;margin-top:.2rem;display:grid}.chatbot-options button,.chatbot-restart,.chatbot-form button{color:#fff;background:var(--bs-primary);font:inherit;cursor:pointer;border:0;border-radius:.65rem;padding:.65rem .75rem;font-size:.8rem;font-weight:700}.priority-options{grid-template-columns:repeat(3,1fr)}.chatbot-form{border-top:1px solid var(--bs-border-color);grid-template-columns:1fr auto;gap:.5rem;padding-top:.65rem;display:grid}.chatbot-form input{min-width:0;color:var(--bs-dark);border:1px solid var(--bs-border-color);font:inherit;background:#fff;border-radius:.65rem;padding:.65rem .7rem;font-size:.8rem}.chatbot-form input:focus{border-color:var(--bs-primary);outline:0;box-shadow:0 0 0 .2rem #0d6efd33}.chatbot-form button:disabled,.chatbot-options button:disabled{cursor:wait;opacity:.6}.chatbot-restart{width:100%;margin-top:.2rem}@keyframes assistant-float{0%,to{transform:translateY(0)}50%{transform:translateY(-.55rem)}}@keyframes assistant-blink{0%,45%,50%,to{transform:scaleY(1)}47%,48%{transform:scaleY(.12)}}@keyframes assistant-signal{0%,to{box-shadow:0 0 #ffc10773}50%{box-shadow:0 0 0 .45rem #ffc10700}}@keyframes assistant-message-in{0%{opacity:0;transform:translateY(.75rem)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.login-card-overlay{pointer-events:none;position:absolute;inset:0}.login-form-overlay{z-index:2;background:#fff;border-radius:24px;flex-direction:column;justify-content:center;width:min(420px,100%);margin:auto 2rem auto auto;padding:2.5rem;display:flex;position:relative;box-shadow:0 20px 60px #0206172e}@media (width<=768px){.login-form-overlay{margin:0}}@media (width<=480px){.login-page{padding:1rem}.chatbot{bottom:1rem;right:1rem}}@media (prefers-reduced-motion:reduce){.assistant-avatar,.assistant-eye,.assistant-antenna:before,.chatbot-panel{animation:none}}.login-title{color:#7b1b1b;margin:0 0 .5rem;font-size:1.8rem;font-weight:700}.login-brand{align-items:center;gap:.8rem;margin-bottom:1rem;display:flex}.login-brand h2{color:#7b1b1b;font-size:2rem}.municipal-name{color:#7b1b1b;font-weight:700}.login-actions{gap:.5rem;margin-top:.5rem}.secondary-button{color:#111827;cursor:pointer;background:#f1f5f9;border:none;border-radius:999px;font-weight:700}.login-form .modal-form label{margin-bottom:.6rem}.login-form .modal-form input{border-radius:10px;padding:.85rem .9rem}.login-form .primary-button{color:#fff;background:linear-gradient(135deg,#7b1b1b,#b45309);padding:.8rem 1.1rem}.escudo{object-fit:contain;background:radial-gradient(circle at 30% 20%,#fff9,#0000 40%);border-radius:8px;width:56px;height:56px;box-shadow:0 6px 18px #0b07031f}.sun{transform-origin:50%;animation:6s ease-in-out infinite sun-pulse}.wave1{animation:8s linear infinite wave-move}.wave2{animation:10s linear infinite reverse wave-move}@keyframes sun-pulse{0%,to{opacity:1;transform:translateY(0)scale(1)}50%{opacity:.95;transform:translateY(-6px)scale(1.05)}}@keyframes wave-move{0%{transform:translate(0)}to{transform:translate(-80px)}}@media (width<=900px){.login-card.municipal{flex-direction:column}.login-art,.login-form{padding:1rem}}.hero-actions .primary-button:before,.modal-form button[type=submit]:before{content:"＋"}.ticket-search-form button:before{content:"⌕"}.claim-actions button:before,.ticket-search-result button:before{content:"◉"}.claim-actions .secondary-button:before,.detail-actions .ghost-button:before,.history-item-actions .secondary-button:before{content:"⌫"}.ghost-button:before{content:"←"}.history-item-actions .ghost-button:before{content:"✎"}.history-edit-actions .ghost-button:before{content:"×"}.history-edit-actions .primary-button:before,.admin-event-form button[type=submit]:before{content:"✓"}.login-actions .primary-button:before{content:"⇥"}.login-actions .ghost-button:before{content:"↺"}.hero-actions .secondary-button:before{content:"⇥"}.view-button:first-child:before{content:"▤"}.view-button:last-child:before{content:"⌕"}.detail-actions .secondary-button:before{content:"⚠"}.detail-actions .primary-button:before{content:"✓"}button:before{display:none}.button-icon{vertical-align:-.18em;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:1.05em;height:1.05em;margin-right:.45rem}.feedback-stack{z-index:100;width:min(420px,100vw - 2rem);position:fixed;top:1.25rem;right:1.25rem}.feedback-alert{border:1px solid;border-radius:.75rem;grid-template-columns:2.5rem 1fr auto;align-items:center;gap:.8rem;padding:1rem;animation:.35s ease-out both alert-enter,.4s ease-in 2.6s forwards alert-exit;display:grid;box-shadow:0 .75rem 1.5rem #21252926}.feedback-alert-danger{color:#842029;background:#f8d7da;border-color:#f5c2c7}.feedback-alert-success{color:#0f5132;background:#d1e7dd;border-color:#badbcc}.feedback-alert strong{font-size:.95rem;display:block}.feedback-alert p{margin:.15rem 0 0;font-size:.88rem}.feedback-icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:2.3rem;height:2.3rem;animation:1.4s ease-in-out infinite alert-icon-pulse}.feedback-close{color:currentColor;cursor:pointer;background:0 0;border:0;padding:0;font-size:1.4rem}.login-feedback{width:auto;margin:.8rem 0}@keyframes alert-enter{0%{opacity:0;transform:translateY(-.75rem)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes alert-exit{0%{opacity:1}to{opacity:0}}@keyframes alert-icon-pulse{50%{transform:scale(1.12)rotate(-4deg)}}@media (prefers-reduced-motion:reduce){.feedback-alert,.feedback-icon{animation:none}}.confirmation-backdrop{z-index:110;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#2125298c;place-items:center;padding:1rem;animation:.2s ease-out both backdrop-in;display:grid;position:fixed;inset:0}.confirmation-dialog{text-align:center;width:min(420px,100%);color:var(--bs-dark);background:#fff;border-radius:1rem;padding:1.75rem;animation:.3s cubic-bezier(.2,.8,.2,1) both dialog-in;box-shadow:0 1.25rem 3rem #00000040}.confirmation-icon-wrap{width:4.5rem;height:4.5rem;color:var(--bs-danger);background:#f8d7da;border-radius:50%;place-items:center;margin:0 auto 1rem;display:grid}.confirmation-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:2.5rem;height:2.5rem;animation:1.5s ease-in-out infinite warning-wiggle}.confirmation-dialog h2{margin:0 0 .5rem;font-size:1.35rem}.confirmation-dialog p{color:var(--bs-secondary);margin:0}.confirmation-actions{justify-content:center;gap:.75rem;margin-top:1.5rem;display:flex}.confirmation-actions button{min-width:8rem}.danger-button{border:1px solid var(--bs-danger);color:#fff;background:var(--bs-danger);font:inherit;cursor:pointer;border-radius:999px;padding:.8rem 1rem;font-weight:700}.danger-button:hover{background:#bb2d3b;border-color:#b02a37}.warning-button{border:1px solid var(--bs-warning);color:#fff;background:var(--bs-warning);font:inherit;cursor:pointer;border-radius:999px;padding:.8rem 1rem;font-weight:700}.warning-button:hover{background:#c79600;border-color:#c79600}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-in{0%{opacity:0;transform:translateY(.75rem)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes warning-wiggle{0%,to{transform:rotate(0)scale(1)}15%{transform:rotate(-5deg)scale(1.06)}30%{transform:rotate(5deg)scale(1.06)}45%{transform:rotate(0)scale(1)}}@media (prefers-reduced-motion:reduce){.confirmation-backdrop,.confirmation-dialog,.confirmation-icon{animation:none}}.notifications-control,.profile-control{position:relative}.profile-button{color:#fff;font:inherit;cursor:pointer;background:#ffffff29;border:1px solid #ffffff52;border-radius:999px;align-items:center;gap:.5rem;padding:.3rem .65rem .3rem .35rem;font-weight:600;display:inline-flex}.profile-button:hover{background:#ffffff47}.profile-button-avatar{background:#fff3;border-radius:50%;place-items:center;width:2rem;height:2rem;display:grid}.profile-button .button-icon{width:1.15rem;height:1.15rem;margin:0}.profile-button-name{text-overflow:ellipsis;white-space:nowrap;max-width:9rem;overflow:hidden}.profile-menu{z-index:60;border:1px solid var(--bs-border-color);background:#fff;border-radius:.75rem;width:190px;padding:.4rem;animation:.2s ease-out both notification-enter;position:absolute;top:calc(100% + .7rem);right:0;box-shadow:0 .75rem 1.75rem #21252933}.profile-menu button{width:100%;color:var(--bs-dark);text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:.45rem;align-items:center;padding:.7rem .75rem;display:flex}.profile-menu button:hover{background:var(--bs-light)}.profile-menu .button-icon{width:1rem;height:1rem;margin-right:.6rem}.profile-menu .profile-logout{color:var(--bs-danger)}.profile-dialog{width:min(360px,100%);color:var(--bs-dark);text-align:center;background:#fff;border-radius:1rem;padding:2rem;animation:.3s cubic-bezier(.2,.8,.2,1) both dialog-in;position:relative;box-shadow:0 1.25rem 3rem #00000040}.profile-close{color:var(--bs-secondary);cursor:pointer;background:0 0;border:0;padding:0;font-size:1.5rem;position:absolute;top:.75rem;right:.9rem}.profile-avatar{width:5rem;height:5rem;color:var(--bs-primary);background:#cfe2ff;border-radius:50%;place-items:center;margin:0 auto 1rem;display:grid}.profile-avatar .button-icon{width:2.5rem;height:2.5rem;margin:0}.profile-dialog h2{margin:0;font-size:1.4rem}.profile-name{margin:.5rem 0;font-weight:700}.profile-role{color:#084298;background:#cfe2ff;border-radius:999px;padding:.3rem .65rem;font-size:.85rem;font-weight:600;display:inline-block}.notification-button{color:#fff;cursor:pointer;background:#ffffff29;border:1px solid #ffffff52;border-radius:50%;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;padding:0;display:inline-flex;position:relative}.notification-button:hover{background:#ffffff47}.notification-button .button-icon{width:1.3rem;height:1.3rem;margin:0}.notification-button.has-notifications .button-icon{transform-origin:50% 10%;animation:1.2s ease-in-out infinite notification-bell-ring}.notification-count{color:#fff;background:var(--bs-danger);border:2px solid var(--bs-primary);border-radius:999px;place-items:center;min-width:1.25rem;height:1.25rem;padding:0 .2rem;font-size:.72rem;font-weight:700;line-height:1;display:grid;position:absolute;top:-.35rem;right:-.35rem}.notifications-popover{z-index:60;width:min(360px,100vw - 2rem);color:var(--bs-dark);text-align:left;border:1px solid var(--bs-border-color);background:#fff;border-radius:.75rem;animation:.2s ease-out both notification-enter;position:absolute;top:calc(100% + .7rem);right:0;overflow:hidden;box-shadow:0 .75rem 1.75rem #21252933}.notifications-heading{border-bottom:1px solid var(--bs-border-color);justify-content:space-between;gap:.75rem;padding:.9rem 1rem;display:flex}.notifications-heading span{color:var(--bs-secondary);font-size:.8rem}.notifications-list{max-height:280px;margin:0;padding:0;list-style:none;overflow:auto}.notifications-list li{border-bottom:1px solid #f1f3f5;gap:.65rem;padding:.75rem 1rem;display:flex}.notification-check{color:#0f5132;background:#d1e7dd;border-radius:50%;flex:none;place-items:center;width:1.35rem;height:1.35rem;font-size:.8rem;font-weight:700;display:grid}.notifications-list button{color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.notifications-list button:hover strong{color:var(--bs-primary)}.notifications-list strong,.notifications-list small{display:block}.notifications-list small{color:var(--bs-secondary);margin-top:.12rem}.notifications-empty{color:var(--bs-secondary);margin:0;padding:1rem}@keyframes notification-enter{0%{opacity:0;transform:translateY(-.35rem)}to{opacity:1;transform:translateY(0)}}@keyframes notification-bell-ring{0%,50%,to{transform:rotate(0)}10%,30%{transform:rotate(13deg)}20%,40%{transform:rotate(-13deg)}}@media (prefers-reduced-motion:reduce){.notification-button.has-notifications .button-icon{animation:none}}@media (width<=640px){.profile-button-name{display:none}}.form-panel,.board-panel,.search-panel,.modal-card,.detail-view,.stat-card{background:var(--surface);border-color:var(--line)}.form-panel h2,.empty-state h3,.modal-header h2,.claim-card h3,.detail-card h3,.detail,.detail-meta,.history-item p,.form-panel label,.modal-form label,.admin-event-form label,.history-edit-form label{color:var(--ink)}.form-panel input,.form-panel textarea,.form-panel select,.toolbar input,.toolbar select,.modal-form input,.modal-form textarea,.modal-form select,.admin-event-form input,.admin-event-form textarea,.admin-event-form select,.history-edit-form input,.history-edit-form textarea,.ticket-search-form input{background:var(--surface-muted);border-color:var(--line);color:var(--ink)}.form-panel input:focus,.form-panel textarea:focus,.form-panel select:focus,.toolbar input:focus,.toolbar select:focus,.modal-form input:focus,.modal-form textarea:focus,.modal-form select:focus,.admin-event-form input:focus,.admin-event-form textarea:focus,.admin-event-form select:focus,.history-edit-form input:focus,.history-edit-form textarea:focus,.ticket-search-form input:focus{border-color:var(--bs-primary);outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-panel button,.ticket-search-form button,.ticket-search-result button,.primary-button{background:var(--bs-primary);color:#fff}.form-panel button:hover,.ticket-search-form button:hover,.ticket-search-result button:hover,.primary-button:hover{background:#0b5ed7}.secondary-button{background:var(--bs-secondary);color:#fff}.secondary-button:hover{background:#5c636a}.ghost-button{border-color:var(--bs-secondary);color:var(--bs-secondary);background:0 0}.ghost-button:hover{background:var(--bs-secondary);color:#fff}.danger-button-icon{border:1px solid var(--bs-danger);color:#fff;background:var(--bs-danger);font:inherit;cursor:pointer;border-radius:999px;font-weight:700}.danger-button-icon:hover{background:#bb2d3b;border-color:#b02a37}.warning-button-icon{border:1px solid var(--bs-warning);color:#fff;background:var(--bs-warning);font:inherit;cursor:pointer;border-radius:999px;font-weight:700}.warning-button-icon:hover{background:#ffca2c;border-color:#ffc107}.claim-card,.ticket-search-result,.detail-card{background:var(--surface-muted);border-color:var(--line)}.customer,.claim-footer,.detail-subtitle,.helper-text,.history-title-row span,.stat-card span{color:var(--muted)}.ticket-chip,.ticket-pill{color:#084298;background:#cfe2ff}.status-pill.pendiente{color:#664d03;background:#fff3cd}.status-pill.en-revisiÃ³n{color:#055160;background:#cff4fc}.status-pill.resuelto{color:#0f5132;background:#d1e7dd}.status-pill.pendiente-anulaciÃ³n{color:#842029;background:#f8d7da}.status-pill.anulado{color:#495057;background:#e9ecef}.timeline-step{color:var(--muted)}.timeline-step.current{color:#084298;background:#cfe2ff}.timeline-step.completed{color:#0f5132}.history-dot{background:var(--bs-primary)}.empty-state{border-color:var(--bs-secondary);color:var(--muted)}.login-title,.login-brand h2,.municipal-name{color:var(--bs-primary)}.login-form .primary-button{background:var(--bs-primary)}
