.portal-root{--p-navy:#13284a;--p-navy-2:#1f3069;--p-gold:#e8c147;--p-bg:#f4f5f7;--p-card:#fff;--p-border:#e3e6ea;--p-text:#1a1d23;--p-muted:#5b6370;--p-label:#55606e;--p-green:#1f7a3a;--p-blue:#2c63c9;--p-red:#c0392b;--portal-blue:var(--p-blue);--portal-green:var(--p-green);--portal-red:var(--p-red);background:var(--p-bg);min-height:100vh;color:var(--p-text);letter-spacing:0;font-family:Inter,system-ui,sans-serif}.portal-root h1,.portal-root h2,.portal-root h3{letter-spacing:0;font-family:Inter,system-ui,sans-serif}.portal-top{background:var(--p-card);border-bottom:1px solid var(--p-border)}.portal-nav a{color:#4a525e;white-space:nowrap;border-radius:6px;align-items:center;gap:6px;padding:8px 14px;font-size:17px;font-weight:600;display:inline-flex}.portal-nav a.is-active{background:var(--p-navy);color:#fff}.portal-wrap{max-width:1504px;margin:auto;padding:32px 48px 64px}.portal-h1{color:var(--p-text);font-size:30px;font-weight:700}.portal-card{background:var(--p-card);border:1px solid var(--p-border);border-radius:12px;box-shadow:0 1px 3px #10182814}.portal-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--p-label);font-size:15px;font-weight:700}.portal-th{letter-spacing:.12em;text-transform:uppercase;color:var(--p-label);font-size:13px;font-weight:700}.portal-btn{border:1px solid var(--p-border);color:var(--p-text);white-space:nowrap;background:#fff;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:7px 14px;font-size:16px;font-weight:600;display:inline-flex}.portal-btn:hover{background:#f7f8fa}.portal-btn.primary{background:var(--p-navy);border-color:var(--p-navy);color:#fff;padding:11px 22px;font-size:18px}.portal-btn.primary:hover{background:#1b355e}.portal-btn.gold{background:var(--p-gold);border-color:var(--p-gold);color:var(--p-navy)}.portal-btn.danger{color:var(--p-red);border-color:var(--p-red)}.portal-btn.ghost{background:0 0;border-color:#0000}.portal-btn:disabled{opacity:.55;cursor:not-allowed}.portal-seg{border:1px solid var(--p-border);background:#fff;border-radius:8px;display:inline-flex;overflow:hidden}.portal-seg button{color:#4a525e;border-left:1px solid var(--p-border);padding:9px 16px;font-size:17px;font-weight:600}.portal-seg button:first-child{border-left:0}.portal-seg button.active{background:var(--p-navy);color:#fff}.portal-label{color:var(--p-label);margin-bottom:8px;font-size:16px;font-weight:700;display:block}.portal-root input:not([type=checkbox]):not([type=color]),.portal-root select,.portal-root textarea{border:1px solid var(--p-border);width:100%;color:var(--p-text);background:#fff;border-radius:8px;padding:11px 16px;font-size:18px}.portal-root select.compact{border-radius:5px;width:auto;min-width:126px;padding:3px 10px;font-size:16px;font-weight:600}.portal-root input::placeholder,.portal-root textarea::placeholder{color:#9aa1ab}.portal-root :where(input,select,textarea,button,a):focus-visible{outline:2px solid var(--p-blue);outline-offset:2px}.portal-table{border-collapse:collapse;text-align:left;width:100%}.portal-table th{letter-spacing:.12em;color:var(--p-label);text-transform:uppercase;padding:12px 18px;font-size:13px;font-weight:700}.portal-table td{border-top:1px solid var(--p-border);vertical-align:middle;padding:18px;font-size:17px}.portal-table tbody tr:hover{background:#f1f3f6}.portal-pill{white-space:nowrap;color:var(--p-muted);border:1px solid var(--p-border);background:#eef0f3;border-radius:999px;align-items:center;gap:6px;padding:3px 13px;font-size:15px;font-weight:600;display:inline-flex}.portal-pill.presented{color:var(--p-blue);background:#eaf1fd;border-color:#b9cff5}.portal-pill.won{color:var(--p-green);background:#e9f6ee;border-color:#b6dfc3}.portal-pill.lost{color:var(--p-red);background:#fbecea;border-color:#f0c1bb}.portal-positive{color:var(--p-green)}.portal-danger{color:var(--p-red)}.portal-notice{background:#fdf7e2;border:1px solid #ecd27a;border-radius:10px;padding:14px 18px;font-size:15px;line-height:1.6}.portal-demo-bar{color:var(--p-muted);border-bottom:1px solid var(--p-border);background:#fff;font-size:12px}.portal-logo{object-fit:contain;width:auto;height:46px}.portal-sub{border:1px solid var(--p-border);background:#f1f2f5;border-radius:12px}.portal-letterhead{background:linear-gradient(90deg, var(--p-navy), var(--p-navy-2));color:#fff}.portal-tier{border:1px solid var(--p-border);background:#f1f2f5;border-radius:12px}.portal-tier.better{border:2px solid var(--p-gold);background:#fff}.portal-tier-badge{background:var(--p-gold);color:var(--p-navy);letter-spacing:.14em;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:800;display:block}.portal-price{color:var(--p-navy-2);font-weight:800}.portal-modal-back{z-index:60;background:#0f172a73;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.portal-step{color:var(--p-muted);align-items:center;gap:8px;font-size:13px;display:flex}.portal-step.active{color:var(--p-navy);font-weight:700}.portal-investment{border-top:2px solid var(--p-text);justify-content:space-between;align-items:flex-start;padding-top:14px;display:flex}@media (width<=767px){.portal-wrap{padding:20px 14px 48px}.portal-nav a{padding:7px 10px;font-size:15px}.portal-table td,.portal-table th{padding:12px;font-size:15px}.portal-table{min-width:760px}}@media (prefers-reduced-motion:reduce){.portal-root *{transition:none!important}}.portal-stage{white-space:nowrap;color:var(--stage,var(--p-muted));background:color-mix(in srgb, var(--stage,var(--p-muted)) 12%, #fff);border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:12px;font-weight:600;display:inline-flex}.portal-job{border-left:3px solid var(--stage,var(--p-border))}[data-stage=Scheduled]{--stage:#13284a}[data-stage="On the way"]{--stage:#7a5ac8}[data-stage=On\ site]{--stage:#2c63c9}[data-stage=Awaiting\ approval]{--stage:#b7791f}[data-stage="Ready for work"]{--stage:#0f8a8a}[data-stage=In\ progress]{--stage:#c2571a}[data-stage=Completed]{--stage:#1f7a3a}[data-stage=Cancelled]{--stage:#c0392b}.qe-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:14px;display:flex}.qe-actions{align-items:center;gap:10px;display:flex}.qe-actions select.compact{width:auto;min-width:92px;padding:6px 28px 6px 12px;font-size:14px}.qe-saved{color:var(--p-muted);align-items:center;gap:6px;font-size:13px;display:inline-flex}.qe-dot{background:var(--p-green);border-radius:99px;width:7px;height:7px}.qe-present{padding:8px 16px;font-size:14px}.qe-unsent{background:#fdf7e2;border:1px solid #ecd27a;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;padding:18px 22px;font-size:16px;display:flex}.qe-done{background:#fff;padding:6px 14px;font-size:14px}.qe-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:22px;display:grid}.qe-left{gap:22px;display:grid}.qe-card{padding:22px 24px}.qe-eyebrow{text-transform:uppercase;color:#3c4450;margin-bottom:14px;font-weight:700;letter-spacing:.12em!important;font-size:15px!important}.qe-fields{border:0;grid-template-columns:1fr 1fr;gap:14px 16px;margin:0;padding:0;display:grid}.qe-span{grid-column:1/-1}.qe-label{color:var(--p-label);margin-bottom:6px;font-size:15px;font-weight:700;display:block}.qe-sublabel{color:var(--p-label);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.qe-drop{cursor:pointer;text-align:center;color:var(--p-muted);border:1.5px dashed #cfd4db;border-radius:10px;padding:26px 22px;font-size:16px;line-height:1.5;display:block;position:relative;overflow:hidden}.qe-drop:hover{border-color:var(--p-navy)}.qe-photos{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px;margin-top:12px;display:grid}.qe-photos figure{margin:0;position:relative}.qe-photos img{aspect-ratio:1;object-fit:cover;border:1px solid var(--p-border);border-radius:8px;width:100%}.qe-photos button{border:1px solid var(--p-border);background:#fff;border-radius:99px;padding:3px;position:absolute;top:4px;right:4px}.qe-hint{color:var(--p-muted);margin-top:10px;font-size:12px}.qe-pending{gap:6px;margin-top:10px;font-size:13px;display:grid}.qe-pending li{border:1px solid var(--p-border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 10px;display:flex}.qe-photo-list{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:12px;display:grid}.qe-photo-list figure{border:1px solid var(--p-border);background:#fff;border-radius:10px;margin:0;overflow:hidden}.qe-photo-list figure.archived{opacity:.55}.qe-photo-list img,.qe-photo-missing{aspect-ratio:4/3;object-fit:cover;background:var(--p-soft,#f8f9fb);width:100%;color:var(--p-muted);place-items:center;font-size:12px;display:grid}.qe-photo-list figcaption{gap:6px;padding:8px;display:grid}.qe-photo-list figcaption input{padding:5px 8px;font-size:13px}.qe-photo-row{justify-content:space-between;gap:6px;display:flex}.qe-vis,.qe-archive{border:1px solid var(--p-border);color:var(--p-muted);border-radius:99px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.qe-vis.on{color:#fff;background:#0c2d62;border-color:#0c2d62}.qe-vis:not(.on){color:#20242b;background:#fff7e0;border-color:#f4be18}.cg-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;display:grid}@media (width<=520px){.cg-grid{grid-template-columns:repeat(2,1fr)}}.cg-grid button{text-align:left;background:#fff;border:1px solid #e3e6ea;border-radius:10px;overflow:hidden}.cg-grid img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.cg-grid span{color:#5b6370;padding:6px 8px;font-size:13px;display:block}.cg-lightbox figure{width:100%;max-width:min(960px,100%);margin:0;position:relative}.cg-lightbox img{object-fit:contain;background:#000;border-radius:10px;width:100%;max-height:80vh}.cg-lightbox figcaption{color:#fff;justify-content:space-between;gap:12px;padding:8px 2px;font-size:14px;display:flex}.cg-prev,.cg-next,.cg-close{color:#20242b;background:#ffffffeb;border-radius:99px;padding:8px;position:absolute}.cg-prev{top:40%;left:8px}.cg-next{top:40%;right:8px}.cg-close{top:8px;right:8px}.qe-tabs{border-bottom:1px solid var(--p-border);gap:6px;display:flex}.qe-tabs button{color:#4a525e;border:1px solid var(--p-border);background:#f1f2f5;border-bottom:0;border-radius:8px 8px 0 0;margin-bottom:-1px;padding:9px 16px;font-size:15px;font-weight:600;position:relative}.qe-tabs button.active{color:var(--p-text);background:#fff}.qe-flag{background:var(--p-red);border-radius:99px;width:7px;height:7px;position:absolute;top:5px;right:5px}.qe-pkg{border:1px solid var(--p-border);border-top:0;border-radius:0 0 10px 10px;padding:16px}.qe-pkg-fields{border:0;margin:0;padding:0}.qe-row2{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px;display:grid}.qe-pkg input,.qe-pkg select{padding:8px 12px!important;font-size:15px!important}.qe-cols{letter-spacing:.06em;color:var(--p-muted);grid-template-columns:116px 1fr 1fr;gap:10px;padding:0 2px 6px;font-size:11px;font-weight:700;display:grid}.qe-line{border-bottom:1px solid var(--p-border);padding:8px 0 10px}.qe-line-row{align-items:center;gap:10px;margin-top:8px;display:flex}.qe-stepper{border:1px solid var(--p-border);border-radius:8px;align-items:center;display:inline-flex;overflow:hidden}.qe-stepper button{color:#3c4450;background:#fff;width:34px;height:36px;font-size:16px}.qe-stepper span{text-align:center;border-inline:1px solid var(--p-border);min-width:38px;font-size:15px;line-height:36px}.qe-price{max-width:110px}.qe-total{margin-left:auto;font-size:13px;font-weight:700}.qe-ok{color:#9aa3ae;width:14px;height:14px}.qe-x{color:#9aa3ae;padding:2px}.qe-x:hover{color:var(--p-red)}.qe-catalog{border:1px solid var(--p-border);border-radius:10px;margin-top:14px;overflow:hidden}.qe-search{position:relative}.qe-search input{border:0!important;border-bottom:1px solid var(--p-border)!important;border-radius:0!important}.qe-search span{color:var(--p-muted);font-size:11px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.qe-results{max-height:300px;overflow-y:auto}.qe-sec{letter-spacing:.08em;color:#3c4450;border-bottom:1px solid var(--p-border);background:#f7f8fa;align-items:center;gap:6px;width:100%;padding:9px 12px;font-size:12px;font-weight:700;display:flex}.qe-sec span{color:var(--p-muted);margin-left:auto;font-weight:500}.qe-item{text-align:left;border-bottom:1px solid #f0f1f3;justify-content:space-between;gap:12px;width:100%;padding:8px 14px;font-size:13px;display:flex}.qe-item:hover{background:#f4f6fa}.qe-item span:last-child{color:var(--p-muted);white-space:nowrap}.qe-incomplete{background:#fdf0ee;border:1px solid #f0b7b0;border-radius:10px;justify-items:start;gap:10px;margin-bottom:14px;padding:14px 16px;font-size:14px;line-height:1.5;display:grid}.qe-summary{grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;display:grid}.qe-summary dl{background:#f7f8fa;border-radius:10px;padding:12px 14px;font-size:14px}.qe-summary dl div{justify-content:space-between;padding:3px 0;display:flex}.qe-grand{border-top:1px solid var(--p-border);color:var(--p-navy);margin-top:6px;font-weight:700;padding-top:8px!important}@media (width<=900px){.qe-grid,.qe-summary{grid-template-columns:1fr}}@media (width<=560px){.qe-fields,.qe-row2{grid-template-columns:1fr}.qe-cols{display:none}.qe-line-row{flex-wrap:wrap}}.em-meta{color:var(--p-muted);gap:4px;margin-bottom:14px;font-size:13px;display:grid}.em-card{border:1px solid var(--p-border);text-align:center;color:#1a1d23;background:#fff;border-radius:10px;max-width:600px;margin:0 auto;padding:40px 36px 28px}.em-card h3{font-size:26px;font-weight:700}.em-card p{font-size:17px;line-height:1.5}.em-btn{color:#fff;background:#0b1a3a;border-radius:6px;margin:24px 0 22px;padding:16px 44px;font-size:18px;font-weight:700;display:inline-block}.em-btn[aria-disabled=true]{cursor:not-allowed}.em-small{color:#3c4450;font-size:14px!important}.em-link{color:var(--p-muted);word-break:break-all;font-size:13px;text-decoration:underline}.em-foot{border-top:1px solid var(--p-border);color:#3c4450;margin-top:22px;padding-top:18px;font-size:14px!important}.em-foot a{color:var(--p-blue);font-weight:600;text-decoration:underline}.portal-subnav{border-bottom:1px solid var(--p-border);background:#f8f9fb}.portal-subnav a{color:var(--p-muted);border-bottom:2px solid #0000;padding:8px 2px;font-size:13px;font-weight:600}.portal-subnav a.is-active{color:var(--p-navy);border-color:var(--p-gold)}
