:root{--primary:#09090b;--primary-hover:#18181b;--primary-light:#f4f4f5;--primary-border:#27272a;--primary-glow:#00000014;--secondary:#71717a;--secondary-hover:#52525b;--secondary-light:#fafafa;--status-addressed:#2563eb;--status-addressed-bg:#eff6ff;--status-addressed-border:#bfdbfe;--status-inprogress:#d97706;--status-inprogress-bg:#fffbeb;--status-inprogress-border:#fde68a;--status-rectified:#16a34a;--status-rectified-bg:#f0fdf4;--status-rectified-border:#bbf7d0;--priority-urgent:#dc2626;--priority-urgent-bg:#fef2f2;--priority-urgent-border:#fecaca;--priority-high:#ea580c;--priority-high-bg:#fff7ed;--priority-high-border:#fed7aa;--priority-medium:#d97706;--priority-medium-bg:#fffbeb;--priority-medium-border:#fde68a;--priority-low:#52525b;--priority-low-bg:#f4f4f5;--priority-low-border:#e4e4e7;--bg-body:#f8fafc;--bg-surface:#fff;--bg-surface-elevated:#fff;--bg-surface-hover:#f4f4f5;--bg-glass:#fffffff2;--bg-glass-card:#fff;--text-main:#09090b;--text-muted:#52525b;--text-subtle:#71717a;--text-inverse:#fff;--border-subtle:#e4e4e7;--border-strong:#d4d4d8;--border-focus:#09090b;--shadow-xs:0 1px 2px 0 #0000000a;--shadow-sm:0 1px 3px 0 #0000000f, 0 1px 2px -1px #0000000a;--shadow-md:0 4px 6px -1px #0000000f, 0 2px 4px -2px #0000000a;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #00000008;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000000a;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.2s cubic-bezier(.4, 0, .2, 1);--header-height:64px;--max-width:1540px}[data-theme=dark]{--primary:#fff;--primary-hover:#f4f4f5;--primary-light:#18181b;--primary-border:#3f3f46;--primary-glow:#ffffff1f;--secondary:#a1a1aa;--secondary-hover:#d4d4d8;--secondary-light:#18181b;--bg-body:#09090b;--bg-surface:#121215;--bg-surface-elevated:#18181b;--bg-surface-hover:#1e1e24;--bg-glass:#121215f2;--bg-glass-card:#121215;--text-main:#f4f4f5;--text-muted:#a1a1aa;--text-subtle:#71717a;--text-inverse:#09090b;--border-subtle:#27272a;--border-strong:#3f3f46;--border-focus:#fff;--status-addressed:#60a5fa;--status-addressed-bg:#2563eb26;--status-addressed-border:#60a5fa4d;--status-inprogress:#fbbf24;--status-inprogress-bg:#d9770626;--status-inprogress-border:#fbbf244d;--status-rectified:#4ade80;--status-rectified-bg:#16a34a26;--status-rectified-border:#4ade804d;--priority-urgent:#f87171;--priority-urgent-bg:#dc262626;--priority-urgent-border:#f871714d;--priority-high:#fb923c;--priority-high-bg:#ea580c26;--priority-high-border:#fb923c4d;--priority-medium:#fbbf24;--priority-medium-bg:#d9770626;--priority-medium-border:#fbbf244d;--priority-low:#a1a1aa;--priority-low-bg:#18181b;--priority-low-border:#27272a;--shadow-xs:0 1px 2px 0 #0006;--shadow-sm:0 1px 3px 0 #00000080;--shadow-md:0 4px 6px -1px #00000080;--shadow-lg:0 10px 15px -3px #0009;--shadow-xl:0 20px 25px -5px #000000b3}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px}body{background-color:var(--bg-body);color:var(--text-main);width:100%;min-height:100vh;transition:background-color var(--transition-normal), color var(--transition-normal);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;overflow-x:hidden}#app{flex-direction:column;width:100%;min-height:100vh;display:flex}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 2rem}@media (width<=768px){.container{padding:0 1rem}}h1,h2,h3,h4,h5,h6{color:var(--text-main);letter-spacing:-.025em;font-weight:700;line-height:1.25}h1{font-size:1.85rem}h2{font-size:1.45rem}h3{font-size:1.15rem}h4{font-size:1rem}p{color:var(--text-muted)}.main-header{z-index:50;background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);height:var(--header-height);align-items:center;width:100%;display:flex;position:sticky;top:0}.header-container{justify-content:space-between;align-items:center;width:100%;display:flex}.brand-logo{color:var(--text-main);letter-spacing:-.03em;align-items:center;gap:.65rem;font-size:1.15rem;font-weight:700;text-decoration:none;display:flex}.logo-icon{border-radius:var(--radius-sm);background:var(--primary);width:32px;height:32px;color:var(--text-inverse);justify-content:center;align-items:center;display:flex}.brand-badge{background:var(--bg-surface-hover);color:var(--text-muted);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);letter-spacing:.04em;text-transform:uppercase;padding:.15rem .45rem;font-size:.68rem;font-weight:600}.header-right{align-items:center;gap:.75rem;display:flex}.db-sync-badge{border-radius:var(--radius-full);background:var(--bg-surface-hover);border:1px solid var(--border-subtle);color:var(--text-muted);transition:all var(--transition-fast);align-items:center;gap:.45rem;padding:.3rem .65rem;font-size:.75rem;font-weight:600;display:flex}.db-sync-dot{background:#16a34a;border-radius:50%;width:7px;height:7px}.db-sync-badge.syncing .db-sync-dot{background:#d97706}.user-pill{background:var(--bg-surface-hover);border:1px solid var(--border-subtle);border-radius:var(--radius-md);align-items:center;gap:.6rem;padding:.25rem .6rem .25rem .75rem;display:flex}.user-avatar-sm{border-radius:var(--radius-sm);background:var(--primary);width:26px;height:26px;color:var(--text-inverse);justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:flex}.user-pill-info{flex-direction:column;display:flex}.user-pill-name{color:var(--text-main);font-size:.8rem;font-weight:600;line-height:1.1}.user-pill-role{color:var(--text-muted);font-size:.68rem}.icon-btn{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-surface);width:34px;height:34px;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.icon-btn:hover{background:var(--bg-surface-hover);color:var(--text-main);border-color:var(--border-strong)}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;justify-content:center;align-items:center;gap:.45rem;padding:.55rem 1rem;font-family:inherit;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--primary);color:var(--text-inverse);border-color:var(--primary)}.btn-primary:hover{background:var(--primary-hover);opacity:.92}.btn-secondary{background:var(--bg-surface);border-color:var(--border-subtle);color:var(--text-main)}.btn-secondary:hover{background:var(--bg-surface-hover);border-color:var(--border-strong)}.btn-danger{background:var(--priority-urgent-bg);color:var(--priority-urgent);border-color:var(--priority-urgent-border)}.btn-danger:hover{background:var(--priority-urgent);color:#fff}.btn-sm{padding:.35rem .65rem;font-size:.78rem}.btn-lg{padding:.7rem 1.35rem;font-size:.95rem}.status-badge{border-radius:var(--radius-sm);letter-spacing:.02em;white-space:nowrap;border:1px solid #0000;align-items:center;gap:.35rem;padding:.25rem .6rem;font-size:.75rem;font-weight:600;display:inline-flex}.status-badge.status-addressed{background:var(--status-addressed-bg);border-color:var(--status-addressed-border);color:var(--status-addressed)}.status-badge.status-inprogress{background:var(--status-inprogress-bg);border-color:var(--status-inprogress-border);color:var(--status-inprogress)}.status-badge.status-rectified{background:var(--status-rectified-bg);border-color:var(--status-rectified-border);color:var(--status-rectified)}.priority-badge{border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.04em;border:1px solid #0000;align-items:center;gap:.25rem;padding:.2rem .45rem;font-size:.7rem;font-weight:600;display:inline-flex}.priority-urgent{background:var(--priority-urgent-bg);color:var(--priority-urgent);border-color:var(--priority-urgent-border)}.priority-high{background:var(--priority-high-bg);color:var(--priority-high);border-color:var(--priority-high-border)}.priority-medium{background:var(--priority-medium-bg);color:var(--priority-medium);border-color:var(--priority-medium-border)}.priority-low{background:var(--priority-low-bg);color:var(--priority-low);border-color:var(--priority-low-border)}.category-badge{border-radius:var(--radius-sm);background:var(--bg-surface-hover);color:var(--text-main);border:1px solid var(--border-subtle);align-items:center;gap:.35rem;padding:.2rem .5rem;font-size:.75rem;font-weight:500;display:inline-flex}.form-group{flex-direction:column;gap:.35rem;margin-bottom:1rem;display:flex}.form-label{color:var(--text-main);justify-content:space-between;align-items:center;font-size:.825rem;font-weight:600;display:flex}.form-label .required{color:var(--priority-urgent);margin-left:.2rem}.form-control{width:100%;color:var(--text-main);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);transition:all var(--transition-fast);outline:none;padding:.6rem .85rem;font-family:inherit;font-size:.88rem}.form-control:focus{border-color:var(--border-focus);box-shadow:0 0 0 1px var(--border-focus)}.form-control::placeholder{color:var(--text-subtle)}textarea.form-control{resize:vertical;min-height:90px}.form-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;display:grid}.input-with-icon{align-items:center;display:flex;position:relative}.input-with-icon .input-icon{color:var(--text-muted);pointer-events:none;align-items:center;display:flex;position:absolute;left:.75rem}.input-with-icon .form-control{padding-left:2.3rem}.auth-wrapper{min-height:calc(100vh - var(--header-height));justify-content:center;align-items:center;width:100%;margin:0 auto;padding:3rem 1rem;display:flex}.auth-container{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:100%;max-width:460px;box-shadow:var(--shadow-lg);margin:auto;padding:2.25rem}.auth-header{text-align:center;margin-bottom:1.75rem}.auth-badge{text-transform:uppercase;letter-spacing:.05em;background:var(--bg-surface-hover);color:var(--text-muted);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);align-items:center;gap:.35rem;margin-bottom:.75rem;padding:.2rem .6rem;font-size:.72rem;font-weight:600;display:inline-flex}.auth-title{color:var(--text-main);letter-spacing:-.03em;font-size:1.55rem;font-weight:700}.auth-subtitle{color:var(--text-muted);margin-top:.3rem;font-size:.85rem}.role-tabs{background:var(--bg-surface-hover);border-radius:var(--radius-md);border:1px solid var(--border-subtle);grid-template-columns:1fr 1fr;gap:.35rem;margin-bottom:1.5rem;padding:.3rem;display:grid}.role-tab-btn{border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;gap:.45rem;padding:.6rem .75rem;font-family:inherit;font-size:.85rem;font-weight:600;display:flex}.role-tab-btn.active{background:var(--bg-surface);color:var(--text-main);box-shadow:var(--shadow-xs);border:1px solid var(--border-subtle)}.sub-tabs{border-bottom:1px solid var(--border-subtle);gap:1.25rem;margin-bottom:1.25rem;display:flex}.sub-tab-btn{color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.5rem .1rem;font-family:inherit;font-size:.85rem;font-weight:600}.sub-tab-btn.active{color:var(--text-main);border-bottom-color:var(--text-main)}.demo-logins-panel{border-top:1px solid var(--border-subtle);margin-top:1.75rem;padding-top:1.25rem}.demo-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-subtle);align-items:center;gap:.35rem;margin-bottom:.75rem;font-size:.72rem;font-weight:600;display:flex}.demo-grid{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.demo-user-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:all var(--transition-fast);flex-direction:column;align-items:flex-start;padding:.55rem .75rem;font-family:inherit;display:flex}.demo-user-card:hover{border-color:var(--border-focus);background:var(--bg-surface-hover)}.demo-user-card .demo-name{color:var(--text-main);align-items:center;gap:.35rem;font-size:.8rem;font-weight:600;display:flex}.demo-user-card .demo-role{color:var(--text-muted);margin-top:.15rem;font-size:.7rem}.dashboard-wrapper{width:100%;padding:1.5rem 0 3.5rem}.welcome-banner{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:1.25rem;margin-bottom:1.5rem;padding:1.35rem 1.75rem;display:flex}.welcome-text h1{margin-bottom:.35rem;font-size:1.45rem}.welcome-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.65rem;font-size:.825rem;display:flex}.welcome-meta-pill{background:var(--bg-surface-hover);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);color:var(--text-main);align-items:center;gap:.35rem;padding:.2rem .55rem;font-size:.78rem;font-weight:500;display:inline-flex}.urgent-banner{background:var(--priority-urgent-bg);border:1px solid var(--priority-urgent-border);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:.85rem 1.25rem;display:flex}.urgent-content{align-items:center;gap:.75rem;display:flex}.urgent-icon{border-radius:var(--radius-sm);background:var(--priority-urgent);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.stat-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);justify-content:space-between;align-items:center;padding:1.15rem 1.25rem;display:flex}.stat-card:hover{border-color:var(--border-focus)}.stat-card.active-filter{border-color:var(--border-focus);background:var(--bg-surface-hover)}.stat-info{flex-direction:column;display:flex}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;font-size:.75rem;font-weight:600}.stat-value{color:var(--text-main);font-size:1.75rem;font-weight:700;line-height:1}.stat-subtext{color:var(--text-subtle);margin-top:.35rem;font-size:.72rem}.stat-icon-wrapper{border-radius:var(--radius-sm);background:var(--bg-surface-hover);width:36px;height:36px;color:var(--text-muted);border:1px solid var(--border-subtle);justify-content:center;align-items:center;display:flex}.toolbar-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-direction:column;gap:.85rem;margin-bottom:1.5rem;padding:1rem 1.25rem;display:flex}.toolbar-main-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.search-box-wrapper{flex:1;min-width:240px}.filter-pills-group{align-items:center;gap:.4rem;display:flex;overflow-x:auto}.filter-pill{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);padding:.4rem .75rem;font-family:inherit;font-size:.8rem;font-weight:500}.filter-pill:hover{border-color:var(--border-strong);color:var(--text-main)}.filter-pill.active{background:var(--primary);color:var(--text-inverse);border-color:var(--primary)}.filter-dropdowns-row{border-top:1px solid var(--border-subtle);flex-wrap:wrap;align-items:center;gap:.65rem;padding-top:.65rem;display:flex}.filter-select{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-main);cursor:pointer;outline:none;padding:.35rem .7rem;font-family:inherit;font-size:.8rem}.filter-select:focus{border-color:var(--border-focus)}.complaints-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.25rem;display:grid}.complaint-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:all var(--transition-fast);flex-direction:column;gap:.85rem;padding:1.25rem;display:flex}.complaint-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.complaint-header{justify-content:space-between;align-items:flex-start;gap:.65rem;display:flex}.ticket-num-badge{color:var(--text-muted);background:var(--bg-surface-hover);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);padding:.15rem .45rem;font-family:monospace;font-size:.75rem;font-weight:600}.complaint-title-row{flex-direction:column;gap:.2rem;display:flex}.complaint-card-title{color:var(--text-main);font-size:1.05rem;font-weight:600;line-height:1.35}.complaint-tags-row{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.location-tag{color:var(--text-muted);background:var(--bg-surface-hover);border-radius:var(--radius-sm);align-items:center;gap:.25rem;padding:.15rem .45rem;font-size:.72rem;font-weight:500;display:inline-flex}.complaint-card-desc{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.85rem;line-height:1.45;display:-webkit-box;overflow:hidden}.complaint-thumb-preview{border-radius:var(--radius-sm);object-fit:cover;border:1px solid var(--border-subtle);width:100%;height:120px}.warden-remarks-callout{background:var(--bg-surface-hover);border-left:3px solid var(--primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:.55rem .75rem;font-size:.8rem}.warden-remarks-header{color:var(--text-main);align-items:center;gap:.3rem;margin-bottom:.15rem;font-size:.75rem;font-weight:600;display:flex}.warden-remarks-text{color:var(--text-muted);font-style:italic}.complaint-card-footer{border-top:1px solid var(--border-subtle);color:var(--text-subtle);justify-content:space-between;align-items:center;margin-top:auto;padding-top:.75rem;font-size:.75rem;display:flex}.complaint-actions{align-items:center;gap:.4rem;display:flex}.empty-state{text-align:center;background:var(--bg-surface);border:1px dashed var(--border-subtle);border-radius:var(--radius-md);grid-column:1/-1;padding:3.5rem 1.5rem}.empty-state-icon{border-radius:var(--radius-sm);background:var(--bg-surface-hover);width:44px;height:44px;color:var(--text-muted);justify-content:center;align-items:center;margin-bottom:.85rem;display:inline-flex}.empty-state h3{margin-bottom:.35rem;font-size:1.15rem}.empty-state p{max-width:400px;margin:0 auto 1.25rem;font-size:.85rem}.warden-table-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin-top:1.25rem;overflow:hidden}.table-responsive{width:100%;overflow-x:auto}.complaints-table{border-collapse:collapse;text-align:left;width:100%;font-size:.85rem}.complaints-table th{background:var(--bg-surface-hover);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-subtle);padding:.75rem 1rem;font-size:.7rem;font-weight:600}.complaints-table td{border-bottom:1px solid var(--border-subtle);color:var(--text-main);vertical-align:middle;padding:.85rem 1rem}.complaints-table tr:hover td{background:var(--bg-surface-hover)}@media (width<=768px){.welcome-banner{flex-direction:column;align-items:flex-start}.complaints-grid{grid-template-columns:1fr}}.modal-backdrop{-webkit-backdrop-filter:blur(4px);z-index:1000;opacity:0;visibility:hidden;transition:all var(--transition-fast);background:#0009;justify-content:center;align-items:center;padding:1.25rem;display:flex;position:fixed;inset:0}.modal-backdrop.active{opacity:1;visibility:visible}.modal-dialog{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);flex-direction:column;width:100%;max-width:580px;max-height:88vh;display:flex;position:relative;overflow:hidden}.modal-dialog-lg{max-width:720px}.modal-dialog form{flex-direction:column;width:100%;max-height:88vh;display:flex;overflow:hidden}.modal-header{border-bottom:1px solid var(--border-subtle);background:var(--bg-surface);flex-shrink:0;justify-content:space-between;align-items:center;padding:1.15rem 1.5rem;display:flex}.modal-title{align-items:center;gap:.5rem;font-size:1.15rem;font-weight:700;display:flex}.modal-close-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:.35rem;display:flex}.modal-close-btn:hover{background:var(--bg-surface-hover);color:var(--text-main)}.modal-body{flex:auto;padding:1.5rem;overflow-y:auto}.modal-footer{border-top:1px solid var(--border-subtle);background:var(--bg-surface-hover);z-index:10;flex-shrink:0;justify-content:flex-end;align-items:center;gap:.65rem;padding:1rem 1.5rem;display:flex;position:sticky;bottom:0}.category-select-grid{grid-template-columns:repeat(auto-fill,minmax(115px,1fr));gap:.5rem;margin-bottom:.75rem;display:grid}.category-option-btn{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-main);cursor:pointer;transition:all var(--transition-fast);flex-direction:column;align-items:center;gap:.35rem;padding:.65rem .4rem;font-family:inherit;font-size:.78rem;font-weight:500;display:flex}.category-option-btn:hover{border-color:var(--border-strong);background:var(--bg-surface-hover)}.category-option-btn.selected{border-color:var(--border-focus);background:var(--primary);color:var(--text-inverse)}.category-option-btn .cat-icon{justify-content:center;align-items:center;display:flex}.priority-options-group{grid-template-columns:repeat(4,1fr);gap:.45rem;display:grid}.priority-option-label{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;text-align:center;transition:all var(--transition-fast);justify-content:center;align-items:center;padding:.5rem .35rem;font-size:.78rem;font-weight:600;display:flex}.priority-option-label input{display:none}.priority-option-label:has(input:checked){border-color:currentColor;box-shadow:0 0 0 1px}.priority-option-label.p-low:has(input:checked){background:var(--priority-low-bg);color:var(--priority-low)}.priority-option-label.p-medium:has(input:checked){background:var(--priority-medium-bg);color:var(--priority-medium)}.priority-option-label.p-high:has(input:checked){background:var(--priority-high-bg);color:var(--priority-high)}.priority-option-label.p-urgent:has(input:checked){background:var(--priority-urgent-bg);color:var(--priority-urgent)}.warden-status-selector{grid-template-columns:repeat(3,1fr);gap:.65rem;margin-bottom:1rem;display:grid}.status-choice-card{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-surface);cursor:pointer;text-align:center;transition:all var(--transition-fast);flex-direction:column;align-items:center;padding:.85rem .65rem;display:flex}.status-choice-card input{display:none}.status-choice-card .status-icon{justify-content:center;align-items:center;margin-bottom:.25rem;display:flex}.status-choice-card .status-title{font-size:.85rem;font-weight:600}.status-choice-card .status-desc{color:var(--text-muted);margin-top:.15rem;font-size:.7rem}.status-choice-card.choice-addressed:has(input:checked){border-color:var(--status-addressed);background:var(--status-addressed-bg);color:var(--status-addressed)}.status-choice-card.choice-inprogress:has(input:checked){border-color:var(--status-inprogress);background:var(--status-inprogress-bg);color:var(--status-inprogress)}.status-choice-card.choice-rectified:has(input:checked){border-color:var(--status-rectified);background:var(--status-rectified-bg);color:var(--status-rectified)}.timeline-stepper{flex-direction:column;gap:1rem;margin:1.25rem 0;padding-left:1.75rem;display:flex;position:relative}.timeline-stepper:before{content:"";background:var(--border-subtle);width:2px;position:absolute;top:6px;bottom:6px;left:9px}.timeline-step{flex-direction:column;gap:.2rem;display:flex;position:relative}.timeline-step-bullet{background:var(--bg-surface);border:2px solid var(--border-strong);width:20px;height:20px;color:var(--text-muted);z-index:1;border-radius:50%;justify-content:center;align-items:center;font-size:.7rem;font-weight:700;display:flex;position:absolute;top:2px;left:-1.75rem}.timeline-step.completed .timeline-step-bullet{background:var(--primary);border-color:var(--primary);color:var(--text-inverse)}.timeline-step.active .timeline-step-bullet{background:var(--status-inprogress);border-color:var(--status-inprogress);color:#fff}.timeline-step.rectified .timeline-step-bullet{background:var(--status-rectified);border-color:var(--status-rectified);color:#fff}.timeline-step-title{color:var(--text-main);font-size:.9rem;font-weight:600}.timeline-step-time{color:var(--text-muted);font-size:.72rem}.timeline-step-notes{background:var(--bg-surface-hover);border-radius:var(--radius-sm);color:var(--text-main);border-left:2px solid var(--border-strong);margin-top:.25rem;padding:.5rem .75rem;font-size:.8rem}.toast-container{z-index:2000;pointer-events:none;flex-direction:column;gap:.5rem;display:flex;position:fixed;bottom:1.25rem;right:1.25rem}.toast{pointer-events:auto;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);min-width:280px;max-width:400px;transition:all var(--transition-fast);align-items:center;gap:.65rem;padding:.75rem 1rem;display:flex}.toast.toast-hiding{opacity:0;transform:translate(100%)}.toast-icon{flex-shrink:0;justify-content:center;align-items:center;display:flex}.toast-content{flex:1}.toast-title{color:var(--text-main);font-size:.825rem;font-weight:600}.toast-message{color:var(--text-muted);font-size:.75rem}.toast-close{color:var(--text-subtle);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.2rem;display:flex}.toast-close:hover{color:var(--text-main)}.toast-success{border-left:3px solid var(--status-rectified)}.toast-info{border-left:3px solid var(--primary)}.toast-warning{border-left:3px solid var(--status-inprogress)}.toast-danger{border-left:3px solid var(--priority-urgent)}.chatbot-launcher{z-index:999;border-radius:var(--radius-full);background:var(--primary);width:52px;height:52px;color:var(--text-inverse);border:1px solid var(--border-strong);box-shadow:var(--shadow-xl);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex;position:fixed;bottom:24px;right:24px}.chatbot-launcher:hover{transform:scale(1.05);box-shadow:0 10px 25px -5px #00000040}.chatbot-launcher:active{transform:scale(.95)}.chatbot-launcher .launcher-icon-open,.chatbot-launcher .launcher-icon-close{transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.chatbot-launcher.active .launcher-icon-open,.chatbot-launcher:not(.active) .launcher-icon-close{display:none}.chatbot-online-indicator{border:2px solid var(--bg-surface);background:#16a34a;border-radius:50%;width:12px;height:12px;position:absolute;top:2px;right:2px}.chatbot-window{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:380px;max-width:calc(100vw - 32px);height:540px;max-height:calc(100vh - 110px);box-shadow:var(--shadow-xl);z-index:1000;opacity:0;visibility:hidden;transition:all var(--transition-normal);flex-direction:column;display:flex;position:fixed;bottom:86px;right:24px;overflow:hidden;transform:translateY(12px)scale(.97)}.chatbot-window.active{opacity:1;visibility:visible;transform:translateY(0)scale(1)}.chat-header{background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;padding:.85rem 1rem;display:flex}.chat-header-brand{align-items:center;gap:.6rem;display:flex}.chat-bot-avatar{border-radius:var(--radius-sm);background:var(--primary);width:32px;height:32px;color:var(--text-inverse);justify-content:center;align-items:center;display:flex}.chat-header-info{flex-direction:column;display:flex}.chat-header-title{color:var(--text-main);align-items:center;gap:.35rem;font-size:.88rem;font-weight:700;line-height:1.1;display:flex}.chat-header-status{color:var(--text-muted);align-items:center;gap:.35rem;font-size:.7rem;display:flex}.chat-header-status .status-dot{background:#16a34a;border-radius:50%;width:6px;height:6px}.chat-header-actions{align-items:center;gap:.25rem;display:flex}.chat-header-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:.3rem;display:flex}.chat-header-btn:hover{background:var(--bg-surface-hover);color:var(--text-main)}.chat-messages{background:var(--bg-body);flex-direction:column;flex:auto;gap:.85rem;padding:1rem;display:flex;overflow-y:auto}.chat-message{gap:.5rem;max-width:88%;display:flex}.chat-message.user-msg{flex-direction:row-reverse;align-self:flex-end}.chat-message.bot-msg{align-self:flex-start}.msg-avatar{border-radius:var(--radius-sm);background:var(--primary);width:24px;height:24px;color:var(--text-inverse);flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;font-size:.65rem;font-weight:700;display:flex}.msg-content{flex-direction:column;gap:.2rem;display:flex}.msg-bubble{border-radius:var(--radius-md);word-break:break-word;padding:.65rem .85rem;font-size:.825rem;line-height:1.45}.user-msg .msg-bubble{background:var(--primary);color:var(--text-inverse);border-bottom-right-radius:2px}.bot-msg .msg-bubble{background:var(--bg-surface);color:var(--text-main);border:1px solid var(--border-subtle);border-bottom-left-radius:2px}.msg-bubble p{color:inherit;margin-bottom:.35rem}.msg-bubble p:last-child{margin-bottom:0}.msg-bubble ul,.msg-bubble ol{margin-bottom:.35rem;margin-left:1.15rem}.msg-bubble li{margin-bottom:.2rem}.msg-bubble code{background:#00000014;border-radius:3px;padding:.1rem .3rem;font-family:monospace;font-size:.78rem}[data-theme=dark] .msg-bubble code{background:#ffffff1f}.msg-time{color:var(--text-subtle);padding:0 .25rem;font-size:.65rem}.user-msg .msg-time{text-align:right}.chat-quick-prompts{flex-direction:column;gap:.4rem;margin-top:.5rem;display:flex}.quick-prompt-btn{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-main);text-align:left;cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:.4rem;padding:.35rem .65rem;font-family:inherit;font-size:.75rem;display:flex}.quick-prompt-btn:hover{background:var(--bg-surface-hover);border-color:var(--border-strong)}.chat-typing-indicator{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);align-items:center;gap:.3rem;width:fit-content;padding:.6rem .85rem;display:flex}.typing-dot{background:var(--text-muted);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite both typingBounce}.typing-dot:first-child{animation-delay:-.32s}.typing-dot:nth-child(2){animation-delay:-.16s}@keyframes typingBounce{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.chat-footer{background:var(--bg-surface);border-top:1px solid var(--border-subtle);flex-shrink:0;padding:.75rem}.chat-input-row{align-items:center;gap:.45rem;display:flex}.chat-input{color:var(--text-main);background:var(--bg-body);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);transition:all var(--transition-fast);outline:none;flex:1;padding:.55rem .75rem;font-family:inherit;font-size:.825rem}.chat-input:focus{border-color:var(--border-focus);background:var(--bg-surface)}.chat-send-btn{border-radius:var(--radius-sm);background:var(--primary);width:34px;height:34px;color:var(--text-inverse);cursor:pointer;transition:all var(--transition-fast);border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-send-btn:hover{opacity:.9}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed}.chat-webhook-badge{color:var(--text-subtle);text-align:center;justify-content:center;align-items:center;gap:.25rem;margin-top:.35rem;font-size:.65rem;display:flex}@media (width<=480px){.chatbot-window{border-radius:0;width:100vw;max-width:100vw;height:100vh;max-height:100vh;bottom:0;right:0}}
