@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:wght@500&display=swap";
:root{--ink:#0f172a;--muted:#64748b;--accent:#0ea5a8;--accent-2:#f97316;--accent-3:#2563eb;--surface:#f8fafc;--card:#fff;--stroke:#e2e8f0;--shadow:0 18px 50px #0f172a1f}[data-theme=dark]{--ink:#f1f5f9;--muted:#94a3b8;--accent:#0ea5a8;--accent-2:#f97316;--accent-3:#2563eb;--surface:#0f172a;--card:#1e293b;--stroke:#334155;--shadow:0 18px 50px #00000080}*,:before,:after{box-sizing:border-box}body.app-body{min-height:100vh;color:var(--ink);background:var(--surface);margin:0;font-family:Space Grotesk,system-ui,sans-serif;transition:background-color .3s,color .3s}a{color:inherit;text-decoration:none}.page{min-height:100vh;position:relative;overflow:hidden}.bg-layer{z-index:0;pointer-events:none;position:absolute;inset:0}.bg-layer:before{content:"";background:radial-gradient(circle at 15% 20%,#0ea5a82e,#0000 45%),radial-gradient(circle at 85% 10%,#f973162e,#0000 45%),radial-gradient(circle at 70% 80%,#2563eb26,#0000 45%);position:absolute;inset:0}.orb{filter:blur(24px);opacity:.6;border-radius:999px;animation:16s ease-in-out infinite float;position:absolute}.orb.one{background:radial-gradient(circle,#0ea5a859,#0000 70%);width:320px;height:320px;top:-120px;right:-140px}.orb.two{background:radial-gradient(circle,#f9731659,#0000 70%);width:360px;height:360px;animation-delay:-4s;bottom:-140px;left:-120px}.orb.three{background:radial-gradient(circle,#2563eb4d,#0000 70%);width:240px;height:240px;animation-delay:-8s;top:30%;right:10%}.container{z-index:1;max-width:1100px;margin:0 auto;padding:32px 20px 64px;position:relative}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.brand{flex-direction:column;gap:4px;display:flex}.brand-title{letter-spacing:.04em;font-size:24px;font-weight:700}.brand-subtitle{color:var(--muted);font-size:12px}.card,.panel{background:var(--card);border:1px solid var(--stroke);box-shadow:var(--shadow);border-radius:16px;padding:20px}.sticky-panel{align-self:start;position:sticky;top:16px}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:18px;display:grid}.stat-card{background:linear-gradient(135deg,#0ea5a814,#fffc);border:1px solid #0ea5a82e;border-radius:14px;padding:16px}.stat-label{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-size:11px}.stat-value{margin-top:8px;font-size:20px;font-weight:700}.grid{gap:16px;display:grid}.grid.two{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start}.form-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.form-label{color:var(--muted);flex-direction:column;gap:6px;font-size:12px;display:flex}.form-input{border:1px solid var(--stroke);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:14px}.btn{border:1px solid var(--stroke);color:var(--ink);cursor:pointer;background:0 0;border-radius:10px;padding:8px 14px;font-size:12px;font-weight:600}.btn.primary{background:linear-gradient(135deg,var(--accent-3),var(--accent));color:#fff;border:none}.btn.ghost{background:#ffffffb3}.btn.danger{color:#e11d48;border-color:#f43f5e59}.chip{border:1px solid var(--stroke);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:10px;font-weight:600;display:inline-flex}.company-chip{color:#92704a;background:linear-gradient(135deg,#b8956a38,#a0826d26);border:none;box-shadow:0 2px 8px #b8956a33}[data-theme=dark] .company-chip{color:#e5d3b3;background:linear-gradient(135deg,#e5d3b340,#d4b8962e)}.license-list{gap:12px;display:grid}.license-item{border:1px solid var(--stroke);background:var(--card);text-align:left;cursor:pointer;border-radius:14px;padding:14px;transition:transform .2s,border .2s}.license-item.active{background:linear-gradient(135deg,#0ea5a81f,#fffc);border-color:#0ea5a899;transform:translateY(-1px)}.license-item.over{border-color:#f9731699;box-shadow:0 12px 30px #f973161f}.license-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.tab-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tab-pill{text-transform:uppercase;letter-spacing:.14em;color:#475569;cursor:pointer;background:#fffc;border:1px solid #94a3b899;border-radius:999px;padding:6px 14px;font-size:11px;font-weight:700;transition:all .2s}.tab-pill:hover{color:#1d4ed8;border-color:#2563eb80;transform:translateY(-1px)}.tab-pill.active{color:#fff;background:linear-gradient(135deg,#2563ebe6,#0ea5a8e6);border-color:#0000;box-shadow:0 10px 24px #2563eb40}.tab-pill:disabled{cursor:not-allowed;opacity:.6;transform:none}.detail-panel{min-height:560px}.device-item{border:1px solid var(--stroke);background:#ffffffe6;border-radius:12px;padding:12px}.device-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.device-title-main{flex-direction:column;gap:2px;display:flex}.device-label{color:var(--ink);font-size:14px;font-weight:700}.device-id-muted{color:var(--muted);letter-spacing:.02em;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:11px}.company-highlight{color:#654a2e;background:linear-gradient(135deg,#b8956a33,#a0826d24);border:1px solid #92704a59;border-radius:999px;align-items:center;gap:6px;width:fit-content;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}[data-theme=dark] .company-highlight{color:#e5d3b3;background:linear-gradient(135deg,#e5d3b338,#d4b89629);border:1px solid #e5d3b366}.status-pill{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);background:#94a3b826;border:none;border-radius:999px;padding:5px 10px;font-size:10px;font-weight:700}.status-active{color:#059669;background:linear-gradient(135deg,#10b9812e,#22c55e1f);box-shadow:0 2px 6px #10b98133}[data-theme=dark] .status-active{color:#6ee7b7;background:linear-gradient(135deg,#6ee7b740,#22c55e26)}.status-over_limit{color:#dc2626;background:linear-gradient(135deg,#ef44442e,#dc26261f);box-shadow:0 2px 6px #ef444433}[data-theme=dark] .status-over_limit{color:#fca5a5;background:linear-gradient(135deg,#fca5a540,#dc262626)}.status-grace_expired{color:#9f1239;background:linear-gradient(135deg,#9f123926,#e11d481a);box-shadow:0 2px 6px #9f123926}[data-theme=dark] .status-grace_expired{color:#fda4af;background:linear-gradient(135deg,#fda4af40,#e11d4826)}.status-deactivated{color:#475569;background:#94a3b833;border-color:#64748b66}.status-archived{color:#64748b;background:linear-gradient(135deg,#94a3b833,#64748b26);box-shadow:0 2px 6px #94a3b81a}[data-theme=dark] .status-archived{color:#cbd5e1;background:linear-gradient(135deg,#cbd5e133,#94a3b826)}.status-presence-online{color:#065f46;background:linear-gradient(135deg,#10b98138,#22c55e29);box-shadow:0 2px 6px #10b9812e}.status-presence-idle{color:#92400e;background:linear-gradient(135deg,#fbbf2438,#f59e0b29);box-shadow:0 2px 6px #f59e0b29}.status-presence-offline{color:#9f1239;background:linear-gradient(135deg,#f43f5e33,#e11d4824);box-shadow:0 2px 6px #e11d4829}.status-presence-inactive{color:#475569;background:#94a3b833}[data-theme=dark] .status-presence-online{color:#a7f3d0;background:linear-gradient(135deg,#10b98147,#22c55e33)}[data-theme=dark] .status-presence-idle{color:#fde68a;background:linear-gradient(135deg,#fbbf2442,#f59e0b33)}[data-theme=dark] .status-presence-offline{color:#fecdd3;background:linear-gradient(135deg,#f43f5e3d,#e11d4833)}[data-theme=dark] .status-presence-inactive{color:#cbd5e1;background:#94a3b838}.status-revoked{color:#b91c1c;background:linear-gradient(135deg,#dc26262e,#b91c1c1f);box-shadow:0 2px 6px #dc262633}[data-theme=dark] .status-revoked{color:#fca5a5;background:linear-gradient(135deg,#fca5a540,#dc262626)}.status-info{color:#1d4ed8;background:linear-gradient(135deg,#2563eb2e,#3b82f61f);box-shadow:0 2px 6px #2563eb26}[data-theme=dark] .status-info{color:#93c5fd;background:linear-gradient(135deg,#93c5fd40,#3b82f626)}.status-warning{color:#c2410c;background:linear-gradient(135deg,#ea580c2e,#f973161f);box-shadow:0 2px 6px #ea580c26}[data-theme=dark] .status-warning{color:#fdba74;background:linear-gradient(135deg,#fdba7440,#f9731626)}.status-error{color:#b91c1c;background:linear-gradient(135deg,#dc26262e,#ef44441f);box-shadow:0 2px 6px #dc262626}[data-theme=dark] .status-error{color:#fca5a5;background:linear-gradient(135deg,#fca5a540,#ef444426)}.status-success{color:#15803d;background:linear-gradient(135deg,#16a34a2e,#22c55e1f);box-shadow:0 2px 6px #16a34a26}[data-theme=dark] .status-success{color:#86efac;background:linear-gradient(135deg,#86efac40,#22c55e26)}.status-valid{color:#15803d;background:linear-gradient(135deg,#16a34a26,#22c55e1a);box-shadow:0 2px 6px #16a34a1f}[data-theme=dark] .status-valid{color:#86efac;background:linear-gradient(135deg,#86efac38,#22c55e26)}.status-expiring{color:#c2410c;background:linear-gradient(135deg,#ea580c2e,#f973161f);box-shadow:0 2px 6px #ea580c26}[data-theme=dark] .status-expiring{color:#fdba74;background:linear-gradient(135deg,#fdba7440,#f9731626)}.status-expired{color:#b91c1c;background:linear-gradient(135deg,#dc26262e,#ef44441f);box-shadow:0 2px 6px #dc262626}[data-theme=dark] .status-expired{color:#fca5a5;background:linear-gradient(135deg,#fca5a540,#ef444426)}.status-expiry-none,.status-expiry-unknown{color:#475569;background:#94a3b826;border-color:#94a3b880}.muted{color:var(--muted);font-size:12px}.section-title{margin-bottom:6px;font-size:16px;font-weight:600}.divider{background:var(--stroke);height:1px;margin:12px 0}.notice{color:#c2410c;background:#f9731614;border:1px solid #f9731640;border-radius:10px;margin:8px 0 12px;padding:10px 12px;font-size:12px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(16px)}}@media (max-width:900px){.grid.two{grid-template-columns:1fr}.sticky-panel{position:static}}.chip.archived{color:#475569;background:#e2e8f0;border:1px solid #cbd5e1}.theme-toggle{justify-content:center;align-items:center;width:40px;height:40px;padding:0;transition:transform .2s;display:flex}.theme-toggle:hover{transform:scale(1.05)}.skeleton{background:linear-gradient(90deg,#cbd5e14d 0%,#e2e8f080 50%,#cbd5e14d 100%) 0 0/200% 100%;border-radius:8px;animation:1.5s ease-in-out infinite skeleton-loading}[data-theme=dark] .skeleton{background:linear-gradient(90deg,#3341554d 0%,#47556980 50%,#3341554d 100%) 0 0/200% 100%}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:16px;margin:6px 0}.skeleton-title{width:60%;height:24px;margin:8px 0}.skeleton-card{width:100%;height:120px}.skeleton-button{width:100px;height:36px}[data-theme=dark] .bg-layer:before{background:radial-gradient(circle at 15% 20%,#0ea5a81f,#0000 45%),radial-gradient(circle at 85% 10%,#f973161f,#0000 45%),radial-gradient(circle at 70% 80%,#2563eb1a,#0000 45%)}[data-theme=dark] .form-input{color:var(--ink);border-color:var(--stroke);background:#0f172a80}[data-theme=dark] .form-input::placeholder{color:var(--muted);opacity:.6}[data-theme=dark] .btn.ghost{background:#1e293bb3}[data-theme=dark] .stat-card{background:linear-gradient(135deg,#0ea5a81f,#1e293bcc);border-color:#0ea5a840}[data-theme=dark] .license-item{background:#1e293b99}[data-theme=dark] .license-item.active{background:linear-gradient(135deg,#0ea5a82e,#1e293bb3);border-color:#0ea5a873}.main-tabs{border-bottom:2px solid var(--stroke);gap:8px;margin-bottom:24px;padding-bottom:0;display:flex}.main-tab{color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;margin-bottom:-2px;padding:12px 20px;font-size:14px;font-weight:600;transition:all .2s}.main-tab:hover{color:var(--ink);background:#0ea5a80d}.main-tab.active{color:var(--accent);border-bottom-color:var(--accent)}[data-theme=dark] .main-tab:hover{background:#0ea5a81f}.analytics-container{width:100%}.analytics-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.analytics-header h1{margin:0;font-size:28px;font-weight:700}.analytics-controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.date-range-picker{align-items:center;gap:12px;display:flex}.date-range-picker label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;flex-direction:column;gap:4px;font-size:11px;font-weight:600;display:flex}.date-range-picker input[type=date]{border:1px solid var(--stroke);background:var(--card);color:var(--ink);cursor:pointer;border-radius:8px;padding:8px 12px;font-size:13px}.export-buttons{gap:8px;display:flex}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:32px;display:grid}.charts-grid{grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:20px;display:grid}.chart-card{background:var(--card);border:1px solid var(--stroke);border-radius:16px;padding:20px}.chart-card h3{color:var(--ink);margin:0 0 16px;font-size:16px;font-weight:700}[data-theme=dark] .chart-card{background:#1e293bb3;border-color:#0ea5a833}.top-customers-list{flex-direction:column;gap:12px;display:flex}.customer-row{border:1px solid var(--stroke);background:#0f172a0a;border-radius:12px;grid-template-columns:40px 1fr auto auto;align-items:center;gap:16px;padding:12px;transition:all .2s;display:grid}.customer-row:hover{background:#0ea5a814;border-color:#0ea5a84d}[data-theme=dark] .customer-row{background:#0f172a80}[data-theme=dark] .customer-row:hover{background:#0ea5a826}.customer-rank{color:var(--accent);text-align:center;font-size:20px;font-weight:800}.customer-info{flex-direction:column;gap:4px;display:flex}.customer-name{color:var(--ink);font-size:14px;font-weight:700}.customer-license{color:var(--muted);font-family:JetBrains Mono,monospace;font-size:11px}.customer-plan{align-items:center;display:flex}.customer-devices{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.device-count{color:var(--accent);font-size:22px;font-weight:800}.device-label{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:10px;font-weight:600}[data-theme=dark] .device-item{background:#1e293bb3}.tickets-container{width:100%}.tickets-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.tickets-header h1{margin:0;font-size:28px;font-weight:700}.tickets-filters{flex-wrap:wrap;gap:12px;margin-bottom:24px;display:flex}.tickets-list{flex-direction:column;gap:12px;display:flex}.ticket-item{background:var(--card);border:1px solid var(--stroke);cursor:pointer;border-radius:12px;padding:16px;transition:all .2s}.ticket-item:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 12px #0ea5a826}[data-theme=dark] .ticket-item{background:#1e293b99}.ticket-header{align-items:center;gap:12px;margin-bottom:12px;display:flex}.ticket-id{color:var(--accent);font-family:JetBrains Mono,monospace;font-size:14px;font-weight:800}.ticket-title{color:var(--ink);margin-bottom:8px;font-size:16px;font-weight:700}.ticket-message{color:var(--muted);margin-bottom:12px;font-size:13px;line-height:1.5}.ticket-meta{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--card);border:1px solid var(--stroke);border-radius:16px;width:90%;max-width:600px;max-height:90vh;padding:24px;overflow-y:auto}.modal-large{max-width:900px}[data-theme=dark] .modal-content{background:#0f172af2}.modal-content h2{margin:0 0 20px;font-size:22px;font-weight:700}.form-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px;display:grid}.modal-actions{justify-content:flex-end;gap:12px;display:flex}.ticket-detail-header{border-bottom:1px solid var(--stroke);justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;display:flex}.ticket-detail-body{flex-direction:column;gap:24px;display:flex}.ticket-detail-info{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.info-row{flex-direction:column;gap:4px;display:flex}.info-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:11px;font-weight:600}.ticket-detail-message{border-left:3px solid var(--accent);background:#0ea5a814;border-radius:8px;padding:16px}.ticket-detail-message h3{margin:0 0 12px;font-size:18px;font-weight:700}.ticket-detail-message p{color:var(--ink);margin:0;line-height:1.6}.ticket-comments{flex-direction:column;gap:12px;display:flex}.ticket-comments h3{margin:0 0 12px;font-size:16px;font-weight:700}.comment-item{border:1px solid var(--stroke);background:#0f172a0a;border-radius:8px;padding:12px}[data-theme=dark] .comment-item{background:#0f172a80}.comment-header{align-items:center;gap:12px;margin-bottom:8px;font-size:12px;display:flex}.comment-header strong{color:var(--ink)}.internal-badge{color:#ef4444;background:#ef444426;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:700}.comment-date{color:var(--muted);margin-left:auto}.comment-message{color:var(--ink);font-size:13px;line-height:1.5}@media (max-width:768px){.grid.two{gap:16px;grid-template-columns:1fr!important}.form-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))!important}.stats-grid{grid-template-columns:1fr!important}.chart-container{min-height:250px!important}table{white-space:nowrap;display:block;overflow-x:auto}button,.btn{min-height:44px;font-size:14px;padding:12px 16px!important}.dialog-content,.modal-content{height:100vh;max-height:100vh;border-radius:0!important;width:100%!important;max-width:100%!important;margin:0!important}.page-header{flex-direction:column;gap:12px;align-items:flex-start!important}.tabs-list{white-space:nowrap;-webkit-overflow-scrolling:touch;overflow:auto hidden}h1{font-size:24px!important}h2{font-size:20px!important}h3,.stat-value{font-size:18px!important}.page,.container,.card,.stats-card{padding:16px!important}.form-field{flex-direction:column;align-items:stretch!important}.form-field label{margin-bottom:6px}.action-buttons,.button-group{width:100%;flex-direction:column!important}.action-buttons button,.button-group button{width:100%!important}}@media (max-width:480px){.grid,.form-grid{grid-template-columns:1fr!important}.chart-container{min-height:200px!important}h1{font-size:20px!important}h2{font-size:18px!important}h3{font-size:16px!important}.page,.container,.card,.stats-card{padding:12px!important}.tabs-trigger{padding:8px 12px!important;font-size:13px!important}table{font-size:12px!important}input,select,textarea{width:100%!important}}
