.hp{color:#1e293b;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;overflow-x:hidden}.hp-nav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;border-bottom:1px solid #0000000f;left:0;position:fixed;right:0;top:0;z-index:100}.hp-nav-inner{height:64px;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 32px}.hp-brand,.hp-nav-inner{align-items:center;display:flex}.hp-brand{text-decoration:none}.hp-brand-logo{height:36px}.hp-nav-links{align-items:center;display:flex;gap:8px}.hp-nav-a{border-radius:8px;color:#475569;font-size:14px;font-weight:500;padding:8px 16px;text-decoration:none;transition:all .15s}.hp-nav-a:hover{background:#f1f5f9;color:#6366f1}.hp-hamburger{background:none;border:none;cursor:pointer;display:none;flex-direction:column;gap:5px;padding:8px}.hp-hamburger span{background:#334155;border-radius:2px;display:block;height:2px;transition:.2s;width:22px}.hp-btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:inline-flex;font-family:inherit;font-weight:600;justify-content:center;text-decoration:none;transition:all .2s}.hp-btn-nav{background:#6366f1;color:#fff;font-size:13px;padding:8px 20px}.hp-btn-nav:hover{background:#4f46e5}.hp-btn-primary{background:#6366f1;color:#fff}.hp-btn-primary:hover{background:#4f46e5;box-shadow:0 8px 24px #6366f159;transform:translateY(-1px)}.hp-btn-outline{background:#0000;border:2px solid #6366f1;color:#6366f1}.hp-btn-outline:hover{background:#6366f1;color:#fff}.hp-btn-lg{font-size:16px;padding:14px 32px}.hp-btn-sm{font-size:14px;padding:10px 24px}.hp-hero{align-items:center;display:flex;justify-content:center;min-height:92vh;overflow:hidden;padding:100px 24px 60px;position:relative}.hp-hero-bg{background:linear-gradient(135deg,#0f172a,#1e1b4b 40%,#312e81 70%,#4338ca);inset:0;position:absolute}.hp-hero-bg:after{background:radial-gradient(ellipse 80% 60% at 50% 20%,#6366f140 0,#0000 70%);content:"";inset:0;position:absolute}.hp-hero-content{max-width:760px;position:relative;text-align:center;z-index:2}.hp-badge{background:#6366f133;border:1px solid #6366f159;border-radius:50px;color:#a5b4fc;display:inline-block;font-size:13px;font-weight:600;letter-spacing:.5px;margin-bottom:28px;padding:6px 18px;text-transform:uppercase}.hp-h1{color:#fff;font-size:56px;font-weight:800;letter-spacing:-1.5px;line-height:1.1;margin:0 0 24px}.hp-h1-accent{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#818cf8,#a78bfa,#c084fc);-webkit-background-clip:text;background-clip:text}.hp-hero-sub{color:#cbd5e1;font-size:19px;line-height:1.6;margin:0 auto 36px;max-width:600px}.hp-hero-cta{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-bottom:16px}.hp-hero-cta .hp-btn-outline{border-color:#ffffff4d;color:#e2e8f0}.hp-hero-cta .hp-btn-outline:hover{background:#ffffff1a;border-color:#ffffff80;color:#fff}.hp-hero-note{color:#94a3b8;font-size:13px;margin:0}.hp-stats{background:#fff;border-bottom:1px solid #e2e8f0;display:flex;gap:0;justify-content:center}.hp-stat{align-items:center;display:flex;flex:1 1;flex-direction:column;max-width:240px;padding:28px 20px}.hp-stat-val{color:#6366f1;font-size:28px;font-weight:800;letter-spacing:-.5px}.hp-stat-label{color:#64748b;font-size:13px;font-weight:500;letter-spacing:.5px;margin-top:4px;text-transform:uppercase}.hp-section-header{margin:0 auto 48px;max-width:640px;text-align:center}.hp-h2{color:#0f172a;font-size:36px;font-weight:800;letter-spacing:-.5px;margin:0 0 12px}.hp-h2-white{color:#fff}.hp-section-sub{color:#64748b;font-size:17px;line-height:1.5;margin:0}.hp-features{margin:0 auto;max-width:1200px;padding:80px 24px}.hp-features-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(4,1fr)}.hp-fcard{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:28px 24px;transition:all .25s}.hp-fcard:hover{border-color:#c7d2fe;box-shadow:0 8px 30px #6366f11a;transform:translateY(-3px)}.hp-fcard-icon{font-size:32px;margin-bottom:14px}.hp-fcard-title{color:#1e293b;font-size:16px;font-weight:700;margin:0 0 8px}.hp-fcard-desc{color:#64748b;font-size:14px;line-height:1.5;margin:0}.hp-why{background:#f8fafc;padding:80px 24px}.hp-why-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr;margin:0 auto;max-width:1000px}.hp-why-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:32px;transition:all .25s}.hp-why-card:hover{border-color:#c7d2fe;box-shadow:0 8px 30px #6366f114}.hp-why-num{color:#e0e7ff;font-size:40px;font-weight:900;line-height:1;margin-bottom:12px}.hp-why-card h3{color:#1e293b;font-size:20px;font-weight:700;margin:0 0 10px}.hp-why-card p{color:#64748b;font-size:15px;line-height:1.6;margin:0}.hp-pricing-cta{background:linear-gradient(135deg,#1e1b4b,#312e81 50%,#4338ca);padding:80px 24px}.hp-pricing-cta-inner{margin:0 auto;max-width:1000px;text-align:center}.hp-pricing-sub{color:#c7d2fe;font-size:18px;margin:0 0 48px}.hp-pricing-cards{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin-bottom:24px}.hp-pcard{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff14;border:1px solid #ffffff1f;border-radius:16px;flex:1 1;max-width:300px;min-width:240px;padding:36px 28px;position:relative;text-align:center;transition:all .25s}.hp-pcard:hover{border-color:#ffffff40;transform:translateY(-3px)}.hp-pcard-pop{background:#ffffff24;border-color:#818cf8;transform:scale(1.04)}.hp-pcard-pop:hover{transform:scale(1.06) translateY(-3px)}.hp-pcard-badge{background:#6366f1;border-radius:50px;color:#fff;font-size:11px;font-weight:700;left:50%;letter-spacing:.5px;padding:4px 16px;position:absolute;text-transform:uppercase;top:-12px;transform:translateX(-50%);white-space:nowrap}.hp-pcard-name{color:#e2e8f0;font-size:18px;font-weight:700;margin-bottom:8px}.hp-pcard-price{color:#fff;font-size:42px;font-weight:800;letter-spacing:-1px;margin-bottom:4px}.hp-pcard-price span{color:#94a3b8;font-size:16px;font-weight:500}.hp-pcard-desc{color:#a5b4fc;font-size:14px;margin-bottom:20px}.hp-pcard .hp-btn-outline{border-color:#ffffff40;color:#e2e8f0;width:100%}.hp-pcard .hp-btn-outline:hover{background:#ffffff1a;border-color:#fff6}.hp-pcard .hp-btn-primary{width:100%}.hp-pricing-note{color:#94a3b8;font-size:13px;margin:0}.hp-final-cta{background:#fff;padding:80px 24px;text-align:center}.hp-final-cta .hp-section-sub{margin-bottom:32px}.hp-footer{background:#0f172a;color:#94a3b8;padding:60px 24px 0}.hp-footer-inner{border-bottom:1px solid #1e293b;display:flex;gap:60px;margin:0 auto;max-width:1000px;padding-bottom:40px}.hp-footer-brand{flex:2 1}.hp-footer-logo{filter:brightness(0) invert(1);height:32px;margin-bottom:12px;opacity:.8}.hp-footer-brand p{color:#64748b;font-size:14px;line-height:1.6;margin:0}.hp-footer-col{display:flex;flex:1 1;flex-direction:column;gap:10px}.hp-footer-col h4{color:#e2e8f0;font-size:13px;font-weight:700;letter-spacing:.5px;margin:0 0 4px;text-transform:uppercase}.hp-footer-col a{color:#94a3b8;font-size:14px;text-decoration:none;transition:color .15s}.hp-footer-col a:hover{color:#818cf8}.hp-footer-bottom{color:#475569;font-size:13px;margin:0 auto;max-width:1000px;padding:20px 0;text-align:center}@media (max-width:900px){.hp-features-grid{grid-template-columns:repeat(2,1fr)}.hp-why-grid{grid-template-columns:1fr}.hp-h1{font-size:40px}.hp-hero-sub{font-size:16px}.hp-h2{font-size:28px}.hp-pcard{min-width:200px}}@media (max-width:640px){.hp-nav-links{background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 8px 24px #00000014;display:none;flex-direction:column;gap:4px;left:0;padding:16px 24px;position:fixed;right:0;top:64px}.hp-hamburger,.hp-nav-links.open{display:flex}.hp-btn-nav{text-align:center}.hp-features-grid{grid-template-columns:1fr}.hp-h1{font-size:32px;letter-spacing:-1px}.hp-hero{min-height:80vh;padding:90px 20px 50px}.hp-hero-sub{font-size:15px}.hp-hero-cta{align-items:center;flex-direction:column}.hp-btn-lg{max-width:300px;width:100%}.hp-stats{flex-wrap:wrap}.hp-stat{min-width:50%}.hp-pricing-cards{align-items:center;flex-direction:column}.hp-pcard{max-width:100%;width:100%}.hp-pcard-pop{transform:none}.hp-pcard-pop:hover{transform:translateY(-3px)}.hp-footer-inner{flex-direction:column;gap:32px}.hp-section-header{margin-bottom:32px}.hp-features,.hp-final-cta,.hp-pricing-cta,.hp-why{padding:56px 20px}}.dash-page{max-width:1280px;padding:24px 32px}.dash-banner{background:linear-gradient(135deg,#1e293b,#334155);border-radius:16px;color:#fff;gap:24px;justify-content:space-between;margin-bottom:24px;padding:24px 32px}.dash-banner,.dash-banner-left{align-items:center;display:flex}.dash-banner-left{flex:1 1;gap:20px;min-width:0}.dash-company-logo{background:#ffffff1a;border-radius:8px;flex-shrink:0;max-height:56px;max-width:160px;object-fit:contain;padding:6px 10px}.dash-greeting h1{color:#fff;font-size:22px;font-weight:700;margin:0 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-date{color:#94a3b8;font-size:13px;margin:0}.dash-company-name{color:#a5b4fc}.dash-weather{align-items:center;background:#ffffff14;border-radius:12px;display:flex;flex-shrink:0;gap:14px;min-width:220px;padding:14px 20px}.dash-weather-icon{font-size:36px;line-height:1}.dash-weather-info{display:flex;flex-direction:column}.dash-weather-temp{font-size:20px;font-weight:700;letter-spacing:-.5px}.temp-high{color:#fff}.temp-sep{color:#64748b;font-weight:400;margin:0 2px}.temp-low{color:#94a3b8;font-weight:500}.dash-weather-desc{color:#cbd5e1;font-size:12px;margin-top:2px}.dash-weather-detail{color:#64748b;font-size:11px;margin-top:1px}.dash-weather-loading{align-items:center;color:#94a3b8;display:flex;font-size:12px;gap:8px}.dash-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:24px}.dash-stat-card{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;cursor:pointer;display:flex;gap:14px;padding:18px 20px;transition:all .15s}.dash-stat-card:hover{box-shadow:0 4px 12px #0000000f;transform:translateY(-1px)}.dash-stat-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.dash-stat-body{display:flex;flex-direction:column}.dash-stat-value{color:#1e293b;font-size:26px;font-weight:700;line-height:1.1}.dash-stat-label{color:#94a3b8;font-size:12px;font-weight:600;letter-spacing:.3px;margin-top:2px;text-transform:uppercase}.dash-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1.3fr 1fr}.dash-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;display:flex;flex-direction:column}.dash-card-header{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;padding:18px 20px 14px}.dash-card-header h2{color:#1e293b;font-size:15px;font-weight:700;margin:0}.dash-btn-sm{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#475569;cursor:pointer;font-size:12px;font-weight:600;padding:5px 14px;transition:all .15s}.dash-btn-sm:hover{background:#f8fafc;border-color:#cbd5e1}.dash-activity-card{max-height:600px}.dash-activity-list{flex:1 1;overflow-y:auto;padding:0}.dash-activity-item{align-items:flex-start;border-bottom:1px solid #f8fafc;display:flex;gap:12px;padding:12px 20px;transition:background .1s}.dash-activity-item:hover{background:#fafbfc}.dash-activity-item:last-child{border-bottom:none}.dash-activity-icon{align-items:center;border-radius:8px;display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.dash-activity-body{flex:1 1;min-width:0}.dash-activity-title{color:#1e293b;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-activity-meta{color:#94a3b8;display:flex;font-size:11px;gap:8px;margin-top:2px}.dash-activity-project{color:#6366f1;font-weight:500}.dash-activity-detail{color:#94a3b8}.dash-activity-time{color:#94a3b8;flex-shrink:0;font-size:11px;padding-top:2px;white-space:nowrap}.dash-projects-card{max-height:600px}.dash-projects-list{flex:1 1;overflow-y:auto}.dash-project-row{align-items:center;border-bottom:1px solid #f8fafc;cursor:pointer;display:flex;justify-content:space-between;padding:12px 20px;transition:background .1s}.dash-project-row:hover{background:#fafbfc}.dash-project-row:last-child{border-bottom:none}.dash-project-info{flex:1 1;min-width:0}.dash-project-name{color:#1e293b;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-project-meta{color:#94a3b8;display:flex;font-size:11px;gap:10px;margin-top:2px}.dash-status-badge{border-radius:20px;flex-shrink:0;font-size:11px;font-weight:600;padding:3px 10px;text-transform:capitalize}.dash-status-active{background:#f0fdf4;color:#16a34a}.dash-status-planning{background:#faf5ff;color:#7c3aed}.dash-status-completed{background:#fefce8;color:#ca8a04}.dash-status-on-hold,.dash-status-on_hold{background:#fff7ed;color:#ea580c}.dash-empty{align-items:center;color:#94a3b8;display:flex;flex-direction:column;font-size:13px;gap:10px;justify-content:center;padding:40px 20px;text-align:center}@media (max-width:1024px){.dash-grid{grid-template-columns:1fr}.dash-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.dash-page{padding:16px}.dash-banner{align-items:flex-start;flex-direction:column;padding:20px}.dash-weather{width:100%}.dash-stats{grid-template-columns:1fr 1fr}.dash-greeting h1{font-size:18px}}@keyframes fadeSlideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}[style*="z-index: 99999"]::-webkit-scrollbar{width:6px}[style*="z-index: 99999"]::-webkit-scrollbar-track{background:#0000}[style*="z-index: 99999"]::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}[style*="z-index: 99999"]::-webkit-scrollbar-thumb:hover{background:#ffffff40}.project-selector{margin-bottom:24px;position:relative;width:100%;z-index:1100}.project-selector-label{color:#888;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;padding-left:4px;text-transform:uppercase}.project-selector-dropdown{position:relative}.project-selector-trigger{align-items:center;background:linear-gradient(135deg,#444,#333);border:1px solid #555;border-radius:12px;box-shadow:0 2px 8px #0000001a;box-sizing:border-box;cursor:pointer;display:flex;justify-content:space-between;min-height:48px;padding:12px 16px;transition:all .2s ease;width:100%}.project-display{color:#fff;font-size:14px;font-weight:500;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-selector-trigger:hover{background:linear-gradient(135deg,#4a4a4a,#3a3a3a);border-color:#666;box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.project-selector-dropdown.open .project-selector-trigger{background:linear-gradient(135deg,#4a4a4a,#3a3a3a);border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-color:#666}.project-selector-current{align-items:center;display:flex;flex:1 1;gap:12px;min-width:0}.project-icon{align-items:center;background:#ffffff1a;border-radius:6px;color:#fff;flex-shrink:0;height:24px;width:24px}.project-icon,.project-info{display:flex;justify-content:center}.project-info{flex:1 1;flex-direction:column;min-width:0;overflow:hidden}.project-address,.project-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-address{margin-top:2px}.project-selector-menu{background:#333;border:1px solid #555;border-bottom-left-radius:12px;border-bottom-right-radius:12px;border-top:none;box-shadow:0 8px 24px #0003;left:0;max-width:320px;min-width:280px;padding:0;position:absolute;right:0;top:100%;z-index:9999}.projects-list{margin:0;max-height:200px;overflow-y:auto;padding:0}.project-item{border-bottom:1px solid #ffffff1a;box-sizing:border-box;cursor:pointer;display:block;margin:0;padding:16px 20px;transition:background-color .2s ease;width:100%}.project-item:last-child{border-bottom:none}.project-item:hover{background-color:#ffffff1a}.project-item.selected{background-color:#fff3}.project-name{color:#fff;font-size:14px;font-weight:600;line-height:1.2;margin-bottom:4px}.project-address{color:#bbb;font-size:12px;line-height:1.2}.project-dropdown{background:linear-gradient(135deg,#444,#333);border:1px solid #555;border-radius:12px;box-shadow:0 8px 32px #0000004d;left:0;margin-top:4px;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1060}.project-dropdown::-webkit-scrollbar{width:6px}.project-dropdown::-webkit-scrollbar-track,.project-selector-menu::-webkit-scrollbar-track{background:#2a2a2a}.project-selector-menu::-webkit-scrollbar-thumb{background:#555;border-radius:3px}.project-selector-menu::-webkit-scrollbar-thumb:hover{background:#666}.project-selector-item{align-items:center;border-bottom:1px solid #ffffff0d;cursor:pointer;display:flex;gap:12px;padding:12px 16px;transition:all .2s ease}.project-selector-item:last-child{border-bottom:none}.project-selector-item:hover{background:#ffffff0d}.project-selector-item.selected{background:#4a90e21a;border-left:3px solid #4a90e2}.project-selector-item.selected .project-name{color:#4a90e2}.project-selector-item.add-project{background:#ffffff05;border-top:1px solid #ffffff1a}.project-selector-item.add-project:hover{background:#4a90e21a}.project-selector-item.add-project .project-icon{background:#4a90e233;color:#4a90e2}.project-status{margin-top:4px}.status-badge{background:#ffffff1a;border-radius:4px;color:#bbb;font-size:10px;letter-spacing:.5px;padding:2px 6px;text-transform:uppercase}.status-badge.active{background:#2ecc7133;color:#2ecc71}.status-badge.completed{background:#3498db33;color:#3498db}.status-badge.on-hold{background:#f1c40f33;color:#f1c40f}.project-selector-divider{background:#ffffff1a;height:1px;margin:4px 0}.project-selector-loading{color:#bbb;font-size:14px;padding:20px;text-align:center}.project-selector-empty{color:#bbb;padding:24px;text-align:center}.empty-icon{color:#666;display:flex;justify-content:center}.empty-text{color:#999;font-size:14px;font-weight:600;margin-bottom:4px}.empty-subtext{color:#777;font-size:12px}.project-selector-dropdown.open .project-selector-menu{animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.project-selector{max-width:240px}.project-selector-trigger{min-height:44px;padding:10px 12px}.project-name{font-size:13px}.project-address{font-size:11px}.project-selector-item{padding:10px 12px}}@media (max-width:480px){.project-selector{max-width:200px}.project-name{font-size:12px}.project-address{font-size:10px}}.projects-container{background:#f5f6fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1400px;min-height:100vh;padding:24px}.projects-header{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 4px #0000000f;display:flex;justify-content:space-between;margin-bottom:20px;padding:18px 24px}.projects-header h1{color:#1a1a2e;font-size:22px;font-weight:700;margin:0}.header-actions{gap:12px}.view-toggle{background:#eef0f4;border-radius:8px;padding:3px}.toggle-btn{border-radius:6px;color:#666;font-size:13px;padding:7px 16px;transition:all .15s ease}.toggle-btn.active{background:#fff;box-shadow:0 1px 3px #0000001a;color:#1a1a2e}.add-btn{background:#1a1a2e;border-radius:8px;padding:9px 18px}.add-btn:hover{background:#2d2d44}.error-banner{color:#b91c1c;font-size:14px}.error-dismiss{color:#b91c1c;font-size:20px;line-height:1}.loading-state{border:1px solid #e2e8f0}.loading-spinner{margin:0 auto 14px}.empty-state{border:1px solid #e2e8f0}.empty-state h3{color:#333}.empty-state p{color:#888;margin:0 0 20px}.projects-table-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 4px #0000000a;overflow:hidden}.projects-table{border-collapse:collapse;width:100%}.projects-table thead tr{background:#f8f9fc;border-bottom:2px solid #e2e8f0}.projects-table th{color:#8892a4;font-size:11px;font-weight:700;letter-spacing:.5px;padding:11px 14px;text-align:left;text-transform:uppercase;white-space:nowrap}.projects-table td{border-bottom:1px solid #f0f2f5;color:#333;font-size:14px;padding:12px 14px;vertical-align:middle}.project-row{cursor:pointer;transition:background .12s}.project-row:hover{background:#f7f8fb}.project-row.editing{background:#eef3ff}.project-row.archived{cursor:default;opacity:.65}.project-name-text{color:#1a1a2e;font-weight:600}.col-name{width:22%}.col-address{width:20%}.col-manager,.col-super{width:12%}.col-dates{white-space:nowrap;width:9%}.col-status{width:8%}.col-actions{white-space:nowrap;width:10%}.status-badge{border-radius:12px;display:inline-block;font-size:12px;text-transform:capitalize}.status-badge.completed{background:#dbeafe;color:#1e40af}.status-badge.on-hold,.status-badge.on_hold{background:#fef3c7;color:#92400e}.status-badge.planning{background:#f3e8ff;color:#6b21a8}.row-action-btn{border:1px solid #0000;border-radius:6px;color:#555;font-size:12px;font-weight:500;gap:4px;padding:5px 8px}.row-action-btn.archive:hover{background:#f3e8ff;border-color:#d8b4fe;color:#7c3aed}.row-action-btn.delete:hover{border-color:#fca5a5}.row-action-btn.restore{color:#059669;font-weight:600}.row-action-btn.restore:hover{background:#ecfdf5;border-color:#6ee7b7}.edit-row td{border-bottom:2px solid #c7d2fe}.inline-edit-form{background:#f8faff;border-top:1px solid #e0e7ff;padding:20px 24px}.edit-form-grid{grid-gap:14px;gap:14px;grid-template-columns:1fr 1fr}.edit-field{display:flex;flex-direction:column}.edit-field.full{grid-column:1/-1}.edit-field label{color:#64748b;font-size:12px}.edit-field input,.edit-field textarea{background:#fff;border:1px solid #cbd5e1;border-radius:6px;box-sizing:border-box;color:#1e293b;font-size:14px;padding:9px 12px;transition:border-color .15s;width:100%}.edit-field input:focus,.edit-field textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.edit-field textarea{min-height:56px;resize:vertical}.edit-actions{border-top:1px solid #e2e8f0;gap:10px;margin-top:16px;padding-top:14px}.btn{padding:9px 20px}.btn.primary{background:#1a1a2e}.btn.primary:hover{background:#2d2d44}.btn.primary:disabled{background:#94a3b8;cursor:not-allowed}.btn.secondary{background:#eef0f4;color:#555}.btn.secondary:hover{background:#e2e5ea}.modal-content{box-shadow:0 20px 60px #0000002e;max-width:540px}.modal-header{border-bottom:1px solid #f0f2f5;padding:20px 24px}.modal-header h2{color:#1a1a2e;font-size:18px}.close-btn{height:32px;transition:all .15s;width:32px}.close-btn:hover{color:#333}.modal-form-body{padding:20px 24px}.modal-footer{border-top:1px solid #f0f2f5;padding:16px 24px}.form-group label{font-size:13px}.form-group input,.form-group select,.form-group textarea{padding:9px 12px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.form-group textarea{min-height:72px;resize:vertical}.warning-text{color:#dc2626}@media (max-width:1024px){.col-address,.col-super{display:none}.col-name{width:28%}}@media (max-width:768px){.projects-container{padding:14px}.projects-header{align-items:stretch;flex-direction:column;gap:12px}.header-actions{justify-content:space-between}.col-dates,.col-manager{display:none}.col-name{width:40%}.edit-form-grid,.form-row{grid-template-columns:1fr}.modal-content{border-radius:10px 10px 0 0;margin:0;max-height:95vh}}.photo-uploader{margin:14px 0}.photo-upload-bar{align-items:center;background:#fafbfc;border:1px solid #e2e8f0;border-radius:8px;display:flex;justify-content:space-between;padding:10px 14px}.photo-upload-label{color:#64748b;font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.photo-count{color:#94a3b8;font-weight:500}.photo-upload-actions{display:flex;gap:8px}.photo-btn{align-items:center;border:1px solid;border-radius:6px;cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:5px;padding:6px 12px;transition:all .15s}.photo-btn.camera{background:#fff;border-color:#c4b5fd;color:#7c3aed}.photo-btn.camera:hover:not(:disabled){background:#f5f3ff}.photo-btn.upload{background:#fff;border-color:#93c5fd;color:#2563eb}.photo-btn.upload:hover:not(:disabled){background:#eff6ff}.photo-btn:disabled{cursor:not-allowed;opacity:.5}.photo-btn span{display:inline}.photo-uploading{animation:pulse-upload 1.2s ease-in-out infinite;color:#6366f1;font-size:12px;font-weight:500;padding:8px 14px}@keyframes pulse-upload{0%,to{opacity:1}50%{opacity:.4}}.photo-error{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;display:flex;font-size:12px;justify-content:space-between;margin-top:6px;padding:6px 12px}.photo-error button{background:none;border:none;color:#dc2626;cursor:pointer;font-size:16px;line-height:1}.photo-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.photo-grid.compact{gap:6px}.photo-thumb{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;height:80px;overflow:hidden;position:relative;transition:transform .15s,box-shadow .15s;width:80px}.photo-grid.compact .photo-thumb{height:60px;width:60px}.photo-thumb:hover{box-shadow:0 4px 12px #0000001f;transform:scale(1.05)}.photo-thumb img{height:100%;object-fit:cover;width:100%}.photo-video-thumb{background:#0f172a;height:100%;position:relative;width:100%}.photo-video-thumb video{height:100%;object-fit:cover;width:100%}.photo-video-play{align-items:center;background:#00000059;display:flex;inset:0;justify-content:center;position:absolute;transition:background .15s}.photo-thumb:hover .photo-video-play{background:#00000080}.photo-file-icon{align-items:center;color:#64748b;display:flex;flex-direction:column;height:100%;justify-content:center}.photo-file-icon span{font-size:9px;font-weight:700;margin-top:2px;text-transform:uppercase}.photo-delete-btn{align-items:center;background:#00000080;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:20px;justify-content:center;opacity:0;position:absolute;right:3px;top:3px;transition:opacity .15s;width:20px}.photo-thumb:hover .photo-delete-btn{opacity:1}.photo-lightbox{align-items:center;background:#000c;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:99999}.photo-lightbox-content{background:#fff;border-radius:12px;display:flex;flex-direction:column;max-height:90vh;max-width:90vw;overflow:hidden;position:relative}.photo-lightbox-content img{max-height:75vh;max-width:90vw;object-fit:contain}.photo-lightbox-close{align-items:center;background:#00000080;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:20px;height:36px;justify-content:center;position:absolute;right:10px;top:10px;transition:background .15s;width:36px;z-index:2}.photo-lightbox-close:hover{background:#000000b3}.photo-lightbox-file{align-items:center;color:#475569;display:flex;flex-direction:column;justify-content:center;padding:60px 40px}.photo-lightbox-file p{font-size:16px;font-weight:500;margin:12px 0}.photo-download-btn{background:#1a1a2e;border-radius:8px;color:#fff;font-size:14px;font-weight:600;margin-top:8px;padding:10px 24px;text-decoration:none;transition:background .15s}.photo-download-btn:hover{background:#2d2d44}.photo-lightbox-info{align-items:center;background:#f8fafc;border-top:1px solid #e2e8f0;color:#475569;display:flex;font-size:13px;justify-content:space-between;padding:12px 16px}.photo-lightbox-delete{background:#dc2626;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:5px 14px;transition:background .15s}.photo-lightbox-delete:hover{background:#b91c1c}@media (max-width:768px){.photo-thumb{height:64px;width:64px}.photo-grid.compact .photo-thumb{height:50px;width:50px}.photo-lightbox-content,.photo-lightbox-content img{max-width:95vw}}.daily-container{background:#f5f6fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1400px;min-height:100vh;padding:24px}.daily-header{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 4px #0000000f;display:flex;justify-content:space-between;margin-bottom:20px;padding:18px 24px}.daily-header h1{color:#1a1a2e;font-size:22px;font-weight:700;margin:0}.daily-header .header-actions{align-items:center;display:flex;gap:12px}.daily-container .filter-select{background:#f8f9fc;border:1px solid #e2e8f0;border-radius:8px;color:#333;cursor:pointer;font-size:13px;min-width:180px;padding:8px 12px}.daily-container .filter-select:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.daily-container .add-btn{background:#1a1a2e;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:9px 18px;transition:background .15s}.daily-container .add-btn:hover{background:#2d2d44}.daily-container .error-banner{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#b91c1c;display:flex;font-size:14px;justify-content:space-between;margin-bottom:16px;padding:10px 16px}.daily-container .error-dismiss{background:none;border:none;color:#b91c1c;cursor:pointer;font-size:20px;line-height:1;padding:0 4px}.daily-container .loading-state{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;display:flex;flex-direction:column;padding:60px 20px}.daily-container .loading-spinner{animation:trakend-pulse 1.4s ease-in-out infinite;background:url(/static/media/trakendsmalllogo.57b858c0f5168c7e3171.png) 50%/contain no-repeat;border:none;border-radius:0;height:40px;margin:0 auto 14px;width:120px}.daily-container .empty-state{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;display:flex;flex-direction:column;padding:60px 20px;text-align:center}.daily-container .empty-icon{font-size:40px;margin-bottom:12px;opacity:.5}.daily-container .empty-state h3{color:#333;font-size:18px;margin:0 0 6px}.daily-container .empty-state p{color:#888;font-size:14px;margin:0 0 20px}.daily-table-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 4px #0000000a;overflow:hidden}.daily-table{border-collapse:collapse;width:100%}.daily-table thead tr{background:#f8f9fc;border-bottom:2px solid #e2e8f0}.daily-table th{color:#8892a4;font-size:11px;font-weight:700;letter-spacing:.5px;padding:11px 14px;text-align:left;text-transform:uppercase;white-space:nowrap}.daily-table td{border-bottom:1px solid #f0f2f5;color:#333;font-size:14px;padding:12px 14px;vertical-align:middle}.work-summary-text{color:#475569;font-size:13px}.daily-table .col-date{white-space:nowrap;width:10%}.daily-table .col-project{width:20%}.daily-table .col-weather{width:15%}.daily-table .col-work{width:35%}.daily-table .col-status{width:10%}.daily-table .col-actions{white-space:nowrap;width:8%}.daily-container .status-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;padding:3px 10px;text-transform:capitalize}.stat-draft{color:#475569}.stat-submitted{background:#dbeafe;color:#1e40af}.stat-approved{background:#dcfce7;color:#166534}.daily-container .row-action-btn{align-items:center;background:none;border:1px solid #0000;border-radius:6px;color:#555;cursor:pointer;display:inline-flex;font-size:12px;font-weight:500;gap:4px;padding:5px 8px;transition:all .15s}.daily-container .row-action-btn.delete:hover{background:#fef2f2;border-color:#fca5a5;color:#dc2626}.daily-container .edit-row td{border-bottom:2px solid #c7d2fe;padding:0!important}.daily-container .inline-edit-form{background:#f8faff;border-top:1px solid #e0e7ff;padding:20px 24px}.daily-container .edit-form-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr 1fr 1fr}.daily-container .edit-field{display:flex;flex-direction:column}.daily-container .edit-field.full{grid-column:1/-1}.daily-container .edit-field label{color:#64748b;font-size:12px;font-weight:600;letter-spacing:.3px;margin-bottom:4px;text-transform:uppercase}.daily-container .edit-field input,.daily-container .edit-field select,.daily-container .edit-field textarea{background:#fff;border:1px solid #cbd5e1;border-radius:6px;box-sizing:border-box;color:#1e293b;font-size:14px;padding:9px 12px;transition:border-color .15s;width:100%}.daily-container .edit-field input:focus,.daily-container .edit-field select:focus,.daily-container .edit-field textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.daily-container .edit-field textarea{min-height:56px;resize:vertical}.daily-container .edit-actions{border-top:1px solid #e2e8f0;display:flex;gap:10px;justify-content:flex-end;margin-top:16px;padding-top:14px}.daily-container .btn{border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;padding:9px 20px;transition:all .15s}.daily-container .btn.primary{background:#1a1a2e;color:#fff}.daily-container .btn.primary:hover{background:#2d2d44}.daily-container .btn.primary:disabled{background:#94a3b8;cursor:not-allowed}.daily-container .btn.secondary{background:#eef0f4;color:#555}.daily-container .btn.secondary:hover{background:#e2e5ea}.daily-container .btn.danger{background:#dc2626;color:#fff}.daily-container .btn.danger:hover{background:#b91c1c}.daily-container .modal-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:10000}.daily-container .modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000002e;max-height:90vh;max-width:580px;overflow-y:auto;width:100%}.daily-container .modal-content.modal-sm{max-width:420px}.daily-container .modal-content.modal-lg{max-width:680px}.daily-container .modal-header{align-items:center;border-bottom:1px solid #f0f2f5;display:flex;justify-content:space-between;padding:20px 24px}.daily-container .modal-header h2{color:#1a1a2e;font-size:18px;font-weight:700;margin:0}.daily-container .close-btn{align-items:center;background:none;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;display:flex;font-size:22px;height:32px;justify-content:center;transition:all .15s;width:32px}.daily-container .close-btn:hover{background:#f1f5f9;color:#333}.daily-container .modal-form-body{padding:20px 24px}.daily-container .modal-footer{border-top:1px solid #f0f2f5;display:flex;gap:10px;justify-content:flex-end;padding:16px 24px}.daily-container .form-group{margin-bottom:16px}.daily-container .form-row{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr}.daily-container .form-row-4{grid-template-columns:1fr 1fr 1fr 1fr}.daily-container .form-section-label{border-bottom:1px solid #e2e8f0;color:#64748b;font-size:12px;font-weight:700;letter-spacing:.5px;margin:8px 0 12px;padding-bottom:6px;text-transform:uppercase}.daily-container .form-group label{color:#475569;display:block;font-size:13px;font-weight:600;margin-bottom:5px}.daily-container .form-group input,.daily-container .form-group select,.daily-container .form-group textarea{border:1px solid #cbd5e1;border-radius:6px;box-sizing:border-box;font-size:14px;padding:9px 12px;transition:border-color .15s;width:100%}.daily-container .form-group input:focus,.daily-container .form-group select:focus,.daily-container .form-group textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.daily-container .form-group textarea{min-height:72px;resize:vertical}.daily-container .warning-text{color:#dc2626;font-size:13px;margin-top:6px}.daily-table .col-crews{color:#475569;font-size:13px;white-space:nowrap;width:14%}.weather-bar{background:#f0f7ff;border:1px solid #bfdbfe;border-radius:8px;margin:14px 0;padding:14px 16px}.weather-bar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.weather-loading{animation:pulse-text 1.2s ease-in-out infinite;color:#6366f1;font-size:12px;font-weight:500}@keyframes pulse-text{0%,to{opacity:1}50%{opacity:.4}}.btn-refresh-weather{align-items:center;background:#fff;border:1px solid #93c5fd;border-radius:6px;color:#2563eb;cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:5px;padding:5px 12px;transition:all .15s}.btn-refresh-weather:hover:not(:disabled){background:#dbeafe}.btn-refresh-weather:disabled{cursor:not-allowed;opacity:.5}.weather-fields{display:flex;flex-wrap:wrap;gap:10px}.weather-field{flex:1 1;min-width:100px}.weather-field-sm{flex:0 0 80px;min-width:80px}.weather-field label{color:#64748b;display:block;font-size:11px;font-weight:600;letter-spacing:.3px;margin-bottom:3px;text-transform:uppercase}.weather-field input{background:#fff;border:1px solid #cbd5e1;border-radius:6px;box-sizing:border-box;font-size:13px;padding:7px 10px;width:100%}.weather-field input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.crew-section{background:#f8faf5;border:1px solid #d4e4bc;border-radius:8px;margin:14px 0;padding:14px 16px}.crew-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.crew-section-title{color:#64748b;font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.btn-add-crew{background:#fff;border:1px solid #86b049;border-radius:6px;color:#4d7c0f;cursor:pointer;font-size:12px;font-weight:600;padding:5px 12px;transition:all .15s}.btn-add-crew:hover{background:#ecfccb}.crew-row{align-items:flex-end;background:#fff;border:1px solid #e2e8f0;border-radius:6px;display:flex;gap:10px;margin-bottom:8px;padding:10px 12px}.crew-row:last-child{margin-bottom:0}.crew-field{flex:1 1}.crew-field-sm{flex:0 0 70px}.crew-field-lg{flex:2 1}.crew-field label{color:#64748b;display:block;font-size:11px;font-weight:600;letter-spacing:.3px;margin-bottom:3px;text-transform:uppercase}.crew-field input{background:#fff;border:1px solid #cbd5e1;border-radius:6px;box-sizing:border-box;font-size:13px;padding:7px 10px;width:100%}.crew-field input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.crew-remove-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;display:flex;flex-shrink:0;height:30px;justify-content:center;margin-bottom:2px;transition:all .15s;width:30px}.crew-remove-btn:hover{background:#fef2f2;color:#dc2626}@media (max-width:1024px){.daily-table .col-weather{display:none}.daily-container .edit-form-grid{grid-template-columns:1fr 1fr}.crew-row{flex-wrap:wrap}.crew-field-sm{flex-basis:calc(50% - 5px);flex-grow:0;flex-shrink:0}.crew-field-lg{flex:1 1 100%}}@media (max-width:768px){.daily-container{padding:14px}.daily-header{align-items:stretch;flex-direction:column;gap:12px}.daily-header .header-actions{justify-content:space-between}.daily-table .col-crews,.daily-table .col-status{display:none}.daily-container .edit-form-grid,.daily-container .form-row{grid-template-columns:1fr}.daily-container .form-row-4{grid-template-columns:1fr 1fr}.weather-fields{flex-direction:column}.weather-field-sm{flex:1 1}.crew-row{flex-direction:column}.crew-field-lg,.crew-field-sm{flex:1 1}.daily-container .modal-content{border-radius:10px 10px 0 0;margin:0;max-height:95vh}}.rpv-overlay{background:#f1f5f9;bottom:0;display:flex;flex-direction:column;left:0;overflow-y:auto;position:fixed;right:0;top:0;z-index:10000}.rpv-toolbar{background:#1a1a2e;box-shadow:0 2px 8px #0003;color:#fff;justify-content:space-between;padding:10px 24px;position:sticky;top:0;z-index:10001}.rpv-toolbar,.rpv-toolbar h2{align-items:center;display:flex}.rpv-toolbar h2{font-size:15px;font-weight:600;gap:8px;margin:0}.rpv-toolbar-actions{display:flex;gap:8px}.rpv-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:7px 16px;transition:background .15s}.rpv-btn.print{background:#3b82f6;color:#fff}.rpv-btn.print:hover{background:#2563eb}.rpv-btn.close{background:#ffffff26;color:#fff}.rpv-btn.close:hover{background:#ffffff40}.rpv-page{background:#fff;border-radius:8px;box-shadow:0 2px 12px #00000014;margin:24px auto;max-width:850px;padding:40px 48px}.rpv-report-header{align-items:flex-start;border-bottom:3px solid #1a1a2e;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.rpv-report-header h1{color:#1a1a2e;font-size:22px;font-weight:800;letter-spacing:-.3px;margin:0}.rpv-report-header .rpv-subtitle{color:#64748b;font-size:13px;margin-top:2px}.rpv-report-meta{color:#64748b;font-size:12px;line-height:1.6;text-align:right}.rpv-report-meta strong{color:#1e293b}.rpv-badge{border-radius:10px;display:inline-block;font-size:11px;font-weight:700;letter-spacing:.3px;padding:2px 10px;text-transform:uppercase}.rpv-badge.sev-low{background:#dcfce7;color:#166534}.rpv-badge.sev-medium{background:#fef9c3;color:#854d0e}.rpv-badge.sev-high{background:#fed7aa;color:#9a3412}.rpv-badge.sev-critical{background:#fecaca;color:#991b1b}.rpv-badge.stat-open{background:#dbeafe;color:#1d4ed8}.rpv-badge.stat-progress{background:#fef9c3;color:#854d0e}.rpv-badge.stat-closed{background:#dcfce7;color:#166534}.rpv-badge.stat-draft{background:#f1f5f9;color:#64748b}.rpv-badge.stat-submitted{background:#dbeafe;color:#1d4ed8}.rpv-badge.stat-approved{background:#dcfce7;color:#166534}.rpv-info-grid{grid-gap:12px 24px;display:grid;gap:12px 24px;grid-template-columns:1fr 1fr;margin-bottom:20px}.rpv-info-grid.three{grid-template-columns:1fr 1fr 1fr}.rpv-info-grid.four{grid-template-columns:1fr 1fr 1fr 1fr}.rpv-info-item label{color:#94a3b8;display:block;font-size:10px;font-weight:700;letter-spacing:.4px;margin-bottom:2px;text-transform:uppercase}.rpv-info-item span{color:#1e293b;font-size:13px;font-weight:500}.rpv-section{margin-bottom:20px}.rpv-section-title{align-items:center;border-bottom:2px solid #e2e8f0;color:#1a1a2e;display:flex;font-size:13px;font-weight:700;gap:6px;letter-spacing:.4px;margin-bottom:10px;padding-bottom:6px;text-transform:uppercase}.rpv-text-block{color:#334155;font-size:13px;line-height:1.7;white-space:pre-wrap}.rpv-tag-list{display:flex;flex-wrap:wrap;gap:6px}.rpv-tag{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;color:#334155;display:inline-block;font-size:11px;font-weight:500;padding:3px 10px}.rpv-tag.hazard{background:#fef2f2;border-color:#fecaca;color:#991b1b}.rpv-tag.permit{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.rpv-tag.training{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.rpv-tag.ppe{background:#fefce8;border-color:#fde68a;color:#854d0e}.rpv-table{border-collapse:collapse;font-size:12px;margin-bottom:8px;width:100%}.rpv-table th{background:#f8fafc;border-bottom:2px solid #e2e8f0;color:#64748b;font-size:10px;font-weight:700;letter-spacing:.4px;padding:8px 10px;text-align:left;text-transform:uppercase}.rpv-table td{border-bottom:1px solid #f1f5f9;color:#334155;padding:8px 10px;vertical-align:top}.rpv-table tr:last-child td{border-bottom:none}.rpv-sig-img{background:#fff;border:1px solid #e2e8f0;border-radius:3px;height:36px;max-width:140px;object-fit:contain}.rpv-check{color:#16a34a;font-weight:700}.rpv-nocheck{color:#cbd5e1}.rpv-weather-card{align-items:center;border:1px solid #0000000f;border-radius:10px;display:flex;gap:16px;margin-bottom:18px;padding:14px 20px}.rpv-weather-icon{align-items:center;display:flex;flex-shrink:0}.rpv-weather-condition{font-size:16px;font-weight:700;min-width:80px;text-transform:capitalize}.rpv-weather-temps{align-items:center;display:flex;gap:12px}.rpv-temp-high,.rpv-temp-low{align-items:center;display:flex;font-size:15px;font-weight:700;gap:3px}.rpv-temp-high{color:#dc2626}.rpv-temp-low{color:#2563eb}.rpv-weather-extras{align-items:center;display:flex;gap:14px;margin-left:auto}.rpv-weather-extra{align-items:center;color:#475569;display:flex;font-size:12px;font-weight:500;gap:4px}.rpv-weather-extra svg{color:#94a3b8}.rpv-photos{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.rpv-photo-thumb{border:1px solid #e2e8f0;border-radius:6px;height:120px;object-fit:cover;width:160px}.rpv-photo-clickable{cursor:pointer;transition:transform .15s,box-shadow .15s}.rpv-photo-clickable:hover{box-shadow:0 4px 12px #0000001f;transform:scale(1.04)}.rpv-lightbox{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000d9;bottom:0;display:flex;justify-content:center;left:0;padding:24px;position:fixed;right:0;top:0;z-index:20000}.rpv-lightbox-content{align-items:center;display:flex;flex-direction:column;gap:16px;max-height:90vh;max-width:90vw}.rpv-lightbox-img{border-radius:8px;box-shadow:0 8px 32px #0006;max-height:80vh;max-width:100%;object-fit:contain}.rpv-lightbox-actions{display:flex;gap:12px}.rpv-lightbox-btn{align-items:center;background:#ffffff26;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:8px 18px;text-decoration:none;transition:background .15s}.rpv-lightbox-btn:hover{background:#ffffff40}a.rpv-lightbox-btn{background:#3b82f6}a.rpv-lightbox-btn:hover{background:#2563eb}.rpv-article{background:#fffbeb;border:1px solid #fde68a;border-left:4px solid #f59e0b;border-radius:6px;margin-bottom:16px;padding:14px 16px}.rpv-article h4{color:#92400e;font-size:14px;margin:0 0 8px}.rpv-article-keypoints{list-style:disc;margin:0 0 10px;padding-left:18px}.rpv-article-keypoints li{color:#78350f;font-size:12px;line-height:1.5;margin-bottom:2px}.rpv-article-body{color:#334155;font-size:12px;line-height:1.6}.rpv-article-body p{margin:0 0 6px}.rpv-article-body h4{border-bottom:none;color:#1e293b;font-size:12px;font-weight:700;margin:10px 0 4px;padding-bottom:0}.rpv-footer{border-top:1px solid #e2e8f0;color:#94a3b8;font-size:10px;justify-content:space-between;margin-top:32px;padding-top:12px}.rpv-footer,.rpv-powered-by{align-items:center;display:flex}.rpv-powered-logo{height:36px;object-fit:contain;opacity:.7;width:auto}@media print{#root{display:none!important}.rpv-overlay{background:#fff!important;display:block!important;height:auto!important;min-height:0!important;overflow:visible!important;position:static!important;width:100%!important}.rpv-toolbar{display:none!important}.rpv-page{border-radius:0!important;box-shadow:none!important;height:auto!important;margin:0!important;max-width:100%!important;min-height:0!important;padding:20px 24px!important}.rpv-report-header{border-bottom-width:2px}.rpv-table th{background:#f8fafc!important}.rpv-article,.rpv-badge,.rpv-powered-by,.rpv-powered-logo,.rpv-table th,.rpv-tag,.rpv-temp-high,.rpv-temp-low,.rpv-weather-card,.rpv-weather-icon svg{-webkit-print-color-adjust:exact;print-color-adjust:exact}.rpv-sig-img{height:30px}.rpv-lightbox{display:none!important}.rpv-photos-section{page-break-inside:avoid}.rpv-photos{display:flex!important;flex-wrap:wrap!important;gap:10px!important}.rpv-photo-thumb{border:1px solid #ccc!important;border-radius:4px!important;height:165px!important;object-fit:cover!important;page-break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact;width:220px!important}.rpv-article{max-height:none!important;overflow:visible!important}.rpv-footer{margin-top:12px!important}.rpv-powered-logo{opacity:1!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}@page{size:letter;margin:.5in}}.safety-container{background:#f5f6fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1400px;min-height:100vh;padding:24px}.safety-header{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 4px #0000000f;display:flex;justify-content:space-between;margin-bottom:20px;padding:18px 24px}.safety-header h1{color:#1a1a2e;font-size:22px;font-weight:700;margin:0}.safety-header .header-actions{align-items:center;display:flex;gap:12px}.filter-group{align-items:center;display:flex;gap:8px}.filter-select{background:#f8f9fc;border:1px solid #e2e8f0;border-radius:8px;color:#333;min-width:180px;padding:8px 12px}.filter-select:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.safety-container .add-btn{background:#1a1a2e;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:9px 18px;transition:background .15s}.safety-container .add-btn:hover{background:#2d2d44}.safety-container .error-banner{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#b91c1c;display:flex;font-size:14px;justify-content:space-between;margin-bottom:16px;padding:10px 16px}.safety-container .error-dismiss{background:none;border:none;color:#b91c1c;cursor:pointer;font-size:20px;line-height:1;padding:0 4px}.safety-container .loading-state{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;display:flex;flex-direction:column;padding:60px 20px}.safety-container .loading-spinner{animation:trakend-pulse 1.4s ease-in-out infinite;background:url(/static/media/trakendsmalllogo.57b858c0f5168c7e3171.png) 50%/contain no-repeat;border:none;border-radius:0;height:40px;margin:0 auto 14px;width:120px}.safety-container .empty-state{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;display:flex;flex-direction:column;padding:60px 20px;text-align:center}.safety-container .empty-icon{font-size:40px;margin-bottom:12px;opacity:.5}.safety-container .empty-state h3{color:#333;font-size:18px;margin:0 0 6px}.safety-container .empty-state p{color:#888;font-size:14px;margin:0 0 20px}.safety-table-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 4px #0000000a;overflow:hidden}.safety-table{border-collapse:collapse;width:100%}.safety-table thead tr{background:#f8f9fc;border-bottom:2px solid #e2e8f0}.safety-table th{color:#8892a4;font-size:11px;font-weight:700;letter-spacing:.5px;padding:11px 14px;text-align:left;text-transform:uppercase;white-space:nowrap}.safety-table td{border-bottom:1px solid #f0f2f5;color:#333;font-size:14px;padding:12px 14px;vertical-align:middle}.report-row{cursor:pointer;transition:background .12s}.report-row:hover{background:#f7f8fb}.report-row.editing{background:#eef3ff}.report-title-text{color:#1a1a2e;font-weight:600}.safety-table .col-date{white-space:nowrap;width:10%}.safety-table .col-project{width:20%}.safety-table .col-title{width:25%}.safety-table .col-severity,.safety-table .col-status{width:10%}.safety-table .col-reporter{width:15%}.safety-table .col-actions{white-space:nowrap;width:8%}.severity-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;padding:3px 10px;text-transform:capitalize}.sev-low{background:#dcfce7;color:#166534}.sev-medium{background:#fef3c7;color:#92400e}.sev-high{background:#fed7aa;color:#c2410c}.sev-critical{background:#fecaca;color:#991b1b}.safety-table .status-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;padding:3px 10px}.stat-open{color:#1e40af}.stat-progress{background:#fef3c7;color:#92400e}.stat-closed{background:#e2e8f0}.safety-container .row-action-btn{align-items:center;background:none;border:1px solid #0000;border-radius:6px;color:#555;cursor:pointer;display:inline-flex;font-size:12px;font-weight:500;gap:4px;padding:5px 8px;transition:all .15s}.safety-container .row-action-btn.delete:hover{background:#fef2f2;border-color:#fca5a5;color:#dc2626}.safety-container .edit-row td{border-bottom:2px solid #c7d2fe;padding:0!important}.safety-container .inline-edit-form{background:#f8faff;border-top:1px solid #e0e7ff;padding:20px 24px}.safety-container .edit-form-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr 1fr 1fr}.safety-container .edit-field{display:flex;flex-direction:column}.safety-container .edit-field.full{grid-column:1/-1}.safety-container .edit-field label{color:#64748b;font-size:12px;font-weight:600;letter-spacing:.3px;margin-bottom:4px;text-transform:uppercase}.safety-container .edit-field input,.safety-container .edit-field select,.safety-container .edit-field textarea{background:#fff;border:1px solid #cbd5e1;border-radius:6px;box-sizing:border-box;color:#1e293b;font-size:14px;padding:9px 12px;transition:border-color .15s;width:100%}.safety-container .edit-field input:focus,.safety-container .edit-field select:focus,.safety-container .edit-field textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.safety-container .edit-field textarea{min-height:56px;resize:vertical}.safety-container .edit-actions{border-top:1px solid #e2e8f0;display:flex;gap:10px;justify-content:flex-end;margin-top:16px;padding-top:14px}.safety-container .btn{border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;padding:9px 20px;transition:all .15s}.safety-container .btn.primary{background:#1a1a2e;color:#fff}.safety-container .btn.primary:hover{background:#2d2d44}.safety-container .btn.primary:disabled{background:#94a3b8;cursor:not-allowed}.safety-container .btn.secondary{background:#eef0f4;color:#555}.safety-container .btn.secondary:hover{background:#e2e5ea}.safety-container .btn.danger{background:#dc2626;color:#fff}.safety-container .btn.danger:hover{background:#b91c1c}.safety-container .modal-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:10000}.safety-container .modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000002e;max-height:90vh;max-width:580px;overflow-y:auto;width:100%}.safety-container .modal-content.modal-sm{max-width:420px}.safety-container .modal-header{align-items:center;border-bottom:1px solid #f0f2f5;display:flex;justify-content:space-between;padding:20px 24px}.safety-container .modal-header h2{color:#1a1a2e;font-size:18px;font-weight:700;margin:0}.safety-container .close-btn{align-items:center;background:none;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;display:flex;font-size:22px;height:32px;justify-content:center;transition:all .15s;width:32px}.safety-container .close-btn:hover{background:#f1f5f9;color:#333}.safety-container .modal-form-body{padding:20px 24px}.safety-container .modal-footer{border-top:1px solid #f0f2f5;display:flex;gap:10px;justify-content:flex-end;padding:16px 24px}.safety-container .form-group{margin-bottom:16px}.safety-container .form-row{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr}.safety-container .form-group label{color:#475569;display:block;font-size:13px;font-weight:600;margin-bottom:5px}.safety-container .form-group input,.safety-container .form-group select,.safety-container .form-group textarea{border:1px solid #cbd5e1;border-radius:6px;box-sizing:border-box;font-size:14px;padding:9px 12px;transition:border-color .15s;width:100%}.safety-container .form-group input:focus,.safety-container .form-group select:focus,.safety-container .form-group textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.safety-container .form-group textarea{min-height:72px;resize:vertical}.safety-container .warning-text{color:#dc2626;font-size:13px;margin-top:6px}@media (max-width:1024px){.safety-table .col-reporter{display:none}.safety-container .edit-form-grid{grid-template-columns:1fr 1fr}}@media (max-width:768px){.safety-container{padding:14px}.safety-header{align-items:stretch;flex-direction:column;gap:12px}.safety-header .header-actions{justify-content:space-between}.safety-table .col-severity,.safety-table .col-status{display:none}.safety-container .edit-form-grid,.safety-container .form-row{grid-template-columns:1fr}.safety-container .modal-content{border-radius:10px 10px 0 0;margin:0;max-height:95vh}}.drawings-container{background:#f5f6fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1400px;min-height:100vh;padding:24px}.drawings-header{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 4px #0000000f;display:flex;justify-content:space-between;margin-bottom:20px;padding:18px 24px}.drawings-header h1{color:#1a1a2e;font-size:22px;font-weight:700;margin:0}.drawings-header-actions{align-items:center;display:flex;gap:10px}.drawings-header-actions .btn{border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;padding:9px 18px;transition:all .15s}.drawings-header-actions .btn-primary{background:#1a1a2e;color:#fff}.drawings-header-actions .btn-primary:hover{background:#2d2d44}.drawings-header-actions .btn-secondary{background:#eef0f4;color:#555}.drawings-header-actions .btn-secondary:hover{background:#e2e5ea}.drawings-no-project{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;display:flex;flex-direction:column;padding:80px 20px;text-align:center}.drawings-no-project .empty-icon{font-size:48px;margin-bottom:16px;opacity:.5}.drawings-no-project h3{color:#333;font-size:18px;margin:0 0 8px}.drawings-no-project p{color:#888;font-size:14px;margin:0}.drawings-loading{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;display:flex;flex-direction:column;padding:60px 20px}.drawings-loading .loading-spinner{animation:trakend-pulse 1.4s ease-in-out infinite;background:url(/static/media/trakendsmalllogo.57b858c0f5168c7e3171.png) 50%/contain no-repeat;height:40px;margin:0 auto 14px;width:120px}.discipline-tabs{background:#fff;border:1px solid #e2e8f0;border-radius:10px;display:flex;flex-wrap:wrap;gap:4px;margin-bottom:16px;overflow-x:auto;padding:6px}.discipline-tab{align-items:center;background:#0000;border:none;border-radius:6px;color:#666;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:8px 16px;transition:all .15s ease;white-space:nowrap}.discipline-tab:hover{background:#f1f5f9;color:#333}.discipline-tab.active{background:#1a1a2e;color:#fff}.discipline-tab .tab-count{background:#0000001a;border-radius:10px;font-size:11px;font-weight:600;padding:1px 7px}.discipline-tab.active .tab-count{background:#fff3}.sheets-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin-bottom:20px}.sheet-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;cursor:pointer;overflow:hidden;transition:all .15s}.sheet-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.sheet-card-thumb{align-items:center;background:#f0f2f5;display:flex;height:160px;justify-content:center;overflow:hidden;position:relative;width:100%}.sheet-card-thumb img{height:100%;object-fit:cover;width:100%}.sheet-card-thumb .no-thumb{font-size:48px;opacity:.3}.sheet-card-revision-badge{background:#1a1a2e;border-radius:4px;color:#fff;font-size:11px;font-weight:700;padding:2px 8px;position:absolute;right:8px;top:8px}.sheet-card-info{padding:12px}.sheet-card-number{color:#6366f1;font-size:12px;font-weight:700;letter-spacing:.3px;text-transform:uppercase}.sheet-card-title{color:#1a1a2e;font-size:14px;font-weight:600;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-card-meta{align-items:center;color:#888;display:flex;font-size:11px;gap:8px;margin-top:4px}.sheet-card-actions{border-top:1px solid #f0f2f5;display:flex;gap:4px;padding:8px 12px}.sheet-card-actions button{background:none;border:1px solid #e2e8f0;border-radius:4px;color:#666;cursor:pointer;flex:1 1;font-size:11px;padding:5px;transition:all .15s}.sheet-card-actions button:hover{background:#f1f5f9;color:#333}.sheet-card-actions button.danger:hover{background:#fef2f2;border-color:#fca5a5;color:#dc2626}.discipline-empty{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;display:flex;flex-direction:column;padding:50px 20px;text-align:center}.discipline-empty .empty-icon{font-size:36px;margin-bottom:10px;opacity:.4}.discipline-empty h3{color:#555;font-size:16px;margin:0 0 6px}.discipline-empty p{color:#999;font-size:13px;margin:0}.drawings-modal-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:10000}.drawings-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000002e;max-height:90vh;max-width:540px;overflow-y:auto;width:100%}.drawings-modal-header{align-items:center;border-bottom:1px solid #f0f2f5;display:flex;justify-content:space-between;padding:20px 24px}.drawings-modal-header h2{color:#1a1a2e;font-size:18px;font-weight:700;margin:0}.drawings-modal-close{align-items:center;background:none;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;display:flex;font-size:22px;height:32px;justify-content:center;width:32px}.drawings-modal-close:hover{background:#f1f5f9;color:#333}.drawings-modal-body{padding:20px 24px}.drawings-modal-footer{border-top:1px solid #f0f2f5;display:flex;gap:10px;justify-content:flex-end;padding:16px 24px}.drawings-form-group{margin-bottom:16px}.drawings-form-group label{color:#475569;display:block;font-size:13px;font-weight:600;margin-bottom:5px}.drawings-form-group input,.drawings-form-group select,.drawings-form-group textarea{border:1px solid #cbd5e1;border-radius:6px;box-sizing:border-box;font-size:14px;padding:9px 12px;transition:border-color .15s;width:100%}.drawings-form-group input:focus,.drawings-form-group select:focus,.drawings-form-group textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.drawings-form-row{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr}.file-drop-zone{background:#fafbfc;border:2px dashed #cbd5e1;border-radius:8px;cursor:pointer;padding:32px 20px;text-align:center;transition:all .15s}.file-drop-zone.drag-over,.file-drop-zone:hover{background:#f0f0ff;border-color:#6366f1}.file-drop-zone .drop-icon{font-size:32px;margin-bottom:8px;opacity:.5}.file-drop-zone p{color:#666;font-size:14px;margin:0}.file-drop-zone .drop-hint{color:#999;font-size:12px;margin-top:4px}.file-drop-zone .file-selected{color:#16a34a;font-weight:600}.drawing-viewer-overlay{background:#000000eb;display:flex;flex-direction:column;inset:0;position:fixed;z-index:20000}.drawing-viewer-toolbar{align-items:center;background:#1a1a2e;color:#fff;display:flex;flex-shrink:0;justify-content:space-between;padding:10px 20px}.drawing-viewer-toolbar .viewer-title{font-size:15px;font-weight:600}.drawing-viewer-toolbar .viewer-sheet-num{color:#8892a4;font-size:12px;margin-left:8px}.viewer-tools{gap:6px}.viewer-tool-btn,.viewer-tools{align-items:center;display:flex}.viewer-tool-btn{background:#ffffff1a;border:1px solid #ffffff26;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;gap:4px;padding:6px 12px;transition:all .15s}.viewer-tool-btn:hover{background:#fff3}.viewer-tool-btn.active{background:#6366f1;border-color:#6366f1}.viewer-tool-btn.close-viewer{background:#dc262633;border-color:#dc26264d}.viewer-tool-btn.close-viewer:hover{background:#dc262666}.viewer-tool-btn.calibrated{border-color:#22c55e66;color:#86efac}.viewer-tool-btn.needs-cal{border-color:#f59e0b66;color:#fcd34d}.viewer-tool-btn:disabled{cursor:not-allowed;opacity:.35}.tool-group{align-items:center;display:flex;gap:4px}.tool-divider{background:#444;display:inline-block;flex-shrink:0;height:20px;margin:0 4px;width:1px}.drawing-viewer-toolbar{flex-wrap:wrap;gap:6px}.viewer-tools{flex-wrap:wrap;gap:4px}.drawing-viewer-content{display:flex;flex:1 1;overflow:hidden;position:relative}.drawing-viewer-canvas{background:#2a2a2a;flex:1 1;overflow:auto;padding:20px;position:relative}.drawing-viewer-canvas img{display:block;transition:transform .15s;-webkit-user-select:none;user-select:none}.overlay-image{height:100%;left:0;mix-blend-mode:difference;object-fit:contain;pointer-events:none;position:absolute;top:0;width:100%}.rev-overlay-btn{background:#6366f126;border:1px solid #6366f14d;border-radius:4px;color:#a5b4fc;cursor:pointer;display:block;font-size:11px;margin-top:6px;padding:4px 8px;transition:all .15s;width:100%}.rev-overlay-btn:hover{background:#6366f140}.rev-overlay-btn.active{background:#6366f1;border-color:#6366f1;color:#fff}.sheet-list-sidebar{background:#1a1a2e;border-right:1px solid #333;display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto;width:240px}.sheet-list-sidebar h3{color:#fff;flex-shrink:0;font-size:13px;font-weight:700;letter-spacing:.5px;margin:0;padding:14px 14px 10px;text-transform:uppercase}.sheet-list-items{flex:1 1;overflow-y:auto;padding:0 8px 8px}.sheet-list-item{align-items:center;border:1px solid #0000;border-radius:6px;cursor:pointer;display:flex;gap:8px;margin-bottom:2px;padding:6px 8px;transition:all .12s}.sheet-list-item:hover{background:#ffffff0d}.sheet-list-item.current{background:#6366f126;border-color:#6366f14d}.sheet-list-thumb{align-items:center;background:#2a2a3a;border-radius:4px;display:flex;flex-shrink:0;font-size:16px;height:36px;justify-content:center;overflow:hidden;width:48px}.sheet-list-thumb img{height:100%;object-fit:cover;width:100%}.sheet-list-info{flex:1 1;min-width:0}.sheet-list-num{color:#fff;font-size:12px;font-weight:700}.sheet-list-num,.sheet-list-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-list-title{color:#8892a4;font-size:11px}.revision-sidebar{background:#1e1e2e;border-left:1px solid #333;flex-shrink:0;overflow-y:auto;padding:16px;width:280px}.revision-sidebar h3{color:#fff;font-size:14px;font-weight:700;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.revision-item{border:1px solid #0000;border-radius:6px;cursor:pointer;margin-bottom:6px;padding:10px 12px;transition:all .15s}.revision-item:hover{background:#ffffff0d}.revision-item.current{background:#6366f126;border-color:#6366f14d}.revision-item .rev-label{color:#fff;font-size:13px;font-weight:700}.revision-item .rev-date{color:#8892a4;font-size:11px;margin-top:2px}.revision-item .rev-desc{color:#aaa;font-size:12px;margin-top:3px}.revision-item .rev-current-badge{background:#6366f1;border-radius:3px;color:#fff;display:inline-block;font-size:10px;font-weight:700;margin-left:6px;padding:1px 6px}.measure-panel{align-items:center;background:#1a1a2ef2;border-radius:10px;bottom:20px;box-shadow:0 4px 20px #0006;color:#fff;display:flex;font-size:13px;gap:12px;left:50%;padding:10px 16px;position:absolute;transform:translateX(-50%)}.measure-panel .measure-value{color:#6366f1;font-size:18px;font-weight:700}.measure-panel .measure-label{color:#8892a4;font-size:11px}.drawings-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#b91c1c;justify-content:space-between}.drawings-error,.drawings-success{align-items:center;display:flex;font-size:14px;margin-bottom:16px;padding:10px 16px}.drawings-success{background:#dcfce7;border:1px solid #86efac;border-radius:8px;color:#166534;gap:8px}.main-tab-bar{border-bottom:2px solid #e2e8f0;display:flex;gap:0;margin-bottom:16px}.main-tab{background:none;border:none;border-bottom:2px solid #0000;color:#64748b;cursor:pointer;font-size:14px;font-weight:600;margin-bottom:-2px;padding:10px 24px;transition:all .15s}.main-tab:hover{color:#334155}.main-tab.active{border-bottom-color:#6366f1;color:#6366f1}.cad-file-list{overflow-x:auto}.cad-table{border-collapse:collapse;font-size:13px;width:100%}.cad-table thead th{background:#f8fafc;border-bottom:2px solid #e2e8f0;color:#64748b;font-size:11px;font-weight:700;letter-spacing:.5px;padding:10px 12px;text-align:left;text-transform:uppercase;white-space:nowrap}.cad-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background .1s}.cad-table tbody tr:hover{background:#f8fafc}.cad-table td{padding:10px 12px;vertical-align:middle}.cad-type-badge{align-items:center;background:#eef2ff;border-radius:4px;color:#4338ca;display:inline-flex;font-size:11px;font-weight:700;gap:4px;padding:3px 8px;white-space:nowrap}.cad-title{color:#1e293b;font-weight:600;max-width:200px}.cad-filename,.cad-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cad-filename{color:#64748b;font-size:12px;max-width:180px}.cad-uploader{color:#94a3b8;font-size:11px}.cad-actions{display:flex;gap:6px}.btn-sm{background:#fff;border:1px solid #e2e8f0;border-radius:4px;cursor:pointer;font-size:12px;padding:4px 10px;transition:all .15s}.btn-sm:hover{background:#f1f5f9}.btn-sm.danger{border-color:#fecaca;color:#dc2626}.btn-sm.danger:hover{background:#fef2f2}.drop-hint{color:#94a3b8;font-size:11px;margin-top:4px}.upload-progress-container{padding:12px 24px 4px}.upload-progress-bar{background:#e2e8f0;border-radius:4px;height:8px;overflow:hidden;width:100%}.upload-progress-fill{background:linear-gradient(90deg,#6366f1,#818cf8);border-radius:4px;height:100%;position:relative;transition:width .2s ease}.upload-progress-fill:after{animation:progress-shimmer 1.5s infinite;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes progress-shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.upload-progress-label{align-items:center;color:#6366f1;display:flex;font-size:12px;font-weight:600;gap:8px;margin-top:6px;padding-bottom:4px}.processing-spinner{animation:spin .8s linear infinite;border:2px solid #e2e8f0;border-radius:50%;border-top-color:#6366f1;display:inline-block;height:14px;width:14px}.modal-wide{max-width:900px}.package-pages-list{display:flex;flex-direction:column;gap:12px}.package-page-row{background:#f9fafb;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:16px;padding:14px;transition:all .15s}.package-page-row:hover{border-color:#cbd5e1}.package-page-row.skipped{background:#f1f1f1;opacity:.4}.package-page-thumb{align-items:center;display:flex;flex-direction:column;gap:4px;min-width:180px;width:180px}.package-page-thumb img{height:auto;max-height:220px;object-fit:contain;width:180px}.package-page-thumb .no-thumb,.package-page-thumb img{background:#fff;border:1px solid #e2e8f0;border-radius:4px}.package-page-thumb .no-thumb{align-items:center;display:flex;font-size:36px;height:100px;justify-content:center;width:140px}.package-page-num{color:#6366f1;font-size:11px;font-weight:700}.package-page-thumb{cursor:pointer;position:relative}.package-page-thumb:hover img{border-color:#6366f1;box-shadow:0 0 0 2px #6366f133}.thumb-footer{align-items:center;display:flex;justify-content:space-between}.thumb-zoom-hint{font-size:12px;opacity:0;transition:opacity .15s}.package-page-thumb:hover .thumb-zoom-hint{opacity:1}.auto-badge{background:#22c55e}.auto-badge,.revision-badge{border-radius:3px;color:#fff;font-size:9px;font-weight:800;letter-spacing:.5px;padding:2px 5px;position:absolute;right:4px;top:4px}.revision-badge{background:#3b82f6}.package-page-row.revision-match{background:#eff6ff;border-color:#93c5fd}.revision-match-info{background:#dbeafe;border-radius:4px;color:#1d4ed8;flex-shrink:0;font-size:12px;margin-bottom:4px;padding:6px 10px;width:100%}.package-page-fields{display:flex;flex:1 1;flex-direction:column;justify-content:center}.page-preview-overlay{align-items:center;background:#000000d9;display:flex;flex-direction:column;inset:0;position:fixed;z-index:10000}.page-preview-toolbar{align-items:center;background:#1e293b;color:#fff;display:flex;flex-shrink:0;justify-content:space-between;padding:10px 20px;width:100%}.page-preview-canvas{align-items:center;display:flex;flex:1 1;justify-content:center;overflow:hidden;-webkit-user-select:none;user-select:none;width:100%}.page-preview-canvas img{max-height:85vh;transition:transform .05s linear}.page-preview-hint{color:#94a3b8;flex-shrink:0;font-size:12px;padding:8px}.cal-click-overlay{background:#0000;left:0;min-height:100%;min-width:100%;position:absolute;top:0;z-index:10}.cal-markers{height:100%;left:0;overflow:visible;pointer-events:none;position:absolute;top:0;width:100%}.bulk-action-bar{align-items:center;background:#eef2ff;border:1px solid #c7d2fe;border-radius:8px;display:flex;gap:16px;margin-bottom:12px;padding:10px 16px}.bulk-select-all{align-items:center;color:#4338ca;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;-webkit-user-select:none;user-select:none}.bulk-select-all input[type=checkbox]{accent-color:#6366f1;cursor:pointer;height:16px;width:16px}.bulk-count{color:#6366f1;font-size:13px;font-weight:600}.bulk-actions{display:flex;gap:8px;margin-left:auto}.btn-danger{background:#dc2626;border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;padding:7px 16px;transition:background .15s}.btn-danger:hover{background:#b91c1c}.btn-danger:disabled{background:#fca5a5;cursor:not-allowed}.sheet-card.selected{background:#eef2ff;outline:2px solid #6366f1;outline-offset:-2px}.sheet-card-checkbox{background:#fff;border-radius:4px;box-shadow:0 1px 3px #00000026;cursor:pointer;left:8px;padding:2px;position:absolute;top:8px;z-index:2}.sheet-card-checkbox input[type=checkbox]{accent-color:#6366f1;cursor:pointer;display:block;height:18px;width:18px}.sheet-card{position:relative}@media (max-width:768px){.drawings-container{padding:14px}.drawings-header{align-items:stretch;flex-direction:column;gap:12px}.sheets-grid{gap:10px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.revision-sidebar{width:220px}.drawings-form-row{grid-template-columns:1fr}.discipline-tabs{flex-wrap:wrap}}.cp-container{max-width:960px;padding:24px 32px}.cp-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.cp-header h1{color:#1e293b;font-size:22px;font-weight:700;margin:0}.cp-header-sub{color:#64748b;font-size:13px;margin:4px 0 0}.cp-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626}.cp-error,.cp-success{align-items:center;display:flex;font-size:13px;justify-content:space-between;margin-bottom:16px;padding:10px 16px}.cp-success{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;color:#16a34a}.cp-error button,.cp-success button{background:none;border:none;color:inherit;cursor:pointer;font-size:16px;padding:0 0 0 12px}.cp-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:20px;padding:24px}.cp-card-title{color:#1e293b;font-size:15px;font-weight:700;margin:0 0 4px}.cp-card-desc{color:#94a3b8;font-size:12px;margin:0 0 20px}.cp-logo-section{align-items:center;display:flex;gap:24px}.cp-logo-preview-wrap{flex-shrink:0;position:relative}.cp-logo-preview{background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;flex-shrink:0;max-height:96px;max-width:200px;object-fit:contain}.cp-logo-dims{background:#eef2ff;border-radius:4px;color:#6366f1;display:block;font-size:10px;font-weight:600;margin-top:4px;padding:2px 6px;text-align:center}.cp-logo-placeholder{align-items:center;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:12px;color:#94a3b8;display:flex;flex-shrink:0;font-size:11px;height:96px;justify-content:center;line-height:1.3;text-align:center;width:96px}.cp-logo-controls{display:flex;flex-direction:column;gap:8px}.cp-logo-controls p{color:#64748b;font-size:12px;margin:0}.cp-form-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.cp-form-grid .full{grid-column:1/-1}.cp-field{display:flex;flex-direction:column;gap:4px}.cp-field label{color:#475569;font-size:12px;font-weight:600;letter-spacing:.02em}.cp-field input,.cp-field select{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#1e293b;font-size:13px;outline:none;padding:9px 12px;transition:border-color .15s,box-shadow .15s}.cp-field input:focus,.cp-field select:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.cp-field input:disabled{background:#f8fafc;color:#94a3b8}.cp-field .cp-field-hint{color:#94a3b8;font-size:11px;margin:0}.cp-btn{align-items:center;border:1px solid #0000;border-radius:8px;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:9px 18px;transition:all .15s}.cp-btn.primary{background:#6366f1;border-color:#6366f1;color:#fff}.cp-btn.primary:hover{background:#4f46e5}.cp-btn.primary:disabled{background:#a5b4fc;border-color:#a5b4fc;cursor:not-allowed}.cp-btn.secondary{background:#fff;border-color:#e2e8f0;color:#475569}.cp-btn.secondary:hover{background:#f8fafc;border-color:#cbd5e1}.cp-btn.danger{background:#fff;border-color:#fecaca;color:#dc2626}.cp-btn.danger:hover{background:#fef2f2}.cp-btn.sm{font-size:12px;padding:6px 12px}.cp-actions{border-top:1px solid #f1f5f9;gap:10px;justify-content:flex-end;margin-top:20px;padding-top:16px}.cp-actions,.cp-loading{align-items:center;display:flex}.cp-loading{color:#64748b;flex-direction:column;font-size:14px;gap:12px;justify-content:center;padding:60px 20px}.cp-spinner{animation:trakend-pulse 1.4s ease-in-out infinite;background:url(/static/media/trakendsmalllogo.57b858c0f5168c7e3171.png) 50%/contain no-repeat;border:none;border-radius:0;height:40px;width:120px}.cp-info-row{display:flex;flex-wrap:wrap;gap:32px;margin-bottom:16px}.cp-info-item{display:flex;flex-direction:column;gap:2px}.cp-info-label{color:#94a3b8;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.cp-info-value{color:#1e293b;font-size:13px;font-weight:500}.cp-crop-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:1000}.cp-crop-modal{background:#fff;border-radius:14px;box-shadow:0 24px 48px #0003;display:flex;flex-direction:column;max-width:540px;overflow:hidden;width:100%}.cp-crop-header{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;padding:16px 20px}.cp-crop-header h3{color:#1e293b;font-size:16px;font-weight:700;margin:0}.cp-crop-close{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:22px;line-height:1;padding:0}.cp-crop-close:hover{color:#1e293b}.cp-crop-area{background:#1e293b;height:360px;position:relative;width:100%}.cp-crop-controls{border-top:1px solid #f1f5f9;display:flex;flex-direction:column;gap:12px;padding:16px 20px}.cp-crop-slider-group{align-items:center;display:flex;gap:12px}.cp-crop-slider-group label{color:#475569;font-size:12px;font-weight:600;min-width:72px}.cp-crop-slider-group span{color:#64748b;font-size:12px;min-width:44px;text-align:right}.cp-crop-slider{-webkit-appearance:none;appearance:none;background:#e2e8f0;border-radius:3px;flex:1 1;height:6px;outline:none}.cp-crop-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#6366f1;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 4px #0003;cursor:pointer;height:18px;width:18px}.cp-crop-slider::-moz-range-thumb{background:#6366f1;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 4px #0003;cursor:pointer;height:18px;width:18px}.cp-crop-select{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#1e293b;font-size:12px;outline:none;padding:6px 10px}.cp-crop-select:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.cp-aspect-btns{display:flex;flex:1 1;flex-wrap:wrap;gap:6px}.cp-aspect-btn{background:#fff;border:1.5px solid #e2e8f0;border-radius:6px;color:#475569;cursor:pointer;font-size:11px;font-weight:600;padding:4px 10px;transition:all .15s}.cp-aspect-btn:hover{border-color:#6366f1;color:#6366f1}.cp-aspect-btn.active{background:#6366f1;border-color:#6366f1;color:#fff}.cp-crop-actions{display:flex;gap:10px;justify-content:flex-end;padding:12px 20px 16px}.cp-tabs{border-bottom:2px solid #e2e8f0;display:flex;gap:0;margin-bottom:24px}.cp-tab{background:#0000;border:none;border-bottom:2px solid #0000;color:#64748b;cursor:pointer;font-size:14px;font-weight:600;margin-bottom:-2px;padding:10px 24px;transition:all .15s}.cp-tab:hover{color:#334155}.cp-tab.active{border-bottom-color:#6366f1;color:#6366f1}.billing-plan-card{align-items:center;background:linear-gradient(135deg,#f0f0ff,#f8fafc);border:1px solid #e0e7ff;border-radius:12px;display:flex;gap:24px;margin-bottom:20px;padding:20px}.billing-plan-icon{align-items:center;background:linear-gradient(135deg,#6366f1,#4f46e5);border-radius:14px;display:flex;flex-shrink:0;height:56px;justify-content:center;width:56px}.billing-plan-info{flex:1 1}.billing-plan-name{color:#1e293b;font-size:18px;font-weight:700;margin:0}.billing-plan-meta{color:#64748b;font-size:13px;margin:4px 0 0}.billing-plan-price{flex-shrink:0;text-align:right}.billing-plan-price .price-amount{color:#1e293b;font-size:24px;font-weight:700}.billing-plan-price .price-cycle{color:#64748b;font-size:12px}.billing-trial-banner{align-items:center;background:linear-gradient(135deg,#ecfdf5,#f0fdf4);border:1px solid #86efac;border-radius:12px;display:flex;gap:16px;margin-bottom:20px;padding:16px 20px}.billing-trial-banner.expiring{background:linear-gradient(135deg,#fffbeb,#fef9c3);border-color:#fde68a}.billing-trial-banner.expired{background:linear-gradient(135deg,#fef2f2,#fff1f2);border-color:#fecaca}.billing-trial-icon{align-items:center;background:#16a34a;border-radius:50%;display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.billing-trial-banner.expiring .billing-trial-icon{background:#d97706}.billing-trial-banner.expired .billing-trial-icon{background:#dc2626}.billing-trial-info h4{color:#1e293b;font-size:14px;font-weight:700;margin:0 0 2px}.billing-trial-info p{color:#64748b;font-size:12px;margin:0}.billing-trial-days{flex-shrink:0;text-align:right}.billing-trial-days .days-number{color:#16a34a;font-size:28px;font-weight:700}.billing-trial-banner.expiring .billing-trial-days .days-number{color:#d97706}.billing-trial-banner.expired .billing-trial-days .days-number{color:#dc2626}.billing-trial-days .days-label{color:#64748b;font-size:11px;font-weight:600;text-transform:uppercase}.billing-stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:20px}.billing-stat{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:16px;text-align:center}.billing-stat .stat-label{color:#94a3b8;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.billing-stat .stat-value{color:#1e293b;font-size:22px;font-weight:700;margin-top:4px}.billing-payment-stub{align-items:center;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:12px;display:flex;gap:16px;margin-bottom:20px;padding:20px}.billing-payment-stub p{color:#64748b;font-size:13px;margin:0}.billing-payment-stub .stub-title{color:#1e293b;font-size:14px;font-weight:700;margin:0 0 4px}.billing-payments-table{border-collapse:collapse;width:100%}.billing-payments-table th{background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#94a3b8;font-size:11px;font-weight:700;letter-spacing:.5px;padding:10px 14px;text-align:left;text-transform:uppercase}.billing-payments-table td{border-bottom:1px solid #f1f5f9;color:#334155;font-size:13px;padding:10px 14px}.billing-payments-table tr:last-child td{border-bottom:none}.billing-empty{color:#94a3b8;font-size:13px;padding:40px 20px;text-align:center}.billing-plans-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin-top:16px}.billing-plan-option{background:#fff;border:2px solid #e2e8f0;border-radius:10px;cursor:pointer;padding:16px;transition:all .15s}.billing-plan-option:hover{border-color:#6366f1;box-shadow:0 2px 8px #6366f11a}.billing-plan-option.selected{background:#f0f0ff;border-color:#6366f1}.billing-plan-option.current{background:#f0fdf4;border-color:#16a34a}.billing-plan-option h4{color:#1e293b;font-size:15px;font-weight:700;margin:0 0 4px}.billing-plan-option .plan-desc{color:#64748b;font-size:12px;margin:0 0 8px}.billing-plan-option .plan-price{color:#6366f1;font-size:18px;font-weight:700}.billing-plan-option .plan-seats{color:#64748b;font-size:12px}@media (max-width:640px){.cp-container{padding:16px}.cp-form-grid{grid-template-columns:1fr}.cp-logo-section{align-items:flex-start;flex-direction:column}.cp-crop-area{height:260px}.cp-crop-modal{max-width:100%}}.jha-container{background:#f5f6fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1400px;min-height:100vh;padding:24px}.jha-header{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 4px #0000000f;display:flex;justify-content:space-between;margin-bottom:20px;padding:18px 24px}.jha-header h1{color:#1a1a2e;font-size:22px;font-weight:700;margin:0}.jha-container .header-actions{align-items:center;display:flex;gap:12px}.jha-container .filter-group{display:flex;gap:8px}.jha-container .filter-select{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;font-size:13px;min-width:130px;padding:8px 14px}.jha-container .filter-select:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a;outline:none}.jha-container .add-btn{background:#1a1a2e;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:10px 20px;transition:background .15s;white-space:nowrap}.jha-container .add-btn:hover{background:#2d2d44}.jha-table-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 4px #0000000f;overflow-x:auto}.jha-table{border-collapse:collapse;font-size:13px;width:100%}.jha-table thead th{background:#f8fafc;border-bottom:2px solid #e2e8f0;color:#64748b;font-size:11px;font-weight:600;letter-spacing:.5px;padding:12px 14px;text-align:left;text-transform:uppercase;white-space:nowrap}.jha-table tbody td{border-bottom:1px solid #f1f5f9;padding:12px 14px;vertical-align:middle}.jha-row{cursor:pointer;transition:background .1s}.jha-row:hover{background:#f8fafc}.jha-row.editing{background:#fffbeb}.jha-container .status-badge{border-radius:12px;display:inline-block;font-size:11px;font-weight:600;padding:3px 10px;white-space:nowrap}.jha-stat-draft{background:#f1f5f9;color:#64748b}.jha-stat-pending{background:#fef3c7;color:#d97706}.jha-stat-approved{background:#dcfce7;color:#16a34a}.jha-stat-rejected{background:#fef2f2;color:#dc2626}.jha-tag-list{display:flex;flex-wrap:wrap;gap:4px}.jha-tag{background:#f1f5f9;border-radius:3px;color:#475569;display:inline-block;font-size:10px;font-weight:600;padding:2px 6px}.jha-hazard-count{align-items:center;border-radius:11px;display:inline-flex;font-size:11px;font-weight:700;height:22px;justify-content:center;min-width:22px;padding:0 6px}.jha-hazard-count.has-items{background:#fef3c7;color:#d97706}.jha-hazard-count.none{background:#f1f5f9;color:#94a3b8}.jha-signin-count{color:#6366f1;font-size:12px;font-weight:600}.jha-container .row-action-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;display:inline-flex;height:30px;justify-content:center;transition:all .15s;width:30px}.jha-container .row-action-btn.delete:hover{background:#fef2f2;color:#dc2626}.jha-container .edit-row td{background:#fffdf7;border-bottom:2px solid #f59e0b;padding:0}.jha-container .inline-edit-form{padding:20px 24px}.jha-container .edit-form-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr 1fr}.jha-container .edit-field{display:flex;flex-direction:column}.jha-container .edit-field.full{grid-column:1/-1}.jha-container .edit-field.half{grid-column:span 2}.jha-container .edit-field label{color:#64748b;font-size:11px;font-weight:600;letter-spacing:.3px;margin-bottom:4px;text-transform:uppercase}.jha-container .edit-field input,.jha-container .edit-field select,.jha-container .edit-field textarea{border:1px solid #e2e8f0;border-radius:6px;font-size:13px;padding:8px 12px;transition:border-color .15s}.jha-container .edit-field input:focus,.jha-container .edit-field select:focus,.jha-container .edit-field textarea:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a;outline:none}.jha-container .edit-field textarea{min-height:60px;resize:vertical}.jha-container .edit-actions{border-top:1px solid #e2e8f0;display:flex;gap:10px;justify-content:flex-end;margin-top:16px;padding-top:14px}.jha-section-title{align-items:center;border-bottom:2px solid #f59e0b;color:#1e293b;display:flex;font-size:13px;font-weight:700;gap:6px;margin:18px 0 10px;padding-bottom:6px}.jha-section-title svg{color:#f59e0b}.jha-checklist-grid{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.jha-checklist-item{align-items:center;border-radius:6px;color:#475569;cursor:pointer;display:flex;font-size:12px;gap:6px;padding:5px 8px;transition:background .1s}.jha-checklist-item:hover{background:#f8fafc}.jha-checklist-item input[type=checkbox]{accent-color:#f59e0b;cursor:pointer;height:16px;width:16px}.jha-checklist-item.checked{background:#fffbeb;color:#1e293b;font-weight:500}.jha-equipment-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:10px;padding:12px 14px}.jha-equip-header{align-items:center;display:flex;gap:8px;margin-bottom:10px}.jha-equip-desc{background:#fff;border:1px solid #e2e8f0;border-radius:6px;flex:1 1;font-size:13px;font-weight:600;padding:8px 12px}.jha-equip-desc:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a;outline:none}.jha-equip-checks{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin-bottom:8px}.jha-equip-check{align-items:center;border-radius:5px;color:#64748b;cursor:pointer;display:flex;font-size:12px;gap:6px;padding:4px 8px;transition:background .1s}.jha-equip-check:hover{background:#fff}.jha-equip-check.checked{background:#f0fdf4;color:#16a34a;font-weight:600}.jha-equip-check input[type=checkbox]{accent-color:#16a34a;cursor:pointer;height:15px;width:15px}.jha-equip-notes{background:#fff;border:1px solid #e2e8f0;border-radius:5px;box-sizing:border-box;color:#475569;font-size:12px;padding:7px 10px;width:100%}.jha-equip-notes:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a;outline:none}.jha-signin-list{display:flex;flex-direction:column;gap:10px;margin-top:8px}.jha-signin-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px 14px}.jha-signin-row{align-items:flex-end;display:flex;gap:10px;margin-bottom:8px}.jha-signin-field{display:flex;flex:1 1;flex-direction:column}.jha-signin-field label{color:#64748b;font-size:10px;font-weight:600;letter-spacing:.3px;margin-bottom:3px;text-transform:uppercase}.jha-signin-field input{background:#fff;border:1px solid #e2e8f0;border-radius:5px;box-sizing:border-box;font-size:13px;padding:7px 10px}.jha-signin-field input:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a;outline:none}.jha-signin-sig{min-height:30px}.jha-signin-sig>label{color:#64748b;display:block;font-size:10px;font-weight:600;letter-spacing:.3px;margin-bottom:4px;text-transform:uppercase}.jha-sig-wrap{align-items:flex-end;display:flex;gap:8px}.jha-sig-canvas{background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:crosshair;height:70px;max-width:300px;touch-action:none;width:100%}.jha-sig-clear{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:5px;color:#94a3b8;cursor:pointer;font-size:11px;font-weight:600;padding:4px 10px;white-space:nowrap}.jha-sig-clear:hover{background:#fef2f2;border-color:#fecaca;color:#dc2626}.jha-sig-preview{align-items:flex-end;display:flex;gap:8px}.jha-sig-preview img{background:#fff;border:1px solid #d1d5db;border-radius:6px;height:70px;max-width:300px;object-fit:contain}.jha-add-worker-btn{align-items:center;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;color:#f59e0b;cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:4px;margin-top:8px;padding:6px 14px;transition:all .15s}.jha-add-worker-btn:hover{background:#fef3c7}.jha-remove-worker{align-items:center;background:#0000;border:none;border-radius:4px;color:#94a3b8;cursor:pointer;display:flex;font-size:14px;height:24px;justify-content:center;width:24px}.jha-remove-worker:hover{background:#fef2f2;color:#dc2626}.jha-container .btn{border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;padding:9px 20px;transition:all .15s}.jha-container .btn.primary{background:#1a1a2e;color:#fff}.jha-container .btn.primary:hover{background:#2d2d44}.jha-container .btn.primary:disabled{cursor:not-allowed;opacity:.5}.jha-container .btn.secondary{background:#f1f5f9;color:#475569}.jha-container .btn.secondary:hover{background:#e2e8f0}.jha-container .btn.danger{background:#dc2626;color:#fff}.jha-container .btn.danger:hover{background:#b91c1c}.jha-container .modal-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:9999}.jha-container .modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0003;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.jha-container .modal-content.modal-lg{max-width:800px}.jha-container .modal-content.modal-sm{max-width:420px}.jha-container .modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:18px 24px}.jha-container .modal-header h2{color:#1a1a2e;font-size:18px;font-weight:700;margin:0}.jha-container .close-btn{align-items:center;background:#f1f5f9;border:none;border-radius:8px;color:#64748b;cursor:pointer;display:flex;font-size:18px;height:32px;justify-content:center;width:32px}.jha-container .close-btn:hover{background:#e2e8f0}.jha-container .modal-form-body{padding:20px 24px}.jha-container .form-row{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr;margin-bottom:14px}.jha-container .form-row.three{grid-template-columns:1fr 1fr 1fr}.jha-container .form-group{margin-bottom:14px}.jha-container .form-group label{color:#475569;display:block;font-size:12px;font-weight:600;margin-bottom:5px}.jha-container .form-group input,.jha-container .form-group select,.jha-container .form-group textarea{border:1px solid #e2e8f0;border-radius:8px;box-sizing:border-box;font-size:13px;padding:9px 12px;width:100%}.jha-container .form-group input:focus,.jha-container .form-group select:focus,.jha-container .form-group textarea:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a;outline:none}.jha-container .form-group textarea{min-height:72px;resize:vertical}.jha-container .modal-footer{border-top:1px solid #e2e8f0;display:flex;gap:10px;justify-content:flex-end;padding:16px 24px}.jha-container .warning-text{color:#dc2626;font-size:13px;margin-top:6px}.jha-container .empty-state,.jha-container .loading-state{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:60px 20px;text-align:center}.jha-container .loading-spinner{animation:trakend-pulse 1.4s ease-in-out infinite;background:url(/static/media/trakendsmalllogo.57b858c0f5168c7e3171.png) 50%/contain no-repeat;border:none;border-radius:0;height:40px;margin:0 auto 16px;width:120px}.jha-container .empty-icon{font-size:40px;margin-bottom:10px}.jha-container .empty-state h3{color:#1e293b;margin:0 0 6px}.jha-container .empty-state p{color:#94a3b8;margin:0 0 16px}.jha-container .error-banner{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;font-size:13px;justify-content:space-between;margin-bottom:16px;padding:10px 16px}.jha-container .error-dismiss{background:none;border:none;color:#dc2626;cursor:pointer;font-size:18px}@media (max-width:1024px){.jha-container .edit-form-grid{grid-template-columns:1fr 1fr}.jha-checklist-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}@media (max-width:768px){.jha-container{padding:14px}.jha-header{align-items:stretch;flex-direction:column;gap:12px}.jha-container .header-actions{justify-content:space-between}.jha-container .edit-form-grid,.jha-container .form-row,.jha-container .form-row.three{grid-template-columns:1fr}.jha-checklist-grid{grid-template-columns:1fr 1fr}.jha-container .modal-content{border-radius:10px 10px 0 0;margin:0;max-height:95vh}}.tbt-container{background:#f5f6fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1400px;min-height:100vh;padding:24px}.tbt-header{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 4px #0000000f;display:flex;justify-content:space-between;margin-bottom:20px;padding:18px 24px}.tbt-header h1{color:#1a1a2e;font-size:22px;font-weight:700;margin:0}.tbt-container .header-actions{align-items:center;display:flex;gap:12px}.tbt-container .add-btn{background:#1a1a2e;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:10px 20px;transition:background .15s;white-space:nowrap}.tbt-container .add-btn:hover{background:#2d2d44}.tbt-table-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 4px #0000000f;overflow-x:auto}.tbt-table{border-collapse:collapse;font-size:13px;width:100%}.tbt-table thead th{background:#f8fafc;border-bottom:2px solid #e2e8f0;color:#64748b;font-size:11px;font-weight:600;letter-spacing:.5px;padding:12px 14px;text-align:left;text-transform:uppercase;white-space:nowrap}.tbt-table tbody td{border-bottom:1px solid #f1f5f9;padding:12px 14px;vertical-align:middle}.tbt-row{cursor:pointer;transition:background .1s}.tbt-row:hover{background:#f8fafc}.tbt-row.editing{background:#fffbeb}.tbt-cat-badge{background:#f1f5f9;border-radius:4px;color:#475569;display:inline-block;font-size:11px;font-weight:600;padding:2px 8px}.tbt-attendee-count{color:#6366f1;font-size:12px;font-weight:600}.tbt-container .row-action-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;display:inline-flex;height:30px;justify-content:center;transition:all .15s;width:30px}.tbt-container .row-action-btn.delete:hover{background:#fef2f2;color:#dc2626}.tbt-container .edit-row td{background:#fffdf7;border-bottom:2px solid #f59e0b;padding:0}.tbt-container .inline-edit-form{padding:20px 24px}.tbt-container .edit-form-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr 1fr}.tbt-container .edit-field{display:flex;flex-direction:column}.tbt-container .edit-field.full{grid-column:1/-1}.tbt-container .edit-field label{color:#64748b;font-size:11px;font-weight:600;letter-spacing:.3px;margin-bottom:4px;text-transform:uppercase}.tbt-container .edit-field input,.tbt-container .edit-field select,.tbt-container .edit-field textarea{border:1px solid #e2e8f0;border-radius:6px;font-size:13px;padding:8px 12px;transition:border-color .15s}.tbt-container .edit-field input:focus,.tbt-container .edit-field select:focus,.tbt-container .edit-field textarea:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a;outline:none}.tbt-container .edit-field textarea{min-height:60px;resize:vertical}.tbt-container .edit-actions{border-top:1px solid #e2e8f0;display:flex;gap:10px;justify-content:flex-end;margin-top:16px;padding-top:14px}.tbt-section-title{align-items:center;border-bottom:2px solid #f59e0b;color:#1e293b;display:flex;font-size:13px;font-weight:700;gap:6px;margin:18px 0 10px;padding-bottom:6px}.tbt-section-title svg{color:#f59e0b}.tbt-topic-picker{margin-top:8px}.tbt-topic-filters{display:flex;gap:10px;margin-bottom:10px}.tbt-cat-select{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;color:#475569;cursor:pointer;font-size:13px;min-width:180px;padding:8px 12px}.tbt-cat-select:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a;outline:none}.tbt-topic-search{border:1px solid #e2e8f0;border-radius:6px;flex:1 1;font-size:13px;padding:8px 12px}.tbt-topic-search:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a;outline:none}.tbt-topic-grid{grid-gap:6px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:grid;gap:6px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));max-height:260px;overflow-y:auto;padding:4px}.tbt-topic-btn{align-items:flex-start;background:#fff;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;display:flex;flex-direction:column;padding:8px 10px;text-align:left;transition:all .15s}.tbt-topic-btn:hover{background:#fffbeb;border-color:#f59e0b}.tbt-topic-btn.selected{background:#fef3c7;border-color:#f59e0b;box-shadow:0 0 0 2px #f59e0b33}.tbt-topic-cat{color:#94a3b8;font-size:9px;font-weight:700;letter-spacing:.5px;margin-bottom:2px;text-transform:uppercase}.tbt-topic-name{color:#1e293b;font-size:12px;font-weight:600}.tbt-article{background:#fff;border:1px solid #e2e8f0;border-left:4px solid #f59e0b;border-radius:8px;margin-top:14px;max-height:500px;overflow-y:auto;padding:18px 20px}.tbt-article-header{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;gap:8px;margin-bottom:14px;padding-bottom:10px}.tbt-article-header svg{color:#f59e0b;flex-shrink:0}.tbt-article-header h3{color:#1a1a2e;font-size:16px;font-weight:700;margin:0}.tbt-article-keypoints{background:#fffbeb;border:1px solid #fde68a;border-radius:6px;margin-bottom:14px;padding:12px 14px}.tbt-article-keypoints>strong{color:#92400e;display:block;font-size:12px;font-weight:700;letter-spacing:.3px;margin-bottom:6px;text-transform:uppercase}.tbt-article-keypoints ul{list-style:disc;margin:0;padding-left:18px}.tbt-article-keypoints li{color:#78350f;font-size:13px;line-height:1.5;margin-bottom:2px}.tbt-article-body{color:#334155;font-size:13px;line-height:1.7}.tbt-article-body p{margin:0 0 10px}.tbt-article-body h4{border-bottom:1px solid #f1f5f9;color:#1e293b;font-size:14px;font-weight:700;margin:16px 0 6px;padding-bottom:4px}.tbt-article-body strong{color:#1e293b;font-weight:600}.tbt-custom-topic{align-items:center;display:flex;gap:10px;margin-top:10px}.tbt-custom-topic label{color:#64748b;font-size:12px;font-weight:600;white-space:nowrap}.tbt-custom-topic input{border:1px solid #e2e8f0;border-radius:6px;flex:1 1;font-size:13px;padding:8px 12px}.tbt-custom-topic input:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a;outline:none}.tbt-attendee-list{display:flex;flex-direction:column;gap:10px;margin-top:8px}.tbt-attendee-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px 14px}.tbt-attendee-row{align-items:flex-end;display:flex;gap:10px;margin-bottom:8px}.tbt-attendee-field{display:flex;flex:1 1;flex-direction:column}.tbt-attendee-field label{color:#64748b;font-size:10px;font-weight:600;letter-spacing:.3px;margin-bottom:3px;text-transform:uppercase}.tbt-attendee-field input{background:#fff;border:1px solid #e2e8f0;border-radius:5px;box-sizing:border-box;font-size:13px;padding:7px 10px}.tbt-attendee-field input:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a;outline:none}.tbt-attendee-sig{min-height:30px}.tbt-attendee-sig>label{color:#64748b;display:block;font-size:10px;font-weight:600;letter-spacing:.3px;margin-bottom:4px;text-transform:uppercase}.tbt-remove-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:#94a3b8;cursor:pointer;display:flex;font-size:14px;height:24px;justify-content:center;width:24px}.tbt-remove-btn:hover{background:#fef2f2;color:#dc2626}.tbt-add-attendee-btn{align-items:center;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;color:#f59e0b;cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:4px;margin-top:8px;padding:6px 14px;transition:all .15s}.tbt-add-attendee-btn:hover{background:#fef3c7}.tbt-sig-wrap{align-items:flex-end;display:flex;gap:8px}.tbt-sig-canvas{background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:crosshair;height:70px;max-width:300px;touch-action:none;width:100%}.tbt-sig-clear{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:5px;color:#94a3b8;cursor:pointer;font-size:11px;font-weight:600;padding:4px 10px;white-space:nowrap}.tbt-sig-clear:hover{background:#fef2f2;border-color:#fecaca;color:#dc2626}.tbt-sig-preview{align-items:flex-end;display:flex;gap:8px}.tbt-sig-preview img{background:#fff;border:1px solid #d1d5db;border-radius:6px;height:70px;max-width:300px;object-fit:contain}.tbt-container .btn{border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;padding:9px 20px;transition:all .15s}.tbt-container .btn.primary{background:#1a1a2e;color:#fff}.tbt-container .btn.primary:hover{background:#2d2d44}.tbt-container .btn.primary:disabled{cursor:not-allowed;opacity:.5}.tbt-container .btn.secondary{background:#f1f5f9;color:#475569}.tbt-container .btn.secondary:hover{background:#e2e8f0}.tbt-container .btn.danger{background:#dc2626;color:#fff}.tbt-container .btn.danger:hover{background:#b91c1c}.tbt-container .modal-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:9999}.tbt-container .modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0003;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.tbt-container .modal-content.modal-lg{max-width:860px}.tbt-container .modal-content.modal-sm{max-width:420px}.tbt-container .modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:18px 24px}.tbt-container .modal-header h2{color:#1a1a2e;font-size:18px;font-weight:700;margin:0}.tbt-container .close-btn{align-items:center;background:#f1f5f9;border:none;border-radius:8px;color:#64748b;cursor:pointer;display:flex;font-size:18px;height:32px;justify-content:center;width:32px}.tbt-container .close-btn:hover{background:#e2e8f0}.tbt-container .modal-form-body{padding:20px 24px}.tbt-container .form-row{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr;margin-bottom:14px}.tbt-container .form-row.three{grid-template-columns:1fr 1fr 1fr}.tbt-container .form-group{margin-bottom:14px}.tbt-container .form-group label{color:#475569;display:block;font-size:12px;font-weight:600;margin-bottom:5px}.tbt-container .form-group input,.tbt-container .form-group select,.tbt-container .form-group textarea{border:1px solid #e2e8f0;border-radius:8px;box-sizing:border-box;font-size:13px;padding:9px 12px;width:100%}.tbt-container .form-group input:focus,.tbt-container .form-group select:focus,.tbt-container .form-group textarea:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a;outline:none}.tbt-container .form-group textarea{min-height:72px;resize:vertical}.tbt-container .modal-footer{border-top:1px solid #e2e8f0;display:flex;gap:10px;justify-content:flex-end;padding:16px 24px}.tbt-container .warning-text{color:#dc2626;font-size:13px;margin-top:6px}.tbt-container .empty-state,.tbt-container .loading-state{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:60px 20px;text-align:center}.tbt-container .loading-spinner{animation:tbt-pulse 1.4s ease-in-out infinite;background:url(/static/media/trakendsmalllogo.57b858c0f5168c7e3171.png) 50%/contain no-repeat;border:none;border-radius:0;height:40px;margin:0 auto 16px;width:120px}@keyframes tbt-pulse{0%,to{opacity:.3;transform:scale(.92)}50%{opacity:1;transform:scale(1)}}.tbt-container .empty-icon{font-size:40px;margin-bottom:10px}.tbt-container .empty-state h3{color:#1e293b;margin:0 0 6px}.tbt-container .empty-state p{color:#94a3b8;margin:0 0 16px}.tbt-container .error-banner{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;font-size:13px;justify-content:space-between;margin-bottom:16px;padding:10px 16px}.tbt-container .error-dismiss{background:none;border:none;color:#dc2626;cursor:pointer;font-size:18px}@media (max-width:1024px){.tbt-container .edit-form-grid{grid-template-columns:1fr 1fr}.tbt-topic-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}@media (max-width:768px){.tbt-container{padding:14px}.tbt-header{align-items:stretch;flex-direction:column;gap:12px}.tbt-container .header-actions{justify-content:space-between}.tbt-container .edit-form-grid,.tbt-container .form-row,.tbt-container .form-row.three,.tbt-topic-grid{grid-template-columns:1fr}.tbt-topic-filters{flex-direction:column}.tbt-container .modal-content{border-radius:10px 10px 0 0;margin:0;max-height:95vh}}.calendar-container{background:#f5f6fa;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh;padding:24px}.calendar-header-controls{flex-wrap:wrap;justify-content:space-between;margin-bottom:32px}.calendar-header-controls,.calendar-navigation{align-items:center;display:flex;gap:16px}.nav-btn{align-items:center;background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 1px 3px #0000000f;color:#333;cursor:pointer;display:flex;justify-content:center;padding:8px 12px;transition:all .2s ease}.nav-btn:hover{background:#f0f0f0;border-color:#ccc}.calendar-title{color:#222;font-size:24px;font-weight:600;margin:0;min-width:200px;text-align:center}.view-controls{background:#e8eaf0;border-radius:8px;display:flex;gap:4px;padding:4px}.view-btn{background:#0000;border:none;border-radius:4px;color:#555;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.view-btn:hover{background:#0000000f}.view-btn.active{background:#fff;box-shadow:0 1px 3px #0000001a;color:#222}.today-btn{background:#4caf50;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px;transition:all .2s ease}.today-btn:hover{background:#45a049}.loading{color:#888;font-size:18px;padding:40px;text-align:center}.calendar-content{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:24px;padding:24px}.calendar-grid{width:100%}.calendar-header{grid-gap:1px;display:grid;gap:1px;grid-template-columns:repeat(7,1fr);margin-bottom:8px}.calendar-header-day{color:#888;font-size:14px;font-weight:600;padding:12px 8px;text-align:center}.calendar-body{grid-gap:1px;background:#e2e8f0;border-radius:8px;display:grid;gap:1px;grid-template-columns:repeat(7,1fr);overflow:hidden}.calendar-day{background:#fff;cursor:pointer;display:flex;flex-direction:column;min-height:100px;padding:8px;position:relative;transition:all .2s ease}.calendar-day:hover{background:#f0f4ff}.calendar-day.empty{background:#f9fafb;cursor:default}.calendar-day.today{background:#eef6ee}.calendar-day.today:hover{background:#e0f0e0}.calendar-day.selected{background:#e8f0fe;border:2px solid #4a90e2}.calendar-day.has-events{border-left:4px solid #4a90e2}.day-number{color:#333;font-size:16px;font-weight:600;margin-bottom:4px}.calendar-day.today .day-number{color:#2e7d32;font-weight:700}.day-events{flex-wrap:wrap;gap:2px;margin-top:auto}.event-dot{border-radius:50%;cursor:pointer;flex-shrink:0;height:8px;transition:transform .2s ease;width:8px}.event-dot:hover{transform:scale(1.2)}.event-more{color:#888;font-size:10px;font-weight:500}.week-view{width:100%}.week-header{grid-gap:1px;background:#e2e8f0;border-radius:8px;display:grid;gap:1px;grid-template-columns:repeat(7,1fr);overflow:hidden}.week-day{background:#fff;display:flex;flex-direction:column;min-height:200px;padding:12px}.week-day.today{background:#eef6ee}.week-day-header{border-bottom:1px solid #e2e8f0;margin-bottom:12px;padding-bottom:8px;text-align:center}.day-name{color:#888;font-size:12px;font-weight:500;margin-bottom:4px}.week-day.today .day-name{color:#2e7d32}.week-day-header .day-number{font-size:18px;font-weight:600}.week-day-events{display:flex;flex:1 1;flex-direction:column;gap:4px}.week-event{background:#f0f4ff;border-left:3px solid #4a90e2;border-radius:4px;color:#333;font-size:12px;padding:6px 8px}.event-time{color:#888;font-size:10px;margin-bottom:2px}.event-title{font-weight:500}.day-view{width:100%}.day-header{border-bottom:1px solid #e2e8f0;margin-bottom:24px;padding-bottom:16px;text-align:center}.day-header h3{color:#222;font-size:24px;font-weight:600;margin:0}.day-events{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.no-events{color:#888;font-style:italic;padding:40px;text-align:center}.day-event{background:#f8f9fa;border:1px solid #e2e8f0;border-left:4px solid #4a90e2;border-radius:8px;padding:16px}.event-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.event-header h4{color:#222;font-size:18px;font-weight:600;margin:0}.event-type{background:#e8eaf0;border-radius:4px;color:#555;font-size:12px;font-weight:500;padding:4px 8px;text-transform:capitalize}.add-event-btn{align-self:flex-start;background:#4caf50;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:500;padding:12px 24px;transition:all .2s ease}.add-event-btn:hover{background:#45a049}.day-event.safety_report,.event-dot.safety_report,.week-event.safety_report{border-left-color:#f44336}.event-dot.safety_report{background:#f44336}.day-event.daily_report,.event-dot.daily_report,.week-event.daily_report{border-left-color:#2196f3}.event-dot.daily_report{background:#2196f3}.day-event.project_milestone,.event-dot.project_milestone,.week-event.project_milestone{border-left-color:#ff9800}.event-dot.project_milestone{background:#ff9800}.day-event.inspection,.event-dot.inspection,.week-event.inspection{border-left-color:#9c27b0}.event-dot.inspection{background:#9c27b0}.day-event.meeting,.event-dot.meeting,.week-event.meeting{border-left-color:#4caf50}.event-dot.meeting{background:#4caf50}.calendar-legend{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 3px #0000000a;display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-bottom:24px;padding:16px}.legend-item{align-items:center;display:flex;font-size:14px;gap:8px}.legend-dot{border-radius:50%;height:12px;width:12px}.legend-dot.safety_report{background:#f44336}.legend-dot.daily_report{background:#2196f3}.legend-dot.project_milestone{background:#ff9800}.legend-dot.inspection{background:#9c27b0}.legend-dot.meeting{background:#4caf50}.modal-overlay{background:#00000080;bottom:0;left:0;right:0;top:0;z-index:10000}.modal-content{border-radius:12px;box-shadow:0 20px 60px #0003;color:#333;max-width:500px;padding:24px;width:90%}.modal-content h3{color:#222;font-size:20px;font-weight:600;margin-bottom:20px;margin-top:0}.form-group{margin-bottom:16px}.form-group label{color:#333;margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{background:#fff;border:1px solid #ddd;color:#333;font-size:14px;padding:10px 12px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#4a90e2;box-shadow:0 0 0 2px #4a90e226;outline:none}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.modal-actions button{border:none;border-radius:6px;cursor:pointer;font-weight:500;padding:10px 20px;transition:all .2s ease}.modal-actions button[type=button]{background:#e8eaf0;color:#555}.modal-actions button[type=button]:hover{background:#ddd}.modal-actions button[type=submit]{background:#4a90e2;color:#fff}.modal-actions button[type=submit]:hover{background:#3a7bd5}.severity-tag{border-radius:10px;display:inline-block;font-size:12px;font-weight:600;padding:2px 8px}.severity-tag.sev-low{background:#dcfce7;color:#166534}.severity-tag.sev-medium{background:#fef3c7;color:#92400e}.severity-tag.sev-high{background:#fed7aa;color:#c2410c}.severity-tag.sev-critical{background:#fecaca;color:#991b1b}@media (max-width:768px){.calendar-container{padding:16px}.calendar-header-controls{align-items:stretch;flex-direction:column;gap:12px}.calendar-navigation{justify-content:center}.calendar-title{font-size:20px;min-width:auto}.view-controls{justify-content:center}.calendar-day{min-height:80px;padding:6px}.day-number{font-size:14px}.week-day{min-height:150px;padding:8px}.modal-content{margin:16px;width:calc(100% - 32px)}.modal-actions{flex-direction:column}.calendar-legend{justify-content:flex-start}}@media (max-width:480px){.calendar-header-day{font-size:12px;padding:8px 4px}.calendar-day{min-height:60px;padding:4px}.day-number{font-size:12px}.event-dot{height:6px;width:6px}.week-day{min-height:120px;padding:6px}.week-day-header .day-number{font-size:16px}}.photos-page-container{background:#f5f6fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1400px;min-height:100vh;padding:24px}.photos-page-header{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 4px #0000000f;display:flex;justify-content:space-between;margin-bottom:20px;padding:18px 24px}.photos-page-header h1{color:#1a1a2e;font-size:22px;font-weight:700;margin:0}.photos-filters{display:flex;gap:10px}.photos-filters .filter-select{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;font-size:13px;min-width:140px;padding:8px 14px}.photos-filters .filter-select:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.photos-gallery{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.gallery-item{background:#fff;border:1px solid #e2e8f0;border-radius:10px;cursor:pointer;overflow:hidden;position:relative;transition:transform .15s,box-shadow .15s}.gallery-item:hover{box-shadow:0 8px 24px #0000001a;transform:translateY(-2px)}.gallery-item img{display:block;height:160px;object-fit:cover;width:100%}.gallery-file-icon{align-items:center;background:#f8fafc;color:#64748b;display:flex;flex-direction:column;height:160px;justify-content:center;width:100%}.gallery-file-icon span{font-size:11px;font-weight:700;margin-top:4px;text-transform:uppercase}.gallery-item-info{padding:10px 12px}.gallery-item-title{color:#1e293b;display:block;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gallery-item-meta{align-items:center;display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.gallery-project-tag{background:#eef2ff;color:#6366f1}.gallery-project-tag,.gallery-type-tag{border-radius:4px;font-size:11px;font-weight:600;padding:2px 8px}.gallery-type-tag{background:#ecfdf5;color:#059669}.gallery-date{color:#94a3b8;font-size:11px}.gallery-delete-btn{align-items:center;background:#0006;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:28px;justify-content:center;opacity:0;position:absolute;right:8px;top:8px;transition:opacity .15s,background .15s;width:28px}.gallery-item:hover .gallery-delete-btn{opacity:1}.gallery-delete-btn:hover{background:#dc2626cc}.photos-page-container .empty-state,.photos-page-container .loading-state{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:60px 20px;text-align:center}.photos-page-container .loading-spinner{animation:trakend-pulse 1.4s ease-in-out infinite;background:url(/static/media/trakendsmalllogo.57b858c0f5168c7e3171.png) 50%/contain no-repeat;border:none;border-radius:0;height:40px;margin:0 auto 16px;width:120px}.photos-page-container .empty-icon{font-size:40px;margin-bottom:10px}.photos-page-container .empty-state h3{color:#1e293b;margin:0 0 6px}.photos-page-container .empty-state p{color:#94a3b8;margin:0}.photos-page-container .error-banner{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;font-size:13px;justify-content:space-between;margin-bottom:16px;padding:10px 16px}.photos-page-container .error-dismiss{background:none;border:none;color:#dc2626;cursor:pointer;font-size:18px}@media (max-width:768px){.photos-page-container{padding:14px}.photos-page-header{align-items:stretch;gap:12px}.photos-filters,.photos-page-header{flex-direction:column}.photos-gallery{gap:10px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.gallery-file-icon,.gallery-item img{height:120px}}.rfi-container{background:#f5f6fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1400px;min-height:100vh;padding:24px}.rfi-header{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 4px #0000000f;display:flex;justify-content:space-between;margin-bottom:20px;padding:18px 24px}.rfi-header h1{color:#1a1a2e;font-size:22px;font-weight:700;margin:0}.rfi-container .header-actions{align-items:center;display:flex;gap:12px}.rfi-container .filter-group{display:flex;gap:8px}.rfi-container .filter-select{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;font-size:13px;min-width:130px;padding:8px 14px}.rfi-container .filter-select:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.rfi-container .add-btn{background:#1a1a2e;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:10px 20px;transition:background .15s;white-space:nowrap}.rfi-container .add-btn:hover{background:#2d2d44}.rfi-table-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 4px #0000000f;overflow-x:auto}.rfi-table{border-collapse:collapse;font-size:13px;width:100%}.rfi-table thead th{background:#f8fafc;border-bottom:2px solid #e2e8f0;color:#64748b;font-size:11px;font-weight:600;letter-spacing:.5px;padding:12px 14px;text-align:left;text-transform:uppercase;white-space:nowrap}.rfi-table tbody td{border-bottom:1px solid #f1f5f9;padding:12px 14px;vertical-align:middle}.rfi-row{cursor:pointer;transition:background .1s}.rfi-row:hover{background:#f8fafc}.rfi-row.editing{background:#eef2ff}.rfi-row.overdue{background:#fff5f5}.rfi-row.overdue:hover{background:#fef2f2}.rfi-table .col-number{width:8%}.rfi-table .col-project{width:14%}.rfi-table .col-subject{width:28%}.rfi-table .col-priority{width:8%}.rfi-table .col-due,.rfi-table .col-status{width:10%}.rfi-table .col-assigned{width:12%}.rfi-table .col-actions{text-align:center;width:6%}.rfi-number-badge{background:#eef2ff;border-radius:4px;color:#6366f1;font-size:12px;font-weight:700;padding:3px 8px;white-space:nowrap}.rfi-subject-text{color:#1e293b;font-weight:500}.overdue-text{color:#dc2626;font-weight:600}.impact-tag{align-items:center;border-radius:50%;display:inline-flex;font-size:10px;font-weight:700;height:18px;justify-content:center;margin-left:6px;vertical-align:middle;width:18px}.impact-tag.cost{background:#fef3c7;color:#d97706}.impact-tag.schedule{background:#dbeafe;color:#2563eb}.rfi-container .status-badge{border-radius:12px;display:inline-block;font-size:11px;font-weight:600;padding:3px 10px;white-space:nowrap}.stat-draft{background:#f1f5f9;color:#64748b}.stat-open{background:#dbeafe;color:#2563eb}.stat-answered{background:#dcfce7;color:#16a34a}.stat-closed{background:#f1f5f9;color:#475569}.stat-void{background:#fef2f2;color:#dc2626}.rfi-container .priority-badge{border-radius:12px;display:inline-block;font-size:11px;font-weight:600;padding:3px 10px;white-space:nowrap}.pri-low{background:#f1f5f9;color:#64748b}.pri-normal{background:#e0e7ff;color:#4f46e5}.pri-high{background:#fef3c7;color:#d97706}.pri-urgent{background:#fef2f2;color:#dc2626}.rfi-container .row-action-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;display:inline-flex;height:30px;justify-content:center;transition:all .15s;width:30px}.rfi-container .row-action-btn.delete:hover{background:#fef2f2;color:#dc2626}.rfi-container .edit-row td{background:#fafbff;border-bottom:2px solid #6366f1;padding:0}.rfi-container .inline-edit-form{padding:20px 24px}.rfi-container .edit-form-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr 1fr 1fr}.rfi-container .edit-field{display:flex;flex-direction:column}.rfi-container .edit-field.full{grid-column:1/-1}.rfi-container .edit-field label{color:#64748b;font-size:11px;font-weight:600;letter-spacing:.3px;margin-bottom:4px;text-transform:uppercase}.rfi-container .edit-field input,.rfi-container .edit-field select,.rfi-container .edit-field textarea{border:1px solid #e2e8f0;border-radius:6px;font-size:13px;padding:8px 12px;transition:border-color .15s}.rfi-container .edit-field input:focus,.rfi-container .edit-field select:focus,.rfi-container .edit-field textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.rfi-container .edit-field textarea{min-height:60px;resize:vertical}.rfi-container .edit-actions{border-top:1px solid #e2e8f0;display:flex;gap:10px;justify-content:flex-end;margin-top:16px;padding-top:14px}.rfi-container .btn{border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;padding:9px 20px;transition:all .15s}.rfi-container .btn.primary{background:#1a1a2e;color:#fff}.rfi-container .btn.primary:hover{background:#2d2d44}.rfi-container .btn.primary:disabled{cursor:not-allowed;opacity:.5}.rfi-container .btn.secondary{background:#f1f5f9;color:#475569}.rfi-container .btn.secondary:hover{background:#e2e8f0}.rfi-container .btn.danger{background:#dc2626;color:#fff}.rfi-container .btn.danger:hover{background:#b91c1c}.rfi-container .modal-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:9999}.rfi-container .modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0003;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.rfi-container .modal-content.modal-lg{max-width:720px}.rfi-container .modal-content.modal-sm{max-width:420px}.rfi-container .modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:18px 24px}.rfi-container .modal-header h2{color:#1a1a2e;font-size:18px;font-weight:700;margin:0}.rfi-container .close-btn{align-items:center;background:#f1f5f9;border:none;border-radius:8px;color:#64748b;cursor:pointer;display:flex;font-size:18px;height:32px;justify-content:center;transition:all .15s;width:32px}.rfi-container .close-btn:hover{background:#e2e8f0}.rfi-container .modal-form-body{padding:20px 24px}.rfi-container .form-row{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr;margin-bottom:14px}.rfi-container .form-group{margin-bottom:14px}.rfi-container .form-group label{color:#475569;display:block;font-size:12px;font-weight:600;margin-bottom:5px}.rfi-container .form-group input,.rfi-container .form-group select,.rfi-container .form-group textarea{border:1px solid #e2e8f0;border-radius:8px;box-sizing:border-box;font-size:13px;padding:9px 12px;transition:border-color .15s;width:100%}.rfi-container .form-group input:focus,.rfi-container .form-group select:focus,.rfi-container .form-group textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.rfi-container .form-group textarea{min-height:72px;resize:vertical}.rfi-container .modal-footer{border-top:1px solid #e2e8f0;display:flex;gap:10px;justify-content:flex-end;padding:16px 24px}.rfi-container .warning-text{color:#dc2626;font-size:13px;margin-top:6px}.rfi-container .empty-state,.rfi-container .loading-state{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:60px 20px;text-align:center}.rfi-container .loading-spinner{animation:trakend-pulse 1.4s ease-in-out infinite;background:url(/static/media/trakendsmalllogo.57b858c0f5168c7e3171.png) 50%/contain no-repeat;border:none;border-radius:0;height:40px;margin:0 auto 16px;width:120px}.rfi-container .empty-icon{font-size:40px;margin-bottom:10px}.rfi-container .empty-state h3{color:#1e293b;margin:0 0 6px}.rfi-container .empty-state p{color:#94a3b8;margin:0 0 16px}.rfi-container .error-banner{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;font-size:13px;justify-content:space-between;margin-bottom:16px;padding:10px 16px}.rfi-container .error-dismiss{background:none;border:none;color:#dc2626;cursor:pointer;font-size:18px}.rfi-container .edit-field label input[type=checkbox],.rfi-container .form-group label input[type=checkbox]{margin-right:6px;vertical-align:middle;width:auto}@media (max-width:1024px){.rfi-table .col-assigned{display:none}.rfi-container .edit-form-grid{grid-template-columns:1fr 1fr}}@media (max-width:768px){.rfi-container{padding:14px}.rfi-header{align-items:stretch;flex-direction:column;gap:12px}.rfi-container .header-actions{justify-content:space-between}.rfi-table .col-due,.rfi-table .col-priority{display:none}.rfi-container .edit-form-grid,.rfi-container .form-row{grid-template-columns:1fr}.rfi-container .modal-content{border-radius:10px 10px 0 0;margin:0;max-height:95vh}}.sub-container{background:#f5f6fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1400px;min-height:100vh;padding:24px}.sub-header{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 4px #0000000f;display:flex;justify-content:space-between;margin-bottom:20px;padding:18px 24px}.sub-header h1{color:#1a1a2e;font-size:22px;font-weight:700;margin:0}.sub-container .header-actions{align-items:center;display:flex;gap:12px}.sub-container .filter-group{display:flex;gap:8px}.sub-container .filter-select{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;font-size:13px;min-width:130px;padding:8px 14px}.sub-container .filter-select:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.sub-container .add-btn{background:#1a1a2e;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:10px 20px;transition:background .15s;white-space:nowrap}.sub-container .add-btn:hover{background:#2d2d44}.sub-table-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 4px #0000000f;overflow-x:auto}.sub-table{border-collapse:collapse;font-size:13px;width:100%}.sub-table thead th{background:#f8fafc;border-bottom:2px solid #e2e8f0;color:#64748b;font-size:11px;font-weight:600;letter-spacing:.5px;padding:12px 14px;text-align:left;text-transform:uppercase;white-space:nowrap}.sub-table tbody td{border-bottom:1px solid #f1f5f9;padding:12px 14px;vertical-align:middle}.sub-row{cursor:pointer;transition:background .1s}.sub-row:hover{background:#f8fafc}.sub-row.editing{background:#eef2ff}.sub-table .col-number{width:8%}.sub-table .col-project{width:13%}.sub-table .col-title{width:22%}.sub-table .col-type{width:10%}.sub-table .col-spec{width:7%}.sub-table .col-status{width:12%}.sub-table .col-due{width:9%}.sub-table .col-bic{width:11%}.sub-table .col-actions{text-align:center;width:5%}.sub-number-badge{background:#ecfdf5;border-radius:4px;color:#059669;font-size:12px;font-weight:700;padding:3px 8px;white-space:nowrap}.sub-title-text{color:#1e293b;font-weight:500}.rev-tag{background:#f5f3ff;border-radius:3px;color:#7c3aed;display:inline-block;font-size:10px;font-weight:700;margin-left:6px;padding:1px 6px;vertical-align:middle}.sub-container .status-badge{border-radius:12px;display:inline-block;font-size:11px;font-weight:600;padding:3px 10px;white-space:nowrap}.sub-stat-draft{background:#f1f5f9;color:#64748b}.sub-stat-submitted{background:#dbeafe;color:#2563eb}.sub-stat-review{background:#fef3c7;color:#d97706}.sub-stat-approved{background:#dcfce7;color:#16a34a}.sub-stat-approved-noted{background:#d1fae5;color:#059669}.sub-stat-revise{background:#fef2f2;color:#dc2626}.sub-stat-rejected{background:#fce7f3;color:#be185d}.sub-stat-closed{background:#f1f5f9;color:#475569}.sub-container .row-action-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;display:inline-flex;height:30px;justify-content:center;transition:all .15s;width:30px}.sub-container .row-action-btn.delete:hover{background:#fef2f2;color:#dc2626}.sub-container .edit-row td{background:#fafbff;border-bottom:2px solid #059669;padding:0}.sub-container .inline-edit-form{padding:20px 24px}.sub-container .edit-form-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr 1fr 1fr}.sub-container .edit-field{display:flex;flex-direction:column}.sub-container .edit-field.full{grid-column:1/-1}.sub-container .edit-field label{color:#64748b;font-size:11px;font-weight:600;letter-spacing:.3px;margin-bottom:4px;text-transform:uppercase}.sub-container .edit-field input,.sub-container .edit-field select,.sub-container .edit-field textarea{border:1px solid #e2e8f0;border-radius:6px;font-size:13px;padding:8px 12px;transition:border-color .15s}.sub-container .edit-field input:focus,.sub-container .edit-field select:focus,.sub-container .edit-field textarea:focus{border-color:#059669;box-shadow:0 0 0 3px #0596691a;outline:none}.sub-container .edit-field textarea{min-height:60px;resize:vertical}.sub-container .edit-actions{border-top:1px solid #e2e8f0;display:flex;gap:10px;justify-content:flex-end;margin-top:16px;padding-top:14px}.sub-container .btn{border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;padding:9px 20px;transition:all .15s}.sub-container .btn.primary{background:#1a1a2e;color:#fff}.sub-container .btn.primary:hover{background:#2d2d44}.sub-container .btn.primary:disabled{cursor:not-allowed;opacity:.5}.sub-container .btn.secondary{background:#f1f5f9;color:#475569}.sub-container .btn.secondary:hover{background:#e2e8f0}.sub-container .btn.danger{background:#dc2626;color:#fff}.sub-container .btn.danger:hover{background:#b91c1c}.sub-container .modal-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:9999}.sub-container .modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0003;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.sub-container .modal-content.modal-lg{max-width:720px}.sub-container .modal-content.modal-sm{max-width:420px}.sub-container .modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:18px 24px}.sub-container .modal-header h2{color:#1a1a2e;font-size:18px;font-weight:700;margin:0}.sub-container .close-btn{align-items:center;background:#f1f5f9;border:none;border-radius:8px;color:#64748b;cursor:pointer;display:flex;font-size:18px;height:32px;justify-content:center;transition:all .15s;width:32px}.sub-container .close-btn:hover{background:#e2e8f0}.sub-container .modal-form-body{padding:20px 24px}.sub-container .form-row{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr;margin-bottom:14px}.sub-container .form-group{margin-bottom:14px}.sub-container .form-group label{color:#475569;display:block;font-size:12px;font-weight:600;margin-bottom:5px}.sub-container .form-group input,.sub-container .form-group select,.sub-container .form-group textarea{border:1px solid #e2e8f0;border-radius:8px;box-sizing:border-box;font-size:13px;padding:9px 12px;transition:border-color .15s;width:100%}.sub-container .form-group input:focus,.sub-container .form-group select:focus,.sub-container .form-group textarea:focus{border-color:#059669;box-shadow:0 0 0 3px #0596691a;outline:none}.sub-container .form-group textarea{min-height:72px;resize:vertical}.sub-container .modal-footer{border-top:1px solid #e2e8f0;display:flex;gap:10px;justify-content:flex-end;padding:16px 24px}.sub-container .warning-text{color:#dc2626;font-size:13px;margin-top:6px}.sub-container .empty-state,.sub-container .loading-state{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:60px 20px;text-align:center}.sub-container .loading-spinner{animation:trakend-pulse 1.4s ease-in-out infinite;background:url(/static/media/trakendsmalllogo.57b858c0f5168c7e3171.png) 50%/contain no-repeat;border:none;border-radius:0;height:40px;margin:0 auto 16px;width:120px}.sub-container .empty-icon{font-size:40px;margin-bottom:10px}.sub-container .empty-state h3{color:#1e293b;margin:0 0 6px}.sub-container .empty-state p{color:#94a3b8;margin:0 0 16px}.sub-container .error-banner{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;font-size:13px;justify-content:space-between;margin-bottom:16px;padding:10px 16px}.sub-container .error-dismiss{background:none;border:none;color:#dc2626;cursor:pointer;font-size:18px}@media (max-width:1024px){.sub-table .col-bic,.sub-table .col-spec{display:none}.sub-container .edit-form-grid{grid-template-columns:1fr 1fr}}@media (max-width:768px){.sub-container{padding:14px}.sub-header{align-items:stretch;flex-direction:column;gap:12px}.sub-container .header-actions{justify-content:space-between}.sub-table .col-due,.sub-table .col-type{display:none}.sub-container .edit-form-grid,.sub-container .form-row{grid-template-columns:1fr}.sub-container .modal-content{border-radius:10px 10px 0 0;margin:0;max-height:95vh}}.fl-container{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1500px;min-height:100vh;padding:24px}.fl-header{align-items:flex-start;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 4px #0000000f;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;margin-bottom:16px;padding:20px 24px}.fl-header h1{color:#1e293b;font-size:22px;font-weight:700;margin:0}.fl-subtitle{align-items:center;color:#64748b;display:flex;flex-wrap:wrap;font-size:13px;gap:8px;margin:4px 0 0}.fl-count-badge{background:#f1f5f9;color:#475569;font-size:11px}.fl-count-badge,.fl-view-only-badge{border-radius:8px;font-weight:600;padding:2px 8px}.fl-view-only-badge{background:#fef3c7;color:#b45309;font-size:10px}.fl-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.fl-search{border:1px solid #cbd5e1;border-radius:6px;font-size:13px;padding:7px 14px;width:200px}.fl-search:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f126;outline:none}.fl-select{background:#fff;border:1px solid #cbd5e1;border-radius:6px;max-width:200px;padding:7px 12px}.fl-btn,.fl-select{cursor:pointer;font-size:13px}.fl-btn{align-items:center;border:none;border-radius:6px;display:inline-flex;font-weight:600;gap:6px;padding:8px 16px;transition:all .15s}.fl-btn.primary{background:#334155;color:#fff}.fl-btn.primary:hover{background:#1e293b}.fl-btn.secondary{background:#f1f5f9;border:1px solid #e2e8f0;color:#475569}.fl-btn.secondary:hover{background:#e2e8f0}.fl-btn.danger{background:#dc2626;color:#fff}.fl-btn.danger:hover{background:#b91c1c}.fl-btn:disabled{cursor:not-allowed;opacity:.5}.fl-error{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;font-size:13px;justify-content:space-between;margin-bottom:12px;padding:10px 16px}.fl-error button,.fl-success button{background:none;border:none;color:inherit;cursor:pointer;font-size:18px;padding:0 4px}.fl-success{align-items:center;animation:fl-fadein .3s ease;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;color:#16a34a;display:flex;font-size:13px;font-weight:500;justify-content:space-between;margin-bottom:12px;padding:10px 16px}@keyframes fl-fadein{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.fl-toolbar{background:#fff;border:1px solid #e2e8f0;border-radius:8px;gap:12px;justify-content:space-between;margin-bottom:12px;padding:10px 16px}.fl-breadcrumbs,.fl-toolbar{align-items:center;display:flex;flex-wrap:wrap}.fl-breadcrumbs{gap:4px}.fl-crumb{align-items:center;background:none;border:none;border-radius:4px;color:#6366f1;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:4px;padding:4px 8px;transition:background .12s}.fl-crumb:hover{background:#eef2ff}.fl-crumb.active{color:#1e293b;cursor:default;font-weight:600}.fl-crumb.active:hover{background:#0000}.fl-crumb-sep{color:#cbd5e1;font-size:12px}.fl-view-controls{align-items:center;display:flex;gap:8px}.fl-sort-select{background:#fff;border:1px solid #e2e8f0;border-radius:5px;cursor:pointer;font-size:12px;padding:5px 10px}.fl-view-toggle{background:#f1f5f9;border-radius:5px;display:flex;padding:2px}.fl-vt-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:#64748b;cursor:pointer;display:flex;padding:5px 8px;transition:all .12s}.fl-vt-btn.active{background:#334155;box-shadow:0 1px 3px #0000001f;color:#fff}.fl-loading{align-items:center;background:#fff;border-radius:10px;box-shadow:0 1px 4px #0000000f;display:flex;flex-direction:column;padding:60px 20px}.fl-spinner{animation:trakend-pulse 1.4s ease-in-out infinite;background:url(/static/media/trakendsmalllogo.57b858c0f5168c7e3171.png) 50%/contain no-repeat;border:none;border-radius:0;height:40px;margin:0 auto 12px;width:120px}.fl-lock-badge{align-items:center;background:#eef2ff;border-radius:4px;color:#6366f1;display:inline-flex;flex-shrink:0;height:18px;justify-content:center;margin-left:6px;vertical-align:middle;width:18px}.fl-empty{align-items:center;background:#fff;border-radius:10px;box-shadow:0 1px 4px #0000000f;display:flex;flex-direction:column;padding:60px 20px;text-align:center}.fl-empty h3{color:#1e293b;font-size:16px;margin:16px 0 6px}.fl-empty p{color:#94a3b8;font-size:13px;margin:0}.fl-list-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 4px #0000000f;overflow:hidden}.fl-list-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#64748b;display:flex;font-size:11px;font-weight:600;letter-spacing:.3px;padding:10px 16px;text-transform:uppercase;-webkit-user-select:none;user-select:none}.fl-lh-icon{flex-shrink:0;width:32px}.fl-lh-name{cursor:pointer;flex:3 1}.fl-lh-size,.fl-lh-type{cursor:pointer;flex-shrink:0;width:80px}.fl-lh-date,.fl-lh-size{text-align:right}.fl-lh-date{cursor:pointer;flex-shrink:0;width:110px}.fl-lh-actions{flex-shrink:0;width:160px}.fl-list-row{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;padding:10px 16px;transition:background .12s}.fl-list-row:last-child{border-bottom:none}.fl-list-row:hover{background:#f8fafc}.fl-list-row.folder{cursor:pointer}.fl-list-row.folder:hover{background:#fffbeb}.fl-list-row.virtual{font-weight:500}.fl-list-row.virtual:hover{background:#f0f4ff}.fl-grid-card.virtual:hover{background:#f0f4ff;border-color:#818cf8}.fl-lr-icon{align-items:center;display:flex;flex-shrink:0;justify-content:center;width:36px}.fl-lr-thumb{border:1px solid #e2e8f0;border-radius:4px;height:28px;object-fit:cover;width:28px}.fl-lr-name{display:flex;flex:3 1;flex-direction:column;gap:1px;min-width:0}.fl-item-name{color:#1e293b;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fl-child-count,.fl-item-desc{color:#94a3b8;font-size:11px}.fl-item-desc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fl-lr-type{flex-shrink:0;width:80px}.fl-type-tag{background:#f1f5f9;border-radius:4px;display:inline-block;font-size:10px;font-weight:700;padding:2px 6px}.fl-type-tag.folder{background:#fffbeb;color:#f59e0b}.fl-lr-size{width:80px}.fl-lr-date,.fl-lr-size{color:#64748b;flex-shrink:0;font-size:12px;text-align:right}.fl-lr-date{width:110px}.fl-lr-actions{display:flex;flex-shrink:0;gap:4px;justify-content:flex-end;opacity:0;transition:opacity .15s;width:160px}.fl-list-row:hover .fl-lr-actions{opacity:1}.fl-act-btn{align-items:center;background:none;border:1px solid #e2e8f0;border-radius:5px;color:#64748b;cursor:pointer;display:flex;justify-content:center;padding:5px;transition:all .12s}.fl-act-btn:hover{background:#f1f5f9;border-color:#cbd5e1;color:#334155}.fl-act-btn.danger{color:#dc2626}.fl-act-btn.danger:hover{background:#fef2f2;border-color:#fecaca}.fl-act-btn.sm{padding:3px}.fl-grid-wrap{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.fl-grid-card{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;display:flex;flex-direction:column;padding:16px 12px 12px;position:relative;text-align:center;transition:all .15s}.fl-grid-card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.fl-grid-card.folder{cursor:pointer}.fl-grid-card.folder:hover{background:#fffbeb;border-color:#fbbf24}.fl-gc-icon{align-items:center;display:flex;justify-content:center;margin-bottom:8px;min-height:48px;width:100%}.fl-gc-icon.has-thumb{background:#f8fafc;border-radius:6px;min-height:100px;overflow:hidden}.fl-gc-thumb{border:1px solid #e2e8f0;border-radius:6px;height:100px;object-fit:cover;transition:transform .2s;width:100%}.fl-grid-card:hover .fl-gc-thumb{transform:scale(1.03)}.fl-gc-pdf-badge{align-items:center;display:flex;flex-direction:column;gap:4px;padding:10px 0}.fl-gc-pdf-badge span{color:#dc2626;font-size:10px;font-weight:700;letter-spacing:.5px}.fl-gc-name{color:#1e293b;font-size:12px;font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:break-word}.fl-gc-meta{color:#94a3b8;font-size:11px;margin-top:4px}.fl-gc-actions{display:flex;gap:4px;margin-top:8px;opacity:0;transition:opacity .15s}.fl-grid-card:hover .fl-gc-actions{opacity:1}.fl-context-menu{animation:fl-fadein .15s ease;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 8px 24px #0000001f;min-width:160px;padding:4px 0;position:fixed;z-index:9999}.fl-context-menu button{background:none;border:none;color:#334155;cursor:pointer;display:block;font-size:13px;padding:8px 16px;text-align:left;transition:background .1s;width:100%}.fl-context-menu button:hover{background:#f1f5f9}.fl-context-menu button.danger{color:#dc2626}.fl-context-menu button.danger:hover{background:#fef2f2}.fl-context-menu button:disabled{color:#94a3b8;cursor:default}.fl-modal-overlay{align-items:center;animation:fl-fadein .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a73;display:flex;inset:0;justify-content:center;position:fixed;z-index:10000}.fl-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:92vw;overflow:hidden;width:520px}.fl-modal.sm{width:400px}.fl-modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:16px 20px}.fl-modal-header h2{color:#1e293b;font-size:16px;font-weight:700;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fl-modal-close{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:22px;line-height:1;padding:0 4px}.fl-modal-close:hover{color:#334155}.fl-modal-body{flex:1 1;overflow-y:auto;padding:20px}.fl-modal-footer{background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;gap:8px;justify-content:flex-end;padding:14px 20px}.fl-field{margin-bottom:14px}.fl-field label{color:#475569;display:block;font-size:12px;font-weight:600;margin-bottom:5px}.fl-field input,.fl-field select{border:1px solid #cbd5e1;border-radius:6px;box-sizing:border-box;font-size:13px;padding:8px 12px;width:100%}.fl-field input:focus,.fl-field select:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f126;outline:none}.fl-hint{color:#94a3b8;font-weight:400}.fl-drop-zone{border:2px dashed #cbd5e1;border-radius:10px;cursor:pointer;margin-bottom:16px;padding:32px 20px;text-align:center;transition:all .2s}.fl-drop-zone:hover{background:#f8faff;border-color:#6366f1}.fl-drop-zone p{color:#334155;font-size:14px;margin:10px 0 4px}.fl-drop-zone span{color:#94a3b8;font-size:11px}.fl-upload-list{border:1px solid #e2e8f0;border-radius:8px;margin-bottom:16px;max-height:180px;overflow-y:auto}.fl-upload-item{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;font-size:13px;gap:8px;padding:8px 12px}.fl-upload-item:last-child{border-bottom:none}.fl-ul-name{color:#334155;flex:1 1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fl-ul-size{color:#94a3b8;flex-shrink:0;font-size:11px}.fl-ul-remove{background:none;border:none;color:#dc2626;cursor:pointer;font-size:16px;line-height:1;padding:0 4px}.fl-upload-options{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.fl-delete-warn{align-items:flex-start;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;display:flex;gap:12px;padding:14px}.fl-delete-warn strong{color:#991b1b;display:block;margin-bottom:4px}.fl-delete-warn p{color:#7f1d1d;font-size:13px;margin:0}.fl-viewer-overlay{animation:fl-fadein .2s ease;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172ab3;display:flex;flex-direction:column;inset:0;position:fixed;z-index:10001}.fl-viewer-toolbar{align-items:center;background:#1e293b;color:#fff;display:flex;flex-shrink:0;justify-content:space-between;padding:10px 20px}.fl-viewer-toolbar-left{align-items:center;display:flex;gap:12px;min-width:0}.fl-viewer-filename{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fl-viewer-filemeta{color:#94a3b8;flex-shrink:0;font-size:11px}.fl-viewer-toolbar-right{align-items:center;display:flex;flex-shrink:0;gap:8px}.fl-viewer-btn{align-items:center;background:#ffffff1a;border:1px solid #ffffff26;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:12px;font-weight:500;gap:5px;padding:6px 14px;transition:background .15s}.fl-viewer-btn:hover{background:#fff3}.fl-viewer-close{background:#ffffff14;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;font-size:24px;line-height:1;padding:2px 8px;transition:all .12s}.fl-viewer-close:hover{background:#ffffff26;color:#fff}.fl-viewer-body{align-items:center;display:flex;flex:1 1;justify-content:center;overflow:hidden;position:relative}.fl-viewer-body iframe{background:#fff;border:none;height:100%;width:100%}.fl-viewer-body img{max-height:95%;max-width:95%;object-fit:contain}.fl-viewer-body img,.fl-viewer-body video{border-radius:4px;box-shadow:0 4px 24px #0000004d}.fl-viewer-body video{max-height:90%;max-width:90%}.fl-viewer-body audio{max-width:90%;width:400px}.fl-viewer-text-wrap{background:#fff;border-radius:8px;box-shadow:0 4px 24px #0000004d;height:90%;max-width:900px;overflow:auto;padding:24px;width:90%}.fl-viewer-text-wrap pre{color:#334155;font-family:Fira Code,Consolas,monospace;font-size:13px;line-height:1.6;margin:0;white-space:pre-wrap;word-break:break-word}.fl-viewer-unsupported{color:#94a3b8;padding:40px;text-align:center}.fl-viewer-unsupported h3{color:#e2e8f0;margin-bottom:8px}.fl-viewer-unsupported p{font-size:13px;margin-bottom:16px}@media (max-width:900px){.fl-header{flex-direction:column}.fl-header-actions{width:100%}.fl-search{flex:1 1;width:auto}.fl-lh-size,.fl-lh-type,.fl-lr-size,.fl-lr-type{display:none}.fl-lh-actions,.fl-lr-actions{width:100px}.fl-upload-options{grid-template-columns:1fr}}@media (max-width:600px){.fl-container{padding:12px}.fl-lh-date,.fl-lr-date{display:none}.fl-grid-wrap{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}}.emp-container{background:#f5f6fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1400px;min-height:100vh;padding:24px}.emp-header{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 4px #0000000f;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:20px;padding:18px 24px}.emp-header h1{color:#1e293b;font-size:22px;font-weight:700;margin:0}.header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.emp-search{border:1px solid #cbd5e1;border-radius:6px;font-size:13px;padding:7px 14px;width:200px}.emp-search:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f126;outline:none}.view-toggle{background:#f1f5f9;border-radius:6px;display:flex;padding:2px}.toggle-btn{background:#0000;border:none;border-radius:5px;color:#64748b;cursor:pointer;font-size:12px;font-weight:500;padding:6px 14px;transition:all .15s}.toggle-btn.active{box-shadow:0 1px 3px #0000001f}.add-btn,.toggle-btn.active{background:#334155;color:#fff}.add-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:8px 18px;transition:background .15s}.add-btn:hover{background:#1e293b}.success-banner{align-items:center;animation:emp-fadein .3s ease;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;color:#16a34a;display:flex;font-size:13px;font-weight:500;justify-content:space-between;margin-bottom:16px;padding:10px 16px}.success-dismiss{background:none;border:none;color:#16a34a;cursor:pointer;font-size:18px;padding:0 4px}@keyframes emp-fadein{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.empty-state{align-items:center;background:#fff;border-radius:10px;box-shadow:0 1px 4px #0000000f;display:flex;flex-direction:column;padding:60px 20px;text-align:center}.empty-icon{font-size:40px;margin-bottom:12px;opacity:.5}.empty-state h3{color:#1e293b;font-size:18px;margin:0 0 6px}.empty-state p{color:#64748b;font-size:14px;margin:0 0 16px}.emp-table-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 4px #0000000f;overflow-x:auto}.emp-table{border-collapse:collapse;font-size:13px;width:100%}.emp-table thead{background:#f8fafc}.emp-table th{border-bottom:1px solid #e2e8f0;color:#475569;font-size:11px;font-weight:600;letter-spacing:.4px;padding:10px 14px;text-align:left;text-transform:uppercase;white-space:nowrap}.emp-table td{border-bottom:1px solid #f1f5f9;color:#334155;padding:10px 14px;vertical-align:middle}.emp-row{cursor:pointer;transition:background .1s}.emp-row:hover{background:#f8fafc}.emp-row.editing{background:#eff6ff}.emp-avatar{align-items:center;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:11px;font-weight:700;height:32px;justify-content:center;width:32px}.role-badge{border:1px solid;border-radius:12px;font-weight:600}.perm-badge,.role-badge{display:inline-block;font-size:11px;padding:3px 10px}.perm-badge{background:#f1f5f9;border-radius:12px;color:#475569;font-weight:500;text-transform:capitalize}.row-action-btn{align-items:center;background:none;border:none;border-radius:4px;color:#94a3b8;cursor:pointer;display:inline-flex;padding:4px 6px;transition:all .15s}.row-action-btn:hover{background:#f1f5f9}.row-action-btn.delete:hover{background:#fef2f2;color:#dc2626}.row-action-btn.restore:hover{background:#f0fdf4;color:#16a34a}.edit-row td{padding:0!important}.inline-edit-form{background:#f8fafc;border-top:2px solid #6366f1;padding:16px 20px}.edit-form-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr);margin-bottom:14px}.edit-field label{color:#475569;display:block;font-size:11px;font-weight:600;letter-spacing:.3px;margin-bottom:4px;text-transform:uppercase}.edit-field input,.edit-field select{border:1px solid #cbd5e1;border-radius:5px;box-sizing:border-box;font-size:13px;padding:7px 10px;width:100%}.edit-field input:focus,.edit-field select:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f126;outline:none}.edit-actions{display:flex;gap:8px;justify-content:flex-end}.modal-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.modal-content{background:#fff;border-radius:10px;box-shadow:0 12px 40px #0000002e;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.modal-content.modal-sm{max-width:420px}.modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:18px 22px}.modal-header h2{color:#1e293b;font-size:17px;font-weight:700;margin:0}.close-btn{align-items:center;background:none;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;display:flex;font-size:22px;height:30px;justify-content:center;width:30px}.close-btn:hover{background:#f1f5f9;color:#334155}.modal-form-body{padding:18px 22px}.modal-footer{border-top:1px solid #e2e8f0;display:flex;gap:10px;justify-content:flex-end;padding:14px 22px}.form-row{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr}.form-group,.form-row{margin-bottom:14px}.form-group label{color:#475569;display:block;font-size:12px;font-weight:600;margin-bottom:5px}.form-group input,.form-group select,.form-group textarea{border:1px solid #cbd5e1;border-radius:6px;box-sizing:border-box;font-size:13px;padding:8px 12px;transition:border-color .15s;width:100%}.form-group input:focus,.form-group select:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f126}.warning-text{color:#b45309;font-size:13px;margin-top:6px}.modal-content.modal-lg{max-width:680px}.modal-footer-inner{border-top:1px solid #e2e8f0;display:flex;gap:10px;justify-content:flex-end;margin-top:14px;padding:14px 0 0}.seat-loading{align-items:center;color:#64748b;display:flex;font-size:13px;gap:8px;justify-content:center;padding:16px;text-align:center}.seat-loading-spinner{animation:emp-spin .7s linear infinite;border:2px solid #e2e8f0;border-radius:50%;border-top-color:#334155;flex-shrink:0;height:16px;width:16px}.seat-info-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:18px;padding:14px 16px}.seat-header-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.seat-label{color:#1e293b;font-size:13px;font-weight:600;text-transform:capitalize}.seat-count{color:#64748b;font-size:12px;font-weight:500}.seat-bar-track{background:#e2e8f0;border-radius:4px;height:8px;overflow:hidden}.seat-bar-fill{border-radius:4px;height:100%;transition:width .3s ease}.seat-remaining{font-size:12px;margin-top:6px}.seat-ok{color:#16a34a;font-weight:500}.seat-full{color:#dc2626;font-weight:600}.no-seats-panel{padding:24px 16px;text-align:center}.no-seats-icon{margin-bottom:12px}.no-seats-title{color:#dc2626;font-size:18px;font-weight:700;margin:0 0 8px}.no-seats-desc{color:#475569;font-size:14px;line-height:1.5;margin:0 auto 20px;max-width:440px}.no-seats-actions{display:flex;gap:12px;justify-content:center;margin-bottom:20px}.no-seats-actions .btn{align-items:center;display:inline-flex;gap:6px;text-decoration:none}.plans-grid{border-top:1px solid #e2e8f0;padding-top:18px;text-align:left}.plans-grid h4{color:#1e293b;font-size:14px;font-weight:700;margin:0 0 12px}.plans-cards-wrap{display:flex;flex-wrap:wrap;gap:10px}.plan-card{align-items:center;border:1px solid #e2e8f0;border-radius:10px;display:flex;flex:1 1 120px;flex-direction:column;max-width:160px;min-width:120px;padding:16px;position:relative;text-align:center;transition:border-color .15s,box-shadow .15s}.plan-card:hover{border-color:#94a3b8;box-shadow:0 2px 8px #00000014}.plan-card.popular{background:#fffbeb;border-color:#f59e0b}.plan-card.current{background:#eef2ff;border-color:#6366f1}.plan-popular-tag{background:#f59e0b}.plan-current-tag,.plan-popular-tag{border-radius:8px;color:#fff;font-size:9px;font-weight:700;padding:2px 8px;position:absolute;right:-4px;top:-8px}.plan-current-tag{background:#6366f1}.plan-name{color:#1e293b;font-size:14px;font-weight:700;margin-bottom:2px}.plan-seats{color:#64748b;font-size:11px;margin-bottom:6px}.plan-price{color:#1e293b;font-size:18px;font-weight:700}.plan-price span{color:#94a3b8;font-size:11px;font-weight:400}.plan-per-seat{color:#94a3b8;font-size:10px;margin-bottom:8px}.plan-upgrade-btn{font-size:11px!important;padding:5px 14px!important;text-decoration:none}.plan-current-label{color:#6366f1;font-size:10px;font-weight:600}.plans-contact-note{color:#64748b;font-size:12px;margin:12px 0 0}.plans-contact-note a{color:#6366f1;text-decoration:underline}@media (max-width:900px){.emp-header{align-items:stretch;flex-direction:column}.header-actions{flex-wrap:wrap}.edit-form-grid{grid-template-columns:1fr 1fr}}@media (max-width:600px){.emp-container{padding:12px}.edit-form-grid,.form-row{grid-template-columns:1fr}}.perm-container{background:#f5f6fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1500px;min-height:100vh;padding:24px}.perm-header{align-items:flex-start;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 4px #0000000f;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;margin-bottom:20px;padding:20px 24px}.perm-header h1{color:#1e293b;font-size:22px;font-weight:700;margin:0}.perm-subtitle{align-items:center;color:#64748b;display:flex;flex-wrap:wrap;font-size:13px;gap:8px;margin:4px 0 0}.perm-emp-count{background:#f1f5f9;border-radius:8px;color:#475569;font-size:11px;font-weight:600;padding:2px 8px}.perm-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.perm-search{border:1px solid #cbd5e1;border-radius:6px;font-size:13px;padding:7px 14px;width:200px}.perm-search:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f126;outline:none}.filter-select{background:#fff;border:1px solid #cbd5e1;cursor:pointer;padding:7px 12px}.btn,.filter-select{border-radius:6px;font-size:13px}.btn{align-items:center;display:inline-flex;font-weight:600;gap:6px;padding:8px 18px;transition:all .15s}.btn.primary{background:#334155;color:#fff}.btn.primary:hover{background:#1e293b}.btn.secondary{background:#f1f5f9;color:#475569}.btn.secondary:hover{background:#e2e8f0}.btn.danger{background:#dc2626;color:#fff}.btn.danger:hover{background:#b91c1c}.btn:disabled{cursor:not-allowed;opacity:.5}.error-banner{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;font-size:13px;justify-content:space-between;margin-bottom:16px;padding:10px 16px}.error-dismiss{background:none;border:none;color:#dc2626;cursor:pointer;font-size:18px;padding:0 4px}.loading-state{align-items:center;background:#fff;border-radius:10px;box-shadow:0 1px 4px #0000000f;display:flex;flex-direction:column;padding:60px 20px}.loading-spinner{animation:trakend-pulse 1.4s ease-in-out infinite;background:url(/static/media/trakendsmalllogo.57b858c0f5168c7e3171.png) 50%/contain no-repeat;border:none;border-radius:0}@keyframes trakend-pulse{0%,to{opacity:.3;transform:scale(.92)}50%{opacity:1;transform:scale(1)}}.perm-layout{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:320px 1fr}.perm-emp-list{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 4px #0000000f;max-height:calc(100vh - 180px);overflow-y:auto}.perm-emp-list::-webkit-scrollbar{width:6px}.perm-emp-list::-webkit-scrollbar-track{background:#0000}.perm-emp-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.perm-emp-list::-webkit-scrollbar-thumb:hover{background:#94a3b8}.perm-emp-card{align-items:center;border-bottom:1px solid #f1f5f9;border-left:3px solid #0000;cursor:pointer;display:flex;gap:10px;padding:12px 16px;transition:all .15s ease}.perm-emp-card:hover{background:#f8fafc}.perm-emp-card.selected{background:#f0f4ff;border-left-width:3px}.perm-emp-avatar{align-items:center;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:11px;font-weight:700;height:34px;justify-content:center;text-transform:uppercase;width:34px}.perm-emp-info{flex:1 1;min-width:0}.perm-emp-name{color:#1e293b;font-size:13px;font-weight:600}.perm-emp-meta,.perm-emp-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.perm-emp-meta{color:#94a3b8;font-size:11px}.perm-emp-role-tag{border:1px solid;border-radius:10px;flex-shrink:0;font-size:10px;font-weight:600;padding:2px 8px}.empty-members{color:#94a3b8;font-size:13px;padding:40px 16px;text-align:center}.perm-detail-panel{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 4px #0000000f;max-height:calc(100vh - 180px);min-height:400px;overflow-y:auto}.perm-detail-panel::-webkit-scrollbar{width:6px}.perm-detail-panel::-webkit-scrollbar-track{background:#0000}.perm-detail-panel::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.perm-detail-panel::-webkit-scrollbar-thumb:hover{background:#94a3b8}.perm-detail-empty{align-items:center;color:#94a3b8;display:flex;flex-direction:column;justify-content:center;min-height:380px;padding:80px 20px;text-align:center}.perm-detail-empty p{font-size:14px;margin:16px 0 0}.perm-detail-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;border-radius:10px 10px 0 0;display:flex;gap:12px;padding:16px 24px}.perm-detail-avatar{align-items:center;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:13px;font-weight:700;height:40px;justify-content:center;text-transform:uppercase;width:40px}.perm-detail-header-info{flex:1 1;min-width:0}.perm-detail-header-name{color:#1e293b;font-size:15px;font-weight:700}.perm-detail-header-meta,.perm-detail-header-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.perm-detail-header-meta{color:#94a3b8;font-size:12px}.perm-unsaved-badge{animation:perm-pulse 1.5s ease infinite;background:#fef3c7;border-radius:8px;color:#b45309;flex-shrink:0;font-size:10px;font-weight:600;padding:3px 8px}@keyframes perm-pulse{0%,to{opacity:1}50%{opacity:.6}}.perm-detail-section{border-bottom:1px solid #f1f5f9;padding:20px 24px}.perm-section-title{align-items:center;color:#1e293b;display:flex;font-size:15px;font-weight:700;gap:8px;margin:0 0 14px}.perm-section-desc{color:#94a3b8;font-size:12px;margin:0}.perm-section-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:14px}.perm-bulk-actions{display:flex;gap:6px}.perm-bulk-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:5px;cursor:pointer;display:inline-flex;font-size:11px;font-weight:500;gap:4px;padding:4px 10px;transition:all .12s}.perm-bulk-btn.grant{color:#16a34a}.perm-bulk-btn.grant:hover{background:#f0fdf4;border-color:#bbf7d0}.perm-bulk-btn.preset{color:#6366f1}.perm-bulk-btn.preset:hover{background:#eef2ff;border-color:#c7d2fe}.perm-bulk-btn.revoke{color:#dc2626}.perm-bulk-btn.revoke:hover{background:#fef2f2;border-color:#fecaca}.perm-info-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.perm-field label{color:#475569;display:block;font-size:11px;font-weight:600;letter-spacing:.3px;margin-bottom:4px;text-transform:uppercase}.perm-field input,.perm-field select{border:1px solid #cbd5e1;border-radius:6px;box-sizing:border-box;font-size:13px;padding:7px 10px;width:100%}.perm-field input:focus,.perm-field select:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f126;outline:none}.perm-field.span-2{grid-column:1/-1}.label-hint{color:#94a3b8;font-weight:400;letter-spacing:0;text-transform:none}.perm-modules-list{display:flex;flex-direction:column;gap:6px}.perm-module-row{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;transition:opacity .15s}.perm-module-row.disabled{opacity:.6}.perm-module-header{background:#f8fafc}.perm-module-toggle-all{align-items:center;background:none;border:none;cursor:pointer;display:flex;gap:10px;padding:10px 14px;text-align:left;transition:background .1s;width:100%}.perm-module-toggle-all:hover{background:#f1f5f9}.perm-mod-icon{flex-shrink:0;font-size:18px}.perm-mod-text{flex:1 1;min-width:0}.perm-mod-name{color:#1e293b;display:block;font-size:13px;font-weight:600}.perm-mod-desc{color:#94a3b8;display:block;font-size:10px}.perm-all-tag{background:#dcfce7;color:#16a34a}.perm-all-tag,.perm-none-tag{border-radius:8px;flex-shrink:0;font-size:9px;font-weight:700;padding:2px 8px}.perm-none-tag{background:#fef2f2;color:#dc2626}.perm-partial-tag{background:#fef3c7;border-radius:8px;color:#b45309;flex-shrink:0;font-size:9px;font-weight:700;padding:2px 8px}.perm-action-toggles{border-top:1px solid #f1f5f9;display:flex;flex-wrap:wrap;gap:0}.perm-toggle-item{align-items:center;border-right:1px solid #f1f5f9;cursor:pointer;display:flex;flex:1 1 auto;justify-content:space-between;min-width:120px;padding:7px 14px;transition:background .1s}.perm-toggle-item:last-child{border-right:none}.perm-toggle-item:hover{background:#f8fafc}.perm-toggle-label{color:#475569;font-size:11px;font-weight:500}.perm-switch-wrap{position:relative}.perm-switch-wrap input{display:none}.perm-switch{background:#cbd5e1;border-radius:9px;cursor:pointer;display:block;height:18px;position:relative;transition:background .15s;width:34px}.perm-switch:after{background:#fff;border-radius:50%;box-shadow:0 1px 2px #00000026;content:"";height:14px;left:2px;position:absolute;top:2px;transition:transform .15s;width:14px}.perm-switch-wrap input:checked+.perm-switch{background:#6366f1}.perm-switch-wrap input:checked+.perm-switch:after{transform:translateX(16px)}.perm-save-bar{align-items:center;background:#fff;border-radius:0 0 10px 10px;border-top:1px solid #e2e8f0;bottom:0;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px;position:sticky}.perm-save-msg{color:#16a34a;font-size:13px;font-weight:600}@media (max-width:900px){.perm-layout{grid-template-columns:1fr}.perm-emp-list{max-height:300px}.perm-detail-panel{max-height:none}.perm-header{flex-direction:column}.perm-info-grid{grid-template-columns:1fr}.perm-field.span-2{grid-column:auto}}@media (max-width:600px){.perm-container{padding:12px}.perm-action-toggles{flex-direction:column}.perm-toggle-item{border-bottom:1px solid #f1f5f9;border-right:none}}.pc-page{margin:0 auto;max-width:1400px}.pc-page h1{font-size:24px;font-weight:700;margin:0 0 4px}.pc-page .pc-subtitle{color:#666;font-size:13px;margin:0 0 20px}.pc-header{justify-content:space-between;margin-bottom:20px}.pc-header,.pc-header-left{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.pc-header-left h1{margin:0}.pc-summary-row{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px}.pc-summary-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:180px;padding:16px 20px}.pc-summary-card .pc-card-label{color:#888;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.pc-summary-card .pc-card-value{color:#111;font-size:22px;font-weight:700}.pc-summary-card.green .pc-card-value{color:#16a34a}.pc-summary-card.blue .pc-card-value{color:#2563eb}.pc-summary-card.amber .pc-card-value{color:#d97706}.pc-summary-card.red .pc-card-value{color:#dc2626}.pc-summary-card.purple .pc-card-value{color:#7c3aed}.pc-filters{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.pc-filters input[type=text],.pc-filters select{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#333;font-size:13px;padding:7px 12px}.pc-filters input[type=text]{min-width:200px}.pc-table-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.pc-table{border-collapse:collapse;font-size:13px;width:100%}.pc-table thead th{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#555;font-size:11px;font-weight:600;letter-spacing:.4px;padding:10px 14px;text-align:left;text-transform:uppercase;white-space:nowrap}.pc-table tbody tr{border-bottom:1px solid #f3f4f6;transition:background .12s}.pc-table tbody tr:hover{background:#f8fafc}.pc-table tbody td{color:#333;padding:10px 14px;vertical-align:middle}.pc-table .pc-num{color:#2563eb;font-weight:600}.pc-table .pc-amount{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;text-align:right;white-space:nowrap}.pc-table .pc-amount.positive{color:#16a34a}.pc-table .pc-amount.negative{color:#dc2626}.pc-badge{border-radius:999px;display:inline-block;font-size:11px;font-weight:600;padding:3px 10px;text-transform:capitalize;white-space:nowrap}.pc-badge.draft{background:#f3f4f6;color:#6b7280}.pc-badge.pending,.pc-badge.submitted{background:#fef3c7;color:#92400e}.pc-badge.approved,.pc-badge.executed,.pc-badge.paid{background:#dcfce7;color:#166534}.pc-badge.rejected,.pc-badge.terminated,.pc-badge.void{background:#fee2e2;color:#991b1b}.pc-badge.under_review{background:#e0e7ff;color:#3730a3}.pc-badge.complete{background:#d1fae5;color:#065f46}.pc-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:8px 16px;transition:all .15s}.pc-btn-primary{background:#2563eb;color:#fff}.pc-btn-primary:hover{background:#1d4ed8}.pc-btn-sm{font-size:12px;padding:5px 10px}.pc-btn-ghost{background:#0000;border:1px solid #d1d5db;color:#666}.pc-btn-ghost:hover{background:#f3f4f6}.pc-btn-danger{background:#fee2e2;color:#dc2626}.pc-btn-danger:hover{background:#fecaca}.pc-modal-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}.pc-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-height:85vh;max-width:95vw;overflow-y:auto;width:560px}.pc-modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:18px 24px}.pc-modal-header h2{font-size:18px;font-weight:700;margin:0}.pc-modal-close{background:none;border:none;color:#999;cursor:pointer;font-size:20px;padding:4px}.pc-modal-close:hover{color:#333}.pc-modal-body{padding:20px 24px}.pc-modal-footer{border-top:1px solid #e5e7eb;display:flex;gap:10px;justify-content:flex-end;padding:14px 24px}.pc-field{margin-bottom:14px}.pc-field label{color:#555;display:block;font-size:12px;font-weight:600;margin-bottom:4px}.pc-field input,.pc-field select,.pc-field textarea{background:#fff;border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;color:#333;font-size:13px;padding:8px 12px;width:100%}.pc-field textarea{min-height:70px;resize:vertical}.pc-field-row{display:flex;gap:12px}.pc-field-row .pc-field{flex:1 1}.pc-empty{color:#888;padding:60px 20px;text-align:center}.pc-empty-icon{font-size:48px;margin-bottom:12px}.pc-empty h3{color:#555;font-size:16px;margin:0 0 6px}.pc-empty p{font-size:13px;margin:0}.pc-loading{color:#888;font-size:14px;padding:60px 20px;text-align:center}.pc-actions{display:flex;gap:6px;white-space:nowrap}.pc-table tbody tr.editing{background:#eff6ff}.pc-table .pc-inline-input{border:1px solid #93c5fd;border-radius:4px;box-sizing:border-box;font-size:13px;min-width:60px;padding:4px 8px;width:100%}@media (max-width:768px){.pc-field-row,.pc-header,.pc-summary-row{flex-direction:column}.pc-header{align-items:flex-start}}@page{size:letter landscape;margin:.3in .35in}@media print{body,html{background:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}#root,#root>div,[class*=App],[class*=app-],body,html{margin:0!important;padding:0!important}*,:after,:before{box-shadow:none!important}body.print-preview-active .pc-page>:not(.print-preview-overlay):not(.waiver-preview-overlay){display:none!important;height:0!important;margin:0!important;overflow:hidden!important;padding:0!important}body.print-preview-active .pc-page>.print-preview-overlay,body.print-preview-active .pc-page>.waiver-preview-overlay{display:block!important}body.print-preview-active .dashboard-header,body.print-preview-active .dashboard-sidebar,body.print-preview-active .sidebar,body.print-preview-active header,body.print-preview-active nav{display:none!important}body.print-preview-active .dashboard-content-wrapper{margin:0!important;padding:0!important}body.print-preview-active .dashboard-main,body.print-preview-active .main-content,body.print-preview-active [class*=dashboard-main],body.print-preview-active [class*=layout]{margin:0!important;min-height:0!important;padding:0!important;width:100%!important}body.print-preview-active .pc-page{margin:0!important;max-width:100%!important;padding:0!important}.print-preview-overlay{background:#fff!important;display:block!important;height:auto!important;margin:0!important;overflow:visible!important;padding:0!important;position:static!important;width:100%!important}.no-print,.print-preview-toolbar{display:none!important}.print-preview-content{display:block!important;height:auto!important;margin:0!important;overflow:visible!important;padding:0!important}.print-preview-overlay:not(.waiver-preview-overlay) .print-preview-content>div,.waiver-preview-overlay .print-preview-content>div{border-radius:0!important;box-shadow:none!important;margin:0!important;max-width:100%!important;padding:0!important;width:100%!important}.dashboard-header,.dashboard-sidebar,.sidebar{display:none!important}.dashboard-main,.main-content{margin:0!important;padding:0!important;width:100%!important}.pc-page{margin:0!important;max-width:100%!important;padding:0!important}.g702-form{border:2px solid #000!important;border-radius:0!important;font-size:9px!important;line-height:1.2!important;margin:0 auto!important;padding:0!important;page-break-after:always;page-break-inside:avoid;width:100%!important}.g702-form>div{padding-bottom:2px!important;padding-top:2px!important}.g702-form input,.g702-form select,.g702-form textarea{font-size:9px!important;line-height:1.2!important}.g702-form table{font-size:9px!important}.g702-form table td{padding:2px 4px!important}.g703-form{border:2px solid #000!important;border-radius:0!important;margin:0 auto!important;padding:0!important;page-break-before:always;width:100%!important}.g703-form table{border-collapse:collapse!important;font-size:10px!important;width:100%!important}.g703-form table thead th{border-right:1px solid #999!important;font-size:8px!important;padding:4px 3px!important}.g703-form table tbody td{border-bottom:1px solid #ddd!important;font-size:10px!important;padding:3px 4px!important}.g703-form table tfoot td{font-size:10px!important;padding:4px!important}.pc-inline-input{-webkit-appearance:none!important;appearance:none!important;background:#0000!important;border:none!important;box-shadow:none!important;font-size:inherit!important;outline:none!important;padding:0!important;width:auto!important}.pc-inline-input::-webkit-inner-spin-button,.pc-inline-input::-webkit-outer-spin-button{-webkit-appearance:none!important;margin:0!important}.pc-amount{font-size:10px!important;padding:2px 4px!important}.waiver-page{background:#fff!important;border:none!important;font-family:Times New Roman,Times,serif!important;font-size:12px!important;line-height:1.6!important;margin:0 auto!important;padding:40px 50px!important}.waiver-page:first-child{page-break-before:avoid!important}.waiver-page+.waiver-page{page-break-before:always!important}body.waiver-print-active .print-preview-overlay:not(.waiver-preview-overlay){display:none!important}}.exp-container{margin:0 auto;max-width:1200px;padding:20px}.exp-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:20px}.exp-header h1{color:#1a1a2e;font-size:24px;font-weight:700;margin:0}.exp-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.exp-filter-select{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#334155;font-size:13px;min-width:140px;padding:8px 12px}.exp-add-btn{background:#1a1a2e;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:9px 18px;transition:background .15s}.exp-add-btn:hover{background:#2d2d44}.exp-summary{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:20px}.exp-summary-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;display:flex;flex-direction:column;gap:4px;padding:14px 18px}.exp-summary-label{color:#94a3b8;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.exp-summary-value{color:#1e293b;font-size:22px;font-weight:700}.exp-summary-amount .exp-summary-value{color:#059669}.exp-summary-pending .exp-summary-value{color:#f59e0b}.exp-summary-approved .exp-summary-value{color:#2563eb}.exp-error{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;font-size:13px;justify-content:space-between;margin-bottom:16px;padding:10px 16px}.exp-error button{background:none;border:none;color:#dc2626;cursor:pointer;font-size:18px}.exp-loading{color:#64748b;padding:60px 20px;text-align:center}.exp-spinner{animation:exp-spin .8s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#1a1a2e;height:36px;margin:0 auto 16px;width:36px}@keyframes exp-spin{to{transform:rotate(1turn)}}.exp-empty{color:#64748b;padding:60px 20px;text-align:center}.exp-empty-icon{font-size:48px;margin-bottom:12px}.exp-empty h3{color:#334155;margin:0 0 6px}.exp-empty p{font-size:14px;margin:0 0 16px}.exp-table-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.exp-table{border-collapse:collapse;font-size:13px;width:100%}.exp-table thead{background:#f8fafc;border-bottom:2px solid #e2e8f0}.exp-table th{color:#64748b;font-size:11px;font-weight:700;letter-spacing:.5px;padding:10px 14px;text-align:left;text-transform:uppercase;white-space:nowrap}.exp-table td{border-bottom:1px solid #f1f5f9;padding:12px 14px;vertical-align:middle}.exp-col-amount{text-align:right}.exp-row{cursor:pointer;transition:background .1s}.exp-row:hover{background:#f8fafc}.exp-row.editing{background:#eff6ff}.exp-row.exp-locked{cursor:default;opacity:.85}.exp-cat-badge{align-items:center;display:inline-flex;font-size:12px;gap:4px;white-space:nowrap}.exp-desc-cell{max-width:200px}.exp-vehicle-tag{color:#6366f1;display:block;font-size:11px;margin-top:2px}.exp-status{border-radius:12px;display:inline-block;font-size:11px;font-weight:600;padding:3px 10px;text-transform:capitalize}.exp-pending{background:#fffbeb;color:#b45309}.exp-approved{background:#ecfdf5;color:#047857}.exp-rejected{background:#fef2f2;color:#dc2626}.exp-actions-cell{align-items:center;display:flex;gap:6px}.exp-receipt-link{font-size:16px;opacity:.7;text-decoration:none;transition:opacity .15s}.exp-receipt-link:hover{opacity:1}.exp-delete-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;display:flex;height:28px;justify-content:center;transition:all .15s;width:28px}.exp-delete-btn:hover{background:#fef2f2;color:#dc2626}.exp-edit-row td{background:#fafbfc;padding:0}.exp-inline-edit{padding:16px 20px}.exp-edit-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:14px}.exp-form-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.exp-form-group{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:140px}.exp-form-group.exp-full{flex:1 1 100%}.exp-form-group label{color:#475569;font-size:12px;font-weight:600}.exp-form-group input,.exp-form-group select,.exp-form-group textarea{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#334155;font-size:13px;padding:8px 10px;transition:border-color .15s}.exp-form-group input:focus,.exp-form-group select:focus,.exp-form-group textarea:focus{border-color:#6366f1;outline:none}.exp-gas-fields{background:#fefce8;border:1px solid #fef08a;border-radius:8px;margin-bottom:12px;padding:12px}.exp-receipt-section{margin-top:4px}.exp-receipt-section>label{color:#475569;display:block;font-size:12px;font-weight:600;margin-bottom:6px}.exp-receipt-row{align-items:center;display:flex;gap:8px}.exp-receipt-btn{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:6px;color:#64748b;cursor:pointer;font-size:12px;padding:7px 14px;transition:all .15s}.exp-receipt-btn:hover{border-color:#6366f1;color:#6366f1}.exp-receipt-preview{align-items:center;background:#f1f5f9;border-radius:6px;display:flex;gap:8px;padding:4px 8px}.exp-receipt-preview img{border-radius:4px;height:40px;object-fit:cover;width:40px}.exp-receipt-file{color:#475569;font-size:12px}.exp-receipt-remove{align-items:center;background:#dc2626;border-radius:50%;display:flex;font-size:14px;height:20px;justify-content:center;width:20px}.exp-btn-primary,.exp-receipt-remove{border:none;color:#fff;cursor:pointer}.exp-btn-primary{background:#1a1a2e;border-radius:6px;font-size:13px;font-weight:600;padding:8px 20px}.exp-btn-primary:hover{background:#2d2d44}.exp-btn-primary:disabled{cursor:not-allowed;opacity:.5}.exp-btn-secondary{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#475569;cursor:pointer;font-size:13px;font-weight:600;padding:8px 20px}.exp-btn-secondary:hover{background:#f8fafc}.exp-btn-danger{background:#dc2626;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 20px}.exp-btn-danger:hover{background:#b91c1c}.exp-modal-overlay{align-items:center;background:#0006;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:9999}.exp-modal{background:#fff;border-radius:14px;box-shadow:0 20px 60px #0003;max-height:90vh;max-width:640px;overflow-y:auto;width:100%}.exp-modal.exp-modal-sm{max-width:400px}.exp-modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:18px 24px}.exp-modal-header h2{color:#1a1a2e;font-size:18px;font-weight:700;margin:0}.exp-modal-close{background:#0000;border:none;border-radius:8px;color:#94a3b8;cursor:pointer;font-size:20px;height:32px;width:32px}.exp-modal-close:hover{background:#f1f5f9;color:#475569}.exp-modal-body{padding:20px 24px}.exp-modal-footer{border-top:1px solid #e2e8f0;display:flex;gap:8px;justify-content:flex-end;padding:14px 24px}.exp-warning{color:#dc2626;font-size:13px;margin-top:8px}@media (max-width:768px){.exp-header{align-items:flex-start}.exp-form-row,.exp-header{flex-direction:column}.exp-form-group{min-width:100%}.exp-summary{grid-template-columns:repeat(2,1fr)}}.exr-container{margin:0 auto;max-width:1200px;padding:20px}.exr-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:20px}.exr-header h1{color:#1a1a2e;font-size:24px;font-weight:700;margin:0}.exr-header-actions{display:flex;flex-wrap:wrap;gap:10px}.exr-filter{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#334155;font-size:13px;min-width:150px;padding:8px 12px}.exr-summary{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:20px}.exr-summary-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;display:flex;flex-direction:column;gap:4px;padding:14px 18px}.exr-summary-label{color:#94a3b8;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.exr-summary-value{color:#1e293b;font-size:22px;font-weight:700}.exr-summary-pending .exr-summary-value{color:#f59e0b}.exr-summary-amount .exr-summary-value{color:#059669}.exr-error{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;font-size:13px;justify-content:space-between;margin-bottom:16px;padding:10px 16px}.exr-error button{background:none;border:none;color:#dc2626;cursor:pointer;font-size:18px}.exr-loading{color:#64748b;padding:60px 20px;text-align:center}.exr-spinner{animation:exr-spin .8s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#1a1a2e;height:36px;margin:0 auto 16px;width:36px}@keyframes exr-spin{to{transform:rotate(1turn)}}.exr-empty{color:#64748b;padding:60px 20px;text-align:center}.exr-empty-icon{font-size:48px;margin-bottom:12px}.exr-empty h3{color:#334155;margin:0 0 6px}.exr-empty p{font-size:14px;margin:0}.exr-table-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.exr-table{border-collapse:collapse;font-size:13px;width:100%}.exr-table thead{background:#f8fafc;border-bottom:2px solid #e2e8f0}.exr-table th{color:#64748b;font-size:11px;font-weight:700;letter-spacing:.5px;padding:10px 14px;text-align:left;text-transform:uppercase;white-space:nowrap}.exr-table td{border-bottom:1px solid #f1f5f9;padding:12px 14px}.exr-col-amount{text-align:right}.exr-row{cursor:pointer;transition:background .1s}.exr-row:hover{background:#f8fafc}.exr-emp-name{color:#1e293b;font-weight:600}.exr-amount-val{color:#059669;font-weight:700}.exr-approved-by{color:#64748b;font-size:12px}.exr-status{border-radius:12px;display:inline-block;font-size:11px;font-weight:600;padding:3px 10px;text-transform:capitalize}.exr-draft{background:#f1f5f9;color:#64748b}.exr-submitted{background:#fffbeb;color:#b45309}.exr-approved{background:#ecfdf5;color:#047857}.exr-rejected{background:#fef2f2;color:#dc2626}.exr-back-btn{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;margin-bottom:20px;padding:8px 16px;transition:all .15s}.exr-back-btn:hover{background:#e2e8f0}.exr-detail-header{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:16px;padding:20px 24px}.exr-detail-title{align-items:center;display:flex;gap:12px;margin-bottom:12px}.exr-detail-title h2{color:#1a1a2e;font-size:20px;font-weight:700;margin:0}.exr-detail-meta{color:#475569;display:flex;flex-wrap:wrap;font-size:14px;gap:20px}.exr-detail-total{color:#059669;font-size:18px;font-weight:700}.exr-action-bar{display:flex;gap:10px;margin-bottom:16px}.exr-btn-approve{background:#059669;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:background .15s}.exr-btn-approve:hover{background:#047857}.exr-btn-approve:disabled{cursor:not-allowed;opacity:.5}.exr-btn-reject{background:#fff;border:1px solid #fecaca;border-radius:8px;color:#dc2626;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .15s}.exr-btn-reject:hover{background:#fef2f2}.exr-btn-reject:disabled{cursor:not-allowed;opacity:.5}.exr-detail-expenses{margin-bottom:20px}.exr-cat-group{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:12px;overflow:hidden}.exr-cat-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#1e293b;display:flex;font-size:14px;font-weight:600;justify-content:space-between;padding:12px 18px}.exr-cat-total{color:#059669;font-weight:700}.exr-detail-table{border-collapse:collapse;font-size:13px;width:100%}.exr-detail-table th{border-bottom:1px solid #f1f5f9;color:#94a3b8;font-size:11px;font-weight:600;letter-spacing:.5px;padding:8px 14px;text-align:left;text-transform:uppercase}.exr-detail-table td{border-bottom:1px solid #f8fafc;padding:10px 14px}.exr-receipt-link{color:#6366f1;font-size:12px;font-weight:500;text-decoration:none}.exr-receipt-link:hover{text-decoration:underline}.exr-grand-total{align-items:center;background:#1a1a2e;border-radius:10px;color:#fff;display:flex;font-size:16px;font-weight:700;justify-content:space-between;padding:16px 20px}.exr-print-bar{display:flex;justify-content:flex-end;margin-top:16px}.exr-btn-print{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;font-size:13px;font-weight:600;padding:10px 24px;transition:all .15s}.exr-btn-print:hover{background:#f8fafc;border-color:#cbd5e1}@media print{.exr-action-bar,.exr-back-btn,.exr-header-actions,.exr-print-bar{display:none!important}.exr-container{max-width:100%;padding:0}.exr-cat-group,.exr-detail-header,.exr-grand-total{break-inside:avoid;page-break-inside:avoid}}@media (max-width:768px){.exr-header{align-items:flex-start;flex-direction:column}.exr-detail-meta{flex-direction:column;gap:6px}.exr-summary{grid-template-columns:repeat(2,1fr)}}.cct-container{margin:0 auto;max-width:1100px;padding:20px}.cct-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:20px}.cct-header h1{color:#1a1a2e;font-size:24px;font-weight:700;margin:0 0 4px}.cct-header-sub{color:#64748b;font-size:13px;margin:0;max-width:600px}.cct-header-actions{align-items:center;display:flex;gap:12px}.cct-unsaved{background:#fffbeb;border:1px solid #fef08a;border-radius:6px;color:#f59e0b;font-size:12px;font-weight:600;padding:4px 10px}.cct-save-btn{background:#1a1a2e;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:9px 22px;transition:background .15s}.cct-save-btn:hover{background:#2d2d44}.cct-save-btn:disabled{cursor:not-allowed;opacity:.5}.cct-error{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;font-size:13px;justify-content:space-between;margin-bottom:16px;padding:10px 16px}.cct-error button{background:none;border:none;color:#dc2626;cursor:pointer;font-size:18px}.cct-success{align-items:center;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;color:#047857;display:flex;font-size:13px;justify-content:space-between;margin-bottom:16px;padding:10px 16px}.cct-success button{background:none;border:none;color:#047857;cursor:pointer;font-size:18px}.cct-loading{color:#64748b;padding:60px 20px;text-align:center}.cct-spinner{animation:cct-spin .8s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#1a1a2e;height:36px;margin:0 auto 16px;width:36px}@keyframes cct-spin{to{transform:rotate(1turn)}}.cct-stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:20px}.cct-stat{background:#fff;border:1px solid #e2e8f0;border-radius:10px;display:flex;flex-direction:column;gap:2px;padding:14px 18px}.cct-stat-val{color:#1a1a2e;font-size:22px;font-weight:700}.cct-stat-label{color:#94a3b8;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.cct-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:16px;padding:20px 24px}.cct-card-title{color:#1a1a2e;font-size:16px;font-weight:700;margin:0 0 4px}.cct-card-desc{color:#64748b;font-size:13px;margin:0 0 16px}.cct-card-header-row{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:4px}.cct-presets-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.cct-preset-btn{background:#f8fafc;border:2px solid #e2e8f0;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:14px 16px;text-align:left;transition:all .15s}.cct-preset-btn:hover{background:#faf5ff;border-color:#6366f1}.cct-preset-btn.active{background:#eef2ff;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.cct-preset-icon{font-size:22px}.cct-preset-label{color:#1e293b;font-size:13px;font-weight:700}.cct-preset-desc{color:#64748b;font-size:11px;line-height:1.4}.cct-preset-count{align-self:flex-start;background:#eef2ff;border-radius:10px;color:#6366f1;font-size:10px;font-weight:600;margin-top:4px;padding:2px 8px}.cct-bulk-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.cct-search{border:1px solid #e2e8f0;border-radius:6px;color:#334155;font-size:13px;min-width:200px;padding:7px 12px}.cct-search:focus{border-color:#6366f1;outline:none}.cct-bulk-btn{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;color:#475569;cursor:pointer;font-size:12px;font-weight:600;padding:7px 14px;transition:all .15s}.cct-bulk-btn:hover{background:#e2e8f0}.cct-bulk-clear{color:#dc2626}.cct-bulk-clear:hover{background:#fef2f2;border-color:#fecaca}.cct-divisions{display:flex;flex-direction:column;gap:6px}.cct-division{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;transition:all .15s}.cct-division.enabled{background:#fafbff;border-color:#c7d2fe}.cct-div-row{gap:12px;padding:12px 16px}.cct-div-row,.cct-div-toggle{align-items:center;display:flex}.cct-div-toggle{cursor:pointer;flex-shrink:0;position:relative}.cct-div-toggle input{height:0;opacity:0;position:absolute;width:0}.cct-div-check{align-items:center;background:#fff;border:2px solid #cbd5e1;border-radius:6px;display:flex;height:22px;justify-content:center;transition:all .15s;width:22px}.cct-div-toggle input:checked+.cct-div-check{background:#6366f1;border-color:#6366f1}.cct-div-toggle input:checked+.cct-div-check:after{color:#fff;content:"✓";font-size:13px;font-weight:700}.cct-div-info{cursor:pointer;flex:1 1;min-width:0}.cct-div-header{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.cct-div-number{background:#eef2ff;border-radius:4px;color:#6366f1;font-size:11px;font-weight:700;padding:2px 8px;white-space:nowrap}.cct-div-name{color:#1e293b;font-size:14px;font-weight:600}.cct-div-count{color:#94a3b8;font-size:11px;margin-left:auto;white-space:nowrap}.cct-div-desc{color:#64748b;font-size:12px;margin:4px 0 0}.cct-div-expand{align-items:center;background:#0000;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;display:flex;flex-shrink:0;height:30px;justify-content:center;transition:all .15s;width:30px}.cct-div-expand:hover{background:#f1f5f9;color:#475569}.cct-codes-list{border-top:1px solid #f1f5f9;padding:0 16px 14px}.cct-codes-table{border-collapse:collapse;font-size:12px;margin-top:8px;width:100%}.cct-codes-table th{border-bottom:1px solid #f1f5f9;color:#94a3b8;font-size:10px;font-weight:700;letter-spacing:.5px;padding:6px 10px;text-align:left;text-transform:uppercase}.cct-codes-table td{border-bottom:1px solid #f8fafc;color:#334155;padding:6px 10px}.cct-code-num{color:#6366f1;font-family:SF Mono,Fira Code,monospace;font-weight:600;white-space:nowrap}.cct-code-disabled td{color:#cbd5e1}.cct-add-custom-btn{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:6px;color:#64748b;cursor:pointer;font-size:12px;font-weight:600;padding:7px 16px;transition:all .15s;white-space:nowrap}.cct-add-custom-btn:hover{border-color:#6366f1;color:#6366f1}.cct-custom-empty{padding:20px;text-align:center}.cct-custom-empty p{color:#94a3b8;font-size:13px;margin:0}.cct-custom-list{display:flex;flex-direction:column;gap:4px;margin-top:12px}.cct-custom-row{align-items:center;background:#f8fafc;border-radius:6px;display:flex;gap:12px;padding:8px 12px}.cct-custom-code{color:#6366f1;font-family:SF Mono,Fira Code,monospace;font-size:13px;font-weight:600;min-width:80px}.cct-custom-label{color:#334155;flex:1 1;font-size:13px}.cct-custom-remove{align-items:center;background:#0000;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;display:flex;height:26px;justify-content:center;transition:all .15s;width:26px}.cct-custom-remove:hover{background:#fef2f2;color:#dc2626}.cct-custom-form{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:8px;margin-top:12px;padding:12px}.cct-custom-input{border:1px solid #e2e8f0;border-radius:6px;color:#334155;font-size:13px;min-width:100px;padding:7px 10px}.cct-custom-input:focus{border-color:#6366f1;outline:none}.cct-custom-input-wide{flex:1 1}.cct-custom-save{background:#6366f1;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:7px 16px}.cct-custom-save:hover{background:#4f46e5}.cct-custom-cancel{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#475569;cursor:pointer;font-size:12px;font-weight:600;padding:7px 16px}.cct-custom-cancel:hover{background:#f8fafc}.cct-bottom-save{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;bottom:0;box-shadow:0 -4px 20px #0000000f;display:flex;gap:12px;justify-content:flex-end;margin-top:8px;padding:14px 20px;position:sticky}.cct-custom-header-btns{display:flex;flex-wrap:wrap;gap:8px}.cct-modal-overlay{align-items:center;background:#0006;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:9999}.cct-modal{background:#fff;border-radius:14px;box-shadow:0 20px 60px #0003;display:flex;flex-direction:column;max-height:80vh;max-width:600px;width:100%}.cct-modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:18px 24px}.cct-modal-header h2{color:#1a1a2e;font-size:18px;font-weight:700;margin:0}.cct-modal-close{background:#0000;border:none;border-radius:8px;color:#94a3b8;cursor:pointer;font-size:20px;height:32px;width:32px}.cct-modal-close:hover{background:#f1f5f9;color:#475569}.cct-modal-body{flex:1 1;overflow-y:auto;padding:20px 24px}.cct-modal-footer{border-top:1px solid #e2e8f0;display:flex;gap:8px;justify-content:flex-end;padding:14px 24px}.cct-import-info{color:#475569;font-size:13px;margin:0 0 12px}.cct-import-table-wrap{border:1px solid #e2e8f0;border-radius:8px;max-height:400px;overflow-y:auto}@media (max-width:768px){.cct-header{flex-direction:column}.cct-presets-grid{grid-template-columns:1fr}.cct-bulk-actions{align-items:stretch;flex-direction:column}.cct-search{min-width:100%}.cct-stats{grid-template-columns:repeat(2,1fr)}.cct-custom-form{flex-wrap:wrap}}.vnd-container{margin:0 auto;max-width:1200px;padding:20px}.vnd-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:20px}.vnd-header h1{color:#1a1a2e;font-size:24px;font-weight:700;margin:0}.vnd-subtitle{color:#64748b;font-size:13px;margin:4px 0 0}.vnd-add-btn{background:#1a1a2e;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:9px 18px}.vnd-add-btn:hover{background:#2d2d44}.vnd-error{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;font-size:13px;justify-content:space-between;margin-bottom:16px;padding:10px 16px}.vnd-error button{background:none;border:none;color:#dc2626;cursor:pointer;font-size:18px}.vnd-success{align-items:center;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;color:#047857;display:flex;font-size:13px;justify-content:space-between;margin-bottom:16px;padding:10px 16px}.vnd-success button{background:none;border:none;color:#047857;cursor:pointer;font-size:18px}.vnd-stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-bottom:20px}.vnd-stat{background:#fff;border:1px solid #e2e8f0;border-radius:10px;display:flex;flex-direction:column;gap:2px;padding:14px 18px}.vnd-stat-label{color:#94a3b8;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.vnd-stat-val{color:#1e293b;font-size:22px;font-weight:700}.vnd-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.vnd-search-wrap{flex:1 1;min-width:200px;position:relative}.vnd-search-wrap svg{left:12px;position:absolute;top:50%;transform:translateY(-50%)}.vnd-search{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#334155;font-size:13px;padding:9px 12px 9px 36px;width:100%}.vnd-search:focus{border-color:#6366f1;outline:none}.vnd-filter{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#334155;font-size:13px;min-width:130px;padding:9px 12px}.vnd-loading{color:#64748b;padding:60px 20px;text-align:center}.vnd-spinner{animation:vnd-spin .8s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#1a1a2e;height:36px;margin:0 auto 16px;width:36px}@keyframes vnd-spin{to{transform:rotate(1turn)}}.vnd-empty{color:#64748b;padding:60px 20px;text-align:center}.vnd-empty-icon{font-size:48px;margin-bottom:12px}.vnd-empty h3{color:#334155;margin:0 0 6px}.vnd-empty p{font-size:14px;margin:0 0 16px}.vnd-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.vnd-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px;transition:box-shadow .15s}.vnd-card:hover{box-shadow:0 4px 16px #0000000f}.vnd-card.vnd-inactive{opacity:.55}.vnd-card.vnd-editing{border-color:#6366f1;box-shadow:0 0 0 2px #6366f126}.vnd-card-top{align-items:flex-start;display:flex;gap:8px;justify-content:space-between;margin-bottom:4px}.vnd-card-name{color:#1a1a2e;font-size:16px;font-weight:700}.vnd-type-badge{border-radius:12px;display:inline-block;flex-shrink:0;font-size:11px;font-weight:600;padding:3px 10px;white-space:nowrap}.vnd-card-trade{color:#6366f1;font-size:13px;font-weight:600;margin-bottom:10px}.vnd-card-details{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.vnd-detail-row{align-items:center;color:#475569;display:flex;font-size:13px;gap:8px}.vnd-detail-row a{color:#6366f1;text-decoration:none}.vnd-detail-row a:hover{text-decoration:underline}.vnd-card-notes{background:#f8fafc;border-radius:6px;color:#94a3b8;font-size:12px;font-style:italic;margin:8px 0;padding:8px 10px}.vnd-card-actions{border-top:1px solid #f1f5f9;display:flex;gap:8px;margin-top:12px;padding-top:12px}.vnd-action-btn{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;color:#475569;cursor:pointer;font-size:12px;font-weight:600;padding:5px 14px}.vnd-action-btn:hover{background:#e2e8f0}.vnd-action-btn.vnd-danger{color:#dc2626}.vnd-action-btn.vnd-danger:hover{background:#fef2f2;border-color:#fecaca}.vnd-action-btn.vnd-reactivate{color:#059669}.vnd-action-btn.vnd-reactivate:hover{background:#ecfdf5;border-color:#a7f3d0}.vnd-edit-form{display:flex;flex-direction:column;gap:0}.vnd-edit-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:14px}.vnd-form-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.vnd-form-group{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:140px}.vnd-form-group.vnd-full{flex:1 1 100%}.vnd-form-group.vnd-addr{flex:2 1;min-width:200px}.vnd-form-group.vnd-sm{flex:0 0 80px;min-width:70px}.vnd-form-group label{color:#475569;font-size:12px;font-weight:600}.vnd-form-group input,.vnd-form-group select,.vnd-form-group textarea{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#334155;font-size:13px;padding:8px 10px}.vnd-form-group input:focus,.vnd-form-group select:focus,.vnd-form-group textarea:focus{border-color:#6366f1;outline:none}.vnd-btn-primary{background:#1a1a2e;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:9px 20px}.vnd-btn-primary:hover{background:#2d2d44}.vnd-btn-primary:disabled{cursor:not-allowed;opacity:.5}.vnd-btn-secondary{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#475569;cursor:pointer;font-size:13px;font-weight:600;padding:9px 20px}.vnd-btn-secondary:hover{background:#f8fafc}.vnd-btn-danger{background:#dc2626;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:9px 20px}.vnd-btn-danger:hover{background:#b91c1c}.vnd-modal-overlay{align-items:center;background:#0006;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:9999}.vnd-modal{background:#fff;border-radius:14px;box-shadow:0 20px 60px #0003;max-height:90vh;max-width:640px;overflow-y:auto;width:100%}.vnd-modal.vnd-modal-sm{max-width:400px}.vnd-modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:18px 24px}.vnd-modal-header h2{color:#1a1a2e;font-size:18px;font-weight:700;margin:0}.vnd-modal-close{background:#0000;border:none;border-radius:8px;color:#94a3b8;cursor:pointer;font-size:20px;height:32px;width:32px}.vnd-modal-close:hover{background:#f1f5f9;color:#475569}.vnd-modal-body{padding:20px 24px}.vnd-modal-footer{border-top:1px solid #e2e8f0;display:flex;gap:8px;justify-content:flex-end;padding:14px 24px}@media (max-width:768px){.vnd-header{align-items:flex-start}.vnd-form-row,.vnd-header{flex-direction:column}.vnd-form-group,.vnd-form-group.vnd-addr,.vnd-form-group.vnd-sm{flex:1 1 100%;min-width:100%}.vnd-grid{grid-template-columns:1fr}}.jc-container{margin:0 auto;max-width:1200px;padding:20px}.jc-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:20px}.jc-header h1{color:#1a1a2e;font-size:24px;font-weight:700;margin:0}.jc-header-actions{align-items:center;display:flex;gap:10px}.jc-view-toggle{border:1px solid #e2e8f0;border-radius:8px;display:flex;overflow:hidden}.jc-view-btn{background:#fff;border:none;color:#64748b;cursor:pointer;font-size:12px;font-weight:600;padding:7px 16px;transition:all .15s}.jc-view-btn.active{background:#1a1a2e;color:#fff}.jc-view-btn:not(.active):hover{background:#f1f5f9}.jc-add-btn{background:#1a1a2e;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:9px 18px}.jc-add-btn:hover{background:#2d2d44}.jc-error{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;font-size:13px;justify-content:space-between;margin-bottom:16px;padding:10px 16px}.jc-error button{background:none;border:none;color:#dc2626;cursor:pointer;font-size:18px}.jc-success{align-items:center;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;color:#047857;display:flex;font-size:13px;justify-content:space-between;margin-bottom:16px;padding:10px 16px}.jc-success button{background:none;border:none;color:#047857;cursor:pointer;font-size:18px}.jc-stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:20px}.jc-stat{background:#fff;border:1px solid #e2e8f0;border-radius:10px;display:flex;flex-direction:column;gap:2px;padding:14px 18px}.jc-stat-label{color:#94a3b8;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.jc-stat-val{color:#1e293b;font-size:20px;font-weight:700}.jc-stat-total{border-left:3px solid #1a1a2e}.jc-stat-total .jc-stat-val{color:#1a1a2e}.jc-loading{color:#64748b;padding:60px 20px;text-align:center}.jc-spinner{animation:jc-spin .8s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#1a1a2e;height:36px;margin:0 auto 16px;width:36px}@keyframes jc-spin{to{transform:rotate(1turn)}}.jc-empty{color:#64748b;padding:60px 20px;text-align:center}.jc-empty-icon{font-size:48px;margin-bottom:12px}.jc-empty h3{color:#334155;margin:0 0 6px}.jc-empty p{font-size:14px;margin:0 0 16px}.jc-summary-table-wrap,.jc-table-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.jc-table{border-collapse:collapse;font-size:13px;width:100%}.jc-table thead{background:#f8fafc;border-bottom:2px solid #e2e8f0}.jc-table th{color:#64748b;font-size:11px;font-weight:700;letter-spacing:.5px;padding:10px 14px;text-align:left;text-transform:uppercase;white-space:nowrap}.jc-table td{border-bottom:1px solid #f1f5f9;padding:12px 14px;vertical-align:middle}.jc-col-amount{text-align:right}.jc-amount-val{color:#059669;font-weight:700}.jc-code-cell{color:#6366f1;font-family:SF Mono,Fira Code,monospace;font-size:12px;font-weight:600}.jc-desc-cell{max-width:200px}.jc-total-cell{color:#1a1a2e;font-weight:700}.jc-summary-row{cursor:pointer;transition:background .1s}.jc-grand-row,.jc-summary-row:hover{background:#f8fafc}.jc-grand-row{border-top:2px solid #e2e8f0}.jc-type-badge{font-size:11px;white-space:nowrap}.jc-source-badge,.jc-type-badge{border-radius:10px;display:inline-block;font-weight:600;padding:2px 8px}.jc-source-badge{font-size:10px}.jc-src-manual{background:#f1f5f9;color:#64748b}.jc-src-vendor_invoice{background:#eef2ff;color:#6366f1}.jc-src-expense{background:#ecfdf5;color:#047857}.jc-row{cursor:pointer;transition:background .1s}.jc-row:hover{background:#f8fafc}.jc-row.editing{background:#eff6ff}.jc-row.jc-auto{cursor:default;opacity:.85}.jc-actions{display:flex;gap:4px}.jc-del-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;display:flex;height:28px;justify-content:center;width:28px}.jc-del-btn:hover{background:#fef2f2;color:#dc2626}.jc-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.jc-filter{background:#fff;color:#334155;font-size:13px;min-width:140px;padding:8px 12px}.jc-clear-filter,.jc-filter{border:1px solid #e2e8f0;border-radius:8px}.jc-clear-filter{background:#f1f5f9;color:#dc2626;cursor:pointer;font-size:12px;font-weight:600;padding:8px 14px}.jc-clear-filter:hover{background:#fef2f2;border-color:#fecaca}.jc-edit-row td{background:#fafbfc;padding:0}.jc-inline-edit{padding:16px 20px}.jc-edit-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:14px}.jc-form-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.jc-form-group{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:140px}.jc-form-group.jc-full{flex:1 1 100%}.jc-form-group label{color:#475569;font-size:12px;font-weight:600}.jc-form-group input,.jc-form-group select,.jc-form-group textarea{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#334155;font-size:13px;padding:8px 10px}.jc-form-group input:focus,.jc-form-group select:focus,.jc-form-group textarea:focus{border-color:#6366f1;outline:none}.jc-btn-primary{background:#1a1a2e;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 20px}.jc-btn-primary:hover{background:#2d2d44}.jc-btn-primary:disabled{cursor:not-allowed;opacity:.5}.jc-btn-secondary{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#475569;cursor:pointer;font-size:13px;font-weight:600;padding:8px 20px}.jc-btn-secondary:hover{background:#f8fafc}.jc-btn-danger{background:#dc2626;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 20px}.jc-btn-danger:hover{background:#b91c1c}.jc-modal-overlay{align-items:center;background:#0006;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:9999}.jc-modal{background:#fff;border-radius:14px;box-shadow:0 20px 60px #0003;max-height:90vh;max-width:640px;overflow-y:auto;width:100%}.jc-modal.jc-modal-sm{max-width:400px}.jc-modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:18px 24px}.jc-modal-header h2{color:#1a1a2e;font-size:18px;font-weight:700;margin:0}.jc-modal-close{background:#0000;border:none;border-radius:8px;color:#94a3b8;cursor:pointer;font-size:20px;height:32px;width:32px}.jc-modal-close:hover{background:#f1f5f9;color:#475569}.jc-modal-body{padding:20px 24px}.jc-modal-footer{border-top:1px solid #e2e8f0;display:flex;gap:8px;justify-content:flex-end;padding:14px 24px}@media (max-width:768px){.jc-header{align-items:flex-start}.jc-form-row,.jc-header{flex-direction:column}.jc-form-group{min-width:100%}.jc-stats{grid-template-columns:repeat(2,1fr)}}.via-container{margin:0 auto;max-width:1200px;padding:20px}.via-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:20px}.via-header h1{color:#1a1a2e;font-size:24px;font-weight:700;margin:0}.via-header-actions{display:flex;flex-wrap:wrap;gap:10px}.via-filter{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#334155;font-size:13px;min-width:150px;padding:8px 12px}.via-add-btn{background:#1a1a2e;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:9px 18px}.via-add-btn:hover{background:#2d2d44}.via-error{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;font-size:13px;justify-content:space-between;margin-bottom:16px;padding:10px 16px}.via-error button{background:none;border:none;color:#dc2626;cursor:pointer;font-size:18px}.via-success{align-items:center;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;color:#047857;display:flex;font-size:13px;justify-content:space-between;margin-bottom:16px;padding:10px 16px}.via-success button{background:none;border:none;color:#047857;cursor:pointer;font-size:18px}.via-stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:20px}.via-stat{background:#fff;border:1px solid #e2e8f0;border-radius:10px;display:flex;flex-direction:column;gap:2px;padding:14px 18px}.via-stat-label{color:#94a3b8;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.via-stat-val{color:#1e293b;font-size:22px;font-weight:700}.via-stat-amount .via-stat-val{color:#059669}.via-stat-pending .via-stat-val{color:#f59e0b}.via-stat-approved .via-stat-val{color:#2563eb}.via-loading{color:#64748b;padding:60px 20px;text-align:center}.via-spinner{animation:via-spin .8s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#1a1a2e;height:36px;margin:0 auto 16px;width:36px}@keyframes via-spin{to{transform:rotate(1turn)}}.via-empty{color:#64748b;padding:60px 20px;text-align:center}.via-empty-icon{font-size:48px;margin-bottom:12px}.via-empty h3{color:#334155;margin:0 0 6px}.via-empty p{font-size:14px;margin:0 0 16px}.via-status{border-radius:12px;display:inline-block;font-size:11px;font-weight:600;padding:3px 10px;white-space:nowrap}.via-uploaded{background:#f1f5f9;color:#64748b}.via-coded{background:#eef2ff;color:#6366f1}.via-pending{background:#fffbeb;color:#b45309}.via-attention{background:#fff7ed;color:#c2410c}.via-approved{background:#ecfdf5;color:#047857}.via-rejected{background:#fef2f2;color:#dc2626}.via-paid{background:#ecfdf5;color:#059669}.via-table-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.via-table{border-collapse:collapse;font-size:13px;width:100%}.via-table thead{background:#f8fafc;border-bottom:2px solid #e2e8f0}.via-table th{color:#64748b;font-size:11px;font-weight:700;letter-spacing:.5px;padding:10px 14px;text-align:left;text-transform:uppercase;white-space:nowrap}.via-table td{border-bottom:1px solid #f1f5f9;padding:12px 14px}.via-col-amount{text-align:right}.via-amount-val{color:#059669;font-weight:700}.via-vendor-name{color:#1e293b;font-weight:600}.via-sub-by{color:#64748b;font-size:12px}.via-row{cursor:pointer;transition:background .1s}.via-back-btn,.via-row:hover{background:#f8fafc}.via-back-btn{align-items:center;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;margin-bottom:20px;padding:8px 16px}.via-back-btn:hover{background:#e2e8f0}.via-detail-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:16px;padding:20px 24px}.via-detail-top{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:12px}.via-detail-top h2{color:#1a1a2e;font-size:20px;font-weight:700;margin:0 0 6px}.via-detail-amount{color:#059669;font-size:24px;font-weight:700}.via-detail-meta{color:#475569;display:flex;flex-wrap:wrap;font-size:13px;gap:16px;margin-bottom:8px}.via-detail-desc{color:#64748b;font-size:13px;margin:8px 0 0}.via-rejection{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;padding:10px 14px}.via-rejection,.via-view-file{font-size:13px;margin-top:10px}.via-view-file{align-items:center;color:#6366f1;display:inline-flex;font-weight:600;gap:6px;text-decoration:none}.via-view-file:hover{text-decoration:underline}.via-action-bar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.via-btn-primary{background:#1a1a2e;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:9px 20px}.via-btn-primary:hover{background:#2d2d44}.via-btn-primary:disabled{cursor:not-allowed;opacity:.5}.via-btn-secondary{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;font-size:13px;font-weight:600;padding:9px 20px}.via-btn-secondary:hover{background:#f8fafc}.via-btn-submit{background:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:9px 20px}.via-btn-submit:hover{background:#1d4ed8}.via-btn-approve{background:#059669;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:9px 20px}.via-btn-approve:hover{background:#047857}.via-btn-approve:disabled{cursor:not-allowed;opacity:.5}.via-btn-reject{background:#fff;border:1px solid #fecaca;border-radius:8px;color:#dc2626;cursor:pointer;font-size:13px;font-weight:600;padding:9px 20px}.via-btn-reject:hover{background:#fef2f2}.via-btn-reject:disabled{cursor:not-allowed;opacity:.5}.via-btn-delete{background:#0000;border:1px solid #e2e8f0;border-radius:8px;color:#94a3b8;cursor:pointer;font-size:12px;font-weight:600;margin-left:auto;padding:9px 20px}.via-btn-delete:hover{background:#fef2f2;border-color:#fecaca;color:#dc2626}.via-coding-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:16px;overflow:hidden}.via-coding-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:16px 20px}.via-coding-header h3{color:#1a1a2e;font-size:15px;font-weight:700;margin:0}.via-add-line-btn{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:6px;color:#64748b;cursor:pointer;font-size:12px;font-weight:600;padding:6px 14px}.via-add-line-btn:hover{border-color:#6366f1;color:#6366f1}.via-coding-empty{color:#94a3b8;font-size:13px;padding:30px 20px;text-align:center}.via-coding-table{border-collapse:collapse;font-size:13px;width:100%}.via-coding-table th{background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#94a3b8;font-size:11px;font-weight:600;letter-spacing:.5px;padding:8px 14px;text-align:left;text-transform:uppercase}.via-coding-table td{border-bottom:1px solid #f1f5f9;padding:8px 14px}.via-coding-table tfoot td{background:#f8fafc;border-top:2px solid #e2e8f0;font-size:13px}.via-inline-input{border:1px solid #e2e8f0;border-radius:4px;color:#334155;font-size:12px;padding:6px 8px;width:100%}.via-inline-input:focus{border-color:#6366f1;outline:none}.via-amount-input{max-width:100px;text-align:right}.via-code-val{color:#6366f1;font-family:SF Mono,Fira Code,monospace;font-size:12px;font-weight:600}.via-remove-line{align-items:center;background:#0000;border:none;border-radius:4px;color:#94a3b8;cursor:pointer;display:flex;font-size:16px;height:24px;justify-content:center;width:24px}.via-remove-line:hover{background:#fef2f2;color:#dc2626}.via-modal-overlay{align-items:center;background:#0006;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:9999}.via-modal{background:#fff;border-radius:14px;box-shadow:0 20px 60px #0003;max-height:90vh;max-width:640px;overflow-y:auto;width:100%}.via-modal.via-modal-sm{max-width:420px}.via-modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:18px 24px}.via-modal-header h2{color:#1a1a2e;font-size:18px;font-weight:700;margin:0}.via-modal-close{background:#0000;border:none;border-radius:8px;color:#94a3b8;cursor:pointer;font-size:20px;height:32px;width:32px}.via-modal-close:hover{background:#f1f5f9;color:#475569}.via-modal-body{padding:20px 24px}.via-modal-footer{border-top:1px solid #e2e8f0;display:flex;gap:8px;justify-content:flex-end;padding:14px 24px}.via-form-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.via-form-group{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:140px}.via-form-group.via-full{flex:1 1 100%}.via-form-group label,.via-form-label{color:#475569;display:block;font-size:12px;font-weight:600;margin-bottom:4px}.via-form-group input,.via-form-group select,.via-form-group textarea,.via-form-select,.via-form-textarea{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#334155;font-size:13px;padding:8px 10px;width:100%}.via-form-group input:focus,.via-form-group select:focus,.via-form-group textarea:focus,.via-form-select:focus,.via-form-textarea:focus{border-color:#6366f1;outline:none}.via-file-input{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:6px;color:#64748b;font-size:13px;padding:8px}@media (max-width:768px){.via-header{align-items:flex-start}.via-form-row,.via-header{flex-direction:column}.via-form-group{min-width:100%}.via-stats{grid-template-columns:repeat(2,1fr)}.via-detail-meta{flex-direction:column;gap:6px}}.auth-page{align-items:center;background-color:#f8f8f8;display:flex;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;justify-content:center;min-height:100vh;padding:2rem 1rem}.auth-container{background-color:#fff;border-radius:10px;box-shadow:0 4px 12px #00000014;max-width:480px;padding:2rem;width:100%}.signup-container{max-width:600px}.auth-header{align-items:center;display:flex;flex-direction:column;margin-bottom:1.5rem;text-align:center}.auth-logo-link{display:block;margin-bottom:1rem}.auth-logo{height:60px;margin-bottom:1rem}.auth-header h2{color:#333;font-size:1.5rem;font-weight:600;margin:0}.pricing-info{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin:1rem 0;padding:1.5rem}.pricing-details{margin-top:1rem}.price-item{margin-bottom:1rem}.price-item:last-child{margin-bottom:0}.price-item strong{color:#444;display:block;font-size:1.1rem;margin-bottom:.25rem}.price-item p{color:#666;font-size:.9rem;line-height:1.4;margin:0}.auth-form{display:flex;flex-direction:column;gap:1rem}.form-section-title{border-bottom:1px solid #f0f0f0;color:#444;font-size:1.1rem;margin:.5rem 0;padding-bottom:.5rem}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-row{display:flex;flex-wrap:wrap;gap:1rem;width:100%}.form-row .form-group{flex:1 0 150px}.form-group label{color:#555;font-size:.9rem;font-weight:500}.form-group input,.form-group select{border:1px solid #ddd;border-radius:6px;font-size:1rem;padding:.8rem 1rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus{border-color:#444;box-shadow:0 0 0 2px #44444426;outline:none}.plan-selection select{background-color:#f9f9f9;cursor:pointer}.auth-button{background-color:#444;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;margin-top:.5rem;padding:.9rem;transition:background-color .2s}.auth-button:hover{background-color:#333}.auth-button:disabled{background-color:#9e9e9e;cursor:not-allowed}.auth-links{color:#666;font-size:.9rem;margin-top:1.5rem;text-align:center}.auth-links a{color:#444;font-weight:500;text-decoration:none}.auth-links a:hover{text-decoration:underline}.auth-error,.auth-success{border-radius:6px;font-size:.9rem;margin-bottom:1.5rem;padding:.8rem 1rem;text-align:center}.auth-success{background-color:#f0f0f0;border:1px solid #ddd;color:#333}.auth-error{background-color:#ffebee;border:1px solid #ffcdd2;color:#c62828}.auth-help-text{color:#666;font-size:.85rem;line-height:1.4;margin:.5rem 0 1rem}.session-options{margin:1rem 0;padding:.5rem 0}.checkbox-group{margin-bottom:.75rem}.checkbox-label{align-items:center;color:#555;cursor:pointer;display:flex;font-size:.9rem;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{accent-color:#444;cursor:pointer;height:16px;margin-right:.5rem;width:16px}.checkbox-label:hover{color:#333}.forgot-password{font-size:.9rem;margin:1rem 0;text-align:right}.forgot-password a{color:#444;text-decoration:none}.forgot-password a:hover{text-decoration:underline}@media (max-width:768px){.auth-container{padding:1.5rem}.auth-logo{height:50px}.auth-header h2{font-size:1.3rem}.form-row{flex-direction:column;gap:1rem}}@media (max-width:480px){.auth-page{padding:1rem .5rem}.auth-container{box-shadow:0 2px 8px #0000000d;padding:1.25rem}}.signup-wide{max-width:1200px}.signup-progress{align-items:center;display:flex;justify-content:center;margin-bottom:2rem;padding:1rem 0}.progress-step{align-items:center;display:flex;flex-direction:column;gap:.5rem}.progress-step .step-number{align-items:center;background-color:#e0e0e0;border-radius:50%;color:#666;display:flex;font-size:.9rem;font-weight:600;height:36px;justify-content:center;transition:all .3s ease;width:36px}.progress-step.active .step-number{background-color:#6366f1;box-shadow:0 2px 8px #6366f14d;color:#fff}.progress-step.completed .step-number{background-color:#10b981;color:#fff}.progress-step .step-label{color:#666;font-size:.85rem;font-weight:500}.progress-step.active .step-label{color:#6366f1;font-weight:600}.progress-step.completed .step-label{color:#10b981}.progress-line{background-color:#e0e0e0;flex:1 1;height:2px;margin:0 1rem;max-width:100px}.signup-step{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.step-description{color:#666;margin-bottom:1.5rem;text-align:center}.selected-plan-summary{background-color:#eef2ff;border:1px solid #c7d2fe;border-radius:10px;color:#4338ca;font-size:15px;margin:1.5rem 0;padding:14px 18px;text-align:center}.form-buttons{display:flex;gap:1rem;margin-top:1.5rem}.form-buttons .auth-button{flex:1 1}.auth-button.secondary{background-color:#f3f4f6;color:#374151}.auth-button.secondary:hover{background-color:#e5e7eb}.order-summary{background:linear-gradient(135deg,#f8fafc,#eef2ff);border:1px solid #c7d2fe;border-radius:12px;margin:1.5rem 0;padding:1.5rem}.order-summary h4{color:#374151;font-size:1.1rem;margin:0 0 1rem}.summary-row{color:#4b5563;display:flex;font-size:.95rem;justify-content:space-between;padding:.5rem 0}.summary-row.savings{color:#059669}.summary-row .green{color:#059669;font-weight:500}.summary-row.total{border-top:2px solid #e5e7eb;color:#111827;font-size:1.1rem;font-weight:600;margin-top:.5rem;padding-top:1rem}.summary-note{color:#6b7280;font-size:.85rem;margin-top:1rem;text-align:center}@media (max-width:768px){.signup-wide{max-width:100%}.signup-progress{flex-wrap:wrap}.progress-line{display:none}.progress-step{margin:.5rem}.form-buttons{flex-direction:column}}.admin-panel{margin:0 auto;max-width:1200px}.admin-panel h1{color:#1e293b;font-size:24px;font-weight:700;margin-bottom:4px}.admin-panel .admin-subtitle{color:#64748b;font-size:14px;margin-bottom:24px}.admin-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:28px}.admin-stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;display:flex;flex-direction:column;padding:20px}.admin-stat-card .stat-label{color:#94a3b8;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.admin-stat-card .stat-value{color:#1e293b;font-size:28px;font-weight:700}.admin-tabs{border-bottom:2px solid #e2e8f0;display:flex;gap:4px;margin-bottom:20px}.admin-tab{background:#0000;border:none;border-bottom:2px solid #0000;color:#64748b;cursor:pointer;font-size:14px;font-weight:600;margin-bottom:-2px;padding:10px 20px;transition:all .15s}.admin-tab:hover{color:#334155}.admin-tab.active{border-bottom-color:#2563eb;color:#2563eb}.admin-table-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.admin-table{border-collapse:collapse;width:100%}.admin-table th{background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#94a3b8;font-size:11px;font-weight:700;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase}.admin-table td{border-bottom:1px solid #f1f5f9;color:#334155;font-size:13px;padding:12px 16px}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background:#f8fafc}.status-badge{align-items:center;border-radius:99px;display:inline-flex;font-size:11px;font-weight:600;padding:3px 10px}.status-badge.active{background:#dcfce7;color:#166534}.status-badge.suspended{background:#fef9c3;color:#854d0e}.status-badge.inactive{background:#fef2f2;color:#991b1b}.deploy-section{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.deploy-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:24px}.deploy-card h3{color:#1e293b;display:flex;font-size:16px;margin-bottom:16px}.deploy-btn,.deploy-card h3{align-items:center;font-weight:700;gap:8px}.deploy-btn{border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:14px;padding:12px 24px;transition:all .15s}.deploy-btn.primary{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff}.deploy-btn.primary:hover{box-shadow:0 4px 12px #2563eb59}.deploy-btn.primary:disabled{cursor:wait;opacity:.6}.deploy-btn.danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.deploy-log{background:#0f172a;border-radius:8px;color:#94a3b8;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:12px;line-height:1.6;margin-top:12px;max-height:300px;overflow-y:auto;padding:16px;white-space:pre-wrap;word-break:break-all}.git-commits{list-style:none;margin:0;padding:0}.git-commits li{border-bottom:1px solid #f1f5f9;color:#334155;font-family:JetBrains Mono,monospace;font-size:13px;padding:8px 12px}.git-commits li:last-child{border-bottom:none}.git-commits .commit-hash{color:#2563eb;font-weight:600}.admin-list{list-style:none;margin:0;padding:0}.admin-list li{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;font-size:13px;justify-content:space-between;padding:10px 14px}.admin-list li:last-child{border-bottom:none}.admin-add-form{display:flex;gap:8px;margin-top:12px}.admin-add-form input{border:1px solid #e2e8f0;border-radius:8px;flex:1 1;font-size:13px;outline:none;padding:8px 12px}.admin-add-form input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.admin-add-form button{background:#2563eb;border:none;color:#fff;cursor:pointer;padding:8px 16px}.admin-add-form button,.deploy-toast{border-radius:8px;font-size:13px;font-weight:600}.deploy-toast{margin-top:12px;padding:10px 16px}.deploy-toast.success{background:#dcfce7;border:1px solid #86efac;color:#166534}.deploy-toast.error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.action-btn{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;font-size:11px;font-weight:600;padding:4px 10px;transition:all .15s}.action-btn:hover{background:#f1f5f9;color:#334155}.action-btn.suspend{border-color:#fde68a;color:#d97706}.action-btn.activate{border-color:#86efac;color:#16a34a}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.deploy-section{grid-template-columns:1fr}.admin-stats{grid-template-columns:repeat(2,1fr)}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}.btn{border:none;border-radius:4px;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s ease}.btn-primary{background-color:#444;color:#fff}.btn-primary:hover{background-color:#333}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover{background-color:#5a6268}.btn-danger{background-color:#dc3545;color:#fff}.btn-danger:hover{background-color:#c82333}.btn-info{background-color:#17a2b8;color:#fff}.btn-info:hover{background-color:#138496}.loading-spinner{border:none!important;border-radius:0!important;display:block;height:40px;margin:0 auto 12px;width:120px}.alert{border:1px solid #0000;border-radius:4px;margin:16px 0;padding:12px 16px}.alert-warning{background-color:#fff3cd;border-color:#ffeaa7;color:#856404}.alert-danger{background-color:#f8d7da;border-color:#f5c6cb;color:#721c24}.alert-success{background-color:#d4edda;border-color:#c3e6cb;color:#155724}
/*# sourceMappingURL=main.b85be0e7.css.map*/