:root{--bg:#f3f5f8;--surface:#fff;--surface-2:#edf1f7;--ink:#142033;--muted:#68758a;--line:#dce3ed;--brand:#0c294b;--accent:#2c82d3;--critical:#e5484d;--high:#f58a07;--medium:#c99a00;--low:#25a36f;--shadow:0 8px 22px #13233b0d;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}
:root[data-theme="dark"]{--bg:#10151f;--surface:#192230;--surface-2:#222d3d;--ink:#f0f5fb;--muted:#a6b2c4;--line:#344255;--brand:#111c2b;--accent:#63b0ff;--shadow:0 8px 22px #0005}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--bg)}button,input,select,textarea{font:inherit}.topbar{height:64px;padding:0 16px;background:var(--brand);display:flex;align-items:center;justify-content:space-between;color:#fff;position:sticky;top:0;z-index:3}.brand{display:flex;align-items:center;gap:9px;letter-spacing:.08em}.brand img{width:33px;height:33px;object-fit:contain;border-radius:8px}.brand strong{display:block;font-size:.8rem}.brand span{display:block;font-size:.68rem;letter-spacing:0;text-transform:none;opacity:.72;max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-actions{display:flex;align-items:center;gap:10px}.network{font-size:.72rem}.network:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#42d58b;margin-right:5px}.network.offline:before{background:#f6ac21}.icon-button{width:38px;height:38px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--ink);font-size:1.25rem;cursor:pointer}.topbar .icon-button{background:#ffffff14;border-color:#ffffff2b;color:#fff}.page{max-width:650px;margin:auto;padding:20px 15px 92px}.page-heading,.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.page-heading h1{font-size:1.7rem;margin:3px 0 4px}.eyebrow{color:var(--accent);font-size:.69rem;font-weight:800;letter-spacing:.13em;margin:0}.muted{color:var(--muted);font-size:.84rem;margin:0}.metric-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:18px 0}.metric,.panel,.detail-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.metric{padding:14px}.metric strong{display:block;font-size:1.55rem;margin-top:5px}.metric span{font-size:.73rem;color:var(--muted)}.metric.critical{border-left:4px solid var(--critical)}.metric.open{border-left:4px solid var(--accent)}.panel{padding:15px;margin:12px 0}.panel h2,.detail-card h2{font-size:1rem;margin:0}.link-button,.back-button{border:0;background:none;color:var(--accent);font-weight:750;cursor:pointer;padding:4px}.severity-chart{display:grid;gap:10px;margin-top:16px}.chart-row{display:grid;grid-template-columns:58px 1fr 24px;gap:8px;align-items:center;font-size:.76rem}.chart-bar{height:9px;border-radius:99px;background:var(--surface-2);overflow:hidden}.chart-bar i{height:100%;display:block;border-radius:inherit}.priority-ticket{padding-top:13px}.priority-ticket button{width:100%;text-align:left;border:0;background:transparent;color:var(--ink);padding:0}.priority-ticket strong{display:block;margin:5px 0}.filters{display:grid;grid-template-columns:1.4fr 1fr;gap:9px;margin:17px 0}.filters label{display:grid;gap:5px;font-size:.71rem;font-weight:700;color:var(--muted)}select,textarea{width:100%;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);padding:10px}.ticket-list{display:grid;gap:10px}.ticket-card{width:100%;min-height:125px;border:1px solid var(--line);border-left:5px solid var(--muted);border-radius:14px;padding:13px;background:var(--surface);color:var(--ink);text-align:left;display:grid;gap:7px;cursor:pointer;box-shadow:var(--shadow)}.ticket-card.critical{border-left-color:var(--critical);background:linear-gradient(90deg,color-mix(in srgb,var(--critical) 8%,var(--surface)),var(--surface) 46%)}.ticket-card.high{border-left-color:var(--high);background:linear-gradient(90deg,color-mix(in srgb,var(--high) 8%,var(--surface)),var(--surface) 46%)}.ticket-card.medium{border-left-color:var(--medium)}.ticket-card.low{border-left-color:var(--low)}.ticket-card-head{display:flex;justify-content:space-between;gap:8px}.severity,.status{font-size:.69rem;font-weight:800;letter-spacing:.04em}.severity{text-transform:uppercase}.status{background:var(--surface-2);border-radius:999px;padding:3px 7px;color:var(--accent)}.ticket-card .title{font-size:.97rem;line-height:1.3}.meta,.updated{font-size:.76rem;color:var(--muted)}.pagination{display:flex;align-items:center;justify-content:space-between;margin:17px 0;color:var(--muted);font-size:.8rem}.pagination button{border:1px solid var(--line);border-radius:9px;padding:8px 11px;background:var(--surface);color:var(--ink);font-weight:700}.pagination button:disabled{opacity:.42}.empty-state{text-align:center;padding:35px;color:var(--muted)}.back-button{margin-bottom:12px}.detail-card{padding:15px;margin-bottom:11px}.detail-title{font-size:1.35rem;line-height:1.25;margin:7px 0 13px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px}.detail-grid div{padding-top:8px;border-top:1px solid var(--line)}.detail-grid span{display:block;font-size:.68rem;color:var(--muted);margin-bottom:3px}.detail-grid strong{font-size:.82rem;overflow-wrap:anywhere}.actions{display:grid;gap:11px}.action-row{display:grid;grid-template-columns:1fr auto;gap:8px}.button{border:0;border-radius:10px;padding:10px 13px;font-weight:750;cursor:pointer;background:var(--surface-2);color:var(--ink)}.primary{background:var(--accent);color:#081725}.evidence-form{display:grid;gap:9px;padding-top:12px;border-top:1px solid var(--line)}.file-label{border:1px dashed var(--muted);border-radius:10px;padding:11px;color:var(--accent);font-weight:700;font-size:.85rem}.file-label input{display:none}.photo-preview{max-width:100%;border-radius:10px}.evidence-list{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:12px}.evidence-card img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:10px;border:1px solid var(--line)}.evidence-card p{font-size:.7rem;color:var(--muted);margin:4px 0}.activity{display:grid;grid-template-columns:12px 1fr;gap:7px;padding:11px 0;border-top:1px solid var(--line)}.activity-icon{color:var(--accent)}.activity p{white-space:pre-wrap;margin:3px 0;color:var(--muted);font-size:.84rem}.activity time{font-size:.7rem;color:var(--muted)}.bottom-nav{position:fixed;z-index:4;bottom:0;left:0;right:0;height:70px;padding-bottom:env(safe-area-inset-bottom);display:flex;justify-content:space-around;background:var(--surface);border-top:1px solid var(--line)}.nav-item{min-width:70px;display:grid;place-content:center;gap:2px;border:0;background:none;color:var(--muted);font-size:.68rem;text-decoration:none;cursor:pointer}.nav-item span{font-size:1.15rem;text-align:center}.nav-item.active{color:var(--accent);font-weight:800}.toast{position:fixed;z-index:8;left:50%;bottom:80px;transform:translateX(-50%);background:#071522;color:#fff;padding:11px 14px;border-radius:10px;box-shadow:var(--shadow);max-width:calc(100% - 32px);font-size:.85rem}@media(min-width:700px){.metric-grid{grid-template-columns:repeat(4,1fr)}.page{padding-top:30px}.detail-grid{grid-template-columns:repeat(4,1fr)}}
.alert-link-grid { display:grid; gap:14px; }
.alert-link-card { display:grid; gap:7px; padding:18px; border-radius:16px; background:var(--panel, #fff); color:inherit; border:1px solid rgba(120,150,180,.28); text-decoration:none; box-shadow:0 8px 24px rgba(5,22,38,.08); }
.alert-link-card strong { font-size:1.06rem; }
.alert-link-card span, .sound-help p { color:var(--muted, #66798b); line-height:1.5; }
.sound-help { margin-top:16px; }
.push-setup-card { display:grid; gap:10px; margin:16px 0; border-left:4px solid var(--accent); }
.push-setup-card p { margin:0; color:var(--muted); line-height:1.5; }
.push-setup-card .button { width:100%; min-height:46px; }
.ticket-card-thumbnail { display:block; grid-column:1/-1; width:100%; height:150px; object-fit:cover; border:1px solid var(--line); border-radius:10px; background:#07111f; }
.ticket-card-thumbnail[hidden] { display:none; }
.bottom-nav { grid-template-columns:repeat(4,minmax(0,1fr)); }
.bottom-nav .nav-item { min-width:0; font-size:.76rem; }
