:root{--bg: #0f172a;--panel: #181c25;--panel-alt: #20304d;--border: #2f3a52;--text: #f1f5f9;--muted: #94a3b8;--accent: #2563eb;--danger: #dc2626;--danger-text: #f87171;--success: #16a34a;--warn: #b45309;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}button{font-family:inherit;cursor:pointer;border:none;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:700;background:var(--accent);color:#fff;transition:opacity .15s}button:disabled{opacity:.5;cursor:not-allowed}button.danger{background:var(--danger)}button.link-btn{background:transparent;color:var(--accent);padding:2px 4px;font-weight:600;text-decoration:underline}input,textarea,select{font-family:inherit;background:#0f1420;border:1px solid var(--border);border-radius:8px;padding:9px 12px;color:var(--text);font-size:14px}textarea{resize:vertical}input:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted);font-weight:600}.muted{color:var(--muted)}.error-text{color:var(--danger-text);font-size:13px;font-weight:600}.login-screen{height:100%;display:flex;align-items:center;justify-content:center;padding:20px}.login-card{width:100%;max-width:360px;background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:32px;display:flex;flex-direction:column;gap:12px}.login-card .subtitle{margin:0 0 8px;color:var(--muted);font-size:14px}.login-card button{margin-top:8px;padding:12px;font-size:15px}.brand{font-size:20px;font-weight:800;color:var(--text)}.brand span{color:var(--accent)}.layout{display:flex;height:100%}.sidebar{width:220px;flex-shrink:0;background:var(--panel);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:24px 16px}.sidebar nav{display:flex;flex-direction:column;gap:4px;margin-top:28px}.nav-btn{background:transparent;color:var(--muted);text-align:left;font-weight:700;padding:10px 12px;border-radius:8px}.nav-btn.active{background:var(--panel-alt);color:#fff}.sidebar-footer{margin-top:auto;padding-top:16px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.user-email{font-size:12px;color:var(--muted);word-break:break-all}.logout-btn{background:transparent;border:1px solid var(--border);color:var(--danger-text)}.content{flex:1;padding:32px 36px;overflow-y:auto}.content h1{font-size:22px;margin:0}.page-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:20px}.filter-row{display:flex;gap:8px;flex-wrap:wrap}.chip{background:var(--panel);border:1px solid var(--border);color:var(--muted);font-weight:700;padding:6px 14px;border-radius:999px;font-size:12px}.chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.checkbox-row{flex-direction:row;align-items:center;gap:8px}.checkbox-row input{width:auto}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:12px}.table{width:100%;border-collapse:collapse;font-size:13px}.table th,.table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}.table th{color:var(--muted);font-weight:700;background:var(--panel);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.table tbody tr:hover{background:#ffffff05}.doc-links{display:flex;flex-direction:column;gap:2px}.doc-review-list{display:flex;flex-direction:column;gap:4px;margin-bottom:6px}.doc-review-row{display:flex;align-items:center;gap:6px}.doc-review-row button:not(.link-btn){padding:2px 8px}.action-row{display:flex;flex-wrap:wrap;gap:6px}.badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.badge-pending{background:#b4530933;color:#fbbf24}.badge-approved{background:#16a34a33;color:#4ade80}.badge-rejected,.badge-suspended{background:#dc262633;color:#f87171}.card-form{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:14px;margin-bottom:24px;max-width:640px}.form-row{display:flex;gap:12px;flex-wrap:wrap}.form-row label{flex:1;min-width:140px}.card-form button{align-self:flex-start}.ticket-list{display:flex;flex-direction:column;gap:12px;max-width:760px}.ticket-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px}.ticket-card.resolved{opacity:.6}.ticket-card.urgent{border:2px solid #dc2626;box-shadow:0 0 0 3px #dc262640}.ticket-header{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;font-size:13px}.ticket-message{white-space:pre-wrap;font-family:inherit;font-size:13px;color:var(--text);background:#0f1420;border-radius:8px;padding:12px;margin:0 0 10px;max-height:220px;overflow-y:auto}.ticket-footer{display:flex;justify-content:flex-end}.support-layout{display:grid;grid-template-columns:minmax(260px,360px) minmax(0,1fr);gap:16px;align-items:start}.support-list{display:flex;flex-direction:column;gap:8px;max-height:calc(100vh - 150px);overflow-y:auto}.support-item{text-align:left;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:10px 12px;color:var(--text);display:flex;flex-direction:column;gap:6px;cursor:pointer;font:inherit}.support-item.selected{border-color:var(--accent);box-shadow:0 0 0 2px #2563eb59}.support-item.resolved{opacity:.6}.support-item.urgent{border:2px solid var(--danger)}.support-item-top{display:flex;justify-content:space-between;gap:8px;font-size:13px}.support-item-badges{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:12px}.support-item-preview{font-size:12px;color:var(--muted);white-space:pre-line;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.support-detail{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:12px;min-width:0}.support-detail-header{display:flex;align-items:center;gap:12px}.support-detail-header .link-btn{display:none}.support-detail-title{flex:1;display:flex;flex-direction:column;min-width:0}.support-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px 16px;font-size:13px}.support-fact{display:flex;flex-direction:column;gap:2px;min-width:0;overflow-wrap:anywhere}.support-rides summary{cursor:pointer;font-size:13px;color:var(--muted)}.support-ride{display:grid;grid-template-columns:150px 140px minmax(0,1fr) minmax(0,1fr);gap:4px 12px;font-size:12px;padding:6px 0;border-top:1px solid var(--border)}.support-ride.highlight{color:#fbbf24}.support-thread{display:flex;flex-direction:column;gap:10px;max-height:50vh;overflow-y:auto;padding-right:4px}.support-bubble{max-width:85%;align-self:flex-start;background:#0f1420;border:1px solid var(--border);border-radius:12px;padding:10px 12px}.support-bubble.mine{align-self:flex-end;background:#1e3a8a;border-color:var(--accent)}.support-bubble.urgent{border-color:var(--danger)}.support-bubble-meta{font-size:11px;color:var(--muted);margin-bottom:4px}.support-bubble-body{white-space:pre-wrap;font-size:13px;overflow-wrap:anywhere}.support-reply{display:flex;gap:8px;align-items:flex-end}.support-reply textarea{flex:1;resize:vertical}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:50;padding:24px}.modal{background:var(--panel);border-radius:12px;border:1px solid var(--border);max-width:min(520px,100%);max-height:90vh;overflow:auto;padding:16px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-weight:700}.map-box{width:100%;height:min(480px,65vh);border-radius:12px;border:1px solid var(--border)}.doc-frame{width:100%;height:min(480px,70vh);border:0;background:#fff}.hint{display:block;font-size:11px;font-weight:500;color:var(--muted)}.zone-search{position:relative;margin-bottom:10px;max-width:520px}.zone-search input{width:100%}.zone-suggestions{position:absolute;z-index:10;left:0;right:0;top:100%;background:var(--panel);border:1px solid var(--border);border-radius:10px;overflow:hidden}.zone-suggestion{display:block;width:100%;text-align:left;background:transparent;color:var(--text);font-weight:400;border-radius:0;border-bottom:1px solid var(--border)}.modal.modal-wide{max-width:min(720px,100%);width:100%}.candidate-list{display:flex;flex-direction:column;gap:8px;margin:12px 0}.candidate-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:10px;padding:10px 12px}.candidate-row.blocked{opacity:.6}.candidate-info{display:flex;flex-direction:column;gap:3px;font-size:13px}.modal img{width:100%;border-radius:8px;display:block}.topbar,.drawer-backdrop{display:none}@media (max-width: 768px){.layout{flex-direction:column}.topbar{display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:30;height:56px;padding:0 12px;background:var(--panel);border-bottom:1px solid var(--border);flex-shrink:0}.menu-btn{background:transparent;color:var(--text);font-size:22px;padding:6px 10px;line-height:1}.topbar-title{flex:1;font-weight:800;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-brand{font-size:14px}.sidebar{position:fixed;top:0;bottom:0;left:0;z-index:60;width:min(280px,85vw);overflow-y:auto;transform:translate(-100%);transition:transform .2s ease}.menu-open .sidebar{transform:none;box-shadow:0 0 40px #0009}.drawer-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;background:#0000008c}.nav-btn{padding:12px 14px;font-size:15px}.content{flex:1;min-height:0;padding:16px 14px 40px}.content h1{font-size:19px}button{min-height:40px}button.link-btn{min-height:0}input,textarea,select{font-size:16px}.card-form{padding:14px}.ticket-header,.candidate-row,.doc-review-row{flex-wrap:wrap}.modal-backdrop{padding:0;align-items:stretch}.modal,.modal.modal-wide{width:100%;max-width:100%;max-height:100%;border-radius:0;border:0}.table-wrap.cards{border:0;overflow:visible}.table-wrap.cards .table,.table-wrap.cards tbody,.table-wrap.cards tr,.table-wrap.cards td{display:block;width:100%}.table-wrap.cards thead{display:none}.table-wrap.cards tr{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:6px 12px;margin-bottom:12px}.table-wrap.cards tbody tr:hover{background:var(--panel)}.table-wrap.cards td{border-bottom:1px solid rgba(255,255,255,.05);padding:8px 0}.table-wrap.cards td:last-child{border-bottom:0}.table-wrap.cards td[data-label]:not([data-label=""]):before{content:attr(data-label);display:block;margin-bottom:2px;color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.table-wrap.cards .action-row button{flex:1 1 auto}.support-layout{grid-template-columns:1fr}.support-layout.has-selection .support-list{display:none}.support-detail-header .link-btn{display:inline}.support-ride{grid-template-columns:1fr}.support-thread{max-height:none}}
