@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap");:root{--series-1:#3987e5;--series-2:#d95926;--bg-base:#070B14;--bg-surface:#0D1526;--bg-card:#111827;--bg-elevated:#1A2236;--bg-hover:#1E2A42;--border-subtle:rgba(255,255,255,0.06);--border-default:rgba(255,255,255,0.10);--border-strong:rgba(255,255,255,0.18);--teal-400:#2DD4BF;--teal-500:#14B8A6;--teal-600:#0D9488;--teal-glow:rgba(20,184,166,0.25);--violet-400:#A78BFA;--violet-500:#8B5CF6;--success:#10B981;--success-bg:rgba(16,185,129,0.12);--warning:#F59E0B;--warning-bg:rgba(245,158,11,0.12);--danger:#EF4444;--danger-bg:rgba(239,68,68,0.12);--info:#60A5FA;--info-bg:rgba(96,165,250,0.12);--text-primary:#F1F5F9;--text-secondary:#94A3B8;--text-muted:#64748B;--text-disabled:#334155;--sidebar-width:240px;--header-height:64px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--shadow-sm:0 1px 3px rgba(0,0,0,0.4);--shadow-md:0 4px 16px rgba(0,0,0,0.5);--shadow-lg:0 8px 32px rgba(0,0,0,0.6);--shadow-teal:0 0 32px rgba(20,184,166,0.15);--ease-fast:0.15s ease;--ease-base:0.25s ease;--ease-slow:0.4s ease}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{height:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-base);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100%;overflow-x:hidden}h1{font-size:1.875rem;line-height:1.2}h1,h2{font-weight:700}h2{font-size:1.5rem;line-height:1.3}h3{font-size:1.25rem;line-height:1.4}h3,h4{font-weight:600}h4{font-size:1.125rem}h5{font-size:1rem;font-weight:600}p{color:var(--text-secondary)}a{color:var(--teal-400);text-decoration:none}a:hover{color:var(--teal-500)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg-elevated);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.app-main,.app-shell{display:flex;min-height:100vh}.app-main{flex:1 1;margin-left:var(--sidebar-width);flex-direction:column}.page-content{flex:1 1;padding:28px 32px;margin-top:var(--header-height);max-width:1400px;width:100%;margin-left:auto;margin-right:auto}.card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:24px;transition:border-color var(--ease-fast),transform var(--ease-fast),box-shadow var(--ease-fast)}.card:hover{border-color:var(--border-default);transform:translateY(-2px);box-shadow:var(--shadow-md)}.glass{background:rgba(17,24,39,.7);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-default);border-radius:var(--radius-lg)}.btn{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;font-family:inherit;cursor:pointer;border:none;transition:all var(--ease-fast);white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--teal-500);color:#fff}.btn-primary:hover:not(:disabled){background:var(--teal-400);box-shadow:var(--shadow-teal);transform:translateY(-1px)}.btn-secondary{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-default)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-strong)}.btn-danger{background:var(--danger-bg);color:var(--danger);border:1px solid rgba(239,68,68,.2)}.btn-danger:hover:not(:disabled){background:rgba(239,68,68,.2)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--bg-elevated);color:var(--text-primary)}.btn-sm{padding:6px 12px;font-size:.8125rem}.btn-lg{padding:12px 24px;font-size:1rem}.btn-icon{padding:8px}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--radius-full);font-size:.75rem;font-weight:500}.badge-success{background:var(--success-bg);color:var(--success)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-info{background:var(--info-bg);color:var(--info)}.badge-neutral{background:var(--bg-elevated);color:var(--text-secondary)}.badge-teal{background:var(--teal-glow);color:var(--teal-400)}.badge-violet{background:rgba(139,92,246,.15);color:var(--violet-400)}.input-group{display:flex;flex-direction:column;gap:6px}.input-label{font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.input{width:100%;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:9px 14px;font-size:.875rem;font-family:inherit;color:var(--text-primary);transition:border-color var(--ease-fast),box-shadow var(--ease-fast);outline:none}.input:focus{border-color:var(--teal-500);box-shadow:0 0 0 3px rgba(20,184,166,.15)}.input::placeholder{color:var(--text-muted)}select.input{cursor:pointer}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.7);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;display:flex;align-items:center;justify-content:center;animation:fadeIn var(--ease-fast) forwards}.modal{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:32px;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:slideUp var(--ease-base) forwards}.modal-lg{max-width:720px}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.modal-footer{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px;border-top:1px solid var(--border-subtle)}.table-wrapper{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.875rem}thead th{text-align:left;padding:10px 16px;font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}tbody td,thead th{border-bottom:1px solid var(--border-subtle)}tbody td{padding:14px 16px;color:var(--text-secondary)}tbody tr:hover td{background:var(--bg-elevated);color:var(--text-primary)}tbody tr:last-child td{border-bottom:none}.page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:28px;gap:16px;flex-wrap:wrap}.page-title{color:var(--text-primary)}.page-subtitle{color:var(--text-muted);font-size:.875rem;margin-top:4px}.section{margin-bottom:32px}.section-title{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-2,.grid-3{display:grid;gap:20px}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-4,.grid-auto{display:grid;gap:20px}.grid-auto{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}@media (max-width:1200px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:900px){.grid-3,.grid-4{grid-template-columns:1fr 1fr}.page-content{padding:20px}}@media (max-width:600px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.flex,.flex-col{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-6{gap:24px}.flex-1{flex:1 1}.wrap{flex-wrap:wrap}.divider{border:none;border-top:1px solid var(--border-subtle);margin:20px 0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes glow{0%,to{box-shadow:0 0 12px var(--teal-glow)}50%{box-shadow:0 0 24px var(--teal-glow),0 0 48px rgba(20,184,166,.1)}}@keyframes dotPulse{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}.animate-fadeIn{animation:fadeIn var(--ease-base) forwards}.animate-slideUp{animation:slideUp var(--ease-base) forwards}.animate-pulse{animation:pulse 2s ease-in-out infinite}.stagger-1{animation:slideUp var(--ease-base) forwards;opacity:0;animation-delay:.05s}.stagger-2{animation:slideUp var(--ease-base) forwards;opacity:0;animation-delay:.1s}.stagger-3{animation:slideUp var(--ease-base) forwards;opacity:0;animation-delay:.15s}.stagger-4{animation:slideUp var(--ease-base) forwards;opacity:0;animation-delay:.2s}.stagger-5{animation:slideUp var(--ease-base) forwards;opacity:0;animation-delay:.25s}.page-fade-in{animation:fadeIn var(--ease-base) forwards}.hover-glow:hover{box-shadow:var(--shadow-teal);border:1px solid var(--teal-glow)}.compliance-ok{color:var(--success)}.compliance-warn{color:var(--warning)}.compliance-breach{color:var(--danger)}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.dot-success{background:var(--success)}.dot-warning{background:var(--warning)}.dot-danger{background:var(--danger)}.avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8125rem;font-weight:600;flex-shrink:0}.avatar-sm{width:28px;height:28px;font-size:.6875rem}.avatar-lg{width:44px;height:44px;font-size:1rem}.progress-bar{height:6px;background:var(--bg-elevated);overflow:hidden}.progress-bar,.progress-fill{border-radius:var(--radius-full)}.progress-fill{height:100%;background:linear-gradient(90deg,var(--teal-600),var(--teal-400));transition:width var(--ease-slow)}.toast-container{position:fixed;bottom:24px;right:24px;z-index:999;display:flex;flex-direction:column;gap:10px}.toast{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:.875rem;box-shadow:var(--shadow-md);animation:slideInRight var(--ease-base) forwards;min-width:260px}[data-theme=light]{--series-1:#2a78d6;--series-2:#eb6834;--bg-base:#F8FAFC;--bg-surface:#FFFFFF;--bg-card:#FFFFFF;--bg-elevated:#F1F5F9;--bg-hover:#E2E8F0;--border-subtle:#E2E8F0;--border-default:#CBD5E1;--border-strong:#94A3B8;--text-primary:#0F172A;--text-secondary:#475569;--text-muted:#64748B;--text-disabled:#94A3B8;--shadow-sm:0 1px 2px rgba(0,0,0,0.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05);--teal-glow:rgba(20,184,166,0.1)}[data-theme=light] .glass{background:rgba(255,255,255,.7);border:1px solid rgba(203,213,225,.5)}[data-theme=light] .sidebar{background:#0F172A}[data-theme=light] .nav-item{color:#94A3B8}[data-theme=light] .nav-item.active{background:rgba(255,255,255,.05);color:#fff}.sidebar{position:fixed;top:0;left:0;width:var(--sidebar-width);height:100vh;background:var(--bg-surface);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;z-index:50;padding:20px 0}.sidebar-logo{display:flex;align-items:center;gap:10px;padding:0 20px 20px;border-bottom:1px solid var(--border-subtle)}.sidebar-logo-icon{width:36px;height:36px;background:linear-gradient(135deg,var(--teal-600),var(--teal-400));border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-teal)}.sidebar-logo-text{font-size:1.125rem;font-weight:700;color:var(--text-primary)}.sidebar-logo-sub{font-size:.65rem;color:var(--text-muted);font-weight:500;letter-spacing:.08em}.sidebar-nav{flex:1 1;padding:16px 12px;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.sidebar-section-label{font-size:.65rem;font-weight:600;color:var(--text-disabled);text-transform:uppercase;letter-spacing:.1em;padding:12px 8px 6px}.nav-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;color:var(--text-muted);cursor:pointer;text-decoration:none;transition:all var(--ease-fast);position:relative}.nav-item:hover{background:var(--bg-elevated);color:var(--text-primary)}.nav-item.active{background:rgba(20,184,166,.1)}.nav-item.active,.nav-item.active .nav-icon{color:var(--teal-400)}.nav-icon{width:18px;height:18px;flex-shrink:0}.nav-badge{margin-left:auto;background:var(--danger);color:#fff;font-size:.6875rem;font-weight:600;padding:2px 7px;border-radius:var(--radius-full)}.sidebar-footer{padding:16px 12px;border-top:1px solid var(--border-subtle)}.sidebar-user{display:flex;align-items:center;gap:10px;padding:8px;border-radius:var(--radius-md);cursor:pointer;transition:background var(--ease-fast)}.sidebar-user:hover{background:var(--bg-elevated)}.sidebar-user-info{flex:1 1;min-width:0}.sidebar-user-name{font-size:.875rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{font-size:.6875rem;color:var(--text-muted)}.header{position:fixed;top:0;left:var(--sidebar-width);right:0;height:var(--header-height);background:rgba(7,11,20,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border-subtle);justify-content:space-between;padding:0 32px;z-index:40}.header,.header-left{display:flex;align-items:center}.header-left{gap:16px}.header-breadcrumb{font-size:.875rem;color:var(--text-muted);display:flex;align-items:center;gap:6px}.header-breadcrumb-current{color:var(--text-primary);font-weight:500}.header-right{gap:12px}.header-icon-btn,.header-right{display:flex;align-items:center}.header-icon-btn{width:36px;height:36px;border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--border-subtle);justify-content:center;cursor:pointer;color:var(--text-secondary);transition:all var(--ease-fast);position:relative}.header-icon-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-default)}.header-badge{position:absolute;top:-4px;right:-4px;width:16px;height:16px;background:var(--danger);border-radius:50%;font-size:.625rem;font-weight:700;color:#fff;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg-base)}.compliance-panel{position:fixed;top:0;right:0;width:380px;height:100vh;background:var(--bg-surface);border-left:1px solid var(--border-subtle);display:flex;flex-direction:column;z-index:60;transform:translateX(100%);transition:transform var(--ease-base)}.compliance-panel.open{transform:translateX(0);box-shadow:-20px 0 60px rgba(0,0,0,.5)}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.panel-header-info{display:flex;align-items:center;gap:10px}.panel-ai-icon{width:32px;height:32px;background:linear-gradient(135deg,var(--teal-600),var(--violet-500));border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;animation:glow 3s ease-in-out infinite}.panel-title{font-size:.9375rem;font-weight:600}.panel-subtitle{font-size:.75rem;color:var(--text-muted)}.panel-messages{flex:1 1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.message{animation:slideUp var(--ease-base) forwards}.message-user{align-self:flex-end}.message-assistant{align-self:flex-start}.message-bubble{padding:10px 14px;border-radius:var(--radius-md);font-size:.8125rem;line-height:1.6;max-width:100%}.message-user .message-bubble{background:var(--teal-600);color:#fff;border-bottom-right-radius:4px}.message-assistant .message-bubble{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-subtle);border-bottom-left-radius:4px}.message-meta{font-size:.6875rem;color:var(--text-muted);margin-top:4px;padding:0 4px}.typing-indicator{display:flex;gap:4px;padding:12px 14px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);width:fit-content}.typing-dot{width:6px;height:6px;background:var(--teal-400);border-radius:50%;animation:dotPulse 1.4s ease-in-out infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}.panel-input-area{padding:16px;border-top:1px solid var(--border-subtle);flex-shrink:0}.panel-input-row{display:flex;gap:8px;align-items:flex-end}.panel-suggestions{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.suggestion-chip{padding:4px 10px;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-full);font-size:.6875rem;color:var(--text-secondary);cursor:pointer;transition:all var(--ease-fast)}.suggestion-chip:hover{background:var(--teal-glow);border-color:var(--teal-500);color:var(--teal-400)}.panel-textarea{flex:1 1;resize:none;min-height:44px;max-height:120px;padding:10px 14px;background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:.8125rem;font-family:inherit;color:var(--text-primary);outline:none;transition:border-color var(--ease-fast);line-height:1.5}.panel-textarea:focus{border-color:var(--teal-500)}.panel-textarea::placeholder{color:var(--text-muted)}.panel-send-btn{width:40px;height:40px;background:var(--teal-500);border:none;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;flex-shrink:0;transition:all var(--ease-fast)}.panel-send-btn:hover{background:var(--teal-400)}.panel-send-btn:disabled{opacity:.5;cursor:not-allowed}.header-menu-btn,.nav-backdrop{display:none}@media (max-width:860px){.sidebar{width:min(280px,85vw);transform:translateX(-100%);transition:transform .2s ease;overflow-y:auto}.sidebar.open{transform:none;box-shadow:0 0 40px rgba(0,0,0,.5)}.nav-backdrop{display:block;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:45}.header{left:0;padding:0 12px}.header-menu-btn{display:inline-flex}.app-main{margin-left:0;min-width:0}.page-content{padding:16px}.page-header{flex-wrap:wrap;gap:12px}.table-wrapper{-webkit-overflow-scrolling:touch}.modal{width:calc(100vw - 24px);max-height:calc(100vh - 24px);overflow-y:auto}}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}@media (max-width:1200px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.kpi-grid{grid-template-columns:1fr}}.kpi-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:20px 24px;position:relative;overflow:hidden;transition:all var(--ease-fast);cursor:default}.kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.kpi-card.kpi-teal:before{background:linear-gradient(90deg,var(--teal-600),var(--teal-400))}.kpi-card.kpi-violet:before{background:linear-gradient(90deg,var(--violet-500),var(--violet-400))}.kpi-card.kpi-warning:before{background:linear-gradient(90deg,#D97706,var(--warning))}.kpi-card.kpi-danger:before{background:linear-gradient(90deg,#DC2626,var(--danger))}.kpi-card.kpi-success:before{background:linear-gradient(90deg,#059669,var(--success))}.kpi-card:hover{border-color:var(--border-default);transform:translateY(-2px);box-shadow:var(--shadow-md)}.kpi-header{justify-content:space-between;margin-bottom:16px}.kpi-header,.kpi-icon{display:flex;align-items:center}.kpi-icon{width:40px;height:40px;border-radius:var(--radius-md);justify-content:center}.kpi-icon.teal{background:rgba(20,184,166,.12);color:var(--teal-400)}.kpi-icon.violet{background:rgba(139,92,246,.12);color:var(--violet-400)}.kpi-icon.warning{background:var(--warning-bg);color:var(--warning)}.kpi-icon.danger{background:var(--danger-bg);color:var(--danger)}.kpi-icon.success{background:var(--success-bg);color:var(--success)}.kpi-label{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.kpi-value{font-size:2rem;font-weight:700;color:var(--text-primary);line-height:1;margin-bottom:6px}.kpi-sub{font-size:.8125rem;color:var(--text-muted)}.kpi-trend{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:var(--radius-full)}.kpi-trend.up{background:var(--success-bg);color:var(--success)}.kpi-trend.down{background:var(--danger-bg);color:var(--danger)}.alerts-feed{display:flex;flex-direction:column;gap:10px}.alert-item{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:var(--bg-card);border:1px solid var(--border-subtle);border-left-width:3px;border-radius:var(--radius-md);transition:all var(--ease-fast)}.alert-item:hover{background:var(--bg-elevated)}.alert-item.alert-danger{border-left-color:var(--danger)}.alert-item.alert-warning{border-left-color:var(--warning)}.alert-item.alert-info{border-left-color:var(--info)}.alert-item.alert-success{border-left-color:var(--success)}.alert-icon{margin-top:1px;flex-shrink:0}.alert-content{flex:1 1}.alert-title{font-size:.875rem;font-weight:500;color:var(--text-primary);margin-bottom:2px}.alert-desc{font-size:.8125rem;color:var(--text-muted)}.alert-time{font-size:.6875rem;color:var(--text-disabled);margin-top:4px}.roster-preview{display:flex;flex-direction:column;gap:8px}.roster-row{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:.8125rem}.roster-row-name{font-weight:500;color:var(--text-primary);width:130px;flex-shrink:0}.roster-row-shifts{display:flex;flex-wrap:wrap;gap:6px;flex:1 1}.mini-shift{padding:3px 8px;border-radius:var(--radius-sm);font-size:.6875rem;font-weight:500}.mini-shift.ok{background:var(--success-bg);color:var(--success)}.mini-shift.warn{background:var(--warning-bg);color:var(--warning)}.mini-shift.breach{background:var(--danger-bg);color:var(--danger)}.roster-controls{gap:12px;margin-bottom:24px;flex-wrap:wrap}.roster-controls,.week-nav{display:flex;align-items:center}.week-nav{gap:8px}.week-label{font-size:.9375rem;font-weight:600;color:var(--text-primary);min-width:200px;text-align:center}.roster-grid{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden}.roster-header{display:grid;background:var(--bg-elevated);border-bottom:1px solid var(--border-subtle)}.roster-header-cell{padding:12px 10px;font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;text-align:center;border-right:1px solid var(--border-subtle)}.roster-header-cell:first-child{text-align:left;padding-left:16px}.roster-header-cell:last-child{border-right:none}.roster-header-cell.today{color:var(--teal-400)}.roster-body{display:flex;flex-direction:column}.roster-employee-row{display:grid;border-bottom:1px solid var(--border-subtle);min-height:80px}.roster-employee-row:last-child{border-bottom:none}.roster-employee-row:hover .roster-employee-cell{background:rgba(255,255,255,.01)}.roster-employee-cell{padding:12px 16px;border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;justify-content:center}.roster-employee-name{font-size:.875rem;font-weight:500;color:var(--text-primary)}.roster-employee-award{font-size:.6875rem;color:var(--text-muted);margin-top:2px}.roster-employee-type{margin-top:4px;display:inline-flex}.roster-day-cell{padding:8px;border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:4px;min-height:80px;position:relative;cursor:pointer;transition:background var(--ease-fast)}.roster-day-cell:last-child{border-right:none}.roster-day-cell:hover{background:var(--bg-elevated)}.roster-day-cell.today{background:rgba(20,184,166,.04)}.add-shift-btn{position:absolute;bottom:6px;right:6px;width:24px;height:24px;border-radius:50%;background:var(--bg-elevated);border:1px solid var(--border-default);display:none;align-items:center;justify-content:center;cursor:pointer;color:var(--text-muted);font-size:14px;transition:all var(--ease-fast)}.roster-day-cell:hover .add-shift-btn{display:flex}.add-shift-btn:hover{background:var(--teal-glow);color:var(--teal-400);border-color:var(--teal-500)}.shift-card{border-radius:var(--radius-sm);padding:5px 8px;font-size:.6875rem;cursor:pointer;transition:all var(--ease-fast);border-left:2px solid transparent;position:relative}.shift-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.shift-card.compliant{background:rgba(16,185,129,.08);border-left-color:var(--success);color:var(--success)}.shift-card.warning{background:rgba(245,158,11,.08);border-left-color:var(--warning);color:var(--warning)}.shift-card.breach{background:rgba(239,68,68,.08);border-left-color:var(--danger);color:var(--danger)}.shift-time{font-weight:600}.shift-hours{opacity:.75;margin-top:1px}.shift-role{opacity:.85}.roster-legend{gap:16px;margin-top:16px;flex-wrap:wrap}.legend-item,.roster-legend{display:flex;align-items:center}.legend-item{gap:6px;font-size:.75rem;color:var(--text-muted)}.employee-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.employee-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:20px;transition:all var(--ease-fast);cursor:pointer;position:relative;overflow:hidden}.employee-card:after{content:"";position:absolute;inset:0;border-radius:var(--radius-lg);border:1px solid transparent;transition:border-color var(--ease-fast)}.employee-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.employee-card:hover:after{border-color:var(--border-default)}.employee-card-top{display:flex;align-items:flex-start;gap:14px;margin-bottom:14px}.employee-info{flex:1 1}.employee-name{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin-bottom:2px}.employee-role{font-size:.8125rem;color:var(--text-muted)}.employee-card-details{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border-subtle)}.employee-detail-label{font-size:.6875rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.employee-detail-value{font-size:.8125rem;font-weight:500;color:var(--text-primary);margin-top:2px}.employee-card-actions{display:flex;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border-subtle)}.av-teal{background:rgba(20,184,166,.15);color:var(--teal-400)}.av-violet{background:rgba(139,92,246,.15);color:var(--violet-400)}.av-blue{background:rgba(96,165,250,.15);color:var(--info)}.av-orange{background:rgba(251,146,60,.15);color:#FB923C}.av-pink{background:rgba(244,114,182,.15);color:#F472B6}.av-green{background:rgba(52,211,153,.15);color:var(--success)}.award-tabs{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}.award-tab{padding:8px 16px;border-radius:var(--radius-md);font-size:.8125rem;font-weight:500;cursor:pointer;background:var(--bg-elevated);border:1px solid var(--border-subtle);color:var(--text-muted);transition:all var(--ease-fast)}.award-tab:hover{color:var(--text-primary);border-color:var(--border-default)}.award-tab.active{background:rgba(20,184,166,.1);border-color:rgba(20,184,166,.3);color:var(--teal-400)}.penalty-calc{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:28px}.calc-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}@media (max-width:700px){.calc-form{grid-template-columns:1fr}}.calc-result{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:20px}.calc-result-title{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:16px}.calc-breakdown{display:flex;flex-direction:column;gap:10px}.calc-row{display:flex;align-items:center;justify-content:space-between;font-size:.875rem}.calc-row-label{color:var(--text-muted)}.calc-row-value{font-weight:600;color:var(--text-primary)}.calc-total{border-top:1px solid var(--border-default);padding-top:12px;margin-top:4px}.calc-total .calc-row-label{color:var(--text-primary);font-weight:600}.calc-total .calc-row-value{color:var(--teal-400);font-size:1.25rem;font-weight:700}.rate-highlight{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;background:var(--teal-glow);border:1px solid rgba(20,184,166,.2);border-radius:var(--radius-full);color:var(--teal-400);font-size:.8125rem;font-weight:600}.payroll-summary-bar{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:28px}@media (max-width:700px){.payroll-summary-bar{grid-template-columns:1fr}}.payroll-table .multiplier{font-size:.75rem;color:var(--text-muted);margin-top:2px}.login-page{min-height:100vh;background:var(--bg-base);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.login-bg-glow{width:600px;height:600px;background:radial-gradient(circle,rgba(20,184,166,.12) 0,transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%)}.login-bg-glow,.login-bg-glow-2{position:absolute;pointer-events:none}.login-bg-glow-2{width:400px;height:400px;background:radial-gradient(circle,rgba(139,92,246,.08) 0,transparent 70%);top:20%;right:10%}.login-card{width:100%;max-width:420px;padding:40px;background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);animation:slideUp var(--ease-base) forwards;position:relative;z-index:1}.login-logo{gap:12px;margin-bottom:32px}.login-logo,.login-logo-icon{display:flex;align-items:center}.login-logo-icon{width:48px;height:48px;background:linear-gradient(135deg,var(--teal-600),var(--teal-400));border-radius:var(--radius-lg);justify-content:center;box-shadow:var(--shadow-teal)}.login-logo-text{font-size:1.375rem;font-weight:700}.login-logo-tagline{font-size:.75rem;color:var(--text-muted)}.login-title{font-size:1.5rem;font-weight:700;margin-bottom:6px}.login-subtitle{font-size:.875rem;color:var(--text-muted);margin-bottom:28px}.login-form{display:flex;flex-direction:column;gap:16px}.login-hint{padding:10px;background:var(--bg-surface);border-radius:var(--radius-md);margin-top:8px}.login-footer,.login-hint{text-align:center;font-size:.75rem;color:var(--text-muted)}.login-footer{margin-top:24px}.au-flag{font-size:1.1em}