:root{--bg-app: #f8fafc;--bg-panel: #ffffff;--border: #e2e8f0;--text-main: #0f172a;--text-muted: #64748b;--accent: #06b6d4;--accent-hover: #0891b2;--danger: #ef4444;--success: #10b981;--warning: #f59e0b;--radius: .5rem;--sidebar-bg: #0B132B;--sidebar-border: #1C2541;--sidebar-text: #cbd5e1;--sidebar-hover: #151d36;--sidebar-active: #1C2541;--sidebar-active-text: #ffffff}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background-color:var(--bg-app);color:var(--text-main);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.app-container{display:flex;height:100vh;overflow:hidden}.sidebar{width:250px;background-color:var(--sidebar-bg);color:var(--sidebar-text);display:flex;flex-direction:column;border-right:1px solid var(--sidebar-border)}.sidebar-header{height:56px;display:flex;align-items:center;padding:0 24px;border-bottom:1px solid var(--sidebar-border);background:#0a1024}.sidebar-logo{width:24px;height:24px;background:var(--accent);border-radius:6px;display:flex;align-items:center;justify-content:center;margin-right:12px;box-shadow:0 0 10px #06b6d466;color:var(--sidebar-bg)}.sidebar-nav{flex:1;padding:24px 12px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.nav-link{display:flex;align-items:center;padding:8px 12px;border-radius:6px;color:var(--sidebar-text);text-decoration:none;font-size:14px;font-weight:500;transition:.2s}.nav-link:hover{background:var(--sidebar-hover);color:#fff}.nav-link.active{background:var(--sidebar-active);color:var(--sidebar-active-text)}.nav-icon{width:16px;height:16px;margin-right:12px;color:#64748b}.nav-link.active .nav-icon{color:var(--accent)}.sidebar-footer{padding:16px;border-top:1px solid var(--sidebar-border);background:#0a1024;display:flex;align-items:center;justify-content:space-between}.user-info{display:flex;align-items:center;overflow:hidden}.user-avatar{width:32px;height:32px;border-radius:50%;background:var(--sidebar-active);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;border:1px solid #2a3655;flex-shrink:0}.user-details{margin-left:12px;overflow:hidden}.user-name{font-size:14px;font-weight:500;color:#fff;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.top-header{height:56px;background-color:var(--bg-panel);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 24px;flex-shrink:0;box-shadow:0 1px 2px #0000000d;z-index:10}.top-header-title{font-size:18px;font-weight:600;margin:0}.page-container{flex:1;overflow-y:auto;padding:24px;background:var(--bg-app);display:flex;flex-direction:column;gap:24px}.page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}.card{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 1px 3px #0000001a;overflow:hidden;display:flex;flex-direction:column}.card-header{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.card-title{font-size:16px;font-weight:600;margin:0}.card-body{padding:20px;flex:1;overflow:auto}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:6px;font-weight:500;cursor:pointer;transition:.2s;border:none;font-size:14px;white-space:nowrap}.btn-sm{height:32px;padding:0 12px;font-size:12px}.btn-md{height:40px;padding:0 16px}.btn-lg{height:48px;padding:0 24px;font-size:16px}.btn-primary{background:var(--text-main);color:#fff}.btn-primary:hover{background:#1e293b}.btn-secondary{background:#f1f5f9;color:var(--text-main)}.btn-secondary:hover{background:#e2e8f0}.btn-ghost{background:transparent;color:var(--text-muted)}.btn-ghost:hover{background:#f1f5f9;color:var(--text-main)}.btn-danger{background:#fee2e2;color:var(--danger)}.btn-danger:hover{background:#fecaca}.btn:disabled{opacity:.5;cursor:not-allowed}.input-wrapper{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.label{font-size:14px;font-weight:500;color:var(--text-main)}.input,.select,.textarea{display:block;width:100%;border-radius:6px;border:1px solid var(--border);padding:8px 12px;font-size:14px;font-family:inherit;background:var(--bg-panel);color:var(--text-main);outline:none;transition:.2s}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px #06b6d433}.textarea{resize:vertical;min-height:80px}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:600;border:1px solid transparent;letter-spacing:.02em}.badge-success{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.badge-warning{background:#fffbeb;color:#b45309;border-color:#fde68a}.badge-danger{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.badge-neutral{background:#f1f5f9;color:#475569;border-color:#e2e8f0}.badge-accent{background:#ecfeff;color:#0369a1;border-color:#a5f3fc}.table-wrapper{width:100%;overflow-x:auto;overflow-y:visible;overscroll-behavior-x:contain;flex:1;display:flex;flex-direction:column}.table{width:100%;min-width:720px;border-collapse:separate;border-spacing:0;text-align:left}.table th{background:var(--bg-panel);position:sticky;top:0;z-index:10;padding:12px 16px;border-bottom:1px solid var(--border);color:var(--text-muted);font-size:12px;text-transform:uppercase;font-weight:600;letter-spacing:.05em}.table td{padding:14px 16px;border-bottom:1px solid var(--border);font-size:14px;color:var(--text-main);vertical-align:middle;overflow-wrap:anywhere}.table tr:last-child td{border-bottom:none}.table tr:hover td{background-color:#f8fafc}.text-right{text-align:right}.table .actions{display:flex;gap:8px;justify-content:flex-end;opacity:1}.grid{display:grid;gap:24px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-4{grid-template-columns:repeat(1,1fr)}@media(min-width:768px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.grid-4{grid-template-columns:repeat(4,1fr)}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#0a0f1c;position:relative;overflow:hidden}.login-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;opacity:.2}.login-bg-circle1{position:absolute;top:-20%;left:-10%;width:50%;height:50%;border-radius:50%;background:var(--accent);filter:blur(120px)}.login-bg-circle2{position:absolute;bottom:-20%;right:-10%;width:50%;height:50%;border-radius:50%;background:#6366f1;filter:blur(120px)}.login-card{position:relative;z-index:10;width:100%;max-width:400px;padding:32px;background:#1c2541cc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #2a3655;border-radius:12px;color:#cbd5e1;box-shadow:0 20px 25px -5px #00000080}.login-header{text-align:center;margin-bottom:32px}.login-logo{width:48px;height:48px;background:var(--accent);border-radius:12px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:16px;box-shadow:0 0 20px #06b6d499;color:#0a0f1c}.login-title{font-size:24px;font-weight:700;color:#fff;margin:0 0 8px;letter-spacing:-.02em}.login-subtitle{font-size:14px;color:#94a3b8;margin:0}.login-card .input,.login-card .label{color:#fff;background:#0b132b;border-color:#2a3655}.login-card .label{color:#cbd5e1}.login-card .btn-primary{background:var(--accent);color:#0a0f1c;width:100%;font-weight:600;font-size:16px;margin-top:16px;box-shadow:0 0 15px #06b6d44d}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeIn .2s ease-out}.modal-content{background:var(--bg-panel);border-radius:var(--radius);width:100%;max-width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 32px);display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a}.modal-content.modal-lg{max-width:min(760px,calc(100vw - 32px))}.modal-header{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.modal-title{font-size:18px;font-weight:600;margin:0}.modal-close{background:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:4px;padding:4px;display:flex;align-items:center;justify-content:center;transition:.2s}.modal-close:hover{background:#f1f5f9;color:var(--text-main)}.modal-body{padding:20px;overflow-y:auto;min-height:0;flex:1}.modal-footer{padding:16px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px;background:#f8fafc;border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius)}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.text-sm{font-size:14px}.text-xs{font-size:12px}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.text-muted{color:var(--text-muted)}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.flex-1{flex:1}.gap-2{gap:8px}.gap-4{gap:16px}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mb-2{margin-bottom:8px}.mb-4{margin-bottom:16px}.w-full{width:100%}.error-msg{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;padding:12px;border-radius:6px;font-size:14px;margin-bottom:16px}.loading-msg{padding:24px;text-align:center;color:var(--text-muted);font-size:14px}.empty-msg{padding:48px 24px;text-align:center;color:var(--text-muted);font-size:14px}.stat-card{display:flex;align-items:center;justify-content:space-between}.stat-value{font-size:24px;font-weight:600;margin-top:4px}.stat-icon-wrapper{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center}.stat-icon-wrapper.blue{background:#3b82f61a;color:#3b82f6}.stat-icon-wrapper.emerald{background:#10b9811a;color:#10b981}.stat-icon-wrapper.cyan{background:#06b6d41a;color:#06b6d4}.stat-icon-wrapper.purple{background:#a855f71a;color:#a855f7}.search-wrapper{position:relative;width:280px}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--text-muted);pointer-events:none}.search-input{padding-left:36px;height:40px;margin:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.table-customers{min-width:720px}.table-deployments{min-width:960px}.table-licenses{min-width:980px}.table-audit{min-width:900px}.table-customers th:nth-child(1){width:30%}.table-customers th:nth-child(2){width:32%}.table-deployments th:nth-child(1){width:24%}.table-deployments th:nth-child(2){width:18%}.table-deployments th:nth-child(3){width:24%}.table-licenses th:nth-child(1){width:24%}.table-licenses th:nth-child(2){width:24%}.table-licenses th:last-child{width:88px}.table-audit th:first-child{width:180px}.table-audit th:nth-child(2){width:170px}.table-audit th:last-child{width:190px}.table-deployments .gap-2{flex-wrap:wrap}.table .badge.cell-break{max-width:100%;white-space:normal}.cell-note{max-width:300px;color:var(--text-muted);line-height:1.4}.cell-break{overflow-wrap:anywhere;word-break:break-word}.cell-secondary{display:block;margin-top:4px;color:var(--text-muted);font-size:12px}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px;border-top:1px solid var(--border);padding-top:16px}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--success);margin-right:8px;box-shadow:0 0 6px #10b98199}.uppercase{text-transform:uppercase}.link-accent{color:var(--accent);text-decoration:none}.link-accent:hover{text-decoration:underline}@media(max-width:700px){.page-container{padding:16px;gap:16px}.page-header{align-items:stretch;flex-direction:column}.page-header>.search-wrapper,.page-header>.flex{width:100%}.page-header>.flex{justify-content:flex-end}.search-wrapper{width:100%}.modal-overlay{padding:8px;align-items:flex-end}.modal-content,.modal-content.modal-lg{max-width:100%;max-height:calc(100vh - 16px)}.modal-header,.modal-body,.modal-footer{padding-left:16px;padding-right:16px}.form-grid{grid-template-columns:minmax(0,1fr);gap:16px}.modal-footer{flex-wrap:wrap}.modal-footer .btn{flex:1 1 140px}}@media(min-width:701px)and (max-width:1024px){.page-container{padding:20px}.table th,.table td{padding-left:12px;padding-right:12px}}
