:root{--bs-primary:#95c11f;--bs-secondary:#005255;--bs-warning:orange;--bs-danger:#d32f2f;--bs-black:#000;--bs-white:#fff;--bg:#f2f5f5;--surface:#fff;--surface-2:#f8fafa;--ink:#0a1a1b;--ink-2:#3a4a4b;--ink-3:#5a6a6b;--border:#d6dcdc;--border-strong:#b9c2c2;--primary-ink:#3d5410;--primary-tint:#eef6da;--secondary-tint:#d9e7e7;--warning-ink:#8a5a00;--warning-tint:#fff1d6;--danger-ink:#a01e1e;--danger-tint:#fbdedd;--error:#c62828;--error-tint:#fbdedd;--neutral-tint:#e9eded;--focus:#005255;--focus-shadow:0 0 0 2px #00525540;--radius-sm:6px;--radius:10px;--radius-lg:14px;--shadow-card:0 1px 2px #0a1a1b0a, 0 1px 1px #0a1a1b08}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:Manrope,system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px}:focus-visible:not(input):not(textarea):not(select){box-shadow:var(--focus-shadow);border-radius:var(--radius-sm);outline:none}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{background:var(--bs-secondary);color:var(--bs-white);border-radius:var(--radius);z-index:1000;padding:10px 14px;font-weight:700;position:absolute;top:8px;left:-9999px}.skip-link:focus{left:8px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.app{min-height:100vh;display:block}.page{padding:28px 28px 40px}.crumbs{color:var(--ink-3);align-items:center;gap:8px;min-width:0;margin:0 0 12px;font-size:12px;font-weight:600;display:flex;overflow:hidden}.crumbs .sep{opacity:.6;flex-shrink:0}.crumbs span,.crumbs button{flex-shrink:0}.crumbs .current{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex-shrink:1;min-width:0;overflow:hidden}.page-head{flex-wrap:wrap;align-items:flex-end;gap:14px;margin-bottom:24px;display:flex}.page-head h1{letter-spacing:-.5px;margin:0;font-size:28px;font-weight:800}.page-head .subtitle{color:var(--ink-3);margin-bottom:4px;font-size:14px;font-weight:500}.page-actions{gap:10px;margin-left:auto;display:flex}.btn{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);height:38px;color:var(--ink);white-space:nowrap;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex}.btn:hover{background:var(--surface-2);border-color:var(--border-strong)}.btn.primary{background:var(--bs-primary);color:var(--bs-white);border-color:var(--bs-primary)}.btn.primary:hover{filter:brightness(85%)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}@media (width<=768px){.page{padding:20px 16px 32px}.page-head{margin-bottom:16px}.page-head h1{font-size:22px}.page-actions{flex-wrap:wrap;width:100%;margin-left:0}.page-actions .btn{flex:1;justify-content:center;min-width:140px}}@media (width<=480px){.page{padding:14px 12px 24px}.page-head h1{font-size:20px}}.field{flex-direction:column;gap:6px;display:flex}.field>label{color:var(--ink-2);font-size:12px;font-weight:700}.input,.textarea,.select{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;padding:10px 12px;font-size:14px}.input:focus,.textarea:focus,.select:focus{border-color:var(--bs-secondary);outline:none}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%235a6a6b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.textarea{resize:vertical;min-height:110px}.input[type=date]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.input-error{border-color:var(--error)!important}.input-error:focus{box-shadow:0 0 0 1px var(--error)}.field-error{color:var(--error);margin-top:-2px;font-size:12px;font-weight:500}.field-float{padding-top:10px;position:relative}.field-float>label{letter-spacing:.2px;color:var(--ink-2);background:var(--surface);pointer-events:none;white-space:nowrap;padding:0 4px;font-size:11px;font-weight:700;line-height:1.2;transition:color .15s;position:absolute;top:10px;left:10px;transform:translateY(-50%)}.field-float:focus-within>label{color:var(--bs-secondary)}.field-float:has(.input-error)>label{color:var(--error)}.field-float>.field-error{color:var(--error);margin-top:4px;font-size:12px;font-weight:500;display:block}.field-float.field-float--select{padding-top:14px}.field-float.field-float--select>label{top:14px}.segmented{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);width:fit-content;padding:3px;display:inline-flex}.segmented button{font:inherit;color:var(--ink-2);border-radius:6px;padding:6px 14px;font-size:13px;font-weight:700}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #0a1a1b14}body[data-density=compact]{font-size:13px}body[data-density=compact] .tenants td,body[data-density=compact] .tenants th{padding:8px 14px}body[data-density=compact] .kpi{min-height:92px;padding:14px 16px}body[data-density=compact] .kpi .value{font-size:22px}body[data-density=compact] .topbar{height:56px;padding:0 22px}body[data-density=compact] .page{padding:18px 22px 28px}body[data-density=compact] .page-head{margin-bottom:16px}body[data-density=compact] .toolbar{padding:10px 16px}body[data-density=compact] .tenant-avatar{width:24px;height:24px;font-size:10px}body[data-density=roomy]{font-size:15px}body[data-density=roomy] .tenants td{padding:20px 22px}body[data-density=roomy] .tenants th{padding:16px 22px}body[data-density=roomy] .kpi{min-height:132px;padding:26px}body[data-density=roomy] .kpi .value{font-size:34px}body[data-density=roomy] .page{padding:36px 36px 56px}body[data-density=roomy] .page-head{margin-bottom:32px}body[data-density=roomy] .page-head h1{font-size:34px}body[data-density=roomy] .toolbar{padding:18px 24px}body[data-density=roomy] .tenant-avatar{width:36px;height:36px;font-size:12px}body[data-palette=inkwell]{--bs-primary:#1a1a1a;--bs-secondary:#000;--bg:#ededed;--surface:#fff;--surface-2:#f4f4f4;--ink:#0a0a0a;--ink-2:#3a3a3a;--ink-3:#6a6a6a;--border:#cfcfcf;--border-strong:#9a9a9a;--primary-ink:#0a0a0a;--primary-tint:#e3e3e3;--secondary-tint:#d6d6d6;--neutral-tint:#e6e6e6;--focus:#000;--focus-shadow:0 0 0 3px #00000059}body[data-palette=solstice]{--bs-primary:#d49a3a;--bs-secondary:#3a2a1d;--bg:#f5efe3;--surface:#fbf6ea;--surface-2:#f0e8d6;--ink:#2a1d10;--ink-2:#5a4636;--ink-3:#7a6855;--border:#ddd0b6;--border-strong:#bba98a;--primary-ink:#6a4a10;--primary-tint:#f3e4bf;--secondary-tint:#e8dcc9;--neutral-tint:#ebe1cb;--focus:#3a2a1d;--focus-shadow:0 0 0 3px #3a2a1d59}body[data-surface=soft]{--radius:14px;--radius-lg:20px;--shadow-card:0 12px 32px #0a1a1b14, 0 2px 6px #0a1a1b0a}body[data-surface=soft] .kpi,body[data-surface=soft] .card{box-shadow:var(--shadow-card);border-color:#0000}body[data-surface=soft] .topbar{border-bottom-color:#0000;box-shadow:0 4px 14px #0a1a1b0a}body[data-surface=soft] .tenants td{border-bottom:0}body[data-surface=soft] .tenants tbody tr+tr td{border-top:1px solid var(--neutral-tint)}body[data-surface=soft] .filter,body[data-surface=soft] .user-chip,body[data-surface=soft] .btn{background:var(--surface-2);border-color:#0000}body[data-surface=soft] .btn.primary{background:var(--bs-secondary)}body[data-surface=outlined]{--radius-sm:3px;--radius:4px;--radius-lg:4px;--border:#0a1a1b;--border-strong:#0a1a1b}body[data-surface=outlined] .kpi,body[data-surface=outlined] .card{box-shadow:4px 4px 0 var(--bs-secondary);border-width:2px}body[data-surface=outlined] .topbar{border-bottom-width:2px}body[data-surface=outlined] .filter,body[data-surface=outlined] .btn,body[data-surface=outlined] .user-chip{border-width:2px}body[data-surface=outlined] .badge{border:1.5px solid;padding:3px 9px}body[data-surface=outlined] .tenant-avatar{border:2px solid var(--ink);border-radius:50%}.topbar{background:var(--bs-secondary);border-bottom:1px solid var(--border);align-items:center;gap:16px;height:64px;padding:0 28px;display:flex}.top-right{align-items:center;gap:10px;margin-left:auto;display:flex}.user-chip{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:8px;height:36px;padding:3px 10px 3px 3px;display:flex}.user-chip .name{margin-top:3px;font-size:12px;font-weight:700;line-height:1}.user-chip .role{color:var(--ink-3);margin-top:2px;font-size:10px;line-height:1;display:block}.avatar{background:var(--bs-secondary);width:26px;height:26px;color:var(--bs-white);border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:800;display:grid}.user-menu{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);z-index:50;width:280px;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 12px 32px #0a1a1b24}.user-menu-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 16px 10px;display:flex}.user-menu-header .user-menu-title{color:var(--ink);font-size:13px;font-weight:700}.user-menu-header .user-menu-close{color:var(--ink-3);padding:0 2px;font-size:20px;line-height:1}.user-menu-header .user-menu-close:hover{color:var(--ink)}.user-menu-body{flex-direction:column;align-items:center;gap:6px;padding:20px 16px 16px;display:flex}.user-menu-avatar{margin-bottom:4px;width:52px!important;height:52px!important;font-size:18px!important}.user-menu-name{color:var(--ink);text-align:center;font-size:17px;font-weight:800}.user-menu-role{color:var(--ink-3);text-align:center;font-size:12px}.user-menu-company{color:var(--ink-2);border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--border);align-items:center;gap:7px;margin-top:8px;padding:6px 14px;font-size:14px;font-weight:700;display:flex}.user-menu-foot{flex-direction:column;gap:8px;padding:0 16px 16px;display:flex}.user-menu-manage{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);width:100%;color:var(--ink);justify-content:center;align-items:center;padding:8px 16px;font-size:13px;font-weight:700;transition:background .15s,color .15s,border-color .15s;display:flex}.user-menu-manage:hover{background:var(--bs-secondary);color:#fff;border-color:var(--bs-secondary)}.user-menu-logout{border-radius:var(--radius-sm);background:var(--bs-danger);color:#fff;justify-content:center;align-items:center;gap:7px;width:100%;padding:8px 16px;font-size:13px;font-weight:700;display:flex}.user-menu-logout:hover{opacity:.9}@media (width<=768px){.topbar{gap:12px;padding:0 16px}.user-chip{background:0 0;border-color:#0000;padding:4px}.user-chip .name{display:none!important}.user-chip .role{display:none}.user-chip .avatar{background:var(--bs-white);color:var(--bs-secondary)}}@media (width<=480px){.topbar{gap:8px;padding:0 12px}}.kpi-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}@media (width<=600px){.kpi-row{grid-template-columns:1fr;gap:10px}}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);min-height:108px;padding:18px 20px}.kpi h2{letter-spacing:.6px;text-transform:uppercase;color:var(--ink-3);margin:0 0 8px;font-size:11px;font-weight:700}.kpi .value{letter-spacing:-.5px;align-items:baseline;gap:6px;font-size:28px;font-weight:800;display:flex}.kpi .kpi-sub{color:var(--ink-3);letter-spacing:0;font-size:14px;font-weight:500}.filters{gap:8px;margin-left:auto;display:flex}.filter{border-radius:var(--radius-sm);background:var(--bg);border:1px solid var(--border);align-items:center;gap:6px;height:30px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.filter:hover{background:var(--surface);border-color:var(--border-strong)}.filter b{color:var(--bs-secondary)}.filter .chev{color:var(--ink-3)}.filter.active{background:var(--primary-tint);color:var(--primary-ink);border-color:#c5d98e}.filter.active b,.filter.active .chev{color:var(--primary-ink)}.tenant-cell{align-items:center;gap:12px;display:flex}.tenant-avatar{border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:11px;font-weight:800;display:grid}.tenant-name{color:var(--ink);font-weight:700}.tenant-sub{color:var(--ink-3);margin-top:2px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px}.badge{border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:800;display:inline-flex}.badge .b-dot{border-radius:50%;width:6px;height:6px}.badge.active{color:#166534;background:#dcfce7}.badge.active .b-dot{background:#22c55e}.badge.warn{background:var(--warning-tint);color:var(--warning-ink)}.badge.warn .b-dot{background:var(--bs-warning)}.badge.danger{background:var(--danger-tint);color:var(--danger-ink)}.badge.danger .b-dot{background:var(--bs-danger)}.badge.trial{background:var(--secondary-tint);color:var(--bs-secondary)}.badge.trial .b-dot{background:var(--bs-secondary)}.badge.expired{background:var(--neutral-tint);color:var(--ink-2)}.badge.expired .b-dot{background:var(--ink-3)}.badge.inactive{color:#9a3412;background:#ffedd5}.badge.inactive .b-dot{background:#f97316}.seats{flex-direction:column;gap:6px;min-width:140px;display:flex}.seats .nums{font-weight:600}.seats .nums small{color:var(--ink-3);margin-left:4px;font-weight:500}.renewal .when{font-weight:600}.renewal.danger .when{color:var(--danger-ink)}.renewal small{color:var(--ink-3);margin-top:2px;font-size:11px;display:block}.usage-bar{background:var(--neutral-tint);border-radius:3px;width:100%;height:6px;overflow:hidden}.usage-bar>span{background:var(--bs-primary);height:100%;display:block}.usage-bar.warn>span{background:var(--bs-warning)}.usage-bar.danger>span{background:var(--bs-danger)}.row-actions{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--ink-3);place-items:center;display:inline-grid}.row-actions:hover{background:var(--neutral-tint);color:var(--ink)}.row-menu{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);z-index:200;min-width:160px;overflow:hidden;box-shadow:0 8px 24px #0a1a1b1f}.row-menu-item{text-align:left;width:100%;color:var(--ink);padding:9px 14px;font-size:13px;font-weight:600;display:block}.row-menu-item:hover{background:var(--surface-2)}.row-menu-item.danger{color:var(--danger-ink)}.row-menu-item.danger:hover{background:var(--danger-tint)}.sort-btn{font:inherit;letter-spacing:.6px;text-transform:uppercase;color:var(--ink-3);cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:5px;padding:0;font-size:11px;font-weight:700;display:inline-flex}.sort-btn:hover,.sort-btn.active{color:var(--ink)}.sort-btn .sort-icon{opacity:.5;font-size:10px}.sort-btn.active .sort-icon{opacity:1;color:var(--bs-primary)}.btn-clear-filters{font:inherit;color:var(--ink-3);border-radius:var(--radius);border:1px solid var(--border);cursor:pointer;white-space:nowrap;background:0 0;padding:4px 10px;font-size:12px;font-weight:600}.btn-clear-filters:hover{color:var(--ink);border-color:var(--border-strong);background:var(--surface-2)}.toolbar{border-bottom:1px solid var(--border);align-items:center;gap:16px;padding:14px 20px;display:flex}.toolbar-search{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);min-width:260px;height:34px;color:var(--ink-3);align-items:center;gap:8px;padding:0 10px;display:flex}.toolbar-search:focus-within{background:var(--surface);border-color:var(--bs-secondary);box-shadow:var(--focus-shadow)}.toolbar-search input{font:inherit;color:var(--ink);background:0 0;border:0;outline:none;flex:1;min-width:0;font-size:13px}.toolbar-search input::placeholder{color:var(--ink-3)}table.tenants{border-collapse:collapse;width:100%;font-size:13px}.tenants th{text-align:left;letter-spacing:.6px;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--border);background:var(--surface-2);z-index:1;padding:12px 16px;font-size:11px;font-weight:700;position:sticky;top:0}.tenants td{vertical-align:middle;border-bottom:1px solid var(--neutral-tint);padding:14px 16px}.tenants tbody tr{height:64px}.tenants tbody tr:last-child td{border-bottom:0}.tenants tbody tr:hover td{background:var(--surface-2)}.table-foot{background:var(--surface-2);border-top:1px solid var(--border);color:var(--ink-3);justify-content:space-between;align-items:center;padding:12px 20px;font-size:12px;display:flex}.pager{align-items:center;gap:4px;display:flex}.pager button{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);justify-content:center;align-items:center;min-width:28px;height:28px;padding:0 8px;font-size:12px;font-weight:700;display:inline-flex}.pager button[aria-current=page]{background:var(--bs-secondary);color:var(--bs-white);border-color:var(--bs-secondary)}.pager button:disabled{opacity:.5;cursor:not-allowed}.pager .ellipsis{color:var(--ink-3);padding:0 4px}.empty-state{text-align:center;color:var(--ink-3);padding:40px 20px}.page-size-label{color:var(--ink-3);white-space:nowrap;align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.page-size-select{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%235a6a6b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 5px center;background-repeat:no-repeat;padding:4px 22px 4px 6px;font-size:12px;font-weight:700}.page-size-select:focus{border-color:var(--border);box-shadow:none;outline:none}@media (width<=768px){.toolbar{flex-direction:column;align-items:stretch;gap:10px;padding:12px 16px}.toolbar-search{width:100%;min-width:0}.filters{flex-wrap:wrap;gap:8px;display:flex}.table-foot{flex-direction:column;align-items:flex-start;gap:10px;padding:12px 16px}.table-foot>div:last-child{justify-content:space-between;width:100%}}.form-page{max-width:1100px;margin:0 auto}.form-tabs{border-bottom:none;gap:4px;margin:18px 0 20px;display:flex}.form-tab{color:var(--ink-3);border-radius:6px 6px 0 0;padding:10px 14px;font-size:15px;font-weight:600;position:relative}.form-tab:hover{color:var(--ink)}.form-tab[aria-selected=true]{color:var(--bs-secondary);font-weight:800}.form-tab[aria-selected=true]:after{content:"";background:var(--bs-secondary);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:12px;right:12px}.tab-error-dot{vertical-align:middle;background:#d9534f;border-radius:50%;width:6px;height:6px;margin-left:6px;display:inline-block;position:relative;top:-1px}.form-grid{grid-template-columns:1fr 1fr;gap:16px 20px;display:grid}.form-grid .full{grid-column:1/-1}.lic-table-wrap{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:4px;overflow:hidden}.lic-table{border-collapse:collapse;width:100%;font-size:13px}.lic-table th,.lic-table td{border-bottom:1px solid var(--border);text-align:left;padding:10px 14px}.lic-table thead tr{background:var(--surface-2)}.lic-table th{letter-spacing:.6px;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:700}.lic-table tbody tr td{background:var(--surface)}.lic-table tbody tr:last-child td{border-bottom:0}.lic-table tbody tr:hover td{background:var(--surface-2)}.lic-table input,.lic-table select{font:inherit;border:1px solid var(--border);background:var(--bg);width:100%;color:var(--ink);border-radius:6px;padding:6px 8px;font-size:13px}.lic-table input:focus,.lic-table select:focus{border-color:var(--bs-secondary);box-shadow:var(--focus-shadow);background:var(--surface);outline:none}.lic-table select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%235a6a6b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;padding-right:28px}.lic-table .num-input{max-width:90px}.lic-table input[type=date]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.lic-row-saved td{background:var(--surface-2)}.lic-saved-value{color:var(--ink-3);padding:6px 0;font-size:13px;font-weight:600;display:block}.lic-remove-btn{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--danger-ink);background:var(--danger-tint);place-items:center;font-size:16px;font-weight:700;line-height:1;display:inline-grid}.lic-remove-btn:hover{background:var(--bs-danger);color:var(--bs-white)}.lic-empty{text-align:center;color:var(--ink-3);background:var(--surface-2);border-radius:var(--radius);border:1px dashed var(--border);padding:32px}@media (width<=768px){.lic-table-wrap{overflow-x:auto}.lic-table{min-width:480px}}@media (width<=640px){.form-grid{grid-template-columns:1fr}}@media (width<=480px){.form-tabs{scrollbar-width:none;gap:0;overflow-x:auto}.form-tabs::-webkit-scrollbar{display:none}.form-tab{white-space:nowrap;padding:10px;font-size:12px}.lic-table th,.lic-table td{padding:8px 10px}}.modal-backdrop{z-index:100;background:#0a1a1b73;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--radius-lg);width:min(520px,100%);overflow:hidden;box-shadow:0 24px 48px #0a1a1b2e}.modal--wide{width:min(640px,100%)}.modal-head{border-bottom:1px solid var(--border);padding:18px 22px 12px}.modal-head h2{margin:0;font-size:17px;font-weight:800}.modal-head p{color:var(--ink-3);margin:4px 0 0;font-size:12px}.modal-body{flex-direction:column;gap:14px;padding:18px 22px;display:flex}.modal-foot{background:var(--surface-2);border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding:14px 22px;display:flex}@media (width<=480px){.modal-head{padding:14px 16px 10px}.modal-body{padding:14px 16px}.modal-foot{padding:12px 16px}.modal-foot .btn{flex:1;justify-content:center}}.snackbar{z-index:500;border-radius:var(--radius);white-space:nowrap;pointer-events:none;align-items:center;gap:10px;padding:12px 18px;font-size:13px;font-weight:600;animation:.2s snackbar-in;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0a1a1b2e}.snackbar.success{background:var(--ink);color:var(--bs-white)}.snackbar.error{background:var(--bs-danger);color:var(--bs-white)}@keyframes snackbar-in{0%{opacity:0;transform:translate(-50%)translateY(10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.lang-chip{height:36px;color:var(--bs-white);border-radius:var(--radius);background:#ffffff1a;border:1px solid #ffffff2e;align-items:center;gap:8px;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.lang-chip:hover{background:#ffffff2e}.lang-pop{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);z-index:50;min-width:180px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 32px #0a1a1b29}.lang-pop button{text-align:left;width:100%;color:var(--ink);border-radius:6px;align-items:center;gap:10px;padding:8px 10px;font-size:13px;font-weight:600;display:flex}.lang-pop button:hover{background:var(--surface-2)}.lang-pop [aria-current=true] button{background:var(--primary-tint);color:var(--primary-ink);font-weight:800}.lang-flag{background:var(--bs-secondary);width:22px;height:16px;color:var(--bs-white);letter-spacing:.4px;border-radius:3px;place-items:center;font-size:9px;font-weight:800;display:inline-grid}.login-page{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.login-main{flex:1;place-items:center;padding:40px 20px;display:grid}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);flex-direction:column;gap:28px;width:min(420px,100%);padding:36px 32px 40px;display:flex}.login-head h1{letter-spacing:-.4px;color:var(--ink);margin:0 0 6px;font-size:22px;font-weight:800}.login-head p{color:var(--ink-3);margin:0;font-size:13px;line-height:1.5}.login-form{flex-direction:column;gap:20px;display:flex}.login-submit{justify-content:center;width:100%;height:42px;font-size:14px}.login-error{color:var(--danger-ink);font-size:12px;font-weight:600}.login-footer{border-top:1px solid var(--border);background:var(--surface);padding:24px 28px}.login-footer-inner{flex-wrap:wrap;align-items:center;gap:32px;max-width:900px;margin:0 auto;display:flex}.login-footer-brand{color:var(--ink-3);flex-direction:column;gap:3px;font-size:12px;display:flex}.login-footer-brand strong{color:var(--ink);font-weight:700}.login-footer-brand a{color:var(--bs-secondary);text-decoration:none}.login-footer-brand a:hover{text-decoration:underline}.login-footer-links{gap:20px;font-size:12px;display:flex}.login-footer-links a{color:var(--ink-3);font-weight:600;text-decoration:none}.login-footer-links a:hover{color:var(--ink)}.login-footer-copy{color:var(--ink-3);margin:0 0 0 auto;font-size:11px}.billing-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}@media (width<=900px){.billing-grid{grid-template-columns:1fr}}.billing-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;display:flex;overflow:hidden}.billing-card-head{background:var(--bs-secondary);color:#fff;align-items:center;gap:8px;padding:12px 16px;font-size:14px;font-weight:700;display:flex}.billing-section{border-bottom:1px solid var(--border);padding:16px}.billing-section--last{border-bottom:none}.billing-section--grow{background:var(--surface);border-bottom:none;flex:1}.billing-section-label{color:var(--ink-2);align-items:center;gap:6px;margin-bottom:12px;font-size:13px;font-weight:700;display:flex}.billing-plan-actions{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.billing-plan-text{color:var(--ink-2);margin-bottom:4px;font-size:13px}.billing-change-plan{background:var(--bs-secondary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:none;flex-shrink:0;padding:7px 14px;font-size:13px;font-weight:700}.billing-change-plan:hover{opacity:.9}.billing-rows{margin-bottom:4px}.billing-row{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:9px 0;display:flex}.billing-row:last-child{border-bottom:none}.billing-row-icon{color:var(--ink-3);flex-shrink:0;align-items:center;display:flex}.billing-row-label{color:var(--ink-2);flex:1;font-size:13px}.billing-row-value{color:var(--ink);font-size:13px;font-weight:500}.billing-update-btn{background:var(--bs-secondary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;width:fit-content;margin:14px auto 0;padding:9px 26px;font-size:13px;font-weight:700;display:block}.billing-update-btn:hover{opacity:.9}.billing-no-data{color:var(--ink-3);text-align:center;padding:6px 0;font-size:13px}.billing-resource-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.billing-resource-header{color:var(--ink-2);justify-content:space-between;margin-bottom:6px;font-size:12px;font-weight:600;display:flex}.billing-progress-track{background:var(--border);border-radius:4px;height:8px;margin-bottom:4px;overflow:hidden}.billing-progress-fill{background:var(--bs-secondary);border-radius:4px;height:100%}.billing-progress-pct{color:var(--ink-3);font-size:11px}.billing-warning{border-radius:var(--radius-sm);text-align:center;background:#fff8ec;border:1px solid orange;padding:24px 16px}.billing-warning-icon{color:orange;margin-bottom:10px;font-size:26px}.billing-warning-title{color:var(--ink);margin-bottom:8px;font-size:13px;font-weight:600}.billing-warning-text{color:var(--ink-2);font-size:12px;line-height:1.6}@media (width<=600px){.billing-plan-actions{flex-direction:column}.billing-plan-actions .billing-change-plan{text-align:center;width:100%}.billing-resource-grid{grid-template-columns:1fr}.billing-rows .billing-row-value{text-align:right;word-break:break-word;max-width:50%}}
