@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--primary: #2b3990;--primary-dark: #1e2a6b;--primary-light: #27aae1;--secondary: #1a2155;--accent: #27aae1;--accent-dark: #1e8bbd;--warning: #f59e0b;--danger: #ef4444;--saas-color: #e05252;--custom-color: #27aae1;--success: #10b981;--gray-50: #f8fafc;--gray-100: #f1f5f9;--gray-200: #e2e8f0;--gray-300: #cbd5e1;--gray-400: #94a3b8;--gray-500: #64748b;--gray-600: #475569;--gray-700: #334155;--gray-800: #1e293b;--gray-900: #0f172a;--white: #ffffff;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--radius: 8px;--radius-lg: 12px;--radius-xl: 16px;--bg: var(--gray-50);--surface: var(--white);--panel: var(--gray-100);--muted: var(--gray-500);--text: var(--gray-900);--glass-border: var(--gray-200);--shadow-strong: rgba(0,0,0,.1);--color-primary: var(--primary);--color-primary-dark: var(--primary-dark);--color-primary-light: rgba(43, 57, 144, .1);--color-danger: var(--danger);--color-danger-light: rgba(239, 68, 68, .1);--color-success: var(--success);--color-warning: var(--warning);--color-warning-bg: #fef3c7;--color-warning-text: #92400e;--color-text: var(--gray-900);--color-text-secondary: var(--gray-500);--color-text-tertiary: var(--gray-400);--color-border: var(--gray-200);--color-bg-secondary: var(--gray-50)}body{margin:0;padding:0;font-family:Inter,sans-serif;background-color:var(--bg);min-height:100vh;color:var(--text);overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;min-height:100vh;display:flex;flex-direction:column}.app-container{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;width:100%;padding:1rem;box-sizing:border-box}.loading-state,.error-state{background-color:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:3rem;text-align:center;border:1px solid var(--glass-border)}.loading-text{font-size:1.8rem;font-weight:500;color:var(--muted);animation:pulse 1.5s infinite ease-in-out}.error-state{background-color:var(--surface);color:var(--text);border-color:var(--danger)}.error-title{font-size:2.8rem;font-weight:700;margin-bottom:.5rem;color:var(--danger)}.error-message{font-size:1.3rem;margin-bottom:.5rem}.error-sub-message{font-size:1rem;opacity:.8}.main-card-wrapper{background-color:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);border:1px solid var(--glass-border);display:flex;flex-direction:column;align-items:center;gap:2rem;padding:3rem;max-width:500px;width:90%;animation:fadeInScale .8s ease-out forwards}.app-logo{width:160px;margin-bottom:1.5rem;opacity:0;filter:drop-shadow(0 6px 12px rgba(0,0,0,.1));animation:slideInDown 1s ease-out forwards .2s}.main-title{font-size:2.8rem;font-weight:700;color:var(--text);text-align:center;margin-bottom:1rem;text-shadow:0 4px 10px rgba(0,0,0,.35);opacity:0;animation:fadeIn 1s ease-out forwards .4s}.action-card{background-color:var(--panel);border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid var(--glass-border);padding:2.5rem;display:flex;flex-direction:column;align-items:center;gap:1.8rem;width:calc(100% - 2rem);opacity:0;animation:fadeIn 1s ease-out forwards .6s}.action-text{font-size:1.25rem;color:var(--muted);text-align:center;line-height:1.6;font-weight:400}.button{padding:1.1rem 2.8rem;font-size:1.2rem;font-weight:600;border-radius:var(--radius);border:none;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow);text-transform:uppercase;letter-spacing:.08em;outline:none}.button:focus{box-shadow:0 0 0 4px #27aae140}.button.login{padding:10px 20px;background-color:var(--primary);color:var(--white)}.button.login:hover{background-color:var(--primary-dark)}.button.logout{padding:10px 20px;background-color:var(--gray-200);color:var(--gray-700)}.button.logout:hover{background-color:var(--gray-300)}.logged-in-section{display:flex;flex-direction:column;align-items:center;gap:1.5rem;width:100%}.logged-in-message{font-size:1.5rem;color:var(--success);font-weight:600;animation:fadeIn 1s ease-out forwards .8s}.profile-section-title{font-size:2.2rem;animation:slideInUp 1s ease-out forwards 1s}.profile-card{padding:2.2rem;background:linear-gradient(180deg,rgba(255,255,255,.02),transparent);border-radius:12px;animation:scaleIn .8s ease-out forwards 1.2s}.profile-picture{width:110px;transition:transform .3s ease-in-out;border:3px solid var(--primary);border-radius:50%}.profile-picture:hover{transform:scale(1.05)}.profile-name{font-size:2rem;margin-top:.5rem;color:var(--text)}.profile-email{font-size:1.15rem;text-align:center;color:var(--muted)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-70px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@media(max-width:600px){.main-card-wrapper{padding:2rem;margin:1rem}.main-title{font-size:2.2rem}.button{padding:1rem 2rem;font-size:1.1rem}}[role=tablist]{display:flex;gap:0}[role=tab]{padding:.75rem 1.5rem;border:none;background:transparent;color:var(--muted);font-weight:600;cursor:pointer;transition:all .28s ease;border-bottom:2px solid transparent}[role=tab]:hover{color:var(--primary)}[role=tab][aria-selected=true]{color:var(--primary);border-bottom-color:var(--primary)}[role=tabpanel]{outline:none}[role=alertdialog],[role=dialog]{background-color:var(--surface);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl)}[role=dialog]>*{color:var(--text)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--gray-100)}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--primary)}.sidebar-toggle{position:fixed;top:1rem;left:1rem;z-index:1001;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background-color:var(--surface);border:1px solid var(--gray-200);border-radius:var(--radius);cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow)}.sidebar-toggle:hover{background-color:var(--gray-100);border-color:var(--gray-300)}.sidebar-toggle svg{width:24px;height:24px;color:var(--gray-700)}.sidebar-overlay{position:fixed;inset:0;background-color:#00000080;z-index:999;opacity:1;transition:opacity .3s ease}.app-sidebar{position:fixed;top:0;left:0;height:100vh;width:280px;background-color:var(--surface);border-right:1px solid var(--gray-200);display:flex;flex-direction:column;z-index:1000;transform:translate(-100%);transition:transform .3s ease;box-shadow:var(--shadow-lg)}.app-sidebar.open{transform:translate(0)}.sidebar-header{border-bottom:1px solid var(--gray-200);display:flex;align-items:center;min-height:64px;padding:1rem 1rem 1rem 4.5rem}.sidebar-brand{display:flex;align-items:center;gap:.75rem;background:none;border:none;cursor:pointer;padding:.5rem;border-radius:var(--radius);transition:background-color .2s ease}.sidebar-brand:hover{background-color:var(--gray-100)}.brand-text{font-size:1.25rem;font-weight:700;color:var(--primary)}.sidebar-nav{flex:1;padding:1rem;display:flex;flex-direction:column;gap:.25rem;overflow-y:auto}.sidebar-link{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;color:var(--gray-600);text-decoration:none;border-radius:var(--radius);transition:all .2s ease;font-weight:500}.sidebar-link:hover{background-color:var(--gray-100);color:var(--gray-900)}.sidebar-link.active{background-color:var(--primary);color:var(--white)}.sidebar-link.active:hover{background-color:var(--primary-dark);color:var(--white)}.sidebar-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px}.sidebar-icon svg{width:20px;height:20px}.sidebar-label{font-size:.95rem}.sidebar-footer{padding:1rem;border-top:1px solid var(--gray-200)}.sidebar-user{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.sidebar-user-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid var(--gray-200)}.sidebar-user-info{flex:1;min-width:0;display:flex;flex-direction:column}.sidebar-user-name{font-size:.875rem;font-weight:600;color:var(--gray-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-email{font-size:.75rem;color:var(--gray-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user .button.logout{width:100%;margin-top:.75rem}.sidebar-auth{display:flex;justify-content:center}.sidebar-auth .button.login{width:100%;justify-content:center}@media(min-width:1024px){.sidebar-toggle,.sidebar-overlay{display:none}.app-sidebar{transform:translate(0);box-shadow:none}.sidebar-header{padding-left:1rem}}.footer{background-color:var(--surface);border-top:1px solid var(--gray-200);padding:1.5rem 2rem;margin-top:auto;width:100%}.footer-content{max-width:100%;display:flex;justify-content:center;align-items:center;gap:2rem;flex-wrap:wrap}.footer-links{display:flex;align-items:center;gap:1rem}.footer-link{color:var(--gray-500);text-decoration:none;font-size:.875rem;transition:color .2s ease}.footer-link:hover{color:var(--primary)}.footer-separator{color:var(--gray-300)}.footer-copyright{color:var(--gray-500);font-size:.875rem}@media(max-width:768px){.footer-content{flex-direction:column;gap:1rem;text-align:center}.footer{padding:1rem}}.main-layout{display:flex;min-height:100vh;background-color:var(--bg)}.main-layout-content{flex:1;display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1;padding:2rem;max-width:1400px;width:100%;margin:0 auto;box-sizing:border-box}@media(min-width:1024px){.main-layout-content{margin-left:280px}}@media(max-width:1023px){.main-content{padding-top:5rem}}@media(max-width:768px){.main-content{padding:5rem 1.5rem 1.5rem}}@media(max-width:480px){.main-content{padding:5rem 1rem 1rem}}.landing-page{min-height:100vh;background:linear-gradient(180deg,var(--gray-50) 0%,var(--white) 100%)}.landing-header{position:fixed;top:0;left:0;right:0;z-index:100;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--gray-200)}.landing-header-content{max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center}.landing-logo{display:flex;align-items:center;gap:.5rem}.logo-text{font-size:1.5rem;font-weight:700;color:var(--primary)}.landing-nav{display:flex;gap:1rem;align-items:center}.landing-login-btn{padding:.625rem 1.25rem;font-size:.9375rem;font-weight:500;color:var(--gray-700);background:transparent;border:1px solid var(--gray-300);border-radius:var(--radius);cursor:pointer;transition:all .2s ease}.landing-login-btn:hover{background:var(--gray-100);border-color:var(--gray-400)}.landing-signup-btn{padding:.625rem 1.25rem;font-size:.9375rem;font-weight:600;color:var(--white);background:var(--primary);border:none;border-radius:var(--radius);cursor:pointer;transition:all .2s ease}.landing-signup-btn:hover{background:var(--primary-dark)}.landing-hero{padding:8rem 2rem 4rem;max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;min-height:80vh}.hero-content{max-width:560px}.hero-title{font-size:3.25rem;font-weight:700;line-height:1.15;color:var(--gray-900);margin:0 0 1.5rem}.hero-highlight{color:var(--primary);display:block}.hero-subtitle{font-size:1.25rem;line-height:1.6;color:var(--gray-600);margin:0 0 2rem}.hero-cta{display:flex;gap:1rem;flex-wrap:wrap}.cta-primary{padding:1rem 2rem;font-size:1rem;font-weight:600;color:var(--white);background:var(--primary);border:none;border-radius:var(--radius);cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-md)}.cta-primary:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.cta-primary.large{padding:1.25rem 2.5rem;font-size:1.125rem}.cta-secondary{padding:1rem 2rem;font-size:1rem;font-weight:500;color:var(--gray-700);background:var(--white);border:1px solid var(--gray-300);border-radius:var(--radius);cursor:pointer;transition:all .2s ease}.cta-secondary:hover{background:var(--gray-50);border-color:var(--gray-400)}.hero-visual{display:flex;justify-content:center}.hero-card{background:var(--white);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);overflow:hidden;width:100%;max-width:400px;animation:float 6s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.hero-card-header{background:var(--gray-100);padding:.75rem 1rem;display:flex;gap:.5rem}.hero-card-dot{width:12px;height:12px;border-radius:50%;background:var(--gray-300)}.hero-card-dot:first-child{background:#ef4444}.hero-card-dot:nth-child(2){background:#f59e0b}.hero-card-dot:nth-child(3){background:#10b981}.hero-card-content{padding:1.5rem}.hero-stat{display:flex;flex-direction:column;margin-bottom:1rem}.stat-value{font-size:2rem;font-weight:700;color:var(--primary)}.stat-label{font-size:.875rem;color:var(--gray-500)}.hero-progress{height:8px;background:var(--gray-200);border-radius:4px;margin-bottom:1.5rem;overflow:hidden}.progress-bar{height:100%;width:75%;background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:4px;animation:progress 2s ease-out}@keyframes progress{0%{width:0}to{width:75%}}.hero-jobs{display:flex;flex-direction:column;gap:.75rem}.job-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--gray-50);border-radius:var(--radius)}.job-status{width:10px;height:10px;border-radius:50%}.job-status.completed{background:var(--success)}.job-status.in-progress{background:var(--warning)}.job-status.pending{background:var(--gray-400)}.job-name{font-size:.9375rem;color:var(--gray-700);font-weight:500}.landing-features{padding:6rem 2rem;background:var(--white)}.features-content{max-width:1200px;margin:0 auto}.features-title{font-size:2.25rem;font-weight:700;color:var(--gray-900);text-align:center;margin:0 0 3rem}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.feature-card{background:var(--gray-50);border-radius:var(--radius-lg);padding:2rem;transition:all .2s ease;border:1px solid transparent}.feature-card:hover{background:var(--white);border-color:var(--gray-200);box-shadow:var(--shadow-md);transform:translateY(-4px)}.feature-icon{width:48px;height:48px;background:var(--primary);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.feature-icon svg{width:24px;height:24px;stroke:var(--white)}.feature-title{font-size:1.125rem;font-weight:600;color:var(--gray-900);margin:0 0 .5rem}.feature-description{font-size:.9375rem;color:var(--gray-600);line-height:1.6;margin:0}.landing-cta{padding:6rem 2rem;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%)}.cta-content{max-width:800px;margin:0 auto;text-align:center}.cta-title{font-size:2.25rem;font-weight:700;color:var(--white);margin:0 0 1rem}.cta-subtitle{font-size:1.125rem;color:#ffffffe6;margin:0 0 2rem}.landing-cta .cta-primary{background:var(--white);color:var(--primary)}.landing-cta .cta-primary:hover{background:var(--gray-100)}.landing-footer{padding:3rem 2rem;background:var(--gray-900)}.footer-content{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.footer-brand .logo-text{color:var(--white)}.footer-tagline{font-size:.875rem;color:var(--gray-400);margin:.5rem 0 0}.footer-links{display:flex;gap:2rem}.footer-link{font-size:.875rem;color:var(--gray-400);text-decoration:none;transition:color .2s ease}.footer-link:hover{color:var(--white)}.footer-copyright{font-size:.8125rem;color:var(--gray-500);margin:0}.landing-loading{min-height:100vh;display:flex;align-items:center;justify-content:center}.loading-spinner{width:40px;height:40px;border:3px solid var(--gray-200);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}@media(max-width:1024px){.landing-hero{grid-template-columns:1fr;text-align:center;padding-top:7rem;min-height:auto}.hero-content{max-width:600px;margin:0 auto}.hero-cta{justify-content:center}.hero-visual{order:-1}.hero-card{max-width:340px}.features-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.landing-header-content{padding:.75rem 1rem}.hero-title{font-size:2.25rem}.hero-subtitle{font-size:1.0625rem}.features-grid{grid-template-columns:1fr}.features-title,.cta-title{font-size:1.75rem}}@media(max-width:480px){.landing-nav{gap:.5rem}.landing-login-btn,.landing-signup-btn{padding:.5rem .875rem;font-size:.875rem}.hero-cta{flex-direction:column}.cta-primary,.cta-secondary{width:100%}}.home-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 200px);padding:2rem}.home-content{text-align:center;max-width:600px}.home-title{font-size:2.5rem;font-weight:700;color:var(--gray-900);margin:0 0 1rem}.home-subtitle{font-size:1.25rem;color:var(--gray-500);margin:0 0 2.5rem;line-height:1.6}.home-welcome{background-color:var(--surface);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow)}.welcome-message{font-size:1.25rem;color:var(--gray-700);margin:0 0 .5rem}.welcome-message strong{color:var(--primary)}.welcome-subtext{font-size:1rem;color:var(--gray-500);margin:0}.home-cta{background-color:var(--surface);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;gap:1.5rem}.cta-text{font-size:1rem;color:var(--gray-600);margin:0}@media(max-width:768px){.home-title{font-size:2rem}.home-subtitle{font-size:1.1rem}}.organization-page{flex:1;max-width:600px}.organization-page .page-title{font-size:1.5rem;font-weight:700;color:var(--gray-900);margin:0 0 1.5rem}.organization-page .organization-card{background-color:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--gray-200);padding:2rem;box-shadow:var(--shadow)}.organization-page .organization-view{display:flex;flex-direction:column;gap:1.25rem}.organization-page .field-group{display:flex;flex-direction:column;gap:.5rem}.organization-page .field-label{font-size:.875rem;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em}.organization-page .field-value{font-size:1rem;color:var(--gray-900);line-height:1.5}.organization-page .field-value.address{white-space:pre-line}.organization-page .field-link{color:var(--primary);text-decoration:none;transition:color .2s ease}.organization-page .field-link:hover{color:var(--primary-dark);text-decoration:underline}.organization-page .view-actions{margin-top:1rem;padding-top:1.5rem;border-top:1px solid var(--gray-200)}.organization-page .organization-form{display:flex;flex-direction:column;gap:1.25rem}.organization-page .form-field{display:flex;flex-direction:column;gap:.5rem}.organization-page .form-label{font-size:.875rem;font-weight:600;color:var(--gray-700)}.organization-page .form-input,.organization-page .form-textarea{padding:.75rem 1rem;font-size:1rem;border:1px solid var(--gray-300);border-radius:var(--radius);background-color:var(--white);color:var(--gray-900);transition:border-color .2s ease,box-shadow .2s ease;width:100%;box-sizing:border-box}.organization-page .form-input:focus,.organization-page .form-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2b39901a}.organization-page .form-input::placeholder,.organization-page .form-textarea::placeholder{color:var(--gray-400)}.organization-page .form-textarea{resize:vertical;min-height:80px;font-family:inherit}.organization-page .form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:.5rem;padding-top:1.5rem;border-top:1px solid var(--gray-200)}.organization-page .button{padding:.75rem 1.5rem;font-size:.9375rem;font-weight:600;border-radius:var(--radius);border:none;cursor:pointer;transition:all .2s ease}.organization-page .button:disabled{opacity:.6;cursor:not-allowed}.organization-page .button.primary{background-color:var(--primary);color:var(--white)}.organization-page .button.primary:hover:not(:disabled){background-color:var(--primary-dark)}.organization-page .button.secondary{background-color:var(--gray-100);color:var(--gray-700);border:1px solid var(--gray-300)}.organization-page .button.secondary:hover:not(:disabled){background-color:var(--gray-200)}.organization-page .loading-state,.organization-page .error-state{background-color:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--gray-200);padding:3rem 2rem;text-align:center}.organization-page .loading-text{font-size:1rem;color:var(--gray-500)}.organization-page .error-state p{color:var(--gray-600);margin:0}@media(max-width:640px){.organization-page .organization-card{padding:1.5rem}.organization-page .form-actions{flex-direction:column}.organization-page .form-actions .button{width:100%}}.sidebar-menu{width:240px;min-width:240px;background-color:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--gray-200);padding:1.5rem;height:fit-content}.sidebar-menu-title{font-size:.75rem;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.1em;margin:0 0 1rem;padding:0 .75rem}.sidebar-menu-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.25rem}.sidebar-menu-item{margin:0}.sidebar-menu-link{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:var(--radius);color:var(--gray-600);text-decoration:none;font-size:.95rem;font-weight:500;transition:all .2s ease}.sidebar-menu-link:hover{background-color:var(--gray-100);color:var(--gray-900)}.sidebar-menu-link.active{background-color:var(--primary);color:var(--white)}.sidebar-menu-link.active:hover{background-color:var(--primary-dark)}.sidebar-menu-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0}.sidebar-menu-icon svg{width:100%;height:100%}.sidebar-menu-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:768px){.sidebar-menu{width:100%;min-width:unset}.sidebar-menu-list{flex-direction:row;flex-wrap:wrap;gap:.5rem}.sidebar-menu-link{padding:.5rem 1rem}}.profile-page{display:flex;justify-content:center;align-items:flex-start;min-height:calc(100vh - 200px);padding:2rem}.profile-container{width:100%;max-width:1000px}.profile-title{font-size:2rem;font-weight:700;color:var(--gray-900);margin-bottom:2rem}.profile-layout{display:flex;gap:2rem;align-items:flex-start}.profile-content{flex:1;min-width:0}@media(max-width:768px){.profile-page{padding:1rem}.profile-title{font-size:1.75rem;margin-bottom:1.5rem}.profile-layout{flex-direction:column;gap:1.5rem}.profile-content{width:100%}}.confirm-dialog{position:fixed;padding:0;border:none;border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-xl);max-width:400px;width:calc(100% - 2rem)}.confirm-dialog::backdrop{background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.confirm-dialog-content{padding:1.5rem}.confirm-dialog-header{margin-bottom:1rem}.confirm-dialog-title{font-size:1.125rem;font-weight:600;color:var(--gray-900);margin:0}.confirm-dialog-body{margin-bottom:1.5rem}.confirm-dialog-message{font-size:.95rem;color:var(--gray-500);margin:0;line-height:1.5}.confirm-dialog-actions{display:flex;justify-content:flex-end;gap:.75rem}.confirm-dialog-btn{padding:.625rem 1.25rem;font-size:.9rem;font-weight:500;border:none;border-radius:var(--radius);cursor:pointer;transition:all .2s ease;min-width:80px;display:inline-flex;align-items:center;justify-content:center}.confirm-dialog-btn:disabled{opacity:.6;cursor:not-allowed}.confirm-dialog-btn.cancel{background:var(--gray-200);color:var(--gray-700)}.confirm-dialog-btn.cancel:hover:not(:disabled){background:var(--gray-300)}.confirm-dialog-btn.confirm{color:#fff}.confirm-dialog-btn.confirm.primary{background:var(--primary)}.confirm-dialog-btn.confirm.primary:hover:not(:disabled){background:var(--primary-dark)}.confirm-dialog-btn.confirm.danger{background:#dc2626}.confirm-dialog-btn.confirm.danger:hover:not(:disabled){background:#b91c1c}.confirm-dialog-btn.confirm.warning{background:#d97706}.confirm-dialog-btn.confirm.warning:hover:not(:disabled){background:#b45309}.confirm-dialog-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.image-upload{position:relative;background:var(--surface);border:2px dashed var(--gray-300);border-radius:var(--radius);cursor:pointer;overflow:hidden;transition:all .2s ease;flex-shrink:0}.image-upload--poster{width:100%;max-width:200px;aspect-ratio:2 / 3}.image-upload--profile{width:180px;height:180px;border-radius:var(--radius-lg)}.image-upload--square{width:180px;height:180px}.image-upload:hover:not(.loading):not(.disabled){border-color:var(--primary);background:#2b39900d}.image-upload:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.image-upload.has-image{border-style:solid;border-color:var(--primary)}.image-upload.loading{cursor:wait}.image-upload.disabled{cursor:not-allowed;opacity:.6}.image-upload__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.image-upload__placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.5rem;padding:1rem}.image-upload__placeholder-icon{width:48px;height:48px;color:var(--gray-400);opacity:.5}.image-upload--profile .image-upload__placeholder-icon{width:40px;height:40px}.image-upload__placeholder-text{font-size:.9rem;font-weight:500;color:var(--gray-700)}.image-upload__placeholder-hint{font-size:.75rem;color:var(--gray-500);line-height:1.3}.image-upload__image{width:100%;height:100%;object-fit:cover;display:block}.image-upload__overlay{position:absolute;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease}.image-upload.has-image:hover:not(.loading):not(.disabled) .image-upload__overlay{opacity:1}.image-upload__overlay-content{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:#fff;font-size:.9rem;font-weight:500}.image-upload__overlay-icon{width:32px;height:32px}.image-upload__delete-btn{position:absolute;top:8px;right:8px;width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center;background:#000000b3;border:none;border-radius:50%;color:#fff;cursor:pointer;opacity:0;transition:all .2s ease;z-index:10}.image-upload.has-image:hover:not(.loading):not(.disabled) .image-upload__delete-btn{opacity:1}.image-upload__delete-btn:hover{background:#dc2626}.image-upload__delete-btn svg{width:14px;height:14px}.image-upload__loading-overlay{position:absolute;inset:0;background:#000000b3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;z-index:20}.image-upload__spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:image-upload-spin .8s linear infinite}.image-upload__loading-text{color:#fff;font-size:.85rem;font-weight:500}@keyframes image-upload-spin{to{transform:rotate(360deg)}}@media(max-width:640px){.image-upload--poster{max-width:150px}.image-upload--profile,.image-upload--square{width:140px;height:140px}.image-upload__placeholder-icon{width:36px;height:36px}.image-upload--profile .image-upload__placeholder-icon{width:32px;height:32px}.image-upload__placeholder-text{font-size:.85rem}.image-upload__placeholder-hint{font-size:.7rem}}.pagination{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;background:var(--panel);border-top:1px solid var(--glass-border)}.pagination-info{display:flex;align-items:center;gap:1rem;font-size:.875rem;color:var(--muted)}.pagination-size-select{padding:.375rem .75rem;background:var(--surface);border:1px solid var(--glass-border);border-radius:6px;color:var(--text);font-size:.875rem;cursor:pointer;transition:border-color .15s ease}.pagination-size-select:hover{border-color:var(--accent)}.pagination-size-select:focus{outline:none;border-color:var(--accent)}.pagination-controls{display:flex;align-items:center;gap:.5rem}.pagination-pages{display:flex;align-items:center;gap:.25rem}.pagination-button,.pagination-page{display:flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 .75rem;background:var(--surface);border:1px solid var(--glass-border);border-radius:6px;color:var(--text);font-size:.875rem;cursor:pointer;transition:all .15s ease}.pagination-button:hover:not(:disabled),.pagination-page:hover:not(.active){background:var(--panel);border-color:var(--accent)}.pagination-button:disabled{opacity:.5;cursor:not-allowed}.pagination-page.active{background:var(--accent);border-color:var(--accent);color:#fff}.pagination-ellipsis{display:flex;align-items:center;justify-content:center;min-width:36px;height:36px;color:var(--muted);font-size:.875rem}@media(max-width:640px){.pagination{flex-direction:column;gap:.75rem}.pagination-info{flex-direction:column;gap:.5rem;text-align:center}.pagination-pages{gap:.125rem}.pagination-button,.pagination-page{min-width:32px;height:32px;padding:0 .5rem;font-size:.8rem}}.search-input-container{position:relative;display:flex;align-items:center;width:100%;max-width:400px}.search-input-icon{position:absolute;left:12px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:var(--muted);pointer-events:none}.search-input-icon svg{width:18px;height:18px}.search-input{width:100%;padding:.625rem 2.5rem;background:var(--surface);border:1px solid var(--glass-border);border-radius:8px;color:var(--text);font-size:.9rem;transition:border-color .15s ease,box-shadow .15s ease}.search-input::placeholder{color:var(--muted)}.search-input:hover{border-color:#ffffff26}.search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #e04c2d1a}.search-input-clear{position:absolute;right:8px;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:4px;color:var(--muted);cursor:pointer;transition:color .15s ease,background-color .15s ease}.search-input-clear:hover{color:var(--text);background:var(--panel)}.search-input-clear svg{width:16px;height:16px}.user-details-page{flex:1;max-width:600px}.user-details-page .page-title{font-size:1.5rem;font-weight:700;color:var(--gray-900);margin:0 0 1.5rem}.user-details-page .profile-card{background-color:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--gray-200);padding:2rem;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;gap:1.5rem;animation:none;opacity:1}.user-details-page .profile-picture-large{width:120px;height:120px;border-radius:50%;border:3px solid var(--primary);object-fit:cover}.user-details-page .auth0-avatar-section{display:flex;flex-direction:column;align-items:center;gap:.5rem}.user-details-page .auth0-avatar{width:60px;height:60px;border-radius:50%;border:2px solid var(--gray-200);object-fit:cover}.user-details-page .auth0-avatar-label{font-size:.75rem;color:var(--gray-500)}.user-details-page .profile-image-section{width:100%;display:flex;flex-direction:column;gap:.75rem;padding:1.25rem;background-color:var(--gray-50);border-radius:var(--radius);border:1px solid var(--gray-200)}.user-details-page .profile-image-hint{font-size:.85rem;color:var(--gray-500);margin:0}.user-details-page .profile-image-container{display:flex;justify-content:center;padding:1rem 0}.user-details-page .profile-view{width:100%;display:flex;flex-direction:column;gap:1.25rem}.user-details-page .profile-field{display:flex;flex-direction:column;gap:.5rem}.user-details-page .profile-label{font-size:.875rem;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em}.user-details-page .profile-value{font-size:1rem;color:var(--gray-900);margin:0;padding:.75rem;background-color:var(--gray-50);border-radius:var(--radius);border:1px solid var(--gray-200);word-break:break-word;white-space:pre-wrap}.user-details-page .profile-edit{width:100%;display:flex;flex-direction:column;gap:1.25rem}.user-details-page .form-group{display:flex;flex-direction:column;gap:.5rem}.user-details-page .form-label{font-size:.875rem;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em}.user-details-page .form-input,.user-details-page .form-textarea{padding:.875rem;background-color:var(--white);border:1px solid var(--gray-300);border-radius:var(--radius);color:var(--gray-900);font-family:inherit;font-size:1rem;transition:all .2s ease}.user-details-page .form-input:focus,.user-details-page .form-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2b39901a}.user-details-page .form-textarea{resize:vertical;min-height:100px}.user-details-page .button-group{display:flex;gap:1rem;margin-top:.5rem}.user-details-page .button-edit{background-color:var(--primary);color:var(--white);padding:.875rem 1.5rem;font-size:1rem;font-weight:600;border-radius:var(--radius);border:none;cursor:pointer;transition:all .2s ease;width:100%}.user-details-page .button-edit:hover{background-color:var(--primary-dark)}.user-details-page .button-primary{background-color:var(--primary);color:var(--white);flex:1}.user-details-page .button-primary:hover{background-color:var(--primary-dark)}.user-details-page .button-secondary{background-color:var(--white);color:var(--gray-700);border:1px solid var(--gray-300);flex:1}.user-details-page .button-secondary:hover{background-color:var(--gray-50);border-color:var(--gray-400)}.user-details-page .button-primary,.user-details-page .button-secondary{padding:.875rem 1.5rem;font-size:.95rem;font-weight:600;border-radius:var(--radius);cursor:pointer;transition:all .2s ease}.user-details-page .loading-state,.user-details-page .error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center}.user-details-page .loading-text{color:var(--gray-500);font-size:1rem}.user-details-page .error-title{font-size:1.25rem;font-weight:600;color:var(--gray-900);margin-bottom:.5rem}.user-details-page .error-message{color:var(--gray-500);font-size:.95rem}@media(max-width:600px){.user-details-page .profile-card{padding:1.5rem;gap:1.25rem}.user-details-page .button-group{flex-direction:column}.user-details-page .button-primary,.user-details-page .button-secondary{width:100%}}.stripe-connection-status{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:var(--panel);border-radius:20px;border:1px solid var(--glass-border)}.stripe-connection-status.loading{opacity:.7}.status-indicator.success{background-color:#22c55e;box-shadow:0 0 8px #22c55e80}.status-indicator.warning{background-color:#f59e0b;box-shadow:0 0 8px #f59e0b80}.status-indicator.error{background-color:#ef4444;box-shadow:0 0 8px #ef444480}.status-indicator.muted{background-color:var(--muted)}.status-text{font-size:.875rem;font-weight:500;color:var(--text)}.stripe-connect-button{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;padding:.875rem 1.5rem;background-color:#635bff;color:#fff;font-size:1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;min-width:200px}.stripe-connect-button:hover:not(:disabled){background-color:#5147e5;transform:translateY(-2px);box-shadow:0 8px 20px #635bff4d}.stripe-connect-button:active:not(:disabled){transform:translateY(0)}.stripe-connect-button:disabled{opacity:.6;cursor:not-allowed}.stripe-connect-button.reconnect{background-color:var(--accent)}.stripe-connect-button.reconnect:hover:not(:disabled){background-color:var(--accent-dark);box-shadow:0 8px 20px #e04c2d4d}.stripe-connect-button.continue{background-color:#f59e0b}.stripe-connect-button.continue:hover:not(:disabled){background-color:#d97706;box-shadow:0 8px 20px #f59e0b4d}.stripe-logo{height:16px;width:auto}.stripe-connection-card{background-color:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--gray-200);overflow:hidden;box-shadow:var(--shadow)}.stripe-card-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--gray-200);background-color:var(--gray-50)}.stripe-card-title{font-size:1.25rem;font-weight:600;color:var(--gray-900);margin:0}.stripe-card-body{padding:2rem}.stripe-loading-skeleton{height:200px;background:linear-gradient(90deg,var(--gray-100) 25%,var(--gray-50) 50%,var(--gray-100) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:var(--radius)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.stripe-not-connected,.stripe-onboarding-incomplete{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem}.stripe-info-icon,.stripe-warning-icon{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:.5rem}.stripe-info-icon{background-color:#635bff1a;color:#635bff}.stripe-info-icon svg{width:32px;height:32px}.stripe-warning-icon{background-color:#f59e0b1a;color:#f59e0b}.stripe-warning-icon svg{width:32px;height:32px}.stripe-info-title{font-size:1.25rem;font-weight:600;color:var(--gray-900);margin:0}.stripe-info-description{font-size:.95rem;color:var(--gray-500);margin:0;max-width:400px;line-height:1.6}.stripe-action-button{padding:.875rem 1.5rem;font-size:.95rem;font-weight:600;border-radius:var(--radius);border:none;cursor:pointer;transition:all .2s ease;margin-top:.5rem}.stripe-action-button:disabled{opacity:.6;cursor:not-allowed}.stripe-action-button.primary{background-color:#635bff;color:#fff}.stripe-action-button.primary:hover:not(:disabled){background-color:#5147e5;transform:translateY(-2px);box-shadow:0 8px 20px #635bff4d}.stripe-action-button.warning{background-color:#f59e0b;color:#fff}.stripe-action-button.warning:hover:not(:disabled){background-color:#d97706;transform:translateY(-2px);box-shadow:0 8px 20px #f59e0b4d}.stripe-action-button.danger-outline{background-color:transparent;color:#ef4444;border:1px solid #ef4444}.stripe-action-button.danger-outline:hover:not(:disabled){background-color:#ef44441a}.stripe-connected{display:flex;flex-direction:column;gap:1.5rem}.stripe-account-details{display:flex;flex-direction:column;gap:.75rem}.stripe-detail-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background-color:var(--gray-50);border-radius:var(--radius);border:1px solid var(--gray-200)}.stripe-detail-label{font-size:.875rem;color:var(--gray-500);font-weight:500}.stripe-detail-value{font-size:.95rem;color:var(--gray-900);font-weight:500}.stripe-detail-value.enabled{color:#22c55e}.stripe-detail-value.disabled{color:#ef4444}.stripe-ready-banner,.stripe-pending-banner{display:flex;align-items:center;gap:.75rem;padding:1rem;border-radius:var(--radius);font-size:.95rem;font-weight:500}.stripe-ready-banner{background-color:#22c55e1a;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.stripe-ready-banner svg,.stripe-pending-banner svg{width:20px;height:20px;flex-shrink:0}.stripe-pending-banner{background-color:#f59e0b1a;color:#f59e0b;border:1px solid rgba(245,158,11,.3)}.stripe-actions{display:flex;justify-content:flex-end;padding-top:.5rem;border-top:1px solid var(--gray-200)}@media(max-width:600px){.stripe-card-header{flex-direction:column;gap:1rem;align-items:flex-start}.stripe-detail-row{flex-direction:column;align-items:flex-start;gap:.25rem}}.stripe-page{flex:1;max-width:700px}.stripe-page .page-title{font-size:1.5rem;font-weight:700;color:var(--gray-900);margin:0 0 .75rem}.stripe-page .page-description{font-size:1rem;color:var(--gray-500);margin:0 0 1.5rem;line-height:1.6}.stripe-info-section{margin-top:2rem}.stripe-info-section .info-title{font-size:1.25rem;font-weight:600;color:var(--gray-900);margin:0 0 1rem}.info-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem}.info-card{background-color:var(--surface);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:1.25rem;text-align:center}.info-card-number{width:32px;height:32px;background-color:var(--primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700;margin:0 auto .75rem}.info-card h4{font-size:1rem;font-weight:600;color:var(--gray-900);margin:0 0 .5rem}.info-card p{font-size:.85rem;color:var(--gray-500);margin:0;line-height:1.4}.platform-fee-notice{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background-color:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius);font-size:.9rem;color:var(--gray-600);line-height:1.5}.platform-fee-notice svg{width:20px;height:20px;flex-shrink:0;color:var(--primary);margin-top:.1rem}.platform-fee-notice strong{color:var(--gray-900)}@media(max-width:600px){.info-cards{grid-template-columns:1fr}.platform-fee-notice{flex-direction:column;align-items:center;text-align:center}}.legal-page{min-height:100%;padding:3rem 0;display:flex;justify-content:center}.legal-content{max-width:900px;width:100%;padding:0 2rem}.legal-content h1{font-size:2.5rem;color:var(--text);margin-bottom:.5rem;text-shadow:0 4px 10px rgba(0,0,0,.35)}.last-updated{color:var(--muted);font-size:.95rem;margin-bottom:2rem}.legal-content section{margin-bottom:2.5rem}.legal-content h2{font-size:1.5rem;color:var(--accent);margin-bottom:1rem}.legal-content h3{font-size:1.1rem;color:var(--text);margin-top:1rem;margin-bottom:.75rem}.legal-content p{color:var(--muted);line-height:1.7;margin-bottom:1rem}.legal-content ul{color:var(--muted);line-height:1.7;margin-left:2rem;margin-bottom:1rem}.legal-content li{margin-bottom:.5rem}@media(max-width:768px){.legal-content{padding:0 1.5rem}.legal-content h1{font-size:2rem}.legal-content h2{font-size:1.25rem}.legal-page{padding:2rem 0}}@media(max-width:480px){.legal-content{padding:0 1rem}.legal-content h1{font-size:1.75rem}.legal-content h2{font-size:1.1rem}}.data-grid-container{background:var(--surface);border:1px solid var(--glass-border);border-radius:12px;overflow:hidden}.data-grid-wrapper{overflow-x:auto}.data-grid{width:100%;border-collapse:collapse;font-size:.9rem}.data-grid thead{background:var(--panel);position:sticky;top:0;z-index:1}.data-grid th{text-align:left;padding:1rem;font-weight:600;color:var(--text);border-bottom:1px solid var(--glass-border);white-space:nowrap;-webkit-user-select:none;user-select:none}.data-grid th.sortable{cursor:pointer;transition:background-color .15s ease}.data-grid th.sortable:hover{background:#ffffff0d}.data-grid th .header-content{display:flex;align-items:center;gap:.5rem}.data-grid th .sort-indicator{font-size:.8rem;color:var(--accent)}.data-grid th .sort-inactive{color:var(--muted);opacity:.5}.data-grid td{padding:.875rem 1rem;color:var(--text);border-bottom:1px solid var(--glass-border);vertical-align:middle}.data-grid tbody tr{transition:background-color .15s ease}.data-grid tbody tr:hover{background:#ffffff05}.data-grid tbody tr.clickable{cursor:pointer}.data-grid tbody tr.clickable:hover{background:#ffffff0d}.data-grid tbody tr:last-child td{border-bottom:none}.data-grid .status-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;font-size:.8rem;font-weight:500;border-radius:20px;white-space:nowrap}.data-grid .status-badge.waitlist{background:#e04c2d26;color:var(--accent)}.data-grid .status-badge.rented{background:#2ecc7126;color:#2ecc71}.data-grid-footer{display:flex;justify-content:flex-end;padding:.75rem 1rem;background:var(--panel);border-top:1px solid var(--glass-border)}.data-grid-footer .row-count{font-size:.85rem;color:var(--muted)}.data-grid-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem}.data-grid-loading .loading-spinner{width:40px;height:40px;border:3px solid var(--glass-border);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}.data-grid-loading p{color:var(--muted);font-size:.95rem;margin:0}.data-grid-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:.75rem}.data-grid-empty .empty-icon{font-size:2.5rem;opacity:.5}.data-grid-empty p{color:var(--muted);font-size:.95rem;margin:0}.data-grid-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;gap:.75rem}.data-grid-error .error-icon{font-size:2rem}.data-grid-error p{color:#ef4444;font-size:.95rem;margin:0}@media(max-width:768px){.data-grid th,.data-grid td{padding:.75rem;font-size:.85rem}}.client-list-page{padding:2rem}.page-toolbar{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;align-items:center;justify-content:space-between}.client-grid-container{position:relative;margin-bottom:1rem}.client-grid-container .data-grid tbody tr{cursor:pointer}.client-name-cell{display:flex;flex-direction:column;gap:.25rem}.client-name{font-weight:500;color:var(--text)}.client-business{font-size:.8rem;color:var(--muted)}.client-contact-cell{display:flex;flex-direction:column;gap:.125rem}.client-email,.client-phone{font-size:.875rem;color:var(--text)}.client-no-contact{color:var(--muted)}.status-badge.active{background:#2ecc7126;color:#2ecc71}.status-badge.archived{background:#95a5a626;color:#95a5a6}.client-actions{display:flex;gap:.5rem;justify-content:flex-end}@media(max-width:768px){.client-list-page{padding:1rem}.page-header{flex-direction:column;gap:1rem;align-items:flex-start}.page-toolbar{flex-direction:column;align-items:stretch}.page-toolbar .search-input-container{max-width:none}.filter-tabs{justify-content:center}}.client-detail-page{padding:2rem;max-width:800px;margin:0 auto}.page-title{font-size:1.5rem;font-weight:600;margin:0;display:flex;align-items:center;gap:.75rem}.header-actions{display:flex;gap:.5rem}.client-card{background:#fff;border-radius:8px;border:1px solid var(--color-border);padding:1.5rem}.client-form{display:flex;flex-direction:column;gap:1.25rem}.form-input,.form-textarea{padding:.625rem .75rem;border:1px solid var(--color-border);border-radius:6px;font-size:.875rem;transition:border-color .15s ease,box-shadow .15s ease}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light, rgba(59, 130, 246, .1))}.form-input.error,.form-textarea.error{border-color:var(--color-danger)}.form-input.error:focus,.form-textarea.error:focus{box-shadow:0 0 0 3px var(--color-danger-light, rgba(239, 68, 68, .1))}.client-view{display:flex;flex-direction:column;gap:1.5rem}.detail-value a{color:var(--color-primary);text-decoration:none}.detail-value a:hover{text-decoration:underline}.empty-value{color:var(--color-text-tertiary);font-style:italic}.job-list-page{padding:2rem}.page-toolbar{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem;align-items:center;justify-content:space-between}.filter-tabs{display:flex;gap:.25rem;background:var(--surface);border:1px solid var(--glass-border);border-radius:8px;padding:.25rem}.filter-tab{padding:.5rem 1rem;background:transparent;border:none;border-radius:6px;color:var(--muted);font-size:.875rem;cursor:pointer;transition:all .15s ease}.filter-tab:hover{color:var(--text);background:var(--panel)}.filter-tab.active{color:var(--text);background:var(--accent)}.filter-dropdowns{display:flex;flex-wrap:wrap;gap:.75rem}.filter-select{padding:.5rem 2rem .5rem .75rem;font-size:.875rem;border:1px solid var(--glass-border);border-radius:6px;background:var(--surface);color:var(--text);cursor:pointer;min-width:150px;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.25rem}.job-grid-container{position:relative;margin-bottom:1rem}.job-grid-container .data-grid tbody tr{cursor:pointer}.job-number{font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:.8rem;color:var(--accent);font-weight:500}.job-title-cell{display:flex;flex-direction:column;gap:.25rem}.job-title{font-weight:500;color:var(--text)}.job-type{font-size:.8rem;color:var(--muted)}.job-client,.job-date{font-size:.875rem;color:var(--text)}.job-value{font-size:.875rem;color:var(--text);font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace}.job-actions{display:flex;gap:.5rem;justify-content:flex-end}.action-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid var(--glass-border);border-radius:6px;color:var(--muted);cursor:pointer;transition:all .15s ease}.action-button:hover{background:var(--panel);border-color:var(--accent);color:var(--text)}.button{padding:.625rem 1.25rem;font-size:.9rem;font-weight:500;border:none;border-radius:8px;cursor:pointer;transition:all .15s ease}.button-primary{background:var(--accent);color:#fff}.button-primary:hover{background:var(--accent-dark)}@media(max-width:1024px){.filter-dropdowns{width:100%}.filter-select{flex:1;min-width:120px}}@media(max-width:768px){.job-list-page{padding:1rem}.page-header{flex-direction:column;gap:1rem;align-items:flex-start}.page-toolbar{flex-direction:column;align-items:stretch}.page-toolbar .search-input-container{max-width:none}.filter-tabs{justify-content:center}.filter-row,.filter-dropdowns{flex-direction:column}.filter-select{width:100%}}.milestones-section{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--color-border, #e5e7eb);overflow:visible}.section-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.header-title-row{display:flex;align-items:center;gap:.75rem}.section-title{font-size:1.25rem;font-weight:600;color:var(--color-text, #111827);margin:0}.milestone-count{font-size:.875rem;color:var(--color-text-muted, #6b7280)}.header-actions{display:flex;align-items:center;gap:1rem}.show-voided-toggle{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-text-muted, #6b7280);cursor:pointer}.show-voided-toggle input{cursor:pointer}.progress-section{margin-bottom:1.5rem}.progress-bar-container{height:8px;background-color:var(--color-bg-secondary, #f3f4f6);border-radius:4px;overflow:hidden}.progress-bar{height:100%;background-color:var(--color-success, #10b981);transition:width .3s ease}.progress-info{display:flex;justify-content:space-between;align-items:center;margin-top:.5rem;font-size:.875rem}.progress-percentage{font-weight:500;color:var(--color-text, #111827)}.progress-amount{color:var(--color-text-muted, #6b7280)}.milestones-list{display:flex;flex-direction:column;gap:.75rem;overflow:visible}.milestones-loading,.empty-state{text-align:center;padding:2rem;color:var(--color-text-muted, #6b7280)}.empty-state p{margin-bottom:1rem}.milestone-form-wrapper{background:var(--color-bg, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:8px;padding:1rem;margin-bottom:.75rem}.voided-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px dashed var(--color-border, #e5e7eb)}.voided-title{font-size:.875rem;font-weight:500;color:var(--color-text-muted, #6b7280);margin-bottom:.75rem}.milestones-list.voided{opacity:.7}.milestone-card{display:flex;gap:.75rem;background:var(--color-bg, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:8px;padding:1rem;transition:border-color .2s,box-shadow .2s;overflow:visible}.milestone-card:hover{border-color:var(--color-primary, #3b82f6)}.milestone-card.voided{background:var(--color-bg-secondary, #f9fafb);opacity:.8}.milestone-card[draggable=true]{cursor:grab}.milestone-card[draggable=true]:active{cursor:grabbing}.drag-handle{display:flex;align-items:center;color:var(--color-text-muted, #9ca3af);font-size:1rem;-webkit-user-select:none;user-select:none;cursor:grab}.drag-handle:active{cursor:grabbing}.milestone-content{flex:1;min-width:0;overflow:visible}.milestone-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem}.milestone-title-row{display:flex;align-items:center;gap:.5rem;min-width:0}.status-indicator{width:10px;height:10px;border-radius:50%;flex-shrink:0}.status-indicator.status-gray{background-color:#9ca3af}.status-indicator.status-blue{background-color:#3b82f6}.status-indicator.status-green{background-color:#10b981}.status-indicator.status-red{background-color:#ef4444}.milestone-title{font-size:1rem;font-weight:500;color:var(--color-text, #111827);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.milestone-amount{font-size:1rem;font-weight:600;color:var(--color-text, #111827);white-space:nowrap}.milestone-description{font-size:.875rem;color:var(--color-text-muted, #6b7280);margin:0 0 .75rem;line-height:1.4}.milestone-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;overflow:visible}.milestone-meta{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.status-badge{display:inline-flex;align-items:center;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.status-badge-gray{background-color:#f3f4f6;color:#4b5563}.status-badge-blue{background-color:#dbeafe;color:#1d4ed8}.status-badge-green{background-color:#dcfce7;color:#15803d}.status-badge-red{background-color:#fee2e2;color:#dc2626}.due-date{font-size:.75rem}.due-date-normal{color:var(--color-text-muted, #6b7280)}.due-date-soon{color:var(--color-warning, #f59e0b)}.due-date-today{color:var(--color-warning, #f59e0b);font-weight:500}.due-date-overdue{color:var(--color-error, #ef4444);font-weight:500}.due-date-completed{color:var(--color-text-muted, #9ca3af)}.milestone-actions{display:flex;align-items:center;gap:.5rem;overflow:visible}.action-button{padding:.25rem .5rem;font-size:.75rem;color:var(--color-text-muted, #6b7280);background:transparent;border:1px solid var(--color-border, #e5e7eb);border-radius:4px;cursor:pointer;transition:all .2s}.action-button:hover{background:var(--color-bg-secondary, #f3f4f6);color:var(--color-text, #111827)}.action-button.action-void:hover{background:#fee2e2;border-color:#fecaca;color:#dc2626}.action-button.action-restore{color:var(--color-primary, #3b82f6);border-color:var(--color-primary, #3b82f6)}.action-button.action-restore:hover{background:#dbeafe}.status-select{padding:.25rem .5rem;font-size:.75rem;color:var(--color-text-muted, #6b7280);background:var(--color-bg, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:4px;cursor:pointer;min-width:100px}.status-select:hover{background:var(--color-bg-secondary, #f3f4f6);color:var(--color-text, #111827)}.status-dropdown>.action-button{min-width:80px}.status-dropdown-content{display:none;position:absolute;top:100%;right:0;min-width:130px;background:var(--color-bg, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:1000;margin-top:2px}.status-option{display:block;width:100%;padding:.5rem .75rem;text-align:left;font-size:.875rem;color:var(--color-text, #111827);background:transparent;border:none;cursor:pointer;transition:background .2s}.status-option:hover{background:var(--color-bg-secondary, #f3f4f6)}.milestone-form{display:flex;flex-direction:column;gap:1rem}.form-row{display:flex;gap:1rem;flex-wrap:wrap}.form-group{flex:1;min-width:200px}.form-group-small{flex:0 0 150px;min-width:120px}.form-label{display:block;font-size:.875rem;font-weight:500;color:var(--color-text, #111827);margin-bottom:.375rem}.required{color:var(--color-error, #ef4444)}.form-input,.form-textarea{width:100%;padding:.5rem .75rem;font-size:.875rem;border:1px solid var(--color-border, #d1d5db);border-radius:6px;background:var(--color-bg, #ffffff);transition:border-color .2s,box-shadow .2s}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.form-input.error,.form-textarea.error{border-color:var(--color-error, #ef4444)}.form-error{display:block;font-size:.75rem;color:var(--color-error, #ef4444);margin-top:.25rem}.input-with-prefix{position:relative}.input-prefix{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--color-text-muted, #6b7280);pointer-events:none}.input-with-prefix .form-input{padding-left:1.5rem}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.5rem}.button{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;font-size:.875rem;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s;border:1px solid transparent}.button:disabled{opacity:.5;cursor:not-allowed}.button-small{padding:.375rem .75rem;font-size:.8125rem}.button-primary{background:var(--color-primary, #3b82f6);color:#fff;border-color:var(--color-primary, #3b82f6)}.button-primary:hover:not(:disabled){background:#2563eb;border-color:#2563eb}.button-secondary{background:var(--color-bg, #ffffff);color:var(--color-text, #111827);border-color:var(--color-border, #d1d5db)}.button-secondary:hover:not(:disabled){background:var(--color-bg-secondary, #f3f4f6)}@media(max-width:640px){.section-header{flex-direction:column;gap:1rem}.header-actions{width:100%;justify-content:space-between}.milestone-header{flex-direction:column;gap:.5rem}.milestone-footer{flex-direction:column;align-items:flex-start;gap:.75rem}.milestone-actions{width:100%;justify-content:flex-end}.form-row{flex-direction:column}.form-group,.form-group-small{min-width:100%}}.milestones-list-page{padding:2rem}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.page-title{font-size:1.75rem;font-weight:600;color:var(--text);margin:0}.quick-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.quick-filter{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;font-size:.875rem;background:var(--surface);border:1px solid var(--glass-border);border-radius:20px;color:var(--text);cursor:pointer;transition:all .15s ease}.quick-filter:hover{background:var(--panel);border-color:var(--accent)}.quick-filter.active{background:var(--accent);border-color:var(--accent);color:#fff}.filter-row{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;align-items:center}.filter-dropdowns{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.filter-select{padding:.5rem 2rem .5rem .75rem;font-size:.875rem;border:1px solid var(--glass-border);border-radius:6px;background:var(--surface);color:var(--text);cursor:pointer;min-width:150px;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.25rem}.filter-select:focus{outline:none;border-color:var(--accent)}.show-voided-checkbox{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--muted);cursor:pointer}.show-voided-checkbox input{cursor:pointer}.clear-filters-button{padding:.5rem 1rem;font-size:.875rem;background:transparent;border:1px solid var(--glass-border);border-radius:6px;color:var(--muted);cursor:pointer;transition:all .15s ease}.clear-filters-button:hover{background:var(--panel);color:var(--text)}.loading-state,.empty-state,.error-message{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;color:var(--muted)}.loading-spinner{width:40px;height:40px;border:3px solid var(--glass-border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.empty-icon{font-size:3rem;margin-bottom:1rem}.empty-state p,.error-message p{margin-bottom:1rem}.milestones-table-container{background:var(--surface);border:1px solid var(--glass-border);border-radius:12px;overflow:hidden;margin-bottom:1.5rem}.milestones-table{width:100%;border-collapse:collapse;font-size:.9rem}.milestones-table thead{background:var(--panel)}.milestones-table th{text-align:left;padding:1rem;font-weight:600;color:var(--text);border-bottom:1px solid var(--glass-border);white-space:nowrap}.milestones-table td{padding:.875rem 1rem;color:var(--text);border-bottom:1px solid var(--glass-border);vertical-align:middle}.milestones-table tbody tr{transition:background-color .15s ease}.milestones-table tbody tr:hover{background:#ffffff05}.milestones-table tbody tr.voided{opacity:.6;background:#00000005}.milestones-table tbody tr:last-child td{border-bottom:none}.milestone-cell{display:flex;align-items:flex-start;gap:.75rem}.status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:.25rem}.status-dot.status-gray{background:#9ca3af}.status-dot.status-blue{background:#3b82f6}.status-dot.status-green{background:#10b981}.status-dot.status-red{background:#ef4444}.milestone-info{display:flex;flex-direction:column;gap:.25rem;min-width:0}.milestone-title{font-weight:500;color:var(--text)}.milestone-description{font-size:.8rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:300px}.job-link{display:flex;flex-direction:column;gap:.125rem;background:none;border:none;padding:0;cursor:pointer;text-align:left;color:var(--accent);transition:opacity .15s}.job-link:hover{opacity:.8}.job-link .job-number{font-weight:500;font-size:.875rem}.job-link .job-title{font-size:.75rem;color:var(--muted)}.amount-cell{font-weight:600;font-variant-numeric:tabular-nums}.due-date{font-size:.875rem}.due-date-normal{color:var(--muted)}.due-date-soon{color:#f59e0b}.due-date-today{color:#f59e0b;font-weight:500}.due-date-overdue{color:#ef4444;font-weight:500}.due-date-completed{color:var(--muted);text-decoration:line-through}.due-date-none{color:var(--muted);font-style:italic}.status-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;font-size:.8rem;font-weight:500;border-radius:20px;white-space:nowrap}.status-badge-gray{background:#9ca3af26;color:#6b7280}.status-badge-blue{background:#3b82f626;color:#3b82f6}.status-badge-green{background:#10b98126;color:#10b981}.status-badge-red{background:#ef444426;color:#ef4444}.actions-cell{display:flex;align-items:center;gap:.5rem}.action-button{padding:.375rem .75rem;font-size:.75rem;color:var(--muted);background:transparent;border:1px solid var(--glass-border);border-radius:4px;cursor:pointer;transition:all .15s}.action-button:hover{background:var(--panel);color:var(--text)}.action-button.void:hover{background:#ef44441a;border-color:#ef44444d;color:#ef4444}.action-button.restore{color:var(--accent);border-color:var(--accent)}.action-button.restore:hover{background:#3b82f61a}.status-select{padding:.375rem .5rem;font-size:.8125rem;color:var(--text);background:var(--surface);border:1px solid var(--glass-border);border-radius:4px;cursor:pointer;min-width:120px}.status-select:hover{border-color:var(--accent)}.status-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #3b82f633}.status-dropdown-content{display:none;position:absolute;top:100%;right:0;min-width:130px;background:var(--surface);border:1px solid var(--glass-border);border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:1000;margin-top:2px}.status-dropdown-content.show{display:block}.status-option{display:block;width:100%;padding:.5rem .75rem;text-align:left;font-size:.875rem;color:var(--text);background:transparent;border:none;cursor:pointer;transition:background .15s}.status-option:hover{background:var(--panel)}.status-option:first-child{border-radius:6px 6px 0 0}.status-option:last-child{border-radius:0 0 6px 6px}.button{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;font-size:.875rem;font-weight:500;border-radius:6px;cursor:pointer;transition:all .15s;border:1px solid transparent}.button-secondary{background:var(--surface);color:var(--text);border-color:var(--glass-border)}.button-secondary:hover{background:var(--panel)}@media(max-width:768px){.milestones-list-page{padding:1rem}.quick-filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.5rem}.filter-dropdowns{flex-direction:column;align-items:stretch;width:100%}.filter-select{width:100%}.milestones-table-container{overflow-x:auto}.milestones-table{min-width:700px}}.job-report-actions{margin-top:1.5rem;padding:1.5rem;background:var(--color-bg-secondary, #f9fafb);border:1px solid var(--color-border, #e5e7eb);border-radius:8px}.job-report-actions .section-title{font-size:1rem;font-weight:600;margin:0 0 .5rem;color:var(--color-text, #111827)}.job-report-actions .section-description{font-size:.875rem;color:var(--color-text-secondary, #6b7280);margin:0 0 1rem}.report-actions-buttons{display:flex;gap:.75rem;flex-wrap:wrap}.job-report-actions .button{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:500;border-radius:6px;cursor:pointer;transition:all .15s ease}.job-report-actions .button-icon{width:18px;height:18px;flex-shrink:0}.job-report-actions .button-secondary{background:var(--color-bg, #ffffff);border:1px solid var(--color-border, #e5e7eb);color:var(--color-text, #374151)}.job-report-actions .button-secondary:hover:not(:disabled){background:var(--color-bg-secondary, #f3f4f6);border-color:var(--color-border-dark, #d1d5db)}.job-report-actions .button-primary{background:var(--color-primary, #2c5530);border:1px solid var(--color-primary, #2c5530);color:#fff}.job-report-actions .button-primary:hover:not(:disabled){background:var(--color-primary-dark, #234425)}.job-report-actions .button:disabled{opacity:.6;cursor:not-allowed}.no-email-indicator{margin-left:.25rem;font-size:.875rem}.no-email-warning{margin-top:.75rem;font-size:.8125rem;color:var(--color-warning-text, #92400e);background:var(--color-warning-bg, #fef3c7);padding:.5rem .75rem;border-radius:4px}.spinner{display:inline-block;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spinner-spin .75s linear infinite}@keyframes spinner-spin{to{transform:rotate(360deg)}}.email-dialog{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;z-index:1000;padding:0;margin:0;border:none;background:transparent}.email-dialog-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:-1}.email-dialog-content{background:var(--color-bg, #ffffff);border-radius:12px;padding:1.5rem;width:100%;max-width:480px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;position:relative;z-index:1}.email-dialog-title{font-size:1.125rem;font-weight:600;margin:0 0 1rem;color:var(--color-text, #111827)}.email-recipient{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:var(--color-bg-secondary, #f9fafb);border-radius:6px;margin-bottom:1rem}.recipient-label{font-size:.875rem;color:var(--color-text-secondary, #6b7280);font-weight:500}.recipient-email{font-size:.875rem;color:var(--color-text, #111827)}.email-form-group{margin-bottom:1.25rem}.email-label{display:block;font-size:.875rem;font-weight:500;color:var(--color-text, #374151);margin-bottom:.5rem}.email-textarea{width:100%;padding:.75rem;font-size:.875rem;border:1px solid var(--color-border, #e5e7eb);border-radius:6px;resize:vertical;font-family:inherit;line-height:1.5}.email-textarea:focus{outline:none;border-color:var(--color-primary, #2c5530);box-shadow:0 0 0 2px #2c553033}.char-count{display:block;text-align:right;font-size:.75rem;color:var(--color-text-secondary, #9ca3af);margin-top:.25rem}.email-dialog-actions{display:flex;justify-content:flex-end;gap:.75rem}@media(max-width:640px){.report-actions-buttons{flex-direction:column}.report-actions-buttons .button{width:100%;justify-content:center}.email-dialog-content{margin:1rem;max-width:calc(100% - 2rem)}}.job-detail-page{padding:2rem;max-width:900px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.header-left{display:flex;flex-direction:column;gap:.5rem}.back-button{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:0;font-size:.875rem;display:flex;align-items:center;gap:.25rem}.back-button:hover{color:var(--color-primary)}.title-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.page-title{font-size:1.5rem;font-weight:600;margin:0}.job-subtitle{margin:0;color:var(--color-text-secondary);font-size:1rem}.archived-badge{font-size:.75rem;padding:.25rem .5rem;background-color:var(--color-warning-bg, #fef3c7);color:var(--color-warning-text, #92400e);border-radius:4px;font-weight:500}.header-actions{display:flex;gap:.5rem;flex-wrap:wrap}.status-select{padding:.5rem 1rem;font-size:.875rem;color:var(--color-text);background:var(--color-bg, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:6px;cursor:pointer;min-width:140px}.status-select:hover{background:var(--color-bg-secondary, #f3f4f6)}.status-select:focus{outline:none;border-color:var(--color-primary, #3b82f6);box-shadow:0 0 0 2px #3b82f633}.status-dropdown{position:relative}.status-button{min-width:140px}.status-dropdown-content{display:none;position:absolute;top:100%;right:0;margin-top:.25rem;min-width:150px;background:#fff;border:1px solid var(--color-border);border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:100;overflow:hidden}.status-dropdown:hover .status-dropdown-content,.status-dropdown:focus-within .status-dropdown-content{display:block}.status-option{display:block;width:100%;padding:.625rem 1rem;text-align:left;background:none;border:none;cursor:pointer;font-size:.875rem;color:var(--color-text);transition:background-color .15s ease}.status-option:hover{background-color:var(--color-bg-secondary)}.button{padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;border:1px solid transparent;transition:all .15s ease}.button:disabled{opacity:.6;cursor:not-allowed}.button-primary{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.button-primary:hover:not(:disabled){background-color:var(--color-primary-dark)}.button-secondary{background-color:#fff;color:var(--color-text);border-color:var(--color-border)}.button-secondary:hover:not(:disabled){background-color:var(--color-bg-secondary)}.button-danger{background-color:#fff;color:var(--color-danger);border-color:var(--color-danger)}.button-danger:hover:not(:disabled){background-color:var(--color-danger);color:#fff}.job-card{background:#fff;border-radius:8px;border:1px solid var(--color-border);padding:1.5rem}.loading-state{display:flex;justify-content:center;align-items:center;min-height:200px}.loading-text{color:var(--color-text-secondary)}.job-form{display:flex;flex-direction:column;gap:1.5rem}.form-section{display:flex;flex-direction:column;gap:1rem}.form-section .section-title{font-size:.875rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0;padding-bottom:.5rem;border-bottom:1px solid var(--color-border)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:600px){.form-row{grid-template-columns:1fr}}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-label{font-size:.875rem;font-weight:500;color:var(--color-text)}.form-label .required{color:var(--color-danger)}.form-input,.form-select,.form-textarea{padding:.625rem .75rem;border:1px solid var(--color-border);border-radius:6px;font-size:.875rem;transition:border-color .15s ease,box-shadow .15s ease;background-color:#fff}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light, rgba(59, 130, 246, .1))}.form-input.error,.form-select.error,.form-textarea.error{border-color:var(--color-danger)}.form-input.error:focus,.form-select.error:focus,.form-textarea.error:focus{box-shadow:0 0 0 3px var(--color-danger-light, rgba(239, 68, 68, .1))}.form-textarea{resize:vertical;min-height:60px}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.25rem;padding-right:2.5rem}.form-error{font-size:.75rem;color:var(--color-danger)}.form-actions{display:flex;gap:.75rem;margin-top:.5rem;padding-top:1rem;border-top:1px solid var(--color-border)}.job-view{display:flex;flex-direction:column;gap:1.5rem}.detail-section{display:flex;flex-direction:column;gap:.75rem}.section-title{font-size:.875rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0}.client-info{display:flex;flex-direction:column;gap:.25rem}.client-info .client-name{font-size:1rem;font-weight:500;color:var(--color-text)}.client-info .client-business{font-size:.875rem;color:var(--color-text-secondary)}.client-contact{display:flex;gap:1rem;margin-top:.25rem}.client-contact a{font-size:.875rem;color:var(--color-primary);text-decoration:none}.client-contact a:hover{text-decoration:underline}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}@media(max-width:600px){.detail-grid{grid-template-columns:1fr}}.detail-item{display:flex;flex-direction:column;gap:.25rem}.detail-label{font-size:.75rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.detail-value{font-size:.9375rem;color:var(--color-text)}.detail-value.job-number-value{font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;color:var(--accent, var(--color-primary));font-weight:500}.detail-text{font-size:.9375rem;color:var(--color-text);margin:0;line-height:1.5;white-space:pre-wrap}.status-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:500;border-radius:20px;white-space:nowrap}.status-badge.status-planning{background:#9333ea26;color:#9333ea}.status-badge.status-approved{background:#3b82f626;color:#3b82f6}.status-badge.status-inprogress{background:#22c55e26;color:#22c55e}.status-badge.status-onhold{background:#f59e0b26;color:#f59e0b}.status-badge.status-completed{background:#14b8a626;color:#14b8a6}.status-badge.status-closed{background:#6b728026;color:#6b7280}.priority-badge{display:inline-flex;align-items:center;padding:.2rem .5rem;font-size:.7rem;font-weight:600;border-radius:4px;white-space:nowrap;text-transform:uppercase;letter-spacing:.025em}.priority-badge.priority-low{background:#6b728026;color:#6b7280}.priority-badge.priority-medium{background:#3b82f626;color:#3b82f6}.priority-badge.priority-high{background:#f9731626;color:#f97316}.priority-badge.priority-urgent{background:#ef444426;color:#ef4444}.detail-section.metadata{flex-direction:row;gap:2rem;padding-top:1rem;border-top:1px solid var(--color-border)}.metadata-item{display:flex;flex-direction:column;gap:.25rem}.metadata-item .detail-label{font-size:.6875rem}.metadata-item .detail-value{font-size:.8125rem;color:var(--color-text-secondary)}@media(max-width:768px){.job-detail-page{padding:1rem}.page-header{flex-direction:column;gap:1rem}.header-actions{width:100%;justify-content:flex-start}.status-dropdown-content{left:0;right:auto}}
