@import url(https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;600;700;800&family=Barlow:wght@400;500;600&display=swap);:root{--navy:#1b2a4a;--navy-light:#243659;--navy-dark:#111c33;--red:#c0272d;--red-hover:#a01f24;--white:#fff;--grey-light:#f5f5f5;--grey-mid:#e0e0e0;--grey-border:#d0d0d0;--text-dark:#333;--text-mid:#666;--text-light:#999;--green:#2e7d32;--green-light:#e8f5e9;--amber:#e65100;--amber-light:#fff3e0;--blue:#1565c0;--blue-light:#e3f2fd;--sidebar-width:220px;--header-height:56px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}#root,body,html{background:#f5f5f5;background:var(--grey-light);color:#333;color:var(--text-dark);font-family:Barlow,sans-serif;font-size:14px;height:100%}.app-loading{align-items:center;background:#1b2a4a;background:var(--navy);display:flex;height:100vh;justify-content:center}.spinner{animation:spin .8s linear infinite;border:3px solid #fff3;border-radius:50%;border-top:3px solid var(--red);height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:#f5f5f5;background:var(--grey-light)}::-webkit-scrollbar-thumb{background:#d0d0d0;background:var(--grey-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#999;background:var(--text-light)}.btn{align-items:center;border:none;cursor:pointer;display:inline-flex;font-family:Barlow,sans-serif;font-size:13px;font-weight:600;gap:6px;letter-spacing:.5px;padding:8px 16px;text-transform:uppercase;transition:background .15s,transform .1s}.btn:active{transform:translateY(1px)}.btn-primary{background:#c0272d;background:var(--red);color:#fff;color:var(--white)}.btn-primary:hover{background:#a01f24;background:var(--red-hover)}.btn-secondary{background:#1b2a4a;background:var(--navy);color:#fff;color:var(--white)}.btn-secondary:hover{background:#243659;background:var(--navy-light)}.btn-ghost{background:#fff;background:var(--white);border:1px solid #ababab;color:#333;color:var(--text-dark)}.btn-ghost:hover{background:#f5f5f5;background:var(--grey-light);border-color:#888}.btn-sm{font-size:12px;padding:5px 10px}.btn-icon{padding:7px}.badge{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.5px;padding:3px 8px;text-transform:uppercase}.badge-new{background:#e3f2fd;background:var(--blue-light);color:#1565c0;color:var(--blue)}.badge-scheduled{background:#ede7f6;color:#4527a0}.badge-in-progress{background:#fff3e0;background:var(--amber-light);color:#e65100;color:var(--amber)}.badge-completed{background:#e8f5e9;background:var(--green-light);color:#2e7d32;color:var(--green)}.badge-invoiced{background:#e0f7fa;color:#00695c}.badge-cancelled{background:#fafafa;border:1px solid #d0d0d0;border:1px solid var(--grey-border);color:#999;color:var(--text-light)}.badge-emergency{background:#c0272d;background:var(--red);color:#fff}.badge-pm{background:#1b2a4a;background:var(--navy);color:#fff}.badge-quote{background:#fff9c4;color:#f57f17}.card{background:#fff;background:var(--white);border-top:3px solid #c0272d;border-top:3px solid var(--red);box-shadow:0 1px 4px #00000014;padding:20px}.card-title{color:#666;color:var(--text-mid);font-family:Barlow Condensed,sans-serif;font-size:13px;font-weight:700;letter-spacing:1px;margin-bottom:12px;text-transform:uppercase}.page{max-width:1400px;padding:24px}.page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.page-title{border-left:4px solid #c0272d;border-left:4px solid var(--red);color:#1b2a4a;color:var(--navy);font-family:Barlow Condensed,sans-serif;font-size:26px;font-weight:800;letter-spacing:1px;padding-left:12px;text-transform:uppercase}.page-actions{display:flex;gap:8px}.table-wrap{background:#fff;background:var(--white);box-shadow:0 1px 4px #00000014;overflow:auto}table{border-collapse:collapse;width:100%}thead{background:#1b2a4a;background:var(--navy)}thead th{color:#fff;color:var(--white);font-family:Barlow Condensed,sans-serif;font-size:12px;font-weight:700;letter-spacing:1px;padding:10px 14px;text-align:left;text-transform:uppercase}tbody tr{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--grey-mid);transition:background .1s}tbody tr:hover{background:#f5f5f5;background:var(--grey-light)}tbody td{color:#333;color:var(--text-dark);font-size:13px;padding:10px 14px}tbody tr:last-child{border-bottom:none}.form-group{margin-bottom:16px}.form-label{color:#666;color:var(--text-mid);display:block;font-size:11px;font-weight:700;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.form-control{background:#fff;background:var(--white);border:1px solid #d0d0d0;border:1px solid var(--grey-border);color:#333;color:var(--text-dark);font-family:Barlow,sans-serif;font-size:13px;outline:none;padding:8px 10px;transition:border-color .15s;width:100%}.form-control:focus{border-color:#1b2a4a;border-color:var(--navy)}select.form-control{cursor:pointer}.search-bar{align-items:center;background:#fff;background:var(--white);border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--grey-mid);box-shadow:0 1px 4px #0000000f;display:flex;gap:12px;margin-bottom:20px;padding:14px 20px}.search-input-wrap{flex:1 1;max-width:320px;position:relative}.search-input-wrap input{border:1px solid #d0d0d0;border:1px solid var(--grey-border);font-family:Barlow,sans-serif;font-size:13px;outline:none;padding:7px 10px 7px 32px;width:100%}.search-input-wrap input:focus{border-color:#1b2a4a;border-color:var(--navy)}.search-icon{color:#999;color:var(--text-light);left:9px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.modal-overlay{align-items:center;background:#0000008c;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.modal{background:#fff;background:var(--white);box-shadow:0 8px 40px #0000004d;max-height:90vh;max-width:560px;overflow-y:auto;width:100%}.modal-header{align-items:center;background:#1b2a4a;background:var(--navy);display:flex;justify-content:space-between;padding:16px 20px}.modal-title{color:#fff;color:var(--white);font-family:Barlow Condensed,sans-serif;font-size:18px;font-weight:700;text-transform:uppercase}.modal-close{background:none;border:none;color:#fff9;cursor:pointer;font-size:20px;line-height:1;padding:0}.modal-close:hover{color:#fff;color:var(--white)}.modal-body{padding:24px}.modal-footer{border-top:1px solid #e0e0e0;border-top:1px solid var(--grey-mid);display:flex;gap:8px;justify-content:flex-end;padding:16px 24px}.grid-2{grid-gap:16px;grid-template-columns:1fr 1fr}.grid-2,.grid-3{display:grid;gap:16px}.grid-3{grid-gap:16px;grid-template-columns:1fr 1fr 1fr}.grid-4{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr)}.text-right{text-align:right}.text-center{text-align:center}.text-red{color:#c0272d;color:var(--red)}.text-green{color:#2e7d32;color:var(--green)}.text-mid{color:#666;color:var(--text-mid)}.fw-bold{font-weight:700}.mt-4{margin-top:4px}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mb-16{margin-bottom:16px}.flex{display:flex}.flex-center{align-items:center;display:flex}.gap-8{gap:8px}.gap-12{gap:12px}.empty-state{color:#999;color:var(--text-light);padding:60px 20px;text-align:center}.empty-state-icon{font-size:48px;margin-bottom:12px;opacity:.4}.empty-state p{font-size:15px}.alert{border-left:4px solid}.alert-error{background:#ffebee;border-color:#c0272d;border-color:var(--red);color:#b71c1c}.alert-success{background:#e8f5e9;background:var(--green-light);border-color:#2e7d32;border-color:var(--green);color:#2e7d32;color:var(--green)}.alert-info{background:#e3f2fd;background:var(--blue-light);border-color:#1565c0;border-color:var(--blue);color:#1565c0;color:var(--blue)}.loading-row td{color:#999;color:var(--text-light);padding:40px;text-align:center}@media (max-width:768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.page{padding:16px}.page-header{align-items:flex-start;flex-direction:column;gap:12px}}.login-page{align-items:center;background:var(--navy);background-image:linear-gradient(135deg,#0b1d3a,#0b2d5a);display:flex;justify-content:center;min-height:100vh}.login-card{background:#fff;border-radius:12px;box-shadow:0 24px 64px #0006;max-width:95vw;overflow:hidden;width:420px}.login-header{background:var(--navy);border-bottom:4px solid var(--red);gap:16px;padding:28px 32px}.login-header,.login-logo{align-items:center;display:flex}.login-logo{background:var(--red);border-radius:10px;flex-shrink:0;font-size:24px;font-weight:900;height:48px;justify-content:center;width:48px}.login-company,.login-logo{color:#fff;font-family:Barlow Condensed,sans-serif}.login-company{font-size:16px;font-weight:800;letter-spacing:1px}.login-subtitle{color:#ffffff8c;font-size:11px;letter-spacing:.5px;margin-top:2px}.login-body{padding:32px}.login-title{color:var(--text-light);font-size:13px;font-weight:800;letter-spacing:2px;margin-bottom:24px;text-transform:uppercase}.btn-microsoft{align-items:center;background:#0078d4;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:12px;justify-content:center;margin-bottom:20px;padding:13px 20px;transition:background .15s;width:100%}.btn-microsoft:hover:not(:disabled){background:#006cbe}.btn-microsoft:disabled{cursor:not-allowed;opacity:.65}.btn-microsoft svg{flex-shrink:0}.login-divider{align-items:center;color:var(--text-light);display:flex;font-size:12px;gap:12px;margin-bottom:20px}.login-divider:after,.login-divider:before{background:var(--grey-border);content:"";flex:1 1;height:1px}.login-submit{font-size:14px;font-weight:700;letter-spacing:.5px;margin-top:8px;padding:12px;width:100%}.login-submit-secondary{border-color:var(--grey-border);color:var(--text-mid);font-size:13px;margin-top:8px;padding:11px;width:100%}.login-submit-secondary:hover:not(:disabled){border-color:var(--navy);color:var(--navy)}.login-footer{background:var(--grey-light);border-top:1px solid var(--grey-border);color:var(--text-light);font-size:11px;letter-spacing:.3px;padding:14px 32px;text-align:center}.alert{border-radius:6px;font-size:13px;margin-bottom:16px;padding:10px 14px}.alert-error{background:#fce4ec;border:1px solid #ef9a9a;color:#c62828}.kpi-row{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:20px}.kpi-card{background:var(--white);border:1px solid #e8edf5;border-left:4px solid #d0d8e8;border-radius:10px;box-shadow:0 1px 4px #1b2a4a0f;display:flex;flex-direction:column;gap:2px;padding:16px 18px;transition:box-shadow .15s,transform .15s}.kpi-card.kpi-accent{border-left-color:var(--red)}.kpi-card.kpi-warn{background:#fffbf6;border-left-color:#e65100}.kpi-card.kpi-clickable{cursor:pointer}.kpi-card.kpi-clickable:hover{box-shadow:0 4px 14px #1b2a4a1f;transform:translateY(-1px)}.kpi-icon{font-size:18px;line-height:1;margin-bottom:6px;opacity:.75}.kpi-label{color:var(--text-light);font-size:10px;font-weight:700;letter-spacing:.7px;margin-bottom:4px;text-transform:uppercase}.kpi-value{color:var(--navy);font-family:Barlow Condensed,sans-serif;font-size:32px;font-weight:800;line-height:1}.kpi-card.kpi-warn .kpi-value{color:#c0510a}.kpi-sub{color:var(--text-light);font-size:11px;margin-top:3px}.dash-main-grid{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:1fr 1fr 300px}.dash-section{background:#fff;border:1px solid #e4ebf5;border-radius:10px;box-shadow:0 1px 4px #1b2a4a12;margin-bottom:16px;overflow:hidden}.dash-section-header{align-items:center;background:#f4f7fc;border-bottom:1px solid #e4ebf5;display:flex;justify-content:space-between;padding:11px 16px}.dash-section-title{color:var(--navy);font-family:Barlow Condensed,sans-serif;font-size:11px;font-weight:800;letter-spacing:.9px;text-transform:uppercase}.dash-section-header .btn-primary{background:var(--navy);border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:11px;font-weight:700;letter-spacing:.3px;padding:4px 10px;transition:opacity .15s}.dash-section-header .btn-primary:hover{opacity:.8}@media (max-width:1100px){.dash-main-grid{grid-template-columns:1fr 1fr}.dash-main-grid>div:last-child{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-column:1/-1;grid-template-columns:repeat(2,1fr)}}@media (max-width:700px){.dash-main-grid,.dash-main-grid>div:last-child{grid-template-columns:1fr}.kpi-row{grid-template-columns:repeat(2,1fr)}}.settings-tabs{border-bottom:2px solid var(--grey-mid);display:flex;gap:0;margin-bottom:24px}.settings-tab{background:none;border:none;border-bottom:3px solid #0000;color:var(--text-mid);cursor:pointer;font-family:Barlow Condensed,sans-serif;font-size:13px;font-weight:700;letter-spacing:.5px;margin-bottom:-2px;padding:10px 20px;text-transform:uppercase;transition:color .15s,border-color .15s}.settings-tab:hover{color:var(--navy)}.settings-tab.active{border-bottom-color:var(--red);color:var(--navy)}.hub-page{margin:0 auto;max-width:1400px;padding:0 24px 40px}.hub-breadcrumb{align-items:center;color:var(--text-light);display:flex;font-size:13px;gap:8px;padding:14px 0 10px}.hub-breadcrumb-link{background:none;border:none;color:var(--blue);cursor:pointer;font-size:13px;padding:0}.hub-breadcrumb-link:hover{text-decoration:underline}.hub-breadcrumb-sep{color:var(--text-light)}.hub-header{background:var(--navy);border-bottom:3px solid var(--red);border-radius:12px;margin-bottom:12px;overflow:hidden;padding:20px 24px 0;position:relative}.hub-header:before{background:#ffffff08;border-radius:50%;content:"";height:220px;pointer-events:none;position:absolute;right:-60px;top:-60px;width:220px}.hub-header-top{align-items:flex-start;display:flex;gap:20px;justify-content:space-between;margin-bottom:16px}.hub-header-left{flex:1 1;min-width:0}.hub-company-name{color:#fff;font-family:Barlow Condensed,sans-serif;font-size:24px;font-weight:800;line-height:1.1;margin-bottom:6px;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.hub-header-meta{align-items:center;display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.hub-type-badge{color:#fff;letter-spacing:.5px;text-transform:uppercase}.hub-badge,.hub-type-badge{border-radius:10px;font-size:10px;font-weight:700;padding:2px 8px}.hub-parent-label{background:#ffffff14;border-radius:10px;color:#ffffff80;font-size:11px;padding:2px 8px}.hub-header-address{color:#ffffff8c;font-size:12px;margin-top:2px}.hub-header-right{align-items:flex-start;display:flex;flex-shrink:0;gap:12px}.hub-primary-contact{background:#ffffff14;border-radius:8px;min-width:170px;padding:10px 14px}.hub-contact-name{color:#fff;font-size:13px;font-weight:700}.hub-contact-title{color:#ffffff8c;font-size:11px;margin-top:2px}.hub-contact-info{color:#ffffffb3;font-size:11px;margin-top:3px}.hub-business-profile{background:#ffffff14;border-radius:8px;min-width:150px;padding:10px 14px}.hub-profile-row{display:flex;font-size:11px;gap:12px;justify-content:space-between;padding:2px 0}.hub-profile-row span:first-child{color:#ffffff73}.hub-profile-row span:last-child{color:#fff;font-weight:600;text-align:right}.hub-quick-actions{align-items:center;border-top:1px solid #ffffff14;display:flex;flex-wrap:wrap;gap:6px;padding:10px 0 12px}.hub-quick-btn{align-items:center;background:#ffffff14;border:1px solid #fff3;border-radius:6px;color:#ffffffd9;cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:5px;padding:5px 12px;transition:background .15s,border-color .15s;white-space:nowrap}.hub-quick-btn:hover{background:#ffffff29;border-color:#ffffff59;color:#fff}.hub-quick-btn-primary{background:var(--red)!important;border-color:var(--red)!important;color:#fff!important}.hub-quick-btn-primary:hover{background:#a81f24!important}.hub-quick-btn-danger{background:#c0272d33!important;border-color:#c0272d66!important;color:#ff8a80!important}.hub-quick-btn-danger:hover{background:#c0272d59!important}.hub-quick-actions-sep{background:#ffffff1f;flex-shrink:0;height:20px;margin:0 2px;width:1px}.hub-pinned-notes{background:#fffef0;border:1px solid #f0e060;border-left:4px solid #e8b800;border-radius:8px;margin-bottom:12px;padding:10px 16px}.hub-pinned-header{align-items:center;color:#7b5800;display:flex;font-size:12px;font-weight:700;justify-content:space-between;margin-bottom:6px}.hub-note-input{display:flex;gap:8px;margin-bottom:8px}.hub-note-item{align-items:flex-start;border-bottom:1px solid #f0e060;color:var(--text-dark);display:flex;font-size:13px;gap:12px;justify-content:space-between;padding:5px 0}.hub-note-item:last-child{border-bottom:none}.hub-note-meta{align-items:center;color:var(--text-light);display:flex;font-size:11px;gap:6px;white-space:nowrap}.hub-note-del{background:none;border:none;color:var(--text-light);cursor:pointer;font-size:16px;line-height:1;padding:0 2px}.hub-note-del:hover{color:var(--red)}.hub-no-notes{color:var(--text-light);font-size:12px;font-style:italic}.hub-summary-row{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(7,1fr);margin-bottom:12px}.hub-summary-box{background:#fff;border:1.5px solid var(--grey-border);border-radius:10px;overflow:hidden;padding:12px 14px;position:relative;text-align:center;transition:all .15s}.hub-summary-box:hover{border-color:var(--navy);box-shadow:0 2px 8px #1b2a4a1a;transform:translateY(-1px)}.hub-summary-box.clickable{cursor:pointer}.hub-summary-active{background:#f0f5fc;border-color:var(--navy)!important;border-width:2px}.hub-summary-active:after{background:var(--navy);bottom:0;content:"";height:3px;left:0;position:absolute;right:0}.hub-summary-box.has-value{border-color:#0000}.hub-summary-box.has-value.urgent{background:#fff5f5;border-color:#ffcdd2}.hub-summary-box.has-value.good{background:#f5fff6;border-color:#c8e6c9}.hub-summary-icon{font-size:18px;margin-bottom:3px}.hub-summary-value{font-family:Barlow Condensed,sans-serif;font-size:19px;font-weight:800;line-height:1}.hub-summary-label{color:var(--text-light);font-size:9px;font-weight:600;letter-spacing:.5px;margin-top:3px;text-transform:uppercase}.hub-summary-sub{color:#e65100;font-size:9px;font-weight:600;margin-top:2px}.hub-section-nav{display:flex;gap:4px;margin-bottom:16px;overflow-x:auto;padding-bottom:2px}.hub-section-nav::-webkit-scrollbar{height:3px}.hub-section-nav::-webkit-scrollbar-track{background:#0000}.hub-section-nav::-webkit-scrollbar-thumb{background:var(--grey-border);border-radius:2px}.hub-section-btn{align-items:center;background:#fff;border:1.5px solid var(--grey-border);border-radius:20px;color:var(--text-mid);cursor:pointer;display:inline-flex;font-size:12px;font-weight:500;gap:5px;padding:6px 14px;transition:all .15s;white-space:nowrap}.hub-section-btn:hover{background:#f4f7fc;border-color:var(--navy);color:var(--navy)}.hub-section-btn.active{background:var(--navy);border-color:var(--navy);color:#fff;font-weight:700}.hub-section-count{background:#fff3;border-radius:10px;color:inherit;font-size:10px;font-weight:700;padding:1px 6px}.hub-section-btn:not(.active) .hub-section-count{background:var(--grey-light);color:var(--text-mid)}.hub-section-body{min-height:200px}.hub-section-actions{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.hub-section-heading{color:var(--navy);font-size:16px;font-weight:700;margin:0}.hub-overview-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr}.hub-overview-card{background:#fff;border:1px solid var(--grey-border);border-radius:10px;padding:16px;transition:box-shadow .15s}.hub-overview-card:hover{box-shadow:0 2px 10px #0000000f}.hub-overview-card-empty{background:#fafafa!important;border-color:#e0e0e0!important;border-style:dashed!important;padding:10px 14px!important}.hub-overview-card-empty:hover{box-shadow:none!important}.hub-card-title{align-items:center;color:var(--navy);display:flex;font-size:11px;font-weight:800;justify-content:space-between;letter-spacing:.7px;margin-bottom:12px;text-transform:uppercase}.hub-card-title-border{border-bottom:2px solid #eef2f8;margin-bottom:12px;padding-bottom:8px}.hub-mini-row{align-items:flex-start;border-bottom:1px solid #f5f7fa;display:flex;justify-content:space-between;padding:7px 0}.hub-mini-row:last-child{border-bottom:none}.hub-mini-label{font-size:13px;font-weight:500}.hub-mini-sub{color:var(--text-light);font-size:11px;margin-top:2px}.hub-empty{font-size:13px;font-style:italic;padding:16px 0}.hub-empty,.hub-empty-state{color:var(--text-light);text-align:center}.hub-empty-state{padding:60px 20px}.hub-finance-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr;margin-bottom:12px}.hub-finance-tile{background:#f8fafd;border:1px solid #eef2f8;border-radius:8px;padding:10px 12px}.hub-finance-tile-label{color:var(--text-light);font-size:10px;font-weight:600;letter-spacing:.5px;margin-bottom:3px;text-transform:uppercase}.hub-finance-tile-value{color:var(--navy);font-family:Barlow Condensed,sans-serif;font-size:17px;font-weight:800}.hub-nav-tiles{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr)}.hub-nav-tile{background:#fff;border:1.5px solid var(--grey-border);border-radius:8px;cursor:pointer;padding:10px;text-align:center;transition:all .15s}.hub-nav-tile:hover{background:#f0f5fc;border-color:var(--navy);transform:translateY(-1px)}.hub-nav-tile-value{font-family:Barlow Condensed,sans-serif;font-size:22px;font-weight:800}.hub-nav-tile-label{color:var(--text-light);font-size:10px;font-weight:600;letter-spacing:.5px;margin-top:2px;text-transform:uppercase}.hub-agreement-card{background:#fff;border:1px solid var(--grey-border);border-radius:10px;margin-bottom:14px;padding:18px 20px}.hub-agreement-expiring{border-left:4px solid #e65100}.hub-agreement-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:14px}.hub-agreement-number{color:var(--navy);font-family:Barlow Condensed,sans-serif;font-size:15px;font-weight:800}.hub-agreement-name{color:var(--text-mid);font-size:13px;margin-top:2px}.hub-agreement-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(4,1fr)}.hub-agreement-detail{background:var(--grey-light);border-radius:6px;padding:8px 12px}.hub-agreement-detail span{color:var(--text-light);display:block;font-size:10px;letter-spacing:.5px;margin-bottom:3px;text-transform:uppercase}.hub-agreement-detail strong{color:var(--text-dark);font-size:13px;font-weight:600}.hub-agreement-notes{background:#f8f9fa;border-left:3px solid var(--grey-border);border-radius:6px;color:var(--text-mid);font-size:13px;margin-top:12px;padding:10px 12px}.hub-contacts-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.hub-contact-card{background:#fff;border:1px solid var(--grey-border);border-radius:8px;padding:16px}.hub-contact-card-name{align-items:center;color:var(--navy);display:flex;flex-wrap:wrap;font-size:14px;font-weight:700;gap:6px;margin-bottom:4px}.hub-contact-tag{border-radius:8px;font-size:9px;font-weight:700;padding:2px 6px;text-transform:uppercase}.hub-tag-primary{background:var(--navy);color:#fff}.hub-tag-billing{background:#2d6a4f;color:#fff}.hub-contact-card-title{color:var(--text-mid);font-size:12px;margin-bottom:8px}.hub-contact-card-details{color:var(--text-mid);display:flex;flex-direction:column;font-size:12px;gap:4px}.hub-table{border-collapse:collapse;font-size:13px;width:100%}.hub-table th{background:var(--grey-light);border-bottom:2px solid var(--grey-border);color:var(--text-light);font-size:11px;letter-spacing:.5px;padding:8px 12px;text-align:left;text-transform:uppercase}.hub-table td{border-bottom:1px solid var(--grey-border);padding:10px 12px;vertical-align:middle}.hub-table tr:hover td{background:#f8f9fa}.hub-modal-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.hub-modal{background:#fff;border-radius:10px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:100%;width:560px}.hub-modal-wide{width:780px}.hub-modal-header{align-items:flex-start;border-bottom:1px solid var(--grey-border);display:flex;flex-shrink:0;justify-content:space-between;padding:20px 24px 16px}.hub-modal-header h2{color:var(--navy);font-size:18px;font-weight:700;margin:0}.hub-modal-close{background:none;border:none;color:var(--text-light);cursor:pointer;font-size:24px;line-height:1;padding:0 4px}.hub-modal-close:hover{color:var(--red)}.hub-modal-body{flex:1 1;overflow-y:auto;padding:20px 24px}.hub-modal-footer{border-top:1px solid var(--grey-border);display:flex;flex-shrink:0;gap:10px;justify-content:flex-end;padding:16px 24px}.hub-form-section-title{border-bottom:2px solid var(--navy);color:var(--navy);font-size:11px;font-weight:700;letter-spacing:.8px;margin-bottom:14px;padding-bottom:6px;text-transform:uppercase}.hub-form-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:8px}.hub-toggle-row{align-items:center;display:flex;gap:10px;margin-top:4px}.hub-toggle{display:inline-block;flex-shrink:0;height:22px;position:relative;width:40px}.hub-toggle input{height:0;opacity:0;width:0}.hub-toggle-slider{background:#ccc;border-radius:22px;cursor:pointer;inset:0;position:absolute;transition:.2s}.hub-toggle-slider:before{background:#fff;border-radius:50%;bottom:3px;content:"";height:16px;left:3px;position:absolute;transition:.2s;width:16px}.hub-toggle input:checked+.hub-toggle-slider{background:var(--blue)}.hub-toggle input:checked+.hub-toggle-slider:before{transform:translateX(18px)}.hub-checklist{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin-bottom:8px}.hub-check-item{align-items:center;background:var(--grey-light);border-radius:6px;cursor:pointer;display:flex;font-size:13px;gap:8px;padding:6px 10px}.hub-check-item input{accent-color:var(--blue);flex-shrink:0;height:15px;width:15px}.hub-check-item span:first-of-type{flex:1 1;font-weight:500}@media (max-width:1100px){.hub-summary-row{grid-template-columns:repeat(4,1fr)}.hub-overview-grid{grid-template-columns:1fr}.hub-agreement-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.hub-header-right,.hub-header-top{flex-direction:column}.hub-header-right{width:100%}.hub-summary-row{grid-template-columns:repeat(2,1fr)}}.po-page{display:flex;flex-direction:column;height:100%;overflow:hidden}.po-tabs{border-bottom:2px solid var(--grey-border);display:flex;flex-shrink:0}.po-tab{background:none;border:none;border-bottom:3px solid #0000;color:var(--text-light);cursor:pointer;font-size:13px;font-weight:400;margin-bottom:-2px;padding:10px 20px;transition:all .15s}.po-tab.active{border-bottom-color:var(--red);color:var(--navy);font-weight:700}.po-tab-body{flex:1 1;overflow-y:auto;padding:20px 0 24px}.po-summary-bar{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(4,1fr);margin-bottom:16px}.po-summary-card{background:var(--white);border:1px solid var(--grey-border);border-radius:8px;padding:12px 16px}.po-summary-label{color:var(--text-light);font-size:10px;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.po-summary-value{font-family:Barlow Condensed,sans-serif;font-size:20px;font-weight:800}.po-planning-bar{align-items:center;background:var(--white);border:1px solid var(--grey-border);display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px;padding:14px 18px}.po-planning-label{color:var(--navy);font-size:13px;font-weight:700}.po-success-bar{background:#e8f5e9;border:1px solid #a5d6a7;border-left:4px solid #27ae60;color:#2e7d32;font-size:13px;margin-bottom:16px;padding:12px 16px}.po-warning-bar{background:#fff8e1;border:1px solid #ffe082;font-size:13px;margin-bottom:14px;padding:10px 14px}.po-vendor-group{border:1px solid var(--grey-border);border-radius:4px;margin-bottom:16px;overflow:hidden}.po-vendor-unassigned{border-color:#ddd}.po-vendor-header{align-items:center;background:var(--navy);display:flex;justify-content:space-between;padding:10px 16px}.po-vendor-unassigned .po-vendor-header{background:#f5f5f5}.po-vendor-name{color:#fff;font-family:Barlow Condensed,sans-serif;font-size:14px;font-weight:700;text-transform:uppercase}.po-vendor-unassigned .po-vendor-name{color:#999}.po-vendor-count{background:#ffffff26;border-radius:10px;color:#ffffffbf;font-size:10px;padding:2px 7px}.po-vendor-unassigned .po-vendor-count{background:#eee;color:#999}.po-vendor-total{color:#7dcea0;font-size:12px;font-weight:600}.po-vendor-unassigned .po-vendor-total{color:#999}.po-plan-table{border-collapse:collapse;width:100%}.po-plan-table th{background:#f8f9fa;border-bottom:1px solid var(--grey-border);color:var(--text-light);font-size:10px;font-weight:700;padding:7px 12px;text-align:left;text-transform:uppercase}.po-plan-table td{border-bottom:1px solid #f0f0f0;font-size:13px;padding:9px 12px}.po-qty-input{border:1px solid var(--grey-border);border-radius:4px;font-size:13px;padding:4px 6px;text-align:center;width:60px}.po-qty-input:focus{border-color:var(--blue);outline:none}.po-vendor-select{background:#fff;border:1px solid var(--grey-border);border-radius:4px;font-size:11px;padding:4px 6px;width:100%}.po-detail-panel{background:var(--white);border-left:1px solid var(--grey-border);display:flex;flex-direction:column;flex-shrink:0;min-width:440px;overflow-y:auto;width:440px}.po-panel-header{align-items:flex-start;background:var(--navy);border-bottom:3px solid var(--red);display:flex;justify-content:space-between;padding:18px 20px;position:sticky;top:0;z-index:5}.po-panel-number{color:#fff;font-family:Barlow Condensed,sans-serif;font-size:18px;font-weight:800;text-transform:uppercase}.po-panel-body{flex:1 1;overflow-y:auto;padding:16px 20px}.po-total-bar{align-items:center;background:#f0fff4;border:1px solid #a5d6a7;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:14px;padding:10px 14px}.po-total-bar span{color:#2e7d32;font-size:12px;font-weight:700}.po-total-bar strong{color:#27ae60;font-family:Barlow Condensed,sans-serif;font-size:18px;font-weight:800}.tech-flag{background:#fff3e0;border:1px solid #ffcc80;border-radius:10px;color:#e65100;display:inline-block;font-size:10px;font-weight:700;margin-top:3px;padding:2px 8px}.po-tech-notice{align-items:flex-start;background:#fff8e1;border:1px solid #ffe082;border-left:4px solid #ffa000;border-radius:4px;color:#7b5800;display:flex;font-size:13px;gap:10px;margin-bottom:14px;padding:10px 14px}.po-tech-notice-icon{flex-shrink:0;font-size:18px}.po-actions{border-bottom:1px solid var(--grey-border);display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px;padding:10px 0}.po-info-block{background:var(--grey-light);border-radius:6px;margin-bottom:12px;padding:12px 14px}.po-info-label{color:var(--text-light);font-size:10px;font-weight:700;letter-spacing:.6px;margin-bottom:8px;text-transform:uppercase}.po-timeline{font-size:12px}.po-timeline-row{border-bottom:1px solid var(--grey-border);color:var(--text-mid);display:flex;justify-content:space-between;padding:4px 0}.po-timeline-row:last-child{border-bottom:none}.po-line-item{border-bottom:1px solid #f0f0f0;padding:10px 0}.po-line-item:last-child{border-bottom:none}.po-line-tech{background:#fffbf0;border-radius:4px;margin-bottom:4px;padding:10px 8px}.po-modal-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.po-modal{background:#fff;border-radius:10px;box-shadow:0 20px 60px #00000040;max-width:95vw;width:420px}.po-modal-header{border-bottom:1px solid var(--grey-border);padding:16px 20px}.po-modal-header h3{color:var(--navy);font-size:16px;font-weight:700}.po-modal-body{padding:20px}.po-modal-footer{border-top:1px solid var(--grey-border);display:flex;gap:10px;justify-content:flex-end;padding:14px 20px}@media (max-width:900px){.po-detail-panel{inset:0;min-width:0;position:fixed;width:100%;z-index:100}.po-summary-bar{grid-template-columns:1fr 1fr}}.tech-portal{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0 auto;max-width:480px}.tech-portal,.tech-screen{background:#f0f2f5;min-height:100vh}.tech-screen{display:flex;flex-direction:column}.tech-screen--dark{background:#0b1d3a}.tech-header{background:#0b1d3a;border-bottom:3px solid #e8722a;color:#fff;justify-content:space-between;padding:14px 16px;position:sticky;top:0;z-index:100}.tech-header,.tech-header-left{align-items:center;display:flex}.tech-header-left{gap:10px}.tech-header-title{font-size:17px;font-weight:700}.tech-header-right{align-items:center;display:flex;gap:8px}.tech-back-btn{background:none;border:none;color:#fff;cursor:pointer;font-size:28px;line-height:1;margin-left:-4px;padding:0 4px}.tech-logout-btn{align-items:center;background:#ffffff26;display:flex;font-size:16px;height:34px;justify-content:center;width:34px}.tech-logout-btn,.tech-save-btn{border:none;border-radius:8px;color:#fff;cursor:pointer}.tech-save-btn{background:#e8722a;font-size:14px;font-weight:700;padding:7px 16px}.tech-greeting-bar{background:#fff;border-bottom:1px solid #e0e0e0;padding:10px 16px}.tech-greeting-date{color:#666;font-size:13px}.tech-tabs{background:#fff;border-bottom:2px solid #e0e0e0;display:flex}.tech-tab{background:none;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;flex:1 1;font-size:13px;font-weight:500;margin-bottom:-2px;padding:12px 8px}.tech-tab.active{border-bottom-color:#e8722a;color:#0b1d3a;font-weight:700}.tech-job-list{flex:1 1;overflow-y:auto;padding:8px 12px 80px}.tech-loading{color:#666}.tech-empty,.tech-loading{font-size:14px;padding:60px 20px;text-align:center}.tech-empty{color:#999}.tech-job-card{cursor:pointer}.tech-job-number{color:#0b1d3a;font-family:monospace;font-size:11px;font-weight:800}.tech-job-wo{color:#666;font-size:10px}.tech-job-title{color:#111;font-size:13px;font-weight:600}.tech-job-customer{color:#333;font-size:13px;font-weight:500}.tech-job-site{color:#666;font-size:11px}.tech-job-meta{display:flex;flex-wrap:wrap;gap:8px}.tech-job-meta span{color:#555;font-size:11px}.tech-priority-chip,.tech-report-chip{border-radius:8px;font-size:9px;font-weight:700;padding:2px 6px}.tech-job-status-bar{font-size:10px;font-weight:700}.tech-job-detail{flex:1 1;overflow-y:auto;padding-bottom:80px}.tech-detail-status-bar{align-items:center;color:#fff;display:flex;justify-content:space-between;padding:10px 16px}.tech-detail-card{background:#fff;border-radius:10px;margin:12px 12px 0;padding:16px}.tech-detail-title{color:#0b1d3a;font-size:18px;font-weight:700;margin-bottom:6px}.tech-detail-meta{color:#555;font-size:13px;margin-top:4px}.tech-detail-section{background:#fff;border-radius:10px;margin:10px 12px 0;padding:14px 16px}.tech-detail-section.tech-internal-note{background:#fffef0;border:1px solid #f0e060}.tech-detail-section-title{color:#0b1d3a;font-size:13px;font-weight:700;letter-spacing:.5px;margin-bottom:10px;text-transform:uppercase}.tech-detail-label{color:#888;font-size:11px;letter-spacing:.5px;margin-bottom:3px;text-transform:uppercase}.tech-detail-value{color:#111;font-size:15px;font-weight:500;margin-bottom:6px}.tech-detail-row{border-bottom:1px solid #f0f0f0;display:flex;font-size:13px;justify-content:space-between;padding:7px 0}.tech-detail-row:last-child{border-bottom:none}.tech-detail-text{color:#444;font-size:13px;line-height:1.5}.tech-call-btn{background:#e8f5e9;color:#2e7d32;font-weight:600}.tech-call-btn,.tech-map-btn{border-radius:8px;display:block;font-size:13px;margin-top:6px;padding:8px 12px;text-decoration:none}.tech-map-btn{background:#e3f2fd;color:#1565c0}.tech-access-note{background:#fff8e1;border-radius:8px;color:#7b5800;font-size:12px;margin-top:6px;padding:8px 12px}.tech-equip-row,.tech-part-row{align-items:flex-start;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:10px 0}.tech-equip-row:last-child,.tech-part-row:last-child{border-bottom:none}.tech-equip-name,.tech-part-name{font-size:14px;font-weight:500}.tech-equip-meta,.tech-part-meta{color:#888;font-size:11px;margin-top:2px}.tech-part-qty{color:#0b1d3a;font-size:16px;font-weight:700}.tech-action-bar{background:#fff;border-top:1px solid #e0e0e0;bottom:0;box-shadow:0 -2px 12px #0000001a;left:50%;max-width:480px;padding:12px 16px;position:fixed;transform:translateX(-50%);width:100%;z-index:50}.tech-primary-btn{background:#0b1d3a;border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;padding:16px;width:100%}.tech-finalized-banner{background:#e8f5e9;border-radius:12px;color:#2e7d32;font-size:15px;font-weight:700;padding:14px;text-align:center}.tech-finalized-screen{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:40px 24px;text-align:center}.tech-worksheet-body{flex:1 1;overflow-y:auto;padding:12px 12px 100px}.tech-ws-section{background:#fff;border-radius:10px;margin-bottom:10px;padding:16px}.tech-ws-header-info{background:#f4f7fc;border:1px solid #c7d7f0}.tech-ws-section-title{border-bottom:2px solid #e8722a;color:#0b1d3a;font-size:14px;font-weight:700;letter-spacing:.5px;margin-bottom:14px;padding-bottom:8px;text-transform:uppercase}.tech-ws-row{border-bottom:1px solid #f0f0f0;display:flex;font-size:13px;justify-content:space-between;padding:6px 0}.tech-ws-row:last-child{border-bottom:none}.tech-ws-row span:first-child{color:#666}.tech-ws-row-2{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr}.tech-ws-field{margin-bottom:14px}.tech-ws-field label{color:#555;display:block;font-size:12px;font-weight:600;letter-spacing:.3px;margin-bottom:6px;text-transform:uppercase}.tech-ws-note{background:#fff8e1;border-left:3px solid #ffb300;border-radius:6px;color:#666;font-size:12px;margin-bottom:12px;padding:8px 12px}.tech-input{-webkit-appearance:none;background:#fff;border:1px solid #ddd;border-radius:8px;box-sizing:border-box;font-size:15px;padding:11px 12px;width:100%}.tech-input:focus{border-color:#0b1d3a;outline:none}.tech-select{-webkit-appearance:none;background:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='%23666' d='M6 8 0 0h12z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;font-size:15px;padding:11px 36px 11px 12px}.tech-select,.tech-textarea{border:1px solid #ddd;border-radius:8px;box-sizing:border-box;width:100%}.tech-textarea{background:#fff;font-family:inherit;font-size:16px;line-height:1.5;min-height:100px;overflow:hidden;padding:12px;resize:none}.tech-toggle-group{display:flex;gap:8px}.tech-toggle-btn{background:#fff;border:2px solid #ddd;border-radius:8px;color:#666;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:11px;transition:all .15s}.tech-toggle-btn.active{background:#0b1d3a;border-color:#0b1d3a;color:#fff}.tech-toggle-btn.active-red{background:#c62828;border-color:#c62828;color:#fff}.tech-checklist-group{margin-bottom:14px}.tech-checklist-group-title{color:#888;font-size:11px;font-weight:700;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.tech-check-item{align-items:flex-start;border-bottom:1px solid #f5f5f5;display:flex;gap:12px;padding:10px 0}.tech-check-item.checked{background:#f0fff4;border-radius:6px;margin:0 -8px;padding:10px 8px}.tech-check-btn{align-items:center;background:#fff;border:2px solid #ddd;border-radius:6px;color:#2e7d32;cursor:pointer;display:flex;flex-shrink:0;font-size:16px;font-weight:700;height:28px;justify-content:center;transition:all .15s;width:28px}.tech-check-item.checked .tech-check-btn{background:#2e7d32;border-color:#2e7d32;color:#fff}.tech-check-label{color:#333;cursor:pointer;flex:1 1;font-size:14px;line-height:1.4}.tech-part-entry{background:#f8f9fa;border-radius:8px;margin-bottom:8px;padding:12px}.tech-part-entry .tech-input{background:#fff;margin-bottom:8px}.tech-next-visit-part{background:#fff8e1;border:1px solid #ffe082}.tech-add-btn{background:none;border:2px dashed #ccc;border-radius:8px;color:#666;cursor:pointer;font-size:14px;margin-top:4px;padding:12px;width:100%}.tech-add-next{border-color:#ffb300;color:#7b5800}.tech-remove-btn{align-items:center;background:#fce4ec;border:none;border-radius:8px;color:#c62828;cursor:pointer;display:flex;flex-shrink:0;font-size:20px;height:36px;justify-content:center;width:36px}.tech-sig-wrap{position:relative}.tech-sig-canvas{background:#fff;border:2px solid #ddd;border-radius:8px;cursor:crosshair;display:block;height:140px;touch-action:none;width:100%}.tech-sig-clear{background:#fce4ec;border:none;border-radius:6px;color:#c62828;cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px;position:absolute;right:8px;top:8px}.tech-sig-preview{position:relative}.tech-ws-actions{display:flex;gap:10px}.tech-save-draft-btn{background:#f5f5f5;border:2px solid #ddd;border-radius:12px;color:#333;flex:1 1;font-size:14px}.tech-finalize-btn,.tech-save-draft-btn{cursor:pointer;font-weight:700;padding:14px}.tech-finalize-btn{background:#e8722a;border:none;border-radius:12px;color:#fff;flex:2 1;font-size:15px}.tech-finalize-btn:disabled{opacity:.6}.tech-report-card{background:#fff;border-radius:12px;box-shadow:0 1px 4px #0000001a;cursor:pointer;padding:14px}.tech-report-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.tech-report-status{border-radius:10px;font-size:11px;font-weight:700;padding:3px 10px}.tech-report-status.finalized{background:#e8f5e9;color:#2e7d32}.tech-report-status.draft{background:#fff3e0;color:#e65100}@media (min-width:500px){.tech-portal{box-shadow:0 0 40px #00000026}.tech-action-bar{left:50%}}@keyframes mic-pulse{0%,to{box-shadow:0 0 0 0 #e8722a80}50%{box-shadow:0 0 0 6px #e8722a00}}.arr-root{color:#1a1a2e;font-family:Arial,sans-serif;font-size:13px;max-width:1400px;padding:24px}.arr-page-header{margin-bottom:24px}.arr-page-title{color:#1a1a2e;font-size:22px;font-weight:700;margin:0 0 4px}.arr-page-subtitle{color:#666;font-size:12px;margin-bottom:8px}.arr-loading{color:#888;font-size:12px;font-style:italic}.arr-page-daterange{color:#888;font-size:12px;margin-top:2px}.arr-month-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin-top:8px}.arr-month-card{background:#fff;border:1px solid #dde3ec;border-radius:10px;box-shadow:0 1px 4px #0000000f;cursor:pointer;padding:22px 20px;text-align:left;transition:border-color .15s,box-shadow .15s,transform .1s}.arr-month-card:hover{border-color:#90caf9;box-shadow:0 3px 10px #1565c01f;transform:translateY(-2px)}.arr-month-card-label{color:#1a1a2e;font-size:18px;font-weight:700;margin-bottom:2px}.arr-month-card-sub{color:#888;font-size:11px;letter-spacing:.05em;margin-bottom:12px;text-transform:uppercase}.arr-month-card-range{color:#888;font-size:10px;margin-bottom:10px}.arr-month-card-capture{background:#fff3e0;border:1px solid #ffcc80;border-radius:8px;color:#e65100;display:inline-block;font-size:11px;font-weight:600;padding:3px 9px}.arr-month-card-capture--done{background:#e8f5e9;border-color:#a5d6a7;color:#2e7d32}.arr-back-row{margin-bottom:10px}.arr-back-btn{background:none;border:none;color:#1565c0;cursor:pointer;font-size:13px;font-weight:600;padding:0}.arr-back-btn:hover{text-decoration:underline}.arr-view-toggles{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.arr-view-toggles-label{color:#888;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.arr-view-toggle-btn{background:#f0f0f0;border:1px solid #dde3ec;border-radius:12px;color:#888;cursor:pointer;font-size:11px;font-weight:600;padding:4px 12px;transition:all .15s}.arr-view-toggle-btn.active{background:#2e7d32;border-color:#2e7d32;color:#fff}.arr-view-toggle-btn:hover:not(.active){border-color:#90caf9;color:#1565c0}.arr-customer-card{background:#fff;border:1px solid #dde3ec;border-radius:8px;box-shadow:0 1px 4px #0000000f;margin-bottom:14px;overflow:hidden}.arr-customer-header{align-items:center;background:#f8f9fc;border-bottom:1px solid #dde3ec;cursor:pointer;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;padding:13px 18px;-webkit-user-select:none;user-select:none}.arr-customer-header:hover{background:#eef1f8}.arr-customer-left{gap:10px}.arr-customer-left,.arr-customer-right{align-items:center;display:flex;flex-wrap:wrap}.arr-customer-right{gap:12px}.arr-customer-name{color:#1a1a2e;font-size:15px;font-weight:700}.arr-agreement-num{color:#888;font-size:12px}.arr-billing-pill{background:#e8f4fd;border:1px solid #90caf9;border-radius:10px;color:#1565c0;font-size:11px;font-weight:600;padding:2px 9px}.arr-summary-rev{color:#555;font-size:12px}.arr-summary-cost{color:#c62828;font-size:12px}.arr-chevron{color:#888;font-size:11px}.arr-profit-badge{border-radius:10px;display:inline-block;font-size:11px;font-weight:700;padding:2px 9px;white-space:nowrap}.arr-profit--pos{background:#e8f5e9;border:1px solid #a5d6a7;color:#2e7d32}.arr-profit--neg{background:#fce4ec;border:1px solid #ef9a9a;color:#c62828}.arr-customer-body{padding:16px 18px}.arr-warn{background:#fff8e1;border:1px solid #ffe082;border-radius:4px;color:#6d4c41;font-size:12px;margin-bottom:12px;padding:7px 12px}.arr-panels{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr)}.arr-category-panel{background:#fafbfd;border:1px solid #dde3ec;border-radius:6px;padding:12px 14px}.arr-category-panel--empty{background:#f5f5f5;opacity:.5}.arr-category-panel--total{background:#f0f4fb;border-color:#b0c4e8;font-weight:500}.arr-cat-title{border-bottom:2px solid #e3ecfa;color:#1565c0;font-size:11px;font-weight:700;letter-spacing:.06em;margin-bottom:10px;padding-bottom:4px;text-transform:uppercase}.arr-category-panel--total .arr-cat-title{border-color:#b0c4e8;color:#1a1a2e}.arr-cat-none{color:#aaa;font-size:12px;font-style:italic}.arr-cat-row{align-items:baseline;border-bottom:1px solid #f0f0f0;display:flex;font-size:12px;justify-content:space-between;padding:3px 0}.arr-cat-row:last-child{border-bottom:none}.arr-cat-label{color:#666;flex-shrink:0;padding-right:8px}.arr-cat-value{font-weight:600;text-align:right}.arr-cat-row--cost .arr-cat-value{color:#c62828}.arr-cat-row--revenue .arr-cat-value{color:#2e7d32}.arr-cat-row--ar .arr-cat-value{color:#e65100}.arr-cat-value--ar{font-weight:700}.arr-cat-value--total{font-weight:700;text-decoration:underline}.arr-cat-row--profit{padding-top:5px}.arr-cat-divider{border:none;border-top:1px solid #ccd4e0;margin:6px 0 3px}.arr-detail-toggle{background:none;border:none;border-top:1px dashed #dde3ec;color:#1565c0;cursor:pointer;display:block;font-size:10px;font-weight:700;letter-spacing:.04em;margin-top:8px;padding:4px 0;text-align:center;text-transform:uppercase;width:100%}.arr-detail-toggle:hover{color:#0d47a1}.arr-breakdown{border-top:1px solid #e3ecfa;margin-top:8px;padding-top:8px}.arr-breakdown-section{color:#7a8a9a;font-size:9px;font-weight:700;letter-spacing:.06em;margin:6px 0 4px;text-transform:uppercase}.arr-breakdown-section:first-child{margin-top:0}.arr-breakdown-table{border-collapse:collapse;font-size:10px;margin-bottom:6px;width:100%}.arr-breakdown-table th{border-bottom:1px solid #eee;color:#999;font-weight:700;padding:2px 4px 4px;text-align:left;white-space:nowrap}.arr-breakdown-table td{border-bottom:1px solid #f5f5f5;color:#555;padding:3px 4px;vertical-align:top}.arr-breakdown-table tr:last-child td{border-bottom:none}.arr-breakdown-cost{color:#c62828!important;font-weight:600;text-align:right}.arr-breakdown-rev{color:#2e7d32!important;font-weight:600;text-align:right}.arr-breakdown-table th:last-child,.arr-breakdown-table th:nth-last-child(2){text-align:right}.arr-billing-editor{align-items:center;display:inline-flex;position:relative}.arr-billing-edit-btn{background:none;border:none;color:#1565c0;cursor:pointer;font-size:13px;line-height:1;opacity:.6;padding:0 0 0 5px;transition:opacity .15s}.arr-billing-edit-btn:hover{opacity:1}.arr-billing-popover{background:#fff;border:1px solid #c5d5ef;border-radius:8px;box-shadow:0 4px 16px #00000021;font-size:12px;left:0;position:absolute;top:calc(100% + 6px);width:360px;z-index:200}.arr-billing-popover-tabs{border-bottom:1px solid #e3ecfa;display:flex}.arr-billing-popover-tabs button{align-items:center;background:none;border:none;border-bottom:2px solid #0000;color:#888;cursor:pointer;display:flex;flex:1 1;font-size:12px;font-weight:600;gap:6px;justify-content:center;padding:9px 12px}.arr-billing-popover-tabs button.active{border-bottom-color:#1565c0;color:#1565c0}.arr-billing-history-count{background:#1565c0;border-radius:8px;color:#fff;font-size:10px;font-weight:700;padding:1px 5px}.arr-billing-form{display:flex;flex-direction:column;gap:10px;padding:14px}.arr-billing-form-row{display:flex;flex-direction:column;gap:4px}.arr-billing-form-row label{color:#7a8a9a;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.arr-billing-form-row input,.arr-billing-form-row select{border:1px solid #dde3ec;border-radius:6px;box-sizing:border-box;color:#1a1a2e;font-size:12px;outline:none;padding:7px 9px;width:100%}.arr-billing-form-row input:focus,.arr-billing-form-row select:focus{border-color:#90caf9}.arr-billing-input-wrap{align-items:center;border:1px solid #dde3ec;border-radius:6px;display:flex;overflow:hidden}.arr-billing-input-wrap:focus-within{border-color:#90caf9}.arr-billing-prefix{align-items:center;align-self:stretch;background:#f8fafb;border-right:1px solid #dde3ec;color:#888;display:flex;font-size:12px;padding:0 8px}.arr-billing-input-wrap input{border:none;border-radius:0;flex:1 1}.arr-billing-input-wrap input:focus{border-color:#0000;box-shadow:none}.arr-billing-warn{background:#fff8e1;border:1px solid #ffe082;border-radius:4px;color:#6d4c41;font-size:11px;padding:5px 9px}.arr-billing-err{background:#fce4ec;border:1px solid #ef9a9a;border-radius:4px;color:#c62828;font-size:11px;padding:5px 9px}.arr-billing-form-actions{display:flex;gap:8px;margin-top:2px}.arr-billing-save-btn{background:#1565c0;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:700;padding:7px 20px}.arr-billing-save-btn:disabled{cursor:default;opacity:.6}.arr-billing-cancel-btn{background:#f0f4fb;border:1px solid #dde3ec;border-radius:6px;color:#555;cursor:pointer;font-size:12px;padding:7px 14px}.arr-billing-history{max-height:260px;overflow-y:auto;padding:10px 14px 14px}.arr-billing-history-empty{color:#aaa;font-size:12px;font-style:italic;padding:16px 0;text-align:center}.arr-billing-history-table{border-collapse:collapse;font-size:11px;width:100%}.arr-billing-history-table th{border-bottom:1px solid #e3ecfa;color:#7a8a9a;font-size:10px;font-weight:700;letter-spacing:.04em;padding:4px 6px 6px;text-align:left;text-transform:uppercase}.arr-billing-history-table td{border-bottom:1px solid #f5f5f5;color:#444;padding:6px;vertical-align:top}.arr-billing-history-table tr:last-child td{border-bottom:none}.arr-billing-history-current td{color:#1a1a2e;font-weight:600}.arr-billing-history-notes{color:#888;font-style:italic;max-width:80px}.arr-billing-change{font-size:10px;font-weight:700;white-space:nowrap}.arr-billing-change--up{color:#2e7d32}.arr-billing-change--down{color:#c62828}@media (max-width:1100px){.arr-panels{grid-template-columns:repeat(2,1fr)}}@media (max-width:680px){.arr-panels{grid-template-columns:1fr}}
/*# sourceMappingURL=main.2cddeddd.css.map*/