*,:before,:after{box-sizing:border-box}button,input,select,textarea{font:inherit}button{cursor:pointer}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid color-mix(in srgb, var(--lh-primary) 55%, var(--lh-charcoal));outline-offset:2px;border-radius:var(--lh-radius-sm)}.ui-button,.btn{justify-content:center;align-items:center;gap:var(--lh-space-2);min-height:var(--lh-control-height);padding:0 var(--lh-control-padding);border-radius:var(--lh-radius-control);font-size:var(--lh-text-small);letter-spacing:-.005em;white-space:nowrap;box-shadow:none;border:1px solid #0000;font-weight:600;line-height:1.2;text-decoration:none;transition:background-color .16s,border-color .16s,color .16s;display:inline-flex}.ui-button>svg,.btn>svg{flex:none}.ui-button:disabled,.btn:disabled,.btn[disabled],.ui-button[aria-disabled=true]{cursor:not-allowed;opacity:.55;box-shadow:none}.ui-button-primary,.btn-primary{background:var(--lh-primary);border-color:var(--lh-primary);color:var(--lh-text-on-primary)}.ui-button-primary:hover:not(:disabled),.btn-primary:hover:not([disabled]){background:var(--lh-primary-hover);border-color:var(--lh-primary-hover)}.ui-button-secondary,.btn-secondary{background:var(--lh-surface);border-color:var(--lh-border-strong);color:var(--lh-text)}.ui-button-secondary:hover:not(:disabled),.btn-secondary:hover:not([disabled]){background:var(--lh-surface-secondary);border-color:var(--lh-text-secondary)}.ui-button-outline{border-color:var(--lh-border-strong);color:var(--lh-text);background:0 0}.ui-button-outline:hover:not(:disabled){background:var(--lh-surface-secondary);border-color:var(--lh-text-secondary)}.ui-button-ghost,.btn-ghost{color:var(--lh-text);background:0 0;border-color:#0000}.ui-button-ghost:hover:not(:disabled),.btn-ghost:hover:not([disabled]){background:var(--lh-surface-secondary)}.ui-button-destructive,.ui-button-danger,.btn-danger{background:var(--lh-error);border-color:var(--lh-error);color:#fff}.ui-button-destructive:hover:not(:disabled),.ui-button-danger:hover:not(:disabled),.btn-danger:hover:not([disabled]){background:var(--lh-error-text);border-color:var(--lh-error-text)}.ui-button-link{min-height:0;color:var(--lh-text);text-underline-offset:3px;background:0 0;border-color:#0000;padding:0;text-decoration:underline}.ui-button-link:hover:not(:disabled){color:var(--lh-primary-hover)}.ui-button-sm,.btn-sm{min-height:var(--lh-control-height-sm);padding:0 var(--lh-space-3);font-size:var(--lh-text-meta);gap:var(--lh-space-1)}.ui-button-md{min-height:var(--lh-control-height)}.ui-button-lg{min-height:var(--lh-control-height-lg);padding:0 var(--lh-space-6);font-size:var(--lh-text-body)}.ui-button-icon{width:var(--lh-control-height-sm);min-width:var(--lh-control-height-sm);height:var(--lh-control-height-sm);min-height:var(--lh-control-height-sm);padding:0}.ui-form-field{gap:var(--lh-space-2);min-width:0;display:grid}.ui-label{font-size:var(--lh-text-meta);color:var(--lh-text);margin:0;font-weight:600;line-height:1.3;display:block}.ui-input{width:100%;min-height:var(--lh-control-height);padding:0 var(--lh-space-3);appearance:none;border:1px solid var(--lh-border-strong);border-radius:var(--lh-radius-control);background:var(--lh-surface);color:var(--lh-text);font-size:var(--lh-text-small);box-shadow:none;transition:border-color .16s,box-shadow .16s}.ui-input::placeholder{color:var(--lh-text-muted)}.ui-input:hover:not(:disabled):not([aria-invalid=true]){border-color:var(--lh-text-secondary)}.ui-input:focus,.ui-input:focus-visible{border-color:var(--lh-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--lh-primary) 32%, transparent);outline:0}.ui-input[aria-invalid=true]{border-color:var(--lh-error)}.ui-input[aria-invalid=true]:focus,.ui-input[aria-invalid=true]:focus-visible{border-color:var(--lh-error);box-shadow:0 0 0 3px color-mix(in srgb, var(--lh-error) 24%, transparent)}.ui-input:disabled{cursor:not-allowed;background:var(--lh-surface-secondary);color:var(--lh-text-muted);border-color:var(--lh-border)}.ui-input:-moz-read-only:not([type=search]):not(select){background:var(--lh-surface-secondary);color:var(--lh-text-secondary)}.ui-input:read-only:not([type=search]):not(select){background:var(--lh-surface-secondary);color:var(--lh-text-secondary)}.ui-input:-webkit-autofill{-webkit-text-fill-color:var(--lh-text);box-shadow:0 0 0 1000px var(--lh-surface) inset;transition:background-color 9999s}.ui-textarea{min-height:112px;padding:var(--lh-space-3);resize:vertical;line-height:1.55}.ui-input-wrap,.ui-input-leading-wrap,.ui-select-wrap{display:block;position:relative}.ui-input-leading{left:var(--lh-space-3);pointer-events:none;color:var(--lh-text-muted);place-items:center;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.ui-input-leading-wrap:focus-within .ui-input-leading{color:var(--lh-text)}.ui-input-with-leading{padding-left:40px}.ui-input-password{padding-right:44px}.ui-input-action{right:var(--lh-space-1);width:var(--lh-control-height-xs);min-width:var(--lh-control-height-xs);height:var(--lh-control-height-xs);min-height:var(--lh-control-height-xs);color:var(--lh-text-secondary);padding:0;position:absolute;top:50%;transform:translateY(-50%)}.ui-input-action:hover{background:var(--lh-surface-secondary);transform:translateY(-50%)}.ui-select{padding-right:36px}.ui-select-wrap>svg{right:var(--lh-space-3);pointer-events:none;color:var(--lh-text-secondary);position:absolute;top:50%;transform:translateY(-50%)}.ui-phone-wrap{display:block;position:relative}.ui-phone-wrap>span{align-items:center;gap:var(--lh-space-1);padding:0 var(--lh-space-3);border-right:1px solid var(--lh-border);border-radius:var(--lh-radius-control) 0 0 var(--lh-radius-control);background:var(--lh-surface-secondary);color:var(--lh-text-secondary);font-size:var(--lh-text-meta);white-space:nowrap;pointer-events:none;font-weight:600;display:inline-flex;position:absolute;top:1px;bottom:1px;left:1px}.ui-phone-input{padding-left:104px}.ui-form-hint,.ui-form-message{font-size:var(--lh-text-meta);margin:0;line-height:1.45}.ui-form-hint{color:var(--lh-text-secondary)}.ui-form-message{color:var(--lh-error-text);font-weight:500}.ui-checkbox{border:1px solid var(--lh-border-strong);border-radius:var(--lh-radius-sm);background:var(--lh-surface);color:#0000;flex:none;place-items:center;width:18px;height:18px;display:inline-grid}.ui-checkbox[data-state=checked]{background:var(--lh-primary);border-color:var(--lh-primary);color:var(--lh-text-on-primary)}.ui-card,.content-card{border:1px solid var(--lh-border);border-radius:var(--lh-radius-card);background:var(--lh-surface);padding:var(--lh-space-5);box-shadow:none}.ui-card-elevated{box-shadow:var(--lh-shadow-subtle)}.ui-card-muted{background:var(--lh-surface-secondary)}.ui-separator{background:var(--lh-border);border:0;height:1px;margin:0}.ui-badge,.badge{align-items:center;gap:var(--lh-space-1);padding:3px var(--lh-space-2);border-radius:var(--lh-radius-sm);background:var(--lh-surface-secondary);color:var(--lh-text-secondary);font-size:var(--lh-text-meta);white-space:nowrap;border:1px solid #0000;font-weight:600;line-height:1.35;display:inline-flex}.ui-badge-success,.badge.success{background:var(--lh-success-surface);border-color:color-mix(in srgb, var(--lh-success) 26%, transparent);color:var(--lh-success-text)}.ui-badge-warning,.badge.warning{background:var(--lh-warning-surface);border-color:color-mix(in srgb, var(--lh-warning) 26%, transparent);color:var(--lh-warning-text)}.ui-badge-danger,.badge.danger{background:var(--lh-error-surface);border-color:color-mix(in srgb, var(--lh-error) 26%, transparent);color:var(--lh-error-text)}.ui-badge-info,.badge.info{background:var(--lh-info-surface);border-color:color-mix(in srgb, var(--lh-info) 26%, transparent);color:var(--lh-info-text)}.ui-badge-neutral,.badge.neutral{background:var(--lh-surface-secondary);border-color:var(--lh-border);color:var(--lh-text-secondary)}.ui-alert{gap:var(--lh-space-1);padding:var(--lh-space-3) var(--lh-space-4);border-radius:var(--lh-radius-control);font-size:var(--lh-text-small);border:1px solid;line-height:1.5;display:grid}.ui-alert-success{background:var(--lh-success-surface);border-color:color-mix(in srgb, var(--lh-success) 32%, transparent);color:var(--lh-success-text)}.ui-alert-warning{background:var(--lh-warning-surface);border-color:color-mix(in srgb, var(--lh-warning) 32%, transparent);color:var(--lh-warning-text)}.ui-alert-danger{background:var(--lh-error-surface);border-color:color-mix(in srgb, var(--lh-error) 32%, transparent);color:var(--lh-error-text)}.ui-alert-info{background:var(--lh-info-surface);border-color:color-mix(in srgb, var(--lh-info) 32%, transparent);color:var(--lh-info-text)}.ui-page-header{justify-content:space-between;align-items:flex-start;gap:var(--lh-space-4);margin-bottom:var(--lh-space-6);display:flex}.ui-page-header h1{font-size:var(--lh-text-page-title);letter-spacing:-.025em;margin:0;font-weight:700;line-height:1.2}.ui-page-header p{margin:var(--lh-space-2) 0 0;font-size:var(--lh-text-small);color:var(--lh-text-secondary)}.ui-page-actions{align-items:center;gap:var(--lh-space-2);flex-wrap:wrap;display:flex}.ui-section-header{justify-content:space-between;align-items:baseline;gap:var(--lh-space-4);margin-bottom:var(--lh-space-4);display:flex}.ui-section-header h2{font-size:var(--lh-text-section-title);letter-spacing:-.02em;margin:0;font-weight:650;line-height:1.3}.ui-section-header p{margin:var(--lh-space-1) 0 0;font-size:var(--lh-text-small);color:var(--lh-text-secondary)}.eyebrow{font-size:var(--lh-text-eyebrow);letter-spacing:.12em;text-transform:uppercase;color:var(--lh-text-secondary);font-weight:700;line-height:1.4;display:inline-block}.ui-table-wrap{border:1px solid var(--lh-border);border-radius:var(--lh-radius-card);background:var(--lh-surface);overflow-x:auto}.ui-table{border-collapse:separate;border-spacing:0;text-align:left;width:100%;min-width:720px;font-size:var(--lh-text-small)}.ui-table thead th{z-index:1;padding:var(--lh-space-3) var(--lh-space-4);border-bottom:1px solid var(--lh-border);background:var(--lh-surface-secondary);color:var(--lh-text-secondary);font-size:var(--lh-text-meta);letter-spacing:.01em;white-space:nowrap;font-weight:600;position:sticky;top:0}.ui-table tbody td{padding:var(--lh-space-3) var(--lh-space-4);border-bottom:1px solid var(--lh-border);vertical-align:middle;color:var(--lh-text)}.ui-table tbody tr:last-child td{border-bottom:0}.ui-table tbody tr:hover td{background:var(--lh-surface-secondary)}.ui-table .is-numeric{text-align:right;font-variant-numeric:tabular-nums}.ui-table .is-actions{white-space:nowrap;text-align:right;width:1%}.ui-cell-stack{gap:2px;min-width:0;display:grid}.ui-cell-stack>strong{font-weight:600;font-size:var(--lh-text-small)}.ui-cell-stack>span,.ui-cell-stack>small{font-size:var(--lh-text-meta);color:var(--lh-text-secondary)}.ui-cell-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--lh-text-meta)}.ui-th-sort{align-items:center;gap:var(--lh-space-1);color:inherit;font:inherit;background:0 0;border:0;padding:0;display:inline-flex}.ui-th-sort:hover{color:var(--lh-text)}.ui-table-toolbar{justify-content:space-between;align-items:center;gap:var(--lh-space-3);margin-bottom:var(--lh-space-4);flex-wrap:wrap;display:flex}.ui-filter-bar{align-items:center;gap:var(--lh-space-2);padding:var(--lh-space-3);border:1px solid var(--lh-border);border-radius:var(--lh-radius-card);background:var(--lh-surface);margin-bottom:var(--lh-space-4);flex-wrap:wrap;display:flex}.ui-filter-bar .ui-input,.ui-filter-bar .ui-select{min-height:var(--lh-control-height-sm);font-size:var(--lh-text-meta)}.ui-filter-bar .ui-select-wrap{min-width:168px}.ui-filter-search{flex:260px;min-width:200px;position:relative}.ui-filter-search>svg{left:var(--lh-space-3);color:var(--lh-text-muted);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.ui-filter-search .ui-input{padding-left:38px}.ui-filter-spacer{flex:auto}.ui-filter-count{border-radius:var(--lh-radius-pill);background:var(--lh-primary);min-width:18px;height:18px;color:var(--lh-text-on-primary);font-size:var(--lh-text-eyebrow);place-items:center;padding:0 5px;font-weight:700;display:inline-grid}.ui-result-count{font-size:var(--lh-text-meta);color:var(--lh-text-secondary)}.ui-result-count strong{color:var(--lh-text);font-weight:600}.ui-pagination{justify-content:space-between;align-items:center;gap:var(--lh-space-3);margin-top:var(--lh-space-4);font-size:var(--lh-text-meta);color:var(--lh-text-secondary);display:flex}.ui-pagination-actions{align-items:center;gap:var(--lh-space-2);display:flex}.ui-state{justify-items:center;gap:var(--lh-space-2);padding:var(--lh-space-8) var(--lh-space-5);text-align:center;display:grid}.ui-state-icon{width:40px;height:40px;margin-bottom:var(--lh-space-1);border-radius:var(--lh-radius-card);background:var(--lh-surface-secondary);color:var(--lh-text-secondary);place-items:center;display:grid}.ui-state h2,.ui-state h3{font-size:var(--lh-text-card-title);letter-spacing:-.01em;margin:0;font-weight:650}.ui-state p{max-width:44ch;font-size:var(--lh-text-small);color:var(--lh-text-secondary);margin:0}.ui-state>.ui-button,.ui-state>.btn{margin-top:var(--lh-space-2)}.ui-alert.ui-state{text-align:left;padding:var(--lh-space-4);justify-items:start}.ui-loading{justify-content:center;align-items:center;gap:var(--lh-space-2);padding:var(--lh-space-8);color:var(--lh-text-secondary);font-size:var(--lh-text-small);display:flex}.ui-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;animation:.7s linear infinite ui-spin;display:inline-block}.ui-spinner-sm{width:14px;height:14px}.ui-spinner-md{width:20px;height:20px}.ui-spinner-lg{width:28px;height:28px}.ui-skeleton{border-radius:var(--lh-radius-sm);background:linear-gradient(90deg, var(--lh-surface-secondary) 25%, var(--lh-border) 37%, var(--lh-surface-secondary) 63%);background-size:400% 100%;min-height:12px;animation:1.4s infinite ui-shimmer;display:block}.ui-skeleton-table{background:var(--lh-border);border:1px solid var(--lh-border);border-radius:var(--lh-radius-card);gap:1px;display:grid;overflow:hidden}.ui-skeleton-table>div{align-items:center;gap:var(--lh-space-4);padding:var(--lh-space-3) var(--lh-space-4);background:var(--lh-surface);grid-template-columns:2.2fr 1fr 1fr 1fr .6fr;display:grid}.ui-skeleton-table>div:first-child{background:var(--lh-surface-secondary)}.ui-overlay{z-index:40;background:#20212473;position:fixed;inset:0}.ui-dialog{z-index:41;width:min(92vw,34rem);max-height:min(88vh,800px);padding:var(--lh-space-6);border:1px solid var(--lh-border);border-radius:var(--lh-radius-xl);background:var(--lh-surface);box-shadow:var(--lh-shadow-overlay);position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.ui-dialog-sm{width:min(92vw,26rem)}.ui-dialog-lg{width:min(94vw,48rem)}.ui-dialog h2,.ui-dialog [data-dialog-title]{margin:0 0 var(--lh-space-2);font-size:var(--lh-text-section-title);letter-spacing:-.02em;font-weight:650}.ui-dialog-close{right:var(--lh-space-3);top:var(--lh-space-3);width:var(--lh-control-height-xs);height:var(--lh-control-height-xs);border-radius:var(--lh-radius-md);color:var(--lh-text-secondary);background:0 0;border:0;place-items:center;display:grid;position:absolute}.ui-dialog-close:hover{background:var(--lh-surface-secondary);color:var(--lh-text)}.ui-dialog-actions{justify-content:flex-end;gap:var(--lh-space-2);margin-top:var(--lh-space-6);display:flex}.ui-sheet{z-index:41;width:min(92vw,28rem);padding:var(--lh-space-6);background:var(--lh-surface);box-shadow:var(--lh-shadow-overlay);position:fixed;top:0;bottom:0;overflow-y:auto}.ui-sheet-right{border-left:1px solid var(--lh-border);right:0}.ui-sheet-left{border-right:1px solid var(--lh-border);left:0}.ui-menu{z-index:50;min-width:11rem;padding:var(--lh-space-1);border:1px solid var(--lh-border);border-radius:var(--lh-radius-card);background:var(--lh-surface);box-shadow:var(--lh-shadow-raised)}.ui-menu-item{align-items:center;gap:var(--lh-space-2);padding:var(--lh-space-2) var(--lh-space-3);border-radius:var(--lh-radius-md);color:var(--lh-text);font-size:var(--lh-text-small);cursor:pointer;outline:0;text-decoration:none;display:flex}.ui-menu-item[data-highlighted],.ui-menu-item:hover{background:var(--lh-surface-secondary)}.ui-menu-item-danger{color:var(--lh-error-text)}.ui-tooltip{z-index:60;padding:var(--lh-space-2) var(--lh-space-3);border-radius:var(--lh-radius-md);background:var(--lh-charcoal);color:var(--lh-surface);font-size:var(--lh-text-meta)}.ui-toast-viewport{right:var(--lh-space-4);bottom:var(--lh-space-4);z-index:70;gap:var(--lh-space-2);width:min(92vw,24rem);margin:0;padding:0;list-style:none;display:grid;position:fixed}.ui-toast{padding:var(--lh-space-4);border:1px solid var(--lh-border);border-radius:var(--lh-radius-card);background:var(--lh-surface);box-shadow:var(--lh-shadow-raised)}.muted{color:var(--lh-text-secondary)}.text-link{align-items:center;gap:var(--lh-space-1);min-height:24px;color:var(--lh-text);font-size:var(--lh-text-small);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--lh-border-strong);text-decoration-color:var(--lh-border-strong);font-weight:600;display:inline-flex}.text-link:hover{color:var(--lh-primary-hover);text-decoration-color:currentColor}.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}@keyframes ui-spin{to{transform:rotate(360deg)}}@keyframes ui-shimmer{to{background-position:-400% 0}}@media (prefers-reduced-motion:reduce){.ui-button,.btn,.ui-input,.ui-spinner,.ui-skeleton{transition:none;animation:none}}.ui-auth-card{background:0 0;border:0;width:min(100%,26rem);padding:0}.form-grid{gap:var(--lh-space-5);margin:0;display:grid}.form-row{gap:var(--lh-space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width<=640px){.form-row{grid-template-columns:1fr}}.form-actions{align-items:center;gap:var(--lh-space-3);flex-wrap:wrap;display:flex}.app-dialog-content{gap:var(--lh-space-3);width:min(100% - 32px,440px);padding:24px;display:grid}.app-dialog-content h2{margin:0;font-size:20px}.app-dialog-content p{color:var(--lh-text-secondary);margin:0;font-size:14px;line-height:1.55}.app-dialog-icon{background:var(--lh-info-surface);width:36px;height:36px;color:var(--lh-info-text);border-radius:50%;place-items:center;font-weight:750;display:grid}.app-dialog-icon[data-tone=success]{background:var(--lh-success-surface);color:var(--lh-success-text)}.app-dialog-icon[data-tone=warning]{background:var(--lh-warning-surface);color:var(--lh-warning-text)}.app-dialog-icon[data-tone=danger]{background:var(--lh-error-surface);color:var(--lh-error-text)}.app-dialog-field{gap:var(--lh-space-2);margin-top:var(--lh-space-2);display:grid}.app-dialog-actions{justify-content:flex-end;gap:var(--lh-space-2);margin-top:var(--lh-space-2);display:flex}
