:root,[data-theme=dark]{--bg-base: #090d16;--bg-surface: #0f172a;--bg-surface-elevated: #1e293b;--bg-surface-glass: rgba(15, 23, 42, .75);--bg-surface-glass-border: rgba(255, 255, 255, .08);--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--accent-primary: #0284c7;--accent-primary-hover: #0369a1;--accent-glow: rgba(2, 132, 199, .25);--accent-cyan: #06b6d4;--accent-emerald: #10b981;--accent-emerald-glow: rgba(16, 185, 129, .2);--accent-amber: #f59e0b;--accent-rose: #f43f5e;--accent-violet: #8b5cf6;--border-subtle: rgba(255, 255, 255, .08);--border-focus: rgba(2, 132, 199, .6);--nav-bg: rgba(15, 23, 42, .95);--sidebar-bg: #0c1222;--card-bg-subtle: rgba(255, 255, 255, .03);--input-bg: rgba(15, 23, 42, .8);--table-th-bg: rgba(15, 23, 42, .95);--table-hover-bg: rgba(255, 255, 255, .03);--modal-bg: #0f172a;--modal-overlay-bg: rgba(4, 7, 13, .8);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .25);--shadow-md: 0 8px 24px rgba(0, 0, 0, .35);--shadow-lg: 0 20px 40px rgba(0, 0, 0, .5);--shadow-glow: 0 0 25px rgba(2, 132, 199, .2);--bg-gradient: radial-gradient(at 0% 0%, rgba(2, 132, 199, .12) 0px, transparent 50%), radial-gradient(at 100% 0%, rgba(139, 92, 246, .1) 0px, transparent 45%), radial-gradient(at 50% 100%, rgba(16, 185, 129, .05) 0px, transparent 60%);--font-main: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", monospace;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-full: 9999px;--transition: all .2s cubic-bezier(.16, 1, .3, 1);--sidebar-width: 220px}[data-theme=light]{--bg-base: #f5f7fa;--bg-surface: #ffffff;--bg-surface-elevated: #f1f5f9;--bg-surface-glass: rgba(255, 255, 255, .88);--bg-surface-glass-border: rgba(226, 232, 240, .9);--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--accent-primary: #0284c7;--accent-primary-hover: #0369a1;--accent-glow: rgba(2, 132, 199, .15);--accent-cyan: #0891b2;--accent-emerald: #059669;--accent-emerald-glow: rgba(5, 150, 105, .15);--accent-amber: #d97706;--accent-rose: #e11d48;--accent-violet: #7c3aed;--border-subtle: rgba(0, 0, 0, .07);--border-focus: rgba(2, 132, 199, .6);--nav-bg: rgba(255, 255, 255, .92);--sidebar-bg: #ffffff;--card-bg-subtle: rgba(0, 0, 0, .02);--input-bg: #ffffff;--table-th-bg: #f8fafc;--table-hover-bg: rgba(2, 132, 199, .04);--modal-bg: #ffffff;--modal-overlay-bg: rgba(15, 23, 42, .35);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04);--shadow-md: 0 4px 16px -2px rgba(0, 0, 0, .06);--shadow-lg: 0 16px 36px -4px rgba(0, 0, 0, .1);--shadow-glow: 0 0 25px rgba(2, 132, 199, .15);--bg-gradient: radial-gradient(at 0% 0%, rgba(2, 132, 199, .04) 0px, transparent 50%), radial-gradient(at 100% 0%, rgba(139, 92, 246, .03) 0px, transparent 45%), radial-gradient(at 50% 100%, rgba(16, 185, 129, .02) 0px, transparent 60%)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main);background-color:var(--bg-base);color:var(--text-primary);min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased;background-image:var(--bg-gradient);background-attachment:fixed;transition:background-color .25s ease,color .25s ease}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:3px;opacity:.4}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.app-container{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);background:var(--sidebar-bg);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto;z-index:100;transition:var(--transition)}.main-content{flex:1;min-width:0;padding:.75rem 1.25rem;overflow:hidden;display:flex;flex-direction:column;height:100vh}.glass-panel{background:var(--bg-surface-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--bg-surface-glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:var(--transition)}.glass-panel:hover{border-color:#0284c733}.stat-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .5rem;background:var(--card-bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:.72rem;font-weight:700;color:var(--text-primary);white-space:nowrap}.stat-chip .stat-label{font-weight:500;color:var(--text-muted);font-size:.62rem}h1,h2,h3,h4,h5{color:var(--text-primary);font-weight:700;letter-spacing:-.02em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-main);font-size:.82rem;font-weight:600;padding:.55rem 1.1rem;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:var(--transition);text-decoration:none;white-space:nowrap}.btn:active{transform:scale(.98)}.btn-primary{background:linear-gradient(135deg,#0284c7,#0369a1);color:#fff;box-shadow:0 4px 12px #0284c759}.btn-primary:hover{background:linear-gradient(135deg,#0369a1,#075985);box-shadow:0 6px 16px #0284c780;transform:translateY(-1px)}.btn-secondary{background:var(--card-bg-subtle);border-color:var(--border-subtle);color:var(--text-primary)}.btn-secondary:hover{background:var(--table-hover-bg);border-color:var(--accent-primary);color:var(--text-primary)}.btn-xero{background:linear-gradient(135deg,#13b5ea,#0096c7);color:#fff;box-shadow:0 4px 12px #13b5ea4d}.btn-xero:hover{background:linear-gradient(135deg,#0096c7,#0077b6);box-shadow:0 6px 18px #13b5ea73;transform:translateY(-1px)}.btn-msft{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;box-shadow:0 4px 12px #2563eb4d}.btn-msft:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);transform:translateY(-1px)}.btn-sm{padding:.35rem .65rem;font-size:.76rem;border-radius:var(--radius-sm)}.btn-danger{background:#f43f5e1a;border-color:#f43f5e4d;color:#e11d48}.btn-danger:hover{background:#f43f5e40;border-color:#f43f5e99;color:#be123c}.sidebar-nav-item{display:flex;align-items:center;gap:.65rem;padding:.65rem 1rem;border-radius:var(--radius-md);font-size:.82rem;font-weight:600;color:var(--text-secondary);cursor:pointer;border:none;background:transparent;width:100%;text-align:left;transition:var(--transition);font-family:var(--font-main)}.sidebar-nav-item:hover{background:var(--table-hover-bg);color:var(--text-primary)}.sidebar-nav-item.active{background:#0284c71f;color:var(--accent-primary)}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .5rem;border-radius:var(--radius-full);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.badge-success{background:#10b98126;color:var(--accent-emerald);border:1px solid rgba(16,185,129,.3)}.badge-primary{background:#0284c726;color:var(--accent-primary);border:1px solid rgba(2,132,199,.3)}.badge-warning{background:#f59e0b26;color:var(--accent-amber);border:1px solid rgba(245,158,11,.3)}.badge-muted{background:#94a3b826;color:var(--text-secondary);border:1px solid rgba(148,163,184,.25)}.badge-xero{background:#13b5ea26;color:#0284c7;border:1px solid rgba(19,181,234,.35)}.input-field{width:100%;background:var(--input-bg);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:.55rem .8rem;color:var(--text-primary);font-family:var(--font-main);font-size:.82rem;transition:var(--transition)}.input-field:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #0284c733}.input-field::placeholder{color:var(--text-muted)}.data-table-wrapper{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--bg-surface)}.data-table{width:100%;border-collapse:collapse;text-align:left;font-size:.8rem}.data-table th{background:var(--table-th-bg);color:var(--text-secondary);font-weight:600;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;padding:.6rem .75rem;border-bottom:1px solid var(--border-subtle);position:sticky;top:0;z-index:5}.data-table td{padding:.55rem .75rem;border-bottom:1px solid var(--border-subtle);color:var(--text-primary);transition:var(--transition)}.data-table tr:hover td{background:var(--table-hover-bg)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--modal-overlay-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1.5rem;animation:fadeIn .15s ease-out}.modal-content{background:var(--modal-bg);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-height:90vh;display:flex;flex-direction:column;overflow:hidden;animation:scaleUp .2s cubic-bezier(.16,1,.3,1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleUp{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.font-mono{font-family:var(--font-mono)}.pulse-dot{width:8px;height:8px;border-radius:50%;display:inline-block;background:#10b981;box-shadow:0 0 10px #10b981}.pulse-dot-amber{background:#f59e0b;box-shadow:0 0 10px #f59e0b}.theme-toggle-btn{width:32px;height:32px;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--card-bg-subtle);color:var(--text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition)}.theme-toggle-btn:hover{background:var(--table-hover-bg);border-color:var(--accent-primary);color:var(--accent-primary)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinning{animation:spin 1s linear infinite}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}
