@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&family=Inter:wght@400;500;600&display=swap";
:root{--bg:#0a0e14;--panel:#131a24;--border:#1f2937;--text:#c9d1d9;--text-dim:#6b7787;--cyan:#4fd1c5;--amber:#ffb347;--yellow:#fbbf24;--red:#f87171;--mono:"JetBrains Mono", monospace;--sans:"Inter", sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:var(--sans);background-image:radial-gradient(circle at 20% 10%,#4fd1c50a,#0000 40%),radial-gradient(circle at 80% 90%,#ffb3470a,#0000 40%);min-height:100vh;margin:0}header.station-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 32px;display:flex}header.station-header h1{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text);margin:0;font-size:15px}header.station-header h1 span{color:var(--cyan)}header.station-header h1 span.amber{color:var(--amber)}main{max-width:720px;margin:0 auto;padding:40px 24px 80px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:4px;margin-bottom:20px;padding:24px}.panel h2{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin:0 0 16px;font-size:13px}label{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);margin-top:16px;margin-bottom:6px;font-size:11px;display:block}label:first-of-type{margin-top:0}input,textarea,select{background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text);font-family:var(--sans);border-radius:3px;padding:10px 12px;font-size:14px}input:focus,textarea:focus,select:focus{border-color:var(--cyan);outline:none}textarea{resize:vertical;min-height:100px}button{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:none;border-radius:3px;margin-top:20px;padding:12px 20px;font-size:12px}button.primary{background:var(--cyan);color:#06201d}button.primary:hover{filter:brightness(1.1)}button.officer{background:var(--amber);color:#2b1a02}button.officer:hover{filter:brightness(1.1)}button.ghost{color:var(--text-dim);border:1px solid var(--border);background:0 0;margin:0;padding:8px 14px;font-size:10px}button.demo-login{color:var(--text-dim);border:1px dashed var(--border);background:0 0;width:100%;margin-top:10px;padding:8px 14px;font-size:10px}button.demo-login:hover{color:var(--text);border-color:var(--text-dim)}button:disabled{opacity:.5;cursor:not-allowed}.portal-switch-link{text-align:center;font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);margin-top:18px;font-size:11px;text-decoration:none;display:block}.portal-switch-link:hover{color:var(--cyan)}.error-text{color:var(--red);font-family:var(--mono);margin-top:12px;font-size:12px}.signal-rect{vertical-align:middle;border-radius:2px;flex-shrink:0;width:16px;height:14px;display:inline-block}.signal-rect.blue_alert{background:var(--cyan);animation:3s ease-in-out infinite pulse-rect}.signal-rect.yellow_alert{background:var(--yellow);animation:1.8s ease-in-out infinite pulse-rect}.signal-rect.red_alert{background:var(--red);animation:.9s ease-in-out infinite pulse-rect}@keyframes pulse-rect{0%,to{opacity:.55}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.signal-rect{opacity:1;animation:none}}.ticket{border-bottom:1px solid var(--border);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.ticket:last-child{border-bottom:none}.ticket-info{flex:auto;min-width:0}.ticket-indicators{flex-shrink:0;align-items:center;gap:10px;display:flex}.ticket-subject{color:var(--text);font-size:14px}.ticket-meta{font-family:var(--mono);color:var(--text-dim);font-size:11px}.status-tag{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--border);color:var(--text-dim);white-space:nowrap;border-radius:2px;flex-shrink:0;padding:2px 8px;font-size:10px}.empty-state{font-family:var(--mono);color:var(--text-dim);text-align:center;padding:24px 0;font-size:12px}.back-link{color:var(--text-dim);font-family:var(--mono);font-size:12px;text-decoration:none}main:has(.detail-grid){max-width:1000px}.theme-blue,.theme-yellow,.theme-red{border-radius:8px;margin:-4px -4px 0;padding:4px 4px 0;transition:background .4s}.theme-blue{background:radial-gradient(circle at 50% 0,#4fd1c51f,#0000 60%)}.theme-yellow{background:radial-gradient(circle at 50% 0,#fbbf2424,#0000 60%)}.theme-red{background:radial-gradient(circle at 50% 0,#f8717129,#0000 60%)}.alert-banner{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;border-radius:4px;justify-content:space-between;align-items:center;padding:14px 20px;font-size:14px;font-weight:700;display:flex}.alert-banner.blue{color:var(--cyan);border:1px solid var(--cyan);background:#4fd1c526;animation:3s ease-in-out infinite pulse-banner}.alert-banner.yellow{color:var(--yellow);border:1px solid var(--yellow);background:#fbbf2426;animation:1.8s ease-in-out infinite pulse-banner}.alert-banner.red{color:var(--red);border:1px solid var(--red);background:#f871712e;animation:.9s ease-in-out infinite pulse-banner}@keyframes pulse-banner{0%,to{opacity:1}50%{opacity:.82}}.mute-toggle{color:inherit;font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid;border-radius:3px;margin:0;padding:6px 12px;font-size:10px}.mute-toggle:hover{filter:brightness(1.25)}.detail-grid{grid-template-columns:1fr 260px;align-items:start;gap:20px;margin-top:20px;display:grid}@media (max-width:760px){.detail-grid{grid-template-columns:1fr}}.sidebar{flex-direction:column;gap:12px;display:flex}.sidebar-panel{flex-direction:column;gap:20px;display:flex}.alert-banner-compact{padding:10px 14px;font-size:11px}.alert-banner-compact .mute-toggle{padding:3px 8px;font-size:13px}.sidebar-label{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin-bottom:6px;font-size:10px}.sidebar-value{word-break:break-all;font-size:13px}.alert-level-buttons{gap:6px;display:flex}.alert-level-buttons button{letter-spacing:.04em;border:1px solid var(--border);color:var(--text-dim);cursor:pointer;text-transform:uppercase;font-size:10px;font-family:var(--mono);background:0 0;border-radius:3px;flex:1;margin:0;padding:8px 4px}.alert-level-buttons button.inactive:hover{border-color:var(--text-dim);color:var(--text)}.alert-level-buttons button.active-blue{background:var(--cyan);color:#06201d;border-color:var(--cyan)}.alert-level-buttons button.active-yellow{background:var(--yellow);color:#2b1a02;border-color:var(--yellow)}.alert-level-buttons button.active-red{background:var(--red);color:#2b0a0a;border-color:var(--red)}.tag-chips{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.tag-chip{background:var(--bg);border:1px solid var(--border);font-size:11px;font-family:var(--mono);color:var(--text);border-radius:20px;align-items:center;gap:4px;padding:4px 6px 4px 10px;display:inline-flex}.tag-chip button{color:var(--text-dim);cursor:pointer;background:0 0;border:none;margin:0;padding:0 4px;font-size:13px;line-height:1}.tag-chip button:hover{color:var(--red)}.tag-add-row{gap:6px;display:flex}.tag-add-row input{flex:1;margin:0;padding:8px;font-size:12px}.tag-add-row button{margin:0;padding:8px 12px;font-size:10px}main:has(.kanban-board){max-width:1100px}.kanban-board{grid-template-columns:repeat(3,1fr);align-items:start;gap:20px;display:grid}@media (max-width:900px){.kanban-board{grid-template-columns:1fr}}.kanban-column{min-height:120px;margin-bottom:0}.kanban-count{color:var(--text-dim);margin-left:6px;font-size:11px}.character-banner{border:1px solid var(--border);background:var(--panel);border-radius:6px;width:100%;margin-bottom:20px;position:relative;overflow:hidden}.character-banner img{object-fit:cover;width:100%;height:100%;display:block}.speech-bubble{border:1px solid var(--border);max-width:24%;font-family:var(--mono);color:var(--text);background:#0a0e14e0;border-radius:10px;padding:14px 18px;font-size:13px;line-height:1.5;position:absolute;top:46%;right:33%;transform:translateY(-50%)}.speech-bubble:after{content:"";border:8px solid #0000;border-left-color:#0a0e14e0;border-right-width:0;position:absolute;top:50%;right:-8px;transform:translateY(-50%)}.speech-bubble-fade{animation:.4s speech-fade-in}@keyframes speech-fade-in{0%{opacity:0;transform:translateY(-50%)translate(-4px)}to{opacity:1;transform:translateY(-50%)translate(0)}}@media (max-width:640px){.speech-bubble{max-width:38%;padding:8px 10px;font-size:10px}}
