@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--hue-primary: 250;--hue-success: 142;--hue-warning: 38;--hue-danger: 0;--bg-app: hsl(240, 20%, 98%);--bg-sidebar: hsl(240, 15%, 96%);--bg-card: hsl(0, 0%, 100%);--bg-input: hsl(240, 10%, 98%);--bg-modal: hsl(0, 0%, 100%);--text-primary: hsl(240, 10%, 4%);--text-secondary: hsl(240, 6%, 40%);--text-muted: hsl(240, 5%, 65%);--text-on-accent: hsl(0, 0%, 100%);--border-color: hsl(240, 10%, 90%);--border-focus: hsl(var(--hue-primary), 80%, 60%);--accent: hsl(var(--hue-primary), 80%, 55%);--accent-hover: hsl(var(--hue-primary), 80%, 45%);--accent-soft: hsl(var(--hue-primary), 80%, 96%);--success: hsl(var(--hue-success), 72%, 40%);--success-soft: hsl(var(--hue-success), 70%, 95%);--warning: hsl(var(--hue-warning), 90%, 40%);--warning-soft: hsl(var(--hue-warning), 90%, 95%);--danger: hsl(var(--hue-danger), 84%, 60%);--danger-hover: hsl(var(--hue-danger), 84%, 50%);--danger-soft: hsl(var(--hue-danger), 80%, 96%);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .05), 0 2px 4px -1px rgba(0, 0, 0, .03);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .06), 0 4px 6px -2px rgba(0, 0, 0, .03);--shadow-glow: 0 0 20px -5px hsl(var(--hue-primary), 80%, 65%, .15);--font-sans: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", monospace;--sidebar-width: 260px;--transition-speed: .25s}.dark{--bg-app: hsl(240, 10%, 6%);--bg-sidebar: hsl(240, 10%, 8%);--bg-card: hsl(240, 10%, 10%);--bg-input: hsl(240, 8%, 14%);--bg-modal: hsl(240, 10%, 12%);--text-primary: hsl(240, 10%, 95%);--text-secondary: hsl(240, 5%, 70%);--text-muted: hsl(240, 4%, 45%);--border-color: hsl(240, 8%, 16%);--border-focus: hsl(var(--hue-primary), 70%, 55%);--accent: hsl(var(--hue-primary), 70%, 60%);--accent-hover: hsl(var(--hue-primary), 70%, 50%);--accent-soft: hsl(var(--hue-primary), 30%, 14%);--success: hsl(var(--hue-success), 70%, 45%);--success-soft: hsl(var(--hue-success), 30%, 12%);--warning: hsl(var(--hue-warning), 80%, 50%);--warning-soft: hsl(var(--hue-warning), 30%, 12%);--danger: hsl(var(--hue-danger), 75%, 55%);--danger-hover: hsl(var(--hue-danger), 75%, 45%);--danger-soft: hsl(var(--hue-danger), 30%, 14%);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -1px rgba(0, 0, 0, .2);--shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, .5), 0 10px 10px -5px rgba(0, 0, 0, .3);--shadow-glow: 0 0 20px -5px hsl(var(--hue-primary), 70%, 60%, .25)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-app);color:var(--text-primary);line-height:1.5;transition:background-color var(--transition-speed),color var(--transition-speed);-webkit-font-smoothing:antialiased;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-app)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.app-container{display:flex;min-height:100vh;width:100vw}.main-content{flex-grow:1;padding:2.5rem;margin-left:var(--sidebar-width);transition:margin-left var(--transition-speed);max-width:calc(100vw - var(--sidebar-width))}.sidebar{width:var(--sidebar-width);background-color:var(--bg-sidebar);border-right:1px solid var(--border-color);position:fixed;top:0;bottom:0;left:0;display:flex;flex-direction:column;padding:1.5rem;z-index:100;transition:background-color var(--transition-speed),border-color var(--transition-speed)}.sidebar-logo{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:2.5rem;display:flex;align-items:center;gap:.5rem;letter-spacing:-.025em}.sidebar-logo span{color:var(--accent)}.sidebar-menu{list-style:none;display:flex;flex-direction:column;gap:.5rem;flex-grow:1}.sidebar-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;color:var(--text-secondary);border-radius:.5rem;cursor:pointer;font-weight:500;transition:all var(--transition-speed)}.sidebar-item:hover,.sidebar-item.active{color:var(--text-primary);background-color:var(--border-color)}.sidebar-item.active{color:var(--accent);background-color:var(--accent-soft);font-weight:600}.sidebar-footer{margin-top:auto;display:flex;flex-direction:column;gap:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}h1,h2,h3,h4{font-weight:600;color:var(--text-primary);letter-spacing:-.02em}h1{font-size:2rem;margin-bottom:.5rem}h2{font-size:1.5rem;margin-bottom:1.5rem}h3{font-size:1.15rem;margin-bottom:.75rem}.text-secondary{color:var(--text-secondary)}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2.5rem}.metric-card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:1rem;padding:1.5rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.75rem;position:relative;overflow:hidden;transition:all var(--transition-speed)}.metric-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md),var(--shadow-glow);border-color:var(--accent)}.metric-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--card-accent, var(--accent))}.metric-card.revenue{--card-accent: var(--success)}.metric-card.receivables{--card-accent: var(--warning)}.metric-card.projects{--card-accent: var(--accent)}.metric-title{font-size:.875rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.metric-value{font-size:2.25rem;font-weight:700;color:var(--text-primary);letter-spacing:-.03em;font-feature-settings:"tnum"}.metric-footer{font-size:.8rem;color:var(--text-muted)}.card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:1rem;padding:2rem;box-shadow:var(--shadow-sm);margin-bottom:2rem;transition:all var(--transition-speed)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;border-radius:.5rem;font-weight:600;font-size:.875rem;cursor:pointer;transition:all var(--transition-speed);border:1px solid transparent}.btn-primary{background-color:var(--accent);color:var(--text-on-accent)}.btn-primary:hover{background-color:var(--accent-hover);box-shadow:0 0 15px hsl(var(--hue-primary),80%,65%,.25)}.btn-secondary{background-color:transparent;border-color:var(--border-color);color:var(--text-secondary)}.btn-secondary:hover{background-color:var(--bg-input);color:var(--text-primary);border-color:var(--text-muted)}.btn-danger{background-color:var(--danger);color:var(--text-on-accent)}.btn-danger:hover{background-color:var(--danger-hover)}.btn-icon-only{padding:.5rem;border-radius:.375rem}.table-container{overflow-x:auto;border-radius:.75rem;border:1px solid var(--border-color);margin-top:1rem}.custom-table,.modern-table{width:100%;border-collapse:collapse;text-align:left;font-size:.925rem}.custom-table th,.modern-table th{background-color:var(--bg-sidebar);color:var(--text-secondary);font-weight:600;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.custom-table td,.modern-table td{padding:1rem 1.25rem;border-bottom:1px solid var(--border-color);color:var(--text-primary);vertical-align:middle;transition:background-color var(--transition-speed)}.custom-table tr:last-child td,.modern-table tr:last-child td{border-bottom:none}.custom-table tr:hover td,.modern-table tr:hover td{background-color:var(--accent-soft)}.nowrap{white-space:nowrap}.badge{display:inline-flex;align-items:center;padding:.25rem .625rem;border-radius:9999px;font-size:.75rem;font-weight:600}.badge-success{background-color:var(--success-soft);color:var(--success)}.badge-warning{background-color:var(--warning-soft);color:var(--warning)}.badge-neutral{background-color:var(--bg-input);color:var(--text-secondary)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin-bottom:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group.full-width{grid-column:1 / -1}label{font-size:.85rem;font-weight:600;color:var(--text-secondary)}.input-field,.select-field,.textarea-field{padding:.625rem .875rem;background-color:var(--bg-input);border:1px solid var(--border-color);color:var(--text-primary);border-radius:.5rem;font-family:inherit;font-size:.95rem;transition:all var(--transition-speed);outline:none}.input-field:focus,.select-field:focus,.textarea-field:focus{border-color:var(--border-focus);box-shadow:0 0 0 2px hsl(var(--hue-primary),80%,65%,.15);background-color:var(--bg-card)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000a6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1.25rem}.modal-container,.modal-content{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:1rem;width:100%;max-width:650px;box-shadow:0 20px 30px -10px #00000080,0 10px 15px -5px #0000004d;overflow:hidden;animation:modalEnter .25s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;max-height:90vh;padding:1.75rem;color:var(--text-primary);position:relative}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;padding-bottom:.85rem;border-bottom:1px solid var(--border-color);flex-shrink:0}.modal-header h3{margin:0;font-size:1.25rem;font-weight:700;color:var(--text-primary);line-height:1.3}.modal-close-btn{background:transparent;border:none;color:var(--text-muted);width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;cursor:pointer;transition:all .2s ease;flex-shrink:0;line-height:1}.modal-close-btn:hover{background-color:var(--accent-soft);color:var(--accent)}.modal-body{flex:1;overflow-y:auto;padding-right:.25rem;margin-bottom:1.25rem}.modal-footer{display:flex;justify-content:flex-end;align-items:center;gap:.75rem;padding-top:1rem;border-top:1px solid var(--border-color);margin-top:auto;flex-wrap:wrap;flex-shrink:0}.clerk-login-container{min-height:100vh;width:100vw;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 30%,#202027,#0b0b0e);color:#f8fafc;padding:1.5rem}.clerk-login-logo{display:flex;align-items:center;gap:.75rem;font-size:1.5rem;font-weight:700;color:#f8fafc;margin-bottom:.5rem;letter-spacing:-.02em}.clerk-login-subtitle{color:#94a3b8;font-size:.9rem;margin-bottom:2rem}.metrics-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-bottom:2rem}@media(max-width:1200px){.metrics-grid-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.metrics-grid-4{grid-template-columns:1fr}}.trend-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:9999px;font-size:.725rem;font-weight:600}.trend-badge.positive{background-color:#22c55e1f;color:var(--success);border:1px solid rgba(34,197,94,.25)}.trend-badge.negative{background-color:#ef44441f;color:var(--danger);border:1px solid rgba(239,68,68,.25)}.trend-badge.neutral{background-color:#8b5cf61f;color:var(--accent);border:1px solid rgba(139,92,246,.25)}.tab-group{display:inline-flex;background-color:var(--bg-input);padding:.25rem;border-radius:.5rem;border:1px solid var(--border-color)}.tab-btn{background:none;border:none;padding:.35rem .85rem;font-size:.825rem;font-weight:500;color:var(--text-secondary);border-radius:.375rem;cursor:pointer;transition:all var(--transition-speed)}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{background-color:var(--bg-card);color:var(--text-primary);font-weight:600;box-shadow:var(--shadow-sm)}.tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem}.tool-card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:1rem;padding:2rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:1rem;transition:all var(--transition-speed)}.tool-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md),var(--shadow-glow);border-color:var(--accent)}.tool-compact-card:hover{transform:translateY(-3px);border-color:var(--accent)!important;box-shadow:0 10px 25px -5px #6366f140!important}
