*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,system-ui,sans-serif}:root{--sidebar-w:240px;--sidebar-sm:64px;--topbar-h:60px;--font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "Fira Code", "Cascadia Code", monospace;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:20px;--ease:cubic-bezier(.4, 0, .2, 1);--t-fast:.15s;--t-mid:.22s;--t-slow:.35s}:root,:root[data-theme=light]{--void:#fff;--base:#f4f6fa;--surface:#fff;--raised:#eef2f7;--overlay:#e2e8f0;--green:#008a4c;--green-dim:#00683a;--green-soft:#008a4c1a;--green-glow:0 0 24px #008a4c2e;--amber:#b8730e;--amber-dim:#8a5400;--amber-soft:#b8730e1f;--red:#d92828;--red-soft:#d928281a;--blue:#1c6fc8;--blue-soft:#1c6fc81a;--cyan:#0892a8;--cyan-soft:#0892a81a;--purple:#6d3eb1;--purple-soft:#6d3eb11a;--t1:#0b1525;--t2:#44546a;--t3:#6b7e95;--border:#e6ecf2;--border-mid:#d1dae3;--border-bright:#b1bcc9;--inset:#0f172a0a;--card-hover-shadow:0 8px 24px #0f172a14}:root[data-theme=dark]{--void:#060d17;--base:#0b1525;--surface:#111e32;--raised:#172438;--overlay:#1c2d45;--green:#00d97e;--green-dim:#009e5c;--green-soft:#00d97e1a;--green-glow:0 0 24px #00d97e40;--amber:#f5a623;--amber-dim:#b87800;--amber-soft:#f5a6231a;--red:#ff4757;--red-soft:#ff47571a;--blue:#4dabf7;--blue-soft:#4dabf71a;--cyan:#3bc9db;--cyan-soft:#3bc9db1a;--purple:#b197fc;--purple-soft:#b197fc1a;--t1:#dce8f5;--t2:#7a93b0;--t3:#3d5068;--border:#162030;--border-mid:#1c2d42;--border-bright:#254460;--inset:#070f1c80;--card-hover-shadow:0 10px 32px #00000059}.admin-layout *,.login-page *,.admin-layout :before,.admin-layout :after,.login-page :before,.login-page :after{box-sizing:border-box}.admin-layout{background:var(--base);height:100vh;color:var(--t1);font-family:var(--font);-webkit-font-smoothing:antialiased;display:flex;overflow:hidden}.admin-sidebar{width:var(--sidebar-w);min-width:var(--sidebar-w);background:var(--void);border-right:1px solid var(--border-mid);height:100vh;transition:width var(--t-slow) var(--ease), min-width var(--t-slow) var(--ease);z-index:100;flex-direction:column;display:flex;position:relative;overflow:hidden}.admin-sidebar.collapsed{width:var(--sidebar-sm);min-width:var(--sidebar-sm)}.sidebar-header{border-bottom:1px solid var(--border-mid);flex-shrink:0;align-items:center;gap:12px;min-height:70px;padding:18px 14px;display:flex;overflow:hidden}.sidebar-logo{border-radius:var(--r-md);width:36px;min-width:36px;height:36px;box-shadow:var(--green-glow);background:#fff;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.sidebar-logo-img{object-fit:contain;width:100%;height:100%;padding:3px}.sidebar-brand{white-space:nowrap;transition:opacity var(--t-mid) var(--ease);overflow:hidden}.admin-sidebar.collapsed .sidebar-brand{opacity:0;pointer-events:none}.sidebar-brand-name{color:var(--t1);letter-spacing:.01em;font-size:14px;font-weight:800;line-height:1.2}.sidebar-brand-sub{color:var(--t3);letter-spacing:.1em;text-transform:uppercase;margin-top:2px;font-size:10px}.sidebar-nav{scrollbar-width:none;flex:1;padding:10px 8px;overflow:hidden auto}.sidebar-nav::-webkit-scrollbar{display:none}.nav-section{margin-bottom:4px}.nav-section-label{color:var(--t3);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;transition:opacity var(--t-mid) var(--ease);padding:10px 10px 4px;font-size:10px;font-weight:600}.admin-sidebar.collapsed .nav-section-label{opacity:0}.nav-item{border-radius:var(--r-md);cursor:pointer;transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease);color:var(--t2);white-space:nowrap;align-items:center;gap:10px;margin-bottom:1px;padding:9px 10px;text-decoration:none;display:flex;position:relative;overflow:hidden}.nav-item:hover{background:var(--surface);color:var(--t1)}.nav-item.active{background:var(--green-soft);color:var(--green)}.nav-item.active:before{content:"";background:var(--green);border-radius:0 2px 2px 0;width:3px;height:60%;position:absolute;top:50%;left:0;transform:translateY(-50%)}.nav-icon{flex-shrink:0;justify-content:center;align-items:center;min-width:20px;display:flex}.nav-label{transition:opacity var(--t-mid) var(--ease);letter-spacing:.01em;font-size:13px;font-weight:500}.admin-sidebar.collapsed .nav-label{opacity:0}.nav-divider{background:var(--border-mid);flex-shrink:0;height:1px;margin:8px 10px}.sidebar-footer{border-top:1px solid var(--border-mid);flex-shrink:0;padding:10px 8px}.sidebar-user{border-radius:var(--r-md);align-items:center;gap:10px;margin-bottom:6px;padding:8px 10px;display:flex;overflow:hidden}.user-avatar{background:linear-gradient(135deg, var(--blue), var(--purple));color:#fff;letter-spacing:.01em;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;min-width:32px;height:32px;font-size:12px;font-weight:800;display:flex}.user-info{transition:opacity var(--t-mid) var(--ease);flex:1;min-width:0;overflow:hidden}.admin-sidebar.collapsed .user-info{opacity:0}.user-name{color:var(--t1);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:600;line-height:1.3;overflow:hidden}.user-role{color:var(--t3);text-transform:capitalize;font-size:10.5px;line-height:1.3}.sidebar-collapse-btn{border-radius:var(--r-md);border:1px solid var(--border-mid);width:100%;color:var(--t3);cursor:pointer;transition:all var(--t-fast) var(--ease);font-size:12px;font-family:var(--font);white-space:nowrap;background:0 0;justify-content:center;align-items:center;gap:8px;padding:8px 10px;display:flex;overflow:hidden}.sidebar-collapse-btn:hover{background:var(--surface);color:var(--t2);border-color:var(--border-bright)}.sidebar-collapse-btn .btn-label{transition:opacity var(--t-mid) var(--ease)}.admin-sidebar.collapsed .sidebar-collapse-btn .btn-label{opacity:0;width:0}.admin-main{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.admin-topbar{height:var(--topbar-h);min-height:var(--topbar-h);background:var(--void);border-bottom:1px solid var(--border-mid);flex-shrink:0;align-items:center;gap:16px;padding:0 24px;display:flex}.topbar-left{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.topbar-breadcrumb{color:var(--t3);align-items:center;gap:6px;font-size:13px;display:flex}.topbar-breadcrumb .separator{color:var(--border-bright)}.topbar-breadcrumb .current{color:var(--t1);font-weight:600}.topbar-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.topbar-icon-btn{border-radius:var(--r-md);border:1px solid var(--border-mid);width:36px;height:36px;color:var(--t2);cursor:pointer;transition:all var(--t-fast) var(--ease);background:0 0;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.topbar-icon-btn:hover{background:var(--surface);color:var(--t1);border-color:var(--border-bright)}.notif-badge:after{content:"";background:var(--red);border:2px solid var(--void);border-radius:50%;width:7px;height:7px;position:absolute;top:7px;right:7px}.topbar-divider{background:var(--border-mid);width:1px;height:24px}.topbar-user{border-radius:var(--r-md);cursor:pointer;border:1px solid var(--border-mid);transition:all var(--t-fast) var(--ease);align-items:center;gap:8px;padding:6px 10px;display:flex}.topbar-user:hover{background:var(--surface);border-color:var(--border-bright)}.topbar-user-name{color:var(--t1);font-size:12.5px;font-weight:600}.admin-content{background:var(--base);flex:1;padding:28px;overflow-y:auto}.admin-content::-webkit-scrollbar{width:5px}.admin-content::-webkit-scrollbar-track{background:0 0}.admin-content::-webkit-scrollbar-thumb{background:var(--border-bright);border-radius:3px}.dash-welcome{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:28px;display:flex}.dash-greeting{color:var(--t1);letter-spacing:-.025em;margin-bottom:4px;font-size:26px;font-weight:800;line-height:1.2}.dash-greeting em{color:var(--green);font-style:normal}.dash-date{color:var(--t3);align-items:center;gap:6px;font-size:13px;display:flex}.dash-live-dot{background:var(--green);border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:2s ease-in-out infinite live-pulse}@keyframes live-pulse{0%,to{opacity:1;box-shadow:0 0 #00d97e66}50%{opacity:.7;box-shadow:0 0 0 5px #00d97e00}}.dash-actions{flex-wrap:wrap;gap:8px;display:flex}.dash-btn{border-radius:var(--r-md);font-size:13px;font-weight:600;font-family:var(--font);cursor:pointer;border:1px solid var(--border-mid);background:var(--surface);color:var(--t1);transition:all var(--t-fast) var(--ease);white-space:nowrap;align-items:center;gap:7px;padding:9px 16px;text-decoration:none;display:flex}.dash-btn:hover{background:var(--raised);border-color:var(--border-bright);transform:translateY(-1px)}.dash-btn-primary{background:var(--green);color:#000;border-color:var(--green)}.dash-btn-primary:hover{box-shadow:var(--green-glow);background:#00f090;border-color:#00f090}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px;display:grid}.kpi-card{background:var(--surface);border:1px solid var(--border-mid);border-radius:var(--r-lg);transition:all var(--t-mid) var(--ease);cursor:default;padding:20px;position:relative;overflow:hidden}.kpi-card:after{content:"";background:var(--kpi-color,var(--green));opacity:.5;height:2px;position:absolute;top:0;left:0;right:0}.kpi-card:hover{background:var(--raised);border-color:var(--border-bright);box-shadow:var(--card-hover-shadow,0 10px 32px #00000059);transform:translateY(-2px)}.kpi-top{justify-content:space-between;align-items:flex-start;margin-bottom:18px;display:flex}.kpi-icon-wrap{border-radius:var(--r-md);background:var(--kpi-soft,var(--green-soft));width:42px;height:42px;color:var(--kpi-color,var(--green));justify-content:center;align-items:center;display:flex}.kpi-badge{background:var(--green-soft);color:var(--green);border-radius:100px;padding:3px 9px;font-size:11px;font-weight:600}.kpi-badge.amber{background:var(--amber-soft);color:var(--amber)}.kpi-badge.red{background:var(--red-soft);color:var(--red)}.kpi-value{color:var(--t1);letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin-bottom:5px;font-size:36px;font-weight:900;line-height:1}.kpi-label{color:var(--t3);text-transform:uppercase;letter-spacing:.07em;font-size:11px;font-weight:500}.dash-grid{grid-template-columns:1fr 320px;align-items:start;gap:20px;display:grid}.dash-panel{background:var(--surface);border:1px solid var(--border-mid);border-radius:var(--r-lg);overflow:hidden}.panel-header{border-bottom:1px solid var(--border-mid);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.panel-title{color:var(--t1);letter-spacing:.01em;align-items:center;gap:8px;font-size:13.5px;font-weight:700;display:flex}.panel-title-icon{color:var(--t3)}.panel-count{background:var(--raised);color:var(--t2);border:1px solid var(--border-mid);font-variant-numeric:tabular-nums;border-radius:100px;padding:2px 9px;font-size:11px}.panel-link{color:var(--blue);cursor:pointer;transition:color var(--t-fast) var(--ease);white-space:nowrap;font-size:12px;text-decoration:none}.panel-link:hover{color:var(--t1)}.job-board-table{overflow:hidden}.job-board-row{border-bottom:1px solid var(--border);transition:background var(--t-fast) var(--ease);cursor:pointer;grid-template-columns:40px 1fr 110px 110px 100px;align-items:center;gap:12px;padding:11px 20px;display:grid}.job-board-row:last-child{border-bottom:none}.job-board-row:hover{background:var(--raised)}.job-board-row.row-header{background:var(--inset);cursor:default;padding:8px 20px}.job-board-row.row-header:hover{background:var(--inset)}.col-header{color:var(--t3);text-transform:uppercase;letter-spacing:.09em;font-size:10px;font-weight:700}.job-num{color:var(--t3);font-variant-numeric:tabular-nums;font-size:11px;font-family:var(--font-mono)}.job-service-type{color:var(--t1);margin-bottom:2px;font-size:13px;font-weight:600}.job-client-name{color:var(--t1);white-space:nowrap;text-overflow:ellipsis;max-width:220px;margin-bottom:2px;font-size:13px;font-weight:600;overflow:hidden}.job-svc-inline{color:var(--t1);font-weight:600}.job-address-line{color:var(--t2);white-space:nowrap;text-overflow:ellipsis;max-width:220px;font-size:11.5px;overflow:hidden}.job-time-col{color:var(--t2);font-variant-numeric:tabular-nums;font-size:12.5px;font-family:var(--font-mono)}.job-tech-col{color:var(--t2);align-items:center;gap:7px;font-size:12px;display:flex;overflow:hidden}.tech-mini-avatar{background:linear-gradient(135deg, var(--blue), var(--purple));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;min-width:24px;height:24px;font-size:9px;font-weight:800;display:flex}.tech-mini-name{white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.status-chip{white-space:nowrap;letter-spacing:.02em;border-radius:100px;align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.status-chip:before{content:"";background:currentColor;border-radius:50%;flex-shrink:0;width:5px;height:5px}.status-chip.scheduled{background:var(--blue-soft);color:var(--blue)}.status-chip.on_the_way{background:var(--amber-soft);color:var(--amber)}.status-chip.arrived{background:var(--cyan-soft);color:var(--cyan)}.status-chip.complete{background:var(--green-soft);color:var(--green)}.status-chip.cancelled{background:var(--red-soft);color:var(--red)}.status-chip.on_the_way:before,.status-chip.arrived:before{animation:1.8s ease-in-out infinite status-blink}@keyframes status-blink{0%,to{opacity:1}50%{opacity:.3}}.tech-roster{overflow:hidden}.tech-roster-row{border-bottom:1px solid var(--border);transition:background var(--t-fast) var(--ease);align-items:center;gap:12px;padding:13px 20px;display:flex}.tech-roster-row:last-child{border-bottom:none}.tech-roster-row:hover{background:var(--raised)}.tech-roster-avatar{background:linear-gradient(135deg, var(--blue), var(--purple));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;min-width:36px;height:36px;font-size:12px;font-weight:800;display:flex;position:relative}.tech-status-ring{border:2px solid var(--border-mid);border-radius:50%;position:absolute;inset:-2px}.tech-status-ring.online{border-color:var(--green);box-shadow:0 0 8px #00d97e80}.tech-status-ring.enroute{border-color:var(--amber)}.tech-status-ring.offline{border-color:var(--border-bright)}.tech-roster-info{flex:1;min-width:0}.tech-roster-name{color:var(--t1);white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:13px;font-weight:600;overflow:hidden}.tech-roster-sub{color:var(--t3);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.tech-roster-jobs-wrap{text-align:center}.tech-jobs-n{color:var(--t1);font-variant-numeric:tabular-nums;font-size:18px;font-weight:800;line-height:1}.tech-jobs-lbl{color:var(--t3);text-transform:uppercase;letter-spacing:.08em;margin-top:1px;font-size:9px}.quick-actions-list{flex-direction:column;gap:6px;padding:12px;display:flex}.qa-item{border-radius:var(--r-md);background:var(--raised);border:1px solid var(--border-mid);cursor:pointer;color:var(--t1);font-size:13px;font-weight:500;font-family:var(--font);transition:all var(--t-fast) var(--ease);align-items:center;gap:12px;padding:11px 14px;text-decoration:none;display:flex}.qa-item:hover{background:var(--overlay);border-color:var(--border-bright);transform:translate(3px)}.qa-icon{border-radius:var(--r-sm);flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.board-empty{text-align:center;padding:40px 24px}.board-empty-icon{border-radius:var(--r-xl);background:var(--raised);border:1px solid var(--border-mid);width:52px;height:52px;color:var(--t3);justify-content:center;align-items:center;margin:0 auto 14px;display:flex}.board-empty-title{color:var(--t2);margin-bottom:4px;font-size:14px;font-weight:600}.board-empty-sub{color:var(--t3);font-size:12px}.shimmer{background:linear-gradient(90deg, var(--surface) 25%, var(--raised) 50%, var(--surface) 75%);border-radius:var(--r-sm);background-size:200% 100%;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.shimmer-row{border-bottom:1px solid var(--border);align-items:center;gap:16px;height:52px;padding:0 20px;display:flex}.shimmer-bar{border-radius:4px;height:12px}.login-page{background:var(--void);min-height:100vh;font-family:var(--font);-webkit-font-smoothing:antialiased;display:flex}.login-brand{background:var(--void);border-right:1px solid var(--border-mid);flex-direction:column;flex:1;min-width:0;padding:48px;display:flex;position:relative;overflow:hidden}.login-brand:before{content:"";background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);opacity:.5;background-size:52px 52px;position:absolute;inset:0}.login-brand:after{content:"";pointer-events:none;background:radial-gradient(at 20% 40%,#00d97e17 0%,#0000 55%),radial-gradient(at 80% 70%,#4dabf70f 0%,#0000 50%),radial-gradient(at 50% 100%,#b197fc0d 0%,#0000 40%);position:absolute;inset:0}.hex-shape{pointer-events:none;border:1px solid #00d97e1f;position:absolute;transform:rotate(30deg)}.hex-shape:first-child{opacity:.4;border-radius:30px;width:180px;height:180px;animation:8s ease-in-out infinite hex-float;top:15%;right:12%}.hex-shape:nth-child(2){opacity:.25;border-color:#4dabf726;border-radius:20px;width:100px;height:100px;animation:11s ease-in-out infinite reverse hex-float;top:55%;right:30%}.hex-shape:nth-child(3){opacity:.2;border-radius:12px;width:60px;height:60px;animation:9s ease-in-out 2s infinite hex-float;top:75%;right:8%}@keyframes hex-float{0%,to{transform:rotate(30deg)translateY(0)}50%{transform:rotate(35deg)translateY(-20px)}}.brand-content{z-index:1;flex-direction:column;flex:1;display:flex;position:relative}.brand-logo-row{align-items:center;gap:14px;margin-bottom:64px;display:flex}.brand-shield-icon{background:linear-gradient(145deg, var(--green), var(--green-dim));border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex;box-shadow:0 0 32px #00d97e59,0 0 80px #00d97e1a}.brand-name-wrap .brand-company{color:var(--t1);letter-spacing:-.01em;font-size:17px;font-weight:800;line-height:1.2}.brand-name-wrap .brand-division{color:var(--t3);letter-spacing:.1em;text-transform:uppercase;margin-top:2px;font-size:10px}.brand-headline{color:var(--t1);letter-spacing:-.035em;flex:1;margin-bottom:20px;font-size:44px;font-weight:900;line-height:1.1}.brand-headline .hl-green{color:var(--green)}.brand-headline .hl-dim{color:var(--t3);font-size:38px;font-weight:400}.brand-tagline{color:var(--t2);max-width:380px;margin-bottom:48px;font-size:15px;line-height:1.65}.brand-stats{border-top:1px solid var(--border-mid);z-index:1;gap:0;margin-bottom:0;padding-top:28px;display:flex;position:relative}.brand-stat{flex:1;padding-right:24px}.brand-stat+.brand-stat{border-left:1px solid var(--border-mid);padding-left:24px}.brand-stat-n{color:var(--t1);letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-bottom:5px;font-size:28px;font-weight:900;line-height:1}.brand-stat-n .accent{color:var(--green)}.brand-stat-lbl{color:var(--t3);letter-spacing:.02em;font-size:11px}.login-form-panel{background:var(--base);justify-content:center;align-items:center;width:440px;min-width:440px;padding:48px;display:flex}.login-card{width:100%;max-width:340px}.login-card-eyebrow{color:var(--green);text-transform:uppercase;letter-spacing:.12em;align-items:center;gap:7px;margin-bottom:10px;font-size:11px;font-weight:700;display:flex}.eyebrow-dot{background:var(--green);border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:2s ease-in-out infinite live-pulse}.login-card-title{color:var(--t1);letter-spacing:-.025em;margin-bottom:8px;font-size:28px;font-weight:900;line-height:1.15}.login-card-sub{color:var(--t3);margin-bottom:36px;font-size:14px;line-height:1.5}.login-form{flex-direction:column;gap:16px;display:flex}.login-field{flex-direction:column;gap:6px;display:flex}.login-label{color:var(--t2);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700}.login-input{background:var(--surface);border:1px solid var(--border-mid);border-radius:var(--r-md);color:var(--t1);font-size:14px;font-family:var(--font);transition:all var(--t-fast) var(--ease);outline:none;width:100%;padding:12px 14px}.login-input:focus{border-color:var(--green);background:var(--raised);box-shadow:0 0 0 3px #00d97e1f}.login-input::placeholder{color:var(--t3)}.login-error{background:var(--red-soft);border-radius:var(--r-md);color:var(--red);border:1px solid #ff475733;align-items:center;gap:9px;margin-top:4px;padding:10px 14px;font-size:13px;display:flex}.login-btn{background:var(--green);color:#000;border-radius:var(--r-md);width:100%;font-size:14px;font-weight:800;font-family:var(--font);cursor:pointer;transition:all var(--t-fast) var(--ease);letter-spacing:.02em;border:none;margin-top:6px;padding:13px}.login-btn:hover:not(:disabled){box-shadow:var(--green-glow);background:#00f090;transform:translateY(-1px)}.login-btn:active:not(:disabled){transform:translateY(0)}.login-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.login-divider{align-items:center;gap:12px;margin-top:8px;display:flex}.login-divider-line{background:var(--border-mid);flex:1;height:1px}.login-divider-text{color:var(--t3);font-size:11px}.login-footer{text-align:center;border-top:1px solid var(--border-mid);margin-top:32px;padding-top:24px}.login-footer-text{color:var(--t3);margin-bottom:8px;font-size:12px}.login-version{color:var(--t3);background:var(--surface);border:1px solid var(--border-mid);font-size:11px;font-family:var(--font-mono);border-radius:100px;padding:4px 12px;display:inline-block}.chemicals-page{max-width:1000px;font-family:var(--font);color:var(--t1);margin:0 auto}.chemicals-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.chemicals-title{color:var(--t1);letter-spacing:-.02em;margin:0;font-size:22px;font-weight:800}.chemicals-sub{color:var(--t3);margin:4px 0 0;font-size:13px}.chemicals-form-panel{background:var(--surface);border:1px solid var(--border-mid);border-radius:var(--r-lg);margin-bottom:20px;padding:20px}.tp-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#030810b8;justify-content:center;align-items:center;padding:24px;animation:.15s tp-modal-fade;display:flex;position:fixed;inset:0;overflow-y:auto}@keyframes tp-modal-fade{0%{opacity:0}to{opacity:1}}.tp-modal-shell{-webkit-overflow-scrolling:touch;width:100%;max-height:92vh;animation:.16s tp-modal-pop;overflow-y:auto}@keyframes tp-modal-pop{0%{opacity:0;transform:translateY(8px)scale(.99)}to{opacity:1;transform:none}}.chemicals-form-panel h3{color:var(--t1);margin:0 0 16px;font-size:15px;font-weight:700}.chemicals-field{margin-bottom:12px}.chemicals-field-label{color:var(--t2);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-size:11px;font-weight:700;display:block}.chemicals-input,.chemicals-textarea{border-radius:var(--r-md);width:100%;font-size:14px;font-family:var(--font);box-sizing:border-box;background:var(--raised);border:1px solid var(--border-mid);color:var(--t1);transition:border-color var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);outline:none;padding:9px 12px}.chemicals-textarea{resize:vertical;min-height:64px}.chemicals-input::placeholder,.chemicals-textarea::placeholder{color:var(--t3)}.chemicals-input:focus,.chemicals-textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #00d97e1f}.chemicals-form-error{color:var(--red);margin:8px 0;font-size:13px;font-weight:600}.chemicals-form-actions{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.chemicals-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.chemicals-search{border-radius:var(--r-md);min-width:200px;font-size:14px;font-family:var(--font);background:var(--raised);border:1px solid var(--border-mid);color:var(--t1);transition:border-color var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);outline:none;flex:1;padding:9px 14px}.chemicals-search::placeholder{color:var(--t3)}.chemicals-search:focus{border-color:var(--green);box-shadow:0 0 0 3px #00d97e1f}.chemicals-filter-label{color:var(--t2);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;display:flex}.chemicals-filter-label input{accent-color:var(--green);width:16px;height:16px}.chemicals-table-wrap{background:var(--surface);border:1px solid var(--border-mid);border-radius:var(--r-lg);-webkit-overflow-scrolling:touch;overflow:auto hidden}.chemicals-table{border-collapse:collapse;width:100%;min-width:1060px;font-size:14px}.chemicals-table th{white-space:nowrap}.chemicals-table thead tr{background:var(--inset)}.chemicals-table th{text-align:left;color:var(--t3);text-transform:uppercase;letter-spacing:.09em;border-bottom:1px solid var(--border-mid);padding:10px 14px;font-size:10px;font-weight:700}.chemicals-table tbody tr{border-bottom:1px solid var(--border);transition:background var(--t-fast) var(--ease)}.chemicals-table tbody tr:last-child{border-bottom:none}.chemicals-table tbody tr:hover{background:var(--raised)}.chemicals-table td{vertical-align:top;color:var(--t1);padding:12px 14px}.chemicals-product-name{color:var(--t1);font-weight:600}.chemicals-product-notes{color:var(--t2);margin:2px 0 0;font-size:12px;line-height:1.35}.chemicals-cell-muted{color:var(--t2)}.chemicals-dash{color:var(--t3)}.chemicals-actions{white-space:nowrap}.chemicals-action-btn{border:1px solid var(--border-bright);color:var(--blue);border-radius:var(--r-sm);font-size:12px;font-weight:600;font-family:var(--font);cursor:pointer;transition:background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);background:0 0;padding:5px 10px}.chemicals-action-btn:hover{background:var(--blue-soft);border-color:var(--blue)}.chemicals-action-btn.danger{color:var(--red);border-color:#ff475759;margin-left:6px}.chemicals-action-btn.danger:hover{background:var(--red-soft);border-color:var(--red)}.chemicals-loading{color:var(--t2);font-size:14px}.chemicals-grid-2{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:0 16px;display:grid}@media (width<=1100px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.dash-grid{grid-template-columns:1fr}.job-board-row{grid-template-columns:40px 1fr 100px}.job-board-row>:nth-child(4),.job-board-row>:nth-child(5){display:none}}@media (width<=900px){.login-brand{display:none}.login-form-panel{width:100%;min-width:unset}}@media (width<=600px){.admin-content{padding:16px}.kpi-grid{grid-template-columns:1fr 1fr;gap:12px}.dash-welcome{flex-direction:column;align-items:flex-start}}.cp-page{max-width:1000px;margin:0 auto}.page-root{max-width:1000px;font-family:var(--font);color:var(--t1);margin:0 auto}.cp-back{color:var(--t2);transition:color var(--t-fast) var(--ease);font-size:13px;font-family:var(--font);align-items:center;gap:6px;margin-bottom:22px;text-decoration:none;display:inline-flex}.cp-back:hover{color:var(--t1)}.cp-header{background:var(--surface);border:1px solid var(--border-mid);border-radius:var(--r-lg);align-items:flex-start;gap:20px;padding:26px 28px;display:flex}.cp-avatar{border-radius:var(--r-md);border:2px solid var(--border-bright);width:68px;height:68px;color:var(--green);letter-spacing:-1px;font-size:20px;font-weight:800;font-family:var(--font);text-transform:uppercase;background:linear-gradient(145deg,#122440,#0c1d33);flex-shrink:0;justify-content:center;align-items:center;display:flex}.cp-identity{flex:1;min-width:0}.cp-name{color:var(--t1);margin:0 0 3px;font-size:20px;font-weight:700;line-height:1.25}.cp-subname{color:var(--t2);margin:0 0 11px;font-size:13px}.cp-badges{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.cp-badge{letter-spacing:.05em;text-transform:uppercase;font-size:10px;font-weight:700;font-family:var(--font);border-radius:20px;align-items:center;gap:4px;padding:3px 9px;display:inline-flex}.cp-badge-fr{background:var(--blue-soft);color:var(--blue);border:1px solid #4dabf72e}.cp-badge-comm{background:var(--purple-soft);color:var(--purple);border:1px solid #b197fc2e}.cp-badge-res{background:var(--green-soft);color:var(--green);border:1px solid #00d97e2e}.cp-badge-source{background:var(--surface);color:var(--t2);border:1px solid var(--border-mid)}.cp-header-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:10px;display:flex}.cp-status{font-size:12px;font-weight:600;font-family:var(--font);border-radius:20px;align-items:center;gap:6px;padding:5px 13px;display:inline-flex}.cp-status.active{background:var(--green-soft);color:var(--green);border:1px solid #00d97e33}.cp-status.inactive{background:var(--red-soft);color:var(--red);border:1px solid #ff475733}.cp-status-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.cp-status.active .cp-status-dot{animation:2s infinite pulse}.cp-balance-block{text-align:right}.cp-balance-label{color:var(--t3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px;font-size:10px}.cp-balance-amount{color:var(--amber);font-size:22px;font-weight:700;font-family:var(--font-mono);line-height:1}.cp-balance-age{color:var(--t3);margin-top:3px;font-size:11px}.cp-tabs{border-bottom:1px solid var(--border);scrollbar-width:thin;-webkit-overflow-scrolling:touch;gap:0;margin-top:24px;display:flex;overflow-x:auto}.cp-tabs::-webkit-scrollbar{height:6px}.cp-tabs::-webkit-scrollbar-thumb{background:var(--border-mid);border-radius:3px}.cp-tabs .cp-tab{flex-shrink:0}.cp-tab{color:var(--t2);cursor:pointer;white-space:nowrap;transition:color var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);font-size:13px;font-weight:500;font-family:var(--font);background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:7px;margin-bottom:-1px;padding:11px 18px;display:flex}.cp-tab:hover{color:var(--t1)}.cp-tab.active{color:var(--green);border-bottom-color:var(--green);font-weight:600}.cp-tab-count{background:var(--raised);min-width:18px;height:18px;color:var(--t3);font-size:10px;font-weight:700;font-family:var(--font-mono);border-radius:9px;justify-content:center;align-items:center;padding:0 5px;display:inline-flex}.cp-tab.active .cp-tab-count{background:var(--green-soft);color:var(--green)}.cp-body{padding:26px 0}.cp-grid-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.cp-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:20px 22px}.cp-card-title{color:var(--t3);text-transform:uppercase;letter-spacing:.09em;margin:0 0 14px;font-size:10px;font-weight:700}.cp-row{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;padding:8px 0;display:flex}.cp-row:last-child{border-bottom:none}.cp-row-label{color:var(--t3);flex-shrink:0;width:110px;padding-top:1px;font-size:12px}.cp-row-value{color:var(--t1);word-break:break-word;flex:1;font-size:13px;line-height:1.5}.cp-row-value a{color:var(--blue);text-decoration:none}.cp-row-value a:hover{text-decoration:underline}.cp-row-value .cp-dash{color:var(--t3)}.cp-row-value .cp-amber{color:var(--amber);font-weight:600}.cp-row-value .cp-green{color:var(--green);font-weight:600}.cp-row-value .cp-red{color:var(--red);font-weight:600}.cp-map-link{color:var(--blue);border-radius:var(--r-sm);background:var(--blue-soft);transition:background var(--t-fast) var(--ease);border:1px solid #4dabf733;align-items:center;gap:5px;margin-top:8px;padding:4px 10px;font-size:12px;text-decoration:none;display:inline-flex}.cp-map-link:hover{background:#4dabf72e}.cp-stat-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin-bottom:20px;display:grid}.cp-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:18px 20px}.cp-stat-label{color:var(--t3);text-transform:uppercase;letter-spacing:.07em;margin-bottom:8px;font-size:10px;font-weight:700}.cp-stat-value{color:var(--t1);font-size:17px;font-weight:700;line-height:1.2}.cp-stat-value.muted{color:var(--t3);font-size:14px;font-weight:400}.cp-stat-value.green{color:var(--green)}.cp-stat-value.amber{color:var(--amber)}.cp-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);-webkit-overflow-scrolling:touch;overflow:auto hidden}.cp-table{border-collapse:collapse;width:100%;min-width:880px}.cp-table th{white-space:nowrap;text-align:left;text-transform:uppercase;letter-spacing:.08em;color:var(--t3);background:var(--raised);border-bottom:1px solid var(--border);padding:10px 16px;font-size:10px;font-weight:700}.cp-table td{color:var(--t1);border-bottom:1px solid var(--border);vertical-align:middle;padding:12px 16px;font-size:13px}.cp-table tr:last-child td{border-bottom:none}.cp-table tbody tr:hover{background:var(--raised)}.cp-table .muted{color:var(--t2)}.cp-notes{flex-direction:column;gap:10px;display:flex}.cp-notes-layout{grid-template-columns:200px 1fr;align-items:start;gap:20px;display:grid}@media (width<=720px){.cp-notes-layout{grid-template-columns:1fr}.cp-notes-layout>aside{position:static!important}}.cp-note{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--border-mid);border-radius:var(--r-md);padding:14px 16px}.cp-note.red-note{border-left-color:var(--red);background:linear-gradient(90deg, #ef44440f, var(--surface) 32%)}.cp-note.green-note{border-left-color:var(--green);background:linear-gradient(90deg, #22c55e0f, var(--surface) 32%)}.cp-note.general{border-left-color:var(--blue)}.cp-note.cancellation{border-left-color:var(--amber)}.cp-note.billing{border-left-color:#3b82f6}.cp-note.lead{border-left-color:#a78bfa}.cp-note.important{border-left-color:#06b6d4}.cp-note-header{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.cp-note-type{text-transform:uppercase;letter-spacing:.07em;background:var(--raised);color:var(--t2);border-radius:10px;padding:2px 8px;font-size:10px;font-weight:700}.cp-note.red-note .cp-note-type{background:var(--red-soft);color:var(--red)}.cp-note.green-note .cp-note-type{background:var(--green-soft);color:var(--green)}.cp-note.cancellation .cp-note-type{background:var(--amber-soft);color:var(--amber)}.cp-note.billing .cp-note-type{color:#3b82f6;background:#3b82f626}.cp-note.lead .cp-note-type{color:#a78bfa;background:#a78bfa26}.cp-note.important .cp-note-type{color:#06b6d4;background:#06b6d426}.cp-note-author{color:var(--t2);font-size:12px;font-weight:500}.cp-note-date{color:var(--t3);margin-left:auto;font-size:11px}.cp-note-text{color:var(--t1);white-space:pre-wrap;font-size:13px;line-height:1.6}.cp-empty{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);text-align:center;padding:56px 32px}.cp-empty-icon{opacity:.45;margin-bottom:14px;font-size:34px}.cp-empty-title{color:var(--t2);margin:0 0 7px;font-size:15px;font-weight:600}.cp-empty-sub{color:var(--t3);margin:0;font-size:13px;line-height:1.6}.cl-status-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-right:6px;display:inline-block}.cl-status-dot.active{background:var(--green);box-shadow:0 0 6px var(--green)}.cl-status-dot.inactive{background:var(--t3)}.cl-balance{background:var(--amber-soft);color:var(--amber);font-size:10px;font-weight:700;font-family:var(--font-mono);border-radius:10px;align-items:center;margin-top:4px;padding:2px 7px;display:inline-flex}.cl-pagination{border-top:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.cl-pag-info{color:var(--t3);font-size:12px}.cl-pag-btns{align-items:center;gap:6px;display:flex}.cl-pag-btn{border-radius:var(--r-sm);border:1px solid var(--border-mid);background:var(--raised);color:var(--t2);cursor:pointer;font-size:12px;font-weight:600;font-family:var(--font);transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease);padding:5px 14px}.cl-pag-btn:hover:not(:disabled){background:var(--overlay);color:var(--t1)}.cl-pag-btn:disabled{opacity:.35;cursor:default}.cl-pag-page{color:var(--t2);padding:0 8px;font-size:12px}.cp-row-link{cursor:pointer}.cp-row-link:hover td:first-child .chemicals-product-name{color:var(--green)}.cp-edit-panel{background:var(--surface);border:1px solid var(--border-mid);border-radius:var(--r-lg);margin-top:16px;padding:24px 28px}.cp-edit-panel h3{color:var(--t1);margin:0 0 20px;font-size:15px;font-weight:700}@media (width<=800px){.cp-header{flex-wrap:wrap}.cp-header-right{flex-direction:row;justify-content:space-between;align-items:center;width:100%}.cp-grid-2{grid-template-columns:1fr}.cp-stat-grid{grid-template-columns:1fr 1fr}}.wiz-steps{align-items:flex-start;gap:0;margin:4px 0 24px;display:flex}.wiz-step{cursor:default;font:inherit;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:7px;padding:0;display:flex;position:relative}.wiz-step.reachable{cursor:pointer}.wiz-step:not(:first-child):before{content:"";background:var(--border-mid);height:2px;transition:background var(--t-mid) var(--ease);position:absolute;top:14px;left:calc(20px - 50%);right:calc(50% + 20px)}.wiz-step.done:not(:first-child):before,.wiz-step.active:not(:first-child):before{background:var(--green)}.wiz-step-dot{background:var(--raised);border:2px solid var(--border-mid);width:28px;height:28px;color:var(--t3);transition:all var(--t-mid) var(--ease);z-index:1;border-radius:50%;justify-content:center;align-items:center;font-size:12.5px;font-weight:700;display:flex}.wiz-step.active .wiz-step-dot{border-color:var(--green);color:var(--green);background:var(--green-soft);box-shadow:0 0 0 4px var(--green-soft)}.wiz-step.done .wiz-step-dot{border-color:var(--green);background:var(--green);color:#000}.wiz-step-label{color:var(--t3);text-align:center;transition:color var(--t-mid) var(--ease);font-size:12px;font-weight:600;line-height:1.3}.wiz-step.active .wiz-step-label{color:var(--t1)}.wiz-step.done .wiz-step-label{color:var(--t2)}.wiz-step-hint{color:var(--t3);margin-top:1px;font-size:10.5px;font-weight:400;display:block}.wiz-body{min-height:260px}.wiz-footer{border-top:1px solid var(--border-low);align-items:center;gap:10px;margin-top:24px;padding-top:18px;display:flex}.wiz-footer .wiz-spacer{flex:1}.wiz-step-title{color:var(--t1);margin:0 0 2px;font-size:14.5px;font-weight:700}.wiz-step-sub{color:var(--t2);margin:0 0 16px;font-size:12.5px;line-height:1.5}.wiz-review-card{background:var(--raised);border:1px solid var(--border-mid);border-radius:var(--r-md);margin-bottom:12px;padding:14px 16px}.wiz-review-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.wiz-review-title{color:var(--t3);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700}.wiz-review-edit{color:var(--green);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;font-weight:600}.wiz-review-edit:hover{text-decoration:underline}.wiz-review-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px 24px;display:grid}.wiz-review-item-label{color:var(--t3);text-transform:uppercase;letter-spacing:.07em;margin-bottom:2px;font-size:10.5px;font-weight:700}.wiz-review-item-value{color:var(--t1);word-break:break-word;font-size:13.5px}.wiz-review-note{color:var(--t2);background:var(--surface);border:1px dashed var(--border-mid);border-radius:var(--r-md);align-items:flex-start;gap:10px;margin-top:4px;padding:12px 14px;font-size:12.5px;line-height:1.55;display:flex}@media (width<=640px){.wiz-step-hint{display:none}.wiz-step-label{font-size:10.5px}}:root{--blue-900:#051a3d;--blue-800:#0a2f6b;--blue-700:#0f3d87;--blue-600:#1652b0;--blue-500:#2563eb;--blue-400:#3b82f6;--blue-100:#dbeafe;--accent:#f59e0b;--accent-h:#d97706;--green:#10b981;--white:#fff;--gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--gray-500:#64748b;--gray-700:#334155;--gray-900:#0f172a;--font-body:"Inter", system-ui, sans-serif;--font-heading:"Poppins", "Inter", sans-serif;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 20px #0000001f;--shadow-lg:0 20px 60px #0000002e;--radius:14px;--radius-lg:24px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--gray-900);background:var(--white)}.lp-nav{z-index:1000;justify-content:space-between;align-items:center;padding:20px 5%;transition:all .3s;display:flex;position:fixed;top:0;left:0;right:0}.lp-nav.scrolled{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff7;padding:14px 5%;box-shadow:0 2px 20px #0000001a}.lp-nav .logo{align-items:center;gap:12px;text-decoration:none;display:flex}.lp-nav .logo-icon{background:var(--blue-600);color:#fff;width:46px;height:46px;font-size:22px;font-weight:900;font-family:var(--font-heading);border-radius:12px;justify-content:center;align-items:center;transition:transform .2s;display:flex;box-shadow:0 4px 14px #1652b066}.lp-nav.scrolled .logo-icon{background:var(--blue-600)}.lp-nav .logo-text{flex-direction:column;line-height:1.1;display:flex}.lp-nav .logo-text span:first-child{font-family:var(--font-heading);color:#fff;font-size:15px;font-weight:800;transition:color .3s}.lp-nav .logo-text span:last-child{letter-spacing:2px;color:#ffffffb3;text-transform:uppercase;font-size:10px;transition:color .3s}.lp-nav.scrolled .logo-text span:first-child{color:var(--gray-900)}.lp-nav.scrolled .logo-text span:last-child{color:var(--gray-500)}.nav-links{align-items:center;gap:8px;display:flex}.nav-links a{color:#ffffffd9;border-radius:8px;padding:8px 14px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s}.nav-links a:hover{color:#fff;background:#ffffff1f}.lp-nav.scrolled .nav-links a{color:var(--gray-700)}.lp-nav.scrolled .nav-links a:hover{color:var(--blue-600);background:var(--blue-100)}.nav-cta{box-shadow:0 4px 14px #f59e0b66;background:var(--accent)!important;color:#fff!important;border-radius:10px!important;padding:10px 20px!important;font-weight:700!important;transition:all .2s!important}.nav-cta:hover{transform:translateY(-1px);background:var(--accent-h)!important;box-shadow:0 6px 20px #f59e0b80!important}.hamburger{cursor:pointer;flex-direction:column;gap:5px;padding:8px;display:none}.hamburger span{background:#fff;border-radius:2px;width:24px;height:2px;transition:all .3s;display:block}.lp-nav.scrolled .hamburger span{background:var(--gray-900)}.hero{background:linear-gradient(135deg, #051a3ded 0%, #0a2f6bde 45%, #0f3d87d1 100%), var(--hero-img,linear-gradient(135deg, var(--blue-900), var(--blue-700)));background-position:top;background-size:cover;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.hero-bg{background:radial-gradient(80% 60% at 70%,#2563eb2e 0%,#0000 60%),radial-gradient(40% 40% at 20% 80%,#10b98114 0%,#0000 50%);position:absolute;inset:0}.hero-orbs{position:absolute;inset:0;overflow:hidden}.orb{animation:floatOrb var(--dur,8s) ease-in-out infinite;animation-delay:var(--delay,0s);background:#ffffff0a;border-radius:50%;position:absolute}.orb:first-child{--dur:10s;width:400px;height:400px;top:-100px;right:-100px}.orb:nth-child(2){--dur:13s;--delay:-3s;width:250px;height:250px;bottom:10%;left:5%}.orb:nth-child(3){--dur:9s;--delay:-6s;width:150px;height:150px;top:30%;right:20%}.orb:nth-child(4){--dur:7s;--delay:-2s;width:80px;height:80px;top:60%;right:40%}@keyframes floatOrb{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-20px)scale(1.05)}}.hero-grid{z-index:2;grid-template-columns:1fr 1fr;align-items:center;gap:60px;width:100%;max-width:1240px;margin:0 auto;padding:120px 5% 80px;display:grid;position:relative}.hero-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#ffffffe6;letter-spacing:.5px;background:#ffffff1a;border:1px solid #fff3;border-radius:100px;align-items:center;gap:8px;margin-bottom:24px;padding:8px 16px;font-size:13px;font-weight:600;display:inline-flex}.hero-badge .dot{background:var(--green);border-radius:50%;width:8px;height:8px;animation:2s infinite pulse}@keyframes pulse{0%,to{box-shadow:0 0 #10b98199}50%{box-shadow:0 0 0 6px #10b98100}}.hero h1{font-family:var(--font-heading);color:#fff;margin-bottom:20px;font-size:clamp(2.4rem,5vw,3.6rem);font-weight:900;line-height:1.1}.hero h1 .accent-text{background:linear-gradient(135deg,#f59e0b,#fcd34d);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero-sub{color:#ffffffbf;max-width:520px;margin-bottom:36px;font-size:18px;line-height:1.7}.hero-actions{flex-wrap:wrap;gap:14px;margin-bottom:48px;display:flex}.btn-primary{background:var(--accent);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;align-items:center;gap:8px;padding:16px 28px;font-size:16px;font-weight:700;text-decoration:none;transition:all .25s;display:inline-flex;box-shadow:0 8px 30px #f59e0b80}.btn-primary:hover{background:var(--accent-h);transform:translateY(-2px);box-shadow:0 12px 40px #f59e0b99}.btn-outline{color:#fff;border-radius:var(--radius);cursor:pointer;background:0 0;border:2px solid #ffffff59;align-items:center;gap:8px;padding:16px 28px;font-size:16px;font-weight:600;text-decoration:none;transition:all .25s;display:inline-flex}.btn-outline:hover{background:#ffffff1a;border-color:#ffffffb3;transform:translateY(-2px)}.hero-trust{flex-wrap:wrap;gap:28px;display:flex}.trust-item{color:#ffffffb3;align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.trust-item svg{opacity:.9}.hero-visual{justify-content:center;align-items:center;display:flex}.hero-card-stack{width:100%;max-width:460px;position:relative}.hero-photo-frame{border-radius:var(--radius-lg);position:relative;overflow:visible}.hero-tech-photo{aspect-ratio:3/4;object-fit:cover;border-radius:var(--radius-lg);width:100%;display:block;box-shadow:0 40px 80px #00000080}.hero-float-badge{background:var(--green);color:#fff;text-align:center;z-index:2;border-radius:14px;padding:14px 18px;animation:5s ease-in-out -2s infinite floatOrb;position:absolute;top:-20px;right:-20px;box-shadow:0 10px 30px #10b98180}.hero-float-badge .num{font-family:var(--font-heading);font-size:26px;font-weight:900;line-height:1}.hero-float-badge .label{opacity:.9;font-size:11px}.hero-float-phone{color:var(--gray-900);box-shadow:var(--shadow-lg);z-index:2;background:#fff;border-radius:14px;align-items:center;gap:10px;padding:14px 20px;animation:6s ease-in-out -4s infinite floatOrb;display:flex;position:absolute;bottom:30px;left:-24px}.hero-float-phone .phone-icon{background:var(--blue-100);border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;font-size:18px;display:flex}.hero-float-phone .phone-text{line-height:1.3}.hero-float-phone .phone-text small{color:var(--gray-500);font-size:11px;display:block}.hero-float-phone .phone-text strong{color:var(--blue-600);font-size:14px}.hero-main-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:var(--radius-lg);background:#ffffff14;border:1px solid #ffffff26;padding:36px;box-shadow:0 40px 80px #0000004d}.hero-shield{background:linear-gradient(135deg, var(--blue-500), var(--blue-400));border-radius:20px;justify-content:center;align-items:center;width:90px;height:90px;margin-bottom:20px;font-size:42px;animation:4s ease-in-out infinite floatOrb;display:flex;box-shadow:0 10px 30px #2563eb80}.hero-main-card h3{color:#fff;font-family:var(--font-heading);margin-bottom:6px;font-size:20px;font-weight:700}.hero-main-card p{color:#ffffffa6;margin-bottom:24px;font-size:14px}.hero-services-mini{flex-direction:column;gap:10px;display:flex}.mini-service{background:#ffffff0f;border-radius:10px;align-items:center;gap:12px;padding:12px 16px;display:flex}.mini-service .icon{font-size:20px}.mini-service span{color:#ffffffd9;font-size:14px;font-weight:500}.hero-wave{position:absolute;bottom:-2px;left:0;right:0}.section{padding:96px 5%}.section-inner{max-width:1200px;margin:0 auto}.section-tag{background:var(--blue-100);color:var(--blue-600);letter-spacing:2px;text-transform:uppercase;border-radius:100px;margin-bottom:14px;padding:6px 14px;font-size:12px;font-weight:700;display:inline-block}.section-title{font-family:var(--font-heading);color:var(--gray-900);margin-bottom:16px;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:800;line-height:1.2}.section-sub{color:var(--gray-500);max-width:560px;font-size:17px;line-height:1.7}.section-header{margin-bottom:56px}.section-header.center{text-align:center}.section-header.center .section-sub{margin:0 auto}.fade-in{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(30px)}.fade-in.visible{opacity:1;transform:none}.services-bg{background:var(--gray-50)}.services-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;display:grid}.service-card{border-radius:var(--radius-lg);border:1px solid var(--gray-200);box-shadow:var(--shadow-sm);background:#fff;padding:32px;transition:all .3s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden}.service-card:before{content:"";background:linear-gradient(135deg, var(--blue-600), var(--blue-500));opacity:0;transition:opacity .3s;position:absolute;inset:0}.service-card:hover{border-color:#0000;transform:translateY(-8px);box-shadow:0 24px 60px #1652b02e}.service-card:hover:before{opacity:1}.service-card:hover .service-icon{background:#fff3}.service-card:hover .service-icon span{filter:brightness(10)}.service-card:hover h3,.service-card:hover p,.service-card:hover .service-link{color:#fff}.service-card:hover .service-link{opacity:.9}.service-icon{background:var(--blue-100);z-index:1;border-radius:14px;justify-content:center;align-items:center;width:60px;height:60px;margin-bottom:20px;font-size:28px;transition:all .3s;display:flex;position:relative}.service-card h3{font-family:var(--font-heading);color:var(--gray-900);z-index:1;margin-bottom:10px;font-size:18px;font-weight:700;transition:all .3s;position:relative}.service-card p{color:var(--gray-500);z-index:1;font-size:14px;line-height:1.7;transition:all .3s;position:relative}.service-link{color:var(--blue-600);z-index:1;align-items:center;gap:6px;margin-top:16px;font-size:14px;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex;position:relative}.stats-section{background:linear-gradient(135deg, var(--blue-900) 0%, var(--blue-700) 100%);padding:72px 5%;position:relative;overflow:hidden}.stats-section:before{content:"";background:#ffffff08;border-radius:50%;width:600px;height:600px;position:absolute;top:-200px;right:-100px}.stats-grid{grid-template-columns:repeat(4,1fr);gap:24px;max-width:1100px;margin:0 auto;display:grid}.stat-card{text-align:center;border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0f;border:1px solid #ffffff1a;padding:40px 20px;transition:transform .3s}.stat-card:hover{transform:translateY(-4px)}.stat-num{font-family:var(--font-heading);color:#fff;font-size:clamp(2.4rem,5vw,3.4rem);font-weight:900;line-height:1}.stat-num .unit{color:var(--accent);font-size:.6em}.stat-label{color:#ffffffa6;letter-spacing:.5px;margin-top:8px;font-size:14px}.about-grid{grid-template-columns:1fr 1fr;align-items:center;gap:80px;display:grid}.about-visual{position:relative}.about-img-box{border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--blue-800), var(--blue-600));aspect-ratio:4/3;position:relative;overflow:hidden}.about-img-box img{object-fit:cover;filter:brightness(.85);width:100%;height:100%;transition:transform .6s;display:block}.about-img-box:hover img{filter:brightness(.95);transform:scale(1.04)}.about-img-bg,.about-img-icon{display:none}.about-cert{border-radius:var(--radius);box-shadow:var(--shadow-lg);background:#fff;align-items:center;gap:12px;padding:16px 20px;display:flex;position:absolute;bottom:-20px;right:-20px}.about-cert .cert-icon{font-size:28px}.about-cert .cert-text{line-height:1.3}.about-cert .cert-text strong{color:var(--gray-900);font-size:14px;display:block}.about-cert .cert-text small{color:var(--gray-500);font-size:12px}.about-tags{flex-wrap:wrap;gap:10px;margin-top:28px;margin-bottom:28px;display:flex}.tag{border-radius:100px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;display:flex}.tag-green{color:#065f46;background:#d1fae5}.tag-blue{background:var(--blue-100);color:var(--blue-700)}.tag-amber{color:#92400e;background:#fef3c7}.feature-list{flex-direction:column;gap:16px;display:flex}.feature-item{align-items:flex-start;gap:14px;display:flex}.feature-check{background:linear-gradient(135deg, var(--blue-600), var(--blue-500));color:#fff;border-radius:8px;justify-content:center;align-items:center;width:26px;min-width:26px;height:26px;margin-top:1px;font-size:14px;display:flex}.feature-item p{color:var(--gray-700);font-size:15px;line-height:1.6}.feature-item p strong{color:var(--gray-900)}.gallery-strip{grid-template-columns:repeat(4,1fr);gap:0;display:grid}.gallery-item{aspect-ratio:4/3;position:relative;overflow:hidden}.gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform .5s;display:block}.gallery-item:hover img{transform:scale(1.08)}.gallery-overlay{opacity:0;background:linear-gradient(#0000 40%,#051a3dd9 100%);align-items:flex-end;padding:20px;transition:opacity .3s;display:flex;position:absolute;inset:0}.gallery-item:hover .gallery-overlay{opacity:1}.gallery-overlay span{color:#fff;font-size:14px;font-weight:600}@media (width<=768px){.gallery-strip{grid-template-columns:repeat(2,1fr)}}.why-bg{background:var(--gray-50)}.why-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;display:grid}.why-card{border-radius:var(--radius-lg);border:1px solid var(--gray-200);text-align:center;box-shadow:var(--shadow-sm);background:#fff;padding:32px 28px;transition:all .3s}.why-card:hover{box-shadow:var(--shadow-md);border-color:var(--blue-100);transform:translateY(-6px)}.why-icon{border-radius:18px;justify-content:center;align-items:center;width:68px;height:68px;margin:0 auto 20px;font-size:30px;display:flex}.why-icon.blue{background:var(--blue-100)}.why-icon.green{background:#d1fae5}.why-icon.amber{background:#fef3c7}.why-icon.purple{background:#ede9fe}.why-card h3{font-family:var(--font-heading);color:var(--gray-900);margin-bottom:10px;font-size:17px;font-weight:700}.why-card p{color:var(--gray-500);font-size:14px;line-height:1.7}.testimonials-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;display:grid}.testi-card{border-radius:var(--radius-lg);border:1px solid var(--gray-200);box-shadow:var(--shadow-sm);background:#fff;padding:32px;transition:all .3s;position:relative}.testi-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.testi-card:before{content:"\"";color:var(--blue-100);font-family:Georgia,serif;font-size:80px;line-height:1;position:absolute;top:20px;right:24px}.stars{gap:3px;margin-bottom:16px;display:flex}.star{color:var(--accent);font-size:16px}.testi-card p{color:var(--gray-700);margin-bottom:20px;font-size:15px;font-style:italic;line-height:1.8}.testi-author{align-items:center;gap:12px;display:flex}.author-avatar{background:linear-gradient(135deg, var(--blue-600), var(--blue-400));color:#fff;object-fit:cover;border-radius:50%;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;font-size:16px;font-weight:700;display:flex;overflow:hidden}.author-info strong{color:var(--gray-900);font-size:14px;display:block}.author-info small{color:var(--gray-500);font-size:12px}.areas-bg{background:linear-gradient(135deg, var(--blue-900), var(--blue-700));padding:80px 5%}.areas-inner{text-align:center;max-width:1100px;margin:0 auto}.areas-inner .section-tag{color:#ffffffe6;background:#ffffff26}.areas-inner .section-title{color:#fff}.areas-inner .section-sub{color:#ffffffb3;margin:0 auto 48px}.states-grid{grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:40px;display:grid}.state-card{border-radius:var(--radius-lg);text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff14;border:1px solid #ffffff26;padding:28px 20px;transition:all .3s}.state-card:hover{background:#ffffff24;transform:translateY(-4px)}.state-flag{margin-bottom:8px;font-size:36px}.state-card strong{color:#fff;margin-bottom:4px;font-size:15px;font-weight:700;display:block}.state-card span{color:#fff9;font-size:12px}.areas-cities{color:#ffffff8c;font-size:14px;line-height:2}.areas-cities strong{color:#fffc}.cta-banner{background:linear-gradient(135deg, var(--accent) 0%, #f97316 100%);text-align:center;padding:80px 5%}.cta-banner-inner{max-width:700px;margin:0 auto}.cta-banner h2{font-family:var(--font-heading);color:#fff;margin-bottom:14px;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:800}.cta-banner p{color:#ffffffd9;margin-bottom:36px;font-size:17px}.cta-actions{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.btn-white{color:var(--accent);border-radius:var(--radius);background:#fff;align-items:center;gap:8px;padding:16px 32px;font-size:16px;font-weight:700;text-decoration:none;transition:all .25s;display:inline-flex;box-shadow:0 8px 30px #00000026}.btn-white:hover{transform:translateY(-2px);box-shadow:0 12px 40px #0003}.btn-white-outline{color:#fff;border-radius:var(--radius);background:0 0;border:2px solid #fff9;align-items:center;gap:8px;padding:16px 32px;font-size:16px;font-weight:600;text-decoration:none;transition:all .25s;display:inline-flex}.btn-white-outline:hover{background:#ffffff26;border-color:#fff;transform:translateY(-2px)}.contact-grid{grid-template-columns:1fr 1.4fr;align-items:start;gap:60px;display:grid}.contact-info h3{font-family:var(--font-heading);color:var(--gray-900);margin-bottom:24px;font-size:22px;font-weight:700}.contact-items{flex-direction:column;gap:20px;display:flex}.contact-item{align-items:flex-start;gap:16px;display:flex}.contact-item .ci-icon{background:var(--blue-100);border-radius:12px;justify-content:center;align-items:center;width:46px;min-width:46px;height:46px;font-size:20px;display:flex}.contact-item .ci-text strong{color:var(--gray-500);letter-spacing:.5px;text-transform:uppercase;margin-bottom:2px;font-size:13px;display:block}.contact-item .ci-text a,.contact-item .ci-text span{color:var(--gray-900);font-size:15px;font-weight:500;text-decoration:none}.contact-item .ci-text a:hover{color:var(--blue-600)}.contact-form{border-radius:var(--radius-lg);border:1px solid var(--gray-200);box-shadow:var(--shadow-md);background:#fff;padding:40px}.contact-form h3{font-family:var(--font-heading);color:var(--gray-900);margin-bottom:24px;font-size:20px;font-weight:700}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-group{flex-direction:column;gap:6px;display:flex}.form-group.full{grid-column:1/-1}.form-group label{color:var(--gray-700);font-size:13px;font-weight:600}.form-group input,.form-group select,.form-group textarea{border:1.5px solid var(--gray-200);font-size:14px;font-family:var(--font-body);color:var(--gray-900);background:var(--gray-50);border-radius:10px;outline:none;padding:12px 16px;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--blue-500);background:#fff;box-shadow:0 0 0 3px #2563eb1a}.form-group textarea{resize:vertical;min-height:100px}.form-submit{background:var(--blue-600);color:#fff;cursor:pointer;width:100%;font-size:16px;font-weight:700;font-family:var(--font-body);border:none;border-radius:10px;margin-top:8px;padding:15px;transition:all .25s}.form-submit:hover{background:var(--blue-700);transform:translateY(-1px);box-shadow:0 6px 20px #1652b066}.form-note{color:var(--gray-500);text-align:center;margin-top:12px;font-size:12px}.footer{background:var(--blue-900);border-top:1px solid #ffffff0f;padding:72px 5% 32px}.footer-grid{grid-template-columns:2fr 1fr 1fr 1.5fr;gap:48px;max-width:1200px;margin:0 auto 48px;display:grid}.footer-brand .logo-icon{width:50px;height:50px;margin-bottom:16px;font-size:24px}.footer-brand p{color:#ffffff8c;max-width:300px;margin-bottom:20px;font-size:14px;line-height:1.8}.footer-licenses{flex-wrap:wrap;gap:8px;display:flex}.lic-badge{color:#ffffffb3;letter-spacing:.5px;background:#ffffff14;border:1px solid #ffffff1f;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:600}.footer-col h4{color:#fff;letter-spacing:.5px;text-transform:uppercase;margin-bottom:16px;font-size:14px;font-weight:700}.footer-col ul{flex-direction:column;gap:10px;list-style:none;display:flex}.footer-col ul li a{color:#ffffff8c;font-size:14px;text-decoration:none;transition:color .2s}.footer-col ul li a:hover{color:#fff}.footer-contact-list{flex-direction:column;gap:12px;display:flex}.footer-contact-list li{align-items:flex-start;gap:10px;display:flex}.footer-contact-list li span:first-child{margin-top:1px;font-size:16px}.footer-contact-list li a,.footer-contact-list li span:last-child{color:#ffffff8c;font-size:13px;line-height:1.5;text-decoration:none;transition:color .2s}.footer-contact-list li a:hover{color:#fff}.footer-bottom{border-top:1px solid #ffffff14;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;max-width:1200px;margin:0 auto;padding-top:24px;display:flex}.footer-bottom p{color:#fff6;font-size:13px}.footer-bottom .tagline{color:#ffffff4d;font-size:12px}.mobile-call-btn{z-index:999;background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:58px;height:58px;font-size:24px;text-decoration:none;animation:2.5s infinite pulse;display:none;position:fixed;bottom:20px;right:20px;box-shadow:0 8px 30px #f59e0b99}.mobile-menu{z-index:999;box-shadow:var(--shadow-lg);background:#fff;flex-direction:column;padding:80px 24px 32px;display:none;position:fixed;top:0;left:0;right:0}.mobile-menu.open{display:flex}.mobile-menu a{color:var(--gray-700);border-bottom:1px solid var(--gray-100);padding:14px 0;font-size:16px;font-weight:500;text-decoration:none}.mobile-menu a:last-child{border-bottom:none}.mobile-close{background:var(--gray-100);cursor:pointer;width:40px;height:40px;color:var(--gray-700);border:none;border-radius:10px;font-size:18px;position:absolute;top:20px;right:20px}.service-img-card{border-radius:var(--radius-lg);aspect-ratio:4/3;cursor:pointer;position:relative;overflow:hidden}.service-img-card img{object-fit:cover;width:100%;height:100%;transition:transform .5s;display:block}.service-img-card:hover img{transform:scale(1.06)}.svc-overlay{opacity:0;background:linear-gradient(#0000 0%,#051a3d66 40%,#051a3deb 100%);flex-direction:column;justify-content:flex-end;padding:24px;transition:opacity .35s;display:flex;position:absolute;inset:0}.service-img-card:hover .svc-overlay{opacity:1}.svc-overlay h3{color:#fff;font-family:var(--font-heading);margin-bottom:8px;font-size:18px;font-weight:700}.svc-overlay p{color:#fffc;margin-bottom:14px;font-size:13px;line-height:1.6}.svc-link{color:var(--accent);align-items:center;gap:6px;font-size:13px;font-weight:700;text-decoration:none;transition:gap .2s;display:inline-flex}.svc-link:hover{gap:10px}.ipm-img-box{border-radius:var(--radius);margin-top:24px;position:relative;overflow:hidden}.ipm-img-box img{object-fit:cover;width:100%;height:200px;display:block}.ipm-label{color:#fff;background:linear-gradient(#0000 0%,#051a3dd9 100%);padding:16px;font-size:13px;font-weight:600;position:absolute;bottom:0;left:0;right:0}.state-abbr{font-family:var(--font-heading);color:var(--accent);margin-bottom:8px;font-size:2.4rem;font-weight:900;line-height:1}@media (width<=1024px){.hero-grid{grid-template-columns:1fr;gap:40px}.hero-visual{display:none}.about-grid{grid-template-columns:1fr}.about-visual{display:none}.contact-grid{grid-template-columns:1fr}.stats-grid,.states-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}}@media (width<=768px){.nav-links{display:none}.hamburger{display:flex}.section{padding:64px 5%}.stats-grid{grid-template-columns:repeat(2,1fr)}.mobile-call-btn{display:flex}.hero h1{font-size:2.2rem}.footer-grid{grid-template-columns:1fr}}@media (width<=480px){.states-grid{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.hero-actions{flex-direction:column}.btn-primary,.btn-outline{justify-content:center}}:root{--t-navy:#0f2744;--t-navy2:#1a3a5c;--t-scheduled:#3b82f6;--t-otw:#f59e0b;--t-arrived:#8b5cf6;--t-complete:#16a34a;--t-cancelled:#dc2626;--t-green:#16a34a;--t-green-s:#dcfce7;--t-amber:#d97706;--t-amber-s:#fef3c7;--t-red:#dc2626;--t-red-s:#fee2e2;--t-blue:#2563eb;--t-purple:#7c3aed;--t-purple-s:#ede9fe;--t-bg:#f0f4f8;--t-surface:#fff;--t-raised:#f8fafc;--t-text:#0f172a;--t-text2:#334155;--t-muted:#64748b;--t-faint:#94a3b8;--t-border:#e2e8f0;--t-border2:#cbd5e1;--t-shadow-sm:0 1px 3px #00000014, 0 1px 2px #0000000d;--t-shadow:0 4px 6px -1px #00000014, 0 2px 4px -2px #0000000f;--t-shadow-lg:0 10px 24px #0000001f, 0 4px 8px #0000000f;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:20px;--t-font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--t-safe-top:env(safe-area-inset-top,0px);--t-safe-bottom:env(safe-area-inset-bottom,0px)}*,:before,:after{box-sizing:border-box}.t-header{background:var(--t-navy);color:#fff;padding:calc(14px + var(--t-safe-top)) 16px 14px;z-index:50;align-items:center;gap:12px;display:flex;position:sticky;top:0;box-shadow:0 2px 8px #00000040}.t-header-title{letter-spacing:-.01em;flex:1;margin:0;font-size:18px;font-weight:800;line-height:1.2}.t-header-sub{opacity:.65;letter-spacing:.02em;margin-top:1px;font-size:11px;font-weight:400}.t-back-btn{color:#fff;cursor:pointer;border-radius:var(--r-sm);background:#ffffff26;border:none;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;padding:0;font-size:20px;line-height:1;display:flex}.t-back-btn:active{background:#ffffff40}.t-body{padding:16px 16px calc(90px + var(--t-safe-bottom));max-width:640px;margin:0 auto}.t-card{background:var(--t-surface);border-radius:var(--r-lg);border:1px solid var(--t-border);box-shadow:var(--t-shadow-sm);margin-bottom:12px;overflow:hidden}.t-card-body{padding:16px}.t-card-header{background:var(--t-navy);color:#fff;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:12px 16px;font-size:12px;font-weight:700;display:flex}.t-card-header .t-chevron{font-size:14px;transition:transform .2s}.t-card-header.open .t-chevron{transform:rotate(180deg)}.t-badge{letter-spacing:.03em;text-transform:capitalize;white-space:nowrap;border-radius:100px;align-items:center;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.t-badge-scheduled{color:var(--t-scheduled);background:#3b82f626}.t-badge-on_the_way{color:var(--t-otw);background:#f59e0b26}.t-badge-arrived{color:var(--t-arrived);background:#8b5cf626}.t-badge-complete{background:var(--t-green-s);color:var(--t-green)}.t-badge-cancelled{background:var(--t-red-s);color:var(--t-red)}.t-svc-badge{white-space:nowrap;border-radius:100px;align-items:center;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.t-job-card{background:var(--t-surface);border-radius:var(--r-lg);border:1px solid var(--t-border);box-shadow:var(--t-shadow-sm);cursor:pointer;-webkit-tap-highlight-color:transparent;margin-bottom:10px;transition:box-shadow .15s,transform .1s;overflow:hidden}.t-job-card:active{box-shadow:none;transform:scale(.985)}.t-job-card-accent{width:100%;height:4px}.t-job-card-body{padding:14px 14px 12px}.t-btn{border-radius:var(--r-md);cursor:pointer;width:100%;font-size:17px;font-weight:700;font-family:var(--t-font);letter-spacing:-.01em;-webkit-tap-highlight-color:transparent;border:none;justify-content:center;align-items:center;gap:8px;padding:16px;transition:opacity .15s,transform .1s;display:flex}.t-btn:active:not(:disabled){transform:scale(.97)}.t-btn:disabled{opacity:.45;cursor:not-allowed}.t-btn-navy{background:var(--t-navy);color:#fff}.t-btn-green{background:var(--t-green);color:#fff}.t-btn-amber{background:var(--t-amber);color:#fff}.t-btn-red{background:var(--t-red);color:#fff}.t-btn-purple{background:var(--t-purple);color:#fff}.t-btn-outline{border:2px solid var(--t-navy2);color:var(--t-navy2);background:0 0;padding:13px;font-size:15px}.t-btn-sm{border-radius:var(--r-sm);width:auto;padding:9px 18px;font-size:14px}.t-btn-icon{border-radius:var(--r-sm);cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;display:flex}.t-action-bar{padding:12px 16px calc(12px + var(--t-safe-bottom));background:var(--t-surface);border-top:1px solid var(--t-border);z-index:40;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #00000014}.t-field{margin-bottom:14px}.t-label{color:var(--t-muted);text-transform:uppercase;letter-spacing:.07em;margin-bottom:5px;font-size:11px;font-weight:700;display:block}.t-input,.t-select,.t-textarea{border:1.5px solid var(--t-border2);border-radius:var(--r-sm);width:100%;font-size:16px;font-family:var(--t-font);background:var(--t-surface);color:var(--t-text);appearance:none;box-sizing:border-box;outline:none;padding:12px 14px;transition:border-color .15s}.t-input:focus,.t-select:focus,.t-textarea:focus{border-color:var(--t-blue)}.t-textarea{resize:vertical;min-height:90px;line-height:1.5}.t-chem-row{grid-template-columns:1fr 90px 80px 40px;align-items:center;gap:8px;margin-bottom:10px;display:grid}.t-chem-row .t-input,.t-chem-row .t-select{padding:10px 12px;font-size:15px}.t-unit-chip{color:var(--t-muted);background:var(--t-raised,#8080801f);white-space:nowrap;text-overflow:ellipsis;border-radius:8px;justify-content:center;align-items:center;padding:10px 6px;font-size:13px;font-weight:600;display:flex;overflow:hidden}.t-remove-btn{background:var(--t-red-s);color:var(--t-red);cursor:pointer;border-radius:var(--r-sm);border:none;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;font-weight:700;line-height:1;display:flex}.t-info-row{align-items:flex-start;gap:10px;margin-bottom:8px;font-size:15px;display:flex}.t-info-label{color:var(--t-muted);flex-shrink:0;min-width:80px;padding-top:1px;font-size:12px;font-weight:600}.t-clock-banner{background:var(--t-amber);color:#fff;border-radius:var(--r-lg);box-shadow:var(--t-shadow);justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:18px 16px;display:flex}.t-clocked-in-bar{background:var(--t-surface);border:1.5px solid var(--t-border);border-radius:var(--r-lg);box-shadow:var(--t-shadow-sm);justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:14px 16px;display:flex}.t-progress-wrap{background:var(--t-surface);border:1px solid var(--t-border);border-radius:var(--r-lg);box-shadow:var(--t-shadow-sm);margin-bottom:14px;padding:14px 16px}.t-progress-bar-track{background:var(--t-border);border-radius:100px;height:8px;margin-top:10px;overflow:hidden}.t-progress-bar-fill{background:var(--t-green);border-radius:100px;height:100%;transition:width .4s}.t-section-title{color:var(--t-muted);text-transform:uppercase;letter-spacing:.08em;margin:20px 0 8px;font-size:11px;font-weight:800}.t-empty{text-align:center;color:var(--t-muted);padding:40px 20px;font-size:15px}.t-empty-icon{margin-bottom:10px;font-size:40px}.t-note-box{border-radius:var(--r-md);margin-bottom:12px;padding:12px 14px;font-size:14px;line-height:1.5}.t-note-amber{background:var(--t-amber-s);color:#92400e;border:1.5px solid #fcd34d}.t-note-red{background:var(--t-red-s);color:#991b1b;border:1.5px solid #fca5a5}.t-note-green{background:var(--t-green-s);color:#166534;border:1.5px solid #86efac}.t-note-blue{color:#1e40af;background:#eff6ff;border:1.5px solid #bfdbfe}.t-client-hero{background:var(--t-surface);border-radius:var(--r-lg);border:1px solid var(--t-border);box-shadow:var(--t-shadow-sm);margin-bottom:12px;overflow:hidden}.t-client-hero-top{background:var(--t-navy);color:#fff;padding:16px}.t-client-name{letter-spacing:-.02em;font-size:22px;font-weight:800;line-height:1.2}.t-client-company{opacity:.7;margin-top:2px;font-size:13px}.t-client-actions{gap:10px;padding:12px 14px;display:flex}.t-call-btn{background:var(--t-green);color:#fff;border-radius:var(--r-md);cursor:pointer;font-size:15px;font-weight:700;font-family:var(--t-font);-webkit-tap-highlight-color:transparent;border:none;flex:1;justify-content:center;align-items:center;gap:8px;padding:13px;text-decoration:none;transition:opacity .15s;display:flex}.t-call-btn:active{opacity:.85}.t-map-btn{background:var(--t-blue);color:#fff;border-radius:var(--r-md);cursor:pointer;font-size:15px;font-weight:700;font-family:var(--t-font);-webkit-tap-highlight-color:transparent;border:none;flex:1;justify-content:center;align-items:center;gap:8px;padding:13px;text-decoration:none;transition:opacity .15s;display:flex}.t-map-btn:active{opacity:.85}.t-gps-dot{align-items:center;gap:5px;font-size:12px;font-weight:600;display:inline-flex}.t-gps-dot:before{content:"";background:var(--t-green);border-radius:50%;width:8px;height:8px;animation:1.5s infinite t-pulse;display:block}@keyframes t-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.t-grid-table{border-collapse:collapse;-webkit-overflow-scrolling:touch;width:100%;font-size:13px;display:block;overflow-x:auto}.t-grid-table th{text-align:left;color:var(--t-muted);text-transform:uppercase;white-space:nowrap;background:#e8edf5;padding:7px 8px;font-size:11px;font-weight:700}.t-grid-table td{border-bottom:1px solid var(--t-border);vertical-align:middle;padding:5px 6px}.t-grid-table tr:nth-child(2n) td{background:#f8fafc}.t-grid-table input,.t-grid-table select{border:1px solid var(--t-border2);width:100%;font-size:13px;font-family:var(--t-font);box-sizing:border-box;background:#fff;border-radius:6px;min-width:60px;padding:6px 8px}.t-grid-table .t-site-cell{white-space:normal;min-width:120px;max-width:160px;font-size:12px;line-height:1.3}.t-stat-grid{grid-template-columns:1fr 1fr;gap:8px 16px;display:grid}.t-stat-label{color:var(--t-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 2px;font-size:11px}.t-stat-value{color:var(--t-text);margin:0;font-size:17px;font-weight:700}.t-completion-overlay{background:var(--t-bg);z-index:100;-webkit-overflow-scrolling:touch;position:fixed;inset:0;overflow-y:auto}.t-completion-header{background:var(--t-navy);color:#fff;padding:calc(14px + var(--t-safe-top)) 16px 14px;z-index:10;align-items:center;gap:12px;display:flex;position:sticky;top:0}.t-completion-body{padding:16px 16px calc(90px + var(--t-safe-bottom));max-width:640px;margin:0 auto}.t-done-screen{text-align:center;padding:40px 20px}.t-done-icon{background:var(--t-green-s);width:80px;height:80px;color:var(--t-green);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 20px;font-size:40px;display:flex}.tech-screen{background:var(--t-bg);min-height:100dvh;font-family:var(--t-font);color:var(--t-text);-webkit-font-smoothing:antialiased}.tech-header{background:var(--t-navy);color:#fff;padding:calc(14px + var(--t-safe-top)) 16px 14px;z-index:50;align-items:center;gap:12px;display:flex;position:sticky;top:0}.tech-header h1{flex:1;margin:0;font-size:18px;font-weight:800}.tech-header .back-btn{color:#fff;cursor:pointer;border-radius:var(--r-sm);background:#ffffff26;border:none;justify-content:center;align-items:center;width:36px;height:36px;padding:0;font-size:20px;display:flex}.tech-body{padding:16px 16px calc(90px + var(--t-safe-bottom));max-width:640px;margin:0 auto}.card{background:var(--t-surface);border-radius:var(--r-lg);border:1px solid var(--t-border);box-shadow:var(--t-shadow-sm);margin-bottom:12px;overflow:hidden}.card-body{padding:16px}.card-header{background:var(--t-navy);color:#fff;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:12px 16px;font-size:12px;font-weight:700;display:flex}.card-header .chevron{font-size:14px;transition:transform .2s}.card-header.open .chevron{transform:rotate(180deg)}.status-badge{color:#fff;text-transform:capitalize;border-radius:100px;align-items:center;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.info-row{gap:10px;margin-bottom:8px;font-size:15px;display:flex}.info-row .label{color:var(--t-muted);flex-shrink:0;min-width:80px;font-size:12px;font-weight:600}.btn{border-radius:var(--r-md);cursor:pointer;width:100%;font-size:17px;font-weight:700;font-family:var(--t-font);border:none;justify-content:center;align-items:center;gap:8px;padding:15px;transition:opacity .15s,transform .1s;display:flex}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--t-navy);color:#fff}.btn-green{background:var(--t-green);color:#fff}.btn-yellow{background:var(--t-amber);color:#fff}.btn-red{background:var(--t-red);color:#fff}.btn-outline{border:2px solid var(--t-navy2);color:var(--t-navy2);background:0 0;padding:13px;font-size:15px}.btn-sm{border-radius:var(--r-sm);width:auto;padding:9px 18px;font-size:14px}.field{margin-bottom:14px}.field label{color:var(--t-muted);text-transform:uppercase;letter-spacing:.07em;margin-bottom:5px;font-size:11px;font-weight:700;display:block}.field input,.field select,.field textarea{border:1.5px solid var(--t-border2);border-radius:var(--r-sm);width:100%;font-size:16px;font-family:var(--t-font);background:var(--t-surface);color:var(--t-text);box-sizing:border-box;outline:none;padding:12px 14px}.field textarea{resize:vertical;min-height:90px}.section-title{color:var(--t-muted);text-transform:uppercase;letter-spacing:.08em;margin:20px 0 8px;font-size:11px;font-weight:800}.empty-state{text-align:center;color:var(--t-muted);padding:40px 20px;font-size:15px}.clock-in-banner{background:var(--t-amber);color:#fff;border-radius:var(--r-lg);text-align:center;margin-bottom:16px;padding:18px 16px}.clock-in-banner p{margin:0 0 10px;font-size:15px;font-weight:600}.grid-table{border-collapse:collapse;width:100%;font-size:13px;display:block;overflow-x:auto}.grid-table th{text-align:left;color:var(--t-muted);text-transform:uppercase;white-space:nowrap;background:#e8edf5;padding:7px 8px;font-size:11px;font-weight:700}.grid-table td{border-bottom:1px solid var(--t-border);vertical-align:middle;padding:5px 6px}.grid-table input,.grid-table select{border:1px solid var(--t-border2);box-sizing:border-box;border-radius:6px;width:100%;min-width:60px;padding:6px 8px;font-size:13px}.grid-table .site-cell{min-width:120px;max-width:160px;font-size:12px}.chem-row{grid-template-columns:1fr 90px 80px 40px;align-items:center;gap:8px;margin-bottom:10px;display:grid}.chem-row select,.chem-row input{border:1.5px solid var(--t-border2);border-radius:var(--r-sm);font-size:15px;font-family:var(--t-font);box-sizing:border-box;padding:10px 12px}.remove-btn{background:var(--t-red-s);color:var(--t-red);cursor:pointer;border-radius:var(--r-sm);border:none;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;font-weight:700;display:flex}.fm-page{max-width:1000px;margin:0 auto;padding:4px 2px 48px}.fm-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;display:flex}.fm-head-title{color:var(--t1);letter-spacing:-.01em;font-size:24px;font-weight:800}.fm-head-sub{color:var(--t2);margin-top:4px;font-size:14px}.fm-stats{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px;display:grid}@media (width<=720px){.fm-stats{grid-template-columns:1fr}}.fm-stat{background:var(--surface);border:1px solid var(--border-mid);border-radius:var(--r-lg);align-items:center;gap:16px;padding:18px 22px;display:flex}.fm-stat-icon{background:var(--raised);border-radius:12px;flex-shrink:0;place-items:center;width:46px;height:46px;font-size:22px;display:grid}.fm-stat-val{color:var(--t1);font-size:28px;font-weight:800;line-height:1}.fm-stat-label{color:var(--t3);letter-spacing:.01em;margin-top:6px;font-size:12.5px}.fm-stat--amber .fm-stat-icon{background:var(--amber-soft)}.fm-stat--amber .fm-stat-val{color:var(--amber)}.fm-stat--blue .fm-stat-icon{background:var(--blue-soft)}.fm-stat--blue .fm-stat-val{color:var(--blue)}.fm-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px;display:flex}.fm-search{flex:1;min-width:240px;max-width:460px;position:relative}.fm-search-icon{color:var(--t3);pointer-events:none;font-size:14px;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.fm-search input{background:var(--surface);border:1px solid var(--border-mid);border-radius:var(--r-md);width:100%;height:42px;color:var(--t1);transition:border-color var(--t-fast), box-shadow var(--t-fast);padding:0 38px;font-size:14px}.fm-search input::placeholder{color:var(--t3)}.fm-search input:focus{border-color:var(--green-dim);box-shadow:0 0 0 3px var(--green-soft);outline:none}.fm-search-clear{cursor:pointer;background:var(--raised);width:22px;height:22px;color:var(--t2);border:none;border-radius:50%;place-items:center;font-size:14px;line-height:1;display:grid;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.fm-search-clear:hover{background:var(--overlay);color:var(--t1)}.fm-seg{background:var(--surface);border:1px solid var(--border-mid);border-radius:var(--r-md);gap:2px;padding:3px;display:inline-flex}.fm-seg-btn{cursor:pointer;color:var(--t2);transition:background var(--t-fast), color var(--t-fast);white-space:nowrap;background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;display:inline-flex}.fm-seg-btn:hover{color:var(--t1)}.fm-seg-btn.is-active{background:var(--green);color:#04130c;font-weight:700}.fm-card{background:var(--surface);border:1px solid var(--border-mid);border-left:3px solid var(--border-bright);border-radius:var(--r-lg);transition:border-color var(--t-fast);margin-bottom:14px;overflow:hidden}.fm-card:hover{border-color:var(--border-bright)}.fm-card--paid{border-left-color:var(--blue)}.fm-card--open{border-left-color:var(--green)}.fm-card-body{padding:18px 20px}.fm-card-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.fm-client{align-items:center;gap:10px;display:flex}.fm-client-icon{font-size:20px}.fm-client-name{color:var(--t1);font-size:17px;font-weight:800}.fm-svc{color:var(--t2);margin-top:4px;font-size:13.5px}.fm-svc .fm-tech{color:var(--t3)}.fm-meta{color:var(--t3);flex-wrap:wrap;gap:14px;margin-top:6px;font-size:12.5px;display:flex}.fm-amount-wrap{text-align:right;flex-shrink:0}.fm-amount{color:var(--t1);margin-bottom:6px;font-size:22px;font-weight:800}.fm-badge{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border:1px solid var(--border-mid);color:var(--t3);background:var(--raised);border-radius:7px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-block}.fm-badge--open{color:var(--green);border-color:var(--green-soft);background:var(--green-soft)}.fm-badge--paid{color:var(--blue);border-color:var(--blue-soft);background:var(--blue-soft)}.fm-badge--draft{color:var(--t2);border-color:var(--border-mid);background:var(--raised)}.fm-badge--void{color:var(--t3);border-color:var(--border-mid);background:var(--raised)}.fm-payinfo{background:var(--raised);border:1px solid var(--border-mid);border-radius:var(--r-md);color:var(--t2);flex-wrap:wrap;align-items:center;gap:20px;margin-top:12px;padding:10px 14px;font-size:13px;display:flex}.fm-payinfo strong{color:var(--t1)}.fm-payinfo a{color:var(--green);font-weight:600;text-decoration:none}.fm-payinfo a:hover{text-decoration:underline}.fm-note{border-radius:var(--r-md);margin-top:12px;padding:10px 14px;font-size:13px;font-weight:500}.fm-note--ok{background:var(--green-soft);border:1px solid var(--green);color:var(--green)}.fm-note--err{background:var(--red-soft);border:1px solid var(--red);color:var(--red)}.fm-actions{background:var(--raised);border-top:1px solid var(--border-mid);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 20px;display:flex}.fm-docs{flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto;display:flex}.fm-docs-label{color:var(--t3);margin-right:2px;font-size:12px}.fm-btn{cursor:pointer;transition:background var(--t-fast), border-color var(--t-fast), color var(--t-fast), transform var(--t-fast);white-space:nowrap;border:1px solid #0000;border-radius:9px;align-items:center;gap:6px;padding:8px 15px;font-size:13px;font-weight:600;line-height:1;display:inline-flex}.fm-btn:active:not(:disabled){transform:translateY(1px)}.fm-btn:disabled{opacity:.55;cursor:default}.fm-btn--primary{background:var(--green);color:#04130c;font-weight:700}.fm-btn--primary:hover:not(:disabled){background:var(--green-dim)}.fm-btn--ghost{border-color:var(--border-mid);color:var(--t2);background:0 0}.fm-btn--ghost:hover:not(:disabled){background:var(--overlay);color:var(--t1);border-color:var(--border-bright)}.fm-btn--danger{border-color:var(--red-soft);color:var(--red);background:0 0}.fm-btn--danger:hover:not(:disabled){background:var(--red-soft)}.fm-btn--purple{border-color:var(--purple-soft);color:var(--purple);background:0 0}.fm-btn--purple:hover:not(:disabled){background:var(--purple-soft)}.fm-btn--blue{border-color:var(--blue-soft);color:var(--blue);background:0 0}.fm-btn--blue:hover:not(:disabled){background:var(--blue-soft)}.fm-btn--docs{background:var(--green-soft);border-color:var(--green-soft);color:var(--green);font-weight:700}.fm-btn--docs:hover:not(:disabled){background:#00d97e2e}.fm-btn--sm{padding:6px 12px;font-size:12px}.fm-doc{cursor:pointer;background:var(--surface);border:1px solid var(--border-mid);color:var(--t2);transition:background var(--t-fast), color var(--t-fast), border-color var(--t-fast);border-radius:8px;align-items:center;gap:6px;padding:6px 11px;font-size:12px;font-weight:600;display:inline-flex}.fm-doc:hover{background:var(--overlay);color:var(--t1);border-color:var(--border-bright)}.fm-empty{text-align:center;padding:64px 20px}.fm-empty-emoji{margin-bottom:14px;font-size:48px}.fm-empty-title{color:var(--t1);margin-bottom:8px;font-size:17px;font-weight:700}.fm-empty-sub{color:var(--t3);font-size:14px}.fm-loading{color:var(--t2);justify-content:center;align-items:center;gap:12px;padding:60px 20px;font-size:15px;display:flex}.fm-spinner{border:3px solid var(--border-mid);border-top-color:var(--green);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite fm-spin}@keyframes fm-spin{to{transform:rotate(360deg)}}.fm-overlay{z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fm-fade var(--t-fast) var(--ease);background:#030810b8;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}@keyframes fm-fade{0%{opacity:0}to{opacity:1}}.fm-modal{background:var(--surface);border:1px solid var(--border-mid);border-radius:var(--r-lg);flex-direction:column;width:100%;max-width:460px;max-height:92vh;display:flex;overflow:hidden;box-shadow:0 24px 64px #0000008c}.fm-modal--pdf{max-width:920px}.fm-modal-head{border-bottom:1px solid var(--border-mid);justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.fm-modal-title{color:var(--t1);font-size:17px;font-weight:700}.fm-modal-sub{color:var(--t3);margin-top:2px;font-size:12.5px}.fm-modal-x{background:var(--raised);color:var(--t2);cursor:pointer;border:none;border-radius:8px;flex-shrink:0;place-items:center;width:30px;height:30px;font-size:18px;line-height:1;display:grid}.fm-modal-x:hover{background:var(--overlay);color:var(--t1)}.fm-modal-body{flex-direction:column;gap:14px;padding:20px;display:flex;overflow-y:auto}.fm-modal-foot{border-top:1px solid var(--border-mid);flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}.fm-pdf-stage{background:#525659;min-height:60vh;padding:0;display:flex}.fm-pdf-frame{background:#fff;border:none;width:100%;height:76vh}.fm-pdf-state{width:100%;height:60vh;color:var(--t2);flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex}.fm-field{flex-direction:column;gap:6px;display:flex}.fm-field label{color:var(--t2);font-size:13px;font-weight:600}.fm-input{background:var(--raised);border:1px solid var(--border-mid);border-radius:var(--r-md);width:100%;height:42px;color:var(--t1);padding:0 14px;font-size:14px}.fm-input:focus{border-color:var(--green-dim);box-shadow:0 0 0 3px var(--green-soft);outline:none}.fm-input--amount{padding-left:28px;font-size:18px;font-weight:700}.fm-amount-field{position:relative}.fm-amount-sign{color:var(--t2);font-size:16px;font-weight:600;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.fm-summary{background:var(--raised);border:1px solid var(--border-mid);border-radius:var(--r-md);padding:12px 16px}.fm-summary-name{color:var(--t1);font-size:15px;font-weight:700}.fm-summary-sub{color:var(--t2);margin-top:3px;font-size:13px}.fm-callout{border-radius:var(--r-md);padding:12px 16px;font-size:14px;line-height:1.5}.fm-callout--ok{background:var(--green-soft);border:1px solid var(--green);color:var(--green)}.fm-callout--err{background:var(--red-soft);border:1px solid var(--red);color:var(--red);font-size:13px}
