@font-face{font-family:"Manrope";src:url("../fonts/manrope-variable.ttf") format("truetype");font-style:normal;font-weight:200 800;font-display:swap}
:root{--rpf-navy:#071a33;--rpf-navy-2:#0d2d52;--rpf-blue:#155eef;--rpf-blue-dark:#0b4acb;--rpf-blue-bright:#67b7ff;--rpf-ink:#17263a;--rpf-muted:#526379;--rpf-subtle:#5f7086;--rpf-soft:#f3f7fc;--rpf-line:#d2ddea;--rpf-green:#0d8068;--rpf-amber:#b96808;--rpf-red:#b43b3b;--rpf-white:#fff;--rpf-shadow:0 18px 50px rgba(7,26,51,.11);--rpf-font:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.rpf-portal-shell{margin:0;min-height:100%;background:#f3f6fa}
.rpf-portal-shell .rpf-portal-main{min-height:100vh}
.rpf-booking,.rpf-portal,.rpf-auth-card{box-sizing:border-box;color:var(--rpf-ink);font-family:var(--rpf-font);font-size:16px;line-height:1.6}
.rpf-booking *,.rpf-portal *,.rpf-auth-card *{box-sizing:border-box}
.rpf-kicker{margin:0 0 12px!important;color:var(--rpf-blue)!important;font-size:11px!important;font-weight:850!important;letter-spacing:.16em!important;text-transform:uppercase}
.rpf-button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:0 22px;border:0;border-radius:10px;background:var(--rpf-blue);color:#fff;font-weight:780;cursor:pointer;box-shadow:0 10px 24px rgba(22,119,255,.2);transition:.2s ease}
.rpf-button:hover{background:var(--rpf-blue-dark);transform:translateY(-1px)}
.rpf-button:disabled{opacity:.55;cursor:wait;transform:none}
.rpf-booking{max-width:1180px;margin:0 auto;padding:70px 22px 110px}
.rpf-booking-head{text-align:center;max-width:760px;margin:0 auto 46px}
.rpf-booking-head h1{margin:0 0 13px;color:var(--rpf-navy);font-size:clamp(42px,6vw,66px);letter-spacing:-.05em;line-height:1}
.rpf-booking-head>p:not(.rpf-kicker){color:var(--rpf-muted);font-size:16px}
.rpf-progress{display:flex;align-items:center;max-width:760px;margin:38px auto 0}
.rpf-progress span{display:flex;align-items:center;gap:8px;color:#9ca6b1;font-size:11px;font-weight:800;white-space:nowrap}
.rpf-progress span b{width:24px;height:24px;display:grid;place-items:center;border:1px solid #cbd4dd;border-radius:50%}
.rpf-progress span.is-active{color:var(--rpf-blue)}
.rpf-progress span.is-active b{color:#fff;background:var(--rpf-blue);border-color:var(--rpf-blue)}
.rpf-progress i{flex:1;height:1px;margin:0 12px;background:#cad3dd}
.rpf-booking-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:28px}
.rpf-form{padding:38px;background:#fff;border:1px solid var(--rpf-line);border-radius:20px;box-shadow:0 14px 45px rgba(13,27,42,.06)}
.rpf-step{display:none;gap:18px}
.rpf-step.is-active{display:grid}
.rpf-step h2{margin:0 0 6px;color:var(--rpf-navy);font-size:28px;letter-spacing:-.035em}
.rpf-form label{display:grid;gap:7px;color:#3d4752;font-size:12px;font-weight:750}
.rpf-form input,.rpf-form select,.rpf-form textarea{width:100%;padding:0 13px;color:var(--rpf-ink);background:#fbfcfe;border:1px solid #d7dee7;border-radius:9px;outline:none;font:inherit;font-weight:450}
.rpf-form input,.rpf-form select{height:49px}
.rpf-form textarea{padding:13px;resize:vertical}
.rpf-form input:focus,.rpf-form select:focus,.rpf-form textarea:focus{border-color:var(--rpf-blue);box-shadow:0 0 0 3px rgba(22,119,255,.11)}
.rpf-form [aria-invalid="true"]{border-color:var(--rpf-red)!important;box-shadow:0 0 0 3px rgba(201,71,71,.1)!important}
.rpf-field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.rpf-address-row{grid-template-columns:.65fr 1fr .65fr}
.rpf-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.rpf-phone-field{display:flex;align-items:stretch;width:100%;height:49px;background:#fbfcfe;border:1px solid #d7dee7;border-radius:9px;overflow:hidden;transition:.15s ease}
.rpf-phone-field:focus-within{border-color:var(--rpf-blue);box-shadow:0 0 0 3px rgba(22,119,255,.11)}
.rpf-phone-prefix{display:flex;align-items:center;gap:7px;padding:0 11px;background:#f0f4f8;border-right:1px solid #d7dee7;color:var(--rpf-navy);white-space:nowrap}
.rpf-us-flag{font-size:18px;line-height:1}
.rpf-form .rpf-phone-field input{height:47px;border:0;border-radius:0;box-shadow:none!important}
.rpf-form .rpf-phone-field:has(input[aria-invalid="true"]){border-color:var(--rpf-red);box-shadow:0 0 0 3px rgba(201,71,71,.1)}
.rpf-upload{padding:18px;border:1px dashed #bfcbd8;border-radius:10px;background:#fbfcfe}
.rpf-upload small{color:#87919d;font-weight:500}
.rpf-optional-tag{width:max-content;padding:3px 7px;color:#53606d;background:#e9eef4;border-radius:999px;font-size:9px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.rpf-upload input{height:auto;padding:8px 0;border:0;background:transparent}
.rpf-form-actions{display:flex;align-items:center;justify-content:space-between;margin-top:8px}
.rpf-back{padding:12px;border:0;background:transparent;color:var(--rpf-muted);font-weight:750;cursor:pointer}
.rpf-form-message{display:none;margin-top:18px;padding:12px 14px;border-radius:8px;font-size:13px}
.rpf-form-message.is-error{display:block;color:#912f2f;background:#fff0f0;border:1px solid #f0c8c8}
.rpf-booking-aside{display:grid;gap:15px}
.rpf-booking-aside>div{padding:27px;background:var(--rpf-navy);border-radius:17px;color:#fff}
.rpf-aside-icon{width:42px;height:42px;display:grid;place-items:center;margin-bottom:20px;background:rgba(22,119,255,.22);border-radius:12px;color:#83b8ff;font-weight:900}
.rpf-booking-aside h3{margin:0 0 16px;color:#fff;font-size:18px}
.rpf-booking-aside ol{margin:0;padding-left:20px;color:#becbd7;font-size:12px}
.rpf-booking-aside li{margin-bottom:12px}
.rpf-booking-aside .rpf-area-card{display:grid;gap:6px;background:var(--rpf-blue)}
.rpf-area-card span{color:#deebff;font-size:12px;line-height:1.55}
.rpf-confirmation-step{place-items:center;min-height:390px;padding:28px 10px;text-align:center}
.rpf-confirmation-step.is-active{display:grid}
.rpf-confirmation-icon{width:76px;height:76px;display:grid;place-items:center;margin:0 auto 6px;color:#fff;background:var(--rpf-green);border-radius:50%;font-size:34px}
.rpf-confirmation-step h2{margin:0;color:var(--rpf-navy);font-size:38px}
.rpf-confirmation-step>p:not(.rpf-kicker){max-width:470px;margin:0;color:var(--rpf-muted);line-height:1.65}
.rpf-confirmation-step strong{display:inline-block;padding:8px 13px;color:var(--rpf-blue);background:#edf5ff;border-radius:7px;letter-spacing:.08em}
.rpf-auth-card{max-width:480px;margin:80px auto;padding:42px;background:#fff;border:1px solid var(--rpf-line);border-radius:22px;box-shadow:var(--rpf-shadow)}
.rpf-auth-logo{display:block;width:92px;height:92px;margin:0 0 24px;object-fit:contain;background:#fff;border:1px solid #edf0f4;border-radius:16px}
.rpf-auth-card h1{margin:0 0 10px;color:var(--rpf-navy);font-size:29px;letter-spacing:-.04em}
.rpf-auth-card p{color:var(--rpf-muted)}
.rpf-auth-card label{display:grid;gap:6px;margin:15px 0;color:#3d4752;font-size:12px;font-weight:750}
.rpf-auth-card input[type="text"],.rpf-auth-card input[type="password"]{width:100%;height:48px;padding:0 12px;border:1px solid var(--rpf-line);border-radius:9px}
.rpf-auth-card input[type="submit"]{min-height:46px;padding:0 20px;border:0;border-radius:9px;background:var(--rpf-blue);color:#fff;font-weight:800;cursor:pointer}
.rpf-portal{min-height:760px;margin:0;background:#f3f6fa}
.rpf-portal-topbar,.rpf-tech-header{min-height:78px;display:flex;align-items:center;justify-content:space-between;padding:10px 24px;color:#fff;background:var(--rpf-navy)}
.rpf-portal-topbar>div,.rpf-tech-header>div{display:flex;align-items:center;gap:11px}
.rpf-portal-logo{display:block;width:58px;height:58px;object-fit:contain;background:#fff;border-radius:10px}
.rpf-portal-topbar span,.rpf-tech-header span{display:flex;flex-direction:column}
.rpf-portal-topbar small,.rpf-tech-header small{color:#aebdca;font-size:10px}
.rpf-portal-topbar>div:last-child{flex-direction:row;gap:18px;color:#dbe4ec;font-size:12px}
.rpf-portal-topbar a,.rpf-tech-header a{color:#fff;font-size:12px;font-weight:750}
.rpf-portal-layout{display:grid;grid-template-columns:420px minmax(0,1fr);min-height:690px}
.rpf-queue-panel{border-right:1px solid var(--rpf-line);background:#fff}
.rpf-portal-title{padding:27px 24px 17px}
.rpf-portal-title h1{margin:0;color:var(--rpf-navy);font-size:29px;letter-spacing:-.04em}
.rpf-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);margin:0 24px 18px;border:1px solid var(--rpf-line);border-radius:12px;overflow:hidden}
.rpf-stat-grid div{display:flex;flex-direction:column;align-items:center;padding:13px 8px;border-right:1px solid var(--rpf-line)}
.rpf-stat-grid div:last-child{border:0}
.rpf-stat-grid b{color:var(--rpf-navy);font-size:21px}
.rpf-stat-grid span{color:#87919d;font-size:9px;text-transform:uppercase;letter-spacing:.1em}
.rpf-filters{display:grid;grid-template-columns:1.15fr .85fr;gap:8px;padding:0 24px 18px}
.rpf-filters input,.rpf-filters select{width:100%;height:41px;padding:0 10px;border:1px solid var(--rpf-line);border-radius:8px;background:#fbfcfe;font-size:11px}
.rpf-request-list{max-height:585px;overflow:auto;border-top:1px solid var(--rpf-line)}
.rpf-loading,.rpf-no-results{padding:34px 24px;color:var(--rpf-muted);text-align:center;font-size:13px}
.rpf-request-row{width:100%;display:grid;grid-template-columns:1fr auto;gap:8px;padding:17px 24px;border:0;border-bottom:1px solid #e8edf2;background:#fff;text-align:left;cursor:pointer;transition:.16s ease}
.rpf-request-row:hover,.rpf-request-row.is-active{background:#f0f6ff}
.rpf-request-row.is-active{box-shadow:inset 3px 0 var(--rpf-blue)}
.rpf-request-row strong{color:var(--rpf-navy);font-size:13px}
.rpf-request-row small{color:#8a95a1;font-size:10px}
.rpf-request-row p{grid-column:1/-1;margin:0;color:#64707c;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rpf-status{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;background:#eef2f6;color:#5f6a75;font-size:8px!important;font-weight:850;text-transform:uppercase;letter-spacing:.06em}
.rpf-status[data-status="new"]{background:#eaf2ff;color:#1767d0}
.rpf-status[data-status="assigned"],.rpf-status[data-status="accepted"]{background:#eaf8f2;color:#168052}
.rpf-status[data-status="en_route"],.rpf-status[data-status="on_site"]{background:#fff3df;color:#9a6111}
.rpf-status[data-status="cancelled"]{background:#fff0f0;color:#a93d3d}
.rpf-request-panel{padding:30px;overflow:auto}
.rpf-empty-state{max-width:440px;margin:130px auto 0;text-align:center}
.rpf-empty-logo{width:72px;height:72px;display:block;object-fit:contain;margin:0 auto 22px;background:#fff;border:1px solid #dfe8f2;border-radius:17px}
.rpf-empty-state h2{margin:0;color:var(--rpf-navy);font-size:28px}
.rpf-empty-state p{color:var(--rpf-muted);font-size:13px}
.rpf-detail{max-width:900px;margin:0 auto}
.rpf-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}
.rpf-detail-head h2{margin:4px 0 5px;color:var(--rpf-navy);font-size:31px;letter-spacing:-.04em}
.rpf-detail-head p{margin:0;color:var(--rpf-muted);font-size:12px}
.rpf-detail-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}
.rpf-panel-card{padding:22px;background:#fff;border:1px solid var(--rpf-line);border-radius:14px}
.rpf-panel-card h3{margin:0 0 16px;color:var(--rpf-navy);font-size:14px}
.rpf-danger-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;margin-top:16px;border-color:#efc7c7}
.rpf-danger-card h3{grid-column:1/-1;margin-bottom:0;color:#8d2828}
.rpf-danger-card p{margin:0;color:#6d4545;font-size:12px;line-height:1.6}
.rpf-danger-button{min-height:41px;padding:0 14px;border:1px solid #c93f3f;border-radius:8px;background:#fff;color:#a12e2e;font:inherit;font-size:11px;font-weight:800;cursor:pointer}
.rpf-danger-button:hover{background:#fff0f0}
.rpf-danger-button:disabled{cursor:wait;opacity:.55}
.rpf-portal-notice{position:fixed;z-index:1000;top:18px;right:18px;max-width:min(420px,calc(100vw - 36px));padding:13px 16px;color:#0b6048;background:#e8f7f3;border:1px solid #9ed7c6;border-radius:10px;box-shadow:0 12px 30px rgba(7,26,51,.16);font-size:14px;font-weight:720}
.rpf-data-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.rpf-data-grid div{display:flex;flex-direction:column;gap:3px}
.rpf-data-grid small{color:#929ca6;font-size:8px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.rpf-data-grid span,.rpf-data-grid a{color:#35404c;font-size:12px;font-weight:650;word-break:break-word}
.rpf-problem{margin:17px 0 0;padding:14px;color:#46515d;background:var(--rpf-soft);border-radius:9px;font-size:12px;white-space:pre-wrap}
.rpf-attachments{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.rpf-attachments a{padding:7px 9px;color:var(--rpf-blue);background:#edf5ff;border-radius:7px;font-size:10px;font-weight:750}
.rpf-confirm-form,.rpf-note-form{display:grid;gap:11px}
.rpf-confirm-form label,.rpf-note-form label{display:grid;gap:5px;color:#596572;font-size:10px;font-weight:750}
.rpf-confirm-form input,.rpf-confirm-form select,.rpf-note-form textarea{width:100%;padding:0 10px;border:1px solid var(--rpf-line);border-radius:8px;background:#fbfcfe;font:inherit;font-size:12px}
.rpf-confirm-form input,.rpf-confirm-form select{height:42px}
.rpf-note-form textarea{padding:10px;resize:vertical}
.rpf-confirm-form .rpf-button,.rpf-note-form .rpf-button{min-height:41px;font-size:11px}
.rpf-status-actions{display:flex;flex-wrap:wrap;gap:7px}
.rpf-status-actions button{padding:7px 9px;border:1px solid var(--rpf-line);border-radius:7px;background:#fff;color:#4b5662;font-size:10px;font-weight:750;cursor:pointer}
.rpf-timeline{display:grid;gap:0}
.rpf-event{position:relative;padding:0 0 18px 18px;border-left:1px solid #d7e0e9}
.rpf-event:before{content:"";position:absolute;width:7px;height:7px;left:-4px;top:4px;border-radius:50%;background:var(--rpf-blue)}
.rpf-event:last-child{border-color:transparent}
.rpf-event p{margin:0 0 3px;color:#4d5965;font-size:11px;white-space:pre-wrap}
.rpf-event small{color:#98a2ac;font-size:9px}
.rpf-tech-header{position:sticky;top:0;z-index:20}
.rpf-tech-intro{max-width:920px;margin:0 auto;padding:42px 20px 20px}
.rpf-tech-intro h1{margin:0 0 8px;color:var(--rpf-navy);font-size:38px;letter-spacing:-.045em}
.rpf-tech-intro>p:last-child{color:var(--rpf-muted);font-size:13px}
.rpf-tech-filters{max-width:920px;display:flex;gap:8px;margin:0 auto;padding:0 20px 18px}
.rpf-tech-filters button{padding:8px 14px;border:1px solid var(--rpf-line);border-radius:999px;background:#fff;color:#65717d;font-size:11px;font-weight:750;cursor:pointer}
.rpf-tech-filters button.is-active{color:#fff;background:var(--rpf-blue);border-color:var(--rpf-blue)}
.rpf-tech-jobs{max-width:920px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 auto;padding:0 20px 60px}
.rpf-job-card{padding:20px;border:1px solid var(--rpf-line);border-radius:15px;background:#fff;box-shadow:0 8px 24px rgba(10,31,56,.05);cursor:pointer}
.rpf-job-card-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:15px}
.rpf-job-card-head strong{color:var(--rpf-navy);font-size:14px}
.rpf-job-card h2{margin:0 0 6px;color:var(--rpf-navy);font-size:19px}
.rpf-job-card p{margin:0 0 15px;color:var(--rpf-muted);font-size:11px}
.rpf-job-meta{display:grid;gap:7px;padding-top:13px;border-top:1px solid var(--rpf-line);color:#4d5965;font-size:11px}
.rpf-tech-detail{max-width:920px;margin:0 auto;padding:0 20px 60px}
.rpf-tech-detail .rpf-detail-grid{grid-template-columns:1fr}
@media(max-width:900px){.rpf-booking-grid{grid-template-columns:1fr}.rpf-booking-aside{grid-template-columns:1fr 1fr}.rpf-portal-layout{grid-template-columns:340px 1fr}.rpf-detail-grid{grid-template-columns:1fr}.rpf-request-panel{padding:22px}}
@media(max-width:720px){.rpf-booking{padding:50px 15px 80px}.rpf-progress span{font-size:0}.rpf-progress span b{font-size:11px}.rpf-progress i{margin:0 10px}.rpf-form{padding:24px 18px}.rpf-field-row,.rpf-address-row{grid-template-columns:1fr}.rpf-booking-aside{grid-template-columns:1fr}.rpf-portal-topbar{padding:10px 14px}.rpf-portal-topbar>div:last-child>span{display:none}.rpf-portal-layout{display:block}.rpf-queue-panel{border:0}.rpf-request-list{max-height:none}.rpf-request-panel{padding:18px}.rpf-request-panel:not(.has-selection){display:none}.rpf-detail-head{align-items:flex-start}.rpf-detail-head h2{font-size:25px}.rpf-data-grid{grid-template-columns:1fr}.rpf-tech-jobs{grid-template-columns:1fr}.rpf-tech-intro h1{font-size:32px}}

/* Ramex ProFix interface system: accessible type, reliable contrast, and one blue-led identity. */
.rpf-portal-shell{background:#eef4fa}
.rpf-booking h1,.rpf-booking h2,.rpf-booking h3,
.rpf-portal h1,.rpf-portal h2,.rpf-portal h3,
.rpf-auth-card h1{letter-spacing:-.032em;line-height:1.12;text-wrap:balance}
.rpf-booking a,.rpf-portal a,.rpf-auth-card a{text-underline-offset:3px}
.rpf-booking :focus-visible,.rpf-portal :focus-visible,.rpf-auth-card :focus-visible{outline:3px solid rgba(21,94,239,.34);outline-offset:2px}
.rpf-kicker{color:var(--rpf-blue-dark)!important;font-size:12px!important;font-weight:800!important;letter-spacing:.14em!important;line-height:1.3}
.rpf-button{font-family:var(--rpf-font);font-size:14px;font-weight:760;background:var(--rpf-blue);box-shadow:0 10px 24px rgba(21,94,239,.24)}
.rpf-button:hover{background:var(--rpf-blue-dark);box-shadow:0 13px 28px rgba(21,94,239,.29)}

.rpf-booking-head h1{font-weight:780}
.rpf-booking-head>p:not(.rpf-kicker){color:var(--rpf-muted);font-size:17px;line-height:1.68}
.rpf-progress span{color:var(--rpf-subtle);font-size:12px;font-weight:760}
.rpf-progress span b{border-color:#aebfd2}
.rpf-progress i{background:#bdcada}
.rpf-form{border-color:var(--rpf-line);box-shadow:0 16px 46px rgba(7,26,51,.08)}
.rpf-step h2{font-size:30px;font-weight:760}
.rpf-form label{color:#30445c;font-size:14px;font-weight:720}
.rpf-form input,.rpf-form select,.rpf-form textarea{color:var(--rpf-ink);background:#f8fbff;border-color:#bdcada;font-size:16px;line-height:1.5}
.rpf-form input::placeholder,.rpf-form textarea::placeholder{color:#718198;opacity:1}
.rpf-form input:focus,.rpf-form select:focus,.rpf-form textarea:focus,
.rpf-phone-field:focus-within{box-shadow:0 0 0 3px rgba(21,94,239,.14)}
.rpf-phone-field{background:#f8fbff;border-color:#bdcada}
.rpf-phone-prefix{background:#eaf1f8;border-color:#bdcada;color:var(--rpf-navy);font-size:15px;font-weight:680}
.rpf-upload{background:#f8fbff;border-color:#9fb2c8}
.rpf-upload small{color:var(--rpf-subtle);font-size:13px;line-height:1.55}
.rpf-optional-tag{color:#40546c;background:#e5edf6;font-size:11px;font-weight:800}
.rpf-back{color:#40546c;font-family:var(--rpf-font);font-size:14px}
.rpf-form-message{font-size:14px;line-height:1.55}
.rpf-booking-aside>div{background:linear-gradient(145deg,#06162c,var(--rpf-navy-2))}
.rpf-aside-icon{color:var(--rpf-blue-bright);background:rgba(103,183,255,.16)}
.rpf-booking-aside h3{font-size:20px}
.rpf-booking-aside ol{color:#c6d6e6;font-size:14px;line-height:1.65}
.rpf-booking-aside .rpf-area-card{background:linear-gradient(145deg,var(--rpf-blue-dark),var(--rpf-blue))}
.rpf-area-card span{color:#e9f3ff;font-size:14px;line-height:1.6}
.rpf-confirmation-icon{background:var(--rpf-green)}
.rpf-confirmation-step h2{font-size:38px;font-weight:760}
.rpf-confirmation-step>p:not(.rpf-kicker){color:var(--rpf-muted);font-size:16px}
.rpf-confirmation-step strong{color:var(--rpf-blue-dark);background:#e9f1ff;font-size:14px}

.rpf-auth-card{border-color:var(--rpf-line);box-shadow:var(--rpf-shadow)}
.rpf-auth-card h1{font-size:31px;font-weight:760}
.rpf-auth-card p{color:var(--rpf-muted);font-size:15px;line-height:1.65}
.rpf-auth-card label{color:#30445c;font-size:14px;font-weight:720}
.rpf-auth-card input[type="text"],.rpf-auth-card input[type="password"]{color:var(--rpf-ink);background:#f8fbff;border-color:#bdcada;font-family:var(--rpf-font);font-size:16px}
.rpf-auth-card input[type="submit"]{background:var(--rpf-blue);font-family:var(--rpf-font);font-size:14px}

.rpf-portal{background:#eef4fa}
.rpf-portal-topbar,.rpf-tech-header{background:linear-gradient(120deg,#06162c,var(--rpf-navy-2))}
.rpf-portal-topbar small,.rpf-tech-header small{color:#c6d6e6;font-size:12px}
.rpf-portal-topbar>div:last-child{color:#dbe7f2;font-size:14px}
.rpf-portal-topbar a,.rpf-tech-header a{font-size:14px;font-weight:720}
.rpf-portal-title h1{font-size:31px;font-weight:760}
.rpf-stat-grid b{font-size:23px}
.rpf-stat-grid span{color:var(--rpf-subtle);font-size:11px;font-weight:760}
.rpf-filters input,.rpf-filters select{color:var(--rpf-ink);background:#f8fbff;border-color:#bdcada;font-family:var(--rpf-font);font-size:14px}
.rpf-loading,.rpf-no-results{font-size:15px}
.rpf-request-row{border-bottom-color:#dce5ee}
.rpf-request-row:hover,.rpf-request-row.is-active{background:#edf4ff}
.rpf-request-row strong{font-size:15px}
.rpf-request-row small{color:var(--rpf-subtle);font-size:12px}
.rpf-request-row p{color:var(--rpf-muted);font-size:14px}
.rpf-status{color:#40546c;background:#e9eef4;font-size:11px!important;font-weight:800}
.rpf-status[data-status="new"]{color:#0b4acb;background:#e9f1ff}
.rpf-status[data-status="assigned"],.rpf-status[data-status="accepted"]{color:#0b6b52;background:#e8f7f3}
.rpf-status[data-status="en_route"],.rpf-status[data-status="on_site"]{color:#8b4b05;background:#fff2dc}
.rpf-status[data-status="cancelled"]{color:#a12e2e;background:#fff0f0}
.rpf-empty-state h2{font-size:30px;font-weight:760}
.rpf-empty-state p{font-size:15px}
.rpf-detail-head h2{font-size:32px;font-weight:760}
.rpf-detail-head p{font-size:14px}
.rpf-panel-card{border-color:var(--rpf-line);box-shadow:0 8px 24px rgba(7,26,51,.04)}
.rpf-panel-card h3{font-size:16px}
.rpf-danger-card p{font-size:14px}
.rpf-danger-button{font-family:var(--rpf-font);font-size:13px}
.rpf-data-grid small{color:var(--rpf-subtle);font-size:11px;font-weight:800}
.rpf-data-grid span,.rpf-data-grid a{color:#30445c;font-size:14px}
.rpf-problem{color:#30445c;background:var(--rpf-soft);font-size:14px;line-height:1.65}
.rpf-attachments a{color:var(--rpf-blue-dark);background:#e9f1ff;font-size:12px}
.rpf-confirm-form label,.rpf-note-form label{color:#40546c;font-size:13px;font-weight:720}
.rpf-confirm-form input,.rpf-confirm-form select,.rpf-note-form textarea{color:var(--rpf-ink);background:#f8fbff;border-color:#bdcada;font-family:var(--rpf-font);font-size:14px}
.rpf-confirm-form .rpf-button,.rpf-note-form .rpf-button{font-size:12px}
.rpf-status-actions button{color:#40546c;border-color:#bdcada;font-family:var(--rpf-font);font-size:12px}
.rpf-event p{color:#40546c;font-size:14px;line-height:1.6}
.rpf-event small{color:var(--rpf-subtle);font-size:12px}
.rpf-tech-intro h1{font-size:40px;font-weight:760}
.rpf-tech-intro>p:last-child{font-size:15px}
.rpf-tech-filters button{color:#40546c;border-color:#bdcada;font-family:var(--rpf-font);font-size:13px}
.rpf-job-card{border-color:var(--rpf-line);box-shadow:0 8px 24px rgba(7,26,51,.06)}
.rpf-job-card-head strong{font-size:16px}
.rpf-job-card h2{font-size:21px}
.rpf-job-card p{font-size:14px;line-height:1.6}
.rpf-job-meta{color:#40546c;font-size:14px}

@media(max-width:720px){
  .rpf-progress span{font-size:0}
  .rpf-progress span b{font-size:12px}
  .rpf-booking-head h1{font-size:clamp(40px,12vw,54px)}
  .rpf-step h2{font-size:28px}
  .rpf-portal-topbar a,.rpf-tech-header a{font-size:13px}
  .rpf-detail-head h2{font-size:27px}
  .rpf-tech-intro h1{font-size:34px}
	.rpf-danger-card{grid-template-columns:1fr}
	.rpf-danger-card h3{grid-column:auto}
	.rpf-danger-button{width:100%}
}
