.login-page{color:#0f172a;background:#f7f9fc;flex-direction:column;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;display:flex}.login-header{z-index:10;align-items:center;height:64px;padding:0 32px;display:flex;position:absolute;top:0;left:0}.login-logo-small{width:auto;height:32px}.login-main{flex:1;justify-content:center;align-items:center;padding:32px;display:flex}.login-card{background:#fff;border-radius:14px;width:100%;max-width:420px;padding:32px;box-shadow:0 10px 25px #0f172a14,0 2px 8px #0f172a0d}.login-title{margin:0 0 8px;font-size:28px;font-weight:700}.login-subtitle{color:#475569;margin-bottom:24px;font-size:14px}.login-form{flex-direction:column;gap:12px;display:flex}.login-label{color:#334155;font-size:13px;font-weight:500}.login-input{border:1px solid #cbd5e1;border-radius:10px;height:44px;padding:0 14px;font-size:14px;transition:border-color .2s,box-shadow .2s}.login-input::placeholder{color:#94a3b8}.login-input:focus{border-color:#22c55e;outline:none;box-shadow:0 0 0 3px #22c55e26}.login-input:disabled{cursor:not-allowed;background:#f1f5f9}.login-error{color:#dc2626;font-size:13px}.login-button{color:#fff;cursor:pointer;background:#22c55e;border:none;border-radius:999px;height:46px;margin-top:8px;font-size:15px;font-weight:600;transition:background .2s,transform .1s}.login-button:hover:not(:disabled){background:#16a34a}.login-button:active:not(:disabled){transform:translateY(1px)}.login-button:disabled{cursor:not-allowed;background:#86efac}.login-help{color:#64748b;margin-top:12px;font-size:13px;line-height:1.4}@media (max-width:480px){.login-header{padding:0 20px}.login-card{padding:24px}.login-title{font-size:24px}}.login-page,.auth-page{color:#0f172a;z-index:9999;background:#f7f9fc;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;display:flex;position:fixed;inset:0}.auth-header{align-items:center;height:64px;padding:0 32px;display:flex;position:absolute;top:0;left:0}.auth-icon{margin-bottom:12px;font-size:28px}.auth-title{margin-bottom:8px;font-size:26px;font-weight:700}.otp-form{flex-direction:column;gap:14px;display:flex}.otp-inputs{justify-content:center;gap:12px;margin-bottom:6px;display:flex}.otp-input{color:#0f172a;text-align:center;background:#fff;border:1px solid #cbd5e1;border-radius:12px;width:52px;height:56px;font-size:20px;font-weight:600;transition:border-color .2s,box-shadow .2s}.otp-input::placeholder{color:#0000}.otp-input:focus{border-color:#22c55e;outline:none;box-shadow:0 0 0 3px #22c55e26}.otp-input:not(:placeholder-shown){border-color:#22c55e}.otp-input:disabled{cursor:not-allowed;background:#f8fafc}.auth-error{color:#b91c1c;background:#fef2f2;border-radius:8px;align-items:center;gap:6px;padding:10px 12px;font-size:13px;display:flex}.auth-button{cursor:pointer;border:none;border-radius:999px;height:46px;font-size:15px;font-weight:600;transition:all .2s}.auth-button-primary{color:#fff;background:#22c55e}.auth-button-primary:hover:not(:disabled){background:#16a34a}.auth-button-secondary{color:#fff;background:#0f172a}.auth-button-secondary:hover:not(:disabled){background:#020617}.auth-link{color:#2563eb;cursor:pointer;background:0 0;border:none;padding:0;font-size:14px}.auth-link:hover:not(:disabled){text-decoration:underline}.auth-link:disabled{opacity:.6;cursor:not-allowed}.auth-footer-text{color:#64748b;margin-top:16px;font-size:13px}.spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:14px;height:14px;margin-right:8px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:480px){.auth-card{padding:28px}.auth-title{font-size:22px}.otp-input{width:44px;height:48px}}.auth-countdown{text-align:center;color:#6b7280;margin-top:16px;font-size:.9rem}.auth-countdown strong{color:#4f46e5;font-weight:600}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;line-height:1.5}.dashboard-container{background:#f8fafc;width:100vw;height:100vh;display:flex;overflow:hidden}.dashboard-sidebar{color:#fff;z-index:100;background:linear-gradient(#111827 0%,#020617 100%);flex-direction:column;flex-shrink:0;width:280px;transition:width .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;box-shadow:4px 0 24px #00000026}.dashboard-sidebar.closed{width:80px}.sidebar-header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;min-height:76px;padding:24px 20px;display:flex}.sidebar-logo{align-items:center;gap:12px;display:flex}.logo-image{object-fit:contain;background:#fff;border-radius:8px;width:40px;height:40px;padding:4px;transition:transform .3s;box-shadow:0 3px 10px #0f172acc}.logo-image:hover{transform:scale(1.05)}.logo-text{display:none}.sidebar-toggle{color:#e5e7eb;cursor:pointer;background:#0f172acc;border:1px solid #94a3b866;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;transition:all .3s;display:flex}.sidebar-toggle:hover{background:#4f46e5e6;transform:scale(1.05);box-shadow:0 4px 12px #4f46e599}.sidebar-nav{flex-direction:column;flex:1;gap:8px;padding:20px 14px;display:flex;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:0 0}.sidebar-nav::-webkit-scrollbar-thumb{background:#94a3b84d;border-radius:4px}.nav-item{color:#e2e8f0d9;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:12px;align-items:center;gap:14px;width:100%;padding:13px 16px;font-size:15px;font-weight:500;transition:all .3s;display:flex;position:relative;overflow:hidden}.nav-item:before{content:"";background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 100%);width:4px;transition:transform .3s;position:absolute;top:0;bottom:0;left:0;transform:translate(-100%)}.nav-item:hover{color:#fff;background:#0f172ad9;transform:translate(4px)}.nav-item:hover:before{transform:translate(0)}.nav-item.active{color:#fff;background:linear-gradient(135deg,#4f46e540 0%,#7c3aed40 100%);border:1px solid #818cf899;box-shadow:0 4px 16px #4f46e566}.nav-item.active:before{transform:translate(0)}.nav-icon{text-align:center;flex-shrink:0;min-width:24px;font-size:20px;transition:transform .3s}.nav-item:hover .nav-icon{transform:scale(1.1)}.nav-label{white-space:nowrap;transition:opacity .3s}.sidebar-closed .nav-label{display:none}.sidebar-footer{border-top:1px solid #94a3b833;padding:16px}.logout-btn{color:#fca5a5;background:#7f1d1d59;border:1px solid #fca5a566}.logout-btn:hover{color:#fff;background:#b91c1cd9;transform:translate(4px)}.logout-btn:before{background:#f87171}.dashboard-main{background:#f8fafc;flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.dashboard-header{background:#fff;border-bottom:1px solid #e5e7eb;flex-shrink:0;justify-content:space-between;align-items:center;min-height:76px;padding:20px 32px;display:flex;box-shadow:0 1px 3px #0000000d}.page-title{color:#111827;letter-spacing:-.02em;margin:0;font-size:28px;font-weight:700}.user-info{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;align-items:center;gap:12px;padding:8px 16px 8px 8px;transition:all .3s;display:flex}.user-info:hover{background:#f3f4f6;box-shadow:0 4px 12px #00000014}.user-avatar{color:#fff;background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 100%);border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:18px;font-weight:700;display:flex;box-shadow:0 4px 12px #4f46e566}.user-details{flex-direction:column;gap:2px;display:flex}.user-name{color:#111827;font-size:14px;font-weight:600;line-height:1.3}.user-email{color:#6b7280;font-size:12px;line-height:1.3}.dashboard-content{background:#f8fafc;flex:1;padding:32px;overflow:hidden auto}.dashboard-content::-webkit-scrollbar{width:8px}.dashboard-content::-webkit-scrollbar-track{background:#e5e7eb}.dashboard-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.dashboard-home{width:100%;max-width:none;margin:0}.welcome-section{color:#fff;background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 40%,#0ea5e9 100%);border-radius:16px;justify-content:space-between;align-items:center;margin-bottom:32px;padding:32px 36px;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 40px #4f46e54d}.welcome-section:before{content:"";background:radial-gradient(circle,#ffffff26 0%,#0000 70%);border-radius:50%;width:400px;height:400px;position:absolute;top:-50%;right:-10%}.welcome-text{z-index:1;position:relative}.welcome-text h2{letter-spacing:-.02em;margin:0 0 8px;font-size:32px;font-weight:700;line-height:1.2}.welcome-text p{opacity:.95;margin:0;font-size:16px;line-height:1.5}.btn-create{white-space:nowrap;color:#4f46e5;cursor:pointer;z-index:1;background:#fff;border:none;border-radius:12px;align-items:center;gap:10px;padding:14px 28px;font-size:15px;font-weight:600;transition:all .3s;display:flex;position:relative;box-shadow:0 4px 16px #00000026}.btn-create:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0003}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-bottom:40px;display:grid}.stat-card{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:16px;align-items:center;gap:20px;padding:24px;transition:all .3s;display:flex;box-shadow:0 1px 3px #0000001a}.stat-card:hover{border-color:#4f46e54d;transform:translateY(-4px);box-shadow:0 12px 28px #0000001f}.stat-icon{background:linear-gradient(135deg,#fee2e2 0%,#fecaca 100%);border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;font-size:32px;transition:transform .3s;display:flex;box-shadow:0 4px 16px #ef444440}.stat-card:nth-child(2) .stat-icon{background:linear-gradient(135deg,#dbeafe 0%,#bfdbfe 100%);box-shadow:0 4px 16px #3b82f640}.stat-card:nth-child(3) .stat-icon{background:linear-gradient(135deg,#dcfce7 0%,#bbf7d0 100%);box-shadow:0 4px 16px #22c55e40}.stat-card:nth-child(4) .stat-icon{background:linear-gradient(135deg,#e0e7ff 0%,#c7d2fe 100%);box-shadow:0 4px 16px #6366f140}.stat-card:hover .stat-icon{transform:scale(1.08)}.stat-content{flex:1;min-width:0}.stat-value{color:#111827;letter-spacing:-.02em;margin-bottom:4px;font-size:32px;font-weight:700;line-height:1.2}.stat-label{color:#6b7280;font-size:14px;font-weight:500;line-height:1.4}.recent-section,.invoices-section{background:#fff;border:1px solid #e5e7eb;border-radius:16px;margin-bottom:40px;padding:28px 32px;box-shadow:0 1px 3px #0000001a}.section-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;display:flex}.section-header h3,.section-header h2{color:#111827;letter-spacing:-.01em;margin:0;font-size:20px;font-weight:700}.btn-link{color:#4f46e5;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:600;transition:all .3s}.btn-link:hover{color:#7c3aed;background:#4f46e514;transform:translate(4px)}.invoices-table-container{border-radius:12px;overflow-x:auto}.invoices-table th{text-align:left;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;background:#f8fafc;border-bottom:2px solid #e5e7eb;padding:16px 20px;font-size:13px;font-weight:600}.invoices-table th:first-child{border-top-left-radius:12px}.invoices-table th:last-child{border-top-right-radius:12px}.invoices-table td{color:#374151;vertical-align:middle;background:#fff;border-bottom:1px solid #f3f4f6;padding:16px 20px;font-size:14px}.invoices-table tbody tr{transition:all .2s}.invoices-table tbody tr:hover{background:#f9fafb;box-shadow:0 2px 8px #0000000a}.amount{color:#059669;font-size:15px;font-weight:700}.status-badge{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}.status-paid{color:#065f46;background:#d1fae5;border:1px solid #10b981}.status-pending{color:#92400e;background:#fef3c7;border:1px solid #f59e0b}.status-overdue{color:#991b1b;background:#fee2e2;border:1px solid #ef4444}.actions{gap:8px;display:flex}.btn-icon{cursor:pointer;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;transition:all .2s;display:flex}.btn-share:hover{background:#10b981!important;border-color:#10b981!important}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.quick-actions{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:28px 32px;box-shadow:0 1px 3px #0000001a}.quick-actions h3{color:#111827;letter-spacing:-.01em;margin:0 0 24px;font-size:20px;font-weight:700}.actions-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;display:grid}.action-card{text-align:center;cursor:pointer;background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:24px;transition:all .3s}.action-card:hover{background:#fff;border-color:#4f46e5;transform:translateY(-4px);box-shadow:0 12px 28px #4f46e533}.action-icon{margin-bottom:14px;font-size:48px;transition:transform .3s;display:inline-block}.action-card:hover .action-icon{transform:scale(1.1)}.action-title{color:#111827;margin-bottom:6px;font-size:16px;font-weight:700}.action-desc{color:#6b7280;font-size:13px}.invoice-list-page,.drafts-page,.profile-page{width:100%;max-width:none;margin:0}.loading-container{color:#6b7280;flex-direction:column;justify-content:center;align-items:center;min-height:400px;display:flex}.empty-state p{color:#6b7280;margin:0 0 20px;font-size:14px}.btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 100%);border:none;border-radius:12px;padding:12px 24px;font-size:14px;font-weight:600;transition:all .3s;box-shadow:0 4px 12px #4f46e566}.error-box{text-align:center;background:#fee2e2;border:1px solid #fecaca;border-radius:12px;padding:24px}.error-box h3{color:#991b1b;margin-bottom:8px}.error-box p{color:#7f1d1d;margin-bottom:16px}input[type=email],input{color:#111827!important}@media (max-width:1024px){.dashboard-sidebar{z-index:1000;height:100vh;position:fixed;top:0;left:0}.dashboard-sidebar.closed{transform:translate(-100%)}}@media (max-width:768px){.dashboard-header{padding:18px 20px}.page-title{font-size:24px}.dashboard-content{padding:20px}.welcome-section{text-align:center;flex-direction:column;gap:18px;padding:24px}.welcome-text h2{font-size:24px}.stats-grid,.actions-grid{grid-template-columns:1fr}.user-details{display:none}}.invoice-list-page{width:100%;max-width:none;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.stats-filter-bar{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:32px;display:grid}.stat-filter-card{cursor:pointer;background:#fff;border:2px solid #e5e7eb;border-radius:16px;align-items:center;gap:20px;padding:24px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.stat-filter-card:hover{border-color:#4f46e5;transform:translateY(-4px);box-shadow:0 12px 28px #4f46e533}.stat-filter-card.active{color:#fff;background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 100%);border-color:#4f46e5;box-shadow:0 12px 32px #4f46e559}.stat-icon{background:#4f46e51a;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:28px;transition:all .3s;display:flex}.stat-filter-card.active .stat-icon{background:#fff3;transform:scale(1.05)}.stat-info{flex:1;min-width:0}.stat-number{letter-spacing:-.02em;margin-bottom:4px;font-size:32px;font-weight:700;line-height:1.2}.stat-label{opacity:.9;font-size:14px;font-weight:500;line-height:1.3}.stat-filter-card.active .stat-label{opacity:1}.search-action-bar{align-items:center;gap:16px;margin-bottom:32px;display:flex}.search-wrapper{flex:1;align-items:center;display:flex;position:relative}.search-icon{pointer-events:none;opacity:.5;font-size:18px;position:absolute;left:16px}.search-input{color:#111827;background:#fff;border:2px solid #e5e7eb;border-radius:12px;width:100%;padding:14px 48px;font-family:inherit;font-size:15px;transition:all .3s}.search-input:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 4px #4f46e51a}.search-input::placeholder{color:#9ca3af}.clear-search{cursor:pointer;color:#6b7280;background:#f3f4f6;border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;transition:all .2s;display:flex;position:absolute;right:16px}.clear-search:hover{color:#111827;background:#e5e7eb}.btn-create-new{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 100%);border:none;border-radius:12px;align-items:center;gap:10px;padding:14px 28px;font-family:inherit;font-size:15px;font-weight:600;transition:all .3s;display:flex;box-shadow:0 4px 16px #4f46e54d}.btn-create-new:hover{transform:translateY(-2px);box-shadow:0 8px 24px #4f46e566}.btn-create-new:active{transform:translateY(0)}.btn-create-new span{font-size:18px}.invoices-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.card-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:28px 32px;display:flex}.card-title{color:#111827;letter-spacing:-.01em;margin:0 0 4px;font-size:22px;font-weight:700;line-height:1.3}.card-subtitle{color:#6b7280;margin:0;font-size:14px;line-height:1.4}.table-wrapper{overflow-x:auto}.invoices-table{border-collapse:separate;border-spacing:0;width:100%}.invoices-table thead tr{background:#f8fafc}.invoices-table th{text-align:left;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border-bottom:2px solid #e5e7eb;padding:16px 24px;font-size:13px;font-weight:600}.invoices-table th:first-child{padding-left:32px}.invoices-table th:last-child{padding-right:32px}.invoices-table td{color:#374151;vertical-align:middle;border-bottom:1px solid #f3f4f6;padding:18px 24px;font-size:14px}.invoices-table td:first-child{padding-left:32px}.invoices-table td:last-child{padding-right:32px}.invoice-row{background:#fff;transition:all .2s}.invoice-row:hover{background:#f9fafb;box-shadow:0 2px 8px #0000000a}.invoice-row:last-child td{border-bottom:none}.invoice-number{color:#4f46e5;font-family:SF Mono,Monaco,Consolas,monospace;font-size:13px;font-weight:600}.client-name{color:#111827;font-weight:500}.project-code{color:#6b7280;background:#f3f4f6;border-radius:6px;padding:4px 10px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:13px;display:inline-block}.amount{color:#059669;font-feature-settings:"tnum";font-size:15px;font-weight:700}.date{color:#6b7280;font-size:13px}.status-badge{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:600;line-height:1.3;display:inline-flex}.status-final{color:#065f46;background:#d1fae5;border:1px solid #10b981}.status-draft{color:#1e40af;background:#dbeafe;border:1px solid #3b82f6}.actions{align-items:center;gap:8px;display:flex}.actions-header{text-align:center!important}.btn-icon{cursor:pointer;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;transition:all .2s;display:flex}.btn-icon:hover{color:#fff;background:#4f46e5;border-color:#4f46e5;transform:scale(1.08);box-shadow:0 4px 12px #4f46e54d}.btn-delete:hover{background:#ef4444;border-color:#ef4444;box-shadow:0 4px 12px #ef44444d}.empty-state{text-align:center;background:#f9fafb;border-radius:12px;margin:32px;padding:80px 20px}.empty-icon{opacity:.6;margin-bottom:20px;font-size:64px;line-height:1}.empty-title{color:#111827;margin:0 0 8px;font-size:20px;font-weight:700;line-height:1.3}.empty-description{color:#6b7280;margin:0 0 24px;font-size:14px;line-height:1.5}.loading-container{flex-direction:column;justify-content:center;align-items:center;min-height:400px;padding:40px;display:flex}.spinner-large{border:5px solid #e5e7eb;border-top-color:#4f46e5;border-radius:50%;width:56px;height:56px;margin-bottom:20px;animation:.8s linear infinite spin}.loading-container p{color:#374151;margin:0;font-size:16px;font-weight:600}.loading-container small{color:#6b7280;margin-top:8px;font-size:13px;display:block}.error-container{text-align:center;background:#fff;border:2px solid #fee2e2;border-radius:16px;max-width:500px;margin:40px auto;padding:60px 20px}.error-icon{margin-bottom:20px;font-size:64px;line-height:1}.error-container h3{color:#991b1b;margin:0 0 12px;font-size:22px;font-weight:700;line-height:1.3}.error-container p{color:#7f1d1d;margin:0 0 24px;font-size:14px;line-height:1.5}.error-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 100%);border:none;border-radius:12px;padding:12px 24px;font-family:inherit;font-size:14px;font-weight:600;transition:all .3s;box-shadow:0 4px 12px #4f46e54d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #4f46e566}.btn-secondary{color:#4b5563;cursor:pointer;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:12px;padding:12px 24px;font-family:inherit;font-size:14px;font-weight:600;transition:all .3s}.btn-secondary:hover{background:#e5e7eb;border-color:#d1d5db}@media (max-width:1024px){.stats-filter-bar{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.search-action-bar{flex-direction:column}.btn-create-new{justify-content:center;width:100%}}@media (max-width:768px){.stats-filter-bar{grid-template-columns:1fr}.card-header{padding:20px}.card-title{font-size:18px}.invoices-table th,.invoices-table td{padding:12px 16px;font-size:13px}.invoices-table th:first-child,.invoices-table td:first-child{padding-left:20px}.invoices-table th:last-child,.invoices-table td:last-child{padding-right:20px}.stat-filter-card{padding:20px}.stat-icon{width:48px;height:48px;font-size:24px}.stat-number{font-size:28px}.actions{gap:6px}.btn-icon{width:32px;height:32px;font-size:14px}.empty-state{padding:60px 20px}.empty-icon{font-size:48px}}@media (max-width:640px){.table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.invoices-table{min-width:800px}}.invoice-wrapper-modern,.invoice-wrapper-modern *{font-family:Helvetica,Helvetica Neue,Arial,sans-serif!important}.drafts-page{max-width:1200px;margin:0 auto;padding:2rem}.page-header{justify-content:space-between;align-items:flex-start;margin-bottom:2rem;display:flex}.page-header h2{color:#1a1a1a;margin:0 0 .5rem;font-size:1.75rem;font-weight:600}.page-header p{color:#666;margin:0;font-size:.95rem}.drafts-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;display:grid}.draft-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;flex-direction:column;padding:1.5rem;transition:all .2s;display:flex}.draft-card:hover{border-color:#2563eb;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.draft-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.draft-icon{font-size:2rem}.btn-delete-draft{cursor:pointer;opacity:.5;background:0 0;border:none;border-radius:4px;padding:.5rem;font-size:1.25rem;transition:all .2s}.btn-delete-draft:hover{opacity:1;background:#fee}.draft-content{flex:1}.draft-content h3{color:#1a1a1a;margin:0 0 .75rem;font-size:1.25rem;font-weight:600;line-height:1.3}.draft-info{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.project-code{color:#666;background:#f5f5f5;border-radius:4px;padding:.25rem .5rem;font-family:Courier New,monospace;font-size:.875rem;font-weight:500}.draft-amount{color:#2563eb;font-size:1rem;font-weight:600}.draft-details{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.detail-badge{color:#1976d2;background:#e3f2fd;border-radius:12px;align-items:center;gap:.25rem;padding:.35rem .6rem;font-size:.75rem;font-weight:500;display:inline-flex}.draft-progress{margin-bottom:1rem}.progress-bar{background:#e8e8e8;border-radius:4px;height:8px;margin-bottom:.5rem;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#2563eb,#3b82f6);border-radius:4px;height:100%;transition:width .3s}.progress-text{color:#666;font-size:.875rem;font-weight:500}.draft-meta{color:#999;align-items:center;gap:.25rem;font-size:.875rem;display:flex}.btn-continue{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:6px;justify-content:center;align-items:center;gap:.5rem;width:100%;margin-top:1rem;padding:.875rem 1rem;font-size:.95rem;font-weight:600;transition:all .2s;display:flex}.btn-continue:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 2px 8px #2563eb4d}.btn-continue:active{transform:translateY(0)}.empty-state{text-align:center;background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:4rem 2rem}.empty-icon{opacity:.7;margin-bottom:1rem;font-size:4rem}.empty-state h3{color:#1a1a1a;margin:0 0 .5rem;font-size:1.5rem;font-weight:600}.empty-state p{color:#666;margin-bottom:2rem;font-size:1rem}.loading-container{text-align:center;padding:4rem 2rem}.spinner-large{border:4px solid #f3f3f3;border-top-color:#2563eb;border-radius:50%;width:50px;height:50px;margin:0 auto 1rem;animation:1s linear infinite spin}.loading-container p{color:#666;font-size:1rem}.error-container{text-align:center;background:#fff;border:1px solid #fee;border-radius:8px;padding:4rem 2rem}.error-icon{margin-bottom:1rem;font-size:3rem}.error-container h3{color:#dc2626;margin:0 0 .5rem;font-size:1.5rem;font-weight:600}.error-container p{color:#666;margin-bottom:2rem}.btn-primary{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:6px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 2px 8px #2563eb4d}.btn-primary:active{transform:translateY(0)}@media (max-width:768px){.drafts-page{padding:1rem}.page-header{flex-direction:column;gap:1rem}.page-header button{width:100%}.drafts-grid{grid-template-columns:1fr}.draft-info{flex-direction:column;align-items:flex-start}}@media (max-width:480px){.page-header h2{font-size:1.5rem}.draft-card{padding:1rem}.draft-content h3{font-size:1.1rem}}.profile-page{background:#f5f7fa;width:100%;min-height:100vh;margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.profile-container{box-sizing:border-box;width:100%;max-width:100%;min-height:100vh;margin:0;padding:40px 60px}.profile-header{box-sizing:border-box;background:#fff;border-radius:20px;align-items:center;gap:24px;width:100%;margin-bottom:30px;padding:40px;transition:transform .3s,box-shadow .3s;display:flex;box-shadow:0 10px 40px #0000001a}.profile-header:hover{transform:translateY(-2px);box-shadow:0 15px 50px #00000026}.profile-avatar-large{color:#fff;background:linear-gradient(135deg,#6b7280 0%,#4b5563 100%);border-radius:50%;justify-content:center;align-items:center;width:100px;height:100px;font-size:42px;font-weight:700;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 24px #6b72804d}.profile-avatar-large:before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.profile-header:hover .profile-avatar-large:before{left:100%}.profile-header-info h2{color:#1a202c;letter-spacing:-.5px;margin:0 0 8px;font-size:32px;font-weight:700}.profile-header-info p{color:#718096;margin:0;font-size:16px;font-weight:500}.profile-card{box-sizing:border-box;background:#fff;border-radius:20px;width:100%;margin-bottom:30px;padding:40px;transition:transform .3s,box-shadow .3s;box-shadow:0 10px 40px #0000001a}.profile-card:hover{transform:translateY(-2px);box-shadow:0 15px 50px #00000026}.card-header{border-bottom:2px solid #f7fafc;justify-content:space-between;align-items:center;margin-bottom:32px;padding-bottom:20px;display:flex}.card-header h3{color:#1a202c;letter-spacing:-.3px;margin:0;font-size:24px;font-weight:700}.btn-edit{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6b7280 0%,#4b5563 100%);border:none;border-radius:12px;align-items:center;gap:8px;padding:12px 24px;font-size:15px;font-weight:600;transition:all .3s;display:inline-flex;box-shadow:0 4px 15px #6b728040}.btn-edit:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6b728059}.btn-edit:active{transform:translateY(0)}.btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6b7280 0%,#4b5563 100%);border:none;border-radius:12px;align-items:center;gap:8px;padding:14px 28px;font-size:16px;font-weight:600;transition:all .3s;display:inline-flex;box-shadow:0 4px 15px #6b728040}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #6b728059}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{color:#4a5568;cursor:pointer;background:#edf2f7;border:none;border-radius:12px;padding:14px 28px;font-size:16px;font-weight:600;transition:all .3s}.btn-secondary:hover:not(:disabled){background:#e2e8f0;transform:translateY(-2px)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.form-grid{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}.form-group{flex-direction:column;display:flex}.form-group-full{grid-column:span 2}.form-group label{color:#2d3748;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;font-size:14px;font-weight:600}.form-group input,.form-group textarea{color:#2d3748;background:#f7fafc;border:2px solid #e2e8f0;border-radius:12px;padding:14px 16px;font-family:Inter,sans-serif;font-size:16px;font-weight:500;transition:all .3s}.form-group input:focus,.form-group textarea:focus{background:#fff;border-color:#6b7280;outline:none;box-shadow:0 0 0 3px #6b72801a}.form-group input:disabled,.form-group textarea:disabled{color:#718096;cursor:not-allowed;background:#f7fafc;border-color:#e2e8f0}.form-group small{color:#718096;margin-top:6px;font-size:13px;font-style:italic}.form-group textarea{resize:vertical;min-height:100px;line-height:1.6}.form-actions{border-top:2px solid #f7fafc;justify-content:flex-end;gap:16px;margin-top:32px;padding-top:24px;display:flex}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}.account-info{margin-top:0}.info-row{background:#f7fafc;border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:12px;padding:18px 20px;transition:all .3s;display:flex}.info-row:hover{background:#edf2f7;transform:translate(4px)}.info-row:last-child{margin-bottom:0}.info-label{color:#4a5568;text-transform:uppercase;letter-spacing:.5px;font-size:14px;font-weight:600}.status-active{color:#48bb78;background:#c6f6d5;border-radius:20px;align-items:center;gap:8px;padding:6px 16px;font-weight:700;display:inline-flex}@media (max-width:768px){.profile-page{padding:0}.profile-container{padding:20px 16px}.profile-header{text-align:center;flex-direction:column;padding:24px}.profile-avatar-large{width:80px;height:80px;font-size:36px}.profile-header-info h2{font-size:24px}.profile-card{padding:24px}.card-header{flex-direction:column;align-items:flex-start;gap:16px}.btn-edit{justify-content:center;width:100%}.form-grid{grid-template-columns:1fr;gap:20px}.form-group-full{grid-column:span 1}.form-actions{flex-direction:column-reverse}.btn-primary,.btn-secondary{justify-content:center;width:100%}.info-row{flex-direction:column;align-items:flex-start;gap:8px}}@media (max-width:480px){.profile-header-info h2{font-size:20px}.profile-header-info p{font-size:14px}.card-header h3{font-size:20px}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--primary:#3f51b5;--primary-hover:#3949ab;--success:#4caf50;--success-hover:#45a049;--danger:#e53935;--warning:#ffa726;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--shadow-sm:0 1px 2px 0 #0000000d;--shadow:0 1px 3px 0 #0000001a;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--radius-sm:.375rem;--radius:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--transition:all .2s cubic-bezier(.4,0,.2,1)}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{color:var(--gray-900);background:#fff;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6}.app-container{flex-direction:column;width:100%;max-width:100%;min-height:100vh;padding-bottom:120px;display:flex}.app-shell{flex:1;width:100%;max-width:1400px;margin:0 auto;padding:24px 16px}.app-header{text-align:center;margin-bottom:32px;animation:.5s ease-out fadeInDown}.title{color:var(--gray-900);letter-spacing:-.025em;margin-bottom:.5rem;font-size:clamp(1.75rem,4vw,2.25rem);font-weight:700}.subtitle{color:var(--gray-500);font-size:1rem;font-weight:400}.single-column-main{flex-direction:column;gap:20px;margin-bottom:24px;display:flex}.card{border-radius:var(--radius-lg);border:1px solid var(--gray-200);transition:var(--transition);background:#fff;padding:24px;animation:.4s ease-out backwards slideUp}.card:hover{box-shadow:var(--shadow-lg)}.card.mb-2{margin-bottom:20px}.card-header{border-bottom:1px solid var(--gray-200);margin-bottom:24px;padding-bottom:16px}.card-title{color:var(--gray-900);align-items:center;gap:10px;font-size:1.2rem;font-weight:700;display:flex}.card-title:before{content:"";background:var(--primary);border-radius:999px;width:3px;height:20px;display:inline-block}.card:first-child{animation-delay:50ms}.card:nth-child(2){animation-delay:.1s}.card:nth-child(3){animation-delay:.15s}.form-group{margin-bottom:20px}.label{color:var(--gray-700);text-transform:uppercase;letter-spacing:.025em;margin-bottom:8px;font-size:.813rem;font-weight:600;display:block}.input,.select,.textarea{border:1px solid var(--gray-200);border-radius:var(--radius);width:100%;color:var(--gray-900);transition:var(--transition);background:#fff;padding:10px 14px;font-family:inherit;font-size:.938rem}.input:hover,.select:hover,.textarea:hover{border-color:var(--gray-300)}.input:focus,.select:focus,.textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #3f51b51a}.input:disabled{background:var(--gray-100);color:var(--gray-500);cursor:not-allowed}.textarea{resize:vertical;min-height:120px;line-height:1.6}.input-readonly{background:var(--gray-100);color:var(--gray-800);cursor:default;font-weight:600}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{appearance:textfield}.form-row{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}@media (max-width:768px){.form-row{grid-template-columns:1fr}}.btn{border-radius:var(--radius);cursor:pointer;transition:var(--transition);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-family:inherit;font-size:.938rem;font-weight:600;line-height:1.5;text-decoration:none;display:inline-flex}.btn:active:not(:disabled){transform:scale(.98)}.btn-primary{background:var(--primary);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-success{background:var(--success);color:#fff;box-shadow:0 2px 8px #4caf5040}.btn-success:hover:not(:disabled){background:var(--success-hover);transform:translateY(-1px);box-shadow:0 4px 12px #4caf5059}.btn-ghost{color:var(--gray-700);border:1px solid var(--gray-300);box-shadow:var(--shadow-sm);background:#fff}.btn-ghost:hover:not(:disabled){border-color:var(--gray-400);background:var(--gray-50);transform:translateY(-1px)}.btn-danger{color:var(--danger);background:0 0;border:1px solid #0000;padding:8px 16px}.btn-danger:hover:not(:disabled){background:#fef2f2;border-color:#fca5a5}.btn-small,.btn-sm{padding:8px 14px;font-size:.875rem}.btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.table{border-collapse:collapse;width:100%;margin-top:16px;font-size:.875rem}.table th,.table td{border-bottom:1px solid var(--gray-100);text-align:left;vertical-align:middle;padding:12px 8px}.table thead th{color:var(--gray-600);text-transform:uppercase;letter-spacing:.05em;background:var(--gray-50);border-bottom:1px solid var(--gray-200);font-size:.75rem;font-weight:700}.table tbody tr{transition:background-color .15s}.table tbody tr:hover{background:var(--gray-50)}.table .text-right{text-align:right}.footer-actions{border-top:1px solid var(--gray-200);z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff;justify-content:space-between;align-items:center;padding:16px 32px;display:flex;position:fixed;bottom:0;left:344px;right:0;box-shadow:0 -4px 6px -1px #0000001a}.footer-actions .left,.footer-actions .right{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.footer-total{color:var(--gray-900);background:var(--gray-50);border-radius:var(--radius);border:1px solid var(--gray-200);align-items:center;gap:8px;padding:8px 16px;font-size:1.4rem;font-weight:700;display:flex}.footer-total-label{color:var(--gray-600);font-size:.875rem;font-weight:600}@media (max-width:1024px){.footer-actions{left:280px}}@media (max-width:768px){.footer-actions{flex-direction:column;gap:12px;padding:16px;left:0}.footer-actions .left,.footer-actions .right{justify-content:center;width:100%}.btn{width:100%}.footer-total{justify-content:space-between;width:100%}}.row{align-items:center;gap:12px;display:flex}.muted{color:var(--gray-500);font-size:.875rem}.success{color:var(--success)}.error{color:var(--danger)}.mt-2{margin-top:12px}.mb-2{margin-bottom:12px}.text-right{text-align:right}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.section-subtitle{color:var(--gray-700);margin-bottom:.5rem;font-size:.95rem;font-weight:600}.info-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:.75rem;display:grid}.info-box{border:1px solid var(--gray-200);border-radius:var(--radius);background:var(--gray-50);padding:8px 10px}.info-label{text-transform:uppercase;letter-spacing:.05em;color:var(--gray-400);margin-bottom:3px;font-size:.7rem;font-weight:600;display:block}.info-value{color:var(--gray-900);font-size:.875rem;font-weight:500}.work-section{margin-top:4px}.work-section-header{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:12px;display:flex}.work-section-title{color:var(--gray-900);font-size:1.05rem;font-weight:700}.work-section-subtitle{color:var(--gray-500);font-size:.8rem}.work-table-wrapper{border-radius:var(--radius-lg);border:1px solid var(--gray-200);box-shadow:var(--shadow-sm);background:#fff;overflow:hidden}.work-table{border-collapse:collapse;width:100%;font-size:.875rem}.work-table thead tr{background:var(--gray-100)}.work-table th,.work-table td{border-bottom:1px solid var(--gray-200);vertical-align:middle;padding:10px 12px}.work-table th{text-transform:uppercase;letter-spacing:.05em;color:var(--gray-600);font-size:.75rem;font-weight:700}.work-table tbody tr:nth-child(2n){background:var(--gray-50)}.work-table tbody tr:hover{background:var(--gray-100)}.work-table-wrapper-main{border-radius:var(--radius-lg);border:1px solid var(--gray-200);background:var(--gray-50);margin-top:12px;overflow-x:auto}.work-table-wrapper-main::-webkit-scrollbar{width:8px;height:8px}.scope-section::-webkit-scrollbar{width:8px;height:8px}.scope-section>div::-webkit-scrollbar{width:8px;height:8px}.work-table-wrapper-main::-webkit-scrollbar-track{background:var(--gray-100);border-radius:4px}.scope-section::-webkit-scrollbar-track{background:var(--gray-100);border-radius:4px}.scope-section>div::-webkit-scrollbar-track{background:var(--gray-100);border-radius:4px}.work-table-wrapper-main::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:4px;transition:background .2s}.scope-section::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:4px;transition:background .2s}.scope-section>div::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:4px;transition:background .2s}.work-table-wrapper-main::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.scope-section::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.scope-section>div::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.work-table-wrapper-main,.scope-section,.scope-section>div,.substage-scroll{scrollbar-width:thin;scrollbar-color:var(--gray-300)var(--gray-100)}.substage-scroll::-webkit-scrollbar{height:6px}.substage-scroll::-webkit-scrollbar-track{background:var(--gray-100);border-radius:3px}.substage-scroll::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}.substage-scroll::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.work-table-main{border-collapse:collapse;width:100%;min-width:980px}.work-th-main{background:var(--gray-100);color:var(--gray-700);text-transform:uppercase;letter-spacing:.05em;text-align:center;padding:10px 8px;font-size:.75rem;font-weight:700}.work-th-stage-group{background:var(--gray-100);color:var(--gray-700);text-align:center;border-right:1px solid var(--gray-300);min-width:120px;padding:8px;font-size:.8rem;font-weight:600}.work-th-substage{color:var(--gray-600);text-align:center;border-right:1px solid var(--gray-200);background:#fafafa;min-width:120px;padding:8px;font-size:.75rem;font-weight:600}.work-cell-hours .input,.work-cell-factor .input{text-align:center;font-weight:600}.work-cell-rate .input,.work-cell-price .input{text-align:right;font-weight:600}.billing-card{border:1px solid var(--gray-200);border-radius:var(--radius-lg);background:var(--gray-50);box-shadow:var(--shadow-sm);padding:16px 18px}.billing-card-title{color:var(--gray-900);margin-bottom:12px;font-size:.95rem;font-weight:600}.billing-label{color:var(--gray-600)}.billing-value{font-variant-numeric:tabular-nums;color:var(--gray-900);font-weight:500}.billing-divider{border-top:1px solid var(--gray-300);margin:10px 0}.billing-row-total{padding-top:8px;font-size:1.05rem;font-weight:700}.mode-pill{border:1px solid var(--gray-200);background:var(--gray-100);color:var(--gray-700);border-radius:999px;align-items:center;padding:3px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.mode-online{color:#1a3ea3;background:#e8f0fe;border-color:#c5d0f5}.mode-offline{color:#8a4b11;background:#fff7e0;border-color:#ffe0b2}.print-only-content{z-index:-9999;opacity:0;background:#fff;width:900px;position:fixed;top:0;left:-99999px}.modern-invoice{color:var(--gray-900);background:#fff;max-width:900px;margin:0 auto;padding:28px 32px;font-family:Inter,sans-serif;font-size:11px}.mi-top-header{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.mi-title{color:var(--gray-900);margin-bottom:4px;font-size:22px;font-weight:700}.mi-subtitle{color:var(--gray-500);font-size:11px}.mi-top-right{text-align:right}.mi-logo{object-fit:contain;height:28px}.mi-divider{border:none;border-top:1px solid var(--gray-200);margin:12px 0 20px}.mi-section{margin-bottom:20px}.mi-section-label{letter-spacing:.1em;text-transform:uppercase;color:var(--gray-500);margin-bottom:8px;font-size:10px;font-weight:700}.mi-info-grid{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}.mi-info-line{margin-bottom:4px;font-size:11px;display:flex}.mi-info-key{width:120px;color:var(--gray-500)}.mi-info-value{color:var(--gray-900);font-weight:500}.mi-team-table,.mi-stages-table{border-collapse:collapse;width:100%;font-size:11px}.mi-team-table th,.mi-team-table td{text-align:left;padding:8px 10px}.mi-team-table thead th{border-bottom:1px solid var(--gray-200);text-transform:uppercase;letter-spacing:.08em;color:var(--gray-600);font-size:10px}.mi-team-table tbody tr+tr{border-top:1px solid var(--gray-100)}.mi-col-number{text-align:right}.mi-totals-section{justify-content:flex-end;margin-top:24px;display:flex}.mi-totals-card{border-radius:var(--radius-lg);border:1px solid var(--gray-200);background:var(--gray-50);width:280px;padding:12px 16px;font-size:11px}.mi-totals-row{justify-content:space-between;margin-bottom:6px;display:flex}.mi-totals-divider{border-top:1px solid var(--gray-300);margin:8px 0}.mi-totals-row-total{color:var(--gray-900);font-size:13px;font-weight:700}@media print{@page{size:A4;margin:1cm}body>:not(.print-only-content){display:none!important}.print-only-content{opacity:1!important;z-index:1!important;width:100%!important;display:block!important;position:static!important;top:0!important;left:0!important}.print-only-content *{visibility:visible!important}.consultant-only,.no-print{display:none!important}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.mi-section,.mi-totals-card{page-break-inside:avoid}}.auth-page{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);flex-direction:column;min-height:100vh;display:flex}.auth-header{padding:1.5rem 2rem}.auth-logo{width:auto;height:40px}.auth-main{flex:1;justify-content:center;align-items:center;padding:2rem;display:flex}.auth-card{text-align:center;background:#fff;border-radius:16px;width:100%;max-width:480px;padding:3rem 2.5rem;box-shadow:0 20px 60px #0000004d}.auth-title{color:var(--gray-900);margin-bottom:.75rem;font-size:1.75rem;font-weight:700}.auth-subtitle{color:var(--gray-600);margin-bottom:2rem;font-size:1rem;line-height:1.6}.auth-button{cursor:pointer;width:100%;transition:var(--transition);border:none;border-radius:10px;margin-bottom:.75rem;padding:.875rem 1.5rem;font-family:inherit;font-size:1rem;font-weight:600}.auth-button:disabled{opacity:.5;cursor:not-allowed}.auth-button-primary{color:#fff;background:linear-gradient(135deg,#4caf50,#45a049);box-shadow:0 4px 12px #4caf504d}.auth-button-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #4caf5066}.auth-error{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5;border-radius:8px;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.875rem}.login-page{background:#f5f7fb;flex-direction:column;min-height:100vh;display:flex}.login-card{border:1px solid var(--gray-200);background:#fff;border-radius:18px;width:100%;max-width:420px;padding:28px;box-shadow:0 18px 45px #0f172a14}.login-input{border:1px solid var(--gray-300);width:100%;transition:var(--transition);background:var(--gray-50);border-radius:10px;outline:none;padding:10px 12px;font-size:.95rem}.login-input:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px #3f51b51a}.login-button{cursor:pointer;color:#fff;width:100%;transition:var(--transition);background:#22c55e;border:none;border-radius:999px;padding:10px 16px;font-size:.95rem;font-weight:600;box-shadow:0 4px 12px #22c55e59}.login-button:hover:not(:disabled){background:#16a34a;transform:translateY(-1px)}@media (max-width:640px){.auth-card,.login-card{padding:2rem 1.5rem}.mi-info-grid{grid-template-columns:1fr}.work-table-wrapper-main{overflow-x:scroll}}.invoice-section{margin-bottom:18px}.invoice-section-title{color:#6b7280;text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:600}.invoice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.invoice-box{background:#fff;border:1px solid #e5e7eb;border-radius:6px;min-height:48px;padding:8px 10px}.invoice-box-label{color:#6b7280;margin-bottom:2px;font-size:11px}.invoice-box-value{color:#111827;font-size:13px;font-weight:500}@media print{.invoice-grid{gap:8px}}.compact-card{margin-bottom:16px;padding:16px}.section-title{margin-bottom:12px;font-size:15px;font-weight:600}.grid-3{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.readonly-box,.field{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:10px 12px}.readonly-box label,.field label{color:#6b7280;font-size:11px;display:block}.readonly-box span{font-size:14px;font-weight:500}.notes-grid{grid-template-columns:2fr 1fr;gap:16px;display:grid}.billing-summary{border:1px solid #e5e7eb;border-radius:8px;padding:12px}.billing-summary .row{justify-content:space-between;padding:6px 0;display:flex}.billing-summary .total{font-weight:700}.billing-summary .divider{border-top:1px solid #e5e7eb;margin:8px 0}.TopBar{border-bottom:1px solid var(--gray-200);background:var(--gray-50);box-sizing:border-box;justify-content:space-between;align-items:center;height:56px;min-height:56px;padding:12px 24px;display:flex}.user-email{color:var(--gray-600);font-size:.875rem}.topbar-controls{align-items:center;gap:12px;display:flex}.last-saved{color:var(--gray-400);font-size:.75rem}.saving-indicator{color:var(--primary);font-size:.75rem}.app-shell>.card{margin-bottom:16px}.app-shell>.card:last-of-type{margin-bottom:0}.loading-indicator{color:var(--gray-500);margin-top:4px;font-size:.75rem}.error-message{color:var(--error);margin-top:4px;font-size:.75rem}.input[readonly],.textarea[readonly]{background-color:var(--gray-50);border-color:var(--gray-300);color:var(--gray-700);cursor:not-allowed}.error-toast{color:#991b1b;z-index:9999;background-color:#fee;border:1px solid #fca5a5;border-radius:8px;max-width:300px;padding:12px 16px;font-size:.875rem;position:fixed;bottom:20px;right:20px;box-shadow:0 4px 6px #0000001a}.billing-card{background:var(--gray-50);border:1px solid var(--gray-300);border-radius:8px;height:fit-content;padding:20px}.billing-card-title{color:var(--gray-800);border-bottom:1px solid var(--gray-300);margin-bottom:16px;padding-bottom:8px;font-size:1.125rem;font-weight:600}.billing-row{justify-content:space-between;align-items:center;padding:8px 0;font-size:.875rem;display:flex}.billing-row-total{color:var(--gray-900);border-top:1px solid var(--gray-300);margin-top:8px;padding-top:12px;font-size:1rem;font-weight:600}.billing-divider{background:var(--gray-300);height:1px;margin:8px 0}.billing-extra-note{color:var(--gray-500);margin-top:8px;font-size:.75rem;font-style:italic}.footer-actions{border-top:1px solid var(--gray-300);z-index:100;background:#fff;justify-content:space-between;align-items:center;margin-top:24px;padding:16px 24px;display:flex;position:sticky;bottom:0}.footer-total{color:var(--gray-800);align-items:center;gap:8px;font-size:1rem;font-weight:600;display:flex}.footer-total-label{color:var(--gray-600);font-weight:500}.card-header{padding:16px 20px}.card-title{color:var(--gray-800);margin:0;font-size:1.125rem}.label{color:var(--gray-700);margin-bottom:6px;font-size:.875rem;font-weight:500;display:block}.input,.textarea{box-sizing:border-box;width:100%}.TeamAndStages{margin-top:12px}@media (max-width:768px){.ProjectLookup,.ConsultantDetails,.ClientDetails,.ProjectInvoiceDetails,.NotesAndBillingSummary{grid-template-columns:1fr!important;gap:12px!important}.TopBar{flex-direction:column;align-items:flex-start;gap:8px;height:auto;padding:12px}.topbar-controls{justify-content:space-between;width:100%}.footer-actions{flex-direction:column;align-items:stretch;gap:12px}.footer-actions .left,.footer-actions .right{gap:8px;display:flex}.footer-actions .left{justify-content:flex-start}.footer-actions .right{justify-content:flex-end}}.section-header-row{align-items:center;gap:12px;margin-bottom:20px;padding-left:4px;display:flex}.blue-accent-bar{background-color:#3b82f6;border-radius:2px;width:4px;height:24px}.section-title-alt{color:#1e293b;margin:0;font-size:1.1rem;font-weight:700}.rigid-grid-3{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.rigid-data-box{background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;justify-content:center;min-height:64px;padding:12px 16px;display:flex}.rigid-label{text-transform:uppercase;letter-spacing:.025em;color:#64748b;margin-bottom:4px;font-size:.75rem}.rigid-value{color:#0f172a;font-size:1rem;font-weight:500}.rigid-input-field{color:#0f172a;background:0 0;border:none;outline:none;width:100%;padding:0;font-size:1rem;font-weight:500}.rigid-input-field::placeholder{color:#cbd5e1;font-weight:400}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-ghost:disabled{color:#9ca3af;background:#f3f4f6;border-color:#e5e7eb}.btn:disabled[title]{pointer-events:auto;cursor:not-allowed}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#242424;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2}body{place-items:center;min-width:320px;min-height:100vh;margin:0;display:flex}h1{font-size:3.2em;line-height:1.1}button{cursor:pointer;background-color:#1a1a1a;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}
