/* Khadamat Plus — Signature. Shared visual system; workflow rules live in app.css. */
:root{--kp-navy:#172f43;--kp-navy-2:#102333;--kp-gold:#9d742f;--kp-gold-soft:#f4ead8;--kp-bg:#fff;--kp-text:#243747;--kp-muted:#69747b;--kp-line:#e3e5df;--kp-card:#fff;--radius:20px;--shadow:0 8px 24px -18px #10233338;--signature-sand:#dcc29a}
html,body{background:var(--kp-bg)}
body{line-height:1.8}
::selection{background:#e8d4af;color:#102333}
.public-shell{background:#fff}
.public-main,.container{width:min(1160px,calc(100% - 32px))}
.public-main{padding-top:14px}
.card,.request-card,.stat{border:1px solid var(--kp-line);box-shadow:var(--shadow)}
.card{padding:22px;border-radius:22px}
.card-title{font-weight:800;font-size:1.16rem;letter-spacing:-.025em}
.card-subtitle{font-size:.86rem;line-height:1.9}
.section-head{margin:26px 0 14px;align-items:center}
.section-head h1{font-size:1.5rem;line-height:1.55;letter-spacing:-.04em}
.section-head h2{font-size:1.14rem}
.section-head>.btn{flex:none}
.section-head a:not(.btn){font-size:.8rem;color:#765a2c;font-weight:700}
.btn{min-height:48px;border-radius:12px;letter-spacing:0;font-weight:750;box-shadow:none;transition:background .18s ease,transform .18s ease,border-color .18s ease}
.btn-primary{background:#172f43;color:#fff;border:1px solid #172f43;box-shadow:0 4px 9px -5px #10233366}
.btn-primary:hover{background:#264960;border-color:#264960}
.btn-gold{background:#e7cc9f;color:#233444;border:1px solid #e7cc9f}
.btn-gold:hover{background:#edd9b6;color:#172f43;filter:none}
.btn-light{background:#f0f2ef;color:#263e50;border:1px solid #e2e6e1}
.btn-outline{background:#fff;color:#263e50;border:1px solid #cbd3cf}
.btn-link{background:transparent;border:0;color:#755724}
.btn:active{transform:translateY(1px)}
.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}
a:focus-visible,button:focus-visible,input[type=submit]:focus-visible{outline:3px solid #ad853f;outline-offset:3px}
.form-label{font-size:.83rem;color:#3e505c;font-weight:700;margin-bottom:8px}
.form-control{border:1px solid #d4dcd7;background:#fcfdfb;min-height:50px;border-radius:12px;padding:11px 13px;color:#203747;box-shadow:0 1px 2px #10233303}
.form-control::placeholder{color:#78858b;opacity:1}
.form-control:focus{border-color:#9f804b;background:white;box-shadow:0 0 0 3px #b7915020}
.form-group{margin-bottom:18px}
input[type=file].form-control{background:#f8f8f4;border-style:dashed;font-size:.8rem}
input[type=file]::file-selector-button{border:1px solid #d9dfd8;border-radius:7px;padding:7px 10px;background:#fff;color:#263e50;font:inherit;margin-inline-end:10px}
textarea.form-control{min-height:125px;line-height:1.85}
.check-row{font-size:.84rem;line-height:1.9}
.alert{border-radius:12px;font-size:.82rem;font-weight:600;line-height:1.9;border-inline-start-width:3px;padding:12px 15px}
.alert-info{background:#eff4f5;border-color:#d4e2e4;color:#325b6c}
.alert-success{background:#eef6ef;color:#286448;border-color:#c7e0ce}
.alert-warning{background:#fcf6e9;border-color:#e8d7af;color:#7b5920}
.alert-error{background:#fcefed;border-color:#edc8c3;color:#963d34}
.badge{font-size:.69rem;padding:5px 10px;font-weight:750;white-space:normal;text-align:center;line-height:1.6}
.detail-item{background:#f7f8f5;border-color:#e6e9e2;padding:13px;border-radius:12px;min-width:0}
.detail-label{font-size:.73rem;color:#66777c}.detail-value{font-weight:700;overflow-wrap:anywhere}
.request-card{padding:20px;border-radius:18px;border-inline-start:3px solid #cfb583}
.request-no{font-size:.76rem;letter-spacing:.035em;color:#687a82}
.request-title{font-size:1.05rem;color:#1d3949;line-height:1.65;margin:6px 0 9px}
.request-meta{font-size:.75rem;gap:6px 14px}
.request-top>div{min-width:0}.request-top>.badge{flex:none;max-width:45%}
.quote{border-color:#e5d5b8;background:#fcf8ef;padding:20px;border-radius:18px}
.quote-total{font-size:1.8rem;letter-spacing:-.04em}
.tech-avatar{border-radius:17px;background:#eaf0ed;color:#294a50;border:1px solid #d5e0da;font-size:1.2rem}
.tech-name{font-size:1.02rem;font-weight:800;color:#183b4c}
.tech-specialties{background:#f8f7f2;border-color:#e8e3d7;border-inline-start:3px solid #c9b183;color:#4b5b61;padding:12px 14px;font-size:.8rem}
.tech-info>.small.muted{font-size:.72rem;line-height:1.8}
.empty{background:#fbfcf9;border:1px dashed #cdd6cb;padding:32px 18px;font-size:.88rem}
.stats{gap:12px}.stat{padding:20px 16px;border-radius:17px;border-top:2px solid #d9c6a2}
.stat-value{font-size:2rem;letter-spacing:-.05em;color:#1b3b4c;font-weight:800}
.stat-label{font-size:.75rem;margin-top:6px}
.hero-card,.customer-home-hero{background:#172f43;border:1px solid #294354;border-radius:24px;padding:27px;box-shadow:0 14px 30px -20px #142c5777}
.hero-card:after,.customer-home-hero:after{content:'';width:260px;height:260px;left:-90px;top:-90px;bottom:auto;border:1px solid #dcc29a29;border-radius:50%;box-shadow:0 0 0 22px #dcc29a08,0 0 0 45px #dcc29a05;pointer-events:none}
.customer-home-hero h1{font-size:clamp(1.65rem,6vw,2.8rem);font-weight:800;line-height:1.5;letter-spacing:-.04em}
.customer-home-hero p{line-height:1.9;font-size:.85rem;color:#d1dee4;max-width:630px}
.customer-home-hero .home-eyebrow{padding:0;background:transparent;color:#e7cc9f!important;border-radius:0;margin-bottom:10px}
.customer-home-actions{margin-top:22px;gap:10px}
.btn-light-mobile{background:transparent;border:1px solid #ffffff40;color:white}
.customer-services-section{padding:0;border:0;background:transparent;box-shadow:none}
.customer-quick-trust>div{background:transparent;box-shadow:none;border:0;border-inline-end:1px solid #dedfd7;border-radius:0}
.customer-quick-trust>div:last-child{border:0}
.customer-quick-trust{grid-template-columns:repeat(3,minmax(0,1fr));padding:12px 0}
.trust-dot{background:#e6eee5;border-radius:50%}.trust-dot:after{color:#3e6852}
/* Navigation: compact brand, deliberate active state, single-row mobile dock. */
.topbar{background:#fdfdfaeF;border-color:#e4e5dd;backdrop-filter:blur(16px)}
.topbar-row{height:76px;gap:12px}
.brand img{width:72px;max-height:60px}
.brand-text strong{font-size:.95rem;letter-spacing:-.02em}
.brand-text span{font-size:.64rem}
.user-chip{max-width:46%;font-size:.78rem;min-width:0;gap:8px}
.user-chip>div:last-child{min-width:0}.user-chip .tiny{font-size:.64rem}
.user-avatar{background:#f1e6d2;color:#795d2c;border:1px solid #e4d5b6;border-radius:13px;width:36px;height:36px}
.desktop-nav{gap:3px;flex-wrap:wrap;justify-content:center}
.desktop-nav a{font-size:.77rem;padding:9px 10px;border-radius:8px}
.desktop-nav a.active{background:#172f43;color:white}.desktop-nav a:hover:not(.active){background:#eeefe9}
.bottom-nav{left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));border:1px solid #e1e5df;border-radius:20px;background:#fffffff5;backdrop-filter:blur(14px);padding:6px;display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);overflow:visible;box-shadow:0 8px 30px #17304318;scrollbar-width:thin}
.bottom-nav>a,.bottom-nav summary{min-width:0;min-height:58px;padding:6px 4px;font-size:.75rem;line-height:1.4;white-space:normal;text-align:center;border-radius:13px;color:#64747b;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer}
.bottom-nav>a span,.bottom-nav summary span{max-width:100%;overflow-wrap:anywhere}
.bottom-nav .nav-ico{width:22px;height:22px;flex-shrink:0}
.mobile-more{min-width:0}.mobile-more summary{list-style:none}.mobile-more summary::-webkit-details-marker{display:none}
.mobile-more.active summary,.mobile-more[open] summary{background:#172f43;color:#f0d9ae}
.mobile-more-menu{position:absolute;bottom:calc(100% + 12px);left:0;right:0;max-height:55vh;overflow-y:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px;border:1px solid #e1e5df;border-radius:20px;background:#fff;box-shadow:0 8px 30px #17304326}
.bottom-nav .mobile-more-menu a{min-width:0;min-height:68px;font-size:.82rem;line-height:1.6;white-space:normal;text-align:center;padding:10px;gap:6px}
.bottom-nav a:focus-visible,.bottom-nav summary:focus-visible{outline:3px solid #c89436;outline-offset:2px}
.bottom-nav a.active{background:#172f43;color:#f0d9ae}.bottom-nav a:hover:not(.active){background:#f4f5ef;color:#172f43}
/* Keep the customer request action prominent, including when another tab is active. */
.bottom-nav>a[href$="/Requests/AddRequest.aspx"]{background:#edca83;color:#172f43;border:1px solid #d6aa54;box-shadow:0 3px 9px #b7822426;margin-inline:3px;font-size:.8rem;font-weight:800;gap:3px}
.bottom-nav>a[href$="/Requests/AddRequest.aspx"] .nav-ico{width:28px;height:28px;stroke-width:2.2}
.bottom-nav>a[href$="/Requests/AddRequest.aspx"]:hover{background:#f4d99f;color:#172f43}
.bottom-nav>a[href$="/Requests/AddRequest.aspx"].active{background:#edca83;color:#172f43;box-shadow:inset 0 0 0 2px #172f43}
.nav-ico{width:21px;height:21px;stroke-width:1.65}
.safe-bottom{padding-bottom:calc(104px + env(safe-area-inset-bottom))}
/* Public identity and authentication. */
.public-header{padding:20px 0 0}.public-logo{width:108px;max-height:83px}
.auth-wrap{padding-top:20px;width:min(520px,calc(100% - 32px))}
.auth-wrap .card{padding:28px;border-top:3px solid #cbb17e;box-shadow:0 16px 45px -30px #17304344}
.signature-eyebrow{display:block;color:#836936;font-size:.73rem;font-weight:700;margin-bottom:12px}
.signature-login .card-title{font-size:1.8rem;line-height:1.65;margin-bottom:12px;letter-spacing:-.04em}
.signature-login .card-subtitle{font-size:.8rem}
.auth-wrap .two-col-actions{gap:10px}
.site-footer{font-size:.68rem;line-height:1.9;color:#6e797c;padding-top:26px}
.footer-terms-link{font-size:.72rem;font-weight:650}.footer-terms-link:before,.footer-terms-link:after{display:none}
/* Home: navy architecture and warm paper. Original logo and service artwork preserved. */
.home-landing{gap:23px}
.home-license{font-size:.7rem;color:#5d716e;gap:7px;justify-content:flex-start;margin:0 3px}
.home-license>span{width:20px;height:20px;background:#eaf0e6;color:#4b6a50;border:0}
.home-hero{grid-template-columns:minmax(0,1fr) 104px;background:#172f43;border:0;border-radius:25px;padding:25px;gap:17px;box-shadow:0 18px 35px -24px #172f4380;overflow:hidden}
.home-hero:before{width:410px;height:410px;left:-120px;top:20px;transform:none;background:url('../img/architecture.svg') center/contain no-repeat;border:0;box-shadow:none;border-radius:0;opacity:.22}
.home-hero:after{height:3px;width:54px;right:25px;bottom:0;left:auto;transform:none;border:0;background:#ddc18d;border-radius:0;box-shadow:none}
.home-hero-intro{align-self:center}
.home-kicker{padding:0;border:0;background:transparent;color:#e7cc9f;border-radius:0;font-size:.7rem;font-weight:650}
.home-hero-note{color:#c6d4dc;font-size:.78rem;margin-top:6px}
.home-hero-brand{width:104px;height:100px;border-radius:20px;padding:9px;border:1px solid #ffffffe0;box-shadow:0 8px 22px #091a2940;transform:none;background:#fff}
.home-hero-brand img{transform:none;position:relative;z-index:1}.signature-orbit{position:absolute;inset:-7px;border:1px solid #e7cc9f36;border-radius:26px;pointer-events:none}
.home-hero-copy{position:relative;z-index:2}
.home-hero h1{font-size:clamp(2.1rem,9.5vw,3rem);line-height:1.35;font-weight:800;letter-spacing:-.05em}
.home-hero h1 span{color:#e7cc9f}
.home-hero p{color:#d5e0e5;font-size:.82rem;line-height:1.95;margin-top:12px;max-width:440px}
.home-hero-actions{padding-top:17px;border-color:#ffffff1c;gap:10px;margin-top:0}
.home-hero-actions .btn{font-size:.82rem;min-height:49px;border-radius:11px}
.home-hero-actions .btn-gold{background:#e7cc9f;border-color:#e7cc9f;color:#193244;box-shadow:none}
.home-hero-actions .btn-hero-light{background:transparent;border-color:#82939f70;color:#f1f4f5}
.home-registration-actions{margin:-9px 0 0;gap:10px;max-width:none}
.home-registration-actions .btn{font-size:.78rem;min-height:48px;border-radius:12px;box-shadow:none;background:white;color:#263e50;border:1px solid #d8ded7}
.home-registration-actions .btn-gold{border-color:#d7c29c;color:#775d2d}
.home-section-head{margin:12px 0 16px;gap:8px;align-items:end}
.home-eyebrow{font-size:.65rem;letter-spacing:0;font-weight:700;color:#876b39;margin-bottom:6px}
.home-section-head h2{font-size:1.45rem;line-height:1.5;letter-spacing:-.04em;font-weight:800;color:#1b3749}
.home-swipe-hint{font-size:.62rem;font-weight:500;color:#67767d;white-space:normal;max-width:100px}
.home-swipe-hint span{width:22px;height:22px;border-color:#d9ddd5}
.home-services-grid{gap:11px}
.home-service-card{border:1px solid #e0e5df;box-shadow:0 5px 12px -9px #17304328;border-radius:19px;background:#fff}
.home-service-card:hover{border-color:#bfa879;box-shadow:0 9px 19px -12px #17304335;transform:translateY(-3px)}
.home-service-visual{height:108px;padding-top:8px;background:#fff;position:relative}
.service-index{position:absolute;top:12px;right:13px;color:#9a9f98;font-size:.6rem;font-family:Arial,sans-serif;letter-spacing:.1em;font-weight:500;z-index:3}
.home-service-content{padding:9px 13px 13px;background:#fff}
.home-service-content h3{font-size:.92rem;font-weight:800;line-height:1.6;color:#233f4e}
.home-service-content p{font-size:.66rem;color:#69777e;margin-top:5px;margin-bottom:12px}
.home-service-cta{border-top:1px solid #edf0ea;background:#fff;min-height:38px;font-size:.7rem;font-weight:750;color:#765d2d;padding-top:10px}
.home-service-cta span{color:#203f50;border-color:#e1e6df;background:#fff;width:25px;height:25px}
.home-trust-strip{gap:0;padding:16px 0;border-top:1px solid #dfe3da;border-bottom:1px solid #dfe3da}
.home-trust-item{border:0;box-shadow:none;background:transparent;border-radius:0;padding:10px 6px;gap:8px}
.home-trust-icon{background:#e8eee5;color:#51694c;width:35px;height:35px;border-radius:50%}
.home-trust-icon svg{width:20px;height:20px;stroke-width:1.5}
.home-trust-item strong{font-size:.71rem;color:#354c55;font-weight:700}.home-trust-item small{font-size:.63rem;color:#6b7a7c}
.home-how{background:transparent;border:0;box-shadow:none;padding:6px 0;border-radius:0}
.home-steps{gap:0;counter-reset:steps}
.home-step{position:relative;background:transparent;border:0;border-bottom:1px solid #e0e3dc;padding:18px 0;border-radius:0;gap:18px;align-items:center}
.home-step>span{width:42px;height:42px;background:#ebe8dc;border:0;border-radius:11px;color:#806635;font-weight:600;font-family:Arial,sans-serif;font-size:1.15rem}
.home-step strong{font-size:.88rem;color:#203e4e}.home-step small{font-size:.73rem;color:#63747a;margin-top:4px}
.home-account-card{background:#172f43;border:0;padding:25px;border-radius:22px;gap:20px}
.home-account-card h2{color:#fff;font-size:1.6rem}.home-account-card .home-eyebrow{color:#e7cc9f}.home-account-card p{color:#cedae1;font-size:.8rem}
.home-account-card .btn-primary{background:#e7cc9f;border-color:#e7cc9f;color:#203747}.home-account-card .btn-outline{background:transparent;color:#fff;border-color:#ffffff40}
.home-account-actions .btn{font-weight:500}
/* Catalog: the same materials, compact header, calm service rows. */
.catalog-page .catalog-hero{background:#172f43;border:0;border-radius:23px;box-shadow:0 12px 25px -20px #10233360}
.catalog-page .catalog-hero:after{background:url('../img/architecture.svg') center/contain;width:270px;height:270px;left:-60px;top:-70px;transform:none;border:0;box-shadow:none;opacity:.45}
.catalog-page .catalog-hero .home-eyebrow{color:#e7cc9f}.catalog-page .catalog-hero h1{font-weight:800}
.catalog-toolbar .catalog-back-icon{border-color:#d9ded7;background:#fff;color:#294654}
.catalog-page .catalog-service-card-v20{border-color:#dfe5de;border-radius:18px;box-shadow:none}
.catalog-page .catalog-service-copy strong{font-weight:800;color:#213e4d}
.catalog-page .catalog-service-cta{color:#80642f;font-weight:750}
.catalog-page .catalog-service-arrow{background:#fff;border-color:#dce3dc;color:#284a56}
.catalog-page .catalog-login-note{border-color:#e0e5dc;background:#fff}
.signature-form-heading{display:flex;align-items:center;gap:12px;margin:26px 0 17px;padding-top:23px;border-top:1px solid #e5e8e0}
.signature-form-heading:first-of-type{margin-top:0;padding-top:0;border-top:0}
.signature-form-heading>span{display:grid;place-items:center;flex:none;width:35px;height:35px;border:1px solid #ddd2ba;background:#f8f4e9;border-radius:10px;color:#866b38;font:600 .88rem Arial,sans-serif}
.signature-form-heading h2{font-size:1rem;margin:0;color:#233f4e}.signature-form-heading p{margin:2px 0 0;color:#6c7b80;font-size:.73rem}
.request-service-pair{background:#f7f8f3;border-color:#e3e7da;border-radius:14px;padding:15px}
.report-table th{background:#eaf0e9;color:#274650}.report-table td,.report-table th{border-color:#e0e5dc}
@media(min-width:700px){.card{padding:27px}.auth-wrap .card{padding:36px}.home-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.home-step{align-items:start}.home-step>span{flex:none}.public-main{padding-top:22px}.home-section-head h2{font-size:1.85rem}.home-swipe-hint{max-width:none}}
@media(min-width:760px){.home-hero{grid-template-columns:minmax(0,1fr) 300px;padding:44px;gap:15px 50px;border-radius:30px;min-height:420px}.home-hero:before{left:-20px;top:-10px;width:510px;height:510px;opacity:.75}.home-hero-brand{width:170px;height:170px;justify-self:center;grid-row:1 / 4;border-radius:30px;padding:17px}.signature-orbit{inset:-12px;border-radius:40px}.home-hero h1{font-size:4.2rem;line-height:1.3}.home-hero p{font-size:.94rem;max-width:490px}.home-hero-actions{max-width:440px}.home-registration-actions{max-width:540px;justify-self:center;width:100%}.home-service-content h3{font-size:1.03rem}.home-service-visual{height:125px}.home-service-content{padding:12px 19px 17px}.home-services-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.home-account-card{grid-template-columns:1fr 1fr;align-items:center;padding:34px}.home-account-actions{grid-template-columns:1fr 1fr}}
@media(min-width:980px){.bottom-nav{display:none}.safe-bottom{padding-bottom:25px}.topbar-row{height:86px}.user-chip{max-width:190px}.brand-text span{display:none}.brand img{width:65px}.page{padding-top:30px}}
@media(max-width:380px){.container,.public-main{width:calc(100% - 24px)}.card{padding:17px}.home-hero{padding:21px;grid-template-columns:minmax(0,1fr) 90px;gap:15px 12px}.home-hero-brand{width:90px;height:87px;padding:8px}.home-kicker{font-size:.62rem}.home-hero-note{font-size:.7rem}.home-hero h1{font-size:2.2rem}.home-hero-actions .btn{font-size:.72rem;gap:5px;padding:9px 5px}.home-registration-actions .btn{font-size:.69rem;padding:8px 5px}.home-section-head h2{font-size:1.23rem}.home-service-content{padding:8px 10px 12px}.home-service-content h3{font-size:.83rem}.home-service-content p{font-size:.62rem}.home-service-visual{height:99px}.home-swipe-hint{max-width:78px;font-size:.58rem}.signature-login .card-title{font-size:1.55rem}.auth-wrap .card{padding:22px}.customer-home-actions{grid-template-columns:1fr 1fr}.customer-home-actions .btn{font-size:.72rem;padding:8px 5px;min-width:0}.bottom-nav{left:8px;right:8px}.user-name{max-width:125px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important}.btn,.home-service-card,.catalog-service-card-v20{transition:none}}
@media print{.topbar,.bottom-nav{display:none!important}.card,.request-card{box-shadow:none}body{background:white}.safe-bottom{padding-bottom:0}}

/* Login identity belongs inside the white card, without a separate floating image tile. */
.signature-login .login-brand{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:fit-content;max-width:100%;margin:0 auto 20px;padding:4px 10px;border-radius:16px;text-decoration:none}
.signature-login .login-brand-return{color:#172f43;font-size:.8rem;font-weight:700;text-align:center;text-decoration:underline;text-underline-offset:4px}
.signature-login .login-brand:hover .login-brand-return{color:#805a15}
.signature-login .login-brand img{display:block;width:120px;height:100px;object-fit:contain}
.signature-login .login-brand:focus-visible{outline:3px solid #c89436;outline-offset:4px}
.signature-login>.signature-eyebrow,.signature-login>.card-title,.signature-login>.card-subtitle{text-align:center}
.signature-login>.card-title{margin-top:0;line-height:1.45}

.signature-login .login-password-field{position:relative}
.signature-login .login-password-field .form-control{padding-left:54px}
.signature-login .login-password-toggle{position:absolute;left:5px;top:50%;transform:translateY(-50%);width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:0;border-radius:10px;background:transparent;color:#526875;cursor:pointer;padding:10px}
.signature-login .login-password-toggle:hover{background:#edf1ef;color:#172f43}
.signature-login .login-password-toggle:focus-visible{outline:2px solid #ad7c24;outline-offset:-2px}
.signature-login .login-password-toggle svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.signature-login .password-eye-slash{display:none}
.signature-login .login-password-toggle[aria-pressed="true"] .password-eye-slash{display:block}
.signature-login .login-password-field input::-ms-reveal{display:none}

/* Compact home welcome banner keeps the services close to the top. */
.home-hero.home-hero-compact{min-height:0;padding:18px 20px;gap:10px 16px;grid-template-columns:minmax(0,1fr) 78px}
.home-hero.home-hero-compact:before,.home-hero.home-hero-compact:after{content:none}
.home-hero-compact .home-hero-brand{width:78px;height:78px;padding:6px;border-radius:16px;grid-column:2;grid-row:1;justify-self:center;transform:rotate(-5deg);animation:home-logo-float 7s ease-in-out infinite}
.home-hero-compact .signature-orbit{inset:-4px;border-radius:18px}
.home-hero-compact .home-hero-copy{grid-column:1 / -1;grid-row:2}
.home-hero.home-hero-compact h1{font-size:clamp(1.35rem,5.5vw,2rem);line-height:1.45}
.home-hero.home-hero-compact p{margin-top:5px;font-size:.78rem;line-height:1.65;max-width:620px}
.home-hero-compact .home-hero-actions{grid-column:1 / -1;grid-row:3;grid-template-columns:1fr;max-width:none;padding-top:0;margin:0;border-top:0}
.home-hero-compact .home-hero-actions .btn{min-height:42px;padding:8px 14px}
.home-hero-compact .home-hero-actions .btn-hero-light{background:#e7cc9f;border-color:#e7cc9f;color:#172f43;font-weight:600}
.home-hero-compact .home-hero-actions .btn-hero-light:hover{background:#f0d8b0;border-color:#f0d8b0;color:#172f43}
.home-hero-compact .home-hero-actions .btn-hero-light:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media(min-width:760px){.home-hero.home-hero-compact{padding:22px 28px;grid-template-columns:minmax(0,1fr) 100px;gap:8px 24px}.home-hero-compact .home-hero-brand{width:100px;height:100px;grid-row:1 / 3}.home-hero-compact .home-hero-copy{grid-column:1;grid-row:2}.home-hero-compact .home-hero-actions{max-width:280px}.home-hero.home-hero-compact h1{font-size:2rem}}
@keyframes home-logo-float{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-3px) rotate(-2deg)}}
@media(prefers-reduced-motion:reduce){.home-hero-compact .home-hero-brand{animation:none;transform:rotate(-5deg)}}

/* Calm signed-in header with a contained brand and readable account link. */
.app-header-clean{background:#fff;border-bottom:1px solid #edf0ef;box-shadow:none}
.app-header-clean .topbar-row{height:72px;gap:12px}
.app-header-clean .brand{flex-shrink:0;gap:10px}
.app-header-clean .brand img{width:58px;height:58px;max-height:none;object-fit:contain;padding:5px;background:#f7f9f8;border:1px solid #e6ece9;border-radius:15px}
.app-header-clean .brand-text strong{font-weight:600}
.app-header-clean .brand-text span{display:none}
.app-header-clean .user-chip{flex-direction:row-reverse;gap:9px;color:#425866}
.app-header-clean .user-avatar{width:34px;height:34px;border-radius:50%;background:#f4eee3;border:1px solid #eadfc9;color:#735624}
.app-header-clean .user-name{font-weight:500;font-size:.76rem}
.app-header-clean .user-chip .tiny{font-size:.6rem;color:#7d8b92;margin-top:2px}
.customer-home-actions .btn{font-weight:500}
@media(min-width:980px){.app-header-clean .topbar-row{height:78px}.app-header-clean .brand img{width:62px;height:62px}}

/* Keep action text consistently medium across all button variants. */
.btn,button,input[type="submit"],input[type="button"],input[type="reset"],.btn strong,button strong{font-weight:500!important}

/* Technician choices: full-width details and a compact identity row. */
.technician-choice-card{display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px 14px;padding:20px;border:1px solid #e2e9e6;border-radius:22px;background:linear-gradient(145deg,#fff,#fafcfb);box-shadow:0 7px 22px -16px #172f4355}
.technician-choice-card .tech-info{display:contents}
.technician-choice-card .tech-avatar{width:56px;height:56px;border-radius:18px;background:#edf3f0;color:#294a50;border:1px solid #dce8e1;font-weight:600}
.technician-choice-card .tech-card-head{align-self:center;min-width:0}
.technician-choice-card .tech-name{font-size:1rem;font-weight:600;line-height:1.6}
.technician-choice-card .tech-card-head .small{font-size:.68rem;margin-top:2px;color:#87969d}
.technician-choice-card .tech-specialties{grid-column:1 / -1;margin:0;padding:12px 14px;background:#f1f5f3;border:0;border-radius:14px;font-size:.76rem;line-height:1.9;color:#50656d}
.technician-choice-card .tech-specialties strong{display:block;margin-bottom:4px;font-size:.7rem;font-weight:600;color:#294a50}
.technician-choice-card .tech-info>.small.muted{grid-column:1 / -1;margin:0;font-size:.68rem;line-height:1.7;color:#7c8b93}
.technician-choice-card .btn{grid-column:1 / -1;border-radius:13px;min-height:44px;margin-top:0!important;box-shadow:none;background:#172f43;color:#fff}
.technician-choice-card .btn:hover{background:#25475b}
.technician-search-filters{padding:18px}
.technician-search-filters .form-group{margin-bottom:12px}
.technician-search-filters .form-label{font-weight:500;font-size:.78rem;margin-bottom:5px}
.technician-search-filters .form-control{min-height:44px;padding:9px 12px}
.technician-extra-filters{margin:0 0 12px}
.technician-extra-filters summary{cursor:pointer;color:#637780;font-size:.75rem;padding:7px 0}
.technician-extra-filters[open] summary{margin-bottom:6px}

/* Neutral surfaces, with navy reserved for actions and selection. */
.app-header-clean .user-avatar{background:#f3f4f5;border-color:#e4e7ea;color:#425566}
.app-header-clean .brand img{background:#fff;border-color:#e8ebee}
.technician-search-filters .form-control{background:#fff;border-color:#dfe4e8;color:#304657}
.technician-search-filters .btn-light{background:#f3f4f5;border-color:#e4e7ea;color:#304657}
.technician-choice-card{background:#fff;border-color:#e3e7eb;box-shadow:none}
.technician-choice-card .tech-avatar{background:#f3f4f5;border-color:#e4e7ea;color:#425566}
.technician-choice-card .tech-specialties{background:#f5f6f7;color:#63717b}
.technician-choice-card .tech-specialties strong{color:#425566}
.bottom-nav a.active{background:#172f43;color:#fff}
.bottom-nav a:hover:not(.active){background:#f3f4f5;color:#172f43}
.bottom-nav>a[href$="/Requests/AddRequest.aspx"]{background:transparent;color:#64747b;border:1px solid transparent;box-shadow:none;font-weight:500}
.bottom-nav>a[href$="/Requests/AddRequest.aspx"]:hover{background:#f3f4f5;color:#172f43}
.bottom-nav>a[href$="/Requests/AddRequest.aspx"].active{background:#172f43;color:#fff;border-color:#172f43;box-shadow:none}
.bottom-nav a:focus-visible,.bottom-nav summary:focus-visible{outline-color:#425566}
.technician-choice-card{grid-template-columns:56px minmax(0,1fr) auto;gap:12px 10px}
.technician-choice-card .tech-card-head{grid-column:2;grid-row:1}
.technician-choice-card .technician-create-request{grid-column:3;grid-row:1;align-self:center;min-height:36px;padding:7px 10px;font-size:.72rem;white-space:nowrap}
@media(max-width:380px){.technician-choice-card{padding:16px;grid-template-columns:44px minmax(0,1fr) auto;column-gap:8px}.technician-choice-card .tech-avatar{width:44px;height:44px;border-radius:14px}.technician-choice-card .tech-name{font-size:.87rem}.technician-choice-card .technician-create-request{padding:7px 8px;font-size:.68rem}}
.app-header-clean{background:#172f43;border-bottom-color:#294354}
.app-header-clean .brand-text strong,.app-header-clean .user-name{color:#fff}
.app-header-clean .user-chip,.app-header-clean .user-chip .tiny{color:#c6d1d9}
.app-header-clean .user-avatar{background:#ffffff12;border-color:#ffffff25;color:#fff}
.app-header-clean .desktop-nav a{color:#e1e8ed;font-weight:500}
.app-header-clean .desktop-nav a.active,.app-header-clean .desktop-nav a:hover{background:#ffffff14;color:#fff}
.app-header-clean a:focus-visible{outline:2px solid #fff;outline-offset:3px}

/* Native pickers retain mobile accessibility and WebForms postback behavior. */
select.form-control,select{
  box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-height:48px;
  border:1px solid #dfe4e8;border-radius:12px;background-color:#fff;color:#304657;
  font-size:16px;font-weight:400;line-height:1.5;padding:10px 14px;
}
select:not([multiple]):not([size]),select[size="1"]{
  -webkit-appearance:none;appearance:none;padding-inline-end:42px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23637480' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;background-size:18px 18px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
[dir="rtl"] select:not([multiple]):not([size]),[dir="rtl"] select[size="1"]{background-position:left 14px center}
select.form-control:focus,select:focus-visible{outline:2px solid #425566;outline-offset:2px;border-color:#425566;box-shadow:none;background-color:#fff}
select:disabled{background-color:#f3f4f5;color:#839099;cursor:not-allowed;opacity:1}
select option,select optgroup{background:#fff;color:#304657;font-size:16px}
.technician-search-filters select.form-control{min-height:48px;padding-block:10px;padding-inline-start:14px;padding-inline-end:42px}
.work-gov-trigger{min-height:48px;border-color:#dfe4e8;background:#fff;border-radius:12px}
.work-gov-trigger-copy strong{font-weight:500}
@media(forced-colors:active){select:not([multiple]):not([size]),select[size="1"]{appearance:auto;background-image:none;padding-inline-end:14px}}
.request-status-filter{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
.technician-filter-bottom{grid-template-columns:1fr}
.header-account-actions{display:flex;align-items:center;gap:10px;min-width:0}
.app-header-clean .header-account-actions .user-chip{max-width:none;min-width:0}
.header-account-actions .user-name{max-width:160px}
.header-notification-bell{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border-radius:13px;background:#ffc10718;border:1px solid #ffc10745;color:#ffc107}
.header-notification-bell:hover{background:#ffc1072b;color:#ffcf40}
.header-notification-bell svg{flex-shrink:0}
@media(max-width:380px){.header-account-actions{gap:6px}.header-account-actions .user-name{max-width:110px}}
.header-logout{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:10px;border:0;border-radius:50%;background:#294354;color:#fff;flex-shrink:0}
.header-logout:hover{background:#365568;color:#fff}
.header-logout:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(max-width:759px){.header-account-actions .user-name{max-width:105px}.header-account-actions{gap:7px}.app-header-clean .header-account-actions .user-avatar{display:none}}
@media(max-width:380px){.header-account-actions .user-name{max-width:86px}.header-logout{padding-inline:7px}}
.request-status-filter .request-filter-button{min-height:48px;padding:10px 14px 10px 38px;font-size:.82rem;background-color:#f3f4f5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23304657' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16l-6 7v6l-4 2v-8z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:left 12px center;background-size:18px;color:#304657;border:1px solid #dfe4e8}
.technician-dashboard-hero{padding:22px;box-shadow:none}
.technician-dashboard-hero:after{display:none}
.technician-dashboard-hero .card-title{margin:0 0 8px;font-size:1.4rem}
.technician-dashboard-hero .card-subtitle{margin:0;max-width:560px;font-size:.85rem;line-height:1.9;color:#d8e2e9}
.technician-dashboard-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-top:20px;position:relative;z-index:1}
.technician-dashboard-actions .btn{width:100%;min-height:48px;margin:0;font-size:.85rem}
.technician-dashboard-actions .btn-light{background:transparent;border-color:#ffffff40;color:#fff}
.technician-dashboard-actions .btn-light:hover{background:#ffffff12}
.technician-dashboard-stats .stat{padding:18px;text-align:center;box-shadow:none}
.technician-dashboard-stats .stat-label{margin-top:5px;line-height:1.7}
@media(min-width:760px){.technician-dashboard-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.technician-dashboard-hero{padding:28px}}

.technician-dashboard-hero .khadoom-page-helper{width:90px;height:135px}.technician-dashboard-hero .khadoom-page-intro{margin-bottom:0}.technician-available-stat:hover{background:#f5f8fa;border-color:#12355b}.technician-available-stat:focus-visible{outline:2px solid #12355b;outline-offset:3px}
.technician-dashboard-hero{background:#fff;border:1px solid #dce5ec;border-radius:22px;padding:20px 22px;color:#12355b}
.technician-dashboard-hero .card-title{color:#12355b;font-size:1.35rem;line-height:1.5;margin-bottom:8px}
.technician-dashboard-hero .card-subtitle{color:#687b86;font-size:.8rem;line-height:1.85}
.technician-dashboard-hero .khadoom-page-intro{gap:18px}
.technician-dashboard-hero .khadoom-page-intro>div:first-child{min-width:0;flex:1}
.technician-dashboard-hero .khadoom-page-helper{width:100px;height:150px}
@media(max-width:380px){.technician-dashboard-hero{padding:16px}.technician-dashboard-hero .khadoom-page-intro{gap:12px}.technician-dashboard-hero .khadoom-page-helper{width:90px;height:135px}}
/* Trusty-style bottom navigation, shared by mobile web and Appilix. */
@media(max-width:979px){
 .bottom-nav{left:0;right:0;bottom:0;width:100%;box-sizing:border-box;border:0;border-top:1px solid #e6edf6;border-radius:0;background:#fff;backdrop-filter:none;box-shadow:none;padding:7px max(10px,env(safe-area-inset-right,0px)) calc(7px + env(safe-area-inset-bottom,0px)) max(10px,env(safe-area-inset-left,0px));gap:5px}
 .bottom-nav>a,.bottom-nav summary{min-height:50px;padding:6px 3px;border-radius:12px;color:#7186a5;font-size:.6rem;font-weight:400;line-height:1.4;gap:4px}
 .bottom-nav .nav-ico,.bottom-nav>a[href$="/Requests/AddRequest.aspx"] .nav-ico{width:21px;height:21px;stroke-width:1.5}
 .bottom-nav>a[href$="/Requests/AddRequest.aspx"]{margin:0;background:transparent;color:#7186a5;border:0;box-shadow:none;font-size:.6rem;font-weight:400;gap:4px}
 .bottom-nav a.active,.bottom-nav>a[href$="/Requests/AddRequest.aspx"].active,.mobile-more.active summary,.mobile-more[open] summary{background:#edf2fc;color:#57749b;border:0;box-shadow:none;font-weight:500}
 .bottom-nav a:hover:not(.active),.bottom-nav>a[href$="/Requests/AddRequest.aspx"]:hover{background:#f4f7fc;color:#57749b}
 .bottom-nav>a span,.bottom-nav summary span{overflow-wrap:normal;white-space:nowrap}
 .safe-bottom{padding-bottom:calc(82px + env(safe-area-inset-bottom,0px))}
}
/* A steady primary action, visually distinct from loading indicators. */
.bottom-nav>a[href$="/Requests/AddRequest.aspx"],
.bottom-nav>a[href$="/Requests/AddRequest.aspx"]:hover{
 background:#fff2cf;color:#12355b;border:1px solid #e8c878;
 box-shadow:0 2px 6px #b7822412;font-weight:700;gap:4px;
}
.bottom-nav>a[href$="/Requests/AddRequest.aspx"] .nav-ico{
 width:24px;height:24px;stroke-width:2;animation:none;filter:none;transform:none;
}
.bottom-nav>a[href$="/Requests/AddRequest.aspx"]:before,
.bottom-nav>a[href$="/Requests/AddRequest.aspx"]:after{content:none}
.bottom-nav>a[href$="/Requests/AddRequest.aspx"].active{
 background:#f5d58c;color:#12355b;border:1px solid #c89b43;
 box-shadow:inset 0 0 0 1px #c89b43;font-weight:700;
}