*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary: #f0f0f0;--bg-secondary: #fafafa;--bg-panel: #ffffff;--bg-panel-hover: #f7f7f7;--bg-input: #ffffff;--bg-sidebar: #1a1a1a;--bg-sidebar-hover: #2a2a2a;--border: #e0e0e0;--border-light: #ebebeb;--accent: #4a4a4a;--accent-hover: #333333;--accent-dark: #1a1a1a;--text-primary: #1a1a1a;--text-secondary: #6b6b6b;--text-muted: #999999;--text-white: #ffffff;--text-sidebar: #cccccc;--text-sidebar-active: #ffffff;--success: #2d8a4e;--warning: #b8860b;--danger: #c0392b;--danger-hover: #a93226;--blue-accent: #4a6fa5;--font: "Helvetica Neue", Helvetica, Arial, sans-serif}html,body{font-family:var(--font);background:var(--bg-primary);color:var(--text-primary);letter-spacing:-.025em;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh}#root{min-height:100vh}a{color:var(--accent-dark);text-decoration:none}a:hover{color:var(--accent-hover)}.app-layout{display:flex;min-height:100vh}.sidebar{width:220px;background:var(--bg-sidebar);padding:32px 0;display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100}.sidebar-brand{padding:0 24px 32px;border-bottom:1px solid #333}.sidebar-brand h1{font-size:15px;font-weight:600;color:var(--text-white);letter-spacing:-.03em;margin-bottom:2px}.sidebar-brand span{font-size:9px;color:#777;letter-spacing:.15em;text-transform:uppercase}.sidebar-nav{padding:16px 0;flex:1}.sidebar-nav a{display:flex;align-items:center;gap:10px;padding:10px 24px;color:var(--text-sidebar);font-size:13px;font-weight:500;letter-spacing:-.01em;transition:all .15s}.sidebar-nav a:hover{color:var(--text-sidebar-active);background:var(--bg-sidebar-hover)}.sidebar-nav a.active{color:var(--text-white);background:var(--bg-sidebar-hover);border-left:2px solid #fff}.sidebar-footer{padding:16px 24px;border-top:1px solid #333}.sidebar-footer button{background:none;border:none;color:#777;font-size:12px;cursor:pointer;font-family:var(--font);letter-spacing:-.01em}.sidebar-footer button:hover{color:var(--danger)}.main-content{margin-left:220px;flex:1;padding:40px;min-height:100vh;background:var(--bg-primary)}.page-header{margin-bottom:32px}.page-header h2{font-size:22px;font-weight:600;color:var(--text-primary);letter-spacing:-.04em}.page-header p{font-size:13px;color:var(--text-muted);margin-top:4px}.panel{background:var(--bg-panel);border:1px solid var(--border-light);padding:24px;margin-bottom:24px;box-shadow:0 1px 3px #0000000a}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.panel-title{font-size:11px;font-weight:600;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase}.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:32px}.stat-card{background:var(--bg-panel);border:1px solid var(--border-light);padding:20px 24px;box-shadow:0 1px 3px #0000000a}.stat-card .label{font-size:11px;font-weight:600;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}.stat-card .value{font-size:28px;font-weight:600;color:var(--text-primary);letter-spacing:-.04em}.stat-card .value.accent{color:var(--accent-dark)}.stat-card .sub{font-size:11px;color:var(--text-muted);margin-top:4px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:10px;font-weight:600;color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;padding:12px 16px;border-bottom:1px solid var(--border);white-space:nowrap}td{padding:12px 16px;font-size:13px;color:var(--text-secondary);border-bottom:1px solid var(--border-light);white-space:nowrap}tr:hover td{background:var(--bg-panel-hover)}td .client-name{color:var(--text-primary);font-weight:500}td .company{color:var(--text-muted);font-size:11px}.badge{display:inline-block;padding:3px 10px;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.badge-draft{background:#f0f0f0;color:#999}.badge-open{background:#e8f0fe;color:#4a6fa5}.badge-paid{background:#e6f4ea;color:#2d8a4e}.badge-void{background:#f0f0f0;color:#aaa}.badge-refunded{background:#fce8e6;color:#c0392b}.badge-invoice{background:#e8f0fe;color:#4a6fa5}.badge-receipt{background:#e6f4ea;color:#2d8a4e}.badge-cash{background:#f0f0f0;color:#888}.badge-stripe{background:#ede7f6;color:#6a4c93}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group.full{grid-column:1 / -1}.form-group label{font-size:11px;font-weight:600;color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase}input,select,textarea{background:var(--bg-input);border:1px solid var(--border);color:var(--text-primary);padding:10px 14px;font-size:13px;font-family:var(--font);letter-spacing:-.01em;outline:none;transition:border-color .15s}input:focus,select:focus,textarea:focus{border-color:var(--accent)}input::placeholder,textarea::placeholder{color:#ccc}textarea{resize:vertical;min-height:80px}select{cursor:pointer}.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;font-size:12px;font-weight:600;font-family:var(--font);letter-spacing:.02em;cursor:pointer;border:1px solid transparent;transition:all .15s;white-space:nowrap}.btn-primary{background:var(--accent-dark);color:var(--text-white);border-color:var(--accent-dark)}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:transparent;color:var(--text-secondary);border-color:var(--border)}.btn-secondary:hover{color:var(--text-primary);border-color:var(--accent)}.btn-danger{background:transparent;color:var(--danger);border-color:var(--danger)}.btn-danger:hover{background:var(--danger);color:var(--text-white)}.btn-ghost{background:transparent;border:none;color:var(--text-muted);padding:6px 10px}.btn-ghost:hover{color:var(--text-primary)}.btn-sm{padding:5px 12px;font-size:11px}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-row{display:flex;gap:10px;margin-top:20px}.actions-cell{display:flex;gap:4px}.filters-bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.filters-bar input,.filters-bar select{padding:7px 12px;font-size:12px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--bg-panel);border:1px solid var(--border);width:520px;max-width:90vw;max-height:85vh;overflow-y:auto;padding:32px;box-shadow:0 8px 30px #0000001f}.modal h3{font-size:16px;font-weight:600;color:var(--text-primary);letter-spacing:-.03em;margin-bottom:16px}.modal p{font-size:13px;color:var(--text-secondary);margin-bottom:20px;line-height:1.6}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-primary)}.login-box{width:380px;padding:48px 40px;background:var(--bg-panel);border:1px solid var(--border-light);box-shadow:0 2px 12px #0000000f}.login-box h1{font-size:20px;font-weight:600;color:var(--text-primary);letter-spacing:-.04em;margin-bottom:4px}.login-box .subtitle{font-size:10px;color:var(--text-muted);letter-spacing:.15em;text-transform:uppercase;margin-bottom:36px}.login-box .form-group{margin-bottom:16px}.login-box .btn{width:100%;justify-content:center;margin-top:8px}.error-msg{font-size:12px;color:var(--danger);margin-top:8px}.success-msg{font-size:12px;color:var(--success);margin-top:8px}.totp-setup{text-align:center}.totp-setup img{margin:20px 0;border:1px solid var(--border)}.totp-setup .secret-key{font-family:monospace;font-size:13px;color:var(--accent-dark);background:var(--bg-primary);padding:8px 16px;display:inline-block;margin:12px 0;letter-spacing:.1em;border:1px solid var(--border)}.empty-state{text-align:center;padding:60px 20px;color:var(--text-muted)}.empty-state p{font-size:13px}.loading{display:flex;align-items:center;justify-content:center;padding:60px;color:var(--text-muted);font-size:13px}
