.app-layout{min-height:100dvh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--color-bg-card);border-right:1px solid var(--color-border);z-index:50;transition:transform var(--transition-base);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-header{padding:var(--space-4) var(--space-5);align-items:center;gap:var(--space-3);border-bottom:1px solid var(--color-border);display:flex}.sidebar-logo{background:linear-gradient(135deg, var(--color-accent), #a78bfa);border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.9rem;display:flex}.sidebar-brand{color:var(--color-text-primary);font-size:1rem;font-weight:700}.sidebar-brand span{color:var(--color-accent-text)}.tenant-selector{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.tenant-selector label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:var(--space-1);font-size:.6875rem;font-weight:600;display:block}.tenant-selector .select-field{padding:var(--space-1) var(--space-2);background:var(--color-bg-elevated);font-size:.8125rem}.sidebar-nav{padding:var(--space-3) var(--space-2);flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.sidebar-section{margin-top:var(--space-4)}.sidebar-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);padding:var(--space-1) var(--space-3);margin-bottom:var(--space-1);font-size:.6875rem;font-weight:600}.nav-link{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);text-align:left;background:0 0;border:none;width:100%;font-size:.875rem;font-weight:500;text-decoration:none;display:flex}.nav-link:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.nav-link.active{background:var(--color-accent-subtle);color:var(--color-accent-text)}.nav-link-icon{text-align:center;width:20px;font-size:1rem}.sidebar-footer{padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);align-items:center;gap:var(--space-3);display:flex}.sidebar-user-info{flex:1;min-width:0}.sidebar-user-email{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;font-weight:500;overflow:hidden}.sidebar-user-role{color:var(--color-text-muted);font-size:.6875rem}.app-main{margin-left:var(--sidebar-width);padding:var(--space-6);flex:1;max-width:100%;overflow-x:hidden}.page-header{margin-bottom:var(--space-6);justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.page-title{color:var(--color-text-primary);font-size:1.5rem;font-weight:700}.page-subtitle{color:var(--color-text-secondary);margin-top:var(--space-1);font-size:.875rem}.mobile-header{height:var(--header-height);background:var(--color-bg-card);border-bottom:1px solid var(--color-border);padding:0 var(--space-4);z-index:40;justify-content:space-between;align-items:center;display:none;position:fixed;top:0;left:0;right:0}.mobile-menu-btn{color:var(--color-text-primary);cursor:pointer;padding:var(--space-2);background:0 0;border:none;font-size:1.25rem}.sidebar-backdrop{z-index:45;background:#00000080;display:none;position:fixed;inset:0}@media (max-width:768px){.sidebar{width:min(280px,84vw);box-shadow:none;overflow:hidden auto;transform:translate(-100%)}.sidebar.open{box-shadow:var(--shadow-lg);transform:translate(0)}.sidebar-backdrop.visible{display:block}.mobile-header{display:flex}.app-main{padding-top:calc(var(--header-height) + var(--space-4));padding-left:var(--space-4);padding-right:var(--space-4);width:100%;min-width:0;margin-left:0}}.dashboard-grid{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.stat-card{padding:var(--space-5)}@media (max-width:768px){.dashboard-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr))}}.stat-card-header{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.stat-card-icon{font-size:1.5rem}.stat-card-label{color:var(--color-text-secondary);font-size:.8125rem;font-weight:500}.stat-card-value{color:var(--color-text-primary);font-size:2rem;font-weight:700;line-height:1}.stat-card-tenant{color:var(--color-text-muted);margin-top:var(--space-2);font-size:.75rem}.tenant-cards{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));display:grid}.tenant-card{position:relative;overflow:hidden}.tenant-card:before{content:"";height:3px;position:absolute;top:0;left:0;right:0}.tenant-card:first-child:before{background:var(--color-accent)}.tenant-card:nth-child(2):before{background:#f59e0b}.tenant-card:nth-child(3):before{background:#22c55e}.tenant-card:nth-child(4):before{background:#ef4444}.tenant-card:nth-child(5):before{background:#8b5cf6}.tenant-card-header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.tenant-card-name{color:var(--color-text-primary);font-size:1rem;font-weight:600}.tenant-card-stats{gap:var(--space-3);text-align:center;grid-template-columns:repeat(3,1fr);display:grid}.tenant-stat-value{color:var(--color-text-primary);font-size:1.25rem;font-weight:700}.tenant-stat-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.6875rem}.quick-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.empty-state{text-align:center;padding:var(--space-12) var(--space-6);color:var(--color-text-secondary)}.empty-state-icon{margin-bottom:var(--space-4);font-size:3rem}.empty-state-title{color:var(--color-text-primary);margin-bottom:var(--space-2);font-size:1.125rem;font-weight:600}.empty-state-text{margin-bottom:var(--space-5);font-size:.875rem}.balance-card{padding:0;overflow:hidden}.balance-table{border-collapse:collapse;width:100%;font-size:.875rem}.balance-table th{text-align:left;color:var(--color-text-muted);padding:var(--space-3);white-space:nowrap;font-weight:500}.balance-table td{padding:var(--space-3);border-top:1px solid var(--color-border);color:var(--color-text-secondary)}.balance-table .balance-type{color:var(--color-text-primary);font-weight:500}.balance-table .balance-remaining{color:var(--color-text-primary);font-weight:600}.balance-dot{width:10px;height:10px;margin-right:var(--space-2);vertical-align:baseline;border-radius:3px;display:inline-block}@media (max-width:768px){.balance-card{padding:var(--space-2)}.balance-table thead{display:none}.balance-table,.balance-table tbody,.balance-table tr,.balance-table td{width:100%;display:block}.balance-table tr{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-2)}.balance-table tr:last-child{margin-bottom:0}.balance-table td{justify-content:space-between;gap:var(--space-3);border-top:0;padding:2px 0;display:flex}.balance-table td.balance-type{padding-bottom:var(--space-2);margin-bottom:var(--space-2);border-bottom:1px solid var(--color-border);font-size:.9375rem;display:block}.balance-table td:not(.balance-type):before{content:attr(data-label);color:var(--color-text-muted);font-size:.8125rem}}.data-table-card{padding:0;overflow:hidden}.data-table{border-collapse:collapse;width:100%;font-size:.875rem}.data-table th{text-align:left;padding:var(--space-3) var(--space-4);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--color-border);white-space:nowrap;font-size:.75rem;font-weight:600}.data-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);color:var(--color-text-secondary);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr{transition:background var(--transition-fast)}@media (hover:hover){.data-table tbody tr:hover{background:var(--color-bg-hover)}}.pill{border-radius:var(--radius-full);white-space:nowrap;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-block}.employee-identity{align-items:center;gap:var(--space-3);min-width:0;display:flex}.employee-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.875rem;font-weight:700;display:flex}.employee-identity-text{flex-direction:column;min-width:0;display:flex}.employee-name{color:var(--color-text-primary);overflow-wrap:anywhere;font-weight:600}.employee-email{color:var(--color-text-muted);overflow-wrap:anywhere;font-size:.75rem}@media (max-width:768px){.data-table-card{padding:var(--space-2)}.data-table thead{display:none}.data-table,.data-table tbody,.data-table tr,.data-table td{width:100%;display:block}.data-table tr{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);margin-bottom:var(--space-2)}.data-table tr:last-child{margin-bottom:0}.data-table td{justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:0;padding:3px 0;display:flex}.data-table td.data-table-primary{padding-bottom:var(--space-2);margin-bottom:var(--space-2);border-bottom:1px solid var(--color-border);display:block}.data-table td:not(.data-table-primary):before{content:attr(data-label);color:var(--color-text-muted);flex:none;font-size:.8125rem}}.sidebar-logo-image{object-fit:contain;max-width:100%;max-height:40px}.mobile-logo-image{object-fit:contain;max-width:55vw;max-height:28px}.balance-carried{color:var(--color-text-muted);font-size:.7rem;display:block}.balance-carried.is-expired{color:var(--color-status-pending)}.mfa-required-banner{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);border-radius:var(--radius-md);border-left:4px solid var(--color-status-pending);background:var(--color-status-pending-bg);color:var(--color-text-primary);flex-wrap:wrap;font-size:.875rem;display:flex}
.demo-banner{z-index:30;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-4);border:1px solid var(--color-status-pending);border-radius:var(--radius-md);background:var(--color-status-pending-bg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);flex-wrap:wrap;display:flex;position:sticky;top:0}.demo-banner-badge{letter-spacing:.08em;border-radius:var(--radius-full);background:var(--color-status-pending);color:var(--color-text-inverse);flex:none;padding:2px 7px;font-size:.625rem;font-weight:700}.demo-banner-text{min-width:0;color:var(--color-text-primary);flex:240px;font-size:.8125rem}.demo-banner-actions{gap:var(--space-2);flex:none;margin-left:auto;display:flex}@media (max-width:600px){.demo-banner-text{flex-basis:100%;font-size:.75rem}.demo-banner-actions{width:100%;margin-left:0}.demo-banner-actions .btn{flex:1;justify-content:center}}
