:root{--fw-radius:0.75rem;--fw-radius-lg:1rem;--fw-transition:color 0.15s ease,background-color 0.15s ease,border-color 0.15s ease,box-shadow 0.15s ease;--fw-danger:#f87171;--fw-tertiary-bg:var(--surface-2)}.card{background:rgba(22,25,28,.7);border:1px solid var(--border);border-radius:1rem;backdrop-filter:blur(2px)}.card-body{padding:1.25rem}.card-header{padding:.875rem 1.25rem;border-bottom:1px solid var(--border)}.card-header,.card-title{font-weight:600;color:#fff}.card-title{margin-bottom:.5rem;font-size:1rem}.card-text{color:var(--text-muted)}.btn,.card-text{font-size:.875rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.125rem;font-weight:600;line-height:1.4;text-decoration:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:1px solid transparent;border-radius:.75rem;transition:var(--fw-transition);white-space:nowrap}.btn:disabled{opacity:.55;pointer-events:none}.btn-primary{color:#041006;background:linear-gradient(180deg,#14e42c 0,var(--skiz) 55%,var(--skiz-hover) 100%);box-shadow:0 1px 0 hsla(0,0%,100%,.28) inset,0 8px 28px -10px rgba(var(--skiz-rgb),.55)}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 1px 0 hsla(0,0%,100%,.32) inset,0 12px 34px -10px rgba(var(--skiz-rgb),.75)}.btn-outline-secondary,.btn-secondary{color:#fff;background:hsla(0,0%,100%,.03);border-color:var(--border-strong)}.btn-outline-secondary:hover:not(:disabled),.btn-secondary:hover:not(:disabled){background:hsla(0,0%,100%,.06);border-color:rgba(var(--skiz-rgb),.35)}.btn-outline-danger{color:#fca5a5;background:transparent;border-color:hsla(0,91%,71%,.4)}.btn-outline-danger:hover:not(:disabled){color:#fff;background:hsla(0,91%,71%,.15)}.btn-sm{padding:.4rem .75rem;font-size:.8125rem;border-radius:.625rem}.form-control,.form-select{width:100%;padding:.625rem .875rem;font-size:.875rem;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:.75rem;transition:border-color .15s ease,box-shadow .15s ease}.form-control:focus,.form-select:focus{outline:none;border-color:rgba(var(--skiz-rgb),.5);box-shadow:0 0 0 3px rgba(var(--skiz-rgb),.12)}.form-control::-moz-placeholder{color:var(--text-dim)}.form-control::placeholder{color:var(--text-dim)}.form-label{display:block;margin-bottom:.35rem;font-size:.8125rem;font-weight:500;color:var(--text-muted)}.alert{padding:.875rem 1rem;border-radius:.75rem;border:1px solid transparent;font-size:.875rem}.alert-danger{color:#fecaca;background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.25)}.alert-success{color:#bbf7d0;background:rgba(var(--skiz-rgb),.08);border-color:rgba(var(--skiz-rgb),.25)}.alert-warning{color:#fde68a;background:rgba(245,158,11,.1);border-color:rgba(245,158,11,.25)}.alert-info{color:#bae6fd;background:rgba(56,189,248,.08);border-color:rgba(56,189,248,.2)}.stats-grid{display:grid;gap:1rem;grid-template-columns:1fr}@media (min-width:640px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1280px){.stats-grid{grid-template-columns:repeat(4,1fr)}}.stat-card{padding:1.25rem;background:rgba(22,25,28,.7);border:1px solid var(--border);border-radius:1rem;transition:var(--fw-transition)}.stat-card:hover{border-color:rgba(var(--skiz-rgb),.3)}.stat-label{font-size:.8125rem;color:var(--text-muted)}.stat-value{margin-top:.35rem;font-size:1.75rem;font-weight:700;font-family:var(--font-display,inherit);color:#fff}.stat-sub{margin-top:.25rem;font-size:.8125rem;color:var(--text-dim)}.stat-icon{justify-content:center;width:2.5rem;height:2.5rem;border-radius:.75rem;background:rgba(var(--skiz-rgb),.1);color:var(--skiz)}.page-toolbar,.stat-icon{display:flex;align-items:center}.page-toolbar{flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem}.nav-link{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .85rem;border-radius:.625rem;border:1px solid var(--border);background:transparent;color:var(--text-muted);font-size:.875rem;font-weight:500;cursor:pointer;text-decoration:none;transition:var(--fw-transition)}.nav-link.active,.nav-link:hover{color:var(--skiz);border-color:rgba(var(--skiz-rgb),.35);background:rgba(var(--skiz-rgb),.08)}.table-wrap{overflow:auto;border-radius:1rem;border:1px solid var(--border)}.table{width:100%;border-collapse:collapse;font-size:.875rem}.table td,.table th{padding:.65rem .85rem;border-bottom:1px solid var(--border);text-align:left}.table-dark th{background:var(--surface);font-weight:600}.table-dark th,.text-muted{color:var(--text-muted)}.text-primary{color:var(--skiz)}.text-success{color:#4ade80}.text-danger{color:#f87171}.font-mono{font-family:ui-monospace,monospace;font-size:.8125rem}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:3rem;color:var(--text-muted)}.spinner-border{width:2rem;height:2rem;border:2px solid rgba(var(--skiz-rgb),.2);border-top-color:var(--skiz);border-radius:50%;animation:portalSpin .7s linear infinite}@keyframes portalSpin{to{transform:rotate(1turn)}}@keyframes portalFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:portalFadeIn .35s ease-out}.badge{padding:.2rem .5rem;font-weight:600;letter-spacing:.03em}.badge,.badge-status{display:inline-flex;align-items:center;font-size:.6875rem;border-radius:999px;text-transform:uppercase}.badge-status{justify-content:center;gap:.35rem;padding:.4rem .85rem;min-height:1.65rem;font-weight:700;line-height:1;text-align:center;letter-spacing:.04em;border:1px solid transparent;box-sizing:border-box;vertical-align:middle}.badge-status i,.badge-status svg{display:block;flex-shrink:0;line-height:0}.badge-status-active{color:#86efac;background:rgba(34,197,94,.15);border-color:rgba(34,197,94,.35)}.badge-status-pending{color:#fcd34d;background:rgba(245,158,11,.15);border-color:rgba(245,158,11,.4)}.badge-status-suspended{color:#fca5a5;background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.35)}.badge-status-disabled,.badge-status-expired{color:#9aa4ad;background:hsla(0,0%,100%,.06);border-color:var(--border-strong)}.badge-status-offline{color:#fca5a5;background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.35)}.badge-status-conflict{color:#fdba74;background:rgba(249,115,22,.15);border-color:rgba(249,115,22,.4)}.badge-feature{display:inline-flex;align-items:center;padding:.2rem .5rem;font-size:.6875rem;font-weight:600;border-radius:.375rem;color:var(--text-muted);background:hsla(0,0%,100%,.04);border:1px solid var(--border);text-transform:none;letter-spacing:0}.portal-btn-group{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end;align-items:center}.portal-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font-weight:600;line-height:1.2;border-radius:.625rem;border:1px solid transparent;cursor:pointer;transition:var(--fw-transition);white-space:nowrap;text-decoration:none}.portal-btn:disabled{opacity:.55;pointer-events:none}.portal-btn-sm{padding:.4rem .75rem;font-size:.8125rem}.portal-btn-md{padding:.55rem 1rem;font-size:.875rem}.portal-btn-icon{width:.875rem;height:.875rem;flex-shrink:0}.portal-btn-primary{color:#041006;background:linear-gradient(180deg,#14e42c 0,var(--skiz) 55%,var(--skiz-hover) 100%);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.28)}.portal-btn-primary:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.05)}.portal-btn-secondary{color:var(--text);background:hsla(0,0%,100%,.03);border-color:var(--border-strong)}.portal-btn-secondary:hover:not(:disabled){color:#fff;border-color:rgba(var(--skiz-rgb),.35);background:rgba(var(--skiz-rgb),.08)}.portal-btn-warning{color:#fcd34d;background:rgba(245,158,11,.08);border-color:rgba(245,158,11,.35)}.portal-btn-warning:hover:not(:disabled){color:#fde68a;background:rgba(245,158,11,.15);border-color:rgba(245,158,11,.5)}.portal-btn-danger{color:#fca5a5;background:rgba(239,68,68,.08);border-color:rgba(239,68,68,.35)}.portal-btn-danger:hover:not(:disabled){color:#fecaca;background:rgba(239,68,68,.15);border-color:rgba(239,68,68,.5)}.portal-btn-ghost{color:var(--text-muted);background:transparent;border-color:var(--border)}.portal-btn-ghost:hover:not(:disabled){color:#fff;background:hsla(0,0%,100%,.05)}.btn-outline-warning{color:#fcd34d;background:rgba(245,158,11,.08);border-color:rgba(245,158,11,.35)}.btn-outline-warning:hover:not(:disabled){background:rgba(245,158,11,.15)}.btn-danger{color:#fff;background:#dc2626;border-color:#dc2626}.btn-danger:hover:not(:disabled){background:#b91c1c}.license-card-highlight{box-shadow:0 0 0 1px rgba(var(--skiz-rgb),.45)}.license-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.5rem}.license-client{display:inline-flex;align-items:center;gap:.35rem;font-size:.875rem;color:var(--text-muted)}.license-client strong{color:var(--skiz);font-weight:600}.licenses-page{display:flex;flex-direction:column;gap:1.5rem}.licenses-controls{display:flex;flex-direction:column;gap:1rem;width:100%}.licenses-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;flex-wrap:wrap}.licenses-toolbar-search{flex:1 1 240px;max-width:360px;margin-left:auto}.licenses-list{display:flex;flex-direction:column;gap:1.5rem}.licenses-create-form{display:flex;flex-direction:column;gap:1rem}.bg-success{background:rgba(var(--skiz-rgb),.15);color:var(--skiz)}.bg-warning{background:rgba(245,158,11,.15);color:#fbbf24}.bg-danger{background:rgba(239,68,68,.15);color:#f87171}.bg-secondary{background:var(--surface-2);color:var(--text-muted)}.h6{font-size:.9375rem;font-weight:600;color:#fff}.page-title{font-size:1.5rem;font-weight:700;color:#fff}.w-100{width:100%}.me-1{margin-right:.25rem}.me-2{margin-right:.5rem}.ms-2{margin-left:.5rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mt-3{margin-top:.75rem}.p-2{padding:.5rem}.d-flex{display:flex}.align-items-center{align-items:center}.justify-content-between{justify-content:space-between}.flex-wrap{flex-wrap:wrap}.gap-2{gap:.5rem}.team-page{width:100%}.team-layout{display:grid;grid-template-columns:240px 1fr;gap:1rem;align-items:start}@media (max-width:900px){.team-layout{grid-template-columns:1fr}}.team-sidebar.card{padding:0;overflow:hidden}.team-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem;border-bottom:1px solid var(--border)}.team-sidebar-title{font-size:.6875rem;font-weight:700;letter-spacing:.08em;color:var(--text-muted)}.team-role-list{list-style:none;margin:0;padding:.5rem}.team-role-item{display:flex;align-items:center;gap:.625rem;width:100%;padding:.625rem .75rem;border:none;border-radius:.5rem;background:transparent;color:var(--text);cursor:pointer;transition:var(--fw-transition);text-align:left}.team-role-item.active,.team-role-item:hover{background:var(--fw-tertiary-bg)}.team-role-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.team-role-name{flex:1;min-width:0;font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-role-count{flex-shrink:0;font-size:.75rem;color:var(--text-muted);background:hsla(0,0%,100%,.06);border-radius:999px;padding:.1rem .45rem;line-height:1.2}.team-main{min-width:0;display:flex;flex-direction:column;gap:0}.team-role-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.team-role-toolbar-left,.team-role-toolbar-right{display:flex;align-items:center;gap:.5rem}.team-role-name-input{max-width:240px;background:transparent!important;border:none!important;box-shadow:none!important;font-weight:600;padding:0!important;color:#fff}.team-color-picker{width:32px;height:32px;padding:0;border:none;background:none;cursor:pointer;border-radius:.35rem;overflow:hidden}.team-color-picker::-webkit-color-swatch-wrapper{padding:0}.team-color-picker::-webkit-color-swatch{border:1px solid var(--border-strong);border-radius:.35rem}.team-perm-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.team-perm-header-actions{display:flex;flex-wrap:wrap;gap:.5rem}.team-perm-group{margin-bottom:1.25rem}.team-perm-group-label{font-size:.6875rem;font-weight:700;letter-spacing:.06em;color:var(--text-muted);margin:0 0 .625rem}.team-perm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.55rem 1rem}.team-perm-check{display:flex;align-items:center;gap:.5rem;font-size:.875rem;cursor:pointer;margin:0;color:var(--text);min-width:0}.team-perm-check input{flex-shrink:0;width:1rem;height:1rem;margin:0;accent-color:var(--skiz)}.team-perm-check span{line-height:1.3}.team-add-member{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.team-add-member .form-control{flex:1;min-width:180px}.team-member-list{list-style:none;margin:0;padding:0}.team-member-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.625rem 0;border-bottom:1px solid var(--border)}.team-member-item:last-child{border-bottom:none}.fw-modal-overlay{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:1rem;background:rgba(0,0,0,.65);backdrop-filter:blur(4px)}.fw-modal-card{width:100%;max-width:420px;padding:1.5rem;background:var(--surface);border:1px solid var(--border-strong);border-radius:1rem}.fw-modal-title{margin:0 0 .5rem;font-size:1.125rem;font-weight:600;color:#fff}.fw-modal-message{margin:0 0 1.25rem;font-size:.875rem;color:var(--text-muted)}