:root{--primary-color: #2563eb;--primary-dark: #1d4ed8;--primary-light: #3b82f6;--secondary-color: #f97316;--secondary-dark: #ea580c;--accent-color: #06b6d4;--text-dark: #1e293b;--text-medium: #475569;--text-light: #64748b;--bg-light: #f8fafc;--bg-white: #ffffff;--border-color: #e2e8f0;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--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-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .35s ease}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}.home-container{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;color:var(--text-dark);background-color:var(--bg-white);overflow-x:hidden}.home-nav{position:relative;background:#fffffff2;border-bottom:1px solid var(--border-color)}.nav-content{max-width:1280px;margin:0 auto;padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between}.nav-logo{display:flex;align-items:center;gap:.5rem;font-size:1.5rem;font-weight:700;color:var(--text-dark);text-decoration:none;cursor:pointer}.logo-icon{font-size:1.75rem}.logo-image{width:32px;height:32px;object-fit:contain}.logo-text{background:linear-gradient(135deg,var(--primary-color) 0%,var(--accent-color) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.nav-links{display:flex;align-items:center;gap:2rem}.nav-link{color:var(--text-medium);text-decoration:none;font-weight:500;font-size:.95rem;transition:var(--transition-fast);position:relative}.nav-link:hover{color:var(--primary-color)}.nav-link:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--primary-color);transition:var(--transition-fast)}.nav-link:hover:after{width:100%}.btn-nav-login{padding:.5rem 1.25rem;border:1.5px solid var(--primary-color);background:transparent;color:var(--primary-color);border-radius:var(--radius-md);font-weight:600;font-size:.9rem;cursor:pointer;transition:var(--transition-fast)}.btn-nav-login:hover{background:var(--primary-color);color:#fff}.btn-nav-register{padding:.5rem 1.25rem;border:none;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;border-radius:var(--radius-md);font-weight:600;font-size:.9rem;cursor:pointer;transition:var(--transition-fast);box-shadow:var(--shadow-md)}.btn-nav-register:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.mobile-menu-toggle{display:none;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:.5rem}.mobile-menu-toggle span{display:block;width:24px;height:2px;background:var(--text-dark);transition:var(--transition-fast)}.hero-section{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:5rem 2rem;background:linear-gradient(180deg,#f8fafc,#e2e8f0);position:relative;overflow:hidden}.hero-section:before{content:"";position:absolute;top:10%;right:5%;width:500px;height:500px;background:radial-gradient(circle,rgba(37,99,235,.06) 0%,transparent 70%);border-radius:50%}.hero-section:after{content:"";position:absolute;bottom:10%;left:5%;width:400px;height:400px;background:radial-gradient(circle,rgba(6,182,212,.05) 0%,transparent 70%);border-radius:50%}.hero-content{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.2fr 1fr;gap:5rem;align-items:center;position:relative;z-index:1}.hero-text{max-width:560px}.hero-title{font-size:3.25rem;font-weight:800;line-height:1.15;color:var(--text-dark);margin-bottom:1.25rem;letter-spacing:-.02em}.hero-gradient{background:linear-gradient(135deg,var(--primary-color) 0%,var(--accent-color) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:1.15rem;color:var(--text-medium);margin-bottom:2rem;line-height:1.7}.hero-buttons{display:flex;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.btn-hero-primary{padding:.875rem 1.75rem;border:none;background:var(--primary-color);color:#fff;border-radius:var(--radius-lg);font-weight:600;font-size:1rem;cursor:pointer;transition:var(--transition-base);box-shadow:0 4px 14px #2563eb63;display:flex;align-items:center;gap:.5rem}.btn-hero-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2563eb3b;background:var(--primary-dark)}.btn-arrow{transition:var(--transition-fast)}.btn-hero-primary:hover .btn-arrow{transform:translate(3px)}.btn-hero-secondary{padding:.875rem 1.75rem;border:1.5px solid var(--border-color);background:#fff;color:var(--text-dark);border-radius:var(--radius-lg);font-weight:600;font-size:1rem;cursor:pointer;transition:var(--transition-base)}.btn-hero-secondary:hover{border-color:var(--primary-color);color:var(--primary-color);background:#2563eb0a}.hero-note{color:var(--text-light);font-size:.875rem;display:flex;align-items:center;gap:.5rem}.hero-visual{position:relative;display:flex;flex-direction:column;gap:1rem;align-items:center;justify-content:center;min-height:400px}.hero-card{background:#fff;padding:1.25rem 1.75rem;border-radius:var(--radius-xl);box-shadow:0 10px 40px -10px #0000001a,0 4px 12px #0000000d;display:flex;align-items:center;gap:.875rem;animation:float 5s ease-in-out infinite;border:1px solid rgba(226,232,240,.6);min-width:200px}.hero-card-1{animation-delay:0s;align-self:flex-start;margin-left:-1rem}.hero-card-2{animation-delay:1.5s;align-self:center}.hero-card-3{animation-delay:3s;align-self:flex-end;margin-right:-1rem}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.card-icon{font-size:1.75rem;display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:linear-gradient(135deg,#2563eb1a,#06b6d41a);border-radius:var(--radius-md)}.card-text{font-weight:600;color:var(--text-dark);font-size:1rem}.section-header{text-align:center;max-width:640px;margin:0 auto 4rem}.pricing-section .section-header{margin-bottom:5rem}.section-title{font-size:2.5rem;font-weight:700;color:var(--text-dark);margin-bottom:1rem}.section-subtitle{font-size:1.125rem;color:var(--text-medium)}.features-section{padding:6rem 1.5rem;background:var(--bg-white)}.features-grid{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.feature-card{padding:2.5rem;background:var(--bg-light);border-radius:var(--radius-xl);border:1px solid var(--border-color);transition:var(--transition-base)}.feature-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-xl);border-color:var(--primary-light)}.feature-icon{font-size:3rem;margin-bottom:1.5rem}.feature-title{font-size:1.25rem;font-weight:600;color:var(--text-dark);margin-bottom:.75rem}.feature-description{color:var(--text-medium);line-height:1.7}.how-section{padding:6rem 1.5rem;background:linear-gradient(180deg,var(--bg-light) 0%,var(--bg-white) 100%)}.steps-container{max-width:1000px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:2rem}.step{flex:1;text-align:center;padding:2rem}.step-number{width:60px;height:60px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--accent-color) 100%);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;margin:0 auto 1.5rem;box-shadow:var(--shadow-lg)}.step-title{font-size:1.5rem;font-weight:600;color:var(--text-dark);margin-bottom:.75rem}.step-description{color:var(--text-medium);line-height:1.7}.step-arrow{font-size:2rem;color:var(--primary-light);font-weight:300}.pricing-section{padding:6rem 1.5rem;background:var(--bg-white)}.pricing-grid{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1.75rem;align-items:stretch}.pricing-card{background:var(--bg-light);border-radius:var(--radius-2xl);padding:2.5rem;border:2px solid var(--border-color);transition:var(--transition-base);position:relative;display:flex;flex-direction:column}.pricing-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-xl)}.pricing-card-featured{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;border-color:var(--primary-color)}.pricing-card-featured:hover{transform:translateY(-5px)}.pricing-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--secondary-color);color:#fff;padding:.5rem 1.5rem;border-radius:20px;font-size:.875rem;font-weight:600;box-shadow:var(--shadow-md)}.pricing-header{text-align:center;margin-bottom:2rem}.pricing-name{font-size:1.5rem;font-weight:700;margin-bottom:1rem}.pricing-card-featured .pricing-name{color:#fff}.pricing-price{display:flex;align-items:baseline;justify-content:center;gap:.25rem}.price-amount{font-size:3.5rem;font-weight:800;line-height:1}.pricing-card-featured .price-amount{color:#fff}.price-period{color:var(--text-light);font-size:1rem}.pricing-card-featured .price-period{color:#fffc}.price-yearly{color:var(--text-light);font-size:.875rem;margin-top:.5rem}.pricing-card-featured .price-yearly{color:#ffffffb3}.pricing-features{list-style:none;margin-bottom:2rem;flex-grow:1}.pricing-features li{padding:.75rem 0;border-bottom:1px solid var(--border-color);color:var(--text-medium)}.pricing-card-featured .pricing-features li{color:#ffffffe6;border-bottom-color:#fff3}.pricing-features li:last-child{border-bottom:none}.btn-pricing{width:100%;padding:1rem;border:2px solid var(--primary-color);background:transparent;color:var(--primary-color);border-radius:var(--radius-lg);font-weight:600;font-size:1rem;cursor:pointer;transition:var(--transition-fast);margin-top:auto}.btn-pricing:hover{background:var(--primary-color);color:#fff}.btn-pricing-featured{background:#fff;border-color:#fff;color:var(--primary-color)}.btn-pricing-featured:hover{background:#ffffffe6;color:var(--primary-dark)}.pricing-card-custom{background:linear-gradient(135deg,#0f172a,#1e293b);border-color:#334155;color:#fff}.pricing-card-custom:hover{border-color:#7c3aed;box-shadow:0 20px 40px -10px #7c3aed4d}.pricing-card-custom .pricing-name{color:#fff}.pricing-badge-custom{background:linear-gradient(135deg,#7c3aed,#6d28d9)}.price-amount-custom{font-size:2rem;font-weight:700;background:linear-gradient(135deg,#a78bfa,#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.pricing-card-custom .pricing-features li{color:#ffffffd9;border-bottom-color:#ffffff1a}.btn-pricing-custom{display:block;text-align:center;text-decoration:none;background:linear-gradient(135deg,#7c3aed,#6d28d9);border-color:transparent;color:#fff;box-shadow:0 4px 14px #7c3aed66}.btn-pricing-custom:hover{background:linear-gradient(135deg,#6d28d9,#5b21b6);color:#fff;transform:translateY(-2px);box-shadow:0 8px 20px #7c3aed80}.cta-section{padding:3rem 1.5rem;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);text-align:center}.cta-content{max-width:640px;margin:0 auto}.cta-title{font-size:2.5rem;font-weight:700;color:#fff;margin-bottom:1rem}.cta-subtitle{font-size:1.25rem;color:#ffffffe6;margin-bottom:2rem}.btn-cta{padding:1.25rem 3rem;border:none;background:#fff;color:var(--primary-color);border-radius:var(--radius-lg);font-weight:700;font-size:1.1rem;cursor:pointer;transition:var(--transition-base);box-shadow:var(--shadow-xl);display:inline-flex;align-items:center;gap:.5rem}.btn-cta:hover{transform:translateY(-3px);box-shadow:0 25px 50px -12px #00000040}.cta-note{color:#fffc;font-size:.9rem;margin-top:1.5rem}.home-footer{background:var(--text-dark);color:#fff;padding:4rem 1.5rem 2rem}.footer-content{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:2fr 3fr;gap:4rem;margin-bottom:3rem}.footer-brand{max-width:300px}.footer-logo{display:flex;align-items:center;gap:.5rem;font-size:1.5rem;font-weight:700;margin-bottom:1rem}.footer-logo .logo-text{background:linear-gradient(135deg,var(--primary-light) 0%,var(--accent-color) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.footer-logo .logo-image{width:28px;height:28px}.footer-tagline{color:var(--text-light);line-height:1.7}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.footer-column{display:flex;flex-direction:column;gap:.75rem}.footer-heading{font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-light);margin-bottom:.5rem}.footer-link{color:#fffc;text-decoration:none;transition:var(--transition-fast)}.footer-link:hover{color:#fff}.footer-bottom{max-width:1280px;margin:0 auto;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1);text-align:center;color:var(--text-light);font-size:.875rem}@media (max-width: 900px){.pricing-grid{grid-template-columns:repeat(2,1fr)}.pricing-card-featured{order:-1}}@media (max-width: 1024px){.hero-content{grid-template-columns:1fr;text-align:center}.hero-title{font-size:2.5rem}.hero-subtitle{margin-left:auto;margin-right:auto}.hero-buttons,.hero-badges,.hero-note{justify-content:center}.hero-visual{display:none}.features-grid{grid-template-columns:repeat(2,1fr)}.footer-content{grid-template-columns:1fr;gap:2rem}.footer-brand{max-width:100%;text-align:center}.footer-logo{justify-content:center}}@media (max-width: 768px){.nav-links{display:none}.mobile-menu-toggle{display:flex}.hero-section{padding:3rem 1rem}.hero-title{font-size:2rem}.hero-subtitle{font-size:1.1rem}.hero-buttons{flex-direction:column;width:100%}.btn-hero-primary,.btn-hero-secondary{width:100%;justify-content:center}.features-section,.how-section,.pricing-section{padding:4rem 1rem}.cta-section{padding:2.5rem 1rem}.section-title{font-size:2rem}.features-grid{grid-template-columns:1fr}.steps-container{flex-direction:column}.step-arrow{transform:rotate(90deg)}.pricing-grid{grid-template-columns:1fr}.pricing-card-featured{grid-column:span 1}.footer-links{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.hero-title{font-size:1.75rem}.section-title{font-size:1.5rem}.cta-title{font-size:1.75rem}.footer-links{grid-template-columns:1fr;text-align:center}.footer-column{align-items:center}}.hero-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.hero-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .85rem;background:#2563eb12;border:1px solid rgba(37,99,235,.18);border-radius:999px;font-size:.8rem;font-weight:500;color:var(--text-medium)}.feature-card-new{position:relative;border-color:#2563eb4d;background:linear-gradient(135deg,#f0f7ff,#f8fafc)}.feature-card-new:hover{border-color:var(--primary-color)}.feature-new-badge{position:absolute;top:1rem;right:1rem;background:linear-gradient(135deg,var(--primary-color) 0%,var(--accent-color) 100%);color:#fff;font-size:.65rem;font-weight:700;padding:.2rem .55rem;border-radius:999px;letter-spacing:.04em;text-transform:uppercase}.feature-plan-tag{display:inline-block;padding:.1rem .5rem;background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;border-radius:999px;font-size:.65rem;font-weight:700;vertical-align:middle;margin-left:.35rem;letter-spacing:.03em}.how-flows{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:3rem}.how-flow-block{background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:2rem 2rem 1.5rem;box-shadow:var(--shadow-sm)}.how-flow-label{font-size:1rem;font-weight:700;color:var(--primary-color);margin-bottom:1.5rem;letter-spacing:.01em}.pricing-feature-no{color:#6b7280d9!important}.pricing-card-featured .pricing-feature-no{color:#ffffff73!important}.trust-section{background:var(--bg-light);border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);padding:1.5rem}.trust-content{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:1rem 2rem}.trust-item{display:flex;align-items:center;gap:.5rem}.trust-icon{font-size:1.1rem}.trust-text{font-size:.875rem;font-weight:500;color:var(--text-medium);white-space:nowrap}.trust-divider{width:1px;height:20px;background:var(--border-color)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeInUp .6s ease forwards}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-light)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-light)}.hero-canadian-banner{display:flex;align-items:center;justify-content:center;gap:.6rem;padding:.6rem 1.5rem;background-color:#fff5f5;border:1.5px solid #e53e3e;border-radius:999px;color:#c53030;font-size:1rem;font-weight:600;letter-spacing:.01em;position:absolute;top:2.5rem;left:50%;transform:translate(-50%);white-space:nowrap;z-index:2;box-shadow:0 2px 12px #e53e3e1f}.canadian-flag{font-size:1.2rem;line-height:1}.canadian-text{color:#c53030}.footer-bottom{display:flex;flex-direction:column;align-items:center;gap:.4rem}.footer-canadian{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;color:#e05252;font-weight:500}.footer-canadian .canadian-flag{font-size:1rem}.hero-price-callout{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem .75rem;margin-bottom:1.5rem;padding:.65rem 1.1rem;background:linear-gradient(135deg,#16a34a14,#10b9810f);border:1.5px solid rgba(22,163,74,.25);border-radius:var(--radius-lg);font-size:.875rem}.hero-price-callout-label{color:#6b7280}.hero-price-callout-label em{font-style:normal;font-weight:700;color:#dc2626}.hero-price-callout-divider{color:#d1d5db;font-weight:300}.hero-price-callout-value{color:#166534;font-weight:600}.hero-price-callout-value strong{color:#15803d;font-weight:800}@media (max-width: 1024px){.hero-price-callout{justify-content:center;text-align:center}.hero-price-callout-divider{display:none}}.compare-section{padding:6rem 1.5rem;background:linear-gradient(180deg,#0f172a,#1e293b)}.compare-section .section-title{color:#f1f5f9}.compare-section .section-subtitle{color:#94a3b8}.compare-section .section-subtitle strong{color:#f97316}.compare-table-wrap{max-width:1100px;margin:0 auto 1.5rem;overflow-x:auto;border-radius:var(--radius-xl);box-shadow:0 25px 50px -12px #00000080}.compare-table{width:100%;border-collapse:collapse;background:#1e293b;border-radius:var(--radius-xl);overflow:hidden;font-size:.925rem}.compare-th{padding:1.1rem 1.25rem;text-align:center;font-weight:600;font-size:.875rem;color:#94a3b8;background:#0f172a;border-bottom:2px solid #334155;white-space:nowrap}.compare-th-feature{text-align:left;color:#64748b;width:26%}.compare-th-ff{background:linear-gradient(135deg,#1d4ed8,#2563eb);color:#fff!important;display:table-cell;flex-direction:column;gap:.2rem;padding:.9rem 1.25rem;position:relative}.compare-ff-label{display:block;font-size:1rem;font-weight:700;color:#fff;letter-spacing:.01em}.compare-ff-price{display:block;font-size:.75rem;font-weight:500;color:#fffc;margin-top:.2rem}.compare-row{border-bottom:1px solid #334155;transition:background .15s ease}.compare-row:last-child{border-bottom:none}.compare-row:hover{background:#ffffff05}.compare-row-price{background:#2563eb0a}.compare-row-cost{background:#0f172a99;border-top:2px solid #334155}.compare-td-feature{padding:.9rem 1.25rem;font-weight:500;color:#cbd5e1;font-size:.875rem;white-space:nowrap}.compare-td{padding:.9rem 1.25rem;text-align:center;font-size:.875rem;color:#94a3b8}.compare-td-ff{background:#2563eb14;border-left:2px solid rgba(37,99,235,.4);border-right:2px solid rgba(37,99,235,.4);font-weight:600}.compare-win{color:#4ade80}.compare-lose{color:#f87171}.compare-neutral{color:#fbbf24}.compare-win-bold{font-size:1.05rem;font-weight:800;color:#4ade80!important}.compare-lose-bold{font-size:1rem;font-weight:700;color:#f87171!important;text-decoration:line-through;text-decoration-color:#f8717180}.compare-disclaimer{max-width:1100px;margin:0 auto;text-align:center;font-size:.78rem;color:#475569}@media (max-width: 768px){.compare-section{padding:4rem .75rem}.compare-table{font-size:.8rem}.compare-th,.compare-td,.compare-td-feature{padding:.75rem}.compare-th-feature,.compare-td-feature{width:auto;min-width:130px}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f5f5f5;padding:20px}.login-card{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;padding:40px;width:100%;max-width:400px}.login-header-mobile{display:none}.login-header-desktop{display:block}@media (max-width: 480px){.login-container{display:block;height:auto;min-height:unset;padding:24px 16px 40px}.login-card{padding:24px 20px;border-radius:10px;margin:0 auto;max-width:100%}.login-header-mobile{display:block;text-align:center;margin-bottom:20px;color:#333}.login-header-mobile h1{font-size:26px;margin:0 0 4px;color:#333}.login-header-mobile p{color:#666;margin:0;font-size:14px}.login-header-mobile .logo-image{width:120px;height:auto}.login-header-desktop{display:none}}.login-header{text-align:center;margin-bottom:30px}.login-header h1{font-size:32px;margin:0 0 8px;color:#333}.login-header p{color:#666;margin:0;font-size:16px}.login-form{display:flex;flex-direction:column;gap:20px}.form-group label{font-weight:600;color:#333;font-size:14px}.form-group input{padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;transition:border-color .3s;color:#1a202c}.form-group input:focus{outline:none;border-color:#667eea}.btn-primary{background:#667eea;color:#fff;border:none;padding:14px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background .3s;margin-top:10px}.btn-primary:hover:not(:disabled){background:#5568d3}.login-footer{text-align:center;margin-top:20px;font-size:14px;color:#666}.link{color:#667eea;text-decoration:none;font-weight:500}.link:hover{text-decoration:underline}.separator{margin:0 10px;color:#ccc}.error-message{background:#fee;color:#c33;padding:12px;border-radius:8px;font-size:14px;border:1px solid #fcc}.success-message{background:#efe;color:#2a7c2a;padding:12px;border-radius:8px;font-size:14px;border:1px solid #cfc}.register-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.register-card{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;padding:40px;width:100%;max-width:420px}.register-header{text-align:center;margin-bottom:32px}.register-header h1{font-size:32px;font-weight:700;color:#1a202c;margin:0 0 8px}.register-header p{font-size:16px;color:#718096;margin:0}.register-form{display:flex;flex-direction:column;gap:20px}.form-group label{font-size:14px;font-weight:600;color:#2d3748}.form-group input{padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:16px;transition:all .2s;background:#fff;color:#1a202c}.form-hint{font-size:12px;color:#718096;margin-top:-4px}.btn-primary{padding:14px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;margin-top:8px}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #667eea4d}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.error-message{padding:12px 16px;background:#fed7d7;color:#c53030;border-radius:8px;font-size:14px;border-left:4px solid #f56565}.register-footer{text-align:center;margin-top:8px;font-size:14px;color:#718096;display:flex;align-items:center;justify-content:center;gap:8px}.link{color:#667eea;text-decoration:none;font-weight:600;transition:color .2s}.link:hover{color:#764ba2;text-decoration:underline}.terms-group{background:#f7f8ff;border:1px solid #e2e8f0;border-radius:8px;padding:12px 14px;gap:0}.terms-label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:14px;color:#2d3748;font-weight:400;line-height:1.5}.terms-checkbox{width:18px;height:18px;flex-shrink:0;margin-top:2px;accent-color:#667eea;cursor:pointer;border:2px solid #e2e8f0;border-radius:4px}.terms-link{color:#667eea;text-decoration:none;font-weight:600;transition:color .2s}.terms-link:hover{color:#764ba2;text-decoration:underline}.register-header-mobile{display:none}.register-header-desktop{display:block}@media (max-width: 480px){.register-container{display:block;height:auto;min-height:unset;padding:24px 16px 40px}.register-card{padding:24px 20px;border-radius:12px;margin:0 auto;max-width:100%}.register-header-mobile{display:block;text-align:center;margin-bottom:20px;color:#fff}.register-header-mobile h1{font-size:26px;margin:0 0 4px;color:#fff}.register-header-mobile p{color:#ffffffd9;margin:0;font-size:14px}.register-header-mobile .logo-image{width:60px;height:60px}.register-header-desktop{display:none}}.dashboard-container{min-height:100vh;display:flex;flex-direction:column;background:#f5f5f5}.dashboard-header{background:#fff;padding:12px 24px;padding-top:calc(12px + env(safe-area-inset-top));box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;gap:0}.header-top-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.header-user-row-mobile{display:none}.header-left-section{display:flex;align-items:center;gap:12px;flex:1}.header-center-section{display:flex;align-items:center;justify-content:center;flex-shrink:0}.header-center-section .logo-image{height:60px;width:auto}.header-right-section{display:flex;align-items:center;gap:12px;flex:1;justify-content:flex-end}.btn-employees{padding:8px 16px;background:#28a745;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.btn-employees:hover{background:#218838}.btn-subscription{padding:8px 16px;background:#2196f3;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s;margin-left:8px}.btn-subscription:hover{background:#1976d2}.header-right{display:flex;align-items:center;gap:12px}.user-name{font-weight:600;color:#333;margin-left:16px}.user-role{color:#666;font-size:14px}.btn-logout{background:#f44336;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-weight:500;transition:background .3s}.btn-logout:hover{background:#d32f2f}.btn-team-messages{background:#22c55e;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-weight:500;font-size:14px;transition:all .2s;display:flex;align-items:center;gap:6px;position:relative}.btn-team-messages:hover{background:#16a34a;transform:translateY(-1px);box-shadow:0 4px 8px #22c55e4d}.btn-msg-badge{display:inline-flex;align-items:center;justify-content:center;background:#ef4444;color:#fff;font-size:11px;font-weight:700;min-width:18px;height:18px;padding:0 4px;border-radius:9px;line-height:1;box-shadow:0 1px 4px #00000040;animation:badge-pop .25s cubic-bezier(.34,1.56,.64,1)}@keyframes badge-pop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.dash-msg-toast{position:fixed;bottom:1.4rem;right:1.4rem;z-index:9999;display:flex;align-items:center;gap:.75rem;background:#1e293b;border-left:4px solid #22c55e;border-radius:12px;padding:.85rem 1.1rem;box-shadow:0 8px 24px #00000059;cursor:pointer;min-width:240px;max-width:320px;animation:dash-toast-in .35s cubic-bezier(.34,1.56,.64,1) forwards;-webkit-user-select:none;user-select:none}.dash-msg-toast:hover{background:#263347}.dash-msg-toast-exit{animation:dash-toast-out .3s ease-in forwards}@keyframes dash-toast-in{0%{transform:translate(110%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes dash-toast-out{0%{transform:translate(0);opacity:1}to{transform:translate(110%);opacity:0}}.dash-msg-toast-icon{font-size:1.4rem;flex-shrink:0}.dash-msg-toast-body{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.dash-msg-toast-title{font-size:.8rem;font-weight:700;color:#22c55e;text-transform:uppercase;letter-spacing:.5px}.dash-msg-toast-sub{font-size:.82rem;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-msg-toast-arrow{font-size:1rem;color:#22c55e;flex-shrink:0;transition:transform .2s}.dash-msg-toast:hover .dash-msg-toast-arrow{transform:translate(3px)}.settings-dropdown-container{position:relative}.btn-settings{background:#667eea;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-weight:500;font-size:14px;transition:all .2s;display:flex;align-items:center;gap:6px}.btn-settings:hover{background:#5a67d8;transform:translateY(-1px);box-shadow:0 4px 8px #667eea4d}.settings-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:180px;overflow:hidden;z-index:1000;animation:dropdownFadeIn .2s ease-out}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{width:100%;padding:12px 16px;background:#fff;border:none;text-align:left;cursor:pointer;font-size:14px;font-weight:500;color:#333;transition:all .2s;display:flex;align-items:center;gap:8px;border-bottom:1px solid #f0f0f0}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background:#f8f9fa;color:#667eea}.dropdown-item.logout-item{color:#f44336}.dropdown-item.logout-item:hover{background:#fee;color:#d32f2f}.dashboard-main{flex:1;padding:24px;max-width:1600px;width:100%;margin:0 auto}.loading{text-align:center;padding:40px;font-size:18px;color:#666}.jobsites-section,.upload-section{margin-bottom:32px}.section-header{display:flex;justify-content:flex-start;align-items:center;margin-bottom:8px;flex-wrap:wrap;gap:12px}.section-header h2{margin:0;font-size:20px;color:#333}.jobsites-actions-left{display:flex;gap:10px;margin-bottom:16px;justify-content:flex-start}.section-actions{display:flex;gap:10px}.btn-view-all,.btn-create-new{padding:8px 16px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;border:none}.btn-view-all{background:#fff;color:#667eea;border:2px solid #667eea}.btn-view-all:hover{background:#667eea;color:#fff}.btn-create-new{background:#667eea;color:#fff;border:2px solid #667eea}.btn-create-new:hover{background:#5a67d8;border-color:#5a67d8;transform:translateY(-1px);box-shadow:0 4px 8px #667eea4d}.upload-section h2{margin:0 0 16px;font-size:20px;color:#333}.jobsites-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.jobsite-card{background:#fff;padding:0;border-radius:12px;box-shadow:0 2px 8px #0000001a;transition:transform .2s,box-shadow .2s;overflow:hidden;border:1px solid #e8e8e8}.jobsite-header{display:flex;justify-content:center;align-items:center;padding:20px;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:3px solid #5a6fd6}.jobsite-header h3{margin:0;color:#fff;font-size:1.4rem;font-weight:700;letter-spacing:.3px;text-align:center}.btn-icon{background:#fff3;border:none;font-size:1.1rem;cursor:pointer;padding:6px 10px;border-radius:6px;transition:all .2s}.btn-icon:hover{background:#ffffff4d;transform:scale(1.1)}.info-value-address-wrap{display:flex;align-items:center;gap:6px;justify-content:flex-end;max-width:60%}.info-value-address{color:#667eea;text-decoration:underline;text-decoration-color:#667eea66;text-underline-offset:2px;cursor:pointer;transition:color .2s;word-break:break-word;text-align:right;font-size:1rem;font-weight:500}.info-value-address:hover{color:#5a67d8;text-decoration-color:#5a67d8}.btn-copy-address{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;background:#f0f0f0;border:1px solid #ddd;border-radius:5px;font-size:.85rem;color:#666;cursor:pointer;transition:all .18s;padding:0;line-height:1}.btn-copy-address:hover{background:#667eea;border-color:#667eea;color:#fff;transform:scale(1.1)}.btn-copy-address--copied{background:#22c55e;border-color:#22c55e;color:#fff}.btn-copy-address--copied:hover{background:#16a34a;border-color:#16a34a;color:#fff;transform:scale(1.1)}.upload-area{background:#fff;padding:40px;border-radius:12px;box-shadow:0 2px 8px #0000001a;text-align:center}.btn-upload{display:inline-flex;align-items:center;gap:10px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:16px 36px;border-radius:12px;font-size:18px;font-weight:700;cursor:pointer;border:none;transition:all .2s ease;box-shadow:0 4px 16px #667eea66;letter-spacing:.3px;animation:upload-pulse 2.8s ease-in-out infinite}.btn-upload:hover{transform:translateY(-2px);box-shadow:0 8px 24px #667eea80;animation:none}.btn-upload:active{transform:translateY(0);box-shadow:0 2px 8px #667eea66}@keyframes upload-pulse{0%,to{box-shadow:0 4px 16px #667eea66}50%{box-shadow:0 4px 28px #764ba299}}.upload-hint{margin:16px 0 0;color:#666;font-size:14px}.empty-state{text-align:center;color:#999;padding:40px;background:#fff;border-radius:12px;font-style:italic}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:#fff;box-shadow:0 -2px 8px #0000001a;display:flex;justify-content:space-around;padding:12px 0;padding-bottom:calc(12px + env(safe-area-inset-bottom))}.nav-item{display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:none;color:#999;cursor:pointer;padding:8px 16px;transition:color .3s;font-size:12px}.nav-item span:first-child{font-size:24px}.nav-item:hover,.nav-item.active{color:#667eea}@media (max-width: 768px){.dashboard-header{padding:12px 16px;padding-top:calc(12px + env(safe-area-inset-top));gap:0}.header-top-row{gap:12px}.header-left-section{flex:0 0 auto;min-width:0}.header-center-section{flex:0 0 auto}.header-center-section .logo-image{height:50px}.header-right-section{flex:0 0 auto}.user-name{font-size:13px;margin-left:0}.user-role{font-size:11px}.header-user-row-mobile{display:none}.btn-team-messages{padding:6px 10px;font-size:12px}.btn-settings{padding:6px 12px;font-size:13px}.dashboard-main{padding:16px 16px 90px}.jobsites-list{grid-template-columns:1fr}.section-header{flex-direction:column;align-items:flex-start}.section-actions{width:100%}.btn-view-all,.btn-create-new{flex:1;padding:10px 12px;font-size:13px}}.create-jobsite-modal{max-width:500px;max-height:90vh;display:flex!important;flex-direction:column!important;overflow:hidden}.jobsite-form{padding:24px;display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:.95rem;font-weight:600;color:#333}.form-group input{padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:all .2s;font-family:inherit}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input::placeholder{color:#999}.form-row-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-actions{display:flex;gap:12px;margin-top:8px}.btn-submit,.btn-cancel{flex:1;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;border:none}.btn-submit{background:#667eea;color:#fff}.btn-submit:hover{background:#5a67d8;transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.btn-cancel{background:#f5f5f5;color:#666;border:2px solid #e0e0e0}.btn-cancel:hover{background:#e0e0e0}.error-message{background:#fee;color:#c33;padding:12px 16px;border-radius:8px;margin-bottom:16px;border-left:4px solid #c33}@media (max-width: 768px){.create-jobsite-modal{max-width:95vw}.jobsite-form{padding:20px}.form-row-two{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn-submit,.btn-cancel{width:100%}}.jobsite-card-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px;padding-top:10px;margin-top:4px;border-top:1px solid #f0f0f0}.jobsite-unpaid-badge{display:inline-flex;align-items:center;gap:4px;background:#fff0f0;border:1px solid #fca5a5;color:#dc2626;font-size:.78rem;font-weight:700;padding:3px 10px;border-radius:20px;letter-spacing:.3px}.jobsite-last-upload{font-size:.78rem;color:#888;font-weight:500}.recent-docs-section{background:#fff;border-radius:14px;box-shadow:0 2px 8px #00000014;padding:20px 24px;margin-bottom:32px}.recent-docs-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.recent-docs-header h2{margin:0;font-size:1.1rem;color:#333}.recent-docs-refresh{background:none;border:1px solid #e0e0e0;border-radius:6px;color:#667eea;font-size:1.1rem;cursor:pointer;padding:4px 10px;transition:all .18s;line-height:1}.recent-docs-refresh:hover:not(:disabled){background:#f0f0f0;border-color:#667eea}.recent-docs-refresh:disabled{opacity:.5;cursor:default}.recent-docs-filters{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:14px}.recent-docs-type-btns{display:flex;gap:6px}.recent-docs-type-btn{padding:5px 12px;border-radius:20px;border:1.5px solid #e0e0e0;background:#fff;color:#555;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .18s}.recent-docs-type-btn:hover{border-color:#667eea;color:#667eea}.recent-docs-type-btn--active{background:#667eea;border-color:#667eea;color:#fff}.recent-docs-jobsite-select{padding:5px 10px;border:1.5px solid #e0e0e0;border-radius:8px;font-size:.85rem;color:#333;background:#fff;cursor:pointer;transition:border-color .18s}.recent-docs-jobsite-select:focus{outline:none;border-color:#667eea}.recent-docs-search-wrap{flex:1;min-width:160px;position:relative;display:flex;align-items:center}.recent-docs-search{width:100%;padding:6px 30px 6px 10px;border:1.5px solid #e0e0e0;border-radius:8px;font-size:.85rem;color:#333;transition:border-color .18s;font-family:inherit}.recent-docs-search:focus{outline:none;border-color:#667eea}.recent-docs-search-clear{position:absolute;right:6px;background:none;border:none;color:#aaa;cursor:pointer;font-size:.85rem;padding:2px 4px;border-radius:4px;transition:color .15s}.recent-docs-search-clear:hover{color:#555}.recent-docs-loading,.recent-docs-empty{text-align:center;color:#999;font-size:.9rem;padding:20px 0;font-style:italic}.recent-docs-list{display:flex;flex-direction:column;gap:0}.recent-doc-row{display:flex;align-items:center;gap:12px;border-bottom:1px solid #f5f5f5;cursor:pointer;transition:background .15s;border-radius:6px;padding:10px 6px}.recent-doc-row:last-child{border-bottom:none}.recent-doc-row:hover{background:#f8f9ff}.recent-doc-icon{font-size:1.3rem;flex-shrink:0}.recent-doc-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.recent-doc-primary{font-size:.92rem;font-weight:600;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-doc-meta{font-size:.78rem;color:#888;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-doc-date{font-size:.78rem;color:#aaa;flex-shrink:0;white-space:nowrap}@media (max-width: 768px){.recent-docs-section{padding:16px}.recent-docs-filters{flex-direction:column;align-items:stretch}.recent-docs-type-btns{justify-content:flex-start}.recent-docs-search-wrap{min-width:0}}.jobsite-card-view-btn{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;background:#f0f4ff;color:#667eea;border:1.5px solid #c7d2fe;border-radius:20px;font-size:.78rem;font-weight:700;cursor:pointer;transition:all .2s ease;letter-spacing:.2px;white-space:nowrap;flex-shrink:0}.jobsite-card:hover .jobsite-card-view-btn{background:#667eea;color:#fff;border-color:#667eea}.dash-shift-card{background:#fff;border:2px solid #e5e7eb;border-radius:14px;padding:1rem 1.1rem;margin-bottom:1.25rem;transition:border-color .3s,box-shadow .3s}.dash-shift-card--active{border-color:#22c55e;box-shadow:0 0 0 3px #22c55e1f;animation:shift-active-pulse 2.5s ease-in-out infinite}@keyframes shift-active-pulse{0%,to{box-shadow:0 0 0 3px #22c55e1f}50%{box-shadow:0 0 0 6px #22c55e38}}.dash-shift-header{display:flex;align-items:center;gap:.7rem}.dash-shift-icon{font-size:1.5rem;flex-shrink:0}.dash-shift-info{flex:1;min-width:0}.dash-shift-title{font-size:.95rem;font-weight:700;color:#111827}.dash-shift-sub{font-size:.75rem;color:#6b7280;margin-top:1px}.dash-shift-elapsed{font-size:1.4rem;font-weight:800;font-variant-numeric:tabular-nums;color:#16a34a;letter-spacing:.04em;flex-shrink:0}.dash-shift-result{margin-top:.65rem;padding:.5rem .8rem;background:#dcfce7;border:1px solid #86efac;border-radius:8px;font-size:.82rem;color:#15803d}.dash-shift-msg{margin-top:.5rem;padding:.45rem .75rem;border-radius:8px;font-size:.8rem}.dash-shift-msg--ok{background:#dcfce7;color:#15803d;border:1px solid #86efac}.dash-shift-msg--warn{background:#fef9c3;color:#854d0e;border:1px solid #fde047}.dash-shift-msg--err{background:#fee2e2;color:#dc2626;border:1px solid #fca5a5}.dash-shift-actions{margin-top:.8rem;display:flex;gap:.6rem}.btn-shift-start{flex:1;padding:11px 20px;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s;letter-spacing:.3px}.btn-shift-start:hover:not(:disabled){background:linear-gradient(135deg,#16a34a,#15803d);transform:translateY(-1px);box-shadow:0 4px 12px #22c55e66}.btn-shift-start:disabled{opacity:.6;cursor:not-allowed}.btn-shift-end{flex:1;padding:11px 20px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s;letter-spacing:.3px}.btn-shift-end:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px);box-shadow:0 4px 12px #ef444466}.btn-shift-end:disabled{opacity:.6;cursor:not-allowed}.dash-search-bar{display:flex;align-items:center;gap:8px;background:#fff;border:2px solid #e0e0e0;border-radius:10px;padding:8px 14px;margin-bottom:16px;transition:border-color .2s,box-shadow .2s}.dash-search-bar:focus-within{border-color:#667eea;box-shadow:0 0 0 3px #667eea1f}.dash-search-icon{font-size:1rem;flex-shrink:0;color:#999}.dash-search-input{flex:1;border:none;outline:none;font-size:.95rem;color:#333;background:transparent;font-family:inherit}.dash-search-input::placeholder{color:#bbb}.dash-search-clear{background:none;border:none;color:#aaa;cursor:pointer;font-size:.9rem;padding:2px 4px;border-radius:4px;transition:color .15s,background .15s;flex-shrink:0}.dash-search-clear:hover{color:#555;background:#f0f0f0}.onboarding-card{background:#fff;border-radius:14px;box-shadow:0 2px 12px #667eea1f;border:2px solid #e8eaff;padding:20px 24px;margin-bottom:24px;animation:trial-banner-in .4s ease-out}.onboarding-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.onboarding-title{margin:0 0 4px;font-size:1.05rem;font-weight:700;color:#1e1b4b}.onboarding-subtitle{margin:0;font-size:.85rem;color:#666}.onboarding-dismiss{background:none;border:none;color:#aaa;cursor:pointer;font-size:1rem;padding:4px 8px;border-radius:6px;transition:color .15s,background .15s;flex-shrink:0}.onboarding-dismiss:hover{color:#555;background:#f0f0f0}.onboarding-steps{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.onboarding-step{display:flex;align-items:center;gap:10px;width:100%;background:#f8f9ff;border:1px solid #e8eaff;border-radius:8px;padding:10px 14px;cursor:pointer;text-align:left;font-size:.92rem;font-weight:500;color:#333;transition:all .18s}.onboarding-step:hover{background:#eef0ff;border-color:#667eea;transform:translate(2px)}.onboarding-step--done{background:#f0fdf4;border-color:#bbf7d0;color:#166534;cursor:default}.onboarding-step--done:hover{transform:none;background:#f0fdf4;border-color:#bbf7d0}.onboarding-step-check{font-size:1rem;flex-shrink:0}.onboarding-step-label{flex:1}.onboarding-step-arrow{color:#667eea;font-size:.9rem;flex-shrink:0}.onboarding-progress{height:6px;background:#e8eaff;border-radius:3px;overflow:hidden;margin-bottom:6px}.onboarding-progress-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:3px;transition:width .4s ease}.onboarding-progress-label{margin:0;font-size:.78rem;color:#888;text-align:right}@media (max-width: 768px){.onboarding-card{padding:16px}}.trial-banner{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#78350f,#92400e);border:1px solid #f59e0b;border-left:5px solid #f59e0b;border-radius:10px;padding:14px 18px;margin-bottom:20px;animation:trial-banner-in .4s ease-out}.trial-banner--urgent{background:linear-gradient(135deg,#7f1d1d,#991b1b);border-color:#ef4444;border-left-color:#ef4444}.trial-banner--expired{background:linear-gradient(135deg,#1e1b4b,#312e81);border-color:#6366f1;border-left-color:#6366f1}@keyframes trial-banner-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.trial-banner-icon{font-size:1.3rem;flex-shrink:0}.trial-banner-text{flex:1;font-size:.92rem;font-weight:600;color:#fef3c7;line-height:1.4}.trial-banner--urgent .trial-banner-text,.trial-banner--expired .trial-banner-text{color:#fee2e2}.trial-banner-btn{flex-shrink:0;padding:8px 18px;background:#f59e0b;color:#1c1917;border:none;border-radius:6px;font-size:.88rem;font-weight:700;cursor:pointer;transition:all .2s;white-space:nowrap}.trial-banner-btn:hover{background:#fbbf24;transform:translateY(-1px);box-shadow:0 4px 10px #f59e0b66}.trial-banner--urgent .trial-banner-btn,.trial-banner--expired .trial-banner-btn{background:#ef4444;color:#fff}.trial-banner--urgent .trial-banner-btn:hover,.trial-banner--expired .trial-banner-btn:hover{background:#dc2626;box-shadow:0 4px 10px #ef444466}.trial-banner--expired .trial-banner-btn{background:#6366f1}.trial-banner--expired .trial-banner-btn:hover{background:#4f46e5;box-shadow:0 4px 10px #6366f166}.cancel-banner{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#78350f,#92400e);border:1px solid #b45309;border-radius:10px;padding:14px 18px;margin-bottom:20px;animation:trial-banner-in .4s ease-out}.cancel-banner--warning{background:linear-gradient(135deg,#7c2d12,#9a3412);border-color:#c2410c}.cancel-banner--urgent{background:linear-gradient(135deg,#1e1b4b,#312e81);border-color:#4f46e5}.cancel-banner-icon{font-size:1.3rem;flex-shrink:0}.cancel-banner-text{flex:1;font-size:.9rem;color:#fde68a;line-height:1.4}.cancel-banner--warning .cancel-banner-text{color:#fed7aa}.cancel-banner--urgent .cancel-banner-text{color:#e0e7ff}.cancel-banner-btn{flex-shrink:0;background:#f59e0b;color:#1c1917;border:none;border-radius:6px;padding:8px 16px;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .2s;white-space:nowrap}.cancel-banner-btn:hover{background:#fbbf24}.cancel-banner--warning .cancel-banner-btn{background:#ef4444;color:#fff}.cancel-banner--warning .cancel-banner-btn:hover{background:#dc2626}.cancel-banner--urgent .cancel-banner-btn{background:#6366f1;color:#fff}.cancel-banner--urgent .cancel-banner-btn:hover{background:#4f46e5}@media (max-width: 600px){.trial-banner,.cancel-banner,.suspend-banner{flex-wrap:wrap;gap:10px}.trial-banner-btn,.cancel-banner-btn,.suspend-banner-btn{width:100%;text-align:center;padding:10px}}.suspend-banner{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#1c3a2a,#14532d);border:1px solid #16a34a;border-left:5px solid #16a34a;border-radius:10px;padding:14px 18px;margin-bottom:20px;animation:trial-banner-in .4s ease-out}.suspend-banner--warning{background:linear-gradient(135deg,#78350f,#92400e);border-color:#f59e0b;border-left-color:#f59e0b}.suspend-banner--urgent{background:linear-gradient(135deg,#7f1d1d,#991b1b);border-color:#ef4444;border-left-color:#ef4444}.suspend-banner-icon{font-size:1.3rem;flex-shrink:0}.suspend-banner-text{flex:1;font-size:.9rem;font-weight:600;color:#bbf7d0;line-height:1.4}.suspend-banner--warning .suspend-banner-text{color:#fde68a}.suspend-banner--urgent .suspend-banner-text{color:#fee2e2}.suspend-banner-btn{flex-shrink:0;padding:8px 16px;background:#16a34a;color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block;transition:all .2s;white-space:nowrap}.suspend-banner-btn:hover{background:#15803d;transform:translateY(-1px);box-shadow:0 4px 10px #16a34a66}.suspend-banner--warning .suspend-banner-btn{background:#f59e0b;color:#1c1917}.suspend-banner--warning .suspend-banner-btn:hover{background:#d97706;box-shadow:0 4px 10px #f59e0b66}.suspend-banner--urgent .suspend-banner-btn{background:#ef4444;color:#fff}.suspend-banner--urgent .suspend-banner-btn:hover{background:#dc2626;box-shadow:0 4px 10px #ef444466}.tt-widget-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;border:1px solid #e8e8e8;overflow:hidden;margin-bottom:32px}.tt-widget-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:20px 24px 16px;background:linear-gradient(135deg,#1e293b,#334155);border-bottom:3px solid #f59e0b}.tt-widget-title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.tt-widget-title-row h2{margin:0;font-size:1.15rem;font-weight:700;color:#fff}.tt-widget-title-right{display:flex;align-items:center;gap:10px}.tt-widget-header-total{background:linear-gradient(135deg,#f97316,#fb923c);color:#fff;font-size:.82rem;font-weight:700;padding:3px 10px;border-radius:20px;white-space:nowrap}.tt-widget-date{font-size:.82rem;color:#94a3b8;background:#ffffff14;padding:3px 10px;border-radius:20px}.tt-widget-actions{display:flex;gap:10px;flex-wrap:wrap}.btn-tt-log{padding:8px 16px;background:#f59e0b;color:#1e293b;border:none;border-radius:6px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s}.btn-tt-log:hover{background:#d97706;transform:translateY(-1px);box-shadow:0 4px 8px #f59e0b59}.btn-tt-full{padding:8px 16px;background:transparent;color:#94a3b8;border:1px solid #475569;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.btn-tt-full:hover{background:#ffffff14;color:#fff;border-color:#94a3b8}.tt-widget-form{padding:20px 24px;border-bottom:1px solid #f0f0f0;background:#f8fafc;display:flex;flex-direction:column;gap:14px}.tt-widget-form-row{display:flex;gap:14px;flex-wrap:wrap}.tt-widget-field{display:flex;flex-direction:column;gap:6px;flex:1;min-width:140px}.tt-widget-field-sm{flex:0 0 110px;min-width:90px}.tt-widget-field-wide{flex:2;min-width:180px}.tt-widget-field label{font-size:.78rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.tt-widget-field input,.tt-widget-field select{padding:9px 12px;border:1.5px solid #e2e8f0;border-radius:7px;font-size:.9rem;background:#fff;color:#1e293b;transition:border-color .2s,box-shadow .2s;font-family:inherit}.tt-widget-field input:focus,.tt-widget-field select:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1f}.tt-widget-form-actions{display:flex;justify-content:flex-end}.btn-tt-save{padding:10px 28px;background:#f59e0b;color:#1e293b;border:none;border-radius:7px;font-size:.95rem;font-weight:700;cursor:pointer;transition:all .2s}.btn-tt-save:hover:not(:disabled){background:#d97706;transform:translateY(-1px);box-shadow:0 4px 10px #f59e0b59}.btn-tt-save:disabled{opacity:.6;cursor:not-allowed}.tt-widget-loading{padding:24px;text-align:center;color:#94a3b8;font-size:.9rem}.tt-widget-empty{padding:28px 24px;text-align:center;color:#94a3b8;font-size:.9rem;font-style:italic}.tt-widget-summary-bar{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;background:#f8fafc;border-bottom:1px solid #f0f0f0}.tt-widget-count{font-size:.82rem;color:#64748b;font-weight:500}.tt-widget-total{font-size:.9rem;color:#334155}.tt-widget-total strong{color:#f59e0b;font-size:1rem}.tt-widget-entries{display:flex;flex-direction:column}.tt-widget-entry{display:flex;align-items:center;gap:16px;padding:10px 24px;border-bottom:1px solid #f0f0f0;transition:background .15s}.tt-widget-entry:last-child{border-bottom:none}.tt-widget-entry:hover{background:#f8fafc}.tt-widget-entry-hours{display:flex;align-items:baseline;gap:3px;font-size:1.1rem;font-weight:700;color:#1e293b;min-width:72px;flex-shrink:0;margin-left:auto;text-align:right;background:#f1f5f9;border-radius:6px;padding:4px 10px;justify-content:center}.tt-widget-entry-hours span{font-size:.68rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.tt-widget-entry-info{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.tt-widget-entry-name-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.tt-widget-entry-name{font-size:.95rem;font-weight:600;color:#1e293b}.tt-widget-entry-jobsite{font-size:.82rem;font-weight:500;color:#64748b}.tt-widget-entry-meta{font-size:.8rem;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 768px){.tt-widget-header{padding:16px;flex-direction:column;align-items:flex-start}.tt-widget-actions{width:100%}.btn-tt-log,.btn-tt-full{flex:1;text-align:center;justify-content:center}.tt-widget-form{padding:16px}.tt-widget-form-row{flex-direction:column;gap:10px}.tt-widget-field,.tt-widget-field-sm,.tt-widget-field-wide{flex:unset;width:100%;min-width:unset}.tt-widget-entry{padding:12px 16px}.tt-widget-summary-bar{padding:10px 16px}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:modal-fade-in .2s ease-out}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-slide-up{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-card{position:relative;background:#fff;border-radius:16px;max-width:420px;width:90%;box-shadow:0 4px 6px -1px #00000012,0 20px 40px -8px #0000002e;animation:modal-slide-up .25s ease-out;overflow:hidden;border-top:4px solid transparent}.modal-card--warning{border-top-color:#f59e0b}.modal-card--danger{border-top-color:#ef4444}.modal-card--info{border-top-color:#3b82f6}.modal-body{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2rem 2rem 1.25rem;gap:.75rem}.modal-icon-wrap{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;flex-shrink:0}.modal-icon-wrap svg{width:26px;height:26px}.modal-icon-wrap--warning{background:#fef3c7;color:#d97706}.modal-icon-wrap--danger{background:#fee2e2;color:#dc2626}.modal-icon-wrap--info{background:#dbeafe;color:#2563eb}.modal-title{margin:0;color:#111827;font-size:1.125rem;font-weight:700;line-height:1.4}.modal-message{margin:0;color:#6b7280;font-size:.9rem;line-height:1.6;white-space:pre-line}.modal-actions{display:flex;flex-direction:row;gap:.75rem;padding:0 2rem 1.75rem}.modal-btn{flex:1;padding:.65rem 1rem;font-size:.9375rem;font-weight:600;border-radius:8px;border:none;cursor:pointer;transition:background .15s ease,box-shadow .15s ease,transform .1s ease;line-height:1.5}.modal-btn:active{transform:scale(.98)}.modal-btn--cancel{background:#f3f4f6;color:#374151;border:1px solid #e5e7eb}.modal-btn--cancel:hover{background:#e5e7eb}.modal-btn--confirm.modal-btn--warning{background:#f59e0b;color:#fff;box-shadow:0 2px 8px #f59e0b59}.modal-btn--confirm.modal-btn--warning:hover{background:#d97706;box-shadow:0 4px 12px #f59e0b73}.modal-btn--confirm.modal-btn--danger{background:#ef4444;color:#fff;box-shadow:0 2px 8px #ef444459}.modal-btn--confirm.modal-btn--danger:hover{background:#dc2626;box-shadow:0 4px 12px #ef444473}.modal-btn--confirm.modal-btn--info{background:#3b82f6;color:#fff;box-shadow:0 2px 8px #3b82f659}.modal-btn--confirm.modal-btn--info:hover{background:#2563eb;box-shadow:0 4px 12px #3b82f673}@media (max-width: 480px){.modal-body{padding:1.5rem 1.5rem 1rem}.modal-actions{flex-direction:column-reverse;padding:0 1.5rem 1.5rem}.modal-title{font-size:1rem}.modal-message{font-size:.875rem}}.jobsites-container{max-width:1600px;margin:0 auto;padding:80px 20px 20px}.jobsites-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;position:relative;min-height:50px}.header-nav-buttons{display:flex;gap:12px;flex:1}.header-title-center{position:absolute;left:50%;transform:translate(-50%);margin:0;color:#1a1a1a;font-size:2rem;font-weight:700;white-space:nowrap}.header-actions{display:flex;align-items:center;gap:12px;flex:1;justify-content:flex-end}.btn-toggle{background:#f0f0f0;border:2px solid #ddd;color:#555;padding:10px 16px;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.btn-toggle:hover{background:#e8e8e8;border-color:#ccc}.btn-toggle.active{background:#667eea;border-color:#667eea;color:#fff}.btn-toggle.active:hover{background:#5a6fd6;border-color:#5a6fd6}.btn-nav{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-secondary{background:#6c757d;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#5a6268}.btn-icon{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:4px 8px;transition:transform .2s}.btn-icon:hover{transform:scale(1.2)}.loading{text-align:center;padding:40px;font-size:1.2rem;color:#666}.jobsite-form-card{background:#fff;border-radius:12px;padding:24px;margin-bottom:30px;box-shadow:0 2px 8px #0000001a}.jobsite-form-card h2{margin:0 0 20px;color:#1a1a1a}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#333}.form-group input,.form-group textarea,.form-group select{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .2s;color:#000;background:#fff}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#667eea}.form-row-two{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.form-actions{display:flex;gap:12px;margin-top:24px}.jobsites-section{margin-bottom:48px}.jobsites-section.archived-section{margin-top:48px;padding-top:32px;border-top:2px solid #e0e0e0}.section-title{font-size:1.5rem;color:#333;margin:0 0 24px;font-weight:700;display:flex;align-items:center;gap:12px}.jobsites-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.jobsite-card{background:#fff;border-radius:12px;padding:0;box-shadow:0 2px 8px #0000001a;transition:transform .2s,box-shadow .2s;overflow:hidden;border:1px solid #e8e8e8}.jobsite-card:hover{transform:translateY(-4px);box-shadow:0 6px 20px #0000001f;border-color:#667eea}.jobsite-card.archived{background:#f8f8f8;border:2px solid #e0e0e0;opacity:.85}.jobsite-card.archived:hover{opacity:1}.archived-badge{display:inline-block;background:#dc3545;color:#fff;font-size:.7rem;font-weight:600;padding:3px 8px;border-radius:12px;margin-left:8px;text-transform:uppercase;letter-spacing:.5px}.btn-icon.restore{color:#28a745}.btn-icon.restore:hover{color:#218838}.btn-icon.delete-permanent{color:#dc3545}.btn-icon.delete-permanent:hover{color:#c82333;transform:scale(1.3)}.jobsite-header-title{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.jobsite-header{display:flex;justify-content:space-between;align-items:center;padding:20px;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:3px solid #5a6fd6}.jobsite-header h3{margin:0;color:#fff;font-size:1.4rem;font-weight:700;flex:1;letter-spacing:.3px}.jobsite-actions{display:flex;gap:8px}.jobsite-actions .btn-icon{background:#fff3;border-radius:6px;padding:6px 10px;font-size:1.1rem;transition:all .2s}.jobsite-actions .btn-icon:hover{background:#ffffff4d;transform:scale(1.1)}.jobsite-info{padding:20px;display:flex;flex-direction:column;gap:16px}.info-row{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px solid #f0f0f0}.info-row:last-child{border-bottom:none;padding-bottom:0}.info-label{font-size:.75rem;font-weight:700;color:#888;text-transform:uppercase;letter-spacing:1px}.info-value{font-size:1rem;font-weight:500;color:#333;text-align:right;max-width:60%;word-break:break-word}.address-link{color:#667eea;text-decoration:none;font-weight:500;word-break:break-word;transition:color .2s}.address-link:hover{color:#764ba2;text-decoration:underline}.info-value.address-link{text-align:right;max-width:60%}.info-value--phone{display:inline-flex;align-items:center;gap:5px;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff!important;text-decoration:none!important;font-size:.82rem;font-weight:600;padding:4px 10px;border-radius:20px;box-shadow:0 2px 6px #16a34a4d;transition:transform .15s,box-shadow .15s;white-space:nowrap;max-width:none}.info-value--phone:hover{background:linear-gradient(135deg,#16a34a,#15803d);box-shadow:0 4px 10px #16a34a66;transform:translateY(-1px);color:#fff!important;text-decoration:none!important}.info-value--phone:active{transform:translateY(0);box-shadow:0 1px 4px #16a34a4d}.status-badge{display:inline-block;padding:6px 14px;border-radius:20px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.active{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;box-shadow:0 2px 8px #28a7454d}.jobsite-detail{display:flex;gap:8px;margin-bottom:12px;color:#555}.jobsite-detail .label{font-weight:600;min-width:80px}.jobsite-footer{margin-top:16px;padding-top:16px;border-top:1px solid #e0e0e0;font-size:.9rem;color:#888}.empty-state{text-align:center;padding:60px 20px;color:#666}.empty-state p{margin:8px 0;font-size:1.1rem}.jobsites-search-bar{display:flex;align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:10px;padding:10px 16px;margin-bottom:28px;box-shadow:0 1px 4px #0000000f;transition:border-color .2s,box-shadow .2s;gap:10px}.jobsites-search-bar:focus-within{border-color:#667eea;box-shadow:0 0 0 3px #667eea26}.jobsites-search-icon{font-size:1.1rem;flex-shrink:0;line-height:1}.jobsites-search-input{flex:1;border:none;outline:none;font-size:1rem;color:#333;background:transparent;min-width:0}.jobsites-search-input::placeholder{color:#aaa}.jobsites-search-clear{background:none;border:none;color:#aaa;font-size:.95rem;cursor:pointer;padding:2px 6px;border-radius:50%;line-height:1;flex-shrink:0;transition:color .2s,background .2s}.jobsites-search-clear:hover{color:#555;background:#f0f0f0}.bottom-nav-buttons{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:2px solid #e0e0e0;padding:16px 20px;display:flex;gap:12px;justify-content:center;box-shadow:0 -2px 10px #0000001a;z-index:100}@media (max-width: 768px){.jobsites-container{padding-top:100px;padding-bottom:80px}.jobsites-header{flex-direction:column;gap:16px;align-items:stretch;position:static}.header-nav-buttons{order:1}.header-title-center{position:static;transform:none;order:2;text-align:center;font-size:1.5rem}.header-actions{order:3}.jobsites-grid,.form-row-two{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}.info-value a{color:inherit;text-decoration:none}.info-value a:hover{text-decoration:underline;color:#e8620a}.sr-tab{display:flex;flex-direction:column;gap:16px}.sr-loading{padding:32px;text-align:center;color:#9ca3af}.sr-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.sr-title{font-size:1.05rem;font-weight:700;color:#1a1a2e;margin:0 0 2px}.sr-subtitle{font-size:.82rem;color:#9ca3af;margin:0}.sr-btn-primary{background:#6366f1;color:#fff;border:none;border-radius:8px;padding:8px 16px;font-size:.85rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s}.sr-btn-primary:hover{background:#4f46e5}.sr-btn-primary:disabled{opacity:.6;cursor:not-allowed}.sr-btn-cancel{background:#f3f4f6;color:#374151;border:1px solid #e5e7eb;border-radius:8px;padding:8px 16px;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s}.sr-btn-cancel:hover{background:#e5e7eb}.sr-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:10px 14px;font-size:.85rem;color:#dc2626}.sr-form{background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:12px}.sr-form-title{font-size:.95rem;font-weight:700;color:#374151}.sr-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.sr-field{display:flex;flex-direction:column;gap:4px}.sr-field-full{grid-column:1 / -1}.sr-field label{font-size:.78rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.4px}.sr-field input,.sr-field select,.sr-field textarea{border:1px solid #d1d5db;border-radius:8px;padding:8px 10px;font-size:.9rem;color:#1a1a2e;background:#fff;transition:border-color .15s;resize:vertical}.sr-field input:focus,.sr-field select:focus,.sr-field textarea:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.sr-form-actions{display:flex;gap:10px;justify-content:flex-end}.sr-list{display:flex;flex-direction:column;gap:8px}.sr-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;transition:box-shadow .15s}.sr-card:hover{box-shadow:0 2px 8px #00000014}.sr-card-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;cursor:pointer;gap:8px}.sr-card-left{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.sr-card-date{font-size:.9rem;font-weight:700;color:#1a1a2e}.sr-card-chips{display:flex;gap:6px;flex-wrap:wrap}.sr-chip{font-size:.75rem;color:#6b7280;background:#f3f4f6;padding:2px 8px;border-radius:999px}.sr-card-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.sr-submitter{font-size:.78rem;color:#9ca3af}.sr-card-actions{display:flex;gap:4px}.sr-btn-icon{background:none;border:none;cursor:pointer;font-size:.9rem;padding:4px;border-radius:6px;transition:background .15s}.sr-btn-icon:hover{background:#f3f4f6}.sr-btn-delete:hover{background:#fef2f2}.sr-chevron{font-size:.7rem;color:#9ca3af}.sr-card-body{padding:0 14px 14px;border-top:1px solid #f3f4f6;display:flex;flex-direction:column;gap:10px}.sr-section{display:flex;flex-direction:column;gap:3px}.sr-issues{background:#fffbeb;border-radius:6px;padding:8px 10px}.sr-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:#9ca3af}.sr-text{font-size:.88rem;color:#374151;margin:0;white-space:pre-wrap;line-height:1.5}.sr-muted{color:#9ca3af;font-style:italic}.sr-empty{text-align:center;padding:40px 20px;color:#9ca3af}.sr-empty-icon{font-size:2.5rem;margin-bottom:8px}.sr-empty p{margin:4px 0;font-size:.9rem}@media (max-width: 500px){.sr-form-grid{grid-template-columns:1fr}}.pl-tab{display:flex;flex-direction:column;gap:14px}.pl-loading{padding:32px;text-align:center;color:#9ca3af}.pl-header{display:flex;align-items:flex-start;justify-content:space-between}.pl-title{font-size:1.05rem;font-weight:700;color:#1a1a2e;margin:0 0 2px}.pl-subtitle{font-size:.82rem;color:#9ca3af;margin:0}.pl-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:10px 14px;font-size:.85rem;color:#dc2626}.pl-progress-wrap{display:flex;align-items:center;gap:10px}.pl-progress-track{flex:1;height:8px;background:#e5e7eb;border-radius:999px;overflow:hidden}.pl-progress-fill{height:100%;background:linear-gradient(90deg,#10b981,#059669);border-radius:999px;transition:width .4s ease}.pl-progress-pct{font-size:.82rem;font-weight:700;color:#059669;white-space:nowrap}.pl-add-form{display:flex;gap:8px}.pl-add-input{flex:1;border:1px solid #d1d5db;border-radius:8px;padding:9px 12px;font-size:.9rem;color:#1a1a2e;transition:border-color .15s}.pl-add-input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.pl-add-btn{background:#6366f1;color:#fff;border:none;border-radius:8px;padding:9px 16px;font-size:.85rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s}.pl-add-btn:hover:not(:disabled){background:#4f46e5}.pl-add-btn:disabled{opacity:.5;cursor:not-allowed}.pl-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.pl-item{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:10px 12px;transition:box-shadow .15s}.pl-item:hover{box-shadow:0 2px 6px #0000000f}.pl-item-done{opacity:.65;background:#f9fafb}.pl-checkbox{width:22px;height:22px;border-radius:6px;border:2px solid #d1d5db;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;color:#fff;flex-shrink:0;transition:all .15s}.pl-checkbox-checked{background:#10b981;border-color:#10b981}.pl-checkbox:hover:not(.pl-checkbox-checked){border-color:#6366f1}.pl-item-title{flex:1;font-size:.9rem;color:#1a1a2e;cursor:default;min-width:0;word-break:break-word}.pl-item-done .pl-item-title{text-decoration:line-through;color:#9ca3af}.pl-edit-input{flex:1;border:1px solid #6366f1;border-radius:6px;padding:4px 8px;font-size:.9rem;color:#1a1a2e;outline:none;box-shadow:0 0 0 3px #6366f11a}.pl-item-meta{display:flex;align-items:center;gap:6px;flex-shrink:0}.pl-done-by{font-size:.75rem;color:#10b981;white-space:nowrap}.pl-item-actions{display:flex;gap:2px}.pl-btn-icon{background:none;border:none;cursor:pointer;font-size:.85rem;padding:3px;border-radius:5px;transition:background .15s}.pl-btn-icon:hover{background:#f3f4f6}.pl-btn-delete:hover{background:#fef2f2}.pl-empty{text-align:center;padding:40px 20px;color:#9ca3af}.pl-empty-icon{font-size:2.5rem;margin-bottom:8px}.pl-empty p{margin:4px 0;font-size:.9rem}.bst-tab{display:flex;flex-direction:column;gap:24px}.bst-section{display:flex;flex-direction:column;gap:14px}.bst-section-title{font-size:1.05rem;font-weight:700;color:#1a1a2e;margin:0}.bst-budget-form{display:flex;flex-direction:column;gap:8px}.bst-field{display:flex;flex-direction:column;gap:4px}.bst-field label{font-size:.78rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.4px}.bst-input-row{display:flex;gap:8px}.bst-input-row input{flex:1;border:1px solid #d1d5db;border-radius:8px;padding:9px 12px;font-size:.9rem;color:#1a1a2e;transition:border-color .15s}.bst-input-row input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.bst-btn-save{background:#6366f1;color:#fff;border:none;border-radius:8px;padding:9px 18px;font-size:.85rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s}.bst-btn-save:hover:not(:disabled){background:#4f46e5}.bst-btn-save:disabled{opacity:.6;cursor:not-allowed}.bst-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:8px 12px;font-size:.85rem;color:#dc2626}.bst-success{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:8px 12px;font-size:.85rem;color:#15803d}.bst-budget-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px 18px;display:flex;flex-direction:column;gap:10px}.bst-budget-row{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;color:#374151}.bst-budget-row strong{font-weight:700}.bst-over{color:#dc2626}.bst-unpaid{color:#d97706}.bst-remaining{color:#059669}.bst-bar-wrap{display:flex;align-items:center;gap:10px}.bst-bar-track{flex:1;height:8px;background:#e5e7eb;border-radius:999px;overflow:hidden}.bst-bar-fill{height:100%;background:#10b981;border-radius:999px;transition:width .4s ease}.bst-bar-fill.bst-bar-warn{background:#f59e0b}.bst-bar-fill.bst-bar-over{background:#ef4444}.bst-bar-pct{font-size:.78rem;font-weight:600;color:#6b7280;white-space:nowrap}.bst-over-warn{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:8px 12px;font-size:.85rem;color:#dc2626;font-weight:600}.bst-no-budget{background:#f9fafb;border:1px dashed #d1d5db;border-radius:10px;padding:16px;font-size:.88rem;color:#9ca3af;text-align:center}.bst-share-desc{font-size:.88rem;color:#6b7280;margin:0;line-height:1.5}.bst-btn-generate{background:#6366f1;color:#fff;border:none;border-radius:10px;padding:12px 20px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s;align-self:flex-start}.bst-btn-generate:hover:not(:disabled){background:#4f46e5}.bst-btn-generate:disabled{opacity:.6;cursor:not-allowed}.bst-share-active{display:flex;flex-direction:column;gap:10px}.bst-share-url-row{display:flex;gap:8px}.bst-share-url-input{flex:1;border:1px solid #d1d5db;border-radius:8px;padding:9px 12px;font-size:.82rem;color:#374151;background:#f9fafb;font-family:monospace;cursor:text}.bst-btn-copy{background:#10b981;color:#fff;border:none;border-radius:8px;padding:9px 16px;font-size:.85rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s;min-width:80px}.bst-btn-copy:hover{background:#059669}.bst-share-actions{display:flex;gap:10px;align-items:center}.bst-btn-preview{color:#6366f1;font-size:.85rem;font-weight:600;text-decoration:none;padding:6px 12px;border:1px solid #6366f1;border-radius:8px;transition:all .15s}.bst-btn-preview:hover{background:#6366f1;color:#fff}.bst-btn-revoke{background:none;color:#dc2626;border:1px solid #fecaca;border-radius:8px;padding:6px 12px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s}.bst-btn-revoke:hover:not(:disabled){background:#fef2f2}.bst-btn-revoke:disabled{opacity:.5;cursor:not-allowed}.bst-btn-toggle-perms{background:none;color:#6366f1;border:1px solid #c7d2fe;border-radius:8px;padding:6px 12px;font-size:.85rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s}.bst-btn-toggle-perms:hover{background:#eef2ff}.bst-btn-save-perms{background:#6366f1;color:#fff;border:none;border-radius:8px;padding:8px 16px;font-size:.85rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s;align-self:flex-start}.bst-btn-save-perms:hover:not(:disabled){background:#4f46e5}.bst-btn-save-perms:disabled{opacity:.6;cursor:not-allowed}.bst-btn-cancel-perms{background:none;color:#6b7280;border:1px solid #d1d5db;border-radius:8px;padding:8px 14px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s}.bst-btn-cancel-perms:hover{background:#f3f4f6}.bst-generate-row{display:flex;gap:10px;align-items:center;margin-top:4px}.bst-success--perms{margin-top:2px}.bst-permissions-panel{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:12px}.bst-permissions-list{display:flex;flex-direction:column;gap:6px}.bst-perm-row{display:flex;align-items:center;gap:10px;cursor:pointer;padding:6px 8px;border-radius:8px;transition:background .12s;-webkit-user-select:none;user-select:none}.bst-perm-row:hover{background:#f0f0ff}.bst-perm-checkbox{width:17px;height:17px;cursor:pointer;accent-color:#6366f1;flex-shrink:0}.bst-perm-icon{font-size:1rem;flex-shrink:0}.bst-perm-label{font-size:.9rem;color:#374151;font-weight:500}.jobsite-details-container{max-width:1600px;margin:0 auto;padding:120px 20px 20px}.jobsite-details-header{position:fixed;top:0;left:0;right:0;z-index:100;background:#fff;border-bottom:1px solid #e0e0e0;padding:16px 24px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;box-shadow:0 2px 4px #0000000d}.header-nav-buttons{display:flex;gap:8px;order:1}.header-title-center{margin:0;color:#1a1a1a;font-size:1.5rem;font-weight:700;text-align:center;position:absolute;left:50%;transform:translate(-50%);order:2}.header-actions{display:flex;gap:8px;order:3;margin-left:auto}.btn-nav{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:8px 16px;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.btn-nav:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.btn-delete-jobsite-header{background:#dc3545;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.btn-delete-jobsite-header:hover{background:#c82333;transform:translateY(-1px);box-shadow:0 4px 12px #dc35454d}.jobsite-info-card{background:#fff;border-radius:12px;padding:24px;margin-bottom:32px;box-shadow:0 2px 8px #0000001a}.info-card-header{display:flex;justify-content:flex-end;margin-bottom:12px;min-height:32px}.btn-edit-jobsite-info{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:6px 14px;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.btn-copy-link{padding:8px 16px;background:#f0f4ff;color:#667eea;border:1.5px solid #c7d2fe;border-radius:8px;font-size:.88rem;font-weight:600;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:6px}.btn-copy-link:hover{background:#667eea;color:#fff;border-color:#667eea;transform:translateY(-1px);box-shadow:0 4px 10px #667eea4d}.btn-copy-link--copied{background:#f0fdf4;color:#16a34a;border-color:#bbf7d0}.btn-copy-link--copied:hover{background:#16a34a;color:#fff;border-color:#16a34a;box-shadow:0 4px 10px #16a34a4d}.btn-geocode{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff;border:none;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-right:10px}.btn-geocode:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #0ea5e966}.btn-geocode:disabled{opacity:.5;cursor:not-allowed}.geocode-msg{font-size:.82rem;font-weight:500;vertical-align:middle}.geocode-msg--ok{color:#16a34a}.geocode-msg--error{color:#dc2626}.geocode-msg--loading{color:#6b7280}.btn-edit-jobsite-info:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.jobsite-edit-row-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.jobsite-edit-form{display:flex;flex-direction:column;gap:4px}.jobsite-edit-title{margin:0 0 16px;font-size:1.1rem;color:#333;font-weight:700}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px}.info-item{display:flex;flex-direction:column;gap:8px}.info-item label{font-size:.9rem;color:#666;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.info-item span{font-size:1.1rem;color:#333;font-weight:500}.info-item .address-link{font-size:1.1rem;font-weight:500;color:#667eea;text-decoration:none;word-break:break-word;transition:color .2s}.info-item .address-link:hover{color:#764ba2;text-decoration:underline}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;margin-top:32px}.section-header--wrap{flex-direction:column;align-items:stretch;gap:6px}.section-header-top{display:flex;justify-content:space-between;align-items:center;width:100%}.section-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.btn-minimize{background:#f0f0f0;color:#555;border:1px solid #d0d0d0;padding:5px 12px;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap}.btn-minimize:hover{background:#e0e0e0;color:#333}.section-header h2{margin:0;font-size:1.5rem;color:#333;display:flex;align-items:center;gap:12px}.section-minimized-hint{font-size:.78rem;font-weight:600;color:#667eea;background:#eef0ff;border-radius:12px;padding:2px 9px;margin-left:6px}.count-badge{background:#e0e0e0;color:#666;font-size:.9rem;padding:2px 8px;border-radius:12px;font-weight:600}.total-amount{margin-left:1rem;font-size:1rem;color:#2c3e50;background-color:#e8f4f8;padding:.25rem .75rem;border-radius:1rem;font-weight:600}.receipt-breakdown{display:flex;flex-wrap:wrap;gap:8px;margin-left:0;align-items:center}.section-header--wrap>.receipt-breakdown{padding-left:2px;padding-bottom:4px}.breakdown-total,.breakdown-subtotal,.breakdown-hst{font-size:.85rem;padding:4px 10px;border-radius:12px;font-weight:500}.breakdown-total{background:#e3f2fd;color:#1976d2}.breakdown-subtotal{background:#e8f5e9;color:#388e3c}.breakdown-hst{background:#fff3e0;color:#f57c00}.breakdown-petty-cash{font-size:.85rem;padding:4px 10px;border-radius:12px;font-weight:500}.breakdown-petty-cash.unpaid{background:#ffebee;color:#c62828}.breakdown-petty-cash.paid{background:#e8f5e9;color:#2e7d32}.breakdown-unpaid{background:#ffebee;color:#c62828;font-size:.85rem;padding:4px 10px;border-radius:12px;font-weight:500}.breakdown-paid{background:#e8f5e9;color:#2e7d32;font-size:.85rem;padding:4px 10px;border-radius:12px;font-weight:500}.petty-cash-section{margin-top:32px;padding-top:24px;border-top:2px dashed #e0e0e0}.petty-cash-card{border:2px solid #f3e5f5}.petty-cash-card:hover{border-color:#7b1fa2}.btn-reimburse{border:none;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s;margin-top:4px}.btn-reimburse.unreimbursed{background:#ffebee;color:#c62828}.btn-reimburse.unreimbursed:hover{background:#ffcdd2;transform:scale(1.05)}.btn-reimburse.reimbursed{background:#e8f5e9;color:#2e7d32}.btn-reimburse.reimbursed:hover{background:#c8e6c9;transform:scale(1.05)}.reimburse-status{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600;margin-top:4px}.reimburse-status.unpaid{background:#fff3e0;color:#e65100}.reimburse-status.paid{background:#e8f5e9;color:#2e7d32}.section-separator{display:flex;align-items:center;gap:16px;margin:48px 0 32px}.separator-line{flex:1;height:2px;background:linear-gradient(to right,transparent,#c7d2fe,transparent)}.separator-text{font-size:1rem;font-weight:700;color:#fff;padding:7px 18px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;border:none;white-space:nowrap;box-shadow:0 2px 8px #667eea4d;letter-spacing:.2px}.documents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}.document-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a;cursor:pointer;transition:transform .2s,box-shadow .2s}.document-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px #00000026}.document-preview{height:160px;background:#f5f5f5;display:flex;align-items:center;justify-content:center;overflow:hidden}.document-preview img{width:100%;height:100%;object-fit:cover}.document-preview.placeholder{font-size:3rem;color:#ccc}.document-info{padding:16px}.document-info h3{margin:0 0 8px;font-size:1rem;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.document-meta{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:#666}.po-grid{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.po-card{background:#f8f9fa;border-radius:6px;padding:8px 12px;border:1px solid #e0e0e0;display:flex;align-items:center;gap:12px;min-width:fit-content}.po-header{display:flex;align-items:center;gap:8px}.po-number{font-size:.9rem;color:#333;font-weight:600}.po-budget{font-size:.8rem;font-weight:600;color:#27ae60;background:#e8f5e9;padding:2px 6px;border-radius:4px}.po-desc{margin:0;color:#666;font-size:.8rem}.po-card-header{display:flex;align-items:center;gap:10px;width:100%}.btn-edit-po{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:3px 10px;border-radius:6px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.btn-edit-po:hover{transform:translateY(-1px);box-shadow:0 3px 8px #667eea66}.po-card-editing{width:100%;flex-direction:column;align-items:stretch;padding:16px;background:#f0f2ff;border-color:#9fa8da}.po-edit-form{display:flex;flex-direction:column;gap:0;width:100%}.po-edit-title{font-size:.95rem;font-weight:700;color:#3949ab;margin-bottom:12px}.po-edit-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.po-edit-form .form-group{margin-bottom:12px}.po-edit-form .form-group label{font-size:.8rem;font-weight:600;color:#555;margin-bottom:4px;display:block}.po-edit-form .form-group input{width:100%;padding:7px 10px;border:1px solid #c5cae9;border-radius:6px;font-size:.9rem;background:#fff;box-sizing:border-box}.po-edit-form .form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea26}.po-edit-form .form-actions{margin-top:4px;gap:8px}@media (max-width: 480px){.po-edit-form .form-row{grid-template-columns:1fr}}@media (max-width: 600px){.jobsite-edit-row-two{grid-template-columns:1fr}}.form-card{background:#fff;padding:20px;border-radius:12px;margin-bottom:24px;box-shadow:0 4px 12px #0000001a}.form-card h3{margin-top:0;margin-bottom:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-weight:500;color:#333}.form-group input{width:100%;padding:10px;border:1px solid #ddd;border-radius:6px;font-size:1rem}.form-actions{display:flex;gap:12px;margin-top:20px}.empty-state{text-align:center;padding:40px;background:#f9f9f9;border-radius:12px;color:#888;font-style:italic}.empty-state-small{text-align:center;padding:20px;color:#888;font-style:italic;background:#f9f9f9;border-radius:8px;grid-column:1 / -1}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box}.modal-scroll-wrapper{width:100%;max-width:900px;max-height:90vh;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;border-radius:12px}.modal-content{background:#fff;border-radius:12px;width:100%;position:relative;display:flex;flex-direction:column;padding:20px 20px 40px;box-sizing:border-box}.modal-header-buttons{position:absolute;top:10px;right:10px;display:flex;gap:8px;z-index:100}.modal-edit-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s,transform .2s;display:flex;align-items:center;gap:6px}.modal-edit-btn:hover{background:linear-gradient(135deg,#5a67d8,#6a3d8f);transform:translateY(-1px)}.modal-edit-btn:active{transform:translateY(0)}.modal-delete-btn{background:linear-gradient(135deg,#e53935,#b71c1c);color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s,transform .2s;display:flex;align-items:center;gap:6px}.modal-delete-btn:hover{background:linear-gradient(135deg,#c62828,#7f0000);transform:translateY(-1px)}.modal-delete-btn:active{transform:translateY(0)}.modal-save-btn{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s,transform .2s;display:flex;align-items:center;gap:6px}.modal-save-btn:hover{background:linear-gradient(135deg,#16a34a,#15803d);transform:translateY(-1px)}.modal-save-btn:active{transform:translateY(0)}.modal-close-btn{background:#dc3545;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s,transform .2s}.modal-close-btn:hover{background:#c82333;transform:translateY(-1px)}.modal-close-btn:active{transform:translateY(0)}.modal-image{width:100%;height:auto;max-height:220px;object-fit:contain;background:#f5f5f5;flex-shrink:0;display:block;margin:0;border-radius:8px;cursor:pointer}.modal-image--editing{max-height:140px}.modal-details{padding:20px;width:100%;display:flex;flex-direction:column;background:#f8f9fa;border-radius:12px;position:relative;max-width:100%;border:1px solid #e0e0e0;margin-top:16px}.modal-details h2{margin:0 0 20px;color:#1a1a1a;font-size:1.25rem;font-weight:700}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;position:relative;z-index:102}.modal-header h2{margin:0}.btn-edit{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;display:flex;align-items:center;gap:6px;position:relative;z-index:101}.btn-edit:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-edit:active{transform:translateY(0)}.detail-row{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #f0f0f0}.detail-row:last-child{border-bottom:none}.detail-label{font-size:.75rem;color:#888;text-transform:uppercase;letter-spacing:.8px;margin-bottom:6px;font-weight:600}.detail-value{font-size:1rem;color:#1a1a1a;font-weight:500}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:transform .2s}.btn-primary:hover{transform:translateY(-1px)}.btn-sm{padding:6px 12px;font-size:.85rem}.btn-secondary{background:#e0e0e0;color:#333;border:none;padding:8px 16px;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer}.btn-secondary:hover{background:#d0d0d0}.error-message{background:#fee;color:#c33;padding:12px;border-radius:8px;margin-bottom:20px;border-left:4px solid #c33}.loading{text-align:center;padding:40px;color:#666}.image-expanded-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000f2;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px;cursor:zoom-out}.image-expanded-close{position:absolute;top:20px;right:20px;background:#dc3545;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;z-index:2001;box-shadow:0 4px 12px #0000004d}.image-expanded-close:hover{background:#c82333;transform:scale(1.05)}.image-expanded{max-width:95vw;max-height:95vh;object-fit:contain;border-radius:8px;box-shadow:0 8px 32px #00000080;cursor:default}.photo-list{display:flex;flex-direction:column;gap:0;border:1px solid #e0e0e0;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 2px 8px #00000012}.photo-list-item{border-bottom:1px solid #f0f0f0}.photo-list-item:last-child{border-bottom:none}.photo-list-row{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;transition:background .15s;-webkit-user-select:none;user-select:none}.photo-list-row:hover{background:#f8f9ff}.photo-list-row--open{background:#f0f2ff;border-bottom:1px solid #e0e4ff}.photo-list-icon{font-size:1.1rem;flex-shrink:0}.photo-list-name{flex:1;font-size:.95rem;font-weight:600;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-list-meta{display:flex;gap:12px;font-size:.8rem;color:#888;flex-shrink:0}@media (max-width: 520px){.photo-list-meta{display:none}}.photo-list-chevron{font-size:.7rem;color:#aaa;flex-shrink:0;transition:color .15s}.photo-list-row--open .photo-list-chevron{color:#667eea}.photo-list-expanded{background:#fafafa;padding:16px;display:flex;flex-direction:column;align-items:center;gap:12px;border-top:1px solid #eee}.photo-list-img{max-width:100%;max-height:420px;object-fit:contain;border-radius:8px;box-shadow:0 2px 12px #0000001f;cursor:pointer;transition:transform .2s}.photo-list-img:hover{transform:scale(1.01)}.photo-list-no-img{color:#aaa;font-style:italic;font-size:.9rem}.photo-list-details-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:8px 20px;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.photo-list-details-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.photo-gps-badge{display:inline-flex;align-items:center;gap:4px;margin:6px 0 4px;padding:4px 10px;background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7;border-radius:20px;font-size:.78rem;font-weight:500;text-decoration:none;cursor:pointer;transition:background .15s}.photo-gps-badge:hover{background:#c8e6c9;color:#1b5e20}.photo-list-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:4px}.photo-list-delete-btn{background:linear-gradient(135deg,#e53935,#b71c1c);color:#fff;border:none;padding:8px 16px;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.photo-list-delete-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #e5393566}.photo-list-row--petty.photo-list-row--open{background:#f5f0ff;border-bottom:1px solid #e0d4ff}.photo-list-row--petty.photo-list-row--open .photo-list-chevron{color:#7b1fa2}.btn-reimburse--inline,.reimburse-status--inline{flex-shrink:0;margin:0;font-size:.75rem;padding:3px 9px}.receipt-list-pdf-thumb{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 32px;background:#ffebee;border-radius:10px;border:2px dashed #ef9a9a}.document-pdf-thumb{display:flex;flex-direction:column;align-items:center;gap:6px}.document-pdf-icon{font-size:2.5rem}.document-pdf-label{font-size:.75rem;font-weight:700;color:#c62828;background:#ffebee;padding:2px 8px;border-radius:4px;letter-spacing:1px}.modal-pdf-viewer{display:flex;flex-direction:column;gap:0;border-radius:8px;overflow:hidden;background:#f5f5f5;flex-shrink:0}.modal-pdf-header{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#ffebee;border-bottom:1px solid #ffcdd2}.modal-pdf-icon{font-size:1.3rem;flex-shrink:0}.modal-pdf-filename{flex:1;font-size:.9rem;font-weight:600;color:#c62828;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal-pdf-open-btn{background:#c62828;color:#fff;border:none;padding:5px 12px;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .2s;display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.modal-pdf-open-btn:hover{background:#b71c1c}.modal-pdf-iframe{width:100%;height:60vh;border:none;background:#f5f5f5;display:block}.modal-pdf-iframe--editing{height:200px}.drawings-section{margin-top:8px}.drawing-upload-area{background:#f8f9ff;border:2px dashed #c5cae9;border-radius:12px;padding:16px 20px;margin-bottom:24px}.drawing-upload-description-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.drawing-description-input{flex:1;min-width:200px;padding:10px 14px;border:1px solid #ddd;border-radius:8px;font-size:.95rem;background:#fff;color:#333}.drawing-description-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea26}.drawing-description-input:disabled{background:#f5f5f5;color:#999}.btn-upload-drawing{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;-webkit-user-select:none;user-select:none}.btn-upload-drawing:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.btn-upload-drawing.uploading{opacity:.7;cursor:not-allowed;transform:none}.drawing-upload-hint{margin:8px 0 0;font-size:.8rem;color:#888}.drawings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}.drawing-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a;border:2px solid #e8eaf6;transition:transform .2s,box-shadow .2s}.drawing-card:hover{transform:translateY(-3px);box-shadow:0 6px 20px #667eea33;border-color:#9fa8da}.drawing-preview{height:160px;background:#f0f2ff;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer;position:relative}.drawing-preview img{width:100%;height:100%;object-fit:cover;transition:transform .2s}.drawing-preview:hover img{transform:scale(1.04)}.drawing-pdf-thumb{display:flex;flex-direction:column;align-items:center;gap:8px}.drawing-pdf-icon{font-size:3rem}.drawing-pdf-label{font-size:.85rem;font-weight:700;color:#5c6bc0;background:#e8eaf6;padding:3px 10px;border-radius:6px;letter-spacing:1px}.drawing-info{padding:12px 14px}.drawing-name{font-size:.95rem;font-weight:600;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:6px}.drawing-meta{display:flex;flex-direction:column;gap:2px;font-size:.8rem;color:#888;margin-bottom:10px}.drawing-actions{display:flex;gap:8px}.btn-drawing-open{flex:1;background:#e8eaf6;color:#3949ab;border:none;padding:6px 10px;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;text-decoration:none;text-align:center;transition:background .2s;display:inline-flex;align-items:center;justify-content:center;gap:4px}.btn-drawing-open:hover{background:#c5cae9}.btn-drawing-delete{background:#ffebee;color:#c62828;border:none;padding:6px 10px;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .2s;display:inline-flex;align-items:center;gap:4px}.btn-drawing-delete:hover{background:#ffcdd2}.drawing-modal-content{background:#fff;border-radius:12px;max-width:95vw;width:1000px;max-height:92vh;overflow-y:auto;position:relative;display:flex;flex-direction:column;padding:20px;gap:12px}.drawing-modal-title{font-size:1.1rem;font-weight:700;color:#333;padding-top:40px;word-break:break-word}.drawing-modal-image{width:100%;height:auto;max-height:70vh;object-fit:contain;border-radius:8px;background:#f5f5f5}.drawing-modal-iframe{width:100%;height:70vh;border:none;border-radius:8px;background:#f5f5f5}.drawing-modal-meta{display:flex;gap:16px;font-size:.85rem;color:#888;flex-wrap:wrap}.bottom-nav-mobile{display:none}@media (max-width: 768px){.header-nav-buttons{display:none!important;visibility:hidden!important;opacity:0!important;height:0!important;width:0!important;overflow:hidden!important}.header-nav-buttons *{display:none!important}.bottom-nav-mobile{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e0e0e0;padding:12px 16px;display:flex!important;gap:12px;z-index:100;box-shadow:0 -2px 8px #0000001a}.bottom-nav-mobile .btn-nav{flex:1;justify-content:center;padding:12px 16px;font-size:.9rem}.jobsite-details-container{padding-top:80px!important;padding-bottom:90px!important}.jobsite-details-header{padding:12px 16px}.header-title-center{position:static;transform:none;font-size:1.2rem;text-align:left}.header-actions{margin-left:0}}.info-item--full{grid-column:1 / -1}.contact-info-display{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:4px}.contact-name{font-weight:600;color:#333;font-size:.95rem}.contact-link{color:#667eea;text-decoration:none;font-size:.95rem;font-weight:500;transition:color .2s}.contact-link:hover{color:#764ba2;text-decoration:underline}.contact-link--phone{display:inline-flex;align-items:center;gap:5px;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff!important;text-decoration:none!important;font-size:.88rem;font-weight:600;padding:5px 12px;border-radius:20px;box-shadow:0 2px 6px #16a34a4d;transition:transform .15s,box-shadow .15s,background .15s;white-space:nowrap}.contact-link--phone:hover{background:linear-gradient(135deg,#16a34a,#15803d);box-shadow:0 4px 10px #16a34a66;transform:translateY(-1px);color:#fff!important;text-decoration:none!important}.contact-link--phone:active{transform:translateY(0);box-shadow:0 1px 4px #16a34a4d}.form-section-divider{display:flex;align-items:center;gap:12px;margin:20px 0 16px;color:#888;font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.form-section-divider:before,.form-section-divider:after{content:"";flex:1;height:1px;background:#e5e7eb}.status-active{color:#16a34a;font-weight:600}.status-archived{color:#dc2626;font-weight:600}.po-budget-section{margin-top:8px;width:100%}.po-budget-row{display:flex;justify-content:space-between;align-items:center;font-size:.82rem;margin-bottom:5px}.po-spent{color:#555;font-size:.82rem}.po-spent--over{color:#e74c3c}.po-budget-label{color:#27ae60;font-size:.82rem}.po-budget-bar-track{width:100%;height:7px;background:#e0e0e0;border-radius:4px;overflow:hidden;margin-bottom:4px}.po-budget-bar-fill{height:100%;background:linear-gradient(90deg,#27ae60,#2ecc71);border-radius:4px;transition:width .4s ease}.po-budget-bar-fill--over{background:linear-gradient(90deg,#e74c3c,#c0392b)}.po-budget-remaining{font-size:.78rem;color:#27ae60;font-weight:500}.po-budget-remaining--over{color:#e74c3c;font-weight:600}.jsd-financial-summary{background:linear-gradient(135deg,#fff7ed,#fff);border:1.5px solid #fed7aa;border-radius:12px;padding:14px 18px;margin-bottom:20px}.jsd-fin-title{font-size:.85rem;font-weight:700;color:#9a3412;text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px}.jsd-fin-grid{display:flex;flex-wrap:wrap;gap:10px}.jsd-fin-item{display:flex;flex-direction:column;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:8px 14px;min-width:110px;flex:1}.jsd-fin-item--unpaid{border-color:#fca5a5;background:#fff1f2}.jsd-fin-item--paid{border-color:#86efac;background:#f0fdf4}.jsd-fin-item--total{border-color:#f97316;background:#fff7ed}.jsd-fin-label{font-size:.72rem;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}.jsd-fin-value{font-size:1.15rem;font-weight:700;color:#111827}.jsd-fin-item--unpaid .jsd-fin-value{color:#dc2626}.jsd-fin-item--paid .jsd-fin-value{color:#16a34a}.jsd-fin-item--total .jsd-fin-value{color:#f97316}.mark-all-paid-bar{display:flex;justify-content:flex-end;margin-bottom:8px}.btn-mark-all-paid{background:#dcfce7;color:#15803d;border:1.5px solid #86efac;border-radius:8px;padding:6px 14px;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s}.btn-mark-all-paid:hover{background:#bbf7d0}.photo-list-name-stack{display:flex;flex-direction:column;flex:1;min-width:0}.photo-list-notes{font-size:.75rem;color:#9ca3af;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.doc-search-bar{display:flex;align-items:center;gap:8px;background:#f5f5f5;border:1px solid #ddd;border-radius:8px;padding:8px 12px;margin-bottom:10px}.doc-search-icon{font-size:.9rem;flex-shrink:0}.doc-search-input{flex:1;border:none;background:transparent;font-size:.9rem;outline:none;color:#333}.doc-search-clear{background:none;border:none;cursor:pointer;color:#999;font-size:.85rem;padding:0 2px;line-height:1}.doc-search-clear:hover{color:#333}.doc-search-empty{text-align:center;color:#888;font-size:.9rem;padding:12px 0;font-style:italic}.po-card{flex-direction:column;align-items:flex-start}.jobsite-notes-textarea{width:100%;padding:10px 14px;border:1.5px solid #e0e0e0;border-radius:8px;font-size:.95rem;font-family:inherit;color:#333;resize:vertical;min-height:80px;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.jobsite-notes-textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1f}.jobsite-notes-textarea::placeholder{color:#bbb}.jobsite-notes-display{display:flex;align-items:flex-start;gap:10px;margin-top:16px;padding:12px 16px;background:#fffbeb;border:1.5px solid #fde68a;border-radius:10px}.jobsite-notes-icon{font-size:1.1rem;flex-shrink:0;margin-top:1px}.jobsite-notes-text{font-size:.95rem;color:#78350f;line-height:1.5;white-space:pre-wrap;word-break:break-word}.upload-container{max-width:800px;margin:0 auto;padding:20px}.upload-header{display:flex;align-items:center;gap:16px;margin-bottom:24px;position:relative}.upload-header h1{margin:0;color:#1a1a1a}.btn-back{background:none;border:none;color:#666;font-size:1rem;font-weight:500;cursor:pointer;padding:8px 12px;border-radius:6px;transition:background .2s,color .2s;display:flex;align-items:center}.btn-back:hover{background:#e0e0e0;color:#333}.upload-form{background:#fff;border-radius:12px;padding:30px;box-shadow:0 2px 8px #0000001a}.type-selector{display:grid;grid-template-columns:1fr 1fr;gap:12px}.type-btn{padding:16px;border:2px solid #e0e0e0;border-radius:8px;background:#fff;font-size:1.1rem;cursor:pointer;transition:all .2s}.type-btn:hover{border-color:#667eea;background:#f8f9ff}.type-btn.active{border-color:#667eea;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.image-preview{margin-top:16px;border-radius:8px;overflow:hidden;max-width:100%}.image-preview img{width:100%;max-height:400px;object-fit:contain;background:#f5f5f5}.gps-status{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:6px 12px;border-radius:20px;font-size:.82rem;font-weight:500}.gps-status--requesting{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.gps-status--granted{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.gps-status--denied{background:#fefce8;color:#854d0e;border:1px solid #fde68a}.duplicate-warning{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;background:#fef9c3;border:1.5px solid #fde047;border-left:4px solid #eab308;border-radius:8px;padding:10px 14px;margin-top:10px;font-size:.88rem;color:#713f12;line-height:1.5}.duplicate-warning-dismiss{background:none;border:none;color:#92400e;font-size:1rem;cursor:pointer;padding:0 2px;flex-shrink:0;line-height:1;opacity:.7;transition:opacity .15s}.duplicate-warning-dismiss:hover{opacity:1}.ocr-scan-row{display:flex;align-items:center;gap:10px;margin-top:12px;flex-wrap:wrap}.btn-scan-receipt{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;background:linear-gradient(135deg,#1976d2,#1565c0);color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:opacity .2s,transform .15s;white-space:nowrap;flex-shrink:0}.btn-scan-receipt:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.btn-scan-receipt:disabled{opacity:.6;cursor:not-allowed}.ocr-scan-hint{font-size:.82rem;color:#777;font-style:italic}.ocr-status{display:flex;flex-direction:column;gap:6px;margin-top:10px;padding:12px 14px;border-radius:8px;font-size:.9rem;font-weight:500;line-height:1.4}.ocr-status--processing{background:#e3f2fd;color:#1565c0;border-left:4px solid #1976d2}.ocr-status--done{background:#e8f5e9;color:#2e7d32;border-left:4px solid #43a047}.ocr-status--low-confidence{background:#fff8e1;color:#e65100;border-left:4px solid #ffa000}.ocr-status--error{background:#fce4ec;color:#b71c1c;border-left:4px solid #e53935}.ocr-spinner{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:ocr-spin .7s linear infinite;flex-shrink:0;align-self:flex-start;margin-top:2px}@keyframes ocr-spin{to{transform:rotate(360deg)}}.ocr-confidence-bar{height:5px;background:#c8e6c9;border-radius:3px;overflow:hidden;margin-top:4px}.ocr-confidence-fill{height:100%;background:#43a047;border-radius:3px;transition:width .4s ease}.ocr-processing{margin-top:12px;padding:12px;background:#e3f2fd;color:#1976d2;border-radius:8px;text-align:center}.success-message{background:#d4edda;color:#155724;padding:12px 16px;border-radius:8px;margin-bottom:20px;border-left:4px solid #28a745}.btn-view-jobsite-link{background:#28a745;color:#fff;border:none;border-radius:6px;padding:6px 14px;font-size:.9rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .2s;flex-shrink:0}.btn-view-jobsite-link:hover{background:#218838}.helper-text{display:block;margin-top:6px;color:#666;font-size:.9rem}.helper-text a{color:#667eea;text-decoration:none;font-weight:500}.helper-text a:hover{text-decoration:underline}.input-error{border-color:#dc3545!important;background-color:#fff8f8!important;box-shadow:0 0 0 2px #dc354540}.btn-upload-submit{width:100%;padding:16px;font-size:1.1rem;font-weight:600;margin-bottom:8px}.optional-fields{margin-top:8px;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.optional-fields-summary{padding:14px 16px;background:#f5f5f5;cursor:pointer;font-weight:500;font-size:.95rem;color:#555;-webkit-user-select:none;user-select:none;list-style:none;display:flex;align-items:center;gap:8px}.optional-fields-summary::-webkit-details-marker{display:none}.optional-fields[open] .optional-fields-summary{border-bottom:1px solid #e0e0e0;background:#ede7f6;color:#5e35b1}.optional-fields>.form-group{padding:0 16px;margin-top:16px}.optional-fields>.form-group:last-child{padding-bottom:16px}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:500;color:#333}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#7b1fa2}.checkbox-label span{font-size:1rem}.drop-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:28px 16px;border:2px dashed #c0c0c0;border-radius:10px;background:#fafafa;cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s;text-align:center;-webkit-user-select:none;user-select:none}.drop-zone:hover{border-color:#667eea;background:#f4f6ff}.drop-zone--active{border-color:#667eea;background:#eef0ff;box-shadow:0 0 0 4px #667eea2e}.drop-zone-icon{font-size:2rem;line-height:1}.drop-zone-text{font-size:.95rem;color:#555;font-weight:500}.drop-zone--active .drop-zone-text{color:#667eea;font-weight:600}.multi-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.multi-photo-thumb{position:relative;border-radius:8px;overflow:hidden;background:#f0f0f0;aspect-ratio:1 / 1;display:flex;flex-direction:column;border:2px solid #e0e0e0}.multi-photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}.multi-photo-thumb-placeholder{flex:1;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#aaa}.multi-photo-remove{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;border:none;background:#000000a6;color:#fff;font-size:.7rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;transition:background .15s;z-index:2}.multi-photo-remove:hover{background:#dc3545e6}.multi-photo-name{position:absolute;bottom:0;left:0;right:0;background:#0000008c;color:#fff;font-size:.65rem;padding:3px 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-batch-progress{text-align:center;font-size:.9rem;font-weight:600;color:#555;margin:0 0 6px}@media (max-width: 768px){.upload-container{padding:8px}.upload-form{padding:16px}.type-selector{grid-template-columns:1fr 1fr}.type-btn{padding:12px 8px;font-size:.95rem}.image-preview img{max-height:180px}.upload-header h1{font-size:1.2rem;white-space:nowrap}.btn-upload-submit{padding:14px;font-size:1rem}.multi-photo-grid{grid-template-columns:repeat(2,1fr);gap:8px}}.employees-container{max-width:1100px;margin:0 auto;padding:24px 20px 100px}.employees-header{text-align:center;margin-bottom:32px}.header-title-center{margin:0;font-size:2rem;font-weight:700;color:#1a1a1a}.bottom-nav-buttons{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e5e7eb;padding:14px 20px;display:flex;gap:12px;justify-content:center;box-shadow:0 -2px 8px #0000000f;z-index:100}.btn-nav{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:10px 24px;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:opacity .2s,transform .2s}.btn-nav:hover{opacity:.9;transform:translateY(-1px)}.btn-primary,.btn-secondary{padding:9px 18px;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s,opacity .2s}.btn-primary{background:#4f46e5;color:#fff}.btn-primary:hover{background:#4338ca}.btn-primary.btn-sm{padding:6px 14px;font-size:13px}.btn-secondary{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.btn-secondary:hover{background:#e5e7eb}.btn-secondary.btn-sm{padding:6px 14px;font-size:13px}.employee-form-card{background:#fff;border-radius:12px;padding:24px;margin-bottom:28px;box-shadow:0 1px 4px #00000014;border:1px solid #e5e7eb}.employee-form-card h2{margin:0 0 20px;font-size:18px;font-weight:600;color:#1a1a1a}.form-group{margin-bottom:18px}.form-group label{display:block;margin-bottom:6px;font-weight:500;color:#374151;font-size:14px}.form-group input{width:100%;padding:9px 12px;border:1px solid #d1d5db;border-radius:7px;font-size:14px;color:#1a1a1a;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.form-hint{display:block;margin-top:5px;font-size:12px;color:#9ca3af}.form-note{font-size:13px;color:#6b7280;margin-bottom:16px;line-height:1.5}.form-actions{display:flex;gap:10px;margin-top:20px}.employees-section{margin-top:36px}.section-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;gap:12px}.section-title{font-size:17px;font-weight:600;color:#1a1a1a;margin:0}.section-subtitle{font-size:13px;color:#9ca3af;margin:0 0 16px}.employees-list{display:grid;gap:12px;margin-top:12px}.employee-card{background:#fff;border-radius:10px;padding:16px 20px;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000f;display:flex;justify-content:space-between;align-items:center;gap:16px;transition:box-shadow .2s}.employee-card:hover{box-shadow:0 3px 10px #0000001a}.employee-info{display:flex;align-items:center;gap:14px;flex:1;min-width:0}.employee-avatar{width:48px;height:48px;border-radius:50%;background:#f3f4f6;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;color:#6b7280}.employee-details{min-width:0}.employee-name-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:3px}.employee-details h3{margin:0;font-size:16px;font-weight:600;color:#1a1a1a}.employee-email{margin:0 0 2px;font-size:13px;color:#6b7280}.employee-meta{margin:0;font-size:12px;color:#9ca3af}.manager-badge{display:inline-block;padding:2px 10px;border-radius:20px;font-size:11px;font-weight:600;background:#ede9fe;color:#6d28d9;border:1px solid #c4b5fd;margin-left:8px}.foreman-badge{display:inline-block;padding:2px 8px;background:#fef3c7;color:#92400e;border:1px solid #fcd34d;border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.3px}.employee-wage-badge{display:inline-block;margin-top:4px;font-size:12px;font-weight:600;color:#16a34a;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:20px;padding:1px 8px}.employee-wage-badge--none{color:#9ca3af;background:#f9fafb;border-color:#e5e7eb;font-weight:400;font-style:italic}.employee-actions{display:flex;gap:6px;flex-shrink:0;position:relative}.btn-manage{padding:8px 16px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;background:#4f46e5;color:#fff;border:none;display:flex;align-items:center;gap:6px;transition:background .15s,transform .1s;white-space:nowrap}.btn-manage:hover{background:#4338ca;transform:translateY(-1px)}.btn-manage-caret{font-size:10px;opacity:.85}.manage-dropdown{position:absolute;top:calc(100% + 6px);right:0;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 8px 24px #0000001f;min-width:190px;z-index:200;overflow:hidden;animation:dropdown-fade-in .12s ease}@keyframes dropdown-fade-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:10px 16px;border:none;background:transparent;cursor:pointer;font-size:13px;font-weight:500;text-align:left;transition:background .12s;color:#374151}.dropdown-item:hover{background:#f3f4f6}.dropdown-divider{height:1px;background:#e5e7eb;margin:4px 0}.dropdown-item--manager{color:#6d28d9}.dropdown-item--manager:hover{background:#f5f3ff}.dropdown-item--manager-active{color:#5b21b6}.dropdown-item--manager-active:hover{background:#ede9fe}.dropdown-item--foreman{color:#b45309}.dropdown-item--foreman:hover{background:#fffbeb}.dropdown-item--foreman-active{color:#92400e}.dropdown-item--foreman-active:hover{background:#fef3c7}.dropdown-item--wage{color:#15803d}.dropdown-item--wage:hover{background:#f0fdf4}.dropdown-item--password{color:#4f46e5}.dropdown-item--password:hover{background:#eef2ff}.dropdown-item--delete{color:#be123c}.dropdown-item--delete:hover{background:#fff1f2}.btn-action{padding:7px 13px;border-radius:7px;cursor:pointer;font-size:13px;font-weight:500;transition:background .15s,border-color .15s,color .15s;white-space:nowrap;border:1px solid transparent}.btn-manager{background:#f5f3ff;color:#6d28d9;border-color:#c4b5fd}.btn-manager:hover{background:#ede9fe;border-color:#a78bfa}.btn-manager-active{background:#ede9fe;color:#5b21b6;border-color:#a78bfa}.btn-manager-active:hover{background:#ddd6fe;border-color:#7c3aed}.btn-foreman{background:#fffbeb;color:#b45309;border-color:#fcd34d}.btn-foreman:hover{background:#fef3c7;border-color:#f59e0b}.btn-foreman-active{background:#fef3c7;color:#92400e;border-color:#f59e0b}.btn-foreman-active:hover{background:#fde68a;border-color:#d97706}.btn-wage{background:#f0fdf4;color:#15803d;border-color:#86efac}.btn-wage:hover{background:#dcfce7;border-color:#4ade80}.btn-change-password{background:#f8fafc;color:#4f46e5;border-color:#c7d2fe}.btn-change-password:hover{background:#eef2ff;border-color:#a5b4fc}.btn-delete{background:#fff1f2;color:#be123c;border-color:#fecdd3}.btn-delete:hover{background:#ffe4e6;border-color:#fda4af}.wage-input-row{display:flex;align-items:center;gap:6px;margin-top:4px}.wage-dollar-sign{font-size:1rem;font-weight:700;color:#374151}.wage-input{flex:1;padding:9px 12px;border:1px solid #d1d5db;border-radius:7px;font-size:1rem;color:#1a1a1a;background:#fff;transition:border-color .15s,box-shadow .15s;max-width:180px}.wage-input:focus{outline:none;border-color:#16a34a;box-shadow:0 0 0 3px #16a34a1a}.wage-per-hr{font-size:.9rem;color:#6b7280;font-weight:500}.loading{text-align:center;padding:60px 20px;font-size:16px;color:#9ca3af}.success-message{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0;border-radius:8px;padding:12px 16px;margin-bottom:16px;font-size:.9rem}.error-message{background:#fef2f2;color:#991b1b;padding:12px 16px;border-radius:8px;margin-bottom:20px;border:1px solid #fecaca;font-size:14px}.empty-state{text-align:center;padding:40px 20px;background:#f9fafb;border-radius:10px;border:1px dashed #d1d5db;color:#9ca3af;font-size:14px}.empty-state p{margin:0}.dropdown-item--certs{color:#7c3aed}.dropdown-item--certs:hover{background:#ede9fe}.cert-panel{background:#fff;border-radius:12px;padding:24px;margin-bottom:28px;box-shadow:0 1px 4px #00000014;border-left:4px solid #7c3aed}.cert-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.cert-panel-title{font-size:1.1rem;font-weight:700;color:#1a1a1a;margin:0}.cert-panel-close{background:#f3f4f6;border:1px solid #d1d5db;color:#6b7280;width:32px;height:32px;border-radius:6px;cursor:pointer;font-size:.85rem;display:flex;align-items:center;justify-content:center;transition:background .2s;flex-shrink:0}.cert-panel-close:hover{background:#e5e7eb;color:#374151}.cert-add-btn{margin-bottom:16px}.cert-form{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:18px;margin-bottom:18px}.cert-form-title{font-size:.95rem;font-weight:600;color:#374151;margin:0 0 14px}.cert-form-dates{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cert-form textarea{width:100%;box-sizing:border-box;padding:9px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;font-family:inherit;color:#1a1a1a;background:#fff;resize:vertical;transition:border-color .15s}.cert-form textarea:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed14}.cert-loading,.cert-empty{text-align:center;padding:20px;color:#9ca3af;font-size:.9rem}.cert-list{display:flex;flex-direction:column;gap:10px;margin-top:4px}.cert-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:14px 16px;transition:border-color .15s}.cert-item:hover{border-color:#c4b5fd}.cert-item--expired{border-color:#fecaca;background:#fff5f5}.cert-item--expiring{border-color:#fed7aa;background:#fffbf5}.cert-item-main{flex:1;min-width:0}.cert-item-name{font-weight:600;font-size:.95rem;color:#1a1a1a;display:flex;align-items:center;flex-wrap:wrap;gap:6px}.cert-item-issuer{font-size:.85rem;color:#6b7280;margin-top:2px}.cert-item-dates{font-size:.8rem;color:#9ca3af;margin-top:4px;display:flex;flex-wrap:wrap;gap:4px;align-items:center}.cert-date-sep{color:#d1d5db}.cert-date--expired{color:#dc2626;font-weight:600}.cert-date--expiring{color:#d97706;font-weight:600}.cert-item-notes{font-size:.82rem;color:#6b7280;margin-top:5px;font-style:italic}.cert-badge{font-size:.7rem;padding:2px 7px;border-radius:999px;font-weight:600;white-space:nowrap}.cert-badge--expired{background:#fee2e2;color:#b91c1c}.cert-badge--expiring{background:#fef3c7;color:#92400e}.cert-item-actions{display:flex;gap:6px;flex-shrink:0}.cert-btn-edit,.cert-btn-delete{background:none;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:.85rem;transition:background .15s,border-color .15s}.cert-btn-edit:hover{background:#ede9fe;border-color:#c4b5fd}.cert-btn-delete:hover{background:#fee2e2;border-color:#fecaca}@media (max-width: 768px){.employees-container{padding:16px 16px 100px}.header-title-center{font-size:1.5rem}.section-title-row{flex-wrap:wrap;gap:8px}.employee-card{flex-direction:column;align-items:flex-start}.employee-actions{width:100%}.btn-manage{width:100%;justify-content:center}.manage-dropdown{right:auto;left:0;min-width:100%}.btn-action,.btn-delete,.btn-change-password,.btn-foreman,.btn-foreman-active,.btn-wage{flex:1;min-width:110px;text-align:center;justify-content:center}}.cert-file-label{display:block;font-size:.85rem;font-weight:600;color:var(--text-secondary, #6b7280);margin-bottom:4px}.cert-file-label-hint{font-weight:400;color:var(--text-muted, #9ca3af)}.cert-existing-file{font-size:.82rem;color:var(--text-secondary, #6b7280);margin-bottom:6px}.cert-file-link{color:var(--primary, #f97316);text-decoration:none;font-weight:500}.cert-file-link:hover{text-decoration:underline}.cert-file-input{display:block;width:100%;font-size:.85rem;color:var(--text-primary, #111827);background:var(--input-bg, #fff);border:1.5px dashed var(--border-color, #d1d5db);border-radius:6px;padding:8px 10px;cursor:pointer;transition:border-color .15s}.cert-file-input:hover{border-color:var(--primary, #f97316)}.cert-file-selected{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:.82rem;color:var(--text-secondary, #6b7280);background:var(--surface-alt, #f3f4f6);border-radius:5px;padding:4px 8px}.cert-file-clear{background:none;border:none;color:var(--text-muted, #9ca3af);cursor:pointer;font-size:.9rem;padding:0 2px;line-height:1;margin-left:auto}.cert-file-clear:hover{color:#ef4444}.cert-item-file-link{display:inline-block;margin-top:4px;font-size:.8rem;color:var(--primary, #f97316);text-decoration:none;font-weight:500}.cert-item-file-link:hover{text-decoration:underline}.super-admin-dashboard{padding:2rem;max-width:1400px;margin:0 auto}.dashboard-header{margin-bottom:2rem;position:relative}.header-content{display:flex;justify-content:center;align-items:center;max-width:1400px;margin:0 auto}.header-content>div{text-align:center}.btn-logout{position:absolute;right:2rem;top:0}.dashboard-header h1{font-size:2.5rem;color:#2c3e50;margin-bottom:.5rem}.dashboard-header p{color:#7f8c8d;font-size:1.1rem}.btn-logout{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .2s;box-shadow:0 2px 4px #e74c3c4d}.btn-logout:hover{transform:translateY(-2px);box-shadow:0 4px 8px #e74c3c66}.btn-logout:active{transform:translateY(0)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:3rem}.stat-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.5rem;border-radius:12px;display:flex;align-items:center;gap:1rem;box-shadow:0 4px 6px #0000001a;transition:transform .2s}.stat-card:hover{transform:translateY(-4px);box-shadow:0 6px 12px #00000026}.stat-icon{font-size:2.5rem}.stat-content h3{font-size:2rem;margin:0;font-weight:700}.stat-content p{margin:.25rem 0 0;opacity:.9;font-size:.9rem}.section{background:#fff;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 2px 8px #0000001a}.section h2{margin-top:0;margin-bottom:1.5rem;color:#2c3e50;font-size:1.8rem}.section-header-collapsible{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:.5rem 0;margin-bottom:1rem;border-bottom:2px solid transparent;transition:border-color .2s}.section-header-collapsible:hover{border-bottom-color:#3498db}.section-header-collapsible h2{margin:0;font-size:1.5rem}.btn-toggle{background:#f8f9fa;border:1px solid #dee2e6;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;color:#495057;transition:all .2s}.btn-toggle:hover{background:#e9ecef;border-color:#adb5bd}.table-container{overflow-x:auto}.businesses-table{width:100%;border-collapse:collapse}.businesses-table th{background:#f8f9fa;padding:1rem;text-align:left;font-weight:600;color:#2c3e50;border-bottom:2px solid #e9ecef}.businesses-table td{padding:1rem;border-bottom:1px solid #e9ecef}.businesses-table tr:hover{background:#f8f9fa}.business-name strong{display:block;color:#2c3e50;margin-bottom:.25rem}.business-name small{display:block;color:#7f8c8d;font-size:.85rem}.plan-info strong{display:block;color:#2c3e50}.plan-info small{display:block;color:#7f8c8d;font-size:.85rem}.no-plan{color:#95a5a6;font-style:italic}.status-badge{display:inline-block;padding:.4rem .8rem;border-radius:20px;font-size:.85rem;font-weight:600;text-transform:uppercase}.status-active{background:#d4edda;color:#155724}.status-trial{background:#fff3cd;color:#856404}.status-suspended{background:#f8d7da;color:#721c24}.status-cancelled{background:#e2e3e5;color:#383d41}.user-stats span{display:block;color:#2c3e50;font-weight:500}.user-stats small{display:block;color:#7f8c8d;font-size:.85rem;margin-top:.25rem}.manage-dropdown-wrapper{position:relative;display:inline-block}.btn-manage{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.5rem 1.1rem;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;display:flex;align-items:center;gap:.4rem;transition:all .2s;box-shadow:0 2px 6px #667eea59;white-space:nowrap}.btn-manage:hover{transform:translateY(-1px);box-shadow:0 4px 10px #667eea73}.manage-caret{font-size:.7rem;opacity:.85}.manage-dropdown-menu{position:absolute;top:calc(100% + 6px);right:0;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 8px 24px #00000024;min-width:180px;z-index:200;overflow:hidden;animation:dropdownFadeIn .12s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.manage-menu-item{display:block;width:100%;text-align:left;background:none;border:none;padding:.65rem 1rem;font-size:.9rem;color:#2c3e50;cursor:pointer;transition:background .15s;font-weight:500}.manage-menu-item:hover:not(:disabled){background:#f1f5f9}.manage-menu-item:disabled{opacity:.45;cursor:not-allowed}.manage-menu-item--warning{color:#c0392b}.manage-menu-item--warning:hover:not(:disabled){background:#fff5f5}.manage-menu-item--success{color:#27ae60}.manage-menu-item--success:hover{background:#f0fff4}.manage-menu-item--danger{color:#e74c3c;font-weight:600}.manage-menu-item--danger:hover{background:#fff5f5}.manage-menu-item--payment{color:#059669}.manage-menu-item--payment:hover{background:#ecfdf5;color:#047857}.manage-menu-divider{height:1px;background:#e9ecef;margin:4px 0}.action-buttons{display:flex;gap:8px;flex-wrap:wrap}.btn-view{background:#3498db;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;transition:background .2s}.btn-view:hover{background:#2980b9}.btn-delete{padding:.5rem 1rem;background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .3s ease}.btn-delete:hover{transform:translateY(-2px);box-shadow:0 4px 12px #f5576c66}.btn-delete:disabled{opacity:.6;cursor:not-allowed;transform:none}.section-actions{margin-bottom:1.5rem;display:flex;justify-content:flex-end}.btn-create-plan{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .2s;box-shadow:0 2px 4px #667eea4d}.btn-create-plan:hover{transform:translateY(-2px);box-shadow:0 4px 8px #667eea66}.plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.plan-card{border:2px solid #e9ecef;border-radius:12px;padding:1.5rem;transition:all .3s;position:relative}.plan-card:hover{border-color:#3498db;box-shadow:0 4px 12px #3498db33;transform:translateY(-4px)}.plan-card.custom-plan{border-color:#667eea;background:linear-gradient(135deg,#667eea0d,#764ba20d)}.custom-badge{position:absolute;top:-10px;right:10px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase}.btn-delete-plan{width:100%;margin-top:1rem;padding:.5rem 1rem;background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .3s ease}.btn-delete-plan:hover{transform:translateY(-2px);box-shadow:0 4px 12px #f5576c66}.plan-card h3{margin-top:0;color:#2c3e50;font-size:1.5rem}.plan-description{color:#7f8c8d;margin-bottom:1rem;min-height:3rem}.plan-pricing{margin:1.5rem 0;padding:1rem 0;border-top:1px solid #e9ecef;border-bottom:1px solid #e9ecef}.price{font-size:2rem;font-weight:700;color:#2c3e50}.price span{font-size:1rem;color:#7f8c8d;font-weight:400}.price-yearly{font-size:.9rem;color:#7f8c8d;margin-top:.5rem}.plan-limits{margin:1rem 0}.limit-item{padding:.5rem 0;color:#2c3e50}.limit-item strong{margin-right:.5rem}.plan-features{margin-top:1rem}.feature-item{padding:.4rem 0;color:#27ae60;font-size:.9rem}.feature-item.more-features{color:#7f8c8d;font-style:italic}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff!important;border-radius:16px;max-width:700px!important;width:100%!important;max-height:90vh;overflow:hidden!important;display:flex!important;flex-direction:column!important;box-shadow:0 20px 60px #0006}.modal-content.modal-large{max-width:700px;overflow:hidden;display:flex;flex-direction:column}.modal-large .modal-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.5rem 2rem;border-bottom:none;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.modal-large .modal-header h2{color:#fff;font-size:1.5rem;margin:0;font-weight:600;display:flex;align-items:center;gap:.75rem}.modal-large .modal-header .close-btn{color:#fffc;font-size:1.75rem;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.modal-large .modal-header .close-btn:hover{color:#fff;background:#fff3}.modal-large .modal-sidebar{display:none}.modal-large .modal-main{display:flex;flex-direction:column;max-height:80vh}.modal-large .modal-body{flex:1;padding:2rem;overflow-y:auto}.modal-large .modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem 2rem;border-top:1px solid #e9ecef;background:#f8f9fa}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid #e9ecef}.btn-cancel{background:#f8f9fa;color:#495057;border:1px solid #dee2e6;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .2s}.btn-cancel:hover{background:#e9ecef}.btn-create{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .2s;box-shadow:0 2px 4px #667eea4d}.btn-create:hover{transform:translateY(-2px);box-shadow:0 4px 8px #667eea66}.btn-create:disabled{opacity:.6;cursor:not-allowed;transform:none}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:#2c3e50;font-weight:500}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:1px solid #dee2e6;border-radius:6px;font-size:1rem;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.feature-input-row{display:flex;gap:.5rem}.feature-input-row input{flex:1}.btn-add-feature{background:#3498db;color:#fff;border:none;padding:.75rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background .2s}.btn-add-feature:hover{background:#2980b9}.features-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.feature-tag{display:flex;align-items:center;gap:.5rem;background:#e9ecef;padding:.4rem .75rem;border-radius:20px;font-size:.9rem;color:#2c3e50}.feature-tag button{background:none;border:none;color:#7f8c8d;cursor:pointer;font-size:1.2rem;line-height:1;padding:0;width:1.2rem;height:1.2rem;display:flex;align-items:center;justify-content:center}.feature-tag button:hover{color:#e74c3c}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:none;background:linear-gradient(135deg,#667eea,#764ba2)}.modal-header h2{margin:0;color:#fff;font-size:1.3rem;font-weight:600}.close-btn{background:none;border:none;font-size:2rem;color:#fffc;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;transition:all .2s;border-radius:50%}.close-btn:hover{color:#fff;background:#fff3}.modal-body{padding:2rem;overflow-y:auto;flex:1}.detail-section{margin-bottom:2rem}.detail-section:last-child{margin-bottom:0}.detail-section h3{color:#2c3e50;margin-top:0;margin-bottom:1rem;font-size:1.2rem}.detail-section p{margin:.5rem 0;color:#2c3e50}.stats-list{display:grid;gap:.75rem}.stat-item{display:flex;justify-content:space-between;padding:.75rem;background:#f8f9fa;border-radius:6px}.stat-item span{color:#7f8c8d}.stat-item strong{color:#2c3e50;font-size:1.1rem}.loading,.error-message{text-align:center;padding:3rem;font-size:1.2rem;color:#7f8c8d}.error-message{color:#e74c3c}@media (max-width: 768px){.super-admin-dashboard{padding:1rem}.header-content{flex-direction:column;gap:1rem;text-align:center}.header-content>div{text-align:center}.dashboard-header h1{font-size:2rem}.btn-logout{width:100%}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.stat-card{padding:1rem}.stat-icon{font-size:2rem}.stat-content h3{font-size:1.5rem}.section{padding:1rem}.businesses-table{font-size:.85rem}.businesses-table th,.businesses-table td{padding:.5rem}.plans-grid{grid-template-columns:1fr}.modal-content.modal-large{flex-direction:column;max-height:95vh}.modal-large .modal-sidebar{min-width:auto;padding:1.5rem;flex-direction:row;gap:1rem;justify-content:flex-start}.modal-large .modal-sidebar-icon{font-size:2rem;margin-bottom:0}.modal-large .modal-sidebar h2{font-size:1.25rem}.modal-large .modal-body{padding:1.5rem}.modal-large .modal-footer{padding:1rem 1.5rem;flex-direction:column}.modal-large .modal-footer button{width:100%}.form-row{grid-template-columns:1fr}}.btn-change-plan{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .3s ease;box-shadow:0 2px 4px #667eea4d}.btn-change-plan:hover{transform:translateY(-2px);box-shadow:0 4px 8px #667eea66}.btn-assign-custom-plan{background:linear-gradient(135deg,#f093fb,#764ba2);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .3s ease;box-shadow:0 2px 4px #764ba24d}.btn-assign-custom-plan:hover{transform:translateY(-2px);box-shadow:0 4px 8px #764ba280}.plan-selection{display:flex;flex-direction:column;gap:1rem}.plan-option{border:2px solid #e9ecef;border-radius:8px;padding:1rem;cursor:pointer;transition:all .2s}.plan-option:hover{border-color:#667eea;background:#667eea0d}.plan-option.selected{border-color:#667eea;background:#667eea1a;box-shadow:0 2px 8px #667eea33}.plan-option.current{border-color:#27ae60;background:#27ae600d}.plan-option-header{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}.plan-option-header input[type=radio]{width:20px;height:20px;cursor:pointer;accent-color:#667eea}.plan-option-info{flex:1;display:flex;align-items:center;gap:.5rem}.plan-option-info strong{color:#2c3e50;font-size:1.1rem}.custom-badge-small{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.2rem .5rem;border-radius:12px;font-size:.7rem;font-weight:600;text-transform:uppercase}.current-badge{background:#27ae60;color:#fff;padding:.2rem .5rem;border-radius:12px;font-size:.7rem;font-weight:600;text-transform:uppercase}.plan-option-price{color:#667eea;font-weight:600;font-size:1.1rem}.plan-option-details{padding-left:2.5rem}.plan-option-description{color:#7f8c8d;font-size:.9rem;margin:0 0 .75rem}.plan-option-limits{display:flex;gap:1rem;flex-wrap:wrap}.plan-option-limits span{color:#2c3e50;font-size:.85rem;background:#f8f9fa;padding:.3rem .6rem;border-radius:4px}.btn-confirm{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .2s;box-shadow:0 2px 4px #667eea4d}.btn-confirm:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 8px #667eea66}.btn-confirm:disabled{opacity:.6;cursor:not-allowed;transform:none}.stripe-price-section{margin-top:1rem;padding-top:1rem;border-top:1px dashed #dee2e6}.stripe-price-label{font-size:.8rem;font-weight:600;color:#6c757d;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.stripe-price-display{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.stripe-price-id-value{font-family:monospace;font-size:.8rem;color:#27ae60;background:#d4edda;padding:.25rem .5rem;border-radius:4px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stripe-price-id-missing{font-size:.8rem;color:#856404;background:#fff3cd;padding:.25rem .5rem;border-radius:4px;flex:1}.btn-edit-stripe{background:none;border:1px solid #dee2e6;color:#6c757d;padding:.25rem .5rem;border-radius:4px;cursor:pointer;font-size:.8rem;transition:all .2s;white-space:nowrap;flex-shrink:0}.btn-edit-stripe:hover{background:#f8f9fa;border-color:#667eea;color:#667eea}.stripe-price-edit{display:flex;flex-direction:column;gap:.5rem}.stripe-price-input{width:100%;padding:.4rem .6rem;border:1px solid #667eea;border-radius:4px;font-size:.85rem;font-family:monospace;box-sizing:border-box}.stripe-price-input:focus{outline:none;box-shadow:0 0 0 2px #667eea33}.stripe-price-actions{display:flex;gap:.4rem}.btn-save-stripe{flex:1;background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;border:none;padding:.4rem .75rem;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .2s}.btn-save-stripe:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 6px #27ae6066}.btn-save-stripe:disabled{opacity:.6;cursor:not-allowed}.btn-cancel-stripe{background:#f8f9fa;color:#6c757d;border:1px solid #dee2e6;padding:.4rem .75rem;border-radius:4px;cursor:pointer;font-size:.85rem;transition:all .2s}.btn-cancel-stripe:hover:not(:disabled){background:#e9ecef;color:#e74c3c;border-color:#e74c3c}.btn-cancel-stripe:disabled{opacity:.6;cursor:not-allowed}.plan-filter-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid #e9ecef;padding-bottom:0}.plan-filter-tab{background:none;border:none;border-bottom:3px solid transparent;padding:.6rem 1.2rem;margin-bottom:-2px;cursor:pointer;font-size:.95rem;font-weight:500;color:#7f8c8d;transition:all .2s;border-radius:4px 4px 0 0}.plan-filter-tab:hover{color:#667eea;background:#667eea0d}.plan-filter-tab.active{color:#667eea;border-bottom-color:#667eea;font-weight:600}.plan-option.custom-plan-option{border-color:#c9b8f0;background:linear-gradient(135deg,#667eea0a,#764ba20a)}.plan-option.custom-plan-option:hover{border-color:#764ba2;background:#764ba214}.plan-option.custom-plan-option.selected{border-color:#764ba2;background:#764ba21f;box-shadow:0 2px 8px #764ba240}.storage-usage-block{background:#f8f9fa;border-radius:8px;padding:1rem 1.25rem}.storage-usage-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.6rem}.storage-used{font-size:1.4rem;font-weight:700;color:#2c3e50}.storage-limit{font-size:.9rem;color:#7f8c8d}.storage-bar-track{width:100%;height:10px;background:#e9ecef;border-radius:999px;overflow:hidden;margin-bottom:.5rem}.storage-bar-fill{height:100%;border-radius:999px;transition:width .4s ease}.storage-pct{font-size:.85rem;font-weight:600}.storage-warning{font-weight:700}.no-custom-plans-notice{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:1rem 1.25rem;margin-bottom:1rem;color:#856404}.no-custom-plans-notice p{margin:.25rem 0;font-size:.95rem}.no-custom-plans-notice strong{color:#664d03}.require-payment-section{padding:1rem 1.5rem;border-top:1px solid #e9ecef;background:#f8f9fa}.require-payment-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer}.require-payment-label input[type=checkbox]{width:18px;height:18px;margin-top:2px;cursor:pointer;accent-color:#667eea;flex-shrink:0}.require-payment-label span{display:flex;flex-direction:column;gap:.25rem}.require-payment-label strong{color:#2c3e50;font-size:.95rem}.require-payment-label small{color:#7f8c8d;font-size:.85rem}.require-payment-notice{margin-top:.75rem;padding:.6rem .9rem;background:#d4edda;border:1px solid #c3e6cb;border-radius:6px;color:#155724;font-size:.85rem}.require-payment-warning{margin-top:.75rem;padding:.6rem .9rem;background:#fff3cd;border:1px solid #ffc107;border-radius:6px;color:#856404;font-size:.85rem}.plan-messaging-badge{margin-top:.75rem;padding:.4rem .75rem;border-radius:6px;font-size:.82rem;font-weight:600;text-align:center}.plan-messaging-badge--on{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.plan-messaging-badge--off{background:#f8f9fa;color:#6c757d;border:1px solid #dee2e6}.team-messaging-toggle{margin-top:1.5rem;padding:1rem 1.25rem;background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px}.team-messaging-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer}.team-messaging-label input[type=checkbox]{width:18px;height:18px;margin-top:2px;cursor:pointer;accent-color:#667eea;flex-shrink:0}.team-messaging-text{display:flex;flex-direction:column;gap:.25rem}.team-messaging-text strong{color:#2c3e50;font-size:.95rem}.team-messaging-text small{color:#7f8c8d;font-size:.85rem}.team-messaging-notice{margin-top:.75rem;padding:.6rem .9rem;background:#d4edda;border:1px solid #c3e6cb;border-radius:6px;color:#155724;font-size:.85rem}.btn-suspend{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;border:none;padding:.4rem .85rem;border-radius:6px;cursor:pointer;font-size:.8rem;font-weight:600;transition:all .2s;box-shadow:0 2px 4px #e74c3c40;white-space:nowrap}.btn-suspend:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px #e74c3c59}.btn-suspend:disabled{opacity:.45;cursor:not-allowed}.btn-unsuspend{background:linear-gradient(135deg,#27ae60,#1e8449);color:#fff;border:none;padding:.4rem .85rem;border-radius:6px;cursor:pointer;font-size:.8rem;font-weight:600;transition:all .2s;box-shadow:0 2px 4px #27ae6040;white-space:nowrap}.btn-unsuspend:hover{transform:translateY(-1px);box-shadow:0 4px 8px #27ae6059}.modal-suspend{max-width:500px}.suspend-warning-box{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:1rem 1.25rem;margin-bottom:1.25rem}.suspend-warning-box p{margin:0 0 .5rem;color:#856404;font-size:.9rem;line-height:1.5}.suspend-warning-box p:last-child{margin-bottom:0}.suspend-require-payment{margin-top:1rem;padding:1rem;background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px}.suspend-free-plan-note{margin-top:1rem;padding:.85rem 1rem;background:#e8f4fd;border:1px solid #bee5eb;border-radius:8px}.suspend-free-plan-note p{margin:0;color:#0c5460;font-size:.875rem;line-height:1.5}.btn-suspend-confirm{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:600;transition:all .2s;box-shadow:0 2px 4px #e74c3c4d}.btn-suspend-confirm:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px #e74c3c66}.btn-suspend-confirm:disabled{opacity:.6;cursor:not-allowed;transform:none}.modal-payment-settings{max-width:480px}.payment-method-section{margin-bottom:1.75rem}.payment-method-section h3,.auto-suspend-section h3{color:#2c3e50;font-size:1rem;font-weight:600;margin:0 0 .4rem}.payment-method-note,.auto-suspend-note{color:#7f8c8d;font-size:.85rem;margin:0 0 1rem;line-height:1.5}.payment-method-options{display:flex;gap:.75rem}.payment-method-option{flex:1;display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:.85rem .5rem;border:2px solid #e2e8f0;border-radius:10px;cursor:pointer;transition:all .18s;background:#f8f9fa}.payment-method-option input[type=radio]{display:none}.payment-method-option.selected{border-color:#667eea;background:#667eea14;box-shadow:0 2px 8px #667eea2e}.payment-method-option:hover:not(.selected){border-color:#a5b4fc;background:#667eea0a}.payment-method-icon{font-size:1.6rem}.payment-method-label{font-size:.82rem;font-weight:600;color:#374151}.status-cell{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.payment-method-badge{display:inline-block;font-size:.7rem;font-weight:600;padding:2px 7px;border-radius:10px;white-space:nowrap}.payment-method-badge--cash{background:#d4edda;color:#155724}.payment-method-badge--etransfer{background:#cce5ff;color:#004085}.auto-suspend-badge{display:inline-block;font-size:.68rem;font-weight:500;padding:2px 7px;border-radius:10px;background:#fff3cd;color:#856404;white-space:nowrap}.payment-notes-section{margin-bottom:20px}.payment-notes-section h3{font-size:.95rem;font-weight:600;color:#2d3748;margin-bottom:4px}.payment-notes-note{font-size:.8rem;color:#718096;margin-bottom:8px}.payment-notes-textarea{width:100%;padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:.9rem;color:#2d3748;background:#f7fafc;resize:vertical;font-family:inherit;transition:border-color .2s;box-sizing:border-box}.payment-notes-textarea:focus{outline:none;border-color:#667eea;background:#fff}.auto-suspend-section{margin-bottom:.5rem}.auto-suspend-input-row{display:flex;align-items:center;gap:.75rem}.auto-suspend-date-input{flex:1;padding:.6rem .85rem;border:1px solid #d1d5db;border-radius:8px;font-size:.95rem;color:#374151;transition:border-color .2s}.auto-suspend-date-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1f}.btn-clear-date{background:none;border:1px solid #e2e8f0;color:#9ca3af;padding:.5rem .75rem;border-radius:6px;cursor:pointer;font-size:.82rem;font-weight:500;transition:all .15s;white-space:nowrap}.btn-clear-date:hover{background:#fee2e2;border-color:#fca5a5;color:#dc2626}.auto-suspend-preview{margin-top:.85rem;padding:.7rem .9rem;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;color:#1e40af;font-size:.85rem;line-height:1.55}.btn-save-payment{background:linear-gradient(135deg,#059669,#047857);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:600;transition:all .2s;box-shadow:0 2px 4px #0596694d}.btn-save-payment:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px #05966966}.btn-save-payment:disabled{opacity:.6;cursor:not-allowed;transform:none}.subscription-page{max-width:1400px;margin:0 auto;padding:24px}.subscription-header{margin-bottom:32px}.subscription-header h1{margin:16px 0 8px;color:#1a1a1a;font-size:2rem}.subscription-header p{color:#666;margin:0}.header-actions{display:flex;gap:12px;align-items:center}.btn-back{background:#f5f5f5;border:1px solid #ddd;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;color:#333;transition:all .2s}.btn-back:hover{background:#e8e8e8;border-color:#ccc}.btn-logout{background:linear-gradient(135deg,#f44336,#d32f2f);border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;color:#fff;font-weight:500;transition:all .2s;display:flex;align-items:center;gap:6px}.btn-logout:hover{background:linear-gradient(135deg,#d32f2f,#c62828);transform:translateY(-1px);box-shadow:0 2px 8px #f443364d}.current-plan-section{margin-bottom:48px}.current-plan-section h2{margin-bottom:16px;color:#1a1a1a}.current-plan-card{background:#fff;border:2px solid #4CAF50;border-radius:12px;padding:20px 24px;margin-bottom:24px;max-width:600px}.plan-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #eee}.plan-header h3{margin:0 0 8px;color:#1a1a1a;font-size:1.5rem;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.custom-plan-badge{display:inline-block;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:3px 10px;border-radius:20px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;vertical-align:middle;box-shadow:0 2px 6px #667eea66}.current-plan-card.is-custom{border-color:#667eea}.plan-price{text-align:right}.price-monthly{font-size:2rem;font-weight:700;color:#4caf50}.price-monthly span{font-size:1rem;color:#666;font-weight:400}.price-yearly{font-size:.9rem;color:#666;margin-top:4px}.plan-description{color:#666;margin-bottom:16px}.plan-limits{display:flex;gap:24px;margin-bottom:16px;padding:12px;background:#f9f9f9;border-radius:8px}.limit-item{color:#333}.limit-item strong{color:#1a1a1a;margin-right:4px}.plan-features{margin-top:16px}.plan-features h4{margin:0 0 12px;color:#1a1a1a}.feature-item{padding:6px 0;color:#333}.feature-item:before{content:"";margin-right:8px}.subscription-details{margin-top:16px;padding-top:16px;border-top:1px solid #eee}.subscription-details p{margin:8px 0;color:#666}.subscription-details strong{color:#1a1a1a}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:500}.status-active{background:#e8f5e9;color:#2e7d32}.status-trial{background:#fff3e0;color:#e65100}.status-suspended{background:#ffebee;color:#c62828}.status-cancelled{background:#f5f5f5;color:#757575}.usage-stats{background:#fff;border:1px solid #ddd;border-radius:12px;padding:24px}.usage-stats h3{margin:0 0 16px;color:#1a1a1a}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:24px}.stat-item{text-align:center}.stat-value{font-size:2.5rem;font-weight:700;color:#4caf50;margin-bottom:8px}.stat-label{font-size:.9rem;color:#1a1a1a!important;margin-bottom:4px;font-weight:500}.stat-limit{font-size:.85rem;color:#999}.available-plans-section{margin-top:48px}.available-plans-section h2{margin-bottom:24px;color:#1a1a1a}.plans-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;align-items:stretch}.plan-card{background:#fff;border:1px solid #ddd;border-radius:12px;padding:24px;transition:all .3s;position:relative;display:flex;flex-direction:column}.plan-card:hover{border-color:#4caf50;box-shadow:0 4px 12px #4caf501a;transform:translateY(-2px)}.plan-card.current{border:2px solid #4CAF50;background:#f9fff9}.current-badge{position:absolute;top:12px;right:12px;background:#4caf50;color:#fff;padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:600}.plan-card h3{margin:0 0 8px;color:#1a1a1a;font-size:1.3rem}.plan-card .plan-description{color:#666;font-size:.9rem;margin-bottom:16px;min-height:40px}.plan-pricing{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #eee}.plan-pricing .price{font-size:2rem;font-weight:700;color:#1a1a1a}.plan-pricing .price span{font-size:1rem;color:#666;font-weight:400}.plan-card .plan-limits{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;padding:12px;background:#f9f9f9;border-radius:8px}.plan-card .plan-features{margin-bottom:20px}.plan-card .feature-item{padding:6px 0;color:#333;font-size:.9rem}.btn-upgrade{width:100%;padding:12px 24px;background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;margin-top:auto}.btn-upgrade:hover:not(:disabled){background:linear-gradient(135deg,#45a049,#3d8b40);transform:translateY(-2px);box-shadow:0 4px 12px #4caf504d}.btn-upgrade:disabled{opacity:.6;cursor:not-allowed}.btn-upgrade.btn-stripe{background:linear-gradient(135deg,#667eea,#764ba2)}.btn-upgrade.btn-stripe:hover:not(:disabled){background:linear-gradient(135deg,#5a6fd6,#6a3f96);box-shadow:0 4px 12px #667eea66}.manage-billing-section{margin-top:16px;padding-top:16px;border-top:1px solid #eee}.btn-manage-billing{padding:10px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 2px 6px #667eea4d}.btn-manage-billing:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-manage-billing:disabled{opacity:.6;cursor:not-allowed}.manage-billing-hint{margin:8px 0 0;font-size:.85rem;color:#888}.success-banner{display:flex;justify-content:space-between;align-items:center;background:#e8f5e9;border:1px solid #a5d6a7;color:#2e7d32;padding:14px 20px;border-radius:8px;margin-bottom:24px;font-weight:500}.error-banner{display:flex;justify-content:space-between;align-items:center;background:#ffebee;border:1px solid #ef9a9a;color:#c62828;padding:14px 20px;border-radius:8px;margin-bottom:24px;font-weight:500}.banner-close{background:none;border:none;font-size:1.1rem;cursor:pointer;color:inherit;opacity:.7;padding:0 0 0 12px;flex-shrink:0}.banner-close:hover{opacity:1}.loading,.error-message{text-align:center;padding:48px 24px;color:#666}.error-message{color:#d32f2f}.addons-section{margin-top:48px}.addons-section>h2{margin-bottom:20px;color:#1a1a1a}.extra-jobsites-section{margin-top:48px}.extra-jobsites-section h2{margin-bottom:20px;color:#1a1a1a}.extra-jobsites-card{background:#fff;border:1px solid #ddd;border-radius:12px;padding:28px;display:flex;flex-direction:column;gap:24px}.extra-jobsites-info{display:flex;align-items:flex-start;gap:18px}.extra-jobsites-icon{font-size:2.4rem;flex-shrink:0;line-height:1}.extra-jobsites-text h3{margin:0 0 8px;color:#1a1a1a;font-size:1.2rem}.extra-jobsites-text p{margin:0;color:#555;font-size:.95rem;line-height:1.5}.extra-jobsites-current{margin-top:12px;padding:10px 14px;background:#e8f5e9;border:1px solid #a5d6a7;border-radius:8px;color:#2e7d32;font-size:.9rem}.extra-jobsites-controls{display:flex;flex-direction:column;gap:16px;padding-top:20px;border-top:1px solid #eee}.extra-qty-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.extra-qty-label{font-size:.95rem;color:#333;font-weight:500;flex-shrink:0}.extra-qty-input-group{display:flex;align-items:center;gap:0;border:1px solid #ccc;border-radius:8px;overflow:hidden}.extra-qty-btn{width:38px;height:38px;background:#f5f5f5;border:none;font-size:1.2rem;font-weight:600;color:#333;cursor:pointer;transition:background .15s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.extra-qty-btn:hover:not(:disabled){background:#e0e0e0}.extra-qty-btn:disabled{opacity:.4;cursor:not-allowed}.extra-qty-input{width:60px;height:38px;border:none;border-left:1px solid #ccc;border-right:1px solid #ccc;text-align:center;font-size:1rem;font-weight:600;color:#1a1a1a;background:#fff;outline:none;-moz-appearance:textfield}.extra-qty-input::-webkit-outer-spin-button,.extra-qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.extra-cost-preview{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f9f9f9;border-radius:8px;border:1px solid #eee}.extra-cost-label{font-size:.9rem;color:#666}.extra-cost-value{font-size:1.2rem;font-weight:700;color:#1a1a1a}.btn-buy-extra{padding:13px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 2px 8px #667eea4d;align-self:flex-start}.btn-buy-extra:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 14px #667eea73}.btn-buy-extra:disabled{opacity:.6;cursor:not-allowed;transform:none}.pay-now-banner{background:linear-gradient(135deg,#fff3cd,#ffeaa7);border:2px solid #f39c12;border-radius:12px;padding:1.5rem 2rem;margin-bottom:2rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;box-shadow:0 4px 12px #f39c1233}.pay-now-content{display:flex;align-items:flex-start;gap:1rem;flex:1}.pay-now-icon{font-size:2.5rem;flex-shrink:0}.pay-now-text h3{margin:0 0 .4rem;color:#856404;font-size:1.2rem}.pay-now-text p{margin:0;color:#664d03;font-size:.95rem;line-height:1.5}.btn-pay-now{background:linear-gradient(135deg,#f39c12,#e67e22);color:#fff;border:none;padding:.9rem 1.75rem;border-radius:10px;cursor:pointer;font-size:1rem;font-weight:700;white-space:nowrap;transition:all .2s;box-shadow:0 3px 8px #f39c1266;flex-shrink:0}.btn-pay-now:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 14px #f39c1280}.btn-pay-now:disabled{opacity:.7;cursor:not-allowed;transform:none}@media (max-width: 600px){.pay-now-banner{flex-direction:column;align-items:stretch}.btn-pay-now{width:100%;text-align:center}}.extra-jobsites-hint{margin:0;font-size:.82rem;color:#999}.sub-storage-usage{margin-top:20px;padding-top:20px;border-top:1px solid #eee;color:#1a1a1a}.dsu-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:.9rem;font-weight:600;color:#333!important;text-transform:uppercase;letter-spacing:.5px}.dsu-label{color:#555!important}.dsu-values,.dsu-values strong{color:#1a1a1a!important}.dsu-limit{color:#666!important;font-weight:400}.dsu-bar-track{width:100%;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden;margin-bottom:8px}.dsu-bar-fill{height:100%;border-radius:4px;transition:width .4s ease}.dsu-pct-row{display:flex;justify-content:space-between;align-items:center;font-size:.85rem}.dsu-pct{font-weight:600;color:inherit}.dsu-warning{font-weight:700}.dsu-file-count{color:#666!important}.plan-card-custom{background:linear-gradient(135deg,#0f172a,#1e293b);border:1px solid #334155;position:relative}.plan-card-custom:hover{border-color:#667eea;box-shadow:0 4px 20px #667eea40;transform:translateY(-2px)}.plan-card-custom h3{color:#f1f5f9}.plan-card-custom .plan-description{color:#94a3b8}.custom-plan-pill{position:absolute;top:12px;right:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:600}.plan-pricing-custom{border-bottom-color:#334155}.price-custom{font-size:1.8rem;font-weight:700;background:linear-gradient(135deg,#667eea,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.plan-card-custom .plan-limits{background:#ffffff14;border:1px solid rgba(255,255,255,.15)}.plan-card-custom .plan-limits .limit-item{color:#f1f5f9;font-weight:500}.btn-contact-support{display:block;width:100%;padding:12px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;text-align:center;text-decoration:none;box-sizing:border-box;margin-top:auto}.btn-contact-support:hover{background:linear-gradient(135deg,#5a6fd6,#6a3f96);transform:translateY(-2px);box-shadow:0 4px 14px #667eea73}.billing-info-section{background:#fff;border-radius:16px;padding:2rem;margin-bottom:2rem;box-shadow:0 2px 8px #00000014}.billing-info-section h2{margin:0 0 1.5rem;color:#1a202c;font-size:1.5rem}.card-on-file-block{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #e2e8f0}.card-on-file-block h3,.invoice-history-block h3{font-size:1rem;font-weight:600;color:#2d3748;margin:0 0 .75rem}.card-on-file-display{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;background:#f7fafc;border:1px solid #e2e8f0;border-radius:10px;padding:.85rem 1.25rem}.card-brand{font-weight:700;color:#2d3748;font-size:.95rem;min-width:60px}.card-last4{font-family:monospace;font-size:.95rem;color:#4a5568;letter-spacing:2px}.card-expiry{font-size:.85rem;color:#718096}.btn-update-card{margin-left:auto;background:none;border:1px solid #667eea;color:#667eea;padding:.4rem .85rem;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s}.btn-update-card:hover:not(:disabled){background:#667eea;color:#fff}.btn-update-card:disabled{opacity:.6;cursor:not-allowed}.btn-link{background:none;border:none;color:#667eea;cursor:pointer;font-size:inherit;padding:0;text-decoration:underline;font-weight:500}.btn-link:hover{color:#5a67d8}.no-card-message,.no-invoices-message,.billing-loading{color:#718096;font-size:.9rem;margin:0}.invoice-table{width:100%;border-collapse:collapse;font-size:.9rem}.invoice-table th{text-align:left;padding:.6rem .75rem;background:#f7fafc;color:#4a5568;font-weight:600;border-bottom:2px solid #e2e8f0;font-size:.82rem;text-transform:uppercase;letter-spacing:.5px}.invoice-table td{padding:.65rem .75rem;border-bottom:1px solid #edf2f7;color:#2d3748;vertical-align:middle}.invoice-table tr:last-child td{border-bottom:none}.invoice-table tr:hover td{background:#f7fafc}.invoice-desc{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#4a5568}.invoice-status{display:inline-block;padding:.2rem .6rem;border-radius:12px;font-size:.8rem;font-weight:600}.invoice-status--paid{background:#c6f6d5;color:#276749}.invoice-status--open{background:#fefcbf;color:#744210}.invoice-status--void,.invoice-status--uncollectible{background:#fed7d7;color:#9b2c2c}.invoice-pdf-link{color:#667eea;text-decoration:none;font-weight:500;font-size:.85rem}.invoice-pdf-link:hover{text-decoration:underline}.terms-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.terms-modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:580px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;animation:terms-modal-in .2s ease}@keyframes terms-modal-in{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.terms-modal-header{display:flex;align-items:flex-start;gap:14px;padding:20px 24px 16px;border-bottom:1px solid #eee}.terms-modal-icon{font-size:2rem;flex-shrink:0;line-height:1}.terms-modal-header h2{margin:0 0 4px;font-size:1.25rem;color:#1a1a1a}.terms-modal-action-label{margin:0;font-size:.85rem;color:#667eea;font-weight:600}.terms-modal-close{margin-left:auto;background:none;border:none;font-size:1.2rem;cursor:pointer;color:#999;padding:0;flex-shrink:0;line-height:1;transition:color .15s}.terms-modal-close:hover{color:#333}.terms-modal-body{flex:1;overflow:hidden;display:flex;flex-direction:column;padding:20px 24px;gap:16px}.terms-modal-scroll{flex:1;overflow-y:auto;padding-right:4px}.terms-modal-scroll h3{margin:0 0 10px;font-size:1rem;color:#1a1a1a}.terms-modal-scroll p{margin:0 0 12px;font-size:.9rem;color:#555;line-height:1.5}.terms-modal-list{margin:0 0 16px;padding-left:20px;display:flex;flex-direction:column;gap:10px}.terms-modal-list li{font-size:.88rem;color:#444;line-height:1.5}.terms-modal-list li strong{color:#1a1a1a}.terms-modal-links-text{font-size:.88rem;color:#555;line-height:1.5;padding:12px 14px;background:#f7f8ff;border:1px solid #e2e8f0;border-radius:8px}.terms-modal-link{color:#667eea;text-decoration:none;font-weight:600}.terms-modal-link:hover{text-decoration:underline}.terms-modal-checkbox-label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:.9rem;color:#2d3748;font-weight:500;line-height:1.4;padding:12px 14px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px}.terms-modal-checkbox{width:18px;height:18px;flex-shrink:0;margin-top:2px;accent-color:#667eea;cursor:pointer}.terms-modal-footer{display:flex;gap:12px;padding:16px 24px 20px;border-top:1px solid #eee;justify-content:flex-end}.terms-modal-btn-cancel{padding:10px 20px;background:#f5f5f5;border:1px solid #ddd;border-radius:8px;font-size:.95rem;font-weight:500;color:#555;cursor:pointer;transition:all .2s}.terms-modal-btn-cancel:hover{background:#e8e8e8;border-color:#ccc}.terms-modal-btn-confirm{padding:10px 22px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #667eea4d}.terms-modal-btn-confirm:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea73}.terms-modal-btn-confirm:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}@media (max-width: 600px){.terms-modal-footer{flex-direction:column-reverse}.terms-modal-btn-cancel,.terms-modal-btn-confirm{width:100%;text-align:center}}@media (max-width: 768px){.subscription-page{padding:16px}.subscription-header h1{font-size:1.5rem}.header-actions{flex-wrap:wrap}.plan-header{flex-direction:column;gap:16px}.plan-price{text-align:left}.plan-limits{flex-direction:column;gap:8px}.plans-grid,.stats-grid{grid-template-columns:1fr}.extra-jobsites-info{flex-direction:column;gap:12px}.extra-qty-row{flex-direction:column;align-items:flex-start;gap:10px}.btn-buy-extra{width:100%;align-self:stretch}}.download-container{min-height:100vh;background:#f8f9fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.nav-link-active{color:#667eea!important;font-weight:600}.download-hero{background:linear-gradient(135deg,#667eea,#764ba2);padding:48px 24px 40px;text-align:center}.download-hero-content{max-width:700px;margin:0 auto}.download-hero-title{font-size:2rem;font-weight:800;color:#fff;margin:0 0 12px;line-height:1.2}.download-gradient{background:linear-gradient(135deg,#a8edea,#fed6e3);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.download-hero-subtitle{font-size:1rem;color:#ffffffe0;line-height:1.6;margin:0}.download-cards-section{padding:60px 24px;max-width:1000px;margin:0 auto}.download-cards-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.download-card{background:#fff;border-radius:20px;box-shadow:0 4px 24px #00000014;overflow:hidden;position:relative;transition:transform .2s ease,box-shadow .2s ease}.download-card:hover{transform:translateY(-4px);box-shadow:0 8px 40px #0000001f}.download-card-android{border-top:4px solid #3ddc84}.download-card-ios{border-top:4px solid #a2aaad}.download-card-soon{opacity:.75}.coming-soon-badge{position:absolute;top:16px;right:16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;padding:4px 12px;border-radius:20px}.download-card-header{display:flex;align-items:center;gap:16px;padding:28px 28px 0}.platform-icon{font-size:2.8rem;line-height:1}.platform-name{font-size:1.6rem;font-weight:700;color:#1a1a2e;margin:0 0 4px}.platform-version{font-size:.85rem;color:#888;margin:0}.download-card-body{padding:24px 28px 28px}.download-features{list-style:none;padding:0;margin:0 0 20px}.download-features li{font-size:.95rem;color:#444;padding:6px 0;border-bottom:1px solid #f0f0f0}.download-features li:last-child{border-bottom:none}.download-features-muted li{color:#999}.download-note{display:flex;align-items:flex-start;gap:10px;background:#fff8e1;border:1px solid #ffe082;border-radius:10px;padding:12px 16px;margin-bottom:24px;font-size:.85rem;color:#5a4a00;line-height:1.5}.note-icon{font-size:1rem;flex-shrink:0;margin-top:1px}.btn-download-android{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:16px 24px;background:linear-gradient(135deg,#3ddc84,#2bb56a);color:#fff;font-size:1.05rem;font-weight:700;border:none;border-radius:12px;cursor:pointer;text-decoration:none;transition:all .2s ease;box-shadow:0 4px 16px #3ddc8459}.btn-download-android:hover{background:linear-gradient(135deg,#2bb56a,#1e9e56);transform:translateY(-2px);box-shadow:0 6px 24px #3ddc8473}.btn-download-ios{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:16px 24px;background:#e0e0e0;color:#999;font-size:1.05rem;font-weight:700;border:none;border-radius:12px;cursor:not-allowed;margin-bottom:0}.download-btn-icon{font-size:1.1rem}.download-version-note{text-align:center;font-size:.8rem;color:#aaa;margin:12px 0 0}.download-web-section{background:linear-gradient(135deg,#667eea15,#764ba215);border-top:1px solid #e8e8f0;border-bottom:1px solid #e8e8f0;padding:40px 24px}.download-web-content{max-width:900px;margin:0 auto;display:flex;align-items:center;gap:24px}.web-icon{font-size:2.5rem;flex-shrink:0}.web-text{flex:1}.web-title{font-size:1.3rem;font-weight:700;color:#1a1a2e;margin:0 0 6px}.web-subtitle{font-size:.95rem;color:#666;margin:0;line-height:1.6}.btn-web-app{display:flex;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:.95rem;font-weight:600;border:none;border-radius:10px;cursor:pointer;white-space:nowrap;transition:all .2s ease;box-shadow:0 4px 14px #667eea59;flex-shrink:0}.btn-web-app:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea73}.install-section{padding:60px 24px;max-width:1100px;margin:0 auto}.install-section.install-section-ios{max-width:100%;margin:0;padding:60px 24px}.install-section.install-section-ios .install-steps,.install-section.install-section-ios .section-header{max-width:1100px;margin-left:auto;margin-right:auto}.install-steps{display:flex;align-items:flex-start;gap:0;margin-top:40px;flex-wrap:wrap;justify-content:center}.install-step{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:200px;flex:1;min-width:160px}.install-step-number{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:1.4rem;font-weight:800;display:flex;align-items:center;justify-content:center;margin-bottom:16px;box-shadow:0 4px 14px #667eea59;flex-shrink:0}.install-step-content h4{font-size:1rem;font-weight:700;color:#1a1a2e;margin:0 0 8px}.install-step-content p{font-size:.85rem;color:#666;line-height:1.6;margin:0}.install-step-arrow{font-size:1.5rem;color:#ccc;padding:0 8px;margin-top:14px;flex-shrink:0}.install-section-ios{background:linear-gradient(135deg,#f0f4ff,#faf0ff);border-top:1px solid #e0e8ff;border-bottom:1px solid #e0e8ff;border-radius:0;margin-top:0}.install-section-platform-header{display:flex;align-items:center;gap:16px;justify-content:center;text-align:left}.install-section-platform-header .section-title,.install-section-platform-header .section-subtitle{text-align:left}.install-section-platform-icon{font-size:2.8rem;line-height:1;flex-shrink:0}.install-step-number-ios{background:linear-gradient(135deg,#555,#1a1a2e)!important;box-shadow:0 4px 14px #00000040!important}.ios-safari-note{display:flex;align-items:flex-start;gap:10px;background:#fff8e1;border:1px solid #ffe082;border-radius:10px;padding:12px 16px;margin:0 auto 32px;max-width:700px;font-size:.88rem;color:#5a4a00;line-height:1.5}@media (max-width: 768px){.download-hero-title{font-size:2rem}.download-cards-grid{grid-template-columns:1fr}.download-web-content{flex-direction:column;text-align:center}.btn-web-app{width:100%;justify-content:center}.install-steps{flex-direction:column;align-items:center}.install-step-arrow{transform:rotate(90deg);margin:8px 0;padding:0}.install-step{max-width:100%}}@media (max-width: 480px){.download-hero{padding:32px 16px 28px}.download-cards-section{padding:40px 16px}.download-card-header{padding:20px 20px 0}.download-card-body{padding:20px 20px 24px}}.settings-container{min-height:100vh;background:#0f1117;color:#e0e0e0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.settings-loading{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:1.1rem;color:#888}.settings-header{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;padding-top:calc(1rem + env(safe-area-inset-top));background:#1a1d27;border-bottom:1px solid #2a2d3a;position:sticky;top:0;z-index:10}.settings-header h1{margin:0;font-size:1.4rem;font-weight:700;color:#fff;flex:1}.settings-business-name{font-size:.85rem;color:#888;background:#2a2d3a;padding:.25rem .75rem;border-radius:20px}.btn-back{background:none;border:1px solid #3a3d4a;color:#aaa;padding:.4rem .9rem;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .2s;white-space:nowrap}.btn-back:hover{background:#2a2d3a;color:#fff;border-color:#555}.settings-main{max-width:760px;margin:0 auto;padding:1.5rem 1rem 3rem}.settings-alert{padding:.85rem 1.1rem;border-radius:10px;margin-bottom:1.2rem;font-size:.95rem;font-weight:500}.settings-alert-success{background:#22c55e1f;border:1px solid rgba(34,197,94,.35);color:#4ade80}.settings-alert-error{background:#ef44441f;border:1px solid rgba(239,68,68,.35);color:#f87171}.settings-card{background:#1a1d27;border:1px solid #2a2d3a;border-radius:14px;padding:1.5rem;margin-bottom:1.5rem}.settings-card-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.2rem;border-bottom:1px solid #2a2d3a}.settings-card-icon{font-size:2rem;line-height:1;flex-shrink:0}.settings-card-header h2{margin:0 0 .3rem;font-size:1.15rem;font-weight:700;color:#fff}.settings-card-subtitle{margin:0;font-size:.88rem;color:#888;line-height:1.4}.storage-options{display:flex;flex-direction:column;gap:.85rem;margin-bottom:1.2rem}.storage-option{display:flex;align-items:flex-start;gap:1rem;padding:1.1rem 1.2rem;background:#12141c;border:2px solid #2a2d3a;border-radius:12px;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.storage-option:hover{border-color:#444;background:#1a1d27}.storage-option.selected{border-color:#2a2d3a;background:#12141c}.storage-option-radio{display:none}.storage-option-content{flex:1;min-width:0}.storage-option-title{font-size:1rem;font-weight:700;color:#fff;margin-bottom:.4rem;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.badge-current{font-size:.7rem;font-weight:600;background:#f97316;color:#fff;padding:.15rem .55rem;border-radius:20px;text-transform:uppercase;letter-spacing:.04em}.storage-option-desc{font-size:.88rem;color:#aaa;margin-bottom:.35rem}.storage-option-path{font-family:Consolas,Courier New,monospace;font-size:.85rem;color:#f97316;background:#f9731614;padding:.25rem .6rem;border-radius:6px;display:inline-block;margin-bottom:.4rem;word-break:break-all}.storage-option-note{font-size:.8rem;color:#666}.storage-option-benefits{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.4rem}.storage-option-benefits span{font-size:.82rem;color:#4ade80;background:#22c55e14;padding:.2rem .55rem;border-radius:20px;border:1px solid rgba(34,197,94,.2)}.custom-path-section{background:#12141c;border:1px solid #2a2d3a;border-radius:12px;padding:1.2rem;margin-bottom:1.2rem}.custom-path-label{display:block;font-size:.95rem;font-weight:600;color:#ddd;margin-bottom:.5rem}.custom-path-hint{font-size:.83rem;color:#888;margin:0 0 .9rem;line-height:1.5}.custom-path-hint code{font-family:Consolas,Courier New,monospace;background:#1e2130;color:#f97316;padding:.1rem .4rem;border-radius:4px;font-size:.82rem}.custom-path-input-row{display:flex;gap:.6rem;margin-bottom:.7rem}.custom-path-input{flex:1;background:#1a1d27;border:1.5px solid #3a3d4a;border-radius:8px;color:#e0e0e0;font-family:Consolas,Courier New,monospace;font-size:.9rem;padding:.6rem .9rem;outline:none;transition:border-color .2s;min-width:0}.custom-path-input:focus{border-color:#f97316}.custom-path-input.input-valid{border-color:#22c55e}.custom-path-input.input-invalid{border-color:#ef4444}.btn-validate{background:#2a2d3a;border:1px solid #3a3d4a;color:#ddd;padding:.6rem 1rem;border-radius:8px;cursor:pointer;font-size:.88rem;font-weight:600;white-space:nowrap;transition:all .2s;flex-shrink:0}.btn-validate:hover:not(:disabled){background:#3a3d4a;color:#fff}.btn-validate:disabled{opacity:.5;cursor:not-allowed}.validation-result{font-size:.88rem;font-weight:500;padding:.55rem .9rem;border-radius:8px;margin-bottom:.8rem}.validation-ok{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);color:#4ade80}.validation-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#f87171}.current-custom-path{font-size:.85rem;color:#aaa;margin-bottom:.9rem;padding:.6rem .9rem;background:#1a1d27;border-radius:8px;border:1px solid #2a2d3a;word-break:break-all}.current-custom-path code{font-family:Consolas,Courier New,monospace;color:#f97316}.path-warning{color:#fbbf24;font-size:.82rem}.path-ok{color:#4ade80;font-size:.82rem}.custom-path-info-box{background:#3b82f612;border:1px solid rgba(59,130,246,.2);border-radius:10px;padding:.9rem 1.1rem;font-size:.85rem;color:#aaa;line-height:1.5}.custom-path-info-box strong{color:#93c5fd;display:block;margin-bottom:.5rem}.custom-path-info-box ul{margin:0;padding-left:1.3rem}.custom-path-info-box li{margin-bottom:.3rem}.custom-path-info-box li strong{display:inline;color:#e0e0e0}.settings-actions{display:flex;align-items:center;gap:1rem;padding-top:1rem;border-top:1px solid #2a2d3a;margin-top:.5rem}.btn-save-settings{background:linear-gradient(135deg,#f97316,#ea580c);border:none;color:#fff;padding:.75rem 1.8rem;border-radius:10px;cursor:pointer;font-size:1rem;font-weight:700;transition:all .2s;box-shadow:0 2px 8px #f973164d}.btn-save-settings:hover:not(:disabled){background:linear-gradient(135deg,#fb923c,#f97316);transform:translateY(-1px);box-shadow:0 4px 12px #f9731666}.btn-save-settings:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.no-changes-note{font-size:.83rem;color:#555;font-style:italic}.biz-form{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.2rem}.biz-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.biz-field{display:flex;flex-direction:column;gap:.4rem}.biz-label{font-size:.88rem;font-weight:600;color:#ccc}.biz-required{color:#f87171;margin-left:2px}.biz-input,.biz-textarea{background:#12141c;border:1.5px solid #3a3d4a;border-radius:8px;color:#e0e0e0;font-size:.93rem;padding:.6rem .9rem;outline:none;transition:border-color .2s;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;width:100%;box-sizing:border-box}.biz-input:focus,.biz-textarea:focus{border-color:#f97316}.biz-textarea{resize:vertical;min-height:80px;line-height:1.5}.biz-input::placeholder,.biz-textarea::placeholder{color:#555}.browse-note{font-size:.85rem;color:#93c5fd;background:#3b82f614;border:1px solid rgba(59,130,246,.2);border-radius:8px;padding:.55rem .9rem;margin-bottom:.7rem;line-height:1.5}.btn-browse{background:#2a2d3a;border:1px solid #3a3d4a;color:#ddd;padding:.6rem 1rem;border-radius:8px;cursor:pointer;font-size:.88rem;font-weight:600;white-space:nowrap;transition:all .2s;flex-shrink:0}.btn-browse:hover{background:#3a3d4a;color:#fff;border-color:#f97316}.default-storage-usage{margin-top:.85rem;padding:.85rem 1rem;background:#ffffff08;border:1px solid #2a2d3a;border-radius:10px;cursor:default}.dsu-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.55rem;flex-wrap:wrap;gap:.3rem}.dsu-label{font-size:.82rem;font-weight:600;color:#aaa;text-transform:uppercase;letter-spacing:.04em}.dsu-values{font-size:.9rem;color:#e0e0e0}.dsu-values strong{color:#fff;font-weight:700}.dsu-limit{color:#666;font-size:.85rem}.dsu-bar-track{width:100%;height:8px;background:#2a2d3a;border-radius:99px;overflow:hidden;margin-bottom:.45rem}.dsu-bar-fill{height:100%;border-radius:99px;transition:width .6s ease,background .3s ease;min-width:2px}.dsu-pct-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.3rem}.dsu-pct{font-size:.8rem;font-weight:600}.dsu-warning{font-size:.8rem;color:#ef4444;font-weight:700}.dsu-file-count{font-size:.78rem;color:#555}.export-section{margin-top:.9rem;padding-top:.85rem;border-top:1px solid rgba(255,255,255,.08)}.export-section-title{font-size:.9rem;font-weight:600;color:#e2e8f0;margin-bottom:.3rem}.export-section-desc{font-size:.8rem;color:#94a3b8;margin:0 0 .7rem;line-height:1.4}.export-checkboxes{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;margin-bottom:.85rem}.export-checkbox-label{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:#cbd5e1;cursor:pointer;-webkit-user-select:none;user-select:none}.export-checkbox-label input[type=checkbox]{width:15px;height:15px;accent-color:#f97316;cursor:pointer;flex-shrink:0}.btn-export{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1.1rem;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;border:none;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:opacity .15s,transform .15s}.btn-export:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-export:disabled{opacity:.45;cursor:not-allowed;transform:none}.export-status{margin-top:.55rem;font-size:.8rem;border-radius:6px;padding:.4rem .7rem}.export-status-ok{color:#86efac;background:#22c55e1a;border:1px solid rgba(34,197,94,.2)}.export-status-error{color:#fca5a5;background:#ef44441a;border:1px solid rgba(239,68,68,.2)}.export-jobsite-row{margin-bottom:.75rem}.export-jobsite-select{width:100%;background:#12141c;border:1.5px solid #3a3d4a;border-radius:8px;color:#e0e0e0;font-size:.88rem;padding:.55rem 2.2rem .55rem .85rem;outline:none;cursor:pointer;transition:border-color .2s;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}.export-jobsite-select:focus{border-color:#f97316}.export-jobsite-select option{background:#1a1d27;color:#e0e0e0}.btn-export-csv{background:linear-gradient(135deg,#16a34a,#15803d);box-shadow:0 2px 8px #16a34a4d}.btn-export-csv:hover:not(:disabled){background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 4px 12px #16a34a66}.csv-filters{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.65rem;margin-bottom:.85rem}.csv-filter-group{display:flex;flex-direction:column;gap:.3rem}.csv-filter-label{font-size:.75rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em}.csv-date-input{background:#12141c;border:1.5px solid #3a3d4a;border-radius:8px;color:#e0e0e0;font-size:.85rem;padding:.5rem .7rem;outline:none;transition:border-color .2s;width:100%;box-sizing:border-box;cursor:pointer}.csv-date-input:focus{border-color:#f97316}.csv-date-input::-webkit-calendar-picker-indicator{filter:invert(.6);cursor:pointer}@media (max-width: 480px){.export-checkboxes{flex-direction:column;gap:.4rem}.btn-export{width:100%;justify-content:center}.export-jobsite-select{font-size:.85rem}.csv-filters{grid-template-columns:1fr}}.fb-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.fb-modal{background:#1a1d27;border:1px solid #3a3d4a;border-radius:14px;width:100%;max-width:520px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #0009}.fb-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.2rem;border-bottom:1px solid #2a2d3a;flex-shrink:0}.fb-title{font-size:1rem;font-weight:700;color:#fff}.fb-close{background:none;border:none;color:#888;font-size:1.1rem;cursor:pointer;padding:.2rem .5rem;border-radius:6px;transition:all .15s}.fb-close:hover{background:#2a2d3a;color:#fff}.fb-breadcrumb{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;background:#12141c;border-bottom:1px solid #2a2d3a;flex-shrink:0;min-height:0;overflow:hidden}.fb-breadcrumb-label{font-size:.78rem;color:#666;white-space:nowrap;flex-shrink:0}.fb-breadcrumb-path{font-family:Consolas,Courier New,monospace;font-size:.82rem;color:#f97316;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fb-up-btn{background:#12141c;border:none;border-bottom:1px solid #2a2d3a;color:#93c5fd;padding:.5rem 1.2rem;text-align:left;cursor:pointer;font-size:.85rem;width:100%;transition:background .15s;flex-shrink:0}.fb-up-btn:hover:not(:disabled){background:#1a1d27;color:#bfdbfe}.fb-up-btn:disabled{opacity:.4;cursor:not-allowed}.fb-drive-label{padding:.5rem 1.2rem;font-size:.8rem;color:#666;background:#12141c;border-bottom:1px solid #2a2d3a;flex-shrink:0}.fb-list{flex:1;overflow-y:auto;min-height:0}.fb-loading,.fb-error,.fb-empty{padding:1.5rem 1.2rem;text-align:center;font-size:.88rem;color:#666}.fb-error{color:#f87171}.fb-entry{display:flex;align-items:center;gap:.6rem;padding:.6rem 1.2rem;cursor:pointer;border-bottom:1px solid #1e2130;transition:background .12s;-webkit-user-select:none;user-select:none}.fb-entry:hover{background:#1e2130}.fb-entry.fb-entry-selected{background:#f973161a;border-left:3px solid #f97316;padding-left:calc(1.2rem - 3px)}.fb-entry-icon{font-size:1rem;flex-shrink:0}.fb-entry-name{flex:1;font-size:.9rem;color:#ddd;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fb-entry-open{background:none;border:1px solid #3a3d4a;color:#888;font-size:.75rem;padding:.15rem .45rem;border-radius:4px;cursor:pointer;flex-shrink:0;transition:all .15s}.fb-entry-open:hover{background:#2a2d3a;color:#fff;border-color:#f97316}.fb-selected-display{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;background:#22c55e0f;border-top:1px solid rgba(34,197,94,.2);flex-shrink:0;overflow:hidden}.fb-selected-label{font-size:.78rem;color:#4ade80;font-weight:600;white-space:nowrap;flex-shrink:0}.fb-selected-path{font-family:Consolas,Courier New,monospace;font-size:.82rem;color:#4ade80;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fb-actions{display:flex;gap:.7rem;padding:.9rem 1.2rem;border-top:1px solid #2a2d3a;flex-shrink:0;justify-content:flex-end}.fb-btn-cancel{background:#2a2d3a;border:1px solid #3a3d4a;color:#aaa;padding:.55rem 1.2rem;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .15s}.fb-btn-cancel:hover{background:#3a3d4a;color:#fff}.fb-btn-select{background:linear-gradient(135deg,#f97316,#ea580c);border:none;color:#fff;padding:.55rem 1.4rem;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:700;transition:all .15s;box-shadow:0 2px 8px #f973164d}.fb-btn-select:hover:not(:disabled){background:linear-gradient(135deg,#fb923c,#f97316);transform:translateY(-1px)}.fb-btn-select:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}@media (max-width: 600px){.settings-header{padding:.85rem 1rem;padding-top:calc(.85rem + env(safe-area-inset-top))}.settings-header h1{font-size:1.15rem}.settings-business-name{display:none}.settings-main{padding:1rem .75rem 2rem}.settings-card{padding:1.1rem}.storage-option{padding:.9rem 1rem}.custom-path-input-row{flex-direction:column}.btn-browse,.btn-validate{width:100%}.settings-actions{flex-direction:column;align-items:stretch}.btn-save-settings{width:100%;text-align:center}.biz-row{grid-template-columns:1fr}}.feature-flags-section{padding:.25rem 0}.feature-flags-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.feature-flags-title{font-size:1.05rem;font-weight:700;color:#e0e0e0;margin-bottom:.3rem}.feature-flags-desc{font-size:.85rem;color:#9ca3af;margin:0;line-height:1.5;max-width:520px}.flags-saved-msg{font-size:.85rem;font-weight:600;color:#22c55e;white-space:nowrap;padding:.3rem .75rem;background:#22c55e1f;border-radius:20px;border:1px solid rgba(34,197,94,.3);align-self:center}.flags-saved-msg--error{color:#f87171;background:#f871711f;border-color:#f871714d}.feature-flags-list{display:flex;flex-direction:column;gap:.5rem}.feature-flag-row{display:flex;align-items:center;gap:.85rem;padding:.75rem 1rem;border-radius:10px;border:1px solid #2a2d3a;background:#1e2130;transition:background .15s,border-color .15s}.feature-flag-row--on{border-color:#22c55e33;background:#22c55e0a}.feature-flag-row--off{border-color:#2a2d3a;background:#1a1d27;opacity:.75}.feature-flag-icon{font-size:1.25rem;flex-shrink:0;width:28px;text-align:center}.feature-flag-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.feature-flag-label{font-size:.92rem;font-weight:600;color:#e0e0e0}.feature-flag-desc{font-size:.78rem;color:#6b7280}.feature-flag-toggle{position:relative;width:44px;height:24px;border-radius:12px;border:none;cursor:pointer;flex-shrink:0;transition:background .2s;padding:0;outline:none}.feature-flag-toggle:focus-visible{box-shadow:0 0 0 3px #6366f166}.feature-flag-toggle:disabled{opacity:.6;cursor:not-allowed}.feature-flag-toggle--on{background:#22c55e}.feature-flag-toggle--off{background:#4b5563}.feature-flag-toggle-knob{position:absolute;top:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0000004d;transition:left .2s}.feature-flag-toggle--on .feature-flag-toggle-knob{left:23px}.feature-flag-toggle--off .feature-flag-toggle-knob{left:3px}.feature-flag-status{font-size:.78rem;font-weight:700;width:26px;text-align:right;flex-shrink:0}.feature-flag-status--on{color:#22c55e}.feature-flag-status--off{color:#6b7280}@media (max-width: 480px){.feature-flag-row{padding:.65rem .75rem;gap:.6rem}.feature-flag-desc{display:none}.feature-flags-header{flex-direction:column;gap:.5rem}}.settings-cert-title{margin:0 0 .4rem;font-size:1.1rem;font-weight:700;color:#fff}.settings-cert-desc{font-size:.86rem;color:#9ca3af;margin:0 0 1rem;line-height:1.5}.settings-cert-msg{padding:.6rem .9rem;border-radius:8px;font-size:.88rem;font-weight:500;margin-bottom:.85rem}.settings-cert-msg--success{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);color:#4ade80}.settings-cert-msg--error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#f87171}.settings-cert-add-btn{background:linear-gradient(135deg,#f97316,#ea580c);border:none;color:#fff;padding:.55rem 1.2rem;border-radius:9px;cursor:pointer;font-size:.9rem;font-weight:700;margin-bottom:1rem;transition:opacity .15s,transform .15s;box-shadow:0 2px 8px #f973164d}.settings-cert-add-btn:hover{opacity:.9;transform:translateY(-1px)}.settings-cert-form{background:#12141c;border:1px solid #2a2d3a;border-radius:12px;padding:1.2rem;margin-bottom:1rem;display:flex;flex-direction:column;gap:.85rem}.settings-cert-form-title{margin:0;font-size:.97rem;font-weight:700;color:#e0e0e0}.settings-cert-field{display:flex;flex-direction:column;gap:.3rem}.settings-cert-label{font-size:.83rem;font-weight:600;color:#cbd5e1}.settings-cert-label-hint{font-weight:400;color:#6b7280;font-size:.8rem}.settings-cert-input{background:#1a1d27;border:1.5px solid #3a3d4a;border-radius:8px;color:#e0e0e0;font-size:.9rem;padding:.55rem .8rem;outline:none;transition:border-color .2s;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;width:100%;box-sizing:border-box}.settings-cert-input:focus{border-color:#f97316}.settings-cert-input::placeholder{color:#4b5563}.settings-cert-textarea{resize:vertical;min-height:60px;line-height:1.5}.settings-cert-date-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.settings-cert-file-input{background:#1a1d27;border:1.5px dashed #3a3d4a;border-radius:8px;color:#9ca3af;font-size:.85rem;padding:.45rem .75rem;cursor:pointer;width:100%;box-sizing:border-box;transition:border-color .2s}.settings-cert-file-input:hover{border-color:#f97316}.settings-cert-existing-file{font-size:.83rem;color:#9ca3af;margin-bottom:.35rem}.settings-cert-file-selected{display:flex;align-items:center;gap:.5rem;font-size:.83rem;color:#60a5fa;margin-top:.3rem}.settings-cert-file-clear{background:none;border:none;color:#6b7280;cursor:pointer;font-size:.85rem;padding:0;line-height:1;transition:color .15s}.settings-cert-file-clear:hover{color:#f87171}.settings-cert-file-link{color:#60a5fa;text-decoration:none;font-size:.83rem}.settings-cert-file-link:hover{text-decoration:underline}.settings-cert-form-actions{display:flex;gap:.65rem;margin-top:.25rem}.settings-cert-cancel-btn{flex:1;background:#1e2130;border:1px solid #3a3d4a;color:#9ca3af;padding:.55rem 1rem;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .15s}.settings-cert-cancel-btn:hover{background:#2a2d3a;color:#e0e0e0}.settings-cert-list{display:flex;flex-direction:column;gap:.6rem;margin-top:.5rem}.settings-cert-item{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;background:#12141c;border:1px solid #2a2d3a;border-radius:10px;transition:border-color .15s}.settings-cert-item--expired{border-color:#ef444459;background:#ef44440a}.settings-cert-item--expiring{border-color:#fbbf2459;background:#fbbf240a}.settings-cert-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}.settings-cert-name{font-size:.95rem;font-weight:700;color:#e0e0e0;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.settings-cert-badge{font-size:.68rem;font-weight:700;padding:.15rem .5rem;border-radius:20px;text-transform:uppercase;letter-spacing:.04em}.settings-cert-badge--expired{background:#ef444433;color:#f87171;border:1px solid rgba(239,68,68,.4)}.settings-cert-badge--expiring{background:#fbbf2426;color:#fbbf24;border:1px solid rgba(251,191,36,.35)}.settings-cert-issuer{font-size:.82rem;color:#9ca3af}.settings-cert-dates{font-size:.8rem;color:#6b7280;display:flex;align-items:center;flex-wrap:wrap;gap:.3rem}.settings-cert-sep{color:#4b5563}.settings-cert-date--expired{color:#f87171;font-weight:600}.settings-cert-date--expiring{color:#fbbf24;font-weight:600}.settings-cert-notes{font-size:.8rem;color:#6b7280;font-style:italic}.settings-cert-file-link--inline{font-size:.8rem;color:#60a5fa;text-decoration:none;margin-top:.1rem;display:inline-block}.settings-cert-file-link--inline:hover{text-decoration:underline}.settings-cert-actions{display:flex;gap:.4rem;flex-shrink:0;align-items:flex-start}.settings-cert-btn{background:none;border:1px solid #3a3d4a;border-radius:7px;color:#9ca3af;font-size:.88rem;width:32px;height:32px;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center}.settings-cert-btn:hover{background:#2a2d3a;border-color:#555;color:#fff}.settings-cert-btn--del:hover{background:#ef444426;border-color:#ef444480;color:#f87171}.settings-cert-empty{font-size:.88rem;color:#4b5563;text-align:center;padding:1.2rem 0 .5rem;margin:0}@media (max-width: 480px){.settings-cert-date-row{grid-template-columns:1fr}.settings-cert-form-actions{flex-direction:column}}.bp-container{min-height:100vh;background:#0f1117;color:#e0e0e0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.bp-loading{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:1.1rem;color:#888}.bp-header{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:#1a1d27;border-bottom:1px solid #2a2d3a;position:sticky;top:0;z-index:10}.bp-header h1{margin:0;font-size:1.4rem;font-weight:700;color:#fff;flex:1}.bp-business-name{font-size:.85rem;color:#888;background:#2a2d3a;padding:.25rem .75rem;border-radius:20px}.bp-btn-back{background:none;border:1px solid #3a3d4a;color:#aaa;padding:.4rem .9rem;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .2s;white-space:nowrap}.bp-btn-back:hover{background:#2a2d3a;color:#fff;border-color:#555}.bp-main{max-width:760px;margin:0 auto;padding:1.5rem 1rem 3rem}.bp-alert{padding:.85rem 1.1rem;border-radius:10px;margin-bottom:1.2rem;font-size:.95rem;font-weight:500}.bp-alert-success{background:#22c55e1f;border:1px solid rgba(34,197,94,.35);color:#4ade80}.bp-alert-error{background:#ef44441f;border:1px solid rgba(239,68,68,.35);color:#f87171}.bp-card{background:#1a1d27;border:1px solid #2a2d3a;border-radius:14px;padding:1.5rem}.bp-card-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.2rem;border-bottom:1px solid #2a2d3a}.bp-card-icon{font-size:2rem;line-height:1;flex-shrink:0}.bp-card-header h2{margin:0 0 .3rem;font-size:1.15rem;font-weight:700;color:#fff}.bp-card-subtitle{margin:0;font-size:.88rem;color:#888;line-height:1.4}.bp-form{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.2rem}.bp-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.bp-field{display:flex;flex-direction:column;gap:.4rem}.bp-label{font-size:.88rem;font-weight:600;color:#ccc}.bp-required{color:#f87171;margin-left:2px}.bp-input,.bp-textarea{background:#12141c;border:1.5px solid #3a3d4a;border-radius:8px;color:#e0e0e0;font-size:.93rem;padding:.6rem .9rem;outline:none;transition:border-color .2s;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;width:100%;box-sizing:border-box}.bp-input:focus,.bp-textarea:focus{border-color:#f97316}.bp-textarea{resize:vertical;min-height:80px;line-height:1.5}.bp-input::placeholder,.bp-textarea::placeholder{color:#555}.bp-actions{display:flex;align-items:center;gap:1rem;padding-top:1rem;border-top:1px solid #2a2d3a;margin-top:.5rem}.bp-btn-save{background:linear-gradient(135deg,#f97316,#ea580c);border:none;color:#fff;padding:.75rem 1.8rem;border-radius:10px;cursor:pointer;font-size:1rem;font-weight:700;transition:all .2s;box-shadow:0 2px 8px #f973164d}.bp-btn-save:hover:not(:disabled){background:linear-gradient(135deg,#fb923c,#f97316);transform:translateY(-1px);box-shadow:0 4px 12px #f9731666}.bp-btn-save:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.bp-no-changes{font-size:.83rem;color:#555;font-style:italic}@media (max-width: 600px){.bp-header{padding:.85rem 1rem}.bp-header h1{font-size:1.15rem}.bp-business-name{display:none}.bp-main{padding:1rem .75rem 2rem}.bp-card{padding:1.1rem}.bp-row{grid-template-columns:1fr}.bp-actions{flex-direction:column;align-items:stretch}.bp-btn-save{width:100%;text-align:center}}.msg-container{display:flex;flex-direction:column;height:100vh;min-height:100vh;background:#0f172a;color:#e2e8f0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow:hidden}.msg-body{display:flex;flex:1;overflow:hidden;position:relative}.msg-sidebar{width:230px;min-width:230px;background:#161f2e;border-right:1px solid #1e2d40;display:flex;flex-direction:column;overflow-y:auto;flex-shrink:0}.msg-sidebar-header{padding:1rem 1rem .6rem;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:#475569;border-bottom:1px solid #1e2d40;flex-shrink:0}.msg-sidebar-dm-toggle{display:flex;align-items:center;gap:.4rem;width:100%;padding:.6rem 1rem .4rem;background:transparent;border:none;border-top:1px solid #1e2d40;margin-top:.25rem;cursor:pointer;text-align:left;transition:background .12s}.msg-sidebar-dm-toggle:hover{background:#ffffff08}.msg-sidebar-dm-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#475569;flex:1}.msg-sidebar-dm-arrow{font-size:1rem;color:#475569;line-height:1;transition:transform .2s ease;display:inline-block;transform:rotate(0)}.msg-sidebar-dm-arrow.open{transform:rotate(90deg)}.msg-sidebar-item.dm-item{padding-left:1.1rem}.msg-sidebar-item{display:flex;align-items:center;gap:.65rem;padding:.5rem .9rem;background:transparent;border:none;border-left:3px solid transparent;cursor:pointer;width:100%;text-align:left;transition:background .15s,border-color .15s;color:#94a3b8}.msg-sidebar-item:hover{background:#ffffff0a;color:#e2e8f0}.msg-sidebar-item.active{background:#3b82f61f;border-left-color:#3b82f6;color:#f1f5f9}.msg-sidebar-avatar{width:32px;height:32px;border-radius:8px;background:#253347;color:#64748b;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;flex-shrink:0;transition:background .15s,color .15s}.msg-sidebar-avatar.team{background:#14b8a626;color:#2dd4bf;font-size:.95rem;border-radius:8px}.msg-sidebar-item.active .msg-sidebar-avatar{background:#3b82f633;color:#60a5fa}.msg-sidebar-item:hover .msg-sidebar-avatar{background:#ffffff0f;color:#94a3b8}.msg-sidebar-item.active:hover .msg-sidebar-avatar{background:#3b82f640;color:#93c5fd}.msg-sidebar-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.05rem}.msg-sidebar-name{font-size:.83rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:inherit}.msg-sidebar-role{font-size:.67rem;color:#3d5068}.msg-sidebar-item.active .msg-sidebar-role{color:#64748b}.msg-sidebar-item:hover .msg-sidebar-role{color:#475569}.msg-sidebar-badge{background:#ea580c;color:#fff;font-size:.63rem;font-weight:700;padding:.12rem .38rem;border-radius:999px;flex-shrink:0;min-width:18px;text-align:center;line-height:1.4}.msg-chat-panel{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.msg-sidebar-toggle{display:none;background:transparent;border:1px solid #475569;color:#94a3b8;padding:.4rem .6rem;border-radius:8px;cursor:pointer;font-size:1rem;transition:all .15s;flex-shrink:0}.msg-sidebar-toggle:hover{background:#334155;color:#e2e8f0}.msg-sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:40}.msg-header{display:flex;align-items:center;padding:.7rem 1rem;background:#161f2e;border-bottom:1px solid #1e2d40;flex-shrink:0;gap:.75rem}.msg-back-btn{background:#ffffff0d;border:1px solid #253347;color:#64748b;padding:.35rem .8rem;border-radius:7px;cursor:pointer;font-size:.82rem;white-space:nowrap;transition:all .15s;flex-shrink:0}.msg-back-btn:hover{background:#ffffff14;color:#e2e8f0;border-color:#334155}.msg-header-center{flex:1;text-align:center;min-width:0}.msg-title{margin:0;font-size:1rem;font-weight:700;color:#e2e8f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msg-subtitle{display:block;font-size:.7rem;color:#3d5068;margin-top:.1rem}.msg-header-right{min-width:60px;display:flex;justify-content:flex-end;flex-shrink:0}.msg-unread-badge{background:#ea580c;color:#fff;font-size:.68rem;font-weight:700;padding:.18rem .5rem;border-radius:999px;white-space:nowrap}.msg-error-banner{background:#ef444426;border:1px solid rgba(239,68,68,.4);color:#fca5a5;padding:.6rem 1rem;font-size:.85rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-shrink:0}.msg-error-dismiss{background:transparent;border:none;color:#fca5a5;cursor:pointer;font-size:1rem;padding:0;line-height:1}.msg-loading{flex:1;display:flex;align-items:center;justify-content:center;color:#64748b;font-size:.95rem}.msg-feed{flex:1;overflow-y:auto;padding:1rem 1rem .5rem;display:flex;flex-direction:column;gap:.6rem;scroll-behavior:smooth}.msg-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;padding:3rem 1rem;color:#475569}.msg-empty-icon{font-size:2.5rem}.msg-empty-text{font-size:1rem;font-weight:600;color:#64748b;margin:0}.msg-empty-hint{font-size:.82rem;color:#475569;margin:0}.msg-bubble-row{display:flex;align-items:flex-end;gap:.5rem;max-width:100%}.msg-bubble-row.own{flex-direction:row-reverse}.msg-bubble-row.other{flex-direction:row}.msg-avatar{width:32px;height:32px;border-radius:50%;background:#334155;color:#94a3b8;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;flex-shrink:0}.msg-avatar.own{background:#1d4ed8;color:#bfdbfe}.msg-bubble-group{display:flex;flex-direction:column;max-width:min(70%,480px);gap:.2rem}.msg-bubble-row.own .msg-bubble-group{align-items:flex-end}.msg-bubble-row.other .msg-bubble-group{align-items:flex-start}.msg-sender-line{display:flex;align-items:center;gap:.35rem;padding:0 .2rem}.msg-sender-name{font-size:.75rem;font-weight:600;color:#94a3b8}.msg-role-badge{font-size:.62rem;font-weight:700;padding:.1rem .35rem;border-radius:4px;text-transform:uppercase;letter-spacing:.03em}.msg-role-badge.owner{background:#f9731633;color:#fb923c;border:1px solid rgba(249,115,22,.3)}.msg-bubble{padding:.55rem .85rem;border-radius:16px;word-break:break-word;line-height:1.45}.msg-bubble.own{background:#1d4ed8;color:#eff6ff;border-bottom-right-radius:4px}.msg-bubble.other{background:#1e293b;color:#e2e8f0;border-bottom-left-radius:4px;border:1px solid #334155}.msg-bubble.unread{border-color:#f97316;box-shadow:0 0 0 1px #f973164d}.msg-content{margin:0;font-size:.9rem;white-space:pre-wrap}.msg-meta-row{display:flex;align-items:center;gap:.4rem;padding:0 .2rem}.msg-time{font-size:.68rem;color:#475569;cursor:default}.msg-delete-btn{background:transparent;border:none;cursor:pointer;font-size:.75rem;opacity:.4;padding:0;line-height:1;transition:opacity .15s}.msg-delete-btn:hover{opacity:1}.msg-delete-confirm{font-size:.72rem;color:#fca5a5;display:flex;align-items:center;gap:.25rem}.msg-delete-yes,.msg-delete-no{background:transparent;border:none;cursor:pointer;font-size:.72rem;font-weight:700;padding:0}.msg-delete-yes{color:#f87171}.msg-delete-no{color:#94a3b8}.msg-compose{border-top:1px solid #1e2d40;background:#161f2e;padding:.75rem 1rem;flex-shrink:0}.msg-send-error{font-size:.78rem;color:#fca5a5;margin-bottom:.4rem}.msg-compose-form{display:flex;flex-direction:column;gap:.35rem}.msg-compose-input-row{display:flex;gap:.5rem;align-items:flex-end}.msg-compose-textarea{flex:1;background:#0f172a;border:1px solid #334155;border-radius:12px;color:#e2e8f0;font-size:.9rem;padding:.6rem .85rem;resize:none;font-family:inherit;line-height:1.45;transition:border-color .15s;min-height:44px}.msg-compose-textarea:focus{outline:none;border-color:#3b82f6}.msg-compose-textarea::placeholder{color:#475569}.msg-compose-textarea:disabled{opacity:.5}.msg-send-btn{width:42px;height:42px;border-radius:50%;background:#1d4ed8;border:none;color:#fff;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,transform .1s}.msg-send-btn:hover:not(:disabled){background:#2563eb;transform:scale(1.05)}.msg-send-btn:disabled{background:#1e3a6e;opacity:.5;cursor:not-allowed}.msg-compose-footer{display:flex;justify-content:space-between;align-items:center;padding:0 .1rem}.msg-char-count{font-size:.68rem;color:#475569}.msg-compose-hint{font-size:.68rem;color:#334155}.msg-upgrade-wall{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1.5rem;text-align:center;gap:1rem;overflow-y:auto}.msg-upgrade-icon{font-size:3rem}.msg-upgrade-heading{margin:0;font-size:1.4rem;font-weight:700;color:#f1f5f9}.msg-upgrade-desc{margin:0;font-size:.9rem;color:#94a3b8;max-width:380px;line-height:1.55}.msg-upgrade-features{display:flex;flex-direction:column;gap:.4rem;text-align:left;background:#1e293b;border:1px solid #334155;border-radius:12px;padding:1rem 1.25rem;width:100%;max-width:360px}.msg-upgrade-feature{font-size:.85rem;color:#cbd5e1}.msg-upgrade-plan{margin:0;font-size:.85rem;color:#64748b}.msg-upgrade-plan strong{color:#f97316}.msg-upgrade-btn{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;border:none;border-radius:10px;padding:.75rem 1.75rem;font-size:.95rem;font-weight:700;cursor:pointer;transition:opacity .15s,transform .1s}.msg-upgrade-btn:hover{opacity:.9;transform:translateY(-1px)}.msg-upgrade-contact{margin:0;font-size:.82rem;color:#64748b}.msg-toast{position:fixed;top:1.1rem;right:1.1rem;z-index:9999;display:flex;align-items:center;gap:.6rem;background:#1e293b;border:1px solid #22c55e;border-left:4px solid #22c55e;border-radius:10px;padding:.65rem 1rem .65rem .85rem;box-shadow:0 8px 24px #00000073;min-width:220px;max-width:320px;pointer-events:none;animation:msg-toast-in .28s cubic-bezier(.22,1,.36,1) forwards}.msg-toast.msg-toast-exit{animation:msg-toast-out .25s ease-in forwards}@keyframes msg-toast-in{0%{opacity:0;transform:translate(110%)}to{opacity:1;transform:translate(0)}}@keyframes msg-toast-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(110%)}}.msg-toast-icon{font-size:1.15rem;flex-shrink:0;line-height:1}.msg-toast-body{display:flex;flex-direction:column;gap:.1rem;min-width:0}.msg-toast-title{font-size:.82rem;font-weight:700;color:#22c55e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msg-toast-sub{font-size:.72rem;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 700px){.msg-sidebar-toggle{display:flex}.msg-sidebar-overlay{display:block}.msg-sidebar{position:fixed;top:0;left:0;bottom:0;z-index:50;transform:translate(-100%);transition:transform .22s ease;width:240px;min-width:240px}.msg-sidebar.open{transform:translate(0)}}@media (max-width: 480px){.msg-header{padding:.7rem .85rem}.msg-title{font-size:.95rem}.msg-feed{padding:.75rem .75rem .4rem}.msg-bubble-group{max-width:85%}.msg-compose{padding:.6rem .75rem}.msg-compose-hint{display:none}}.tt-container{max-width:900px;margin:0 auto;padding:16px 16px 80px}.tt-header{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap;justify-content:center}.tt-title{font-size:1.5rem;font-weight:700;margin:0;text-align:center}.tt-bottom-nav{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:2px solid #e0e0e0;padding:12px 20px;display:flex;gap:10px;justify-content:center;align-items:center;flex-wrap:wrap;box-shadow:0 -2px 10px #0000001a;z-index:100}.btn-nav{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;padding:10px 18px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .2s;display:inline-flex;align-items:center;gap:6px}.btn-nav:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.btn-primary{background:#f97316;color:#fff;border:none;border-radius:8px;padding:8px 16px;cursor:pointer;font-weight:600}.btn-primary:hover{background:#ea580c}.btn-secondary{background:#e5e7eb;color:#374151;border:none;border-radius:8px;padding:8px 16px;cursor:pointer}.tt-manage-wrapper{position:relative}.btn-manage{background:#6b7280;color:#fff;border:none;border-radius:8px;padding:8px 16px;cursor:pointer;font-weight:600;font-size:.9rem;transition:background .2s;white-space:nowrap}.btn-manage:hover{background:#4b5563}.btn-manage--active{background:#374151}.tt-manage-dropdown{position:absolute;bottom:calc(100% + 10px);right:0;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 -4px 20px #00000026;min-width:170px;overflow:hidden;z-index:200}.tt-manage-item{display:block;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid #f3f4f6;padding:12px 16px;cursor:pointer;font-size:.9rem;font-weight:600;color:#374151;transition:background .15s}.tt-manage-item:last-child{border-bottom:none}.tt-manage-item:hover{background:#f9fafb}.tt-manage-item:disabled{opacity:.6;cursor:not-allowed}.tt-manage-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.error-message{background:#fee2e2;color:#dc2626;padding:10px 14px;border-radius:8px;margin-bottom:12px}.tt-form-card{background:#fff;border-radius:12px;padding:20px;margin-bottom:20px;box-shadow:0 2px 8px #0000001a}.tt-form-card h2{margin:0 0 16px;font-size:1.1rem}.tt-form-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:12px}.form-group{display:flex;flex-direction:column;gap:4px;flex:1;min-width:140px}.form-group-wide{flex:2}.form-group label{font-size:.8rem;font-weight:600;color:#6b7280;text-transform:uppercase}.form-group input,.form-group select,.form-group textarea{padding:8px 10px;border:1px solid #d1d5db;border-radius:8px;font-size:.95rem;box-sizing:border-box}.form-group textarea{font-family:inherit;min-height:0}.tt-description-input{width:100%;min-width:0;min-height:5.5rem;font-size:1.05rem;line-height:1.5;resize:vertical;color:#111827;background:#fff}.tt-description-input:focus{outline:none;border-color:#f97316;box-shadow:0 0 0 3px #f9731633}.tt-entry-desc{white-space:pre-line}.form-actions{display:flex;gap:10px;margin-top:4px}.tt-filters{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;background:#f9fafb;border-radius:10px;padding:14px;margin-bottom:16px}.filter-group{display:flex;flex-direction:column;gap:4px}.filter-group label{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase}.filter-group input,.filter-group select{padding:7px 10px;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem}.btn-apply{background:#3b82f6;color:#fff;border:none;border-radius:8px;padding:8px 16px;cursor:pointer;font-weight:600;align-self:flex-end}.btn-apply:hover{background:#2563eb}.tt-tabs{display:flex;gap:8px;margin-bottom:16px}.tab{background:#e5e7eb;color:#374151;border:none;border-radius:8px;padding:8px 18px;cursor:pointer;font-weight:600}.tab.active{background:#f97316;color:#fff}.tt-loading,.tt-empty{text-align:center;padding:40px;color:#9ca3af}.tt-log-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.tt-count{color:#6b7280;font-size:.9rem}.tt-total-hours{font-size:1rem;color:#374151}.tt-entries-list{display:flex;flex-direction:column;gap:10px}.tt-entry-card{display:flex;align-items:center;gap:14px;background:#fff;border-radius:10px;padding:14px;box-shadow:0 1px 4px #00000014}.tt-entry-left{flex-shrink:0}.tt-entry-hours{font-size:1.4rem;font-weight:700;color:#f97316;line-height:1}.tt-entry-hours span{font-size:.7rem;color:#9ca3af;margin-left:2px}.tt-entry-info{flex:1}.tt-entry-name{font-weight:600;color:#111827}.tt-entry-meta{font-size:.82rem;color:#6b7280;margin-top:2px}.tt-entry-actions{display:flex;gap:6px}.btn-copy-entry{background:#e0f2fe;color:#0369a1;border:1px solid #bae6fd;border-radius:6px;padding:5px 8px;cursor:pointer;font-size:.85rem;transition:background .15s}.btn-copy-entry:hover{background:#bae6fd}.btn-edit-entry,.btn-delete-entry{background:none;border:1px solid #e5e7eb;border-radius:6px;padding:5px 8px;cursor:pointer;font-size:.9rem}.btn-edit-entry:hover{background:#eff6ff;border-color:#3b82f6}.btn-delete-entry:hover{background:#fef2f2;border-color:#ef4444}.tt-summary-title{font-size:1.1rem;margin-bottom:12px}.tt-summary-list{display:flex;flex-direction:column;gap:10px}.tt-summary-card{display:flex;align-items:center;gap:14px;background:#fff;border-radius:10px;padding:14px;box-shadow:0 1px 4px #00000014}.tt-summary-avatar{font-size:1.8rem}.tt-summary-info{flex:1}.tt-summary-name{font-weight:600;color:#111827}.tt-summary-email{font-size:.82rem;color:#6b7280}.tt-summary-entries{font-size:.8rem;color:#9ca3af}.tt-summary-hours{text-align:right}.tt-hours-big{font-size:1.6rem;font-weight:700;color:#f97316;display:block}.tt-hours-label{font-size:.75rem;color:#9ca3af}.tt-summary-total-row{display:flex;justify-content:space-between;padding:12px 14px;background:#f3f4f6;border-radius:10px;font-size:.95rem;color:#374151}.tt-header-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.btn-export-csv{background:linear-gradient(135deg,#16a34a,#15803d);color:#fff;border:none;border-radius:8px;padding:8px 16px;cursor:pointer;font-weight:600;font-size:.9rem;transition:opacity .15s;white-space:nowrap}.btn-export-csv:hover:not(:disabled){opacity:.88}.btn-export-csv:disabled{opacity:.6;cursor:not-allowed}.tt-export-msg{padding:8px 14px;border-radius:8px;font-size:.88rem;font-weight:500;margin-bottom:10px}.tt-export-msg--ok{background:#dcfce7;color:#15803d}.tt-export-msg--err{background:#fee2e2;color:#dc2626}.tt-machine-manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.tt-machine-manager-header h2{margin:0;font-size:1.1rem}.btn-sm{padding:5px 12px!important;font-size:.85rem!important}.tt-machine-add-row{display:flex;gap:10px;margin-bottom:14px}.tt-machine-input{flex:1;padding:8px 10px;border:1px solid #d1d5db;border-radius:8px;font-size:.95rem}.tt-machine-input:focus{outline:none;border-color:#f97316;box-shadow:0 0 0 2px #f9731626}.tt-machine-list{display:flex;flex-direction:column;gap:8px}.tt-machine-item{display:flex;align-items:center;gap:10px;background:#f9fafb;border-radius:8px;padding:10px 12px}.tt-machine-name{flex:1;font-weight:500;color:#374151}.tt-summary-card-clickable{cursor:pointer;transition:box-shadow .15s,transform .1s}.tt-summary-card-clickable:hover{box-shadow:0 4px 16px #f973162e;transform:translateY(-1px)}.tt-name-link{color:#f97316;text-decoration:underline;text-underline-offset:2px}.tt-summary-chevron{font-size:1.4rem;color:#d1d5db;font-weight:300;flex-shrink:0}.tt-summary-card-clickable:hover .tt-summary-chevron{color:#f97316}.tt-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px}.tt-modal{background:#fff;border-radius:16px;width:100%;max-width:480px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 8px 40px #0003;overflow:hidden}.tt-modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 12px;border-bottom:1px solid #f3f4f6}.tt-modal-title{display:flex;align-items:center;gap:12px}.tt-modal-avatar{font-size:2rem}.tt-modal-name{font-size:1.1rem;font-weight:700;color:#111827}.tt-modal-email{font-size:.82rem;color:#6b7280;margin-top:1px}.tt-modal-close{background:#f3f4f6;border:none;border-radius:8px;width:32px;height:32px;cursor:pointer;font-size:1rem;color:#6b7280;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tt-modal-close:hover{background:#e5e7eb;color:#111827}.tt-modal-subtitle{padding:8px 20px;font-size:.8rem;color:#9ca3af;background:#f9fafb;border-bottom:1px solid #f3f4f6}.tt-modal-body{padding:14px 20px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.tt-modal-jobsite-row{display:flex;align-items:center;gap:12px;background:#f9fafb;border-radius:10px;padding:12px 14px}.tt-modal-jobsite-info{flex:1}.tt-modal-jobsite-name{font-weight:600;color:#111827;font-size:.95rem}.tt-modal-jobsite-dates{font-size:.78rem;color:#9ca3af;margin-top:3px}.tt-modal-jobsite-hours{text-align:right;flex-shrink:0}.tt-modal-hours-num{display:block;font-size:1.3rem;font-weight:700;color:#f97316;line-height:1}.tt-modal-hours-lbl{font-size:.72rem;color:#9ca3af}.tt-modal-total-row{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#f3f4f6;border-radius:10px;font-size:.95rem;color:#374151;margin-top:4px}.tt-entry-mode-toggle{display:flex;gap:8px;margin-bottom:16px}.tt-mode-btn{flex:1;padding:9px 14px;border:2px solid #e5e7eb;border-radius:8px;background:#f9fafb;color:#6b7280;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .15s}.tt-mode-btn:hover{border-color:#f97316;color:#f97316;background:#fff7ed}.tt-mode-btn--active{border-color:#f97316;background:#fff7ed;color:#f97316}.tt-entry-card--machine{border-left:3px solid #f97316}.tt-machine-entry-label{color:#f97316;font-weight:700}.tt-summary-card--machine{border-left:3px solid #f97316}.btn-payroll-export{background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;border:none;border-radius:8px;padding:8px 16px;cursor:pointer;font-weight:600;font-size:.9rem;transition:opacity .15s;white-space:nowrap}.btn-payroll-export:hover{opacity:.88}.tt-payroll-modal{background:#fff;border-radius:16px;width:100%;max-width:560px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 8px 40px #00000038;overflow:hidden}.tt-payroll-modal-body{padding:16px 20px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:18px}.tt-payroll-section{display:flex;flex-direction:column;gap:8px}.tt-payroll-section-label{font-size:.78rem;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.tt-payroll-period-note{font-size:.8rem;color:#9ca3af;margin-top:-4px}.tt-payroll-options{display:flex;flex-direction:column;gap:6px}.tt-payroll-option{display:flex;flex-direction:column;align-items:flex-start;gap:1px;background:#f9fafb;border:2px solid #e5e7eb;border-radius:8px;padding:8px 12px;cursor:pointer;text-align:left;transition:all .12s}.tt-payroll-option:hover,.tt-payroll-option--active{border-color:#7c3aed;background:#f5f3ff}.tt-payroll-option-label{font-size:.9rem;font-weight:600;color:#111827}.tt-payroll-option-desc{font-size:.75rem;color:#9ca3af}.tt-payroll-options--row{flex-direction:row;flex-wrap:wrap;gap:8px}.tt-payroll-period-btn{flex:1;min-width:80px;padding:8px 10px;border:2px solid #e5e7eb;border-radius:8px;background:#f9fafb;color:#374151;font-weight:600;font-size:.85rem;cursor:pointer;transition:all .12s;text-align:center}.tt-payroll-period-btn:hover{border-color:#7c3aed;color:#7c3aed;background:#f5f3ff}.tt-payroll-period-btn--active{border-color:#7c3aed;background:#f5f3ff;color:#7c3aed}.tt-payroll-ot-btn{flex:1;min-width:80px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 6px;border:2px solid #e5e7eb;border-radius:8px;background:#f9fafb;color:#374151;font-weight:600;font-size:.85rem;cursor:pointer;transition:all .12s;text-align:center}.tt-payroll-ot-btn:hover{border-color:#7c3aed;color:#7c3aed;background:#f5f3ff}.tt-payroll-ot-btn--active{border-color:#7c3aed;background:#f5f3ff;color:#7c3aed}.tt-payroll-ot-desc{font-size:.68rem;color:#9ca3af;font-weight:400;line-height:1.2}.tt-payroll-ot-btn--active .tt-payroll-ot-desc{color:#7c3aed}.tt-payroll-footer{display:flex;gap:10px;justify-content:flex-end;padding-top:4px;border-top:1px solid #f3f4f6;margin-top:4px}.btn-payroll-download{background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;border:none;border-radius:8px;padding:10px 20px;cursor:pointer;font-weight:700;font-size:.95rem;transition:opacity .15s}.btn-payroll-download:hover:not(:disabled){opacity:.88}.btn-payroll-download:disabled{opacity:.6;cursor:not-allowed}.tt-payroll-ded-note{font-size:.78rem;color:#9ca3af;margin-top:-2px}.tt-payroll-ded-presets{display:flex;flex-direction:column;gap:6px}.tt-payroll-preset-row{display:flex;align-items:center;gap:8px;background:#f9fafb;border:1.5px solid #e5e7eb;border-radius:8px;padding:7px 10px;transition:border-color .12s}.tt-payroll-preset-row--added{border-color:#7c3aed;background:#f5f3ff}.tt-payroll-preset-label{flex:1;font-size:.88rem;font-weight:600;color:#374151}.tt-payroll-preset-row--added .tt-payroll-preset-label{color:#7c3aed}.tt-payroll-preset-rate-wrap{display:flex;align-items:center;gap:3px}.tt-payroll-preset-rate-input{width:72px;border:1.5px solid #d1d5db;border-radius:6px;padding:4px 8px;font-size:.9rem;font-weight:600;text-align:right;color:#111827;background:#fff;transition:border-color .12s}.tt-payroll-preset-rate-input:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 2px #7c3aed1f}.tt-payroll-preset-rate-input:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.tt-payroll-preset-add{width:28px;height:28px;border:none;border-radius:6px;background:#7c3aed;color:#fff;font-size:1.1rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .12s;line-height:1}.tt-payroll-preset-add:hover{background:#6d28d9}.tt-payroll-preset-remove{width:28px;height:28px;border:none;border-radius:6px;background:#fee2e2;color:#ef4444;font-size:.85rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .12s}.tt-payroll-preset-remove:hover{background:#fecaca}.tt-payroll-ded-list{display:flex;flex-direction:column;gap:6px;margin-top:4px}.tt-payroll-ded-row{display:flex;align-items:center;gap:8px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:6px 10px}.tt-payroll-ded-label-input{flex:1;border:1px solid #d1d5db;border-radius:6px;padding:5px 8px;font-size:.88rem;min-width:0}.tt-payroll-ded-rate-wrap{display:flex;align-items:center;gap:3px}.tt-payroll-ded-rate-input{width:68px;border:1px solid #d1d5db;border-radius:6px;padding:5px 8px;font-size:.88rem;text-align:right}.tt-payroll-ded-pct{font-size:.85rem;font-weight:600;color:#6b7280}.tt-payroll-ded-remove{background:none;border:none;color:#ef4444;font-size:.9rem;cursor:pointer;padding:2px 4px;border-radius:4px;line-height:1;flex-shrink:0}.tt-payroll-ded-remove:hover{background:#fee2e2}.tt-payroll-ded-add-btn{align-self:flex-start;background:none;border:2px dashed #d1d5db;border-radius:8px;padding:6px 14px;color:#6b7280;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .12s;margin-top:2px}.tt-payroll-ded-add-btn:hover{border-color:#7c3aed;color:#7c3aed;background:#f5f3ff}.tt-payroll-ded-none-note{font-size:.78rem;color:#9ca3af;margin-top:2px}.tt-bl-modal{background:#1a1d27;border:1px solid #3a3d4a;border-radius:16px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0009}.tt-bl-modal-body{padding:1.25rem 1.5rem 1.5rem}.tt-bl-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}@media (max-width: 480px){.tt-bl-grid{grid-template-columns:1fr}}.tt-bl-group{background:#12141c;border:1px solid #2a2d3e;border-radius:10px;padding:.9rem 1rem}.tt-bl-group-title{font-size:.9rem;font-weight:700;color:#c0c8e0;margin-bottom:.75rem}.tt-bl-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.6rem}.tt-bl-label{font-size:.82rem;color:#9ca3af;flex:1}.tt-bl-input{width:64px;padding:.3rem .45rem;background:#1a1d27;border:1px solid #3a3d52;border-radius:6px;color:#e0e0e0;font-size:.88rem;text-align:center}.tt-bl-input:focus{outline:none;border-color:#4f8ef7}.tt-bl-toggle{display:flex;align-items:center;gap:.45rem;cursor:pointer;-webkit-user-select:none;user-select:none}.tt-bl-toggle input[type=checkbox]{display:none}.tt-bl-slider{position:relative;width:38px;height:20px;background:#3a3d52;border-radius:10px;transition:background .2s;flex-shrink:0}.tt-bl-slider:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .2s}.tt-bl-toggle input:checked+.tt-bl-slider{background:#22c55e}.tt-bl-toggle input:checked+.tt-bl-slider:after{transform:translate(18px)}.tt-bl-toggle-text{font-size:.78rem;color:#9ca3af;min-width:42px}.tt-bl-summary{font-size:.75rem;color:#6b7280;font-style:italic;margin-top:.4rem}.shift-clock-card{background:#fff;border:2px solid #e5e7eb;border-radius:14px;padding:1.1rem 1.25rem;margin-bottom:1.25rem;transition:border-color .3s,box-shadow .3s}.shift-clock-card--active{border-color:#22c55e;box-shadow:0 0 0 3px #22c55e1f}.shift-clock-header{display:flex;align-items:center;gap:.75rem}.shift-clock-icon{font-size:1.6rem;flex-shrink:0}.shift-clock-title{font-size:1rem;font-weight:700;color:#111827}.shift-clock-sub{font-size:.78rem;color:#6b7280;margin-top:.1rem}.shift-clock-elapsed{margin-left:auto;font-size:1.5rem;font-weight:800;font-variant-numeric:tabular-nums;color:#16a34a;letter-spacing:.04em}.shift-clock-result{margin-top:.75rem;padding:.6rem .9rem;background:#dcfce7;border:1px solid #86efac;border-radius:8px;font-size:.85rem;color:#15803d}.shift-clock-msg{margin-top:.6rem;padding:.5rem .8rem;border-radius:8px;font-size:.82rem}.shift-clock-msg--ok{background:#dcfce7;color:#15803d;border:1px solid #86efac}.shift-clock-msg--warn{background:#fef9c3;color:#854d0e;border:1px solid #fde047}.shift-clock-msg--err{background:#fee2e2;color:#dc2626;border:1px solid #fca5a5}.shift-clock-actions{margin-top:.9rem;display:flex;gap:.75rem}.btn-shift-start,.btn-shift-end{flex:1;padding:.75rem 1rem;border:none;border-radius:10px;font-size:1rem;font-weight:700;cursor:pointer;transition:opacity .2s,transform .1s}.btn-shift-start{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.btn-shift-end{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.btn-shift-start:hover:not(:disabled),.btn-shift-end:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-shift-start:disabled,.btn-shift-end:disabled{opacity:.5;cursor:not-allowed}.tt-employee-edit-hint{margin:0 0 16px;font-size:.9rem;color:#57534e;line-height:1.45}.tt-input-readonly{width:100%;padding:8px 10px;border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb;color:#6b7280;font-size:.95rem}@media (max-width: 768px){.tt-container{padding-bottom:70px}.tt-bottom-nav{flex-wrap:nowrap;padding:8px 10px;gap:6px}.tt-manage-wrapper{flex:1;min-width:0}.tt-bottom-nav .btn-nav,.tt-bottom-nav .btn-primary,.tt-bottom-nav .btn-secondary,.tt-bottom-nav .btn-export-csv,.tt-bottom-nav .btn-payroll-export,.tt-bottom-nav .btn-manage{flex:1;width:100%;padding:8px 4px;font-size:.72rem;white-space:nowrap;text-align:center;justify-content:center;min-width:0}}.al-page{min-height:100vh;background:#0f172a;color:#e2e8f0;padding:24px 20px 80px;max-width:1100px;margin:0 auto}.al-header{display:flex;align-items:center;gap:16px;margin-bottom:28px}.al-back-btn{background:#1e293b;border:1px solid #334155;color:#94a3b8;padding:8px 14px;border-radius:8px;cursor:pointer;font-size:.85rem;white-space:nowrap;transition:background .2s,color .2s}.al-back-btn:hover{background:#334155;color:#e2e8f0}.al-header-title{display:flex;align-items:center;gap:14px}.al-header-icon{font-size:2rem;line-height:1}.al-title{margin:0;font-size:1.6rem;font-weight:700;color:#f1f5f9}.al-subtitle{margin:2px 0 0;font-size:.85rem;color:#64748b}.al-filters{background:#1e293b;border:1px solid #334155;border-radius:12px;padding:20px;margin-bottom:20px}.al-filter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:14px}.al-filter-group{display:flex;flex-direction:column;gap:6px}.al-filter-label{font-size:.75rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.al-filter-select,.al-filter-date{background:#0f172a;border:1px solid #334155;border-radius:8px;color:#e2e8f0;padding:8px 10px;font-size:.875rem;width:100%;outline:none;transition:border-color .2s}.al-filter-select:focus,.al-filter-date:focus{border-color:#f97316}.al-filter-select option{background:#1e293b}.al-filter-date::-webkit-calendar-picker-indicator{filter:invert(.6);cursor:pointer}.al-filter-actions{display:flex;gap:10px}.al-btn-search{background:linear-gradient(135deg,#f97316,#ea580c);border:none;border-radius:8px;color:#fff;padding:9px 20px;font-size:.875rem;font-weight:600;cursor:pointer;transition:opacity .2s}.al-btn-search:hover{opacity:.88}.al-btn-clear{background:#334155;border:none;border-radius:8px;color:#94a3b8;padding:9px 16px;font-size:.875rem;cursor:pointer;transition:background .2s,color .2s}.al-btn-clear:hover{background:#475569;color:#e2e8f0}.al-loading{display:flex;align-items:center;gap:12px;justify-content:center;padding:60px 0;color:#64748b;font-size:.95rem}.al-spinner{width:22px;height:22px;border:3px solid #334155;border-top-color:#f97316;border-radius:50%;animation:al-spin .8s linear infinite}@keyframes al-spin{to{transform:rotate(360deg)}}.al-error{background:#ef44441f;border:1px solid rgba(239,68,68,.35);border-radius:10px;color:#fca5a5;padding:16px 20px;font-size:.9rem;text-align:center}.al-btn-export{background:#dcfce7;color:#15803d;border:1.5px solid #86efac;border-radius:8px;padding:6px 14px;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap}.al-btn-export:hover{background:#bbf7d0}.al-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.82rem;color:#64748b;margin-bottom:12px}.al-meta strong{color:#94a3b8}.al-empty{text-align:center;padding:60px 20px;color:#64748b}.al-empty-icon{font-size:3rem;display:block;margin-bottom:12px}.al-empty p{margin:4px 0;font-size:1rem;color:#94a3b8}.al-empty-hint{font-size:.82rem!important;color:#475569!important;max-width:380px;margin:8px auto 0!important}.al-table-wrap{overflow-x:auto;border-radius:12px;border:1px solid #1e293b}.al-table{width:100%;border-collapse:collapse;font-size:.875rem}.al-table thead tr{background:#1e293b}.al-table th{padding:12px 14px;text-align:left;font-size:.72rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;border-bottom:1px solid #334155}.al-row{background:#0f172a;border-bottom:1px solid #1e293b;cursor:pointer;transition:background .15s}.al-row:hover,.al-row--expanded{background:#1a2540}.al-row td{padding:12px 14px;vertical-align:middle}.al-cell-time{color:#94a3b8;font-size:.8rem;white-space:nowrap}.al-cell-action{white-space:nowrap}.al-action-badge{display:inline-flex;align-items:center;gap:5px;border:1px solid;border-radius:20px;padding:3px 10px;font-size:.78rem;font-weight:600;white-space:nowrap}.al-cell-who{display:flex;flex-direction:column;gap:2px}.al-actor-name{font-weight:600;color:#e2e8f0;font-size:.875rem}.al-actor-role{font-size:.72rem;color:#64748b}.al-doc-info{display:flex;flex-direction:column;gap:2px}.al-doc-type{font-size:.82rem;color:#94a3b8;text-transform:capitalize}.al-doc-vendor{font-size:.78rem;color:#64748b}.al-cell-empty{color:#334155;font-size:.9rem}.al-jobsite-link{background:none;border:none;color:#f97316;font-size:.82rem;cursor:pointer;padding:0;text-align:left;text-decoration:underline;text-underline-offset:2px;transition:color .15s}.al-jobsite-link:hover{color:#fb923c}.al-cell-chevron{text-align:right;width:32px}.al-chevron{font-size:.7rem;color:#475569}.al-detail-row{background:#0d1a2e}.al-detail-row td{padding:0}.al-detail-box{padding:14px 20px 16px;border-top:1px solid #1e293b}.al-detail-label{font-size:.75rem;color:#64748b;margin:0 0 8px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.al-detail-json{background:#0f172a;border:1px solid #1e293b;border-radius:8px;padding:12px 14px;font-size:.78rem;color:#94a3b8;overflow-x:auto;margin:0;white-space:pre-wrap;word-break:break-word}.al-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:24px}.al-page-btn{background:#1e293b;border:1px solid #334155;border-radius:8px;color:#e2e8f0;padding:8px 18px;font-size:.875rem;cursor:pointer;transition:background .2s}.al-page-btn:hover:not(:disabled){background:#334155}.al-page-btn:disabled{opacity:.35;cursor:not-allowed}.al-page-info{font-size:.85rem;color:#64748b}@media (max-width: 768px){.al-filter-grid{grid-template-columns:1fr 1fr}.al-table th:nth-child(4),.al-table td:nth-child(4){display:none}}@media (max-width: 520px){.al-page{padding:16px 12px 80px}.al-filter-grid{grid-template-columns:1fr}.al-header{flex-wrap:wrap}.al-title{font-size:1.3rem}.al-table th:nth-child(4),.al-table td:nth-child(4),.al-table th:nth-child(5),.al-table td:nth-child(5){display:none}.al-cell-time{font-size:.72rem}}.prof-page{min-height:100vh;background:#0f172a;color:#e2e8f0;padding:24px 20px 80px;max-width:640px;margin:0 auto}.prof-header{display:flex;align-items:center;gap:16px;margin-bottom:28px}.prof-back-btn{background:#1e293b;border:1px solid #334155;color:#94a3b8;padding:8px 14px;border-radius:8px;cursor:pointer;font-size:.85rem;white-space:nowrap;transition:background .2s,color .2s;flex-shrink:0}.prof-back-btn:hover{background:#334155;color:#e2e8f0}.prof-header-title{display:flex;align-items:center;gap:14px}.prof-header-icon{font-size:2rem;line-height:1}.prof-title{margin:0;font-size:1.6rem;font-weight:700;color:#f1f5f9}.prof-subtitle{margin:2px 0 0;font-size:.85rem;color:#64748b}.prof-identity-card{display:flex;align-items:center;gap:20px;background:#1e293b;border:1px solid #334155;border-radius:14px;padding:20px 24px;margin-bottom:24px}.prof-avatar{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#f97316,#ea580c);display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:700;color:#fff;flex-shrink:0;box-shadow:0 4px 14px #f9731659}.prof-identity-info{display:flex;flex-direction:column;gap:4px;min-width:0}.prof-identity-name{font-size:1.15rem;font-weight:700;color:#f1f5f9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prof-identity-email{font-size:.85rem;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prof-role-badge{display:inline-block;margin-top:4px;background:#f9731626;border:1px solid rgba(249,115,22,.35);color:#fb923c;border-radius:20px;padding:2px 10px;font-size:.75rem;font-weight:600;width:fit-content}.prof-card{background:#1e293b;border:1px solid #334155;border-radius:14px;padding:24px;margin-bottom:20px}.prof-card-title{margin:0 0 20px;font-size:1rem;font-weight:700;color:#f1f5f9}.prof-form{display:flex;flex-direction:column;gap:16px}.prof-field{display:flex;flex-direction:column;gap:6px}.prof-label{font-size:.75rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.prof-input{background:#0f172a;border:1px solid #334155;border-radius:8px;color:#e2e8f0;padding:10px 12px;font-size:.9rem;outline:none;transition:border-color .2s;width:100%;box-sizing:border-box}.prof-input:focus{border-color:#f97316}.prof-input::placeholder{color:#475569}.prof-msg{border-radius:8px;padding:10px 14px;font-size:.875rem;font-weight:500}.prof-msg--success{background:#22c55e1f;border:1px solid rgba(34,197,94,.35);color:#86efac}.prof-msg--error{background:#ef44441f;border:1px solid rgba(239,68,68,.35);color:#fca5a5}.prof-btn-save{background:linear-gradient(135deg,#f97316,#ea580c);border:none;border-radius:8px;color:#fff;padding:11px 24px;font-size:.9rem;font-weight:600;cursor:pointer;transition:opacity .2s,transform .15s;align-self:flex-start}.prof-btn-save:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.prof-btn-save:disabled{opacity:.5;cursor:not-allowed}.prof-btn-save--pw{background:linear-gradient(135deg,#3b82f6,#2563eb)}.prof-notify-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.prof-notify-text{flex:1;min-width:0}.prof-notify-label{font-size:.9rem;font-weight:600;color:#e2e8f0;margin-bottom:3px}.prof-notify-desc{font-size:.8rem;color:#64748b;line-height:1.4}.prof-notify-toggle{position:relative;width:48px;height:26px;border-radius:99px;border:none;cursor:pointer;flex-shrink:0;transition:background .25s;padding:0}.prof-notify-toggle--on{background:linear-gradient(135deg,#f97316,#ea580c);box-shadow:0 2px 8px #f9731666}.prof-notify-toggle--off{background:#334155}.prof-notify-toggle:disabled{opacity:.55;cursor:not-allowed}.prof-notify-knob{position:absolute;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0000004d;transition:left .25s}.prof-notify-toggle--on .prof-notify-knob{left:calc(100% - 23px)}.prof-notify-toggle--off .prof-notify-knob{left:3px}.prof-notify-status-row{display:flex;align-items:center;gap:10px;margin-bottom:12px}.prof-notify-badge{display:inline-block;font-size:.75rem;font-weight:600;padding:3px 10px;border-radius:20px}.prof-notify-badge--on{background:#f9731626;border:1px solid rgba(249,115,22,.35);color:#fb923c}.prof-notify-badge--off{background:#64748b26;border:1px solid rgba(100,116,139,.3);color:#94a3b8}.prof-notify-saving{font-size:.78rem;color:#64748b;font-style:italic}@media (max-width: 520px){.prof-page{padding:16px 12px 80px}.prof-header{flex-wrap:wrap}.prof-title{font-size:1.3rem}.prof-identity-card{flex-direction:column;align-items:flex-start;gap:14px;padding:16px}.prof-card{padding:16px}.prof-btn-save{width:100%;text-align:center;align-self:stretch}}.prof-webpush-denied{background:#1e293b;border:1px solid #f59e0b44;border-radius:10px;padding:14px 16px;margin-bottom:12px}.prof-webpush-denied-text{color:#fbbf24;font-size:.88rem;line-height:1.5;margin:0}.prof-webpush-note{font-size:.78rem;color:#64748b;margin:12px 0 0;line-height:1.5}.prof-cert-desc{font-size:.85rem;color:#94a3b8;margin:0 0 14px;line-height:1.5}.prof-btn-cert-add{margin-bottom:14px;background:linear-gradient(135deg,#7c3aed,#6d28d9)}.prof-btn-cert-add:hover{background:linear-gradient(135deg,#6d28d9,#5b21b6)}.prof-cert-form{background:#1e293b;border:1px solid #334155;border-radius:10px;padding:18px;margin-bottom:16px}.prof-cert-form-title{font-size:.92rem;font-weight:600;color:#e2e8f0;margin:0 0 14px}.prof-cert-date-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.prof-textarea{resize:vertical;font-family:inherit}.prof-cert-loading,.prof-cert-empty{text-align:center;padding:20px;color:#64748b;font-size:.88rem}.prof-cert-list{display:flex;flex-direction:column;gap:10px;margin-top:4px}.prof-cert-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;background:#1e293b;border:1px solid #334155;border-radius:10px;padding:14px 16px;transition:border-color .15s}.prof-cert-item:hover{border-color:#7c3aed55}.prof-cert-item--expired{border-color:#dc262655;background:#1e293b}.prof-cert-item--expiring{border-color:#d9770655;background:#1e293b}.prof-cert-info{flex:1;min-width:0}.prof-cert-name{font-weight:600;font-size:.95rem;color:#e2e8f0;display:flex;align-items:center;flex-wrap:wrap;gap:6px}.prof-cert-issuer{font-size:.84rem;color:#94a3b8;margin-top:2px}.prof-cert-dates{font-size:.8rem;color:#64748b;margin-top:4px;display:flex;flex-wrap:wrap;gap:4px;align-items:center}.prof-cert-sep{color:#475569}.prof-cert-date--expired{color:#f87171;font-weight:600}.prof-cert-date--expiring{color:#fbbf24;font-weight:600}.prof-cert-notes{font-size:.82rem;color:#64748b;margin-top:5px;font-style:italic}.prof-cert-badge{font-size:.7rem;padding:2px 7px;border-radius:999px;font-weight:600;white-space:nowrap}.prof-cert-badge--expired{background:#450a0a;color:#f87171}.prof-cert-badge--expiring{background:#451a03;color:#fbbf24}.prof-cert-actions{display:flex;gap:6px;flex-shrink:0}.prof-cert-btn{background:#0f172a;border:1px solid #334155;border-radius:6px;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:.85rem;transition:background .15s,border-color .15s;color:#94a3b8}.prof-cert-btn:hover{background:#1e293b;border-color:#7c3aed}.prof-cert-btn--del:hover{background:#1e293b;border-color:#dc2626}@media (max-width: 480px){.prof-cert-date-row{grid-template-columns:1fr}}.legal-container{min-height:100vh;background:#f8f9fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#1a1a2e}.legal-nav{background:#1a1a2e;padding:1rem 2rem;position:relative}.legal-nav .nav-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}.legal-nav .nav-logo{display:flex;align-items:center;gap:.6rem;text-decoration:none;cursor:pointer}.legal-nav .logo-image{width:32px;height:32px;border-radius:6px;object-fit:cover}.legal-nav .logo-text{font-size:1.2rem;font-weight:700;color:#fff;letter-spacing:-.3px}.legal-nav .nav-back{background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;padding:.5rem 1.1rem;border-radius:8px;font-size:.9rem;cursor:pointer;transition:background .2s,border-color .2s;text-decoration:none;display:inline-flex;align-items:center;gap:.4rem}.legal-nav .nav-back:hover{background:#ffffff1a;border-color:#ffffff80}.legal-hero{background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);padding:3.5rem 2rem 3rem;text-align:center;position:relative;overflow:hidden}.legal-hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at center,rgba(102,126,234,.15) 0%,transparent 70%);pointer-events:none}.legal-hero-icon{font-size:3rem;margin-bottom:1rem;display:block}.legal-hero-title{font-size:2.2rem;font-weight:800;color:#fff;margin:0 0 .75rem;letter-spacing:-.5px}.legal-hero-subtitle{font-size:1rem;color:#ffffffa6;max-width:500px;margin:0 auto;line-height:1.6}.legal-content{max-width:860px;margin:0 auto;padding:3rem 2rem 4rem}.legal-updated{display:inline-flex;align-items:center;gap:.4rem;background:#e8f4fd;color:#1a6fa8;border:1px solid #b8ddf5;border-radius:20px;padding:.35rem .9rem;font-size:.82rem;font-weight:600;margin-bottom:2.5rem}.legal-section{background:#fff;border-radius:14px;padding:2rem 2.2rem;margin-bottom:1.5rem;box-shadow:0 2px 12px #0000000f;border:1px solid #e8eaf0}.legal-section-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.2rem;padding-bottom:1rem;border-bottom:2px solid #f0f0f5}.legal-section-icon{font-size:1.5rem;flex-shrink:0}.legal-section-title{font-size:1.15rem;font-weight:700;color:#1a1a2e;margin:0}.legal-section p{font-size:.95rem;line-height:1.75;color:#444;margin:0 0 .9rem}.legal-section p:last-child{margin-bottom:0}.legal-section ul,.legal-section ol{margin:.5rem 0 .9rem 1.2rem;padding:0}.legal-section li{font-size:.95rem;line-height:1.75;color:#444;margin-bottom:.4rem}.legal-section strong{color:#1a1a2e;font-weight:600}.legal-highlight{background:linear-gradient(135deg,#f0f4ff,#e8f0fe);border:1px solid #c7d7f8;border-left:4px solid #667eea;border-radius:10px;padding:1.1rem 1.3rem;margin:1rem 0}.legal-highlight p{margin:0!important;color:#2d3a6b!important;font-weight:500}.legal-highlight ul{margin:.5rem 0 0 1.2rem!important}.legal-highlight li{color:#2d3a6b!important;font-weight:500}.legal-security-badges{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0}.legal-badge{display:inline-flex;align-items:center;gap:.35rem;background:#f0fdf4;color:#166534;border:1px solid #bbf7d0;border-radius:20px;padding:.3rem .8rem;font-size:.8rem;font-weight:600}.legal-badge.blue{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.legal-badge.purple{background:#faf5ff;color:#6b21a8;border-color:#e9d5ff}.legal-badge.orange{background:#fff7ed;color:#c2410c;border-color:#fed7aa}.legal-contact-card{background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:14px;padding:2rem 2.2rem;margin-top:2rem;text-align:center;color:#fff}.legal-contact-card h3{font-size:1.2rem;font-weight:700;margin:0 0 .5rem;color:#fff}.legal-contact-card p{font-size:.95rem;color:#ffffffb3;margin:0 0 1.2rem;line-height:1.6}.legal-contact-btn{display:inline-flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-decoration:none;padding:.75rem 1.8rem;border-radius:10px;font-size:.95rem;font-weight:600;transition:opacity .2s,transform .2s}.legal-contact-btn:hover{opacity:.9;transform:translateY(-1px)}.legal-footer{background:#1a1a2e;padding:2rem;text-align:center}.legal-footer p{color:#ffffff73;font-size:.85rem;margin:0 0 .5rem}.legal-footer-links{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap;margin-top:.75rem}.legal-footer-links a{color:#ffffff80;text-decoration:none;font-size:.82rem;transition:color .2s}.legal-footer-links a:hover{color:#ffffffd9}@media (max-width: 768px){.legal-hero{padding:2.5rem 1.2rem 2rem}.legal-hero-title{font-size:1.7rem}.legal-content{padding:2rem 1rem 3rem}.legal-section,.legal-contact-card{padding:1.5rem 1.2rem}.legal-nav{padding:1rem 1.2rem}.legal-security-badges{gap:.4rem}}.sj-page{min-height:100vh;background:#f4f6f9;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#1a1a2e}.sj-header{background:linear-gradient(135deg,#1a1a2e,#16213e);padding:0;box-shadow:0 2px 12px #0003}.sj-header-inner{max-width:900px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;justify-content:space-between}.sj-brand{display:flex;align-items:center;gap:8px}.sj-brand-icon{font-size:1.4rem}.sj-brand-name{font-size:1.1rem;font-weight:700;color:#fff;letter-spacing:.5px}.sj-badge{background:#ffffff26;color:#c7d2fe;font-size:.72rem;font-weight:600;padding:4px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.2);letter-spacing:.5px;text-transform:uppercase}.sj-main{max-width:900px;margin:0 auto;padding:24px 16px 60px;display:flex;flex-direction:column;gap:20px}.sj-title-card{background:#fff;border-radius:14px;padding:24px;box-shadow:0 2px 12px #00000012}.sj-jobsite-name{font-size:1.7rem;font-weight:800;color:#1a1a2e;margin:0 0 4px}.sj-business-name{font-size:.85rem;color:#6b7280;margin:0 0 10px}.sj-client{font-size:.95rem;color:#374151;margin:4px 0}.sj-address{font-size:.9rem;color:#6b7280;margin:4px 0}.sj-notes{margin-top:12px;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:10px 14px;display:flex;gap:8px;font-size:.9rem;color:#78350f}.sj-notes-icon{flex-shrink:0}.sj-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.sj-stat-card{background:#fff;border-radius:12px;padding:16px 12px;text-align:center;box-shadow:0 2px 8px #0000000f}.sj-stat-icon{font-size:1.4rem;margin-bottom:6px}.sj-stat-value{font-size:1.25rem;font-weight:800;color:#1a1a2e;line-height:1.2}.sj-stat-label{font-size:.72rem;color:#9ca3af;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-top:2px}.sj-section{display:flex;flex-direction:column;gap:12px}.sj-section-title{font-size:1rem;font-weight:700;color:#374151;margin:0}.sj-budget-card{background:#fff;border-radius:12px;padding:18px 20px;box-shadow:0 2px 8px #0000000f;display:flex;flex-direction:column;gap:10px}.sj-budget-row{display:flex;justify-content:space-between;align-items:center;font-size:.95rem;color:#374151}.sj-budget-row strong{font-weight:700}.sj-over-budget{color:#dc2626}.sj-unpaid{color:#d97706}.sj-budget-bar-wrap{display:flex;align-items:center;gap:10px}.sj-budget-bar-track{flex:1;height:8px;background:#e5e7eb;border-radius:999px;overflow:hidden}.sj-budget-bar-fill{height:100%;background:#10b981;border-radius:999px;transition:width .4s ease}.sj-budget-bar-fill.sj-budget-bar-warn{background:#f59e0b}.sj-budget-bar-fill.sj-budget-bar-over{background:#ef4444}.sj-budget-pct{font-size:.8rem;font-weight:600;color:#6b7280;white-space:nowrap}.sj-over-budget-warn{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:8px 12px;font-size:.85rem;color:#dc2626;font-weight:600}.sj-punch-card{background:#fff;border-radius:12px;padding:18px 20px;box-shadow:0 2px 8px #0000000f}.sj-punch-progress-bar{display:flex;align-items:center;gap:10px;margin-bottom:8px}.sj-punch-bar-track{flex:1;height:10px;background:#e5e7eb;border-radius:999px;overflow:hidden}.sj-punch-bar-fill{height:100%;background:linear-gradient(90deg,#10b981,#059669);border-radius:999px;transition:width .5s ease}.sj-punch-pct{font-size:.85rem;font-weight:700;color:#059669;white-space:nowrap}.sj-punch-summary{font-size:.9rem;color:#6b7280;margin:0}.sj-photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.sj-photo-thumb{display:block;border-radius:8px;overflow:hidden;aspect-ratio:1;background:#e5e7eb}.sj-photo-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .2s ease}.sj-photo-thumb:hover img{transform:scale(1.05)}.sj-photo-more{font-size:.85rem;color:#9ca3af;text-align:center;margin:4px 0 0}.sj-reports-list{display:flex;flex-direction:column;gap:12px}.sj-report-card{background:#fff;border-radius:12px;padding:16px 18px;box-shadow:0 2px 8px #0000000f;border-left:4px solid #6366f1}.sj-report-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;flex-wrap:wrap;gap:6px}.sj-report-date{font-weight:700;font-size:.95rem;color:#1a1a2e}.sj-report-meta{display:flex;gap:10px;flex-wrap:wrap}.sj-report-weather,.sj-report-crew{font-size:.82rem;color:#6b7280;background:#f3f4f6;padding:3px 8px;border-radius:999px}.sj-report-section{margin-top:8px}.sj-report-section.sj-report-issues{margin-top:10px}.sj-report-label{display:block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#9ca3af;margin-bottom:3px}.sj-report-text{font-size:.9rem;color:#374151;margin:0;white-space:pre-wrap;line-height:1.5}.sj-report-issues .sj-report-text{color:#b45309}.sj-footer{text-align:center;padding:20px;font-size:.8rem;color:#9ca3af}.sj-footer a{color:#6366f1;text-decoration:none}.sj-footer a:hover{text-decoration:underline}.sj-loading,.sj-error{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:40px 20px;text-align:center;color:#6b7280}.sj-spinner{width:40px;height:40px;border:4px solid #e5e7eb;border-top-color:#6366f1;border-radius:50%;animation:sj-spin .8s linear infinite}@keyframes sj-spin{to{transform:rotate(360deg)}}.sj-error-icon{font-size:3rem}.sj-error h2{font-size:1.4rem;color:#1a1a2e;margin:0}.sj-error p{font-size:.95rem;color:#6b7280;margin:0}.sj-home-link{color:#6366f1;text-decoration:none;font-weight:600;font-size:.9rem}.sj-home-link:hover{text-decoration:underline}@media (max-width: 600px){.sj-stats-grid{grid-template-columns:repeat(2,1fr)}.sj-photo-grid{grid-template-columns:repeat(3,1fr)}.sj-jobsite-name{font-size:1.3rem}}@media (max-width: 400px){.sj-photo-grid,.sj-stats-grid{grid-template-columns:repeat(2,1fr)}}.lp-container{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#1a1a2e;background:#fff;min-height:100vh;overflow-x:hidden}.lp-section-inner{max-width:1100px;margin:0 auto;padding:0 24px}.lp-h2{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800;text-align:center;margin:0 0 12px;color:#1a1a2e}.lp-section-sub{text-align:center;color:#666;font-size:1.05rem;margin:0 0 48px}.lp-nav{background:#fff;border-bottom:1px solid #e8e8f0;position:sticky;top:0;z-index:100;box-shadow:0 2px 8px #0000000f}.lp-nav-inner{max-width:1100px;margin:0 auto;padding:0 24px;height:64px;display:flex;align-items:center;justify-content:space-between}.lp-nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:1.2rem;font-weight:800;color:#1a1a2e}.lp-logo-img{width:32px;height:32px;object-fit:contain}.lp-nav-actions{display:flex;gap:12px;align-items:center}.lp-btn-login{background:none;border:1px solid #d0d0e0;color:#444;padding:8px 18px;border-radius:8px;font-size:.9rem;cursor:pointer;transition:border-color .2s}.lp-btn-login:hover{border-color:#667eea;color:#667eea}.lp-btn-cta{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:8px 20px;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:opacity .2s}.lp-btn-cta:hover{opacity:.9}.lp-hero{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:80px 24px 72px;text-align:center}.lp-hero-inner{max-width:820px;margin:0 auto}.lp-breadcrumb{display:inline-block;background:#fff3;border-radius:20px;padding:6px 16px;font-size:.85rem;font-weight:600;margin-bottom:24px;letter-spacing:.02em}.lp-h1{font-size:clamp(2rem,5vw,3rem);font-weight:900;line-height:1.15;margin:0 0 20px}.lp-h1-accent{color:gold}.lp-hero-sub{font-size:clamp(1rem,2vw,1.2rem);opacity:.92;line-height:1.65;margin:0 0 36px}.lp-hero-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-bottom:20px}.lp-btn-primary{background:#fff;color:#667eea;border:none;padding:14px 28px;border-radius:10px;font-size:1rem;font-weight:700;cursor:pointer;transition:transform .15s,box-shadow .15s;box-shadow:0 4px 16px #00000026}.lp-btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0003}.lp-btn-secondary{background:#ffffff26;color:#fff;border:2px solid rgba(255,255,255,.5);padding:14px 28px;border-radius:10px;font-size:1rem;font-weight:600;text-decoration:none;transition:background .2s;display:inline-block}.lp-btn-secondary:hover{background:#ffffff40}.lp-btn-large{padding:18px 36px;font-size:1.1rem}.lp-hero-note{opacity:.8;font-size:.9rem;margin:0}.lp-problem{padding:72px 24px;background:#f8f8fc}.lp-problem-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:40px}.lp-problem-card{background:#fff;border-radius:16px;padding:32px;box-shadow:0 2px 12px #0000000f}.lp-problem-bad{border-top:4px solid #ef4444}.lp-problem-good{border-top:4px solid #22c55e}.lp-problem-icon{font-size:2.5rem;margin-bottom:12px}.lp-problem-card h3{font-size:1.15rem;font-weight:700;margin:0 0 16px}.lp-problem-card ul{list-style:none;padding:0;margin:0}.lp-problem-card ul li{padding:8px 0;border-bottom:1px solid #f0f0f8;font-size:.95rem;color:#444;line-height:1.5}.lp-problem-card ul li:last-child{border-bottom:none}.lp-how{padding:72px 24px;background:#fff}.lp-steps{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap;justify-content:center}.lp-step{flex:1;min-width:220px;max-width:300px;text-align:center;padding:28px 20px;background:#f8f8fc;border-radius:16px;position:relative}.lp-step-num{position:absolute;top:-14px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700}.lp-step-icon{font-size:2.2rem;margin-bottom:12px}.lp-step h3{font-size:1.05rem;font-weight:700;margin:0 0 8px}.lp-step p{font-size:.9rem;color:#555;line-height:1.55;margin:0}.lp-step-arrow{font-size:1.8rem;color:#667eea;align-self:center;flex-shrink:0}.lp-features{padding:72px 24px;background:#f8f8fc}.lp-features-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px;margin-top:40px}.lp-feature{background:#fff;border-radius:14px;padding:24px;box-shadow:0 2px 10px #0000000d;transition:transform .2s,box-shadow .2s}.lp-feature:hover{transform:translateY(-3px);box-shadow:0 6px 20px #667eea1f}.lp-feature-icon{font-size:2rem;display:block;margin-bottom:12px}.lp-feature h3{font-size:1rem;font-weight:700;margin:0 0 8px;color:#1a1a2e}.lp-feature p{font-size:.88rem;color:#555;line-height:1.6;margin:0}.lp-pricing{padding:72px 24px;background:#fff}.lp-pricing-cards{display:flex;gap:24px;justify-content:center;flex-wrap:wrap;margin:40px 0 20px}.lp-pricing-card{background:#f8f8fc;border-radius:18px;padding:32px;width:280px;position:relative;border:2px solid transparent}.lp-pricing-featured{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:transparent;box-shadow:0 8px 32px #667eea4d}.lp-pricing-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:gold;color:#1a1a2e;font-size:.75rem;font-weight:700;padding:4px 14px;border-radius:20px;white-space:nowrap}.lp-pricing-name{font-size:1.1rem;font-weight:700;margin-bottom:8px}.lp-pricing-price{font-size:2rem;font-weight:900;margin-bottom:20px}.lp-pricing-price span{font-size:.9rem;font-weight:400;opacity:.75}.lp-pricing-card ul{list-style:none;padding:0;margin:0 0 24px}.lp-pricing-card ul li{padding:7px 0;font-size:.9rem;border-bottom:1px solid rgba(0,0,0,.06)}.lp-pricing-featured ul li{border-bottom-color:#ffffff26}.lp-pricing-card ul li:last-child{border-bottom:none}.lp-pricing-featured .lp-btn-primary{background:#fff;color:#667eea;width:100%}.lp-pricing-card:not(.lp-pricing-featured) .lp-btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;width:100%}.lp-pricing-note{text-align:center;color:#888;font-size:.9rem;margin:0}.lp-faq{padding:72px 24px;background:#f8f8fc}.lp-faq-list{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:40px}.lp-faq-item{background:#fff;border-radius:14px;padding:24px;box-shadow:0 2px 8px #0000000d}.lp-faq-item h3{font-size:.98rem;font-weight:700;margin:0 0 10px;color:#1a1a2e}.lp-faq-item p{font-size:.88rem;color:#555;line-height:1.65;margin:0}.lp-cta{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:80px 24px;text-align:center}.lp-cta-inner{max-width:680px;margin:0 auto}.lp-cta h2{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:900;margin:0 0 16px}.lp-cta p{font-size:1.05rem;opacity:.9;margin:0 0 32px;line-height:1.6}.lp-cta-note{margin-top:16px!important;font-size:.85rem;opacity:.75;margin-bottom:0!important}.lp-footer{background:#1a1a2e;color:#ccc;padding:40px 24px}.lp-footer-inner{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center}.lp-footer-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff;font-size:1.1rem;font-weight:700}.lp-footer-links{display:flex;gap:24px;flex-wrap:wrap;justify-content:center}.lp-footer-links a{color:#aaa;text-decoration:none;font-size:.9rem;transition:color .2s}.lp-footer-links a:hover{color:#fff}.lp-footer-copy{font-size:.82rem;color:#666;margin:0}@media (max-width: 768px){.lp-problem-grid,.lp-faq-list{grid-template-columns:1fr}.lp-steps{flex-direction:column;align-items:center}.lp-step-arrow{transform:rotate(90deg)}.lp-step{max-width:100%;width:100%}.lp-pricing-cards{flex-direction:column;align-items:center}.lp-pricing-card{width:100%;max-width:340px}.lp-nav-actions .lp-btn-login{display:none}.lp-hero{padding:56px 20px 48px}.lp-problem,.lp-how,.lp-features,.lp-pricing,.lp-faq{padding:48px 20px}}.schedule-page{min-height:100vh;background:#f3f4f6;overflow-x:hidden}.schedule-header{background:linear-gradient(135deg,#667eea,#764ba2);padding:20px 24px;display:flex;align-items:center;gap:16px;color:#fff}.schedule-back-btn{background:#fff3;border:none;border-radius:50%;width:40px;height:40px;color:#fff;font-size:1.2rem;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center}.schedule-header-title{flex:1;min-width:0}.schedule-header-title h1{margin:0;font-size:1.4rem;font-weight:700}.schedule-header-title p{margin:2px 0 0;font-size:.85rem;opacity:.85}.schedule-nav{display:flex;align-items:center;gap:12px;padding:14px 20px;background:#fff;border-bottom:1px solid #e5e7eb;flex-wrap:wrap}.schedule-week-label{flex:1;text-align:center;font-weight:700;font-size:1rem;color:#1f2937;min-width:120px}.schedule-nav-btn{background:#fff;border:1.5px solid #d1d5db;border-radius:8px;padding:7px 14px;font-size:.85rem;font-weight:600;color:#374151;cursor:pointer}.schedule-today-btn{background:#667eea;border:none;border-radius:8px;padding:7px 14px;font-size:.85rem;font-weight:700;color:#fff;cursor:pointer;margin-left:auto}.schedule-loading{text-align:center;padding:32px;color:#6b7280;font-size:1rem}.schedule-error{margin:12px 16px;padding:12px 16px;background:#fef2f2;border:1px solid #fca5a5;border-radius:8px;color:#dc2626;font-size:.9rem;display:flex;align-items:center;gap:8px}.schedule-grid{display:grid;grid-template-columns:repeat(7,1fr);border-left:1px solid #e5e7eb;border-top:1px solid #e5e7eb;background:#fff;min-height:200px;overflow-x:hidden}.schedule-day-col{border-right:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;display:flex;flex-direction:column;min-height:120px}.schedule-day-header{padding:8px 6px;text-align:center;border-bottom:2px solid #e5e7eb;background:#f9fafb}.schedule-day-header--today{background:#ede9fe;border-bottom-color:#7c3aed}.schedule-day-name{font-size:.65rem;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.schedule-day-num{font-size:1.1rem;font-weight:700;color:#1f2937;line-height:1.2}.schedule-day-header--today .schedule-day-num{color:#7c3aed}.schedule-day-body{flex:1;padding:4px;display:flex;flex-direction:column;gap:3px}.schedule-day-col:has(.schedule-day-header--today) .schedule-day-body{background:#faf5ff}.schedule-card{background:#f0f4ff;border-left:3px solid #667eea;border-radius:5px;padding:5px 6px;font-size:.72rem}.schedule-card--mine{background:#fdf4ff;border-left-color:#a855f7}.schedule-card-name{font-weight:700;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-card-jobsite{color:#6b7280;font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-card-notes{color:#9ca3af;font-size:.65rem;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-card--color{background:hsl(var(--card-hue, 220),80%,95%);border-left-color:hsl(var(--card-hue, 220),65%,55%)}.schedule-card--color .schedule-card-name{color:hsl(var(--card-hue, 220),60%,25%)}.schedule-add-btn{display:block;width:100%;margin-top:4px;padding:6px 4px;background:#667eea;color:#fff;border:none;border-radius:6px;font-weight:700;font-size:.72rem;cursor:pointer;text-align:center;transition:all .2s ease}.schedule-add-btn:hover{background:#5a67d8;transform:translateY(-1px);box-shadow:0 3px 8px #667eea66}.schedule-add-btn:active{transform:translateY(0);box-shadow:none}.schedule-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.schedule-modal{background:#fff;border-radius:16px;width:100%;max-width:480px;box-shadow:0 20px 60px #0000004d;overflow:hidden}.schedule-modal-header{background:linear-gradient(135deg,#667eea,#764ba2);padding:20px 24px;display:flex;align-items:center;justify-content:space-between;color:#fff}.schedule-modal-header h2{margin:0;font-size:1.1rem;font-weight:700}.schedule-modal-close{background:#fff3;border:none;border-radius:50%;width:32px;height:32px;color:#fff;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.schedule-modal-body{padding:20px 24px;display:flex;flex-direction:column;gap:14px}.schedule-form-group{display:flex;flex-direction:column;gap:5px}.schedule-form-group label{font-size:.8rem;font-weight:600;color:#374151}.schedule-form-group input,.schedule-form-group select,.schedule-form-group textarea{border:1.5px solid #d1d5db;border-radius:8px;padding:9px 12px;font-size:.9rem;color:#1f2937;background:#fff;width:100%;box-sizing:border-box}.schedule-form-group textarea{resize:vertical;min-height:70px}.schedule-modal-msg{padding:10px 14px;border-radius:8px;font-size:.85rem;font-weight:600}.schedule-modal-msg--error{background:#fef2f2;color:#dc2626;border:1px solid #fca5a5}.schedule-modal-msg--success{background:#f0fdf4;color:#16a34a;border:1px solid #86efac}.schedule-modal-footer{padding:16px 24px;border-top:1px solid #e5e7eb;display:flex;gap:10px;align-items:center}.btn-schedule-delete{background:#fef2f2;border:1.5px solid #fca5a5;border-radius:8px;padding:9px 14px;color:#dc2626;font-size:1rem;cursor:pointer}.btn-schedule-cancel{background:#fff;border:1.5px solid #d1d5db;border-radius:8px;padding:9px 18px;color:#374151;font-weight:600;font-size:.9rem;cursor:pointer;margin-left:auto}.btn-schedule-save{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;padding:9px 20px;color:#fff;font-weight:700;font-size:.9rem;cursor:pointer}@media (max-width: 640px){.schedule-header-title h1{font-size:1.1rem}.schedule-nav{padding:10px 12px;gap:8px}.schedule-week-label{font-size:.85rem;min-width:80px}.schedule-nav-btn,.schedule-today-btn{padding:6px 10px;font-size:.78rem}.schedule-grid{display:flex!important;flex-direction:column;border-left:none;border-top:none;background:#f3f4f6;gap:8px;padding:8px 12px}.schedule-day-col{border-right:none;border-bottom:none;border-radius:12px;background:#fff;box-shadow:0 1px 4px #00000012;min-height:unset}.schedule-day-col--empty{display:none}.schedule-day-header{padding:10px 14px;text-align:left;display:flex;align-items:center;gap:10px;border-radius:12px 12px 0 0;border-bottom:1px solid #e5e7eb}.schedule-day-header--today{background:#ede9fe}.schedule-day-name{font-size:.75rem;color:#6b7280}.schedule-day-num{font-size:1.2rem;font-weight:800}.schedule-day-body{padding:10px 12px;gap:8px}.schedule-card{font-size:.85rem;padding:10px 12px;border-radius:8px}.schedule-card-name{font-size:.9rem}.schedule-card-jobsite{font-size:.8rem}.schedule-add-btn{font-size:.85rem;padding:10px;border-radius:8px}.schedule-modal{border-radius:12px;max-height:90vh;overflow-y:auto}}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#213547;background-color:#f5f5f5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;padding:0;min-width:320px;min-height:100vh;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:20px;color:#666}#root{width:100%;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#f5f5f5}a:hover{color:#747bff}button{background-color:#f9f9f9}}.logo-container{display:flex;align-items:center;justify-content:center}.logo-image{width:80px;height:80px;object-fit:contain}.logo-container h1{display:none}.login-header-mobile .logo-container h1,.register-header-mobile .logo-container h1{display:block}
