.btn{white-space:nowrap;border-radius:var(--radius);border:1px solid #0000;outline:none;justify-content:center;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;transition:all .15s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.btn:disabled{pointer-events:none;opacity:.5}.btn-size-default{height:2.5rem;padding:.5rem 1rem}.btn-size-sm{border-radius:calc(var(--radius) - 2px);height:2.25rem;padding:.25rem .75rem;font-size:.8125rem}.btn-size-lg{border-radius:calc(var(--radius) + 2px);height:2.75rem;padding:.5rem 2rem;font-size:.9375rem}.btn-size-icon{width:2.5rem;height:2.5rem;padding:0}.btn-default{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.btn-default:hover:not(:disabled),.btn-default:active:not(:disabled){background-color:hsl(var(--primary-press))}.btn-destructive{background-color:hsl(var(--destructive));color:hsl(var(--destructive-foreground))}.btn-destructive:hover:not(:disabled),.btn-destructive:active:not(:disabled){background-color:hsl(var(--destructive-press))}.btn-outline{border-color:hsl(var(--input));color:hsl(var(--foreground));background-color:#0000}.btn-outline:hover:not(:disabled){background-color:hsl(var(--accent));color:hsl(var(--accent-foreground))}.btn-secondary{background-color:hsl(var(--secondary));color:hsl(var(--secondary-foreground))}.btn-secondary:hover:not(:disabled){background-color:hsl(var(--secondary) / .8)}.btn-ghost{color:hsl(var(--foreground));background-color:#0000}.btn-ghost:hover:not(:disabled){background-color:hsl(var(--accent));color:hsl(var(--accent-foreground))}.btn-link{color:hsl(var(--primary-text));text-underline-offset:4px;background-color:#0000;text-decoration-line:underline}.btn-link:hover:not(:disabled){text-decoration-line:underline}.btn-loading{position:relative}.btn-spinner{width:1rem;height:1rem;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.btn-icon svg{width:1rem;height:1rem}.w-full{width:100%}
.input-wrapper{flex-direction:column;gap:.375rem;display:flex}.input-label{color:hsl(var(--foreground));font-size:.875rem;font-weight:500;line-height:1}.input-field{border-radius:var(--radius);border:1px solid hsl(var(--input));background-color:hsl(var(--card));width:100%;height:2.5rem;color:hsl(var(--foreground));padding:.5rem .75rem;font-size:.875rem;line-height:1.5;transition:border-color .15s,box-shadow .15s;display:flex}.input-field::placeholder{color:hsl(var(--muted-foreground))}.input-field:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary) / .18);outline:none}.input-field:disabled{cursor:not-allowed;opacity:.5;background-color:hsl(var(--muted))}.input-field.textarea{resize:vertical;height:auto;min-height:5rem}.input-wrapper.has-error .input-field{border-color:hsl(var(--destructive))}.input-wrapper.has-error .input-field:focus{border-color:hsl(var(--destructive));box-shadow:0 0 0 3px hsl(var(--destructive) / .18)}.input-error{color:hsl(var(--destructive));margin:0;font-size:.75rem}.input-help{color:hsl(var(--muted-foreground));margin:0;font-size:.75rem}
.badge{text-transform:capitalize;white-space:nowrap;border-radius:9999px;align-items:center;gap:.25rem;font-weight:500;display:inline-flex}.badge-xs{padding:2px 6px;font-size:.625rem}.badge-sm{padding:2px 8px;font-size:.6875rem}.badge-md{padding:4px 10px;font-size:.75rem}.badge-neutral{color:#5d5356;background-color:#f4efee}.badge-primary{background-color:hsl(var(--primary-wash));color:hsl(var(--primary-text))}.badge-success{color:#0e7c55;background-color:#e7f5ef}.badge-warning{color:#a65a05;background-color:#fdf0e3}.badge-danger{background-color:hsl(var(--destructive-wash));color:hsl(var(--destructive))}.badge-cancelled{color:hsl(var(--destructive));box-shadow:inset 0 0 0 1px hsl(var(--destructive));background-color:#0000}.badge-info{color:#5d5356;background-color:#efebea}.badge-purple{color:#6b21a8;background-color:#f3e8ff}.badge-dot-indicator{background-color:currentColor;border-radius:50%;width:6px;height:6px}
.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background-color:#00000080;justify-content:center;align-items:center;padding:1rem;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.modal{background-color:hsl(var(--card));border-radius:calc(var(--radius) + 4px);z-index:1001;flex-direction:column;width:100%;max-height:90vh;animation:.2s slideUp;display:flex;box-shadow:0 25px 50px -12px #00000040}.modal-sm{max-width:400px}.modal-md{max-width:520px}.modal-lg{max-width:680px}.modal-xl{max-width:1200px}.modal-header{border-bottom:1px solid hsl(var(--border));justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-title{color:hsl(var(--foreground));letter-spacing:-.02em;margin:0;font-size:1.125rem;font-weight:600}.modal-close{border-radius:calc(var(--radius) - 4px);width:32px;height:32px;color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:all .15s;display:flex}.modal-close:hover{background-color:hsl(var(--muted));color:hsl(var(--foreground))}.modal-close svg{width:20px;height:20px}.modal-body{flex:1;padding:1.5rem;overflow-y:auto}.modal-body .input-wrapper{margin-bottom:1rem}.modal-body .input-wrapper:last-child{margin-bottom:0}.modal-footer{border-top:1px solid hsl(var(--border));background-color:hsl(var(--background));border-radius:0 0 calc(var(--radius) + 4px) calc(var(--radius) + 4px);justify-content:flex-end;align-items:center;gap:.75rem;padding:1rem 1.5rem;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}
.searchable-select{min-width:180px;display:inline-block;position:relative}.searchable-select-input{border:1px solid hsl(var(--input));border-radius:calc(var(--radius) - 4px);width:100%;color:hsl(var(--foreground));background:hsl(var(--card));cursor:text;padding:.375rem 1.75rem .375rem .75rem;font-size:.875rem}.searchable-select-input:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary) / .18);outline:none}.searchable-select-input:disabled{background:hsl(var(--muted));cursor:not-allowed;opacity:.6}.searchable-select-chevron{color:hsl(var(--muted-foreground));pointer-events:auto;cursor:pointer;transition:transform .15s;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.searchable-select.open .searchable-select-chevron{transform:translateY(-50%)rotate(180deg)}.searchable-select.disabled .searchable-select-chevron{cursor:not-allowed}.searchable-select-menu{background:hsl(var(--popover));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 4px);z-index:30;max-height:240px;margin:0;padding:.25rem;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #00000014}.searchable-select-option{color:hsl(var(--popover-foreground));border-radius:calc(var(--radius) - 6px);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;padding:.4rem .6rem;font-size:.875rem;overflow:hidden}.searchable-select-option.highlighted{background:hsl(var(--primary-wash));color:hsl(var(--primary-text))}.searchable-select-option.selected{font-weight:600}.searchable-select-empty{color:hsl(var(--muted-foreground));text-align:center;padding:.5rem .6rem;font-size:.875rem}.searchable-select-create{border-top:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 6px);color:hsl(var(--primary-text));cursor:pointer;align-items:center;gap:.5rem;margin-top:.25rem;padding:.5rem .6rem;font-size:.875rem;font-weight:600;display:flex}.searchable-select-create:hover{background:hsl(var(--primary-wash))}.searchable-select-create span{font-size:1rem;line-height:1}
.table-wrapper{background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) + 2px);overflow:auto hidden}.data-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.data-table th.sortable:hover{color:hsl(var(--foreground))}.th-sort{align-items:center;gap:.25rem;display:inline-flex}.th-sort .sort-arrow{color:hsl(var(--muted-foreground));font-size:.625rem;line-height:1}.data-table th.sortable.active .sort-arrow{color:hsl(var(--primary-text))}.data-table{border-collapse:collapse;width:100%}.data-table thead{background-color:hsl(var(--background));border-bottom:1px solid hsl(var(--border))}.data-table th{text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground));text-align:left;white-space:nowrap;padding:.75rem 1rem;font-size:.6875rem;font-weight:600}.data-table td{color:hsl(var(--foreground));border-bottom:1px solid hsl(var(--muted));vertical-align:middle;padding:.875rem 1rem;font-size:.875rem}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr.clickable{cursor:pointer;transition:background-color .15s}.data-table tbody tr.clickable:hover{background-color:hsl(var(--background))}.table-empty{text-align:center;color:hsl(var(--muted-foreground));background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) + 2px);flex-direction:column;justify-content:center;align-items:center;padding:3rem 1.5rem;display:flex}.table-empty svg{opacity:.5;width:48px;height:48px;margin-bottom:1rem}.table-empty p{color:hsl(var(--muted-foreground));margin:0;font-size:.9375rem}
.not-provisioned{background:#faf7f6;justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.not-provisioned-card{text-align:center;color:#1a1416;background:#fff;border:1px solid #eae3e2;border-radius:14px;flex-direction:column;align-items:center;width:100%;max-width:26rem;padding:2.5rem 2rem;display:flex;box-shadow:0 1px 2px #1a14160f}.not-provisioned-logo{width:auto;height:32px;margin-bottom:2rem}.not-provisioned-icon{color:#6f6366;background:#f4efee;border-radius:50%;justify-content:center;align-items:center;width:3rem;height:3rem;margin-bottom:1.25rem;display:flex}.not-provisioned-icon svg{width:1.5rem;height:1.5rem}.not-provisioned-title{margin:0 0 .5rem;font-size:1.25rem;font-weight:600;line-height:1.75rem}.not-provisioned-message{color:#6f6366;margin:0 0 1.75rem;font-size:.9375rem;line-height:1.6}.not-provisioned-action{width:100%}@media (max-width:480px){.not-provisioned{align-items:flex-start;padding:3rem 1rem 1rem}.not-provisioned-card{padding:2rem 1.25rem}}
.dashboard{background:#faf7f6;min-height:100vh}.top-nav{z-index:100;background:#fff;border-bottom:1px solid #eae3e2;justify-content:space-between;align-items:center;height:64px;padding:0 1.5rem;display:flex;position:sticky;top:0}.nav-left{align-items:center;gap:2.5rem;display:flex}.nav-logo{align-items:center;gap:.625rem;text-decoration:none;display:flex}.logo-image{width:auto;height:30px}.nav-links{align-items:center;gap:.25rem;display:flex}.nav-link{color:#6f6366;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem .875rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.nav-link:hover:not(.disabled){color:#1a1416;background:#f4efee}.nav-link.active{color:#b31515;background:#fff0ef;font-weight:600}.nav-link.disabled{opacity:.5;cursor:not-allowed}.nav-icon{align-items:center;display:flex}.nav-icon svg{width:18px;height:18px}.soon-badge{text-transform:uppercase;color:#6f6366;background:#eae3e2;border-radius:4px;padding:.125rem .375rem;font-size:.625rem;font-weight:600}.nav-right{align-items:center;gap:.75rem;display:flex}.nav-btn{color:#6f6366;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .15s;display:flex}.nav-btn:hover:not(.disabled),.nav-btn.active{color:#1a1416;background:#f4efee}.nav-btn.disabled{opacity:.5;cursor:not-allowed}.nav-btn .nav-icon svg{width:20px;height:20px}.user-menu-container{position:relative}.user-btn{cursor:pointer;background:#fff;border:1px solid #eae3e2;border-radius:9999px;align-items:center;gap:.5rem;padding:.375rem .625rem .375rem .375rem;transition:all .15s;display:flex}.user-btn:hover{background:#faf7f6;border-color:#d6cdcc}.user-avatar{color:#fff;letter-spacing:.02em;background:#ff3939;border-radius:9999px;justify-content:center;align-items:center;width:28px;height:28px;font-size:.6875rem;font-weight:700;display:flex}.user-avatar.lg{width:40px;height:40px;font-size:.875rem}.user-btn .nav-icon svg{color:#a79c9e;width:16px;height:16px}.user-dropdown{background:#fff;border:1px solid #eae3e2;border-radius:14px;width:280px;animation:.15s dropdownIn;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 10px 30px -10px #1a141638}@keyframes dropdownIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{align-items:center;gap:.875rem;padding:1rem;display:flex}.dropdown-user-info{flex-direction:column;min-width:0;display:flex}.dropdown-name{color:#1a1416;white-space:nowrap;text-overflow:ellipsis;font-size:.9375rem;font-weight:600;overflow:hidden}.dropdown-email{color:#6f6366;white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;overflow:hidden}.dropdown-divider{background:#eae3e2;height:1px;margin:0}.dropdown-item{color:#3a3134;cursor:pointer;background:0 0;border:none;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;font-size:.875rem;font-weight:500;transition:background .15s;display:flex}.dropdown-item:hover{background:#faf7f6}.dropdown-item .nav-icon svg{color:#6f6366;width:18px;height:18px}.main-content{padding:2rem}.content-wrapper{max-width:1280px;margin:0 auto}@media (max-width:1024px){.nav-links{display:none}}@media (max-width:640px){.logo-image{height:24px}.main-content{padding:1rem}}
