:root{color:#e8edf8;background:#10131a;font-family:Segoe UI,Aptos,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#10131a}button,input,textarea{font:inherit}select,textarea{border:1px solid #343e53;border-radius:6px;background:#111722;color:#edf3ff;padding:.55rem .65rem}textarea{width:100%;resize:vertical}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.65}.login-screen{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,rgba(49,130,206,.18),transparent 34%),linear-gradient(315deg,rgba(224,70,90,.16),transparent 28%),#10131a}.login-panel{width:min(420px,92vw);display:grid;gap:.8rem;padding:1.2rem;border:1px solid #303848;border-radius:8px;background:#171c26;box-shadow:0 24px 80px #0000006b}.brand-mark{font-size:1.45rem;font-weight:800;letter-spacing:0}.brand-mark span{color:#6eb7ff;margin-left:.25rem}h1,h2,h3,p{margin-top:0}input{width:100%;border:1px solid #343e53;border-radius:6px;background:#111722;color:#edf3ff;padding:.75rem .8rem}input[type=checkbox]{width:auto}.primary,.ghost,.logout,.sidebar nav button{border-radius:6px;padding:.7rem .85rem;color:#eef4ff}.primary{background:#2680eb}.ghost{background:#1c2534;border:1px solid #354157}.logout{margin-top:auto;background:#321c24;color:#ffb7c0;border:1px solid #74313f}.admin-shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:1rem;padding:1rem;border-right:1px solid #2a3346;background:#151a23}.sidebar nav{display:grid;gap:.4rem}.sidebar nav button{text-align:left;background:transparent}.sidebar nav button.active,.sidebar nav button:hover{background:#202b3c}.workspace{min-width:0;padding:1rem}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.topbar h1{margin-bottom:.2rem}.muted{color:#9aa8bd}.error{color:#ff9bad}.banner{border:1px solid #7a2e42;border-radius:6px;background:#7a2e422e;padding:.75rem}.search-row{width:min(560px,45vw);display:flex;gap:.45rem}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:.75rem}.stat-grid.compact{grid-template-columns:repeat(3,minmax(180px,1fr))}.stat-card,.panel,.table-wrap{border:1px solid #2d374b;border-radius:8px;background:#171d28}.stat-card{padding:1rem}.stat-card p{color:#9aa8bd;margin-bottom:.35rem}.stat-card strong{font-size:2rem}.stat-card.danger strong{color:#ff9bad}.panel{margin-top:1rem;padding:1rem}.status-grid{display:flex;flex-wrap:wrap;gap:.5rem}.pill{display:inline-flex;align-items:center;min-height:26px;border:1px solid #3a465e;border-radius:999px;padding:.2rem .55rem;background:#202838;color:#dfe8f8;white-space:nowrap}.pill.good{border-color:#2d7a54;color:#a8f0c8}.pill.warn{border-color:#806331;color:#ffd994}.host-stack{display:grid;gap:.2rem}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:900px}th,td{padding:.8rem;border-bottom:1px solid #2a3346;text-align:left;vertical-align:top}th{color:#9fb0ca;font-weight:700}.link-btn{color:#8cc7ff;background:transparent;padding:0}.actions{display:flex;flex-wrap:wrap;gap:.35rem}.small{min-height:30px;padding:.35rem .5rem;font-size:.84rem}.danger-action{color:#ffb7c0;border-color:#74313f}.drawer-actions{margin:.75rem 0 1rem}.codebox{max-height:360px;overflow:auto;border:1px solid #30394d;border-radius:6px;background:#101722;color:#dce8fb;padding:.8rem;white-space:pre-wrap}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;justify-content:flex-end;background:#05080e8c}.drawer{width:min(520px,94vw);height:100%;overflow-y:auto;padding:1rem;border-left:1px solid #30394d;background:#171d28}.wide-drawer{width:min(860px,96vw)}.drawer-close{float:right;border-radius:6px;background:#263144;color:#edf3ff;padding:.55rem .75rem}.mini-row{display:flex;justify-content:space-between;gap:.75rem;padding:.65rem 0;border-bottom:1px solid #2a3346}.plan-editor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin:.75rem 0 1.5rem}.plan-editor-card{display:grid;gap:.6rem;padding:1rem;border:1px solid #30394d;border-radius:12px;background:#111927}.plan-editor-head,.mini-grid{display:flex;align-items:center;gap:.6rem}.plan-editor-head{justify-content:space-between}.mini-grid input{min-width:0}.ticket-admin-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.ticket-badges,.ticket-attachments{display:flex;flex-wrap:wrap;gap:.4rem}.ticket-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;gap:.7rem;margin:.75rem 0 1rem}.ticket-detail-grid label,.ticket-reply-form{display:grid;gap:.4rem}.checkbox-row{display:inline-flex!important;grid-auto-flow:column;justify-content:start;align-items:center}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:.9rem 1rem;align-items:end}.form-grid textarea,.form-grid .actions{grid-column:1 / -1}.form-grid .checkbox-row{min-height:42px;gap:.5rem;padding:.25rem .1rem;color:#dce8fb}.ticket-thread{display:grid;gap:.75rem}.ticket-message{border:1px solid #2f3c52;border-radius:10px;background:#111927;padding:.85rem}.ticket-message.admin{border-color:#315d89;background:#122033}.ticket-message.internal{border-style:dashed;border-color:#806331;background:#8063311f}.ticket-message-meta{display:flex;justify-content:space-between;gap:.75rem;color:#9fb0ca;font-size:.86rem}.ticket-message p{margin:.55rem 0 .65rem;white-space:pre-wrap}.ticket-reply-form{margin-top:1rem;border-top:1px solid #2a3346;padding-top:1rem}.ticket-status-open,.ticket-priority-urgent{border-color:#b54a4a;color:#ffc2c2}.ticket-status-pending,.ticket-priority-high{border-color:#806331;color:#ffd994}.ticket-status-waiting_on_user{border-color:#315d89;color:#a9d6ff}.ticket-status-resolved,.ticket-status-closed,.ticket-priority-low{border-color:#2d7a54;color:#a8f0c8}@media (max-width: 860px){.admin-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.topbar{align-items:stretch;flex-direction:column}.search-row{width:100%}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 520px){.stat-grid{grid-template-columns:1fr}.search-row{flex-direction:column}}
