:root{--apple-blue: #007AFF;--apple-purple: #5856D6;--apple-green: #34C759;--apple-orange: #FF9500;--apple-red: #FF3B30;--apple-gray: #8E8E93;--bg-primary: #eef1f5;--bg-white: #ffffff;--bg-glass: rgba(255, 255, 255, .8);--bg-hover: rgba(0, 0, 0, .04);--text-primary: #1d1d1f;--text-secondary: #424245;--text-muted: #86868b;--border-color: rgba(0, 0, 0, .1);--border-subtle: rgba(0, 0, 0, .06);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .12)}html.dark-mode{--bg-primary: #0f0f14;--bg-white: #1a1a24;--bg-glass: rgba(30, 30, 40, .85);--bg-hover: rgba(255, 255, 255, .06);--text-primary: #f0f0f2;--text-secondary: #b0b0b8;--text-muted: #6b6b78;--border-color: rgba(255, 255, 255, .1);--border-subtle: rgba(255, 255, 255, .05);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .5);color-scheme:dark}*{box-sizing:border-box}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased}.app-layout{display:flex;flex-direction:column;min-height:100vh}.app-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:16px;background:var(--bg-primary)}.loading-logo{width:56px;height:56px;border-radius:14px;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.95)}}.main-content{flex:1;background:var(--bg-primary)}.page-container{padding:24px 32px;max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-header h1{margin:0;font-size:28px;font-weight:600;color:var(--text-primary);letter-spacing:-.5px}.header-actions{display:flex;align-items:center;gap:12px}.count-badge{background:var(--bg-white);color:var(--text-secondary);padding:6px 14px;border-radius:20px;font-size:13px;font-weight:500;border:1px solid var(--border-color)}.btn-primary{background:linear-gradient(135deg,var(--apple-blue),var(--apple-purple));color:#fff;border:none;padding:10px 20px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm)}.btn-primary:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{background:var(--bg-white);color:var(--text-primary);border:1px solid var(--border-color);padding:8px 16px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-secondary:hover{background:var(--bg-hover);border-color:#00000026}.btn-secondary.active-filter{background:#0066cc1a;color:#06c;border-color:#0066cc4d;font-weight:600}.btn-danger{background:#ff3b301a;color:#ff3b30;border:1px solid rgba(255,59,48,.3);padding:8px 16px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-danger:hover{background:#ff3b3033;border-color:#ff3b3080}.filters-bar{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.search-input{flex:1;min-width:250px;max-width:400px;padding:10px 16px;background:var(--bg-white);border:1px solid var(--border-color);border-radius:10px;color:var(--text-primary);font-size:14px;transition:all .15s ease}.search-input::placeholder{color:var(--text-muted)}.search-input:focus{outline:none;border-color:var(--apple-blue);box-shadow:0 0 0 3px #007aff26}.filter-select{padding:10px 16px;background:var(--bg-white);border:1px solid var(--border-color);border-radius:10px;color:var(--text-primary);font-size:14px;cursor:pointer;transition:all .15s ease}.filter-select:focus{outline:none;border-color:var(--apple-blue)}table.data-table{width:100%;background:var(--bg-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:16px;border-collapse:collapse;border:1px solid var(--border-color);box-shadow:var(--shadow-sm);overflow:hidden}table.data-table th{background:#00000008;padding:14px 16px;text-align:left;font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-color)}table.data-table td{padding:14px 16px;font-size:14px;color:var(--text-primary);border-bottom:1px solid var(--border-subtle)}table.data-table tbody tr:last-child td{border-bottom:none}table.data-table .clickable-row{cursor:pointer;transition:background .15s ease}table.data-table .clickable-row:hover{background:#007aff0a}table.data-table .clickable-row.expanded{background:#007aff0f}table.data-table .expand-icon{color:var(--text-muted);font-size:10px;width:30px}table.data-table .primary-cell{font-weight:600;color:var(--text-primary)}table.data-table .expanded-row td{padding:0;background:#00000005}.status-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.status-badge.active{background:#34c75926;color:#248a3d}.status-badge.completed{background:#007aff26;color:#06c}.status-badge.pending{background:#ff950026;color:#c93400}.status-badge.inactive{background:#8e8e9326;color:#636366}.expanded-content{padding:20px 24px}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;margin-bottom:16px}.detail-item label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;display:block}.detail-item p{margin:0;font-size:14px;color:var(--text-secondary)}.detail-item p.mono{font-family:SF Mono,Monaco,Menlo,monospace;font-size:12px;color:var(--text-muted)}.action-buttons{display:flex;gap:8px;padding-top:12px;border-top:1px solid var(--border-subtle)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:28px}.stats-grid .stat-card{display:flex;align-items:center;gap:16px;background:var(--bg-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:20px;border-radius:16px;border:1px solid var(--border-color);text-decoration:none;transition:all .2s ease;box-shadow:var(--shadow-sm)}.stats-grid .stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--apple-blue)}.stat-icon{font-size:2rem}.stat-info{display:flex;flex-direction:column}.stat-value{font-size:28px;font-weight:700;color:var(--text-primary);letter-spacing:-.5px}.stat-label{font-size:13px;color:var(--text-muted);font-weight:500}.dashboard-section{background:var(--bg-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:16px;border:1px solid var(--border-color);padding:20px;margin-bottom:20px;box-shadow:var(--shadow-sm)}.dashboard-section h2{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--text-secondary)}.quick-actions{display:flex;gap:10px;flex-wrap:wrap}.status-list{display:flex;flex-direction:column;gap:12px}.status-item{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--text-secondary)}.loading{text-align:center;padding:60px 20px;color:var(--text-muted);font-size:15px}.loading:after{content:"";display:inline-block;width:18px;height:18px;margin-left:10px;border:2px solid var(--border-color);border-top-color:var(--apple-blue);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error{text-align:center;padding:40px 20px;color:var(--apple-red);background:#ff3b3014;border-radius:12px;border:1px solid rgba(255,59,48,.2)}@media (max-width: 768px){.main-content{margin-left:0}.sidebar{display:none}.page-container{padding:12px 8px}.page-header{flex-direction:column;gap:12px;align-items:flex-start}.filters-bar{flex-direction:column}.search-input{max-width:none}.dashboard-container{padding:12px 8px}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#0003;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#0000004d}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0006;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1000;display:flex;justify-content:center;align-items:center}.modal-content{background:#fff;padding:30px;border-radius:12px;box-shadow:0 8px 30px #0000001f;width:90%;max-width:500px}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.form-group{margin-bottom:16px;display:flex;flex-direction:column;gap:6px}.form-input{padding:10px 12px;border:1px solid #e1e1e1;border-radius:8px;font-size:14px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;width:100%}input,select,textarea,button{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.financial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.financial-card{background:#ffffff80;padding:16px;border-radius:12px;border:1px solid rgba(0,0,0,.08);display:flex;flex-direction:column;gap:8px}.financial-card label{font-size:12px;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.financial-value{font-size:24px;font-weight:700;color:var(--apple-blue);letter-spacing:-.5px}.financial-card small{font-size:11px;color:var(--text-muted)}.wip-list{display:flex;flex-direction:column;gap:12px}.wip-item{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#fff6;border-radius:10px;border:1px solid rgba(0,0,0,.06);gap:16px}.wip-info{display:flex;flex-direction:column;gap:4px;flex:1}.wip-title{font-size:14px;font-weight:600;color:var(--text-primary)}.wip-client{font-size:12px;color:var(--text-muted)}.wip-meta{display:flex;align-items:center;gap:12px}.wip-dev{font-size:12px;color:var(--text-secondary);min-width:100px}.wip-price{font-size:14px;font-weight:600;color:var(--apple-green);min-width:90px;text-align:right}.view-all-link{display:block;text-align:center;padding:12px;margin-top:12px;color:var(--apple-blue);text-decoration:none;font-size:13px;font-weight:500;border-radius:8px;transition:background .15s ease}.view-all-link:hover{background:#007aff14}.invoice-summary{display:flex;gap:16px;margin-bottom:20px}.invoice-stat{flex:1;background:#ffffffb3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.4);border-radius:14px;padding:16px 20px;display:flex;flex-direction:column;gap:4px;box-shadow:0 2px 8px #0000000a}.invoice-stat.paid{border-left:3px solid #34c759}.invoice-stat.pending{border-left:3px solid #ff9500}.invoice-stat-label{font-size:12px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.invoice-stat-value{font-size:1.4rem;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.stripe-mode-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600}.stripe-mode-badge.test{background:#ff95001f;color:#ff9500;border:1px solid rgba(255,149,0,.3)}.stripe-mode-badge.live{background:#ff3b301f;color:#ff3b30;border:1px solid rgba(255,59,48,.3)}.status-badge.draft{background:#8e8e931f;color:#8e8e93}.status-badge.void{background:#8e8e9314;color:#aeaeb2;text-decoration:line-through}.loading-spinner{display:flex;align-items:center;justify-content:center;padding:4rem;color:var(--text-muted);font-size:15px}html.dark-mode body{background:var(--bg-primary);color:var(--text-primary)}.dark-mode table.data-table th{background:#ffffff0a}.dark-mode table.data-table .clickable-row:hover{background:#60a5fa14}.dark-mode table.data-table .clickable-row.expanded{background:#60a5fa0f}.dark-mode table.data-table .expanded-row td{background:#ffffff05}.dark-mode .filter-select option{background:#1a1a24;color:#f0f0f2}.dark-mode .btn-secondary:hover{border-color:#ffffff26}.dark-mode .form-input,.dark-mode .form-select,.dark-mode textarea.form-input{background:#232330;color:#f0f0f2;border-color:#ffffff1a}.dark-mode .form-input::placeholder{color:#6b6b78}.dark-mode .slide-panel,.dark-mode .modal-overlay .modal-content,.dark-mode .archive-modal-content{background:#1a1a24;color:#f0f0f2}.dark-mode .modal-overlay{background:#000000b3}.dark-mode .stat-card,.dark-mode .dashboard-card,.dark-mode .quick-actions-section,.dark-mode .metric-card{background:#1e1e28b3;border-color:#ffffff0f}.dark-mode .signin-card{background:#1a1a24;border-color:#ffffff14}.dark-mode .signin-card h1{color:#f0f0f2}.dark-mode .expanded-content{background:transparent}.dark-mode .detail-item p{color:var(--text-secondary)}.dark-mode .count-badge{background:#232330}.dark-mode .stripe-mode-badge{background:#34c75926}.photo-upload-container{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.photo-file-upload-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:var(--bg-white);border:1px dashed var(--border-color);border-radius:8px;font-size:13px;font-weight:500;color:var(--apple-blue);cursor:pointer;transition:all .15s ease}.photo-file-upload-btn:hover{background:#007aff0f;border-color:var(--apple-blue)}.developer-photo-preview{width:60px;height:60px;border-radius:50%;object-fit:cover;border:2px solid var(--border-color)}.signin-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px;background:linear-gradient(135deg,#f0f4ff,#e8f0fe,#f5f7fa)}.signin-card{background:#fffc;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.7);border-radius:24px;padding:56px 48px;max-width:420px;width:100%;text-align:center;box-shadow:0 12px 48px #003c781a}.signin-logo img{width:72px;height:72px;border-radius:16px;margin-bottom:20px;box-shadow:0 4px 16px #003c781f}.signin-card h1{font-size:1.8rem;font-weight:700;color:#1a1a2e;margin:0 0 8px}.signin-subtitle{color:#6b7280;font-size:.95rem;margin:0 0 32px;line-height:1.5}.signin-button-wrap{display:flex;justify-content:center;margin-bottom:24px}.signin-footer{color:#9ca3af;font-size:.78rem;margin:0;line-height:1.4}.top-nav{position:sticky;top:0;left:0;right:0;z-index:100;padding:12px 24px;display:flex;justify-content:center;background:#fff9;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid rgba(0,0,0,.06)}.nav-inner{display:flex;align-items:center;gap:32px;max-width:1200px;width:100%;justify-content:center}.nav-brand{display:flex;align-items:center;gap:10px;text-decoration:none;margin-right:auto}.nav-logo{height:36px;width:auto;object-fit:contain}.nav-links{list-style:none;margin:0;display:flex;align-items:center;gap:4px;background:#0000000a;border-radius:12px;padding:4px}.nav-links li{cursor:pointer}.nav-links li a{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:10px;text-decoration:none;color:#424245;font-size:.9rem;font-weight:600;transition:background .2s ease,color .2s ease,box-shadow .2s ease;white-space:nowrap;cursor:pointer}.nav-links li a:hover{background:#fffc;color:#1d1d1f}.nav-links li a.active{background:#ffffffe6;color:#06c;box-shadow:0 1px 4px #00000014}.nav-icon{font-size:1rem}.nav-text{flex:1}.nav-user{display:flex;align-items:center;gap:8px;margin-left:auto;padding-left:16px}.nav-avatar{width:28px;height:28px;border-radius:50%;border:2px solid rgba(0,102,204,.15)}.nav-user-name{font-size:.82rem;font-weight:600;color:#374151}.nav-signout{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:#9ca3af;font-size:.85rem;cursor:pointer;border-radius:50%;transition:background .15s,color .15s}.nav-signout:hover{background:#dc262614;color:#dc2626}.dark-mode-toggle{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-color);background:var(--bg-hover);border-radius:50%;font-size:1rem;cursor:pointer;transition:background .2s,transform .2s;padding:0}.dark-mode-toggle:hover{transform:scale(1.1);background:var(--bg-glass)}.dark-mode .top-nav{background:#1e1e23d9;border-bottom-color:#ffffff14}.dark-mode .nav-links{background:#ffffff0f}.dark-mode .nav-links li a{color:#a1a1aa}.dark-mode .nav-links li a:hover{background:#ffffff1a;color:#f4f4f5}.dark-mode .nav-links li a.active{background:#ffffff1f;color:#60a5fa;box-shadow:0 1px 4px #0000004d}.dark-mode .nav-user-name{color:#d4d4d8}@media (max-width: 768px){.top-nav{padding:8px 12px}.nav-inner{gap:8px;flex-wrap:nowrap}.brand-text{display:none}.nav-logo{width:34px;height:34px}.nav-links{gap:2px;padding:3px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-shrink:1;min-width:0}.nav-links::-webkit-scrollbar{display:none}.nav-links li a{padding:6px 8px;font-size:.78rem;gap:4px}.nav-text{display:none}.nav-icon{font-size:1.1rem}.nav-user{padding-left:8px;gap:4px}.nav-user-name{display:none}.nav-avatar{width:24px;height:24px}.dark-mode-toggle{width:28px;height:28px;font-size:.9rem}}.impersonation-bar{display:flex;align-items:center;gap:8px;padding:4px 16px;background:#0066cc14;border-bottom:1px solid rgba(0,102,204,.15)}.impersonate-input{flex:1;max-width:300px;padding:4px 10px;border:1px solid rgba(0,0,0,.12);border-radius:6px;font-size:.8rem;background:#ffffffe6;outline:none}.impersonate-input:focus{border-color:#06c}.btn-impersonate{padding:4px 12px;border:none;border-radius:6px;background:#06c;color:#fff;font-size:.78rem;cursor:pointer;white-space:nowrap}.btn-impersonate:disabled{opacity:.5;cursor:not-allowed}.impersonate-error{color:#dc2626;font-size:.75rem}.impersonation-banner{display:flex;align-items:center;justify-content:center;gap:12px;padding:6px 16px;background:linear-gradient(90deg,#f59e0b,#d97706);color:#fff;font-size:.8rem;font-weight:500}.impersonation-banner strong{font-weight:700}.btn-stop-impersonate{padding:3px 10px;border:1px solid rgba(255,255,255,.5);border-radius:6px;background:#fff3;color:#fff;font-size:.75rem;cursor:pointer}.btn-stop-impersonate:hover{background:#ffffff4d}.dark-mode .impersonation-bar{background:#0066cc1f;border-color:#06c3}.dark-mode .impersonate-input{background:#ffffff14;border-color:#ffffff26;color:#e2e8f0}@media (max-width: 768px){.impersonation-bar{padding:4px 8px}.impersonate-input{max-width:180px;font-size:.75rem}}:root{--aat-primary-blue: #0066cc;--aat-bright-blue: #00a3ff;--aat-teal: #00bcd4;--aat-dark-blue: #003d7a;--aat-accent: #00e5ff;--aat-success: #00c853;--aat-warning: #ffa726;--aat-danger: #e53935;--glass-bg: rgba(255, 255, 255, .55);--glass-border: rgba(255, 255, 255, .6);--glass-shadow: 0 4px 24px rgba(0, 40, 100, .08);--glass-hover-shadow: 0 8px 32px rgba(0, 40, 100, .12);--crystal-bg: linear-gradient(135deg, rgba(210, 230, 255, .45) 0%, rgba(180, 215, 255, .3) 40%, rgba(200, 225, 255, .5) 100%);--crystal-border: rgba(140, 185, 255, .4);--crystal-shadow: 0 4px 24px rgba(0, 60, 140, .1), inset 0 1px 0 rgba(255, 255, 255, .6);--crystal-hover-shadow: 0 8px 36px rgba(0, 60, 140, .18), inset 0 1px 0 rgba(255, 255, 255, .7);--transition: all .25s ease}.dashboard-container{padding:2rem;min-height:100vh;max-width:1400px;margin:0 auto}.gel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.gel-title{font-size:2.25rem;font-weight:700;color:var(--aat-dark-blue);letter-spacing:-.02em}.gel-badge{padding:.4rem .9rem;border-radius:50px;background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);font-size:.8rem;font-weight:600;color:var(--text-primary)}.live-badge{color:var(--aat-teal);border-color:#00bcd44d}.gel-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-bottom:2.5rem}.gel-stats-grid.weekly-grid,.gel-stats-grid.monthly-grid{grid-template-columns:repeat(3,1fr);margin-bottom:0}@media (max-width: 1024px){.gel-stats-grid,.gel-stats-grid.weekly-grid,.gel-stats-grid.monthly-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.gel-stats-grid,.gel-stats-grid.weekly-grid,.gel-stats-grid.monthly-grid{grid-template-columns:1fr}}.gel-stat-card.net-positive{background:linear-gradient(135deg,#dcffe699,#b4f0c866);border-color:#22c55e59}.gel-stat-card.net-positive .stat-value{color:#15803d}.gel-stat-card.net-warning{background:linear-gradient(135deg,#ffe6d299,#ffc8b466);border-color:#f9731659}.gel-stat-card.net-warning .stat-value{color:#c2410c}.gel-stat-card{position:relative;padding:1.75rem;border-radius:16px;background:var(--crystal-bg);backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);border:1px solid var(--crystal-border);border-top:1px solid rgba(255,255,255,.7);border-left:1px solid rgba(200,220,255,.5);box-shadow:var(--crystal-shadow);overflow:hidden;text-decoration:none;color:inherit;display:flex;align-items:center;gap:1.25rem;transition:var(--transition)}.gel-stat-card:hover{transform:translateY(-3px);box-shadow:var(--crystal-hover-shadow);border-color:#78aaff8c}.gel-card-shine{position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,#ffffff59,#fff0);pointer-events:none;border-radius:16px 16px 0 0}.gel-glow{position:absolute;bottom:-20px;right:-20px;width:80px;height:80px;border-radius:50%;background:radial-gradient(circle,rgba(100,160,255,.15) 0%,transparent 70%);pointer-events:none}.stat-icon{font-size:2.5rem}.stat-info{display:flex;flex-direction:column;gap:.2rem}.stat-value{font-size:2.25rem;font-weight:800;color:var(--aat-dark-blue);line-height:1}.stat-label{font-size:.9rem;color:#6b7280;font-weight:500}.gel-section{margin-bottom:2.5rem}.gel-section-title{font-size:1.4rem;font-weight:700;margin-bottom:1.25rem;display:flex;align-items:center;gap:.6rem;color:var(--text-primary)}.gel-emoji{font-size:1.5rem}.gel-hours-badge{margin-left:auto;padding:.4rem .9rem;border-radius:50px;background:var(--aat-primary-blue);color:#fff;font-size:.8rem;font-weight:600}.gel-metrics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}@media (max-width: 1400px){.gel-metrics-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.gel-metrics-grid{grid-template-columns:1fr}}.gel-metric-card{position:relative;padding:1.5rem;border-radius:16px;background:var(--crystal-bg);backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);border:1px solid var(--crystal-border);border-top:1px solid rgba(255,255,255,.7);border-left:1px solid rgba(200,220,255,.5);box-shadow:var(--crystal-shadow);overflow:hidden;transition:var(--transition);display:flex;flex-direction:column;gap:.5rem}.gel-metric-card:hover{transform:translateY(-2px);box-shadow:var(--crystal-hover-shadow);border-color:#78aaff8c}.gel-metric-card label{font-size:.8rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.04em}.gel-metric-value{font-size:1.75rem;font-weight:800;color:var(--aat-primary-blue);line-height:1}.gel-metric-card small{font-size:.75rem;color:#9ca3af}.gel-wip-list{display:flex;flex-direction:column;gap:.75rem}.gel-wip-item{position:relative;padding:1.25rem;border-radius:14px;background:var(--crystal-bg);backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);border:1px solid var(--crystal-border);border-top:1px solid rgba(255,255,255,.7);border-left:1px solid rgba(200,220,255,.5);box-shadow:var(--crystal-shadow);display:flex;justify-content:space-between;align-items:center;overflow:hidden;transition:var(--transition)}.gel-wip-item:hover{transform:translate(4px);box-shadow:var(--crystal-hover-shadow)}.wip-info{display:flex;flex-direction:column;gap:.3rem;flex:1}.gel-wip-title{font-weight:700;font-size:1rem;color:var(--text-primary)}.gel-wip-client{font-size:.85rem;color:#6b7280}.wip-meta{display:flex;align-items:center;gap:1.25rem}.gel-wip-dev{font-size:.85rem;color:#6b7280}.gel-wip-hours{font-size:.85rem;font-weight:600;color:#4f46e5;background:#4f46e514;padding:.2rem .55rem;border-radius:8px}.gel-wip-revenue{font-size:.95rem;font-weight:700;color:#059669}.gel-wip-item.has-revenue{border-left:3px solid #059669}.gel-wip-price{font-size:1.1rem;font-weight:700;color:var(--aat-primary-blue)}.gel-status-badge{padding:.35rem .7rem;border-radius:10px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.gel-status-badge.hourly{background:#ffa7261f;color:#e08600}.gel-status-badge.fixed{background:#0066cc1a;color:var(--aat-primary-blue)}.gel-view-all-button{display:flex;justify-content:space-between;align-items:center;margin-top:.75rem;padding:1rem 1.5rem;border-radius:14px;background:var(--aat-primary-blue);color:#fff;text-decoration:none;font-weight:600;font-size:.95rem;transition:var(--transition);box-shadow:0 4px 16px #0066cc40}.gel-view-all-button:hover{transform:scale(1.01);box-shadow:0 6px 20px #0066cc59}.gel-arrow{font-size:1.25rem;transition:transform .2s}.gel-view-all-button:hover .gel-arrow{transform:translate(4px)}.gel-quick-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.gel-action-button{padding:1.25rem;border-radius:14px;background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);text-align:center;text-decoration:none;color:var(--aat-primary-blue);font-weight:600;transition:var(--transition);cursor:pointer}.gel-action-button:hover{transform:translateY(-2px);box-shadow:var(--glass-hover-shadow);background:#ffffffb3}.gel-developer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem;max-width:100%}.gel-developer-card{position:relative;padding:1.75rem;border-radius:16px;background:var(--crystal-bg);backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);border:1px solid var(--crystal-border);border-top:1px solid rgba(255,255,255,.7);border-left:1px solid rgba(200,220,255,.5);box-shadow:var(--crystal-shadow);overflow:hidden;transition:var(--transition);display:flex;flex-direction:column;align-items:center;text-align:center;gap:.75rem}.gel-developer-card:hover{transform:translateY(-3px);box-shadow:var(--crystal-hover-shadow);border-color:#78aaff8c}.gel-developer-photo{width:90px;height:90px;border-radius:50%;overflow:hidden;border:3px solid rgba(0,102,204,.2);box-shadow:0 4px 12px #00000014}.gel-developer-card:hover .gel-developer-photo{border-color:#06c6}.gel-developer-photo img{width:100%;height:100%;object-fit:cover;border-radius:50%;background:#f0f0f0}.gel-developer-photo-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2.25rem;background:linear-gradient(135deg,var(--aat-primary-blue),var(--aat-teal));color:#fff;border-radius:50%}.gel-developer-name{font-size:1.2rem;font-weight:700;color:var(--aat-dark-blue);margin:0}.gel-developer-stats{width:100%;display:flex;flex-direction:column;gap:.5rem;margin-top:.25rem}.gel-developer-stat-row{display:flex;justify-content:space-between;align-items:center;padding:.6rem .8rem;background:#00000005;border-radius:10px;border:1px solid rgba(0,0,0,.04)}.gel-developer-stat-label{font-size:.8rem;color:#6b7280;font-weight:500}.gel-developer-stat-value{font-size:1rem;font-weight:700;color:var(--aat-primary-blue)}.gel-developer-stat-value.positive{color:var(--aat-success)}.gel-developer-profit-badge{margin-top:.25rem;padding:.6rem 1rem;border-radius:50px;background:#00c8531a;color:var(--aat-success);font-weight:700;font-size:.9rem}.gel-developer-glow{display:none}.developer-photo-upload{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem}.developer-photo-preview{width:100px;height:100px;border-radius:50%;object-fit:cover;border:2px solid var(--aat-primary-blue);box-shadow:0 4px 12px #06c3}.photo-upload-button{padding:.75rem 1.5rem;background:var(--aat-primary-blue);color:#fff;border:none;border-radius:12px;font-weight:600;cursor:pointer;transition:var(--transition)}.photo-upload-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0066cc4d}@media (max-width: 768px){.dashboard-container{padding:1rem}.gel-title{font-size:1.75rem}.gel-stats-grid,.gel-metrics-grid{grid-template-columns:1fr}.gel-wip-item{flex-direction:column;align-items:flex-start;gap:.75rem}.wip-meta{width:100%;justify-content:space-between}}.dev-clock-alert{display:flex;align-items:center;gap:10px;padding:12px 18px;background:linear-gradient(135deg,#00c8531f,#00bcd414);border:1px solid rgba(0,200,83,.25);border-radius:12px;margin-bottom:1.5rem;font-size:.9rem;color:#1b5e20}.clock-dot{width:8px;height:8px;border-radius:50%;background:#00c853;animation:blink 1.2s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.clock-alert-link{margin-left:auto;color:var(--aat-primary-blue);text-decoration:none;font-weight:600;font-size:.82rem}.clock-alert-link:hover{text-decoration:underline}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2rem}.stat-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:14px;padding:1.25rem;box-shadow:var(--glass-shadow)}.stat-sub{font-size:.78rem;color:var(--text-muted, #86868b);margin-top:2px}.dashboard-section{margin-bottom:2rem}.section-title{font-size:1.1rem;font-weight:700;color:var(--aat-dark-blue, #003d7a);margin-bottom:.75rem}.dev-time-table{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:14px;overflow:hidden;box-shadow:var(--glass-shadow)}.dev-time-header{display:grid;grid-template-columns:2fr 1fr .7fr 2fr;gap:8px;padding:10px 16px;background:#0066cc0a;border-bottom:1px solid var(--glass-border);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, #86868b)}.dev-time-row{display:grid;grid-template-columns:2fr 1fr .7fr 2fr;gap:8px;padding:10px 16px;border-bottom:1px solid rgba(0,0,0,.04);font-size:.85rem;align-items:center}.dev-time-row:last-child{border-bottom:none}.dev-time-project{font-weight:600;color:var(--text-primary, #1d1d1f)}.dev-time-date{color:var(--text-secondary, #424245)}.dev-time-hours{font-weight:700;color:var(--aat-primary-blue, #0066cc)}.dev-time-notes{color:var(--text-muted, #86868b);font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty-section{text-align:center;padding:2.5rem 1rem;color:var(--text-muted, #86868b);font-size:.9rem}@media (max-width: 768px){.stats-grid{grid-template-columns:1fr}.dev-time-header,.dev-time-row{grid-template-columns:1fr 1fr}.dev-time-notes{display:none}}html.dark-mode{--crystal-bg: linear-gradient(135deg, rgba(30, 40, 60, .7) 0%, rgba(25, 35, 55, .6) 40%, rgba(35, 45, 65, .7) 100%);--crystal-border: rgba(80, 120, 180, .3);--crystal-shadow: 0 4px 24px rgba(0, 0, 0, .3), inset 0 1px 0 rgba(255, 255, 255, .05);--crystal-hover-shadow: 0 8px 36px rgba(0, 0, 0, .4), inset 0 1px 0 rgba(255, 255, 255, .08);--glass-bg: rgba(30, 30, 40, .6);--glass-border: rgba(255, 255, 255, .08)}.dark-mode .gel-stat-card{border-top-color:#ffffff14;border-left-color:#648cc826}.dark-mode .gel-stat-card:hover{border-color:#60a5fa66}.dark-mode .gel-card-shine{opacity:.03}.dark-mode .gel-title{color:#f0f0f2}.dark-mode .stat-label{color:#a1a1b0}.dark-mode .stat-value,.dark-mode .gel-section-title{color:#f0f0f2}.dark-mode .gel-metric-card{background:#1e1e28b3;border-color:#ffffff0f}.dark-mode .gel-metric-card label{color:#a1a1b0}.dark-mode .gel-metric-card .metric-value{color:#f0f0f2}.dark-mode .quick-action-card{background:#1e1e28b3;border-color:#ffffff0f;color:#60a5fa}.dark-mode .quick-action-card:hover{background:#282837cc;border-color:#60a5fa4d}.dark-mode .dev-time-header{background:#ffffff0a;color:#a1a1b0}.dark-mode .dev-time-row{border-bottom-color:#ffffff0d}.dark-mode .dev-time-row:hover{background:#60a5fa0f}.dark-mode .wip-table th{background:#ffffff0a;color:#a1a1b0}.dark-mode .wip-table td{color:#d4d4d8;border-bottom-color:#ffffff0d}.dark-mode .wip-table tr:hover td{background:#60a5fa0f}.projects-layout{display:flex;gap:0;height:calc(100vh - 80px);max-width:1600px;margin:0 auto;padding:0 24px}.projects-layout.table-fullpage{max-width:1400px;width:100%;padding:0 2rem;margin:0 auto}.projects-layout.table-fullpage .projects-list-panel{width:100%!important;min-width:unset;max-width:100%;border-right:none;padding-right:0}.projects-list-panel{width:480px;min-width:300px;max-width:800px;display:flex;flex-direction:column;border-right:1px solid rgba(0,102,204,.12);padding-right:16px;overflow:hidden}.resize-handle{width:6px;cursor:col-resize;background:transparent;position:relative;flex-shrink:0;transition:background .15s}.resize-handle:hover,.resize-handle:active{background:#0066cc26}.resize-handle:after{content:"";position:absolute;top:50%;left:1px;transform:translateY(-50%);width:3px;height:40px;border-radius:2px;background:#06c3;opacity:0;transition:opacity .15s}.resize-handle:hover:after{opacity:1}.projects-list-header{display:flex;align-items:center;justify-content:space-between;padding:20px 0 12px}.projects-list-header h1{font-size:1.5rem;font-weight:700;color:#1a1a2e;margin:0}.projects-header-actions{display:flex;align-items:center;gap:10px}.count-badge{font-size:.8rem;color:#6b7280;background:#ffffffb3;padding:4px 10px;border-radius:20px;border:1px solid rgba(0,102,204,.1)}.projects-filters{display:flex;flex-direction:column;gap:8px;padding-bottom:12px;border-bottom:1px solid rgba(0,102,204,.08)}.search-input{width:100%;padding:10px 14px;border:1px solid rgba(0,102,204,.15);border-radius:10px;background:#ffffffb3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:.9rem;color:#1a1a2e;outline:none;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.search-input:focus{border-color:#06c;box-shadow:0 0 0 3px #0066cc1a}.search-input::placeholder{color:#9ca3af}.filter-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.archive-toggle{display:flex;align-items:center;gap:4px;font-size:.78rem;color:#6b7280;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none}.archive-toggle input[type=checkbox]{accent-color:#0066cc;cursor:pointer}.btn-reset-prefs{padding:4px 10px;border:1px solid rgba(0,102,204,.15);border-radius:6px;background:#ffffff80;font-size:.75rem;color:#6b7280;cursor:pointer;white-space:nowrap;transition:all .2s}.btn-reset-prefs:hover{background:#0066cc14;color:#06c;border-color:#0066cc4d}.filter-select{flex:1;padding:8px 10px;border:1px solid rgba(0,102,204,.15);border-radius:8px;background:#ffffffb3;font-size:.82rem;color:#374151;outline:none;cursor:pointer}.filter-select:focus{border-color:#06c}.projects-list{flex:1;overflow-y:auto;padding:8px 0}.projects-list::-webkit-scrollbar{width:6px}.projects-list::-webkit-scrollbar-thumb{background:#0066cc26;border-radius:3px}.project-list-item{padding:14px 16px;border-radius:10px;cursor:pointer;transition:all .15s ease;border:1px solid rgba(0,0,0,.06);margin-bottom:6px;position:relative;background:#ffffff4d}.project-list-item:hover{background:#fff9;border-color:#0066cc26}.project-list-item.selected{background:#0066cc14;border-color:#0066cc40;box-shadow:0 2px 8px #0066cc14}.project-list-item-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.project-list-title{font-size:.9rem;font-weight:600;color:#1a1a2e;line-height:1.3;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-list-price{font-size:.82rem;font-weight:600;color:#06c;white-space:nowrap}.project-list-item-meta{display:flex;justify-content:space-between;align-items:center;margin-top:6px;gap:8px}.project-list-client{font-size:.8rem;color:#6b7280;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-list-dev{font-size:.78rem;color:#9ca3af;white-space:nowrap}.project-list-status{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.project-list-financials{display:flex;justify-content:space-between;align-items:center;margin-top:6px;padding-top:6px;border-top:1px solid rgba(0,0,0,.04)}.project-list-gross{font-size:.8rem;font-weight:600;color:#06c}.project-list-net{font-size:.8rem;font-weight:600}.project-list-net.positive{color:#059669}.project-list-net.negative{color:#dc2626}.project-list-type-badge{display:inline-block;font-size:.68rem;color:#06c;background:#0066cc14;padding:2px 8px;border-radius:10px;margin-top:4px;font-weight:500}.project-detail-panel{flex:1;overflow-y:auto;padding:20px 0 20px 24px}.project-detail-panel::-webkit-scrollbar{width:6px}.project-detail-panel::-webkit-scrollbar-thumb{background:#0066cc26;border-radius:3px}.project-detail-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#9ca3af;text-align:center}.empty-icon{font-size:3rem;margin-bottom:16px;opacity:.5}.project-detail-empty h3{margin:0 0 8px;color:#6b7280;font-weight:600}.project-detail-empty p{margin:0;font-size:.9rem}.project-detail-content{display:flex;flex-direction:column;gap:20px}.project-detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.project-detail-title{font-size:1.4rem;font-weight:700;color:#1a1a2e;margin:0 0 8px;line-height:1.3}.project-detail-badges{display:flex;gap:8px;flex-wrap:wrap}.status-pill{color:#fff;font-size:.75rem;font-weight:600;padding:4px 14px;border-radius:20px;text-transform:uppercase;letter-spacing:.3px}.type-pill{font-size:.75rem;font-weight:600;padding:4px 14px;border-radius:20px;background:#0066cc1a;color:#06c}.priority-pill{font-size:.75rem;font-weight:600;padding:4px 14px;border-radius:20px;background:#ff98001f;color:#e65100}.project-detail-actions{display:flex;gap:8px;flex-shrink:0}.detail-section{display:flex;flex-direction:column;gap:8px}.detail-section-label{font-size:.78rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin:0}.glass-card{background:#ffffff8c;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.6);border-radius:12px;padding:16px;box-shadow:0 2px 12px #003c780f;transition:box-shadow .2s ease}.glass-card:hover{box-shadow:0 4px 20px #003c781a}.detail-card{background:#ffffff8c;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.6);border-radius:12px;padding:16px;box-shadow:0 2px 12px #003c780f;transition:box-shadow .2s ease}.client-info-row{display:flex;flex-direction:column;gap:6px}.client-link{display:flex;align-items:center;gap:8px;color:#06c;text-decoration:none;font-weight:600;font-size:.95rem;transition:color .15s}.client-link:hover{color:#003d7a}.client-link-icon{font-size:1.1rem}.client-link-name{flex:1}.client-link-arrow{font-size:1.1rem;opacity:.5;transition:opacity .15s,transform .15s}.client-link:hover .client-link-arrow{opacity:1;transform:translate(2px)}.client-email{font-size:.82rem;color:#6b7280;margin-left:28px}.financials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.financial-tile{display:flex;flex-direction:column;gap:6px;text-align:center}.financial-tile label{font-size:.75rem;color:#6b7280;text-transform:uppercase;letter-spacing:.3px;font-weight:500}.financial-value{font-size:1.3rem;font-weight:700;color:#1a1a2e}.financial-value.gross{color:#06c}.financial-value.dev{color:#e65100}.financial-value.company{color:#00875a}.rates-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.rate-tile{display:flex;flex-direction:column;gap:4px;text-align:center;padding:12px}.rate-tile label{font-size:.72rem;color:#6b7280;text-transform:uppercase;letter-spacing:.3px;font-weight:500}.rate-value{font-size:1.05rem;font-weight:700;color:#1a1a2e}.rate-value.profit{color:#00875a}.developer-info-row{display:flex;justify-content:space-between;align-items:center}.developer-name{font-weight:600;color:#1a1a2e;font-size:.95rem}.developer-rate{font-size:.85rem;color:#06c;font-weight:600;background:#0066cc14;padding:4px 12px;border-radius:20px}.payment-status-row{display:flex;gap:10px;flex-wrap:wrap}.payment-chip{font-size:.82rem;font-weight:600;padding:8px 16px;border-radius:10px;border:1px solid}.payment-chip.paid{background:#00875a14;border-color:#00875a33;color:#00875a}.payment-chip.unpaid{background:#6b72800f;border-color:#6b728026;color:#9ca3af}.description-text{color:#374151;font-size:.9rem;line-height:1.6;margin:0;white-space:pre-wrap}.dates-grid{display:flex;gap:24px;flex-wrap:wrap}.date-item{display:flex;flex-direction:column;gap:2px}.date-item label{font-size:.72rem;color:#9ca3af;text-transform:uppercase;letter-spacing:.3px;font-weight:500}.date-item span{font-size:.88rem;color:#374151;font-weight:500}.quote-link{display:block;text-align:center;color:#06c;text-decoration:none;font-weight:600;font-size:.9rem;transition:background .15s}.quote-link:hover{background:#0066cc0f}.project-id-footer{font-size:.72rem;color:#d1d5db;text-align:right;padding-top:8px;border-top:1px solid rgba(0,0,0,.04)}.btn-bill-now{margin-top:10px;padding:8px 20px;background:linear-gradient(135deg,#059669,#10b981);color:#fff;border:none;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s ease;width:100%}.btn-bill-now:hover{opacity:.9;transform:translateY(-1px)}.btn-bill-now:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-bill-subtle{margin-top:6px;padding:4px 12px;background:none;color:#6b7280;border:1px solid #e5e7eb;border-radius:6px;font-size:.75rem;cursor:pointer;transition:all .2s}.btn-bill-subtle:hover{color:#059669;border-color:#059669;background:#0596690a}.btn-bill-subtle:disabled{opacity:.5;cursor:not-allowed}.dev-photo-row{display:flex;align-items:center;gap:10px}.dev-photo-thumb{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid rgba(0,102,204,.2);flex-shrink:0}.invoice-info-card{margin-top:12px;padding:14px;border-radius:10px}.invoice-info-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.invoice-info-label{font-size:.82rem;font-weight:600;color:#374151}.invoice-info-details{display:flex;justify-content:space-between;align-items:center}.invoice-amount{font-size:1.1rem;font-weight:700;color:#06c}.billing-status{display:inline-block;padding:2px 10px;border-radius:10px;font-size:.75rem;font-weight:600;text-transform:uppercase}.billing-status.paid{background:#0596691a;color:#059669}.billing-status.pending{background:#f59e0b1a;color:#d97706}.billing-status.refunded,.billing-status.partial_refund{background:#6b72801a;color:#6b7280}.billing-status.failed{background:#dc26261a;color:#dc2626}.btn-refund{margin-top:10px;padding:6px 16px;background:transparent;border:1px solid rgba(220,38,38,.3);color:#dc2626;border-radius:8px;font-size:.8rem;cursor:pointer;transition:all .15s ease}.btn-refund:hover{background:#dc26260d}.refund-form{margin-top:10px;padding:12px;border:1px solid rgba(220,38,38,.15);border-radius:8px;background:#ffffff80}.refund-form-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.refund-form-row label{font-size:.8rem;font-weight:600;color:#374151;min-width:70px}.refund-input{flex:1;padding:6px 10px;border:1px solid rgba(0,0,0,.12);border-radius:6px;font-size:.82rem}.refund-actions{display:flex;gap:8px;justify-content:flex-end}.btn-sm{padding:6px 14px;font-size:.8rem}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.clock-total-badge{display:inline-block;margin-left:8px;padding:2px 10px;font-size:.75rem;font-weight:600;background:#0066cc1a;color:#06c;border-radius:10px}.clock-events-list{display:flex;flex-direction:column;gap:8px}.clock-event-row{padding:10px 14px;border-radius:10px}.clock-event-main{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.clock-event-dev{font-weight:600;font-size:.88rem;color:#1d1d1f}.clock-event-hours{font-weight:700;font-size:.9rem;color:#06c}.clock-event-times{display:flex;gap:16px;font-size:.78rem;color:#6b7280}.clock-event-notes{margin-top:4px;font-size:.8rem;color:#6b7280;font-style:italic}.btn-add-clock-event{margin-left:8px;padding:2px 10px;font-size:.72rem;font-weight:600;background:#0596691a;color:#059669;border:1px solid rgba(5,150,105,.2);border-radius:6px;cursor:pointer}.btn-add-clock-event:hover{background:#05966933}.add-clock-event-form{display:flex;flex-direction:column;gap:8px;padding:12px;margin-bottom:10px;background:#0066cc0a;border:1px solid rgba(0,102,204,.12);border-radius:10px}.clock-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.clock-form-field label{display:block;font-size:.72rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:3px}.clock-form-field .form-input{width:100%;font-size:.82rem}.clock-event-admin{position:relative;padding-right:30px}.btn-delete-clock{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:22px;height:22px;border:none;border-radius:50%;background:#dc262614;color:#dc2626;font-size:.7rem;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s}.clock-event-compact:hover .btn-delete-clock,.clock-event-row:hover .btn-delete-clock{opacity:1}.btn-delete-clock:hover{background:#dc262633}.dark-mode .btn-add-clock-event{background:#34d3991f;color:#34d399;border-color:#34d39933}.dark-mode .add-clock-event-form{background:#0066cc0f;border-color:#0066cc26}.dark-mode .btn-delete-clock{background:#f871711a;color:#f87171}.dark-mode .btn-delete-clock:hover{background:#f8717140}.text-muted{color:#9ca3af;font-size:.88rem}.btn-primary{background:#06c;color:#fff;border:none;padding:8px 18px;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s}.btn-primary:hover{background:#003d7a}.btn-secondary{background:#0066cc14;color:#06c;border:1px solid rgba(0,102,204,.15);padding:8px 18px;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s}.btn-secondary:hover{background:#0066cc24}.btn-danger{background:#dc262614;color:#dc2626;border:1px solid rgba(220,38,38,.15);padding:8px 18px;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s}.btn-danger:hover{background:#dc262624}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:16px;padding:32px;width:100%;max-width:520px;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px #0003}.modal-content h2{margin:0 0 20px;font-size:1.3rem;color:#1a1a2e}.form-group{margin-bottom:14px}.form-group label{display:block;font-size:.82rem;font-weight:600;color:#374151;margin-bottom:4px}.form-input{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;color:#1a1a2e;outline:none;background:#fff;box-sizing:border-box;transition:border-color .15s}.form-input:focus{border-color:#06c;box-shadow:0 0 0 3px #0066cc1a}textarea.form-input{resize:vertical}.form-row{display:flex;gap:12px}.form-row .form-group{flex:1}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid #f3f4f6}.loading{text-align:center;padding:60px 20px;color:#6b7280;font-size:1rem}.error{text-align:center;padding:60px 20px;color:#dc2626}.edit-form{display:flex;flex-direction:column;gap:16px}.edit-form .form-input,.project-detail-content .form-input{background:#00000008;border:1px solid rgba(0,102,204,.15);color:#1a1a2e}.edit-form .form-input:focus,.project-detail-content .form-input:focus{background:#fffc;border-color:#06c}html.dark-mode .edit-form .form-input,html.dark-mode .project-detail-content .form-input{background:#ffffff0a;border-color:#64a0ff26;color:#e0e0e4}html.dark-mode .edit-form .form-input:focus,html.dark-mode .project-detail-content .form-input:focus{background:#ffffff14;border-color:#64a0ff66}.edit-form input[type=number]{font-weight:600}.edit-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.edit-row.three-col{grid-template-columns:1fr 1fr 1fr}.net-profit-display{font-size:1.15rem;font-weight:700;color:#00c853;padding:10px 0;font-family:Inter,sans-serif}.edit-field{display:flex;flex-direction:column;gap:4px}.edit-field label{font-size:.78rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.3px}.title-edit{font-size:1.2rem!important;font-weight:700!important;padding:8px 12px!important}.badge-select{width:auto!important;font-size:.82rem!important;padding:6px 12px!important;border-radius:20px!important;font-weight:600}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.88rem;color:#374151;padding:8px 0}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:#0066cc;cursor:pointer}.btn-primary:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 900px){.projects-layout{flex-direction:column;height:auto}.projects-list-panel{width:100%;min-width:0;border-right:none;border-bottom:1px solid rgba(0,102,204,.12);padding-right:0;padding-bottom:16px;max-height:50vh}.project-detail-panel{padding:16px 0 0}.rates-grid{grid-template-columns:repeat(2,1fr)}}.status-dropdown{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:#0066cc0f;color:#1a1a2e;font-size:.78rem;font-weight:700;padding:5px 28px 5px 14px;border-radius:20px;border:2px solid rgba(0,102,204,.25);cursor:pointer;text-transform:uppercase;letter-spacing:.3px;outline:none;transition:all .2s ease;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23666' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.status-dropdown:hover{border-color:#0066cc80;background-color:#0066cc1a}.status-dropdown:focus{border-color:#06c;box-shadow:0 0 0 3px #0066cc1f}.archive-toggle{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:.82rem;font-weight:500;color:#6b7280;white-space:nowrap;padding:7px 12px;border:1px solid rgba(0,102,204,.15);border-radius:8px;background:#ffffffb3;transition:all .15s;-webkit-user-select:none;user-select:none}.archive-toggle:hover{border-color:#06c;color:#374151}.archive-toggle input[type=checkbox]{width:14px;height:14px;accent-color:#0066cc;cursor:pointer}.view-toggle{display:flex;background:#ffffffb3;border:1px solid rgba(0,102,204,.12);border-radius:8px;overflow:hidden}.toggle-btn{padding:6px 10px;border:none;background:transparent;color:#9ca3af;font-size:1rem;cursor:pointer;transition:all .15s;line-height:1}.toggle-btn.active{background:#0066cc1a;color:#06c}.toggle-btn:hover:not(.active){background:#0000000a;color:#6b7280}.project-list-primary{display:flex;justify-content:space-between;align-items:center;gap:12px}.project-list-client-name{font-size:.95rem;font-weight:700;color:#1a1a2e;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-list-gross-amount{font-size:.95rem;font-weight:700;color:#06c;white-space:nowrap}.project-list-secondary{display:flex;justify-content:space-between;align-items:center;margin-top:3px;gap:12px}.project-list-dev-name{font-size:.82rem;font-weight:500;color:#6b7280;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-list-net-amount{font-size:.82rem;font-weight:600;white-space:nowrap}.project-list-net-amount.positive{color:#059669}.project-list-net-amount.negative{color:#dc2626}.project-list-tertiary{display:flex;align-items:center;gap:6px;margin-top:6px;padding-top:6px;border-top:1px solid rgba(0,0,0,.04);flex-wrap:wrap}.project-list-project-name{font-size:.75rem;color:#9ca3af;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.project-list-status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.project-list-status-text{font-size:.7rem;color:#6b7280;font-weight:500;white-space:nowrap}.project-list-type-tag{font-size:.65rem;font-weight:600;color:#06c;background:#0066cc0f;padding:1px 6px;border-radius:8px;white-space:nowrap}.project-list-hours{font-size:.7rem;font-weight:600;color:#00bcd4;white-space:nowrap}.projects-table-container{flex:1;overflow-y:auto;padding:4px 0}.projects-table-container::-webkit-scrollbar{width:6px}.projects-table-container::-webkit-scrollbar-thumb{background:#0066cc26;border-radius:3px}.projects-table{display:flex;flex-direction:column}.projects-table-header{display:grid;grid-template-columns:28px 1.4fr 1.1fr .8fr .8fr 1.5fr 1fr .6fr;gap:8px;padding:8px 12px;border-bottom:1px solid rgba(0,102,204,.1);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#9ca3af}.projects-table-row{display:grid;grid-template-columns:28px 1.4fr 1.1fr .8fr .8fr 1.5fr 1fr .6fr;gap:8px;padding:10px 12px;cursor:pointer;border-bottom:1px solid rgba(0,0,0,.03);font-size:.82rem;align-items:center;transition:background .12s;border-radius:6px}.projects-table-row:hover{background:#fff9}.projects-table-row.expanded{background:#0066cc0f;border-bottom-color:transparent}.pt-col-expand{font-size:.7rem;color:#9ca3af;width:28px;text-align:center}.pt-col-type{font-size:.75rem;color:#6b7280}.table-expanded-detail{padding:16px 20px 20px 44px;border-bottom:2px solid rgba(0,102,204,.1);background:#ffffff80;animation:slideDown .15s ease}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:2000px}}.table-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.table-detail-header h3{font-size:1.1rem;font-weight:700;color:#1a1a2e;margin:0}.table-detail-actions{display:flex;gap:8px}.btn-sm{padding:5px 12px!important;font-size:.78rem!important}.btn-small{padding:4px 10px;font-size:.75rem;border-radius:6px;text-decoration:none;display:inline-block}.table-detail-view{display:flex;flex-direction:column;gap:8px}.table-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-bottom:12px}.td-block{display:flex;flex-direction:column;gap:2px}.td-block label{font-size:.65rem;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.3px}.td-block span{font-size:.88rem;color:#374151}.td-sub{font-size:.75rem!important;color:#9ca3af!important}.td-amount{font-weight:700!important}.td-amount.gross{color:#06c!important}.td-amount.net{color:#059669!important}.td-amount.dev{color:#f59e0b!important}.table-detail-rates{display:flex;gap:20px;padding:8px 0;font-size:.82rem;color:#374151}.table-detail-rates .profit{color:#059669}.table-detail-payment{display:flex;gap:8px;padding:8px 0;flex-wrap:wrap}.table-detail-dates{display:flex;gap:20px;font-size:.8rem;color:#6b7280;padding:8px 0}.td-text-section{padding:8px 0;border-top:1px solid rgba(0,0,0,.04)}.td-text-section label{font-size:.65rem;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.3px;display:block;margin-bottom:4px}.td-text-section p{font-size:.85rem;color:#374151;margin:0;line-height:1.5}.td-footer{font-size:.7rem;color:#d1d5db;text-align:right;padding-top:8px}.clock-events-compact{display:flex;flex-direction:column;gap:4px}.clock-event-compact{display:flex;gap:12px;font-size:.8rem;color:#374151}.table-detail-edit{display:flex;flex-direction:column;gap:12px}.edit-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.edit-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.edit-grid-4{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:12px}.pt-col-client{font-weight:600;color:#1a1a2e;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pt-col-dev{color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pt-col-gross{font-weight:700;color:#06c;white-space:nowrap}.pt-col-net{font-weight:600;white-space:nowrap}.pt-col-net.positive{color:#059669}.pt-col-net.negative{color:#dc2626}.pt-col-project{color:#374151;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem}.pt-col-status{font-size:.75rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-hero{padding:20px;border-radius:14px;margin-bottom:4px}.hero-people-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:18px}.hero-block{display:flex;flex-direction:column;gap:4px}.hero-label{font-size:.7rem;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px}.hero-value{font-size:1.05rem;font-weight:700;color:#1a1a2e}.hero-value.muted{color:#9ca3af;font-weight:400}.hero-value-link{font-size:1.05rem;font-weight:700;color:#06c;text-decoration:none;transition:color .15s}.hero-value-link:hover{color:#003d7a}.hero-sub{font-size:.78rem;color:#6b7280}.hero-financials-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px;padding:14px 0;border-top:1px solid rgba(0,102,204,.08)}.hero-financial{display:flex;flex-direction:column;gap:2px;text-align:center}.hero-financial label{font-size:.68rem;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.4px}.hero-amount{font-size:1.35rem;font-weight:800;color:#1a1a2e}.hero-amount.gross{color:#06c}.hero-amount.net{color:#059669}.hero-amount.dev{color:#e65100}.hero-hourly-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding-top:12px;border-top:1px solid rgba(0,102,204,.08)}.hero-rate{display:flex;flex-direction:column;align-items:center;gap:2px}.hero-rate label{font-size:.65rem;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.3px}.hero-rate span{font-size:.95rem;font-weight:700;color:#374151}.hero-rate span.profit{color:#059669}.hero-progress-row{display:flex;align-items:center;gap:12px;padding-top:12px;border-top:1px solid rgba(0,102,204,.08)}.hero-progress-row label{font-size:.7rem;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.progress-bar-container{flex:1;height:8px;background:#00000014;border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#06c,#00c853);border-radius:4px;transition:width .3s ease}.progress-bar-label{font-size:.85rem;font-weight:700;color:#374151;min-width:36px;text-align:right}.btn-archive-viewer{padding:4px 10px;border:1px solid rgba(139,92,246,.2);border-radius:6px;background:#8b5cf614;font-size:.75rem;color:#7c3aed;cursor:pointer;white-space:nowrap;transition:all .2s}.btn-archive-viewer:hover{background:#8b5cf626;border-color:#8b5cf666}.archive-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px}.archive-modal{background:#fff;border-radius:16px;width:95vw;max-width:1200px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 25px 50px #00000040;overflow:hidden}.archive-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb}.archive-modal-header h2{margin:0;font-size:1.3rem;color:#1f2937}.archive-modal-close{width:32px;height:32px;border:none;background:#f3f4f6;border-radius:8px;font-size:1rem;cursor:pointer;color:#6b7280;display:flex;align-items:center;justify-content:center;transition:all .2s}.archive-modal-close:hover{background:#e5e7eb;color:#1f2937}.archive-filters{padding:16px 24px;border-bottom:1px solid #e5e7eb;background:#fafbfc}.archive-filter-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:12px}.archive-filter-field{display:flex;flex-direction:column;gap:4px;flex:1;min-width:140px}.archive-filter-field label{font-size:.72rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.archive-filter-field .form-input{padding:6px 10px;font-size:.85rem}.archive-filter-actions{display:flex;gap:10px;align-items:center}.archive-filter-actions .btn-primary{padding:6px 16px;font-size:.82rem;border:none;background:#06c;color:#fff;border-radius:8px;cursor:pointer;transition:background .2s}.archive-filter-actions .btn-primary:hover{background:#0052a3}.archive-filter-actions .btn-secondary{padding:6px 16px;font-size:.82rem;border:1px solid #d1d5db;background:#fff;color:#374151;border-radius:8px;cursor:pointer;transition:all .2s}.archive-filter-actions .btn-secondary:hover{background:#f3f4f6}.archive-filter-actions .btn-export{padding:6px 16px;font-size:.82rem;border:1px solid rgba(16,185,129,.3);background:#10b98114;color:#059669;border-radius:8px;cursor:pointer;transition:all .2s;margin-left:auto}.archive-filter-actions .btn-export:hover{background:#10b98126;border-color:#10b98180}.archive-count{font-size:.82rem;color:#6b7280;font-weight:500}.archive-results{flex:1;overflow:auto;padding:0}.archive-loading,.archive-empty{padding:48px 24px;text-align:center;color:#6b7280;font-size:.95rem}.archive-table{width:100%;border-collapse:collapse;font-size:.85rem}.archive-table thead{position:sticky;top:0;background:#f9fafb;z-index:1}.archive-table th{padding:10px 14px;text-align:left;font-size:.72rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e5e7eb}.archive-table td{padding:10px 14px;border-bottom:1px solid #f3f4f6;color:#374151}.archive-row{cursor:pointer;transition:background .15s}.archive-row:hover{background:#0066cc0a}.archive-title{font-weight:600;color:#1f2937;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-right{text-align:right}.archive-totals{background:#f0f7ff;font-size:.88rem}.archive-totals td{border-top:2px solid #d1d5db;padding:12px 14px}.dev-group-header{display:flex;align-items:center;gap:10px;padding:10px 16px 6px;margin-top:8px;border-bottom:2px solid rgba(0,102,204,.15)}.dev-group-header:first-child{margin-top:0}.dev-group-name{font-weight:700;font-size:.92rem;color:#1a1a2e;letter-spacing:.01em}.dev-group-count{font-size:.78rem;color:#6b7280;background:#0066cc14;padding:1px 8px;border-radius:10px}html.dark-mode .dev-group-name{color:#e0e0e0}html.dark-mode .dev-group-header{border-bottom-color:#64a0ff33}html.dark-mode .dev-group-count{background:#64a0ff26;color:#a0b0c0}.projects-table-group-header{display:flex;align-items:center;gap:12px;padding:10px 16px;margin-top:4px;background:linear-gradient(135deg,#0066cc0f,#0066cc05);border-bottom:2px solid rgba(0,102,204,.15);border-top:1px solid rgba(0,102,204,.08)}.projects-table-group-header:first-child{margin-top:0;border-top:none}.group-dev-name{font-weight:700;font-size:.9rem;color:#1a1a2e}.group-dev-count{font-size:.78rem;color:#6b7280}.group-dev-total{margin-left:auto;font-weight:600;font-size:.88rem;color:#06c}html.dark-mode .projects-table-group-header{background:linear-gradient(135deg,#64a0ff14,#64a0ff08);border-bottom-color:#64a0ff33;border-top-color:#64a0ff1a}html.dark-mode .group-dev-name{color:#e0e0e0}html.dark-mode .group-dev-count{color:#a0b0c0}html.dark-mode .group-dev-total{color:#64a0ff}.field-disabled .form-input,.input-readonly{background:#f3f4f6!important;color:#6b7280!important;cursor:not-allowed;border-color:#e5e7eb!important}html.dark-mode .field-disabled .form-input,html.dark-mode .input-readonly{background:#ffffff0a!important;color:#888!important;border-color:#ffffff14!important}.auto-calc-badge{display:inline-block;font-size:.65rem;font-weight:500;color:#6b7280;background:#e5e7eb;padding:0 5px;border-radius:4px;margin-left:6px;vertical-align:middle;text-transform:uppercase;letter-spacing:.03em}html.dark-mode .auto-calc-badge{background:#ffffff1a;color:#888}html.dark-mode .projects-list-header h1,html.dark-mode .project-detail-title,html.dark-mode .project-list-title,html.dark-mode .table-detail-header h3,html.dark-mode .hero-value,html.dark-mode .hero-amount,html.dark-mode .modal-content h2,html.dark-mode .archive-modal-header h2,html.dark-mode .archive-title{color:#f0f0f2}html.dark-mode .search-input,html.dark-mode .financial-value,html.dark-mode .rate-value,html.dark-mode .developer-name,html.dark-mode .clock-event-dev,html.dark-mode .project-list-client-name,html.dark-mode .pt-col-client,html.dark-mode .status-dropdown,html.dark-mode .form-input{color:#e0e0e4}html.dark-mode .filter-select,html.dark-mode .description-text,html.dark-mode .date-item span,html.dark-mode .invoice-info-label,html.dark-mode .refund-form-row label,html.dark-mode .form-group label,html.dark-mode .checkbox-label,html.dark-mode .td-block span,html.dark-mode .table-detail-rates,html.dark-mode .td-text-section p,html.dark-mode .clock-event-compact,html.dark-mode .pt-col-project,html.dark-mode .hero-rate span,html.dark-mode .progress-bar-label,html.dark-mode .archive-table td{color:#b0b0b8}html.dark-mode .count-badge,html.dark-mode .archive-toggle,html.dark-mode .btn-reset-prefs,html.dark-mode .project-list-client,html.dark-mode .detail-section-label,html.dark-mode .client-email,html.dark-mode .financial-tile label,html.dark-mode .rate-tile label,html.dark-mode .clock-event-times,html.dark-mode .clock-event-notes,html.dark-mode .edit-field label,html.dark-mode .project-list-status-text,html.dark-mode .pt-col-type,html.dark-mode .pt-col-dev,html.dark-mode .hero-sub,html.dark-mode .archive-modal-close,html.dark-mode .archive-count,html.dark-mode .archive-loading,html.dark-mode .archive-empty,html.dark-mode .archive-table th{color:#8a8a96}html.dark-mode .search-input,html.dark-mode .filter-select,html.dark-mode .count-badge,html.dark-mode .btn-reset-prefs,html.dark-mode .archive-toggle,html.dark-mode .view-toggle{background:#ffffff0f;border-color:#ffffff1a}html.dark-mode .project-list-item{background:#ffffff0a}html.dark-mode .project-list-item:hover{background:#60a5fa14}html.dark-mode .project-list-item.selected{background:#60a5fa1f}html.dark-mode .glass-card,html.dark-mode .detail-card{background:#1e1e2ab3;border-color:#ffffff0f}html.dark-mode .refund-form{background:#ffffff0a}html.dark-mode .modal-content{background:#1a1a24;color:#f0f0f2}html.dark-mode .projects-table-row:hover{background:#60a5fa14}html.dark-mode .table-expanded-detail{background:#1e1e2a99}html.dark-mode .archive-modal{background:#1a1a24}html.dark-mode .archive-modal-close{background:#ffffff0f}html.dark-mode .archive-modal-close:hover{color:#f0f0f2;background:#ffffff1a}html.dark-mode .archive-filters{background:#ffffff08}html.dark-mode .archive-filter-actions .btn-secondary{background:#ffffff0f;color:#b0b0b8}html.dark-mode .archive-filter-actions .btn-secondary:hover{background:#ffffff1a}html.dark-mode .archive-table thead{background:#ffffff0a}html.dark-mode .archive-totals{background:#60a5fa14}.table-top-bar{display:flex;align-items:center;padding:6px 16px;border-bottom:1px solid rgba(0,0,0,.06)}.btn-collapse-all{font-size:.78rem;font-weight:600;color:#6b7280;background:#0000000a;border:1px solid rgba(0,0,0,.08);border-radius:6px;padding:4px 12px;cursor:pointer;transition:background .15s}.btn-collapse-all:hover{background:#00000014;color:#374151}html.dark-mode .table-top-bar{border-bottom-color:#ffffff0f}html.dark-mode .btn-collapse-all{background:#ffffff0f;border-color:#ffffff1a;color:#a0b0c0}html.dark-mode .btn-collapse-all:hover{background:#ffffff1a;color:#e0e0e4}.group-collapse-icon{font-size:.65rem;color:#9ca3af;width:14px;text-align:center;flex-shrink:0}html.dark-mode .group-collapse-icon{color:#6b7280}.dev-group-net{margin-left:auto;font-weight:700;font-size:.88rem;color:#059669}html.dark-mode .dev-group-net{color:#34d399}.group-dev-net{font-weight:700;font-size:.88rem;color:#059669}html.dark-mode .group-dev-net{color:#34d399}.projects-table-group-header{cursor:pointer;-webkit-user-select:none;user-select:none}.projects-table-group-header:hover{background:linear-gradient(135deg,#0066cc1a,#0066cc0a)}html.dark-mode .projects-table-group-header:hover{background:linear-gradient(135deg,#64a0ff1f,#64a0ff0d)}.table-new-form{padding:16px 20px 20px;border-bottom:2px solid rgba(0,102,204,.15);background:#0066cc08;animation:slideDown .15s ease}html.dark-mode .table-new-form{background:#64a0ff0d;border-bottom-color:#64a0ff33}.table-expanded-detail .table-detail-edit .form-input{background:#fff9;border-color:#06c3}.table-expanded-detail .table-detail-edit .form-input:focus{background:#fff}html.dark-mode .table-expanded-detail .table-detail-edit .form-input{background:#ffffff0f;border-color:#64a0ff33;color:#e0e0e4}html.dark-mode .table-expanded-detail .table-detail-edit .form-input:focus{background:#ffffff1a}@media (max-width: 768px){.projects-layout{flex-direction:column;height:auto}.projects-layout.table-fullpage{height:auto}.projects-list-panel{width:100%!important;min-width:0;border-right:none;max-height:none}.project-detail-panel{padding:12px 0 0}.projects-list-header{flex-wrap:wrap;gap:8px}.projects-list-header h1{font-size:1.2rem}.projects-header-actions{flex-wrap:wrap;gap:6px}.projects-filters{flex-direction:column;gap:8px}.filter-row{flex-wrap:wrap;gap:6px}.filter-select{flex:1;min-width:100px}.projects-table-header{display:none}.projects-table-row{flex-wrap:wrap;gap:4px;padding:10px 12px}.pt-col-expand{width:20px}.pt-col-client{flex:1 1 40%;font-size:.82rem}.pt-col-dev{flex:1 1 40%;font-size:.78rem}.pt-col-gross,.pt-col-net{flex:0 0 auto}.pt-col-project{flex:1 1 100%;font-size:.78rem;color:#9ca3af}.pt-col-status,.pt-col-type{font-size:.72rem}.table-expanded-detail{padding:12px 12px 16px}.edit-grid-4{grid-template-columns:1fr 1fr}.edit-grid-3,.edit-grid-2{grid-template-columns:1fr}.table-detail-grid{grid-template-columns:repeat(2,1fr)}.hero-people-row{flex-direction:column;gap:12px}.hero-financials-row,.hero-hourly-row{flex-wrap:wrap;gap:8px}.edit-form .edit-row,.edit-form .edit-row.three-col{grid-template-columns:1fr}.project-detail-header{flex-direction:column;gap:8px;align-items:flex-start}.project-detail-actions{width:100%;display:flex;gap:8px}.payment-status-row{flex-wrap:wrap}.dates-grid{grid-template-columns:repeat(2,1fr)}.resize-handle{display:none}.archive-modal{width:95vw;max-height:90vh;margin:5vh auto}.archive-filter-row{flex-direction:column}.archive-table{font-size:.75rem}.archive-table th,.archive-table td{padding:6px 8px}}@keyframes projectGlow{0%{box-shadow:0 0 #00b47800}20%{box-shadow:0 0 16px 4px #00b47866}50%{box-shadow:0 0 24px 8px #00b47840}80%{box-shadow:0 0 16px 4px #00b47826}to{box-shadow:0 0 #00b47800}}.project-glow{animation:projectGlow 3s ease-in-out;border-color:#00b47866!important}.dark-mode .project-glow{animation:projectGlow 3s ease-in-out;border-color:#34d39966!important}.project-locked{opacity:.85;border-left:3px solid #ef4444!important}.lock-indicator{display:flex;align-items:center;gap:8px;margin-top:10px;padding:6px 12px;background:#ef444414;border-radius:8px;border:1px solid rgba(239,68,68,.2)}.lock-badge{font-size:.82rem;font-weight:600;color:#dc2626}.lock-reason{font-size:.78rem;color:#6b7280;font-style:italic}.dark-mode .lock-indicator{background:#ef44441f;border-color:#ef444440}.dark-mode .lock-badge{color:#f87171}.dark-mode .lock-reason{color:#9ca3af}.lock-toggle-row{display:flex;align-items:center;gap:10px;margin-top:4px}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background:#cbd5e1;border-radius:24px;transition:.3s}.toggle-slider:before{content:"";position:absolute;height:18px;width:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.3s}.toggle-switch input:checked+.toggle-slider{background:#ef4444}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.lock-status{font-size:.78rem;color:#6b7280}.dark-mode .toggle-slider{background:#4b5563}.dark-mode .lock-status{color:#9ca3af}.progress-slider{width:100%;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#e2e8f0;border-radius:4px;outline:none;cursor:pointer}.progress-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#06c;cursor:pointer;border:2px solid white;box-shadow:0 1px 4px #0003}.progress-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#06c;cursor:pointer;border:2px solid white;box-shadow:0 1px 4px #0003}.dark-mode .progress-slider{background:#374151}.archive-row-selected{background:#0066cc14!important}.dark-mode .archive-row-selected{background:#60a5fa1f!important}.archive-detail-row td{padding:0!important}.archive-detail-panel{padding:16px 20px;background:#0066cc0a;border-top:1px solid rgba(0,102,204,.1);border-bottom:2px solid rgba(0,102,204,.15)}.archive-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px 16px;margin-bottom:12px}.archive-detail-grid>div{display:flex;flex-direction:column;gap:2px}.archive-detail-grid label{font-size:.7rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.03em}.archive-detail-grid span{font-size:.85rem;font-weight:500;color:#1f2937}.archive-detail-text{margin-top:8px;padding-top:8px;border-top:1px solid rgba(0,0,0,.06)}.archive-detail-text label{font-size:.72rem;font-weight:600;color:#6b7280;text-transform:uppercase}.archive-detail-text p,.archive-detail-text a{font-size:.82rem;color:#374151;margin:2px 0 0;line-height:1.4}.archive-detail-text a{color:#06c;word-break:break-all}.archive-detail-actions{margin-top:12px;padding-top:8px;border-top:1px solid rgba(0,0,0,.06)}.dark-mode .archive-detail-panel{background:#60a5fa0f;border-color:#60a5fa1f}.dark-mode .archive-detail-grid span{color:#e5e7eb}.dark-mode .archive-detail-grid label{color:#9ca3af}.dark-mode .archive-detail-text p{color:#d1d5db}.dark-mode .archive-detail-text a{color:#60a5fa}.clients-layout{display:flex;gap:0;height:calc(100vh - 80px);max-width:1400px;margin:0 auto;padding:0 24px}.clients-list-panel{width:420px;min-width:360px;display:flex;flex-direction:column;border-right:1px solid rgba(0,102,204,.12);padding-right:16px}.clients-list-header{display:flex;align-items:center;justify-content:space-between;padding:20px 0 12px}.clients-list-header h1{font-size:1.5rem;font-weight:700;color:#1a1a2e;margin:0}.clients-header-actions{display:flex;align-items:center;gap:10px}.clients-filters{display:flex;flex-direction:column;gap:8px;padding-bottom:12px;border-bottom:1px solid rgba(0,102,204,.08)}.clients-list{flex:1;overflow-y:auto;padding:8px 0}.clients-list::-webkit-scrollbar{width:6px}.clients-list::-webkit-scrollbar-thumb{background:#0066cc26;border-radius:3px}.client-list-item{padding:12px 14px;border-radius:10px;cursor:pointer;transition:all .15s ease;border:1px solid transparent;margin-bottom:4px}.client-list-item:hover{background:#fff9;border-color:#0066cc1a}.client-list-item.selected{background:#0066cc14;border-color:#0066cc40;box-shadow:0 2px 8px #0066cc14}.client-list-item-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.client-list-name{font-size:.88rem;font-weight:600;color:#1a1a2e;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-list-status{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.client-list-meta{display:flex;justify-content:space-between;align-items:center;margin-top:3px}.client-list-company{font-size:.78rem;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-list-email{font-size:.75rem;color:#9ca3af}.client-detail-panel{flex:1;overflow-y:auto;padding:20px 0 20px 24px}.client-detail-panel::-webkit-scrollbar{width:6px}.client-detail-panel::-webkit-scrollbar-thumb{background:#0066cc26;border-radius:3px}.client-detail-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#9ca3af;text-align:center}.client-detail-empty h3{margin:0 0 8px;color:#6b7280;font-weight:600}.client-detail-empty p{margin:0;font-size:.9rem}.client-detail-content{display:flex;flex-direction:column;gap:20px}.client-detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.client-detail-title{font-size:1.4rem;font-weight:700;color:#1a1a2e;margin:0 0 4px}.client-detail-company{font-size:.92rem;color:#6b7280;margin:0}.client-detail-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.client-detail-actions{display:flex;gap:8px;flex-shrink:0}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.info-item{display:flex;flex-direction:column;gap:3px}.info-item label{font-size:.72rem;color:#9ca3af;text-transform:uppercase;letter-spacing:.3px;font-weight:500}.info-item span{font-size:.9rem;color:#374151;font-weight:500}.info-item a{font-size:.9rem;color:#06c;text-decoration:none}.info-item a:hover{text-decoration:underline}.client-financials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.client-financial-tile{display:flex;flex-direction:column;gap:4px;text-align:center;background:#ffffff8c;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.6);border-radius:12px;padding:14px;box-shadow:0 2px 12px #003c780f}.client-financial-tile label{font-size:.72rem;color:#6b7280;text-transform:uppercase;letter-spacing:.3px;font-weight:500}.client-financial-value{font-size:1.2rem;font-weight:700}.client-financial-value.min{color:#e65100}.client-financial-value.avg{color:#06c}.client-financial-value.max{color:#00875a}.client-notes-card{background:#ffffff8c;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.6);border-radius:12px;padding:16px;box-shadow:0 2px 12px #003c780f}.client-notes-text{color:#374151;font-size:.9rem;line-height:1.6;margin:0;white-space:pre-wrap}.client-id-footer{font-size:.72rem;color:#d1d5db;text-align:right;padding-top:8px;border-top:1px solid rgba(0,0,0,.04)}@media (max-width: 900px){.clients-layout{flex-direction:column;height:auto}.clients-list-panel{width:100%;min-width:0;border-right:none;border-bottom:1px solid rgba(0,102,204,.12);padding-right:0;padding-bottom:16px;max-height:50vh}.client-detail-panel{padding:16px 0 0}.client-financials-grid{grid-template-columns:1fr}}.portal-login-page{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 80px);padding:20px}.portal-login-card{background:#ffffffbf;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.6);border-radius:20px;padding:48px 40px;max-width:420px;width:100%;text-align:center;box-shadow:0 8px 40px #003c781a}.portal-login-logo img{width:64px;height:64px;border-radius:14px;margin-bottom:16px}.portal-login-card h1{font-size:1.6rem;font-weight:700;color:#1a1a2e;margin:0 0 8px}.portal-login-subtitle{color:#6b7280;font-size:.9rem;margin:0 0 24px}.portal-error{background:#dc262614;color:#dc2626;border:1px solid rgba(220,38,38,.2);border-radius:10px;padding:10px 16px;font-size:.85rem;margin-bottom:16px}.portal-login-form{display:flex;flex-direction:column;gap:12px}.portal-email-input{width:100%;padding:14px 16px;border:1px solid rgba(0,102,204,.2);border-radius:12px;font-size:1rem;color:#1a1a2e;background:#fffc;outline:none;box-sizing:border-box;transition:border-color .2s,box-shadow .2s}.portal-email-input:focus{border-color:#06c;box-shadow:0 0 0 4px #0066cc1a}.portal-login-btn{padding:14px;background:#06c;color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .15s}.portal-login-btn:hover{background:#003d7a}.portal-login-btn:disabled{opacity:.6;cursor:not-allowed}.portal-dashboard{max-width:1200px;margin:0 auto;padding:0 24px}.portal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 0 16px;border-bottom:1px solid rgba(0,102,204,.1);margin-bottom:20px}.portal-header h1{font-size:1.5rem;font-weight:700;color:#1a1a2e;margin:0}.portal-header-meta{display:flex;gap:8px;font-size:.85rem;color:#6b7280;margin-top:4px}.portal-header-actions{display:flex;gap:10px;align-items:center}.portal-logout-btn{padding:8px 16px;background:transparent;color:#6b7280;border:1px solid rgba(0,0,0,.1);border-radius:8px;font-size:.85rem;cursor:pointer;transition:color .15s,border-color .15s}.portal-logout-btn:hover{color:#dc2626;border-color:#dc26264d}.active-clock-banner{display:flex;align-items:center;gap:16px;padding:16px 24px;background:linear-gradient(135deg,#0066cc14,#00bcd40f);border:1px solid rgba(0,102,204,.2);border-radius:14px;margin-bottom:24px;animation:clockPulse 3s ease-in-out infinite}@keyframes clockPulse{0%,to{box-shadow:0 0 #0066cc1a}50%{box-shadow:0 0 20px 4px #0066cc26}}.clock-pulse{width:12px;height:12px;background:#00c853;border-radius:50%;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.clock-info{flex:1;display:flex;flex-direction:column;gap:2px}.clock-label{font-size:.72rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.clock-project{font-size:.95rem;font-weight:600;color:#1a1a2e}.clock-duration{font-size:1.3rem;font-weight:700;color:#06c;font-variant-numeric:tabular-nums}.clock-actions{display:flex;gap:10px;align-items:center}.clock-note-input{padding:8px 14px;border:1px solid rgba(0,102,204,.15);border-radius:8px;background:#fffc;font-size:.85rem;width:200px;outline:none;box-sizing:border-box}.clock-note-input:focus{border-color:#06c}.clock-out-btn{padding:10px 20px;background:#dc2626;color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.85rem;cursor:pointer;transition:background .15s}.clock-out-btn:hover{background:#b91c1c}.clock-in-btn{width:100%;padding:10px;background:#06c;color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.88rem;cursor:pointer;margin-top:10px;transition:background .15s}.clock-in-btn:hover{background:#003d7a}.active-session{display:flex;align-items:center;gap:24px;padding:20px 28px;background:linear-gradient(135deg,#0066cc0f,#00c8530a);border:1.5px solid rgba(0,102,204,.2);border-radius:16px;margin-bottom:24px;animation:clockPulse 3s ease-in-out infinite}.session-left{flex:1}.session-status{display:flex;align-items:center;gap:8px;margin-bottom:4px}.session-label{font-size:.68rem;font-weight:700;letter-spacing:1px;color:#00875a;text-transform:uppercase}.session-project{font-size:1.1rem;font-weight:700;color:#1a1a2e;line-height:1.3}.session-client{font-size:.82rem;color:#6b7280;margin-top:2px}.session-timer{text-align:center;min-width:160px}.timer-display{font-size:2rem;font-weight:800;color:#06c;font-variant-numeric:tabular-nums;font-family:SF Mono,Menlo,Monaco,monospace;letter-spacing:1px;line-height:1.2}.timer-earnings{display:none}.session-stop-btn{padding:12px 28px;background:#e67e22;color:#fff;border:none;border-radius:10px;font-weight:700;font-size:.95rem;cursor:pointer;transition:background .15s,transform .1s;white-space:nowrap}.session-stop-btn:hover{background:#cf6d17;transform:scale(1.02)}.session-stop-btn:disabled{opacity:.6;cursor:not-allowed}.project-cards{display:flex;flex-direction:column;gap:10px;margin-bottom:32px}.project-card{border-radius:14px;overflow:hidden;transition:all .15s ease}.project-card.project-active{border-color:#0066cc4d;box-shadow:0 0 0 2px #0066cc14,0 4px 16px #0066cc1a}.project-card-main{display:flex;align-items:center;gap:16px;padding:14px 18px;cursor:pointer}.project-card-info{flex:1;min-width:0}.project-card-title{font-size:.95rem;font-weight:600;color:#1a1a2e;display:flex;align-items:center;gap:8px;line-height:1.3}.active-dot{width:8px;height:8px;background:#00c853;border-radius:50%;flex-shrink:0;animation:pulse 1.5s ease-in-out infinite}.project-card-meta{display:flex;gap:10px;font-size:.78rem;color:#6b7280;margin-top:3px}.project-card-status{font-weight:600;text-transform:uppercase;font-size:.7rem;letter-spacing:.3px}.project-card-status[data-status=Development]{color:#06c}.project-card-status[data-status=Active]{color:#00875a}.project-card-status[data-status="Finishing: Client Walkthrough"]{color:#ffa726}.project-card-stats{display:flex;gap:20px;flex-shrink:0}.project-stat{display:flex;flex-direction:column;align-items:flex-end}.stat-num{font-size:.9rem;font-weight:700;color:#1a1a2e;font-variant-numeric:tabular-nums}.stat-num.earned{color:#059669}.stat-num.rate{color:#06c}.stat-lbl{font-size:.65rem;color:#9ca3af;text-transform:uppercase;letter-spacing:.3px}.project-card-action{flex-shrink:0}.btn-start{padding:8px 20px;background:#06c;color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.82rem;cursor:pointer;transition:background .15s,transform .1s;white-space:nowrap}.btn-start:hover{background:#003d7a;transform:scale(1.03)}.btn-start:disabled{opacity:.5;cursor:not-allowed}.btn-stop{padding:8px 20px;background:#dc2626;color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.82rem;cursor:pointer;transition:background .15s;white-space:nowrap}.btn-stop:hover{background:#b91c1c}.btn-stop:disabled{opacity:.5;cursor:not-allowed}.project-card-detail{padding:12px 18px 14px;border-top:1px solid rgba(0,0,0,.05);margin-top:0}.project-detail-desc{font-size:.85rem;color:#374151;line-height:1.5;margin:0 0 8px}.project-detail-row{display:flex;flex-wrap:wrap;gap:16px;font-size:.82rem;color:#6b7280}.project-detail-earnings{font-size:.88rem;color:#00875a;margin-top:8px}.portal-content{display:flex;flex-direction:column;gap:32px;padding-bottom:40px}.portal-section h2{font-size:1.15rem;font-weight:700;color:#1a1a2e;margin:0 0 12px}.portal-projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.portal-project-card{cursor:pointer;transition:all .15s ease;padding:18px}.portal-project-card:hover{box-shadow:0 4px 20px #003c781f}.portal-project-card.selected{border-color:#0066cc4d;box-shadow:0 4px 24px #0066cc1f}.portal-project-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.portal-project-header h3{font-size:.95rem;font-weight:600;color:#1a1a2e;margin:0;line-height:1.3}.portal-project-status{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.portal-project-meta{display:flex;gap:12px;font-size:.82rem;color:#6b7280;margin-top:6px}.portal-project-detail{margin-top:12px;padding-top:12px;border-top:1px solid rgba(0,0,0,.06)}.portal-project-desc{font-size:.85rem;color:#374151;line-height:1.5;margin:0 0 8px}.portal-project-dates{display:flex;gap:16px;font-size:.82rem;color:#6b7280}.portal-project-comp{font-size:.9rem;font-weight:600;color:#00875a;margin-top:6px}.time-entries-list{display:flex;flex-direction:column;gap:8px}.time-entry-row{display:flex;align-items:center;gap:16px;padding:12px 16px}.time-entry-left{display:flex;flex-direction:column;gap:2px;min-width:200px}.time-entry-project{font-size:.88rem;font-weight:600;color:#1a1a2e}.time-entry-date{font-size:.78rem;color:#9ca3af;display:flex;align-items:center;gap:6px}.manual-badge{font-size:.68rem;background:#0066cc1a;color:#06c;padding:1px 6px;border-radius:4px;font-weight:600}.time-entry-center{flex:1}.time-entry-notes-input{width:100%;padding:6px 10px;border:1px solid transparent;border-radius:6px;background:transparent;font-size:.85rem;color:#374151;outline:none;transition:border-color .15s,background .15s;box-sizing:border-box}.time-entry-notes-input:hover{background:#0066cc0a;border-color:#0066cc1a}.time-entry-notes-input:focus{background:#fff;border-color:#06c}.time-entry-right{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:100px}.time-entry-hours{font-size:1rem;font-weight:700;color:#06c;font-variant-numeric:tabular-nums}.time-entry-times{font-size:.75rem;color:#9ca3af}.portal-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.portal-modal{background:#fff;border-radius:16px;padding:32px;width:100%;max-width:420px;box-shadow:0 20px 60px #0003}.portal-modal h2{margin:0 0 20px;font-size:1.2rem;color:#1a1a2e}.portal-form{display:flex;flex-direction:column;gap:14px}.portal-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}@media (max-width: 768px){.portal-header{flex-direction:column;gap:12px}.active-session{flex-direction:column;text-align:center;gap:16px}.session-timer{min-width:auto}.timer-display{font-size:1.6rem}.session-stop-btn{width:100%}.project-card-main{flex-wrap:wrap}.project-card-stats{width:100%;justify-content:flex-start;gap:24px}.project-card-stats .project-stat{align-items:flex-start}.project-card-action,.project-card-action .btn-start,.project-card-action .btn-stop,.clock-actions{width:100%}.clock-note-input{flex:1}.portal-projects-grid{grid-template-columns:1fr}.time-entry-row{flex-direction:column;align-items:flex-start}.time-entry-right{align-items:flex-start;flex-direction:row;gap:12px}.clock-event-row{flex-wrap:wrap;gap:6px}.clock-event-desc{width:100%}}.session-clock-in-time{font-size:.8rem;color:#0066ccb3;margin-top:2px}.clock-events-section{margin-top:16px;border-top:1px solid rgba(0,0,0,.08);padding-top:12px}.clock-events-section h4{font-size:.85rem;font-weight:700;color:#1a1a2e;margin:0 0 10px;display:flex;align-items:center;gap:8px}.total-hours-badge{background:#0066cc1f;color:#06c;padding:2px 8px;border-radius:10px;font-size:.75rem;font-weight:600}.clock-events-list{display:flex;flex-direction:column;gap:6px}.clock-event-row{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:8px;font-size:.82rem;transition:background .15s}.clock-event-row:hover{background:#0000000a}.clock-event-row.editing{background:#0066cc0f;border:1px solid rgba(0,102,204,.15);padding:12px;flex-direction:column;align-items:stretch}.clock-event-date{min-width:80px;color:#6b7280;display:flex;align-items:center;gap:6px}.clock-event-times{display:flex;align-items:center;gap:6px;min-width:140px;font-family:SF Mono,Menlo,monospace;font-size:.8rem}.clock-in-time{color:#16a34a}.clock-arrow{color:#9ca3af;font-size:.75rem}.clock-out-time{color:#dc2626}.clock-out-time.pending{color:#9ca3af;font-style:italic}.clock-event-edit-btn{background:none;border:1px solid rgba(0,0,0,.12);color:#6b7280;cursor:pointer;font-size:1.05rem;padding:4px 10px;border-radius:6px;transition:all .15s;flex-shrink:0}.clock-event-edit-btn:hover{color:#06c;background:#0066cc14;border-color:#0066cc40}.clock-event-hours{min-width:55px;font-weight:600;color:#1a1a2e;text-align:right;font-family:SF Mono,Menlo,monospace;font-size:.8rem}.clock-event-desc{flex:1;min-width:120px}.clock-desc-text{color:#4b5563;font-size:.8rem}.clock-event-edit-form{display:flex;flex-direction:column;gap:10px;width:100%}.clock-edit-times-row{display:flex;gap:12px}.clock-edit-field{display:flex;flex-direction:column;gap:4px;flex:1}.clock-edit-field label{font-size:.7rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.clock-edit-input{background:#fffc;border:1px solid rgba(0,0,0,.15);border-radius:6px;color:#1a1a2e;padding:7px 10px;font-size:.82rem;font-family:Inter,sans-serif;transition:border-color .15s}.clock-edit-input:focus{outline:none;border-color:#0066cc80}.clock-edit-input.full-width{width:100%}.clock-edit-actions{display:flex;gap:8px;padding-top:4px}.btn-add-manual{width:100%;padding:10px;margin-top:12px;background:#6366f114;border:1.5px dashed rgba(99,102,241,.35);border-radius:10px;color:#6366f1;font-weight:600;font-size:.88rem;cursor:pointer;transition:all .2s}.btn-add-manual:hover{background:#6366f126;border-color:#6366f180}.inline-manual-entry{margin-top:12px;padding:14px;background:#6366f10d;border:1px solid rgba(99,102,241,.2);border-radius:10px}.inline-manual-entry h4{margin:0 0 10px;font-size:.88rem;font-weight:600;color:#4f46e5}.manual-entry-row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.manual-entry-field{display:flex;flex-direction:column;gap:3px}.manual-entry-field label{font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.manual-entry-field.flex-grow{flex:1;min-width:140px}.manual-entry-field .full-width{width:100%}.clock-edit-row{display:flex;align-items:center;gap:6px}.clock-desc-edit{flex:1;background:#fffc;border:1px solid rgba(0,0,0,.15);border-radius:6px;color:#1a1a2e;padding:7px 10px;font-size:.82rem;font-family:Inter,sans-serif;min-width:100px}.btn-save-small{padding:3px 10px;background:#06c;color:#fff;border:none;border-radius:5px;font-size:.75rem;font-weight:600;cursor:pointer;white-space:nowrap}.btn-save-small:hover{background:#0055b3}.btn-cancel-small{padding:3px 8px;background:transparent;color:#6b7280;border:1px solid rgba(0,0,0,.15);border-radius:5px;font-size:.75rem;cursor:pointer}.btn-cancel-small:hover{color:#1a1a2e;border-color:#0000004d}.btn-delete-small{padding:4px 10px;background:transparent;color:#dc2626;border:1px solid rgba(220,38,38,.25);border-radius:5px;font-size:.75rem;font-weight:600;cursor:pointer;margin-left:auto}.btn-delete-small:hover{background:#dc26261a;border-color:#dc262666}.active-badge{display:inline-block;padding:1px 7px;border-radius:8px;font-size:.7rem;font-weight:600;background:#00c85326;color:#00875a;margin-left:4px}.project-status-change{display:flex;align-items:center;gap:10px;margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.06)}.project-status-change label{font-size:.8rem;font-weight:600;color:#fff9;white-space:nowrap}.status-select-small{flex:1;max-width:280px;padding:6px 10px!important;font-size:.8rem!important}.project-card-type{background:#0066cc1f;color:#4da3ff;padding:1px 7px;border-radius:8px;font-size:.7rem;font-weight:600}.clock-out-prompt-text{color:#ffffffb3;margin:0 0 16px;font-size:.9rem}.required{color:#dc2626;font-weight:700}.net-profit-display{font-size:1.2rem;font-weight:700;color:#00c853;padding:10px 0;font-family:SF Mono,Menlo,monospace}.toast-container{position:fixed;top:16px;right:16px;z-index:10000;display:flex;flex-direction:column;gap:8px;max-width:380px}.toast{display:flex;align-items:center;gap:10px;padding:12px 18px;border-radius:10px;color:#fff;font-size:.88rem;font-weight:500;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);cursor:pointer;animation:toastSlideIn .3s ease-out;box-shadow:0 4px 20px #00000040;line-height:1.4}.toast-error{background:#dc2626eb}.toast-success{background:#00875aeb}.toast-info{background:#0066cceb}.toast-icon{font-size:1.05rem;flex-shrink:0}@keyframes toastSlideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.btn-complete-toggle{padding:8px 16px;border-radius:8px;font-weight:600;font-size:.82rem;cursor:pointer;transition:all .2s;border:1.5px solid rgba(0,102,204,.3);background:#0066cc14;color:#06c;white-space:nowrap}.btn-complete-toggle:hover{background:#0066cc26;border-color:#0066cc80}.btn-complete-toggle.is-complete{background:#00c85326;border-color:#00c85366;color:#00875a}.btn-complete-toggle.is-complete:hover{background:#00c85340}.fixed-action-group{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:140px}.progress-slider{width:120px;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#0000001a;border-radius:3px;outline:none;cursor:pointer}.progress-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:#06c;border:2px solid white;box-shadow:0 1px 4px #0003;cursor:pointer;transition:transform .15s}.progress-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.progress-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#06c;border:2px solid white;box-shadow:0 1px 4px #0003;cursor:pointer}.session-right{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:200px}.session-banner-notes{width:100%;min-height:70px;padding:8px 12px;border:1px solid rgba(0,102,204,.2);border-radius:8px;background:#fff9;font-size:.82rem;color:#1a1a2e;outline:none;transition:border-color .2s;resize:vertical;font-family:inherit;line-height:1.4}.session-banner-notes:focus{border-color:#0066cc80}.session-banner-notes::placeholder{color:#9ca3af}.session-description-field{margin-top:12px;padding-top:12px;border-top:1px solid rgba(0,0,0,.06)}.session-description-field label{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;display:block}.session-notes-input{width:100%;padding:8px 12px!important;font-size:.85rem!important;border:1px solid rgba(0,102,204,.2)!important;border-radius:8px!important;background:#fffc!important}.session-notes-input:focus{border-color:#0066cc80!important}.project-card-active{border-color:#0066cc4d!important;background:linear-gradient(135deg,#0066cc0a,#00c85305)!important}.card-session-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px;background:linear-gradient(135deg,#00c85314,#0066cc0d);border-bottom:1px solid rgba(0,102,204,.1);border-radius:16px 16px 0 0}.card-session-left{display:flex;align-items:center;gap:8px}.card-session-left .session-label{font-size:.68rem;font-weight:700;letter-spacing:1px;color:#00875a;text-transform:uppercase}.session-started{font-size:.75rem;color:#6b7280;margin-left:4px}.card-session-right{display:flex;align-items:center;gap:10px}.card-session-right .timer-display{font-size:1.3rem;font-weight:800;color:#06c;font-variant-numeric:tabular-nums;font-family:SF Mono,Menlo,Monaco,monospace;letter-spacing:1px;min-width:70px;text-align:center}.card-session-right .session-banner-notes{width:320px;min-height:60px;padding:8px 10px;border:1px solid rgba(0,102,204,.2);border-radius:8px;background:#ffffffb3;font-size:.8rem;color:#1a1a2e;outline:none;resize:vertical;font-family:inherit;line-height:1.4}.card-session-right .session-banner-notes:focus{border-color:#0066cc80}.card-session-right .session-stop-btn{padding:6px 16px;font-size:.82rem}@keyframes projectGlow{0%{box-shadow:0 0 #2ecc7100}20%{box-shadow:0 0 18px 4px #2ecc7173}50%{box-shadow:0 0 24px 6px #2ecc7199}80%{box-shadow:0 0 18px 4px #2ecc7173}to{box-shadow:0 0 #2ecc7100}}.project-glow{animation:projectGlow 3s ease-in-out;border-color:#2ecc7180!important}.project-locked{opacity:.85;border-left:4px solid #e74c3c!important}.lock-indicator-dev{display:flex;align-items:center;gap:8px;margin-top:4px;flex-wrap:wrap}.lock-badge-dev{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#e74c3c1f;color:#e74c3c;border-radius:6px;font-size:.72rem;font-weight:600;letter-spacing:.3px}.lock-reason-dev{font-size:.72rem;color:#999;font-style:italic}.locked-action-msg{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;background:#e74c3c1a;color:#e74c3c;border-radius:8px;font-size:.8rem;font-weight:600}@media (prefers-color-scheme: dark){.lock-badge-dev{background:#e74c3c33}.lock-reason-dev{color:#888}.locked-action-msg{background:#e74c3c26}}.stripe-mode-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600;letter-spacing:.3px}.stripe-mode-badge.test{background:#fef3c7;color:#92400e;border:1px solid #f59e0b33}.stripe-mode-badge.live{background:#d1fae5;color:#065f46;border:1px solid #10b98133}.auto-billing-indicator{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:20px;font-size:12px;font-weight:600;letter-spacing:.3px}.auto-billing-indicator.on{background:#10b9811f;color:#059669;border:1px solid rgba(16,185,129,.25)}.auto-billing-indicator.off{background:#6b72801a;color:#6b7280;border:1px solid rgba(107,114,128,.2)}.indicator-dot{width:7px;height:7px;border-radius:50%;display:inline-block}.auto-billing-indicator.on .indicator-dot{background:#10b981;box-shadow:0 0 6px #10b98180;animation:pulse-dot 2s infinite}.auto-billing-indicator.off .indicator-dot{background:#9ca3af}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.billing-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}.billing-stat-card{display:flex;align-items:center;gap:14px;padding:18px 20px;background:#fff9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.5);border-radius:14px;box-shadow:0 2px 8px #0000000a}.billing-stat-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;flex-shrink:0}.billing-stat-icon.paid{background:#d1fae5;color:#059669}.billing-stat-icon.pending{background:#fef3c7;color:#d97706}.billing-stat-icon.failed{background:#fee2e2;color:#dc2626}.billing-stat-icon.info{background:#e0e7ff;color:#4f46e5}.billing-stat-info{display:flex;flex-direction:column;gap:2px}.billing-stat-value{font-size:1.15rem;font-weight:700;color:var(--text-primary)}.billing-stat-label{font-size:.78rem;color:var(--text-muted)}.billing-tabs{display:flex;gap:2px;border-bottom:1px solid var(--border-color, #e5e7eb);margin-bottom:20px}.billing-tab{padding:10px 20px;background:none;border:none;border-bottom:2px solid transparent;font-size:13px;font-weight:500;color:var(--text-muted, #6b7280);cursor:pointer;transition:all .15s ease}.billing-tab:hover{color:var(--text-primary)}.billing-tab.active{color:#06c;border-bottom-color:#06c;font-weight:600}.billing-tab-content{animation:fadeInTab .2s ease}@keyframes fadeInTab{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.billing-status{display:inline-block;padding:3px 10px;border-radius:6px;font-size:11px;font-weight:600;text-transform:capitalize}.billing-status.paid{background:#d1fae5;color:#059669}.billing-status.pending{background:#fef3c7;color:#d97706}.billing-status.failed{background:#fee2e2;color:#dc2626}.billing-status.draft{background:#f3f4f6;color:#6b7280}.billing-status.void{background:#f3f4f6;color:#9ca3af}.billing-last-run{padding:16px 20px;background:#0066cc0a;border:1px solid rgba(0,102,204,.12);border-radius:12px;margin-bottom:20px}.billing-last-run h3{margin:0 0 6px;font-size:13px;font-weight:600;color:var(--text-primary)}.last-run-details{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.last-run-time{font-size:13px;font-weight:500;color:#06c}.last-run-summary{font-size:13px;color:var(--text-secondary)}.billing-alert-card{padding:18px 22px;background:#f59e0b0f;border:1px solid rgba(245,158,11,.2);border-left:3px solid #f59e0b;border-radius:12px;margin-bottom:20px}.billing-alert-card h3{margin:0 0 4px;font-size:14px;font-weight:600;color:var(--text-primary)}.alert-subtitle{margin:0 0 12px;font-size:12px;color:var(--text-muted)}.missing-clients-list{display:flex;flex-direction:column;gap:6px}.missing-client-row{display:flex;align-items:center;gap:12px;padding:8px 12px;background:#fff9;border-radius:8px;font-size:13px}.missing-client-name{font-weight:600;color:var(--text-primary);min-width:140px}.missing-client-company{color:var(--text-secondary);min-width:120px}.missing-client-email{color:var(--text-muted);flex:1}.missing-client-badge{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.missing-client-badge.auto{background:#d1fae5;color:#059669}.missing-client-badge.manual{background:#f3f4f6;color:#6b7280}.billing-section h3{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--text-primary)}.billing-runs-list{display:flex;flex-direction:column;gap:8px}.billing-run-card{padding:14px 18px;background:#fff9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.5);border-radius:12px;cursor:pointer;transition:all .15s ease}.billing-run-card:hover{background:#fffc;box-shadow:0 2px 8px #0000000f}.run-card-header{display:flex;justify-content:space-between;align-items:center}.run-card-left,.run-card-right{display:flex;align-items:center;gap:12px}.run-date{font-size:13px;font-weight:500;color:var(--text-primary)}.run-trigger{font-size:11px;color:var(--text-muted);text-transform:capitalize;background:#0000000a;padding:2px 8px;border-radius:4px}.run-stat{font-size:12px;color:var(--text-secondary)}.run-stat.success{color:#059669}.run-stat.fail{color:#dc2626}.run-amount{font-size:14px;font-weight:700;color:var(--text-primary)}.expand-icon{font-size:11px;color:var(--text-muted)}.run-card-details{margin-top:12px;padding-top:12px;border-top:1px solid rgba(0,0,0,.06);display:flex;flex-direction:column;gap:6px}.run-detail-row{display:flex;align-items:center;gap:12px;padding:6px 10px;border-radius:6px;font-size:13px}.run-detail-row.failed{background:#dc26260a}.detail-project{font-weight:500;color:var(--text-primary);flex:1}.detail-client{color:var(--text-secondary);min-width:120px}.detail-amount{font-weight:600;min-width:80px;text-align:right}.detail-error{color:#dc2626;font-size:11px;font-style:italic}.billing-empty-state{text-align:center;padding:60px 20px;color:var(--text-muted)}.empty-icon{font-size:48px;margin-bottom:12px}.billing-empty-state h3{margin:0 0 8px;color:var(--text-primary);font-size:16px}.billing-empty-state p{font-size:13px;max-width:400px;margin:0 auto}.btn-small{padding:4px 10px;font-size:11px;font-weight:500;color:#06c;background:#0066cc0f;border:1px solid rgba(0,102,204,.15);border-radius:6px;text-decoration:none;transition:all .15s ease}.btn-small:hover{background:#0066cc1f}.billing-settings-card{display:flex;flex-direction:column;gap:28px}.settings-section{padding:24px;background:#fff9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.5);border-radius:14px;box-shadow:0 2px 8px #0000000a}.settings-section h3{margin:0 0 6px;font-size:15px;font-weight:700;color:var(--text-primary)}.settings-description{margin:0 0 20px;font-size:13px;color:var(--text-muted);line-height:1.5}.setting-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid rgba(0,0,0,.05)}.setting-row:last-of-type{border-bottom:none}.setting-info label{display:block;font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:2px}.setting-hint{font-size:12px;color:var(--text-muted)}.toggle-switch{position:relative;width:68px;height:34px;border-radius:17px;border:none;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;padding:0;flex-shrink:0}.toggle-switch.off{background:#d1d5db}.toggle-switch.on{background:#10b981}.toggle-knob{position:absolute;width:28px;height:28px;border-radius:14px;background:#fff;box-shadow:0 1px 4px #0003;transition:transform .3s ease;top:3px}.toggle-switch.off .toggle-knob{transform:translate(3px)}.toggle-switch.on .toggle-knob{transform:translate(37px)}.toggle-label{font-size:11px;font-weight:700;letter-spacing:.5px;color:#fff;position:absolute}.toggle-switch.on .toggle-label{left:9px}.toggle-switch.off .toggle-label{right:8px;color:#6b7280}.setting-select{padding:8px 12px;background:var(--bg-white, white);border:1px solid var(--border-color, #e5e7eb);border-radius:8px;font-size:13px;color:var(--text-primary);cursor:pointer;min-width:140px}.setting-select:focus{outline:none;border-color:#06c;box-shadow:0 0 0 3px #0066cc1a}.save-schedule-btn{margin-top:16px;align-self:flex-start}.billing-flow-diagram{margin-top:16px}.flow-step{display:flex;gap:14px;align-items:flex-start}.flow-step-number{width:30px;height:30px;background:#0066cc1a;color:#06c;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0}.flow-step-content strong{display:block;font-size:13px;color:var(--text-primary);margin-bottom:2px}.flow-step-content p{margin:0;font-size:12px;color:var(--text-muted);line-height:1.4}.flow-connector{text-align:center;color:var(--text-muted);font-size:14px;padding:4px 0 4px 8px}.stripe-connection-info{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:13px;color:var(--text-secondary)}.stripe-status-dot{width:8px;height:8px;border-radius:50%}.stripe-status-dot.connected{background:#10b981}.stripe-status-dot.disconnected{background:#ef4444}.last-run-info{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:12px;color:var(--text-muted)}.last-run-info label{font-weight:600}@media (max-width: 768px){.billing-stats-row{grid-template-columns:repeat(2,1fr)}.missing-client-row{flex-wrap:wrap}.run-card-header{flex-direction:column;gap:8px;align-items:flex-start}.setting-row{flex-direction:column;align-items:flex-start;gap:10px}}.confirm-modal{text-align:center;max-width:400px!important}.confirm-icon{font-size:36px;margin-bottom:8px}.confirm-description{font-size:13px;color:var(--text-secondary, #6b7280);line-height:1.5;margin:0 0 20px}.test-section{border:1px solid rgba(245,158,11,.2)!important;background:#fef3c726!important}.test-actions{display:flex;gap:10px;margin-bottom:8px}.test-hint{font-size:11px;color:var(--text-muted);margin:0}.test-results{margin-top:16px;padding-top:16px;border-top:1px solid rgba(0,0,0,.06)}.test-results-header{display:flex;gap:12px;margin-bottom:10px}.test-result-stat{font-size:13px;font-weight:600;padding:3px 10px;border-radius:6px}.test-result-stat.success{background:#d1fae5;color:#059669}.test-result-stat.fail{background:#fee2e2;color:#dc2626}.test-results-list{display:flex;flex-direction:column;gap:4px;max-height:300px;overflow-y:auto}.test-result-row{display:flex;align-items:center;gap:12px;padding:6px 10px;border-radius:6px;font-size:12px}.test-result-row.failed{background:#dc26260a}.test-result-name{font-weight:500;color:var(--text-primary);flex:1;min-width:120px}.test-result-id{color:var(--text-muted);font-size:11px}.mono{font-family:SF Mono,Fira Code,monospace;font-size:11px}.sub-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.sub-header-row h3{margin:0;font-size:18px;color:var(--text-primary)}.sub-form-card{margin-bottom:24px;padding:24px}.sub-form-card h4{margin:0 0 16px;color:var(--text-primary);font-size:16px}.sub-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}.sub-form-field{display:flex;flex-direction:column;gap:4px}.sub-form-field.full-width{grid-column:1 / -1}.sub-form-field label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.sub-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.sub-list{display:flex;flex-direction:column;gap:12px}.sub-card{padding:16px 20px;cursor:pointer;transition:all .2s;border:1px solid transparent}.sub-card:hover{border-color:#3b82f64d;transform:translateY(-1px)}.sub-card.selected{border-color:#3b82f680;box-shadow:0 0 20px #3b82f61a}.sub-card.inactive{opacity:.65}.sub-card-header{display:flex;justify-content:space-between;align-items:center;gap:16px}.sub-card-left{display:flex;flex-direction:column;gap:2px}.sub-name{font-size:15px;font-weight:600;color:var(--text-primary)}.sub-dev{font-size:13px;color:var(--text-secondary)}.sub-card-right{display:flex;align-items:center;gap:10px}.sub-amount{font-size:18px;font-weight:700;color:var(--accent)}.sub-freq{font-size:12px;font-weight:400;color:var(--text-muted)}.sub-skip-badge{background:#eab30833;color:#eab308;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600}.sub-status-badge{padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600}.sub-status-badge.active{background:#22c55e26;color:#22c55e}.sub-status-badge.paused{background:#94a3b826;color:#94a3b8}.sub-card-meta{display:flex;gap:16px;margin-top:8px;flex-wrap:wrap}.sub-meta-item{font-size:12px;color:var(--text-muted)}.sub-detail{margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.06)}.sub-description{font-size:13px;color:var(--text-secondary);margin:0 0 8px}.sub-notes{font-size:12px;color:var(--text-muted);margin:0 0 12px;font-style:italic}.sub-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.btn-outline{background:transparent;border:1px solid rgba(255,255,255,.15);color:var(--text-secondary);padding:6px 14px;border-radius:8px;cursor:pointer;font-size:12px;font-weight:500;transition:all .2s}.btn-outline:hover{border-color:#3b82f666;color:var(--text-primary);background:#3b82f60d}.btn-danger-outline{background:transparent;border:1px solid rgba(239,68,68,.3);color:#ef4444;padding:6px 10px;border-radius:8px;cursor:pointer;font-size:12px;transition:all .2s}.btn-danger-outline:hover{background:#ef44441a;border-color:#ef444480}.sub-pay-notes-row{margin-bottom:16px}.sub-pay-notes-row .form-input{width:100%;box-sizing:border-box}.sub-payments-section h4{margin:0 0 10px;font-size:13px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.sub-payments-list{display:flex;flex-direction:column;gap:4px}.sub-payment-row{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:8px;background:#ffffff05;font-size:13px}.sub-payment-row.skipped{opacity:.6}.sub-pay-period{font-weight:500;color:var(--text-primary);min-width:100px}.sub-pay-amount{font-weight:600;color:var(--accent);min-width:80px}.sub-pay-status{padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;min-width:60px;text-align:center}.sub-pay-status.paid{background:#22c55e26;color:#22c55e}.sub-pay-status.skipped{background:#eab30826;color:#eab308}.sub-pay-status.failed{background:#ef444426;color:#ef4444}.sub-pay-date{color:var(--text-muted);font-size:12px}.sub-pay-notes{color:var(--text-muted);font-size:12px;font-style:italic}.settings-layout{padding:24px 32px;max-width:1200px;margin:0 auto;min-height:calc(100vh - 80px)}.settings-header{margin-bottom:24px}.settings-header h1{font-size:1.75rem;font-weight:700;color:#1a1a2e;margin:0 0 4px}.settings-subtitle{font-size:.9rem;color:#6b7280}.settings-body{display:flex;gap:24px}.settings-sync-section{margin-bottom:24px;padding:24px}.settings-sync-section h2{font-size:1.2rem;font-weight:700;color:#1a1a2e;margin:0 0 8px}.sync-description{font-size:.85rem;color:#6b7280;margin:0 0 16px}.sync-buttons,.cloud-links{display:flex;gap:10px;flex-wrap:wrap}.cloud-link{text-decoration:none!important;display:inline-flex;align-items:center;gap:6px}.btn-sync{padding:10px 20px;border:none;border-radius:8px;font-weight:600;font-size:.85rem;cursor:pointer;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;transition:all .2s}.btn-sync:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.btn-sync.secondary{background:linear-gradient(135deg,#ffffffd9,#fff9);color:#374151;border:1px solid rgba(0,0,0,.1)}.btn-sync.secondary:hover:not(:disabled){background:linear-gradient(135deg,#fffffff2,#fffc);box-shadow:0 4px 12px #0000001a}.btn-sync:disabled{opacity:.5;cursor:not-allowed}.sync-status{margin-top:12px;padding:10px 16px;background:#3b82f614;border-radius:8px;color:#2563eb;font-size:.85rem;font-weight:500;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.sync-results{margin-top:16px;padding:16px;background:#00000005;border-radius:8px;border:1px solid rgba(0,0,0,.06)}.sync-results h3{font-size:.9rem;font-weight:600;color:#374151;margin:0 0 8px}.sync-results pre{font-size:.78rem;color:#4b5563;white-space:pre-wrap;word-break:break-word;margin:0;max-height:400px;overflow-y:auto;font-family:SF Mono,Cascadia Code,Fira Code,monospace}.upwork-connected,.upwork-disconnected{margin-top:8px}.upwork-status-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:20px;font-size:.85rem;font-weight:600;margin-bottom:16px}.upwork-status-badge.connected{background:#10b9811a;color:#059669;border:1px solid rgba(16,185,129,.2)}.upwork-status-badge.disconnected{background:#6b72801a;color:#6b7280;border:1px solid rgba(107,114,128,.2)}.upwork-status-badge .status-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.upwork-status-badge.connected .status-dot{background:#10b981;box-shadow:0 0 6px #10b98180}.upwork-status-badge.disconnected .status-dot{background:#9ca3af}.upwork-details{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;padding:12px 16px;background:#00000005;border-radius:8px;border:1px solid rgba(0,0,0,.05)}.upwork-detail{display:flex;gap:12px;font-size:.85rem}.detail-label{color:#6b7280;font-weight:500;min-width:120px}.detail-value{color:#374151;font-weight:500}.detail-value.expired{color:#ef4444}.btn-sync.danger{background:linear-gradient(135deg,#ef4444,#dc2626)}.btn-sync.danger:hover:not(:disabled){box-shadow:0 4px 12px #ef444466}.upwork-connect-info{font-size:.85rem;color:#6b7280;margin:0 0 16px}.upwork-connect-btn{display:inline-flex;align-items:center;text-decoration:none;background:linear-gradient(135deg,#14a800,#108a00)!important}.upwork-connect-btn:hover{box-shadow:0 4px 12px #14a80066!important}.upwork-token-import{margin-top:16px;padding:16px;background:#00000005;border-radius:8px;border:1px solid rgba(0,0,0,.06)}.token-import-help{font-size:.82rem;color:#6b7280;margin:0 0 12px;line-height:1.5}.token-import-help code{background:#0000000f;padding:2px 6px;border-radius:4px;font-size:.8rem}.token-import-form{display:flex;gap:10px;align-items:center}.token-import-form .form-input{flex:1;font-family:SF Mono,Cascadia Code,Fira Code,monospace;font-size:.82rem}.settings-tabs{display:flex;flex-direction:column;gap:4px;min-width:220px;flex-shrink:0}.settings-tab{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border:1px solid transparent;border-radius:10px;background:transparent;font-size:.88rem;font-weight:500;color:#374151;cursor:pointer;transition:all .15s ease;text-align:left}.settings-tab:hover{background:#0066cc0a;border-color:#0066cc14}.settings-tab.active{background:#0066cc14;border-color:#06c3;color:#06c;font-weight:600}.tab-count{font-size:.75rem;font-weight:600;background:#0066cc14;color:#06c;padding:2px 8px;border-radius:10px}.settings-tab.active .tab-count{background:#0066cc26}.settings-content{flex:1;min-width:0}.settings-content-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.settings-content-header h2{font-size:1.2rem;font-weight:700;color:#1a1a2e;margin:0}.settings-add-form{margin-bottom:16px;padding:16px 20px}.settings-form-row{display:flex;gap:12px;margin-bottom:12px}.settings-form-field{display:flex;flex-direction:column;gap:4px;flex:1}.settings-form-field.wide{flex:2}.settings-form-field label{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.3px}.settings-form-actions{display:flex;gap:8px}.settings-options-list{display:flex;flex-direction:column;gap:2px;background:#ffffff8c;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.6);border-radius:12px;overflow:hidden;box-shadow:0 2px 12px #003c780f}.settings-option-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid rgba(0,0,0,.04);transition:background .1s ease}.settings-option-row:last-child{border-bottom:none}.settings-option-row:hover{background:#0066cc05}.settings-option-row.editing{background:#0066cc0a;padding:14px 16px}.option-order{font-size:.75rem;font-weight:600;color:#9ca3af;min-width:24px;text-align:center}.option-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.option-value{font-size:.92rem;font-weight:600;color:#1a1a2e}.option-desc{font-size:.8rem;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.option-edit-fields{flex:1;display:flex;gap:8px}.option-edit-fields .form-input{font-size:.88rem}.option-edit-fields .desc-input{flex:2}.option-actions{display:flex;gap:4px;flex-shrink:0}.btn-edit,.btn-delete{background:none;border:none;padding:6px 8px;border-radius:6px;font-size:.85rem;cursor:pointer;transition:background .1s;opacity:.5}.settings-option-row:hover .btn-edit,.settings-option-row:hover .btn-delete{opacity:1}.btn-edit:hover{background:#0066cc14}.btn-delete:hover{background:#dc262614}.btn-save{background:#06c;color:#fff;border:none;padding:6px 14px;border-radius:6px;font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s}.btn-save:hover{background:#003d7a}.btn-cancel{background:transparent;color:#6b7280;border:1px solid rgba(0,0,0,.1);padding:6px 14px;border-radius:6px;font-size:.82rem;font-weight:500;cursor:pointer;transition:all .15s}.btn-cancel:hover{background:#0000000a}.settings-empty{text-align:center;padding:40px 20px;color:#9ca3af;font-size:.9rem}@media (max-width: 768px){.settings-layout{padding:16px}.settings-body{flex-direction:column}.settings-tabs{flex-direction:row;overflow-x:auto;min-width:0;gap:8px;padding-bottom:8px}.settings-tab{white-space:nowrap;padding:8px 14px;font-size:.82rem}.settings-form-row,.option-edit-fields{flex-direction:column}}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;cursor:default}*{cursor:default}input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],input[type=url],input[type=tel],input[type=date],textarea,[contenteditable=true]{cursor:text}a,button,select,label[class*=toggle],label[class*=checkbox],input[type=checkbox],input[type=radio],[role=button],.clickable-row,.project-list-item,.gel-action-button,.gel-wip-item,.btn-primary,.btn-secondary,.btn-danger,.filter-select,.status-dropdown,.client-link,.quote-link,.clock-alert-link,.archive-toggle,.nav-links li a,.nav-brand,.nav-signout{cursor:pointer}#root{width:100%;min-height:100vh}
