.lh-shell{display:grid;grid-template-columns:var(--sidebar-width) 1fr;min-height:100vh;background:var(--bg-deep)}.lh-main{display:flex;flex-direction:column;min-height:100vh;overflow-x:hidden;padding:var(--sp-6);gap:var(--sp-6)}.lh-sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:var(--bg-base);border-right:1px solid var(--border-subtle);padding:var(--sp-5) var(--sp-3);overflow-y:auto;z-index:50}.lh-sidebar__brand{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);margin-bottom:var(--sp-8)}.lh-sidebar__logo{font-size:1.75rem;filter:drop-shadow(0 0 8px rgba(212,168,83,.4))}.lh-sidebar__brand-text{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;background:linear-gradient(135deg,var(--lh-gold-light),var(--lh-gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.lh-sidebar__nav{display:flex;flex-direction:column;gap:var(--sp-1);flex:1}.lh-sidebar__item{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-3);border:none;background:transparent;border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-base);font-weight:500;cursor:pointer;transition:all var(--duration-normal) var(--ease-out);position:relative;text-align:left;font-family:var(--font-body)}.lh-sidebar__item:hover{background:var(--bg-elevated);color:var(--text-primary)}.lh-sidebar__item--active{background:var(--lh-gold-dim);color:var(--lh-gold-light)}.lh-sidebar__item--active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:60%;background:var(--lh-gold);border-radius:0 var(--radius-full) var(--radius-full) 0}.lh-sidebar__item-icon{font-size:1.1rem;width:24px;text-align:center;flex-shrink:0}.lh-sidebar__item-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lh-sidebar__footer{padding:var(--sp-3);border-top:1px solid var(--border-subtle);margin-top:auto;padding-top:var(--sp-4)}.lh-topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);min-height:var(--topbar-height);flex-wrap:wrap}.lh-topbar__left{display:flex;flex-direction:column;gap:2px}.lh-topbar__title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;color:var(--text-primary);margin:0}.lh-topbar__subtitle{font-size:var(--text-sm);color:var(--text-muted);margin:0}.lh-topbar__actions{display:flex;align-items:center;gap:var(--sp-3)}.lh-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:border-color var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out);overflow:hidden}.lh-card:hover{border-color:var(--border-default)}.lh-card__header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-5) var(--sp-5) 0}.lh-card__title-row{display:flex;align-items:center;gap:var(--sp-2)}.lh-card__icon{font-size:1.2rem}.lh-card__title{font-family:var(--font-display);font-size:var(--text-md);font-weight:600;color:var(--text-primary);margin:0}.lh-card__actions{display:flex;align-items:center;gap:var(--sp-2)}.lh-card__body{padding:var(--sp-5)}.lh-card__body--nopad{padding:0}.stat-card{display:flex;align-items:center;gap:var(--sp-4);background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:var(--sp-5);transition:all var(--duration-normal) var(--ease-out);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.stat-card:hover{border-color:var(--border-default);transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-card__icon{width:48px;height:48px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-card__content{display:flex;flex-direction:column;gap:2px;min-width:0}.stat-card__label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.stat-card__value{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;line-height:1.1}.stat-card__subtitle{font-size:var(--text-xs);color:var(--text-muted)}.lh-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);border:none;border-radius:var(--radius-md);font-family:var(--font-body);font-weight:600;cursor:pointer;transition:all var(--duration-fast) var(--ease-out);white-space:nowrap;position:relative;overflow:hidden}.lh-btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.lh-btn--sm{font-size:var(--text-xs);padding:6px 12px}.lh-btn--md{font-size:var(--text-sm);padding:8px 16px}.lh-btn--lg{font-size:var(--text-base);padding:12px 24px}.lh-btn--primary{background:linear-gradient(135deg,var(--lh-gold),#c08b30);color:var(--text-inverse);box-shadow:0 2px 8px #d4a8534d}.lh-btn--primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #d4a85366}.lh-btn--secondary{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-default)}.lh-btn--secondary:hover:not(:disabled){background:var(--bg-card-hover);border-color:var(--border-strong)}.lh-btn--ghost{background:transparent;color:var(--text-secondary)}.lh-btn--ghost:hover:not(:disabled){background:var(--bg-elevated);color:var(--text-primary)}.lh-btn--danger{background:var(--lh-rose-dim);color:var(--lh-rose);border:1px solid rgba(251,113,133,.2)}.lh-btn--danger:hover:not(:disabled){background:#fb718533}.lh-btn__spinner{width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .6s linear infinite}.lh-field{display:flex;flex-direction:column;gap:var(--sp-1)}.lh-field__label{font-size:var(--text-xs);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.lh-input,.lh-select{background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--sp-3) var(--sp-3);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-base);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out);outline:none}.lh-input:focus,.lh-select:focus{border-color:var(--lh-gold);box-shadow:0 0 0 3px var(--lh-gold-dim)}.lh-input--error,.lh-select--error{border-color:var(--lh-rose)}.lh-field__error{font-size:var(--text-xs);color:var(--lh-rose)}.lh-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.lh-select option{background:var(--bg-base);color:var(--text-primary)}.lh-empty,.lh-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-3);padding:var(--sp-10) var(--sp-6);text-align:center}.lh-empty__icon,.lh-error__icon{font-size:2.5rem;opacity:.6}.lh-empty__title{font-size:var(--text-md);font-weight:600;color:var(--text-secondary)}.lh-empty__subtitle{font-size:var(--text-sm);color:var(--text-muted)}.lh-error__msg{font-size:var(--text-sm);color:var(--lh-rose)}.lh-table-wrap{overflow-x:auto;border-radius:var(--radius-lg)}.lh-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.lh-table th{text-align:left;padding:var(--sp-3) var(--sp-4);font-size:var(--text-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-subtle);background:#0f172a4d;position:sticky;top:0}.lh-table td{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border-subtle);color:var(--text-primary);vertical-align:middle}.lh-table tbody tr{transition:background var(--duration-fast) var(--ease-out)}.lh-table tbody tr:hover{background:var(--bg-elevated)}.lh-table tbody tr:last-child td{border-bottom:none}.lh-spinner{display:inline-block;border:2px solid var(--border-default);border-top-color:var(--lh-gold);border-radius:50%;animation:spin .7s linear infinite}.lh-skeleton{background:linear-gradient(90deg,var(--bg-elevated) 25%,var(--bg-card-hover) 50%,var(--bg-elevated) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.lh-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--sp-6)}.lh-modal{background:var(--bg-base);border:1px solid var(--border-default);border-radius:var(--radius-2xl);width:100%;max-width:560px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl)}.lh-modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-5) var(--sp-6);border-bottom:1px solid var(--border-subtle)}.lh-modal__title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;color:var(--text-primary);margin:0}.lh-modal__close{background:transparent;border:none;color:var(--text-muted);font-size:var(--text-lg);cursor:pointer;padding:var(--sp-1);border-radius:var(--radius-sm);transition:color var(--duration-fast)}.lh-modal__close:hover{color:var(--text-primary)}.lh-modal__body{padding:var(--sp-6)}.lh-grid{display:grid;gap:var(--sp-5)}.lh-grid--2{grid-template-columns:repeat(2,1fr)}.lh-grid--3{grid-template-columns:repeat(3,1fr)}.lh-grid--4{grid-template-columns:repeat(4,1fr)}.lh-grid--stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--sp-5)}.lh-flex{display:flex;align-items:center;gap:var(--sp-3)}.lh-flex--between{justify-content:space-between}.lh-gap-sm{gap:var(--sp-2)}.lh-gap-md{gap:var(--sp-4)}.lh-gap-lg{gap:var(--sp-6)}@media (max-width: 1024px){.lh-shell{grid-template-columns:1fr}.lh-sidebar{position:fixed;left:-100%;width:var(--sidebar-width);transition:left var(--duration-slow) var(--ease-out)}.lh-sidebar--open{left:0;box-shadow:var(--shadow-xl)}.lh-grid--2,.lh-grid--3,.lh-grid--4{grid-template-columns:1fr}}@media (max-width: 640px){.lh-main{padding:var(--sp-4);gap:var(--sp-4)}.stat-card{padding:var(--sp-4)}}
