@font-face{font-family:system;src:local(Tahoma)}:root{--bg:#f4f7fb;--card:#fff;--text:#172033;--muted:#73809a;--line:#e5eaf2;--primary:#1769e0;--primary2:#0e4da8;--green:#1b9c62;--orange:#e78a13;--shadow:0 8px 28px rgba(25,42,70,.07)}*{box-sizing:border-box}body{margin:0;font-family:Tahoma,Arial,sans-serif;background:var(--bg);color:var(--text)}a{text-decoration:none;color:inherit}.app{display:flex;min-height:100vh}.sidebar{width:260px;background:#0f1d34;color:#dce7f7;position:fixed;right:0;top:0;bottom:0;padding:18px 14px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:12px;padding:8px 8px 22px;border-bottom:1px solid #263753}.brand-mark{width:44px;height:44px;display:grid;place-items:center;background:linear-gradient(135deg,#3089ff,#0fbf9e);border-radius:14px;font-size:26px;font-weight:bold}.brand b{display:block;font-size:19px}.brand small{color:#8fa2bd}.sidebar nav{padding:18px 0;display:grid;gap:5px}.sidebar nav a{padding:12px 14px;border-radius:10px;color:#b9c7da;display:flex;gap:12px;align-items:center}.sidebar nav a:hover,.sidebar nav a.active{background:#1b3152;color:white}.server-ok{margin-top:auto;background:#142945;border:1px solid #27405f;border-radius:12px;padding:12px;color:#62d69c}.server-ok small{display:block;color:#8fa2bd;margin-top:4px}main{margin-right:260px;width:calc(100% - 260px)}.topbar{height:82px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 28px;position:sticky;top:0;z-index:10}.topbar h1{font-size:20px;margin:0 0 5px}.topbar p{font-size:12px;color:var(--muted);margin:0}.user{margin-right:auto;display:flex;align-items:center;gap:10px}.user b{width:38px;height:38px;background:#eaf2ff;color:var(--primary);display:grid;place-items:center;border-radius:50%}.menu-btn{display:none;border:0;background:transparent;font-size:24px}.content{padding:24px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}.stat{background:var(--card);padding:20px;border-radius:16px;box-shadow:var(--shadow);border:1px solid var(--line)}.stat span,.stat small{display:block;color:var(--muted)}.stat b{font-size:30px;display:block;margin:10px 0}.stat.warning{border-right:4px solid var(--orange)}.stat.info{border-right:4px solid var(--primary)}.stat.success{border-right:4px solid var(--green)}.grid-2{display:grid;grid-template-columns:1.45fr 1fr;gap:18px}.card,.form-card{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:20px}.card-head,.toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px}.card h2,.toolbar h2{font-size:16px;margin:0}.toolbar{background:white;border:1px solid var(--line);padding:14px;border-radius:14px}.toolbar p{margin:5px 0 0;color:var(--muted);font-size:12px}.btn{border:1px solid var(--line);background:white;padding:10px 15px;border-radius:9px;cursor:pointer;font-family:inherit;display:inline-block}.btn.primary{background:var(--primary);border-color:var(--primary);color:white}.btn.primary:hover{background:var(--primary2)}.btn.ghost{background:#f8fafc}.btn.tiny{padding:7px 10px;font-size:12px}.btn.full{width:100%;margin-top:10px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{text-align:right;padding:13px 10px;border-bottom:1px solid var(--line);font-size:13px}th{color:var(--muted);font-weight:normal;background:#fafbfd}.status,.pill{display:inline-flex;padding:6px 10px;background:#edf4ff;color:#245fae;border-radius:20px;font-size:11px}.status.large{padding:10px 16px;font-size:13px}.map-placeholder,.map-select{min-height:320px;background:linear-gradient(135deg,#eef5fa,#e8f0ed);border:1px dashed #aec0d0;border-radius:13px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:22px;position:relative;overflow:hidden}.map-placeholder.tall{min-height:570px}.map-placeholder p,.map-select p{color:var(--muted);max-width:420px}.radar{width:130px;height:130px;border:1px solid #7ea2bf;border-radius:50%;position:absolute;opacity:.3}.radar:before,.radar:after{content:"";position:absolute;border:1px solid #7ea2bf;border-radius:50%;inset:20px}.radar:after{inset:45px}.form-card{max-width:1100px;margin:auto}.section-title{display:flex;gap:12px;align-items:center;margin-bottom:18px}.section-title>span{width:38px;height:38px;border-radius:12px;background:#eaf2ff;color:var(--primary);display:grid;place-items:center;font-weight:bold}.section-title h2{font-size:17px;margin:0}.section-title p{margin:5px 0 0;color:var(--muted);font-size:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid .full{grid-column:1/-1}label{display:grid;gap:7px;font-size:13px;color:#46526a}input,select,textarea{width:100%;border:1px solid #dce3ed;border-radius:9px;padding:11px 12px;font-family:inherit;background:white;font-size:14px}input:focus,select:focus,textarea:focus{outline:2px solid #cfe1ff;border-color:var(--primary)}hr{border:0;border-top:1px solid var(--line);margin:25px 0}.coords{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:min(500px,100%);margin-top:12px}.pin{font-size:44px;color:var(--primary)}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.request-hero{background:linear-gradient(135deg,#12335e,#1769e0);color:white;padding:24px;border-radius:16px;margin-bottom:18px;display:flex;justify-content:space-between;align-items:center}.request-hero h2{margin:12px 0 8px}.request-hero p{margin:0;color:#dbe9ff}.details dl,.settings-grid dl{display:grid;grid-template-columns:140px 1fr;gap:0}.details dt,.details dd,.settings-grid dt,.settings-grid dd{padding:11px;border-bottom:1px solid var(--line);margin:0}.details dt,.settings-grid dt{color:var(--muted)}.stack{display:grid;gap:14px}.check{display:flex;grid-template-columns:auto 1fr;align-items:center}.check input{width:auto}.timeline{margin-top:18px;overflow:auto}.timeline-row{display:flex;min-width:1200px;padding:25px 10px}.step{flex:1;position:relative;text-align:center;color:var(--muted);font-size:10px}.step:before{content:"";height:2px;background:#dce3ed;position:absolute;right:0;left:0;top:7px}.step i{display:block;width:16px;height:16px;border-radius:50%;background:#ccd5e2;margin:0 auto 10px;position:relative}.step.current i{background:var(--primary);box-shadow:0 0 0 6px #dbe9ff}.step.current span{color:var(--primary);font-weight:bold}.cards-list{display:grid;gap:12px}.person-card{background:white;border:1px solid var(--line);border-radius:14px;padding:15px;display:flex;align-items:center;gap:14px}.avatar{width:48px;height:48px;border-radius:14px;background:#eaf2ff;color:var(--primary);display:grid;place-items:center;font-weight:bold}.grow{flex:1}.grow h3{margin:0 0 7px;font-size:15px}.grow p,.grow small{margin:0;color:var(--muted)}.rating{color:#d78b00}.dispatch-grid{grid-template-columns:1.2fr 1fr}.dispatch-item{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.dispatch-item p{margin:6px 0 0;color:var(--muted);font-size:12px}.mt{margin-top:25px!important}.report-grid,.settings-grid{display:grid;grid-template-columns:2fr 1fr;gap:18px}.settings-grid{grid-template-columns:repeat(2,1fr)}.bars>div{display:grid;grid-template-columns:160px 1fr 30px;align-items:center;gap:10px;margin:12px 0}.bars b{height:8px;border-radius:9px;background:linear-gradient(90deg,#1769e0,#28b99a);width:70%}.bars em{font-style:normal}.muted{color:var(--muted)}.search{flex:1}.overlay{display:none}
@media(max-width:1050px){.stats{grid-template-columns:repeat(2,1fr)}.grid-2,.dispatch-grid,.report-grid{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr}}
@media(max-width:760px){.sidebar{transform:translateX(110%);transition:.25s;width:280px}.sidebar.open{transform:none}.overlay.show{display:block;position:fixed;inset:0;background:#0007;z-index:15}main{margin-right:0;width:100%}.topbar{height:70px;padding:0 14px}.menu-btn{display:block;margin-left:10px}.topbar .user span{display:none}.content{padding:14px}.stats{grid-template-columns:1fr 1fr;gap:10px}.stat{padding:14px}.stat b{font-size:24px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.toolbar{align-items:stretch;flex-direction:column}.request-hero{align-items:flex-start;gap:15px;flex-direction:column}.details dl,.settings-grid dl{grid-template-columns:1fr}.details dt,.settings-grid dt{padding-bottom:3px;border-bottom:0}.details dd,.settings-grid dd{padding-top:3px}.coords{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.form-actions .btn{text-align:center}.person-card{flex-wrap:wrap}.rating{margin-right:auto}.map-placeholder.tall{min-height:360px}}
@media(max-width:430px){.stats{grid-template-columns:1fr}.topbar p{display:none}.content{padding:10px}.card,.form-card{padding:14px;border-radius:13px}.btn{width:100%;text-align:center}.card-head .btn{width:auto}.request-hero{padding:18px}.user b{width:34px;height:34px}}
.alert{padding:13px 16px;border-radius:12px;margin-bottom:16px;border:1px solid}.alert.success{background:#ecfbf3;border-color:#9de0bc;color:#12653e}.alert.error{background:#fff1f1;border-color:#efb0b0;color:#9b2626}.field-help{color:var(--muted);font-size:11px;line-height:1.8}.key-status{padding:10px 12px;border-radius:9px;font-size:12px}.key-status.ok{background:#eaf9f1;color:#167048}.key-status.warn{background:#fff7e8;color:#916015}.settings-savebar{grid-column:1/-1;background:white;border:1px solid var(--line);border-radius:14px;padding:14px 18px;display:flex;align-items:center;gap:16px;position:sticky;bottom:12px;z-index:5;box-shadow:var(--shadow)}.settings-savebar span{color:var(--muted);font-size:12px}.real-map{height:430px;width:100%;border-radius:13px;overflow:hidden;border:1px solid #cdd8e5;background:#e9eef5}.map-tools{margin-bottom:10px}.map-search-row{display:grid;grid-template-columns:1fr auto auto;gap:8px}.map-message{font-size:12px;color:var(--muted);margin-top:8px}.map-message.ok{color:#167048}.map-message.error{color:#a02626}.coords{margin-right:auto;margin-left:auto}.settings-grid bdi{direction:ltr;display:inline-block}
@media(max-width:760px){.map-search-row{grid-template-columns:1fr}.real-map{height:360px}.settings-savebar{flex-direction:column;align-items:stretch}.settings-savebar .btn{width:100%}}

/* جستجوی هوشمند نقشه */
.map-search-wrap{position:relative;z-index:20}.map-search-results{position:absolute;top:calc(100% + 6px);right:0;left:0;max-height:360px;overflow:auto;background:#fff;border:1px solid #d9e4f2;border-radius:12px;box-shadow:0 18px 48px rgba(15,35,65,.18);padding:6px;z-index:80}.map-search-item{width:100%;display:flex;flex-direction:column;gap:3px;text-align:right;border:0;background:#fff;border-radius:9px;padding:10px 12px;cursor:pointer;color:#14233b}.map-search-item:hover,.map-search-item.active{background:#eef6ff}.map-search-item b{font-size:13px}.map-search-item span{font-size:11px;color:#64748b}.map-search-empty{padding:16px;text-align:center;color:#64748b;font-size:12px}.map-search-loading{padding:14px;text-align:center;color:#2563eb;font-size:12px}
.jalali-field{min-width:0}.jalali-row{display:grid;grid-template-columns:1fr 1.25fr .8fr 1.2fr;gap:7px}.jalali-row select,.jalali-row input{min-width:0}.field-help{display:block;margin-top:5px;color:#718096;font-size:10px}
@media(max-width:680px){.jalali-row{grid-template-columns:1fr 1.3fr .8fr}.jalali-row input[type=time]{grid-column:1/-1}.map-search-results{max-height:280px}}

/* v0.3.4 search and request location */
.map-search-results{max-height:390px;padding:0;overflow:auto;overscroll-behavior:contain}
.map-results-head{position:sticky;top:0;z-index:2;background:#f8fbff;border-bottom:1px solid #e3ebf5;padding:10px 12px;display:flex;justify-content:space-between;gap:12px;align-items:center}
.map-results-head b{font-size:12px}.map-results-head span{font-size:10px;color:#64748b}
.map-search-item{display:grid;grid-template-columns:28px 1fr;align-items:start;gap:9px;border-radius:0;border-bottom:1px solid #eef2f7;padding:10px 12px;min-height:62px}
.map-search-item:last-child{border-bottom:0}.result-pin{width:27px;height:27px;border-radius:9px;background:#eaf3ff;color:#1769e0;display:grid;place-items:center;font-size:16px}.result-copy{display:grid;gap:3px;min-width:0}.result-copy b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-copy small{font-size:11px;color:#53627a;line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.result-copy em{font-size:10px;color:#16825b;font-style:normal}.request-location-card{margin-top:18px}.request-location-map{height:360px;border-radius:13px;overflow:hidden;border:1px solid #dbe4ef;background:#edf2f7}.request-location-card .card-head p{margin:6px 0 0}.details dd{word-break:break-word;line-height:1.9}
@media(max-width:760px){.map-search-results{position:fixed;right:12px;left:12px;top:120px;max-height:55vh}.map-results-head{align-items:flex-start;flex-direction:column}.request-location-map{height:300px}.request-location-card .card-head{align-items:stretch;flex-direction:column}}
.media-preview{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.media-preview img,.media-preview video{width:90px;height:70px;object-fit:cover;border-radius:10px;border:1px solid #dbe4f0}.request-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.request-gallery img,.request-gallery video{width:100%;height:160px;object-fit:cover;border-radius:12px;background:#111}.tech-request-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:16px}.tech-job .job-actions{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:14px}.tech-job form{margin:0}.inline-price{display:flex;gap:6px}.media-thumbs{display:flex;gap:6px;flex-wrap:wrap}.media-thumbs a{font-size:12px;padding:5px 9px;background:#eef5ff;border-radius:8px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.stat{background:#fff;border-radius:14px;padding:18px;box-shadow:0 3px 15px #1231;text-align:center}.stat b{display:block;font-size:28px}.stat span{color:#64748b}@media(max-width:700px){.stats{grid-template-columns:1fr}.tech-request-grid{grid-template-columns:1fr}.tech-job .job-actions{align-items:stretch;flex-direction:column}}

/* v0.3.7 customer dashboard */
.customer-welcome{display:flex;justify-content:space-between;gap:24px;align-items:center;background:linear-gradient(135deg,#0f315a,#1769e0 65%,#28b99a);color:#fff;border-radius:20px;padding:26px 28px;margin-bottom:18px;box-shadow:0 18px 45px rgba(23,105,224,.22)}.customer-welcome .eyebrow{display:inline-block;font-size:11px;background:#ffffff24;border:1px solid #ffffff35;padding:5px 10px;border-radius:999px}.customer-welcome h2{font-size:24px;margin:12px 0 8px}.customer-welcome p{margin:0;color:#e4efff}.welcome-actions{display:flex;gap:9px;flex-wrap:wrap}.customer-welcome .btn.ghost{color:#fff;border-color:#ffffff55;background:#ffffff12}.customer-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:18px}.customer-stat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;display:flex;align-items:center;gap:12px;box-shadow:0 5px 22px #17315a0b}.customer-stat i{width:42px;height:42px;border-radius:13px;background:#edf5ff;color:#1769e0;display:grid;place-items:center;font-style:normal;font-size:20px}.customer-stat b{display:block;font-size:23px}.customer-stat span{font-size:11px;color:var(--muted)}.customer-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px;align-items:start}.customer-main{display:grid;gap:18px}.customer-side{display:grid;gap:14px;position:sticky;top:94px}.customer-section{padding:18px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:15px}.section-head h3{margin:0;font-size:17px}.section-head p{margin:5px 0 0;color:var(--muted);font-size:11px}.customer-orders{display:grid;gap:12px}.customer-order{border:1px solid #e0e8f2;border-radius:15px;padding:16px;background:linear-gradient(180deg,#fff,#fbfdff)}.order-top{display:flex;justify-content:space-between;gap:15px}.order-top h4{margin:8px 0 5px;font-size:16px}.order-top p{margin:0;color:var(--muted);font-size:12px}.order-progress{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin:17px 0 13px}.order-progress span{height:5px;border-radius:5px;background:#dfe7f1}.order-progress .done{background:#28b99a}.order-progress .current{background:#1769e0}.order-meta{display:flex;gap:16px;flex-wrap:wrap;color:#617087;font-size:11px}.price-box{display:flex;justify-content:space-between;align-items:center;background:#eef7ff;border-radius:11px;padding:10px 12px;margin-top:12px}.price-box span{font-size:11px;color:#607087}.price-box b{color:#1769e0}.order-actions{display:flex;justify-content:space-between;align-items:center;gap:9px;margin-top:14px}.order-actions form{display:flex;gap:7px;flex-wrap:wrap}.danger-soft{background:#fff1f1;color:#b52828;border:1px solid #f0c5c5}.empty-state{text-align:center;padding:32px;color:var(--muted)}.empty-state b{display:block;color:#243650;margin-bottom:8px}.nearby-techs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.nearby-techs article{border:1px solid #e2e9f1;border-radius:13px;padding:12px;display:flex;align-items:center;gap:9px;position:relative}.nearby-techs article>div:nth-child(2){display:grid;gap:2px}.nearby-techs span,.nearby-techs small{font-size:10px;color:var(--muted)}.nearby-techs em{position:absolute;left:9px;top:9px;font-size:9px;color:#16825b;font-style:normal}.tech-avatar{width:42px;height:42px;flex:0 0 42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#dfeeff,#c7f1e7);color:#164b77;font-weight:bold}.online-dot{font-size:11px;color:#138357}.history-list{display:grid}.history-list a{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:12px 3px;color:inherit}.history-list a:last-child{border:0}.history-list a div{display:grid;gap:4px}.history-list span,.history-list small{font-size:11px;color:var(--muted)}.quick-card h3,.notification-card h3{margin-top:0}.quick-card{display:grid;gap:8px}.quick{display:flex;gap:10px;align-items:center;border:1px solid #e0e7f0;border-radius:12px;padding:11px;color:#263850}.quick:hover{border-color:#9fc2f7;background:#f8fbff}.quick.primary{background:#1769e0;color:white;border-color:#1769e0}.quick i{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:#edf4ff;color:#1769e0;font-style:normal}.quick.primary i{background:#ffffff24;color:#fff}.quick span{display:grid;gap:2px}.quick small{font-size:9px;color:#7c899d}.quick.primary small{color:#dceaff}.notification-card p{font-size:12px;line-height:1.9;color:#57677e}.badge{min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:#eaf2ff;color:#1769e0;display:grid;place-items:center;font-size:11px}.empty-mini{text-align:center;padding:22px 5px;color:var(--muted);font-size:12px}.profile-card{text-align:center}.profile-avatar{width:66px;height:66px;margin:0 auto 10px;border-radius:50%;background:linear-gradient(135deg,#1769e0,#28b99a);color:#fff;display:grid;place-items:center;font-size:25px;font-weight:bold}.profile-card h3{margin:0 0 5px}.profile-card p{color:var(--muted);margin:0 0 15px}.profile-card>div:nth-of-type(2){display:flex;justify-content:space-between;background:#f7fafc;border-radius:10px;padding:10px;margin-bottom:12px;font-size:10px}.profile-card>div:nth-of-type(2) b{color:#16825b}
@media(max-width:1150px){.customer-stats{grid-template-columns:repeat(3,1fr)}.customer-layout{grid-template-columns:1fr}.customer-side{position:static;grid-template-columns:repeat(3,1fr)}.nearby-techs{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.customer-welcome{align-items:flex-start;flex-direction:column;padding:20px}.welcome-actions{width:100%}.welcome-actions .btn{flex:1}.customer-stats{grid-template-columns:1fr 1fr}.customer-side{grid-template-columns:1fr}.nearby-techs{grid-template-columns:1fr}.order-top,.order-actions{align-items:stretch;flex-direction:column}.order-actions form{width:100%}.order-actions form .btn{flex:1}.customer-order{padding:13px}.customer-welcome h2{font-size:20px}}
@media(max-width:430px){.customer-stats{grid-template-columns:1fr}.customer-stat{padding:13px}.order-meta{display:grid;gap:7px}.welcome-actions{display:grid}.order-actions form{display:grid}.customer-welcome .btn{width:100%}}

/* v0.3.8 professional RTL customer dashboard */
.customer-dashboard{direction:rtl;text-align:right;max-width:1540px;margin:0 auto}.customer-dashboard *{direction:rtl}.customer-hero{position:relative;display:flex;align-items:center;justify-content:space-between;gap:28px;overflow:hidden;min-height:190px;margin-bottom:18px;padding:34px 38px;border-radius:24px;color:#fff;background:linear-gradient(125deg,#0c2f57 0%,#145fc4 55%,#17a88c 100%);box-shadow:0 22px 55px rgba(15,70,140,.2)}.customer-hero:before,.customer-hero:after{content:"";position:absolute;border-radius:50%;background:#fff;opacity:.06}.customer-hero:before{width:260px;height:260px;left:-70px;top:-120px}.customer-hero:after{width:180px;height:180px;right:42%;bottom:-145px}.customer-hero__content{position:relative;z-index:1;max-width:760px}.customer-kicker{display:inline-flex;padding:6px 11px;border:1px solid #ffffff42;border-radius:999px;background:#ffffff18;font-size:11px}.customer-hero h2{margin:13px 0 8px;font-size:27px;line-height:1.5}.customer-hero p{margin:0;color:#e4efff;font-size:13px;line-height:1.9}.customer-hero__actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:21px}.customer-btn{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 15px;border-radius:11px;font-weight:700;font-size:12px;box-shadow:none}.customer-btn--primary{color:#fff;background:#1769e0;border-color:#1769e0}.customer-btn--light{color:#17385d;background:#fff;border-color:#fff}.customer-btn--outline{color:#275278;background:#fff;border-color:#d7e3ef}.customer-btn--outline:hover{background:#f5f9fd;border-color:#a9c4df}.customer-btn--success{color:#fff;background:#16855b;border-color:#16855b}.customer-btn--danger{color:#ad2f39;background:#fff3f4;border-color:#f0c6cb}.customer-btn--block{width:100%}.customer-hero__summary{position:relative;z-index:1;min-width:255px;display:flex;align-items:center;gap:13px;padding:16px 18px;border:1px solid #ffffff38;border-radius:17px;background:#ffffff14;backdrop-filter:blur(8px)}.hero-summary-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;color:#0c7455;background:#d9fff1;font-weight:bold;font-size:20px}.customer-hero__summary b,.customer-hero__summary span{display:block}.customer-hero__summary b{font-size:13px}.customer-hero__summary span{margin-top:5px;color:#dbeaff;font-size:10px;direction:ltr;text-align:right}.customer-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;margin-bottom:18px}.customer-kpi{position:relative;overflow:hidden;min-height:105px;display:flex;align-items:center;gap:13px;padding:17px;background:#fff;border:1px solid #e4eaf1;border-radius:17px;box-shadow:0 6px 22px rgba(25,48,78,.055)}.customer-kpi:after{content:"";position:absolute;right:0;top:0;bottom:0;width:4px;background:var(--kpi)}.customer-kpi__icon{width:45px;height:45px;flex:0 0 45px;display:grid;place-items:center;border-radius:14px;color:var(--kpi);background:var(--kpi-bg);font-size:20px}.customer-kpi b{display:block;font-size:25px;line-height:1}.customer-kpi span{display:block;margin-top:7px;font-size:12px;font-weight:700}.customer-kpi small{display:block;margin-top:4px;color:#8290a3;font-size:9px}.customer-kpi--blue{--kpi:#1769e0;--kpi-bg:#eaf3ff}.customer-kpi--amber{--kpi:#d68612;--kpi-bg:#fff5df}.customer-kpi--violet{--kpi:#7855d9;--kpi-bg:#f1edff}.customer-kpi--green{--kpi:#16855b;--kpi-bg:#e7f8f0}.customer-kpi--rose{--kpi:#d34c64;--kpi-bg:#fff0f3}.customer-dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}.customer-dashboard-main{display:grid;gap:18px;min-width:0}.customer-dashboard-side{display:grid;gap:14px;position:sticky;top:100px}.customer-panel,.customer-side-card{padding:19px;border-radius:18px;box-shadow:0 7px 26px rgba(21,42,70,.055)}.customer-panel__head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.customer-panel__head h3,.customer-side-card h3{margin:0;font-size:16px}.customer-panel__head p{margin:5px 0 0;color:#7a8799;font-size:10px}.customer-link{color:#1769e0;font-size:11px;font-weight:700}.customer-order-list{display:grid;gap:13px}.customer-order-card{padding:17px;border:1px solid #e1e8f0;border-radius:16px;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);transition:.2s ease}.customer-order-card:hover{border-color:#bed2e8;box-shadow:0 10px 28px rgba(30,70,115,.07);transform:translateY(-1px)}.customer-order-card__top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.customer-order-card__title h4{margin:8px 0 5px;font-size:15px}.customer-order-card__title p{margin:0;color:#7a8799;font-size:10px}.customer-code,.customer-status{display:inline-flex;align-items:center;justify-content:center;padding:6px 9px;border-radius:999px;font-size:9px}.customer-code{color:#1769e0;background:#eaf3ff;direction:ltr}.customer-status{color:#9a6310;background:#fff5df;white-space:nowrap}.customer-progress{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin:16px 0 12px}.customer-progress span{height:5px;border-radius:6px;background:#e2e8f0}.customer-progress .is-done{background:#21ad82}.customer-progress .is-current{background:#1769e0}.customer-order-card__meta{display:flex;flex-wrap:wrap;gap:9px 17px;color:#637186;font-size:10px}.customer-order-card__meta span{display:inline-flex;align-items:center;gap:4px}.customer-price{display:flex;justify-content:space-between;align-items:center;margin-top:13px;padding:11px 13px;border:1px solid #dceaf8;border-radius:11px;background:#f3f9ff}.customer-price span{color:#62738a;font-size:10px}.customer-price b{color:#1769e0;font-size:13px}.customer-order-card__actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}.customer-order-card__actions form{display:flex;gap:7px;flex-wrap:wrap;margin:0}.customer-empty{text-align:center;padding:38px 16px}.customer-empty>div{width:58px;height:58px;margin:0 auto 12px;display:grid;place-items:center;border-radius:18px;color:#1769e0;background:#eaf3ff;font-size:28px}.customer-empty b{display:block;font-size:15px}.customer-empty p{max-width:430px;margin:8px auto 16px;color:#748197;font-size:11px;line-height:1.9}.customer-online{color:#16855b;font-size:10px}.customer-tech-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.customer-tech-grid article{position:relative;display:flex;align-items:center;gap:10px;min-height:78px;padding:12px;border:1px solid #e2e9f1;border-radius:14px;background:#fff}.customer-tech-avatar{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;border-radius:50%;color:#155a77;background:linear-gradient(145deg,#dcecff,#d7f6ed);font-weight:bold}.customer-tech-info{display:grid;gap:2px;min-width:0}.customer-tech-info b{font-size:12px}.customer-tech-info span,.customer-tech-info small{color:#7a8799;font-size:9px}.customer-tech-grid em{position:absolute;left:9px;top:9px;color:#16855b;font-size:8px;font-style:normal}.customer-history{display:grid}.customer-history a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 2px;border-bottom:1px solid #edf1f5}.customer-history a:last-child{border-bottom:0}.customer-history a div{display:grid;gap:4px}.customer-history b{font-size:12px}.customer-history span,.customer-history small{color:#7b889a;font-size:9px}.customer-profile-box{text-align:center}.customer-profile-avatar{width:72px;height:72px;margin:0 auto 10px;display:grid;place-items:center;border-radius:22px;color:#fff;background:linear-gradient(135deg,#1769e0,#1eb394);box-shadow:0 10px 24px rgba(23,105,224,.2);font-size:26px;font-weight:bold}.customer-profile-box h3{margin:0 0 5px}.customer-profile-box>p{margin:0 0 14px;color:#77869a;direction:ltr;font-size:11px}.customer-account-state{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding:10px 11px;border-radius:11px;background:#f5f8fb;font-size:10px}.customer-account-state b{color:#16855b}.customer-quick-nav{display:grid;gap:8px;margin-top:13px}.customer-quick-nav a{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid #e1e8f0;border-radius:12px;background:#fff}.customer-quick-nav a:hover{border-color:#b8cde4;background:#f8fbff}.customer-quick-nav a.is-primary{color:#fff;border-color:#1769e0;background:#1769e0}.customer-quick-nav i{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;color:#1769e0;background:#edf4ff;font-style:normal}.customer-quick-nav a.is-primary i{color:#fff;background:#ffffff24}.customer-quick-nav span{display:grid;gap:2px}.customer-quick-nav b{font-size:11px}.customer-quick-nav small{color:#8290a3;font-size:8px}.customer-quick-nav a.is-primary small{color:#d9e8ff}.customer-notifications header{display:flex;align-items:center;justify-content:space-between}.customer-notifications header span{min-width:25px;height:25px;display:grid;place-items:center;padding:0 7px;border-radius:999px;color:#1769e0;background:#eaf3ff;font-size:10px}.customer-notice{display:flex;gap:9px;align-items:flex-start;margin-top:13px;padding:11px;border-radius:11px;background:#fff8e8}.customer-notice i{width:24px;height:24px;flex:0 0 24px;display:grid;place-items:center;border-radius:8px;color:#a76800;background:#ffe4a6;font-style:normal;font-weight:bold}.customer-notice p{margin:0;color:#705a2c;font-size:9px;line-height:1.9}.customer-no-notice{padding:23px 0 8px;text-align:center;color:#8290a3;font-size:10px}.customer-support-card{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px;border-radius:17px;color:#fff;background:linear-gradient(135deg,#142e4f,#1c6fbe)}.customer-support-card div{display:grid;gap:4px}.customer-support-card b{font-size:12px}.customer-support-card span{color:#d7e8fb;font-size:8px}.customer-support-card a{padding:8px 10px;border:1px solid #ffffff40;border-radius:9px;background:#ffffff14;font-size:9px;white-space:nowrap}
@media(max-width:1200px){.customer-kpis{grid-template-columns:repeat(3,1fr)}.customer-dashboard-grid{grid-template-columns:1fr}.customer-dashboard-side{position:static;grid-template-columns:repeat(3,minmax(0,1fr))}.customer-support-card{grid-column:1/-1}.customer-tech-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.customer-hero{align-items:flex-start;flex-direction:column;padding:24px}.customer-hero__summary{width:100%;min-width:0}.customer-kpis{grid-template-columns:repeat(2,1fr)}.customer-dashboard-side{grid-template-columns:1fr}.customer-tech-grid{grid-template-columns:1fr}.customer-order-card__top,.customer-order-card__actions{align-items:stretch;flex-direction:column}.customer-order-card__actions form{width:100%}.customer-order-card__actions form .customer-btn{flex:1}.customer-panel__head{align-items:flex-start;flex-direction:column}.customer-link{align-self:flex-start}}
@media(max-width:520px){.customer-hero{padding:20px;border-radius:18px}.customer-hero h2{font-size:21px}.customer-hero__actions{display:grid;width:100%}.customer-hero__actions .customer-btn{width:100%}.customer-kpis{grid-template-columns:1fr}.customer-kpi{min-height:92px}.customer-order-card{padding:13px}.customer-order-card__meta{display:grid;gap:7px}.customer-order-card__actions form{display:grid}.customer-order-card__actions form .customer-btn{width:100%}.customer-dashboard .card{border-radius:15px}}

/* v0.3.9 wide professional RTL customer dashboard */
.customer-dashboard{width:100%;max-width:none;margin:0;direction:rtl;text-align:right;font-size:14px}
.customer-dashboard-grid{grid-template-columns:320px minmax(0,1fr);grid-template-areas:"side main";gap:22px;direction:ltr}
.customer-dashboard-main{grid-area:main;direction:rtl;gap:22px}
.customer-dashboard-side{grid-area:side;direction:rtl;top:104px;gap:16px}
.customer-hero{min-height:150px;padding:25px 30px;margin-bottom:20px;border-radius:20px;box-shadow:0 14px 38px rgba(15,70,140,.16)}
.customer-hero__content{max-width:none;flex:1}
.customer-hero h2{font-size:25px;margin:8px 0 5px}
.customer-hero p{font-size:13px;line-height:1.8}
.customer-kicker{font-size:12px;padding:5px 10px}
.customer-hero__actions{margin-top:15px}
.customer-hero__summary{min-width:275px;padding:14px 16px}
.customer-kpis{gap:16px;margin-bottom:22px}
.customer-kpi{min-height:112px;padding:19px 18px;border-radius:16px}
.customer-kpi__icon{width:50px;height:50px;flex-basis:50px;font-size:22px}
.customer-kpi b{font-size:29px}
.customer-kpi span{font-size:13px;margin-top:7px}
.customer-kpi small{font-size:10px;margin-top:5px}
.customer-panel,.customer-side-card{padding:22px;border-radius:17px}
.customer-panel__head{margin-bottom:18px}
.customer-panel__head h3,.customer-side-card h3{font-size:18px}
.customer-panel__head p{font-size:12px;margin-top:6px}
.customer-link{font-size:12px}
.customer-order-card{padding:21px;border-radius:15px}
.customer-order-card__title h4{font-size:18px;margin:9px 0 6px;line-height:1.7}
.customer-order-card__title p{font-size:12px}
.customer-code,.customer-status{font-size:11px;padding:7px 11px}
.customer-progress{margin:20px 0 16px;gap:7px}
.customer-progress span{height:7px}
.customer-order-card__meta{font-size:12px;gap:11px 24px;line-height:1.8}
.customer-price{padding:14px 16px;margin-top:16px}
.customer-price span{font-size:12px}.customer-price b{font-size:16px}
.customer-order-card__actions{margin-top:17px}
.customer-btn{min-height:44px;padding:11px 17px;font-size:13px}
.customer-tech-grid{gap:14px}
.customer-tech-grid article{min-height:94px;padding:15px}
.customer-tech-avatar{width:50px;height:50px;flex-basis:50px}
.customer-tech-info b{font-size:14px}.customer-tech-info span,.customer-tech-info small{font-size:11px;line-height:1.7}
.customer-tech-grid em{font-size:10px;left:12px;top:11px}
.customer-profile-avatar{width:82px;height:82px;font-size:30px}
.customer-profile-box h3{font-size:18px}.customer-profile-box>p{font-size:13px}
.customer-account-state{font-size:12px;padding:12px 13px}
.customer-quick-nav{gap:10px}.customer-quick-nav a{padding:13px}
.customer-quick-nav i{width:39px;height:39px}.customer-quick-nav b{font-size:13px}.customer-quick-nav small{font-size:10px;line-height:1.6}
.customer-notifications header span{font-size:12px}.customer-notice p{font-size:11px}
.customer-support-card{padding:18px}.customer-support-card b{font-size:14px}.customer-support-card span{font-size:10px}.customer-support-card a{font-size:11px}
.customer-history a{padding:15px 3px}.customer-history b{font-size:14px}.customer-history span,.customer-history small{font-size:11px}
@media(min-width:1600px){.content{padding:26px 30px}.customer-dashboard-grid{grid-template-columns:340px minmax(0,1fr)}.customer-kpis{grid-template-columns:repeat(5,minmax(180px,1fr))}}
@media(max-width:1350px){.customer-dashboard-grid{grid-template-columns:285px minmax(0,1fr)}.customer-tech-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1120px){.customer-dashboard-grid{grid-template-columns:1fr;grid-template-areas:"main" "side"}.customer-dashboard-side{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.customer-profile-box{grid-row:span 2}.customer-support-card{grid-column:1/-1}.customer-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.content{padding:15px}.customer-dashboard-side{grid-template-columns:1fr}.customer-profile-box{grid-row:auto}.customer-hero{padding:22px;min-height:auto}.customer-hero h2{font-size:22px}.customer-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.customer-kpi{min-height:100px;padding:14px}.customer-kpi small{display:none}.customer-panel,.customer-side-card{padding:16px}.customer-tech-grid{grid-template-columns:1fr}}
@media(max-width:480px){.customer-kpis{grid-template-columns:1fr}.customer-hero__summary{min-width:0}.customer-order-card__meta{font-size:11px}.customer-btn{width:100%}}

/* v0.4.0 modern customer portal */
.pcustomer{direction:rtl;text-align:right;width:100%;max-width:none;margin:0;color:#172338;font-size:14px}.pcustomer *{box-sizing:border-box}.pcustomer-topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 28px;margin-bottom:16px;border:1px solid #dfe8f3;border-radius:18px;background:linear-gradient(135deg,#f8fbff,#f2fbf7);box-shadow:0 8px 26px rgba(18,43,73,.055)}.pcustomer-eyebrow{display:inline-flex;padding:5px 10px;border-radius:999px;background:#e9f4ff;color:#1769e0;font-size:11px;font-weight:700}.pcustomer-topbar h2{margin:9px 0 5px;font-size:24px}.pcustomer-topbar p{margin:0;color:#6f7f93;line-height:1.8}.pcustomer-topbar-actions{display:flex;gap:9px;flex-wrap:wrap}.pc-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:9px 14px;border:1px solid transparent;border-radius:10px;background:#fff;color:#23364d;font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;transition:.2s;text-decoration:none}.pc-btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(25,58,95,.09)}.pc-btn-primary{background:#1769e0;color:#fff;border-color:#1769e0}.pc-btn-light{background:#fff;border-color:#d8e3ef}.pc-btn-outline{background:#fff;border-color:#cfdeed;color:#24405f}.pc-btn-soft{background:#eef5ff;color:#1769e0}.pc-btn-success{background:#e9f8f1;color:#137852;border-color:#c8ecdd}.pc-btn-danger{background:#fff1f3;color:#c83e57;border-color:#f1cbd2}.pc-btn.block{width:100%}.pcustomer-tabs{display:flex;align-items:center;gap:7px;padding:7px;margin-bottom:16px;overflow:auto;border:1px solid #e0e8f1;border-radius:14px;background:#fff;box-shadow:0 5px 18px rgba(18,43,73,.04)}.pcustomer-tabs button{display:flex;align-items:center;gap:7px;white-space:nowrap;padding:10px 15px;border:0;border-radius:9px;background:transparent;color:#637388;font-family:inherit;font-size:12px;font-weight:700;cursor:pointer}.pcustomer-tabs button.active{background:#1769e0;color:#fff}.pcustomer-tabs button span{min-width:21px;height:21px;padding:0 6px;display:grid;place-items:center;border-radius:999px;background:#eef4fb;color:#1769e0;font-size:10px}.pcustomer-tabs button.active span{background:#ffffff2e;color:#fff}.pcustomer-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:16px}.pcustomer-kpis article{display:flex;align-items:center;gap:12px;min-height:94px;padding:15px;border:1px solid #e0e8f1;border-radius:15px;background:#fff;box-shadow:0 5px 18px rgba(18,43,73,.04)}.pcustomer-kpis i{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;border-radius:12px;font-style:normal;font-size:19px}.pcustomer-kpis i.blue{background:#eaf3ff;color:#1769e0}.pcustomer-kpis i.amber{background:#fff4dd;color:#a86800}.pcustomer-kpis i.violet{background:#f0ecff;color:#6f50d1}.pcustomer-kpis i.green{background:#e8f8f1;color:#16805a}.pcustomer-kpis i.rose{background:#fff0f3;color:#c83f57}.pcustomer-kpis strong{display:block;font-size:24px;line-height:1}.pcustomer-kpis span{display:block;margin-top:6px;font-weight:800;font-size:12px}.pcustomer-kpis small{display:block;margin-top:3px;color:#8a97a8;font-size:9px}.pcustomer-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:16px;align-items:start}.pcustomer-main{min-width:0;padding:20px;border:1px solid #e0e8f1;border-radius:18px;background:#fff;box-shadow:0 7px 24px rgba(18,43,73,.05)}.pcustomer-side{display:grid;gap:13px;position:sticky;top:92px}.pc-tab-panel{display:none}.pc-tab-panel.active{display:block;animation:pcFade .2s ease}@keyframes pcFade{from{opacity:.4;transform:translateY(3px)}to{opacity:1;transform:none}}.pc-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.pc-section-head h3{margin:0;font-size:17px}.pc-section-head p{margin:5px 0 0;color:#7e8b9b;font-size:10px}.pc-section-head>a{font-size:11px;color:#1769e0;font-weight:700}.pc-mt{margin-top:20px}.pc-orders{display:grid;gap:11px}.pc-order{padding:16px;border:1px solid #dfe8f2;border-radius:14px;background:#fff;transition:.2s}.pc-order:hover{border-color:#bfd2e6;box-shadow:0 8px 24px rgba(28,66,108,.065)}.pc-order.compact{padding:14px}.pc-order-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.pc-code{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eaf3ff;color:#1769e0;font-size:9px;direction:ltr}.pc-order h4{margin:8px 0 4px;font-size:15px}.pc-order p{margin:0;color:#7b899a;font-size:10px}.pc-status{padding:6px 9px;border-radius:999px;background:#fff4dc;color:#97600b;font-size:9px;white-space:nowrap}.pc-stepper{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin:14px 0 11px}.pc-stepper span{height:5px;border-radius:5px;background:#e2e8f0}.pc-stepper .done{background:#26ad82}.pc-stepper .current{background:#1769e0}.pc-order-meta{display:flex;flex-wrap:wrap;gap:8px 16px;color:#627188;font-size:10px;line-height:1.8}.pc-price{display:flex;align-items:center;justify-content:space-between;margin-top:11px;padding:9px 11px;border-radius:10px;background:#f1f7ff}.pc-price span{font-size:10px;color:#65758a}.pc-price b{color:#1769e0;font-size:12px}.pc-order-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px}.pc-order-actions form{display:flex;gap:7px;flex-wrap:wrap;margin:0}.pc-empty{text-align:center;padding:34px 15px}.pc-empty b{display:block;font-size:15px}.pc-empty p{color:#7c899a;font-size:11px}.pc-tech-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.pc-tech-list article,.pc-tech-grid-large article{position:relative;display:flex;align-items:center;gap:10px;padding:11px;border:1px solid #e1e8f0;border-radius:12px;background:#fff}.pc-avatar{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#dbeaff,#d7f6eb);color:#17607a;font-weight:900}.pc-avatar.large{width:54px;height:54px;flex-basis:54px}.pc-tech-list b,.pc-tech-grid-large b{display:block;font-size:11px}.pc-tech-list span,.pc-tech-list small,.pc-tech-grid-large span,.pc-tech-grid-large small{display:block;color:#7b899a;font-size:8px;margin-top:2px}.pc-tech-list em,.pc-tech-grid-large em{position:absolute;left:8px;top:8px;color:#13805a;font-size:8px;font-style:normal}.pc-tech-grid-large{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.pc-history{display:grid}.pc-history a{display:flex;align-items:center;justify-content:space-between;padding:13px 2px;border-bottom:1px solid #edf1f5}.pc-history b{display:block;font-size:12px}.pc-history span,.pc-history small{color:#7d8998;font-size:9px}.pc-billing-empty{text-align:center;padding:55px 15px}.pc-billing-empty i{width:62px;height:62px;margin:0 auto 12px;display:grid;place-items:center;border-radius:18px;background:#eaf3ff;color:#1769e0;font-size:24px;font-style:normal}.pc-billing-empty b{display:block;font-size:15px}.pc-billing-empty p{color:#7d8998;font-size:10px}.pc-profile,.pc-side-card{padding:16px;border:1px solid #e0e8f1;border-radius:15px;background:#fff;box-shadow:0 5px 18px rgba(18,43,73,.04)}.pc-profile-top{display:flex;align-items:center;gap:11px}.pc-profile-avatar{width:50px;height:50px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(135deg,#1769e0,#20ad8c);color:#fff;font-size:19px;font-weight:900}.pc-profile h3{margin:0 0 4px;font-size:14px}.pc-profile p{margin:0;color:#7b899a;font-size:10px;direction:ltr}.pc-account{display:flex;justify-content:space-between;margin:13px 0;padding:9px 10px;border-radius:9px;background:#f5f8fb;font-size:9px}.pc-account b{color:#16805a}.pc-side-card>h3,.pc-side-title h3{margin:0;font-size:14px}.pc-side-card nav{display:grid;gap:7px;margin-top:11px}.pc-side-card nav a,.pc-side-card nav button{display:flex;align-items:center;gap:9px;width:100%;padding:9px;border:1px solid #e1e8f0;border-radius:10px;background:#fff;color:#26384e;text-align:right;font-family:inherit;cursor:pointer}.pc-side-card nav .primary{background:#1769e0;border-color:#1769e0;color:#fff}.pc-side-card nav i{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:#edf4ff;color:#1769e0;font-style:normal}.pc-side-card nav .primary i{background:#ffffff24;color:#fff}.pc-side-card nav b{display:block;font-size:10px}.pc-side-card nav small{display:block;margin-top:2px;color:#8390a1;font-size:8px}.pc-side-card nav .primary small{color:#dce9ff}.pc-side-title{display:flex;align-items:center;justify-content:space-between}.pc-side-title span{min-width:24px;height:24px;display:grid;place-items:center;border-radius:999px;background:#eaf3ff;color:#1769e0;font-size:9px}.pc-notice{display:flex;gap:8px;margin-top:11px;padding:10px;border-radius:10px;background:#fff7e6}.pc-notice i{width:22px;height:22px;display:grid;place-items:center;border-radius:7px;background:#ffe3a3;color:#9e6500;font-style:normal}.pc-notice p{margin:0;color:#705b2f;font-size:8px;line-height:1.8}.pc-muted{margin:13px 0 0;color:#8793a3;font-size:9px}.pc-help{display:grid;gap:6px;padding:16px;border-radius:15px;background:linear-gradient(135deg,#132d4d,#1b6cb8);color:#fff}.pc-help b{font-size:12px}.pc-help span{color:#d6e7f8;font-size:8px}.pc-help a{margin-top:5px;padding:8px;border:1px solid #ffffff3b;border-radius:9px;background:#ffffff12;color:#fff;text-align:center;font-size:9px;font-weight:700}.pc-modal{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;padding:20px}.pc-modal.show{display:flex}.pc-modal-backdrop{position:absolute;inset:0;background:rgba(8,18,32,.62);backdrop-filter:blur(3px)}.pc-modal-dialog{position:relative;width:min(620px,96vw);max-height:90vh;overflow:auto;padding:20px;border-radius:18px;background:#fff;box-shadow:0 24px 80px rgba(0,0,0,.28);direction:rtl}.pc-modal-close{position:absolute;left:13px;top:12px;width:32px;height:32px;border:0;border-radius:10px;background:#f0f3f7;font-size:21px;cursor:pointer}.pc-modal-head{padding-left:45px}.pc-modal-head span{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eaf3ff;color:#1769e0;font-size:9px;direction:ltr}.pc-modal-head h3{margin:9px 0 5px;font-size:18px}.pc-modal-head p{margin:0;color:#7b899a;font-size:10px}.pc-modal-info{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:15px 0}.pc-modal-info div{padding:10px;border-radius:10px;background:#f7f9fc}.pc-modal-info div.wide{grid-column:1/-1}.pc-modal-info span{display:block;color:#7e8a9b;font-size:8px}.pc-modal-info b{display:block;margin-top:4px;font-size:10px}.pc-modal-map{height:280px;margin-bottom:13px;overflow:hidden;border:1px solid #e0e8f1;border-radius:13px;background:#f2f5f8}.pc-modal-map iframe{width:100%;height:100%;border:0}.pc-map-empty{height:100%;display:grid;place-items:center;color:#7d8998;font-size:10px}
@media(max-width:1250px){.pcustomer-kpis{grid-template-columns:repeat(3,1fr)}.pcustomer-layout{grid-template-columns:1fr}.pcustomer-side{position:static;grid-template-columns:repeat(3,1fr)}.pc-help{grid-column:1/-1}.pc-tech-list,.pc-tech-grid-large{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.pcustomer-topbar{align-items:flex-start;flex-direction:column;padding:20px}.pcustomer-topbar-actions{width:100%}.pcustomer-topbar-actions .pc-btn{flex:1}.pcustomer-kpis{grid-template-columns:repeat(2,1fr)}.pcustomer-side{grid-template-columns:1fr}.pc-tech-list,.pc-tech-grid-large{grid-template-columns:1fr}.pc-order-head{flex-direction:column}.pc-order-actions{align-items:stretch}.pc-order-actions .pc-btn,.pc-order-actions form{width:100%}.pc-order-actions form .pc-btn{flex:1}.pcustomer-main{padding:15px}.pc-section-head{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.pcustomer-topbar h2{font-size:20px}.pcustomer-topbar-actions{display:grid}.pcustomer-kpis{grid-template-columns:1fr}.pcustomer-kpis article{min-height:84px}.pcustomer-tabs{border-radius:11px}.pcustomer-main{padding:12px;border-radius:14px}.pc-order{padding:13px}.pc-order-meta{display:grid}.pc-modal-info{grid-template-columns:1fr}.pc-modal-info div.wide{grid-column:auto}}

/* v0.4.1 professional technician portal */
.tech-portal{display:grid;grid-template-columns:270px minmax(0,1fr);grid-template-areas:"nav main";gap:22px;align-items:start;direction:ltr;max-width:1540px;margin:0 auto;padding:2px}.tech-portal *{box-sizing:border-box}.tech-portal__nav{grid-area:nav;position:sticky;top:84px;direction:rtl;padding:18px;border-radius:23px;background:linear-gradient(155deg,#0b182a,#10243c 72%,#0f342f);color:#fff;box-shadow:0 18px 48px rgba(9,24,43,.22)}.tech-portal__main{grid-area:main;min-width:0;direction:rtl;text-align:right;display:grid;gap:17px}.tech-brand{display:flex;align-items:center;gap:11px;padding:2px 4px 17px;border-bottom:1px solid #ffffff18}.tech-brand__icon{width:43px;height:43px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,#1b79eb,#20b58e);font-size:19px;font-weight:900}.tech-brand b,.tech-brand span{display:block}.tech-brand b{font-size:16px}.tech-brand span{margin-top:4px;color:#aebed0;font-size:10px}.tech-portal__nav nav{display:grid;gap:7px;padding:15px 0}.tech-portal__nav nav a{position:relative;display:flex;align-items:center;gap:10px;min-height:47px;padding:9px 11px;border:1px solid #ffffff12;border-radius:13px;color:#e6eef7;background:#ffffff07;transition:.18s}.tech-portal__nav nav a:hover{background:#ffffff11}.tech-portal__nav nav a.active{background:linear-gradient(135deg,#18ad5f,#14a66b);border-color:#2cd07d;color:#fff;box-shadow:0 9px 22px rgba(18,174,97,.24)}.tech-portal__nav nav i{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;background:#ffffff0d;font-style:normal;font-size:15px}.tech-portal__nav nav span{font-size:12px;font-weight:800}.tech-portal__nav nav em{margin-right:auto;min-width:24px;height:24px;padding:0 6px;display:grid;place-items:center;border-radius:999px;background:#ffffff18;font-size:10px;font-style:normal}.tech-online-card{display:flex;align-items:center;gap:9px;padding:12px;border:1px solid #ffffff15;border-radius:13px;background:#06132266}.tech-online-card .dot{width:10px;height:10px;border-radius:50%;background:#31dc8c;box-shadow:0 0 0 5px #31dc8c1c}.tech-online-card b,.tech-online-card small{display:block}.tech-online-card b{font-size:11px}.tech-online-card small{margin-top:3px;color:#9fb2c7;font-size:8px}.tech-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:21px 24px;border:1px solid #dfe8f1;border-radius:19px;background:linear-gradient(135deg,#fff,#f8fbff);box-shadow:0 7px 24px rgba(18,43,73,.045)}.tech-kicker{display:inline-flex;padding:5px 9px;border-radius:999px;background:#e9f4ff;color:#1769e0;font-size:9px;font-weight:800}.tech-topbar h2{margin:8px 0 4px;font-size:23px}.tech-topbar p{margin:0;color:#758398;font-size:11px}.tech-topbar__profile{display:grid;grid-template-columns:auto 50px;grid-template-rows:auto auto;column-gap:10px;align-items:center;text-align:left}.tech-topbar__profile>div{grid-column:2;grid-row:1/3;width:50px;height:50px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(135deg,#1769e0,#21af8e);color:#fff;font-size:20px;font-weight:900}.tech-topbar__profile span{font-size:12px;font-weight:900}.tech-topbar__profile small{color:#7d8999;font-size:9px;direction:ltr}.tech-verification{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 20px;padding:21px}.tech-verification__status{display:flex;align-items:center;gap:13px}.verified-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:15px;background:#e9faef;color:#11904d;font-size:23px;font-weight:900}.tech-verification h3{margin:0 0 5px;font-size:17px}.tech-verification b{color:#138a4d;font-size:11px}.tech-verification p{margin:5px 0 0;color:#7d8998;font-size:10px}.verify-steps{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:7px;padding-top:13px;border-top:1px solid #edf1f5}.verify-steps span{padding:6px 10px;border-radius:999px;background:#f2f5f8;color:#708095;font-size:9px}.verify-steps .done{background:#eafff1;color:#15884e;border:1px solid #a7e8c0}.tech-notice{display:flex;align-items:center;justify-content:space-between;padding:18px 20px}.tech-notice>div{display:flex;align-items:center;gap:11px}.tech-notice i{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#fff4d9;color:#9b6400;font-style:normal;font-weight:900}.tech-notice h3{margin:0;font-size:16px}.tech-notice p{margin:4px 0 0;color:#7b899a;font-size:10px}.tech-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}.tech-kpis article{display:flex;align-items:center;gap:11px;min-height:88px;padding:15px;border:1px solid #e0e8f1;border-radius:15px;background:#fff;box-shadow:0 5px 18px rgba(18,43,73,.04)}.tech-kpis i{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#eaf3ff;color:#1769e0;font-style:normal}.tech-kpis span,.tech-kpis b{display:block}.tech-kpis span{color:#7f8b9b;font-size:9px}.tech-kpis b{margin-top:5px;font-size:14px}.tech-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.tech-panel{padding:18px}.tech-compact-list{display:grid;gap:9px}.tech-compact-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid #e2e9f1;border-radius:12px}.tech-compact-list h4{margin:6px 0 3px;font-size:12px}.tech-compact-list p{margin:0;color:#7b8998;font-size:9px}.tech-compact-list form{display:flex;gap:6px;margin:0}.tech-docs,.tech-jobs-panel,.tech-work-form{padding:22px}.status.success{background:#e9faef;color:#15884e}.docs-success{padding:32px;border:1px solid #bdebcf;border-radius:18px;background:linear-gradient(135deg,#f0fff5,#e9fbf0);text-align:center}.docs-success>i{width:58px;height:58px;margin:0 auto 11px;display:grid;place-items:center;border-radius:18px;background:#18ad5f;color:#fff;font-size:28px;font-style:normal}.docs-success h3{margin:0 0 7px}.docs-success p{color:#668174}.docs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:21px;text-align:right}.docs-grid div{padding:11px;border-radius:11px;background:#fff}.docs-grid span,.docs-grid b{display:block}.docs-grid span{color:#7c8998;font-size:8px}.docs-grid b{margin-top:5px;font-size:11px}.count-badge{padding:7px 10px;border-radius:999px;background:#eaf3ff;color:#1769e0;font-size:10px}.tech-job-list{display:grid;gap:12px}.tech-job-card{padding:17px;border:1px solid #dfe8f2;border-radius:15px;background:linear-gradient(180deg,#fff,#fbfdff)}.tech-job-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.tech-job-card h3{margin:8px 0 5px;font-size:16px}.tech-job-card__head p{margin:0;color:#7c8999;font-size:10px}.tech-job-card__meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:13px;padding:10px;border-radius:10px;background:#f5f8fb;color:#617188;font-size:10px}.tech-job-desc{margin:12px 0;color:#405168;font-size:11px;line-height:1.9}.tech-job-card__actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}.tech-job-card__actions form{display:flex;gap:7px;margin:0}.waiting-note{padding:8px 10px;border-radius:9px;background:#fff6df;color:#94610c;font-size:9px}.empty-state.large{padding:70px 15px}.work-status-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;padding:15px;border-radius:13px;background:#f5f9fc}.work-status-row b,.work-status-row span{display:block}.work-status-row b{font-size:13px}.work-status-row span{margin-top:4px;color:#7c8999;font-size:9px}.switch input{display:none}.switch span{position:relative;display:block;width:53px;height:29px;border-radius:999px;background:#cbd5e1;cursor:pointer}.switch span:after{content:"";position:absolute;top:4px;right:4px;width:21px;height:21px;border-radius:50%;background:#fff;transition:.2s}.switch input:checked+span{background:#19ad62}.switch input:checked+span:after{right:28px}.form-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tech-work-form label{display:grid;gap:6px;margin-bottom:12px;font-size:10px;font-weight:800}.tech-work-form input{min-height:43px;padding:10px 12px;border:1px solid #dbe5ef;border-radius:11px;font-family:inherit}.form-block{padding:15px 0;border-top:1px solid #edf1f5;border-bottom:1px solid #edf1f5;margin:6px 0 16px}.form-block h4{margin:0 0 10px}.skill-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.skill-grid label{display:flex;align-items:center;gap:7px;margin:0;padding:11px;border:1px solid #dfe8f1;border-radius:11px;background:#fff}.skill-grid input{min-height:0;width:auto}.tech-map-placeholder{display:grid;place-items:center;min-height:220px;margin:8px 0 15px;border:1px dashed #a9bfd5;border-radius:15px;background:linear-gradient(135deg,#f1f7fb,#e9f4ef);text-align:center}.tech-map-placeholder div{font-size:34px;color:#1769e0}.tech-map-placeholder b{font-size:13px}.tech-map-placeholder span{color:#718094;font-size:9px}.large-btn{width:100%;min-height:48px}.wallet-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px}.wallet-hero{padding:25px;border-radius:18px;background:linear-gradient(135deg,#102f59,#1769e0 60%,#22ad8e);color:#fff;box-shadow:0 16px 38px rgba(23,105,224,.18)}.wallet-hero span,.wallet-hero b{display:block}.wallet-hero b{margin:10px 0;font-size:28px}.wallet-hero p{color:#e0edff;font-size:10px}.wallet-stat{display:grid;place-items:center;text-align:center}.wallet-stat span{color:#7b8999;font-size:10px}.wallet-stat b{font-size:24px}.wallet-stat small{color:#7b8999}.payment-table{display:grid}.payment-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:10px;align-items:center;padding:12px;border-bottom:1px solid #edf1f5;font-size:10px}.payment-row.head{background:#f5f8fb;font-weight:900}.support-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.support-grid article{padding:22px}.support-grid h3{margin-top:0}.support-grid p{color:#6f7d91;font-size:11px;line-height:1.9}
@media(max-width:1200px){.tech-portal{grid-template-columns:1fr;grid-template-areas:"main"}.tech-portal__nav{position:static;display:none}.tech-kpis{grid-template-columns:repeat(3,1fr)}.tech-dashboard-grid{grid-template-columns:1fr}.wallet-grid{grid-template-columns:1fr 1fr}.wallet-hero{grid-column:1/-1}.support-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.tech-topbar{align-items:flex-start;flex-direction:column}.tech-topbar__profile{align-self:stretch}.tech-kpis{grid-template-columns:1fr 1fr}.tech-verification{grid-template-columns:1fr}.verify-steps{grid-column:auto}.tech-notice,.tech-job-card__head,.tech-job-card__actions{align-items:stretch;flex-direction:column}.tech-job-card__actions form{width:100%;flex-direction:column}.tech-job-card__actions .btn{width:100%}.docs-grid{grid-template-columns:1fr 1fr}.form-grid.two,.skill-grid{grid-template-columns:1fr}.wallet-grid,.support-grid{grid-template-columns:1fr}.wallet-hero{grid-column:auto}.payment-row{grid-template-columns:1fr 1fr}.payment-row.head{display:none}}
@media(max-width:480px){.tech-kpis{grid-template-columns:1fr}.docs-grid{grid-template-columns:1fr}.tech-topbar,.tech-verification,.tech-docs,.tech-jobs-panel,.tech-work-form{padding:16px}.tech-portal__main{gap:12px}}
.pc-tech-accepted{display:flex;align-items:center;gap:12px;margin-top:14px;padding:13px 15px;border:1px solid #b8ecd3;background:linear-gradient(135deg,#f1fff8,#eef9ff);border-radius:14px;direction:rtl}.pc-tech-accepted>div:nth-child(2){display:flex;flex-direction:column;gap:3px;flex:1}.pc-tech-accepted b{font-size:14px;color:#0d5d3e}.pc-tech-accepted span{font-size:12px;color:#334155}.pc-tech-accepted small{font-size:11px;color:#64748b}.pc-tech-badge{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#16a36a;color:#fff;font-weight:900}.pc-live-note{font-size:12px;color:#2563eb;margin-top:8px;min-height:18px}.pc-live-updated{animation:pcPulse 1.8s ease}@keyframes pcPulse{0%,100%{box-shadow:0 0 0 0 rgba(37,99,235,0)}40%{box-shadow:0 0 0 6px rgba(37,99,235,.12)}}
/* v0.4.3 enterprise portal refinements */
.tech-portal{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:280px minmax(0,1fr);gap:24px;padding:24px;align-items:start}
.tech-portal__nav{position:sticky;top:92px;width:auto;border-radius:22px;box-shadow:0 18px 45px rgba(15,23,42,.16)}
.tech-portal__main{min-width:0;width:100%}.tech-topbar,.tech-jobs-panel,.tech-panel,.tech-verification,.tech-work-form{border-radius:20px}
.tech-job-list{display:grid;gap:16px}.tech-job-card{border:1px solid #dbe5f1;border-radius:18px;padding:18px;background:#fff;box-shadow:0 6px 18px rgba(15,23,42,.04);transition:.2s ease}.tech-job-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(15,23,42,.08)}
.tech-job-card__head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.tech-job-card__head h3{font-size:18px;margin:7px 0}.tech-job-card__meta{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.tech-job-card__meta span{background:#f5f8fc;border:1px solid #e7edf5;padding:8px 11px;border-radius:10px;color:#475569}.tech-job-card__actions{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #edf2f7;padding-top:14px}.tech-job-card__actions form{display:flex;gap:8px;align-items:center}.inline-price{display:flex;gap:8px;align-items:center}.price-input{min-width:220px;height:44px;border:1px solid #bfdbfe;border-radius:11px;padding:0 14px;font-size:15px;text-align:left;direction:ltr}.portal-alert{margin-bottom:14px;padding:13px 16px;border-radius:12px;font-weight:700}.portal-alert--error{background:#fff1f2;color:#be123c;border:1px solid #fecdd3}.portal-alert--success{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.waiting-note{background:#fff7ed;color:#9a3412;border:1px solid #fed7aa;border-radius:10px;padding:10px 12px;font-weight:700}
.pc-order-card{border-radius:18px!important;box-shadow:0 8px 25px rgba(15,23,42,.06)}.pc-order-statusbox{border-radius:14px!important}.pc-order-card .btn{min-height:42px}.pc-stat{border-radius:16px!important}
@media(max-width:1100px){.tech-portal{grid-template-columns:1fr;padding:16px}.tech-portal__nav{position:static;order:2}.tech-portal__nav nav{display:grid;grid-template-columns:repeat(3,1fr)}.tech-portal__main{order:1}}
@media(max-width:720px){.tech-portal{padding:10px}.tech-topbar{flex-direction:column;align-items:stretch}.tech-job-card__head,.tech-job-card__actions{flex-direction:column}.tech-job-card__actions form,.inline-price{width:100%;flex-direction:column}.price-input,.tech-job-card__actions .btn{width:100%}.tech-portal__nav nav{grid-template-columns:1fr 1fr}}

/* v0.4.4 technician location and dispatch */
.tech-location-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin:16px 0 12px}.tech-location-search{position:relative}.tech-location-results{position:absolute;z-index:1200;top:calc(100% + 6px);right:0;left:0;max-height:300px;overflow:auto;background:#fff;border:1px solid #d7e1ef;border-radius:14px;box-shadow:0 18px 45px rgba(15,23,42,.16);padding:6px}.tech-location-results button{width:100%;display:flex;flex-direction:column;align-items:flex-start;text-align:right;border:0;background:#fff;padding:11px 12px;border-radius:10px;cursor:pointer}.tech-location-results button:hover{background:#f2f7ff}.tech-location-results button b{font-size:13px;color:#0f172a}.tech-location-results button span{font-size:11px;color:#64748b;margin-top:3px}.search-loading{padding:14px;color:#64748b;text-align:center}.tech-work-map{height:360px;border-radius:18px;border:1px solid #cfdae9;overflow:hidden;background:#eef3f8;margin-top:12px;z-index:1}.tech-map-help{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#effaf6;border:1px solid #bfe8d7;color:#14543f;border-radius:14px;padding:12px 14px;margin:12px 0}.tech-map-help span{font-size:12px;color:#477668}.distance-badge{background:#eef6ff;color:#1769aa;border-radius:999px;padding:4px 8px;font-weight:700}.tech-job-card__meta{flex-wrap:wrap}.leaflet-container{font-family:inherit}.leaflet-control-attribution{font-size:9px!important}
@media(max-width:760px){.tech-location-tools{grid-template-columns:1fr}.tech-work-map{height:300px}.tech-map-help{align-items:flex-start;flex-direction:column}.tech-location-tools .btn{width:100%}}


/* v0.4.6 enterprise workflow */
.pc-workflow-log{margin:12px 0;border:1px solid #dbe7f5;border-radius:12px;background:#fff;overflow:hidden}
.pc-workflow-log summary{cursor:pointer;padding:11px 14px;font-weight:800;color:#174a8b;background:#f7fbff;list-style:none}
.pc-workflow-log summary::-webkit-details-marker{display:none}
.pc-workflow-events{padding:10px 14px 12px;display:grid;gap:8px}
.pc-workflow-event{display:grid;grid-template-columns:14px 1fr;gap:9px;align-items:start;position:relative}
.pc-workflow-event i{width:10px;height:10px;margin-top:5px;border-radius:50%;background:#1f7ae0;box-shadow:0 0 0 4px #eaf3ff}
.pc-workflow-event:not(:last-child):after{content:"";position:absolute;right:4px;top:16px;bottom:-10px;width:2px;background:#dce8f6}
.pc-workflow-event div{display:grid;gap:2px}
.pc-workflow-event b{font-size:13px;color:#18324f}
.pc-workflow-event span{font-size:12px;color:#536b84}
.pc-workflow-event small{font-size:10px;color:#8aa0b7}
.tech-role-message{margin:8px 0;padding:9px 11px;border-radius:10px;background:#eef8ff;border:1px solid #cfe8ff;color:#24557b;font-size:12px;font-weight:700}
@media(max-width:760px){.pc-workflow-event{grid-template-columns:12px 1fr}.pc-workflow-log summary{font-size:12px}}

.login-body{margin:0;min-height:100vh;background:linear-gradient(135deg,#07162f,#0d3f75 55%,#13a69a);font-family:Tahoma,Arial,sans-serif;display:grid;place-items:center;padding:24px}.login-shell{width:min(980px,100%);display:grid;grid-template-columns:1.05fr .95fr;background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 35px 90px rgba(0,0,0,.3);min-height:600px}.login-brand{background:linear-gradient(150deg,#0c2b55,#126bc5 62%,#17b59c);color:#fff;padding:64px;display:flex;flex-direction:column;justify-content:center;position:relative}.login-logo{width:84px;height:84px;border-radius:26px;background:rgba(255,255,255,.18);display:grid;place-items:center;font-size:44px;font-weight:900;margin-bottom:26px;border:1px solid rgba(255,255,255,.3)}.login-brand h1{font-size:34px;margin:0 0 14px}.login-brand p{font-size:16px;line-height:2;opacity:.9}.login-features{display:grid;gap:13px;margin-top:30px}.login-features span{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);padding:13px 16px;border-radius:13px}.login-card{padding:56px 48px;display:flex;flex-direction:column;justify-content:center}.login-card h2{font-size:28px;margin:0 0 8px;color:#10213d}.login-card>p{color:#718096;margin-bottom:28px}.login-card form{display:grid;gap:18px}.login-card label{font-weight:700;color:#27364f;display:grid;gap:8px}.login-card input{height:50px;border:1px solid #d8e1ec;border-radius:12px;padding:0 15px;font-size:15px;outline:none}.login-card input:focus{border-color:#1671d9;box-shadow:0 0 0 4px rgba(22,113,217,.1)}.login-card button{height:52px;border:0;border-radius:13px;background:linear-gradient(90deg,#146ad2,#17ae9d);color:#fff;font-size:16px;font-weight:800;cursor:pointer}.login-error{background:#fff1f2;color:#b42318;border:1px solid #fecdd3;padding:12px 14px;border-radius:12px;margin-bottom:16px}.demo-accounts{margin-top:24px;background:#f7f9fc;border:1px solid #e4eaf2;border-radius:14px;padding:15px;display:grid;gap:9px}.demo-accounts>div{display:grid;grid-template-columns:1fr 1.4fr .8fr;gap:8px;align-items:center;font-size:12px}.demo-accounts code{direction:ltr;background:#fff;border:1px solid #dde5ef;padding:5px 7px;border-radius:7px}.demo-accounts span{direction:ltr}.demo-accounts em{font-style:normal;color:#1671d9}.logout-link{color:#c62828;text-decoration:none;font-size:12px;border:1px solid #f2c5c5;padding:6px 10px;border-radius:8px}@media(max-width:760px){.login-shell{grid-template-columns:1fr}.login-brand{padding:34px;min-height:220px}.login-card{padding:34px 25px}.login-brand h1{font-size:27px}.login-features{display:none}}

/* v0.5.1 role-isolated layouts */
.role-customer .pcustomer-side{display:none!important}
.role-customer .pcustomer-layout{grid-template-columns:minmax(0,1fr)!important}
.role-customer .pcustomer-main{width:100%}
.role-technician .sidebar{display:none!important}
.role-technician .app>main{margin-right:0!important;width:100%!important}
.role-technician .topbar{padding-right:24px!important}
@media(max-width:900px){
  .role-customer .pcustomer-layout{display:block!important}
  .role-technician .sidebar{display:none!important}
}

/* v0.5.2 premium customer experience */
.cx{--cx-primary:#1769e0;--cx-primary2:#3b82f6;--cx-green:#10a66f;--cx-text:#10233d;--cx-muted:#718198;--cx-border:#e2eaf2;--cx-bg:#f5f8fc;display:grid;gap:18px;direction:rtl;color:var(--cx-text)}
.cx *{box-sizing:border-box}.cx a{text-decoration:none}.cx-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:190px;padding:30px 34px;border-radius:24px;color:#fff;background:radial-gradient(circle at 8% 20%,rgba(255,255,255,.18),transparent 28%),linear-gradient(125deg,#0d3f86 0%,#1769e0 48%,#13a681 100%);box-shadow:0 22px 50px rgba(18,72,138,.19)}
.cx-hero:after{content:"";position:absolute;left:-70px;bottom:-120px;width:300px;height:300px;border:55px solid rgba(255,255,255,.07);border-radius:50%}.cx-hero__copy{position:relative;z-index:1;max-width:780px}.cx-badge,.cx-section-kicker{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;font-size:11px;font-weight:800}.cx-badge{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.18)}.cx-hero h2{margin:13px 0 7px;font-size:27px;line-height:1.5}.cx-hero p{margin:0;color:#dcecff;font-size:13px;line-height:2}.cx-hero__actions{display:flex;gap:10px;margin-top:20px}.cx-btn{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 15px;border:0;border-radius:12px;font:inherit;font-size:12px;font-weight:800;cursor:pointer;transition:.2s ease}.cx-btn:hover{transform:translateY(-1px)}.cx-btn--primary{color:#fff;background:var(--cx-primary);box-shadow:0 10px 22px rgba(23,105,224,.22)}.cx-btn--glass{color:#fff;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.24)}.cx-btn--outline{color:#24405f;background:#fff;border:1px solid #cfdce9}.cx-btn--soft{color:#1559b5;background:#edf5ff}.cx-btn--success{color:#fff;background:#12a66f}.cx-btn--danger{color:#c53d50;background:#fff0f2;border:1px solid #ffcbd3}.cx-btn.block{width:100%}
.cx-hero__account{position:relative;z-index:1;min-width:270px;display:flex;align-items:center;gap:12px;padding:15px;border:1px solid rgba(255,255,255,.2);border-radius:18px;background:rgba(8,35,75,.22);backdrop-filter:blur(12px)}.cx-avatar{width:54px;height:54px;display:grid;place-items:center;border-radius:16px;color:#0e4d78;background:#d9fff3;font-size:22px;font-weight:900}.cx-hero__account>div:nth-child(2){display:grid;gap:3px}.cx-hero__account small{color:#d5e7fb}.cx-hero__account strong{font-size:13px;direction:ltr}.cx-hero__account span{font-size:10px;color:#bfe3d9}.cx-hero__account>i{margin-right:auto;width:27px;height:27px;display:grid;place-items:center;border-radius:50%;color:#0b8058;background:#d7fff0;font-style:normal;font-weight:900}
.cx-command{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;padding:7px;border:1px solid var(--cx-border);border-radius:17px;background:#fff;box-shadow:0 7px 24px rgba(24,54,86,.05)}.cx-command button{position:relative;min-height:48px;display:flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:11px;color:#53677e;background:transparent;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.cx-command button.active{color:#fff;background:linear-gradient(135deg,#1769e0,#2b87f4);box-shadow:0 8px 18px rgba(23,105,224,.2)}.cx-command i{font-style:normal;font-size:17px}.cx-command em{min-width:21px;height:21px;display:grid;place-items:center;border-radius:999px;color:#1769e0;background:#e9f2ff;font-size:9px;font-style:normal}.cx-command button.active em{color:#fff;background:#ffffff25}
.cx-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.cx-kpi{position:relative;overflow:hidden;min-height:104px;display:flex;align-items:center;gap:13px;padding:17px;border:1px solid var(--cx-border);border-radius:17px;background:#fff;box-shadow:0 8px 25px rgba(19,50,82,.045)}.cx-kpi:after{content:"";position:absolute;inset:auto 0 0;height:3px;background:var(--tone)}.cx-kpi__icon{width:45px;height:45px;flex:0 0 45px;display:grid;place-items:center;border-radius:14px;color:var(--tone);background:var(--tone-bg);font-size:20px}.cx-kpi>div:last-child{display:grid}.cx-kpi small{color:#718198;font-size:10px}.cx-kpi strong{font-size:25px;line-height:1.3}.cx-kpi span{color:#98a4b3;font-size:9px}.cx-kpi.blue{--tone:#1769e0;--tone-bg:#eaf3ff}.cx-kpi.amber{--tone:#ed9700;--tone-bg:#fff4df}.cx-kpi.violet{--tone:#7654d8;--tone-bg:#f0ecff}.cx-kpi.green{--tone:#10a66f;--tone-bg:#e8f9f2}.cx-kpi.rose{--tone:#d44b63;--tone-bg:#fff0f3}
.cx-panel{display:none}.cx-panel.active{display:block}.cx-dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:16px;align-items:start}.cx-main,.cx-side{display:grid;gap:16px}.cx-side{position:sticky;top:95px}.cx-card{border:1px solid var(--cx-border);border-radius:20px;background:#fff;box-shadow:0 10px 30px rgba(20,48,79,.05)}.cx-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:20px 21px 0}.cx-card__head h3{margin:5px 0 3px;font-size:17px}.cx-card__head p{margin:0;color:var(--cx-muted);font-size:10px;line-height:1.8}.cx-card__head>a,.cx-card__head>button{border:0;color:#1769e0;background:transparent;font:inherit;font-size:10px;font-weight:800;cursor:pointer}.cx-section-kicker{color:#1769e0;background:#eaf3ff}.cx-orders{display:grid;gap:12px;padding:16px 20px 20px}.cx-order{padding:18px;border:1px solid #dbe6f0;border-radius:17px;background:linear-gradient(180deg,#fff,#fbfdff);transition:.2s}.cx-order.live{box-shadow:0 0 0 4px rgba(16,166,111,.1)}.cx-order__top{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.cx-order__title h4{margin:8px 0 4px;font-size:16px;line-height:1.6}.cx-order__title p{margin:0;color:#718198;font-size:10px}.cx-code,.cx-status{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:9px;font-weight:800}.cx-code{direction:ltr;color:#1769e0;background:#eaf3ff}.cx-status{color:#9d6410;background:#fff4df;white-space:nowrap}.cx-timeline{display:grid;grid-template-columns:repeat(5,1fr);margin:18px 0 14px}.cx-timeline>div{position:relative;display:grid;justify-items:center;gap:5px;color:#9aa7b6;font-size:8px}.cx-timeline>div:before{content:"";position:absolute;right:50%;top:14px;width:100%;height:3px;background:#e3eaf1;z-index:0}.cx-timeline>div:first-child:before{display:none}.cx-timeline i{position:relative;z-index:1;width:29px;height:29px;display:grid;place-items:center;border:3px solid #e3eaf1;border-radius:50%;color:#8898aa;background:#fff;font-style:normal;font-weight:900}.cx-timeline .done:before,.cx-timeline .done i{border-color:#16a876;background:#16a876;color:#fff}.cx-timeline .done:before{background:#16a876}.cx-timeline .current:before{background:linear-gradient(90deg,#16a876,#1769e0)}.cx-timeline .current i{border-color:#1769e0;color:#1769e0;box-shadow:0 0 0 5px #eaf3ff}.cx-order__info{display:flex;flex-wrap:wrap;gap:8px 16px;padding:11px 13px;border-radius:11px;color:#5f7187;background:#f5f8fb;font-size:10px}.cx-live-message{margin-top:10px;padding:10px 12px;border-right:3px solid #1769e0;border-radius:10px;color:#28557f;background:#edf6ff;font-size:10px;line-height:1.8}.cx-tech-assigned{display:flex;align-items:center;gap:11px;margin-top:11px;padding:12px;border:1px solid #ccecdf;border-radius:13px;background:#effbf6}.cx-tech-assigned__avatar{width:43px;height:43px;display:grid;place-items:center;border-radius:13px;color:#0c7b55;background:#d4f7e9;font-weight:900}.cx-tech-assigned>div:nth-child(2){display:grid;gap:2px}.cx-tech-assigned small,.cx-tech-assigned span{color:#6d8a7f;font-size:9px}.cx-tech-assigned b{font-size:12px}.cx-tech-assigned a{margin-right:auto;padding:8px 10px;border-radius:9px;color:#0c8159;background:#d9f8eb;font-size:9px;font-weight:800}.cx-price{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:11px;padding:12px;border:1px solid #dbe8f6;border-radius:12px;background:#f3f8ff}.cx-price>div{display:grid;gap:2px}.cx-price small,.cx-price span{color:#718198;font-size:9px}.cx-price b{color:#1769e0;font-size:14px}.cx-order__actions{display:flex;align-items:center;gap:8px;margin-top:13px}.cx-order__actions form{display:flex;gap:8px;flex-wrap:wrap;margin:0}.cx-empty{padding:34px 15px;text-align:center}.cx-empty>div{width:55px;height:55px;margin:0 auto 10px;display:grid;place-items:center;border-radius:16px;color:#1769e0;background:#eaf3ff;font-size:25px}.cx-empty b{display:block;font-size:14px}.cx-empty p{max-width:480px;margin:7px auto 14px;color:#718198;font-size:10px;line-height:1.9}.cx-empty.compact{padding:45px 15px}
.cx-services{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;padding:17px 20px 21px}.cx-services a{display:grid;justify-items:center;gap:4px;padding:14px 8px;border:1px solid var(--cx-border);border-radius:15px;color:#18344f;background:#fff;transition:.2s}.cx-services a:hover{border-color:#bcd2e8;transform:translateY(-2px);box-shadow:0 10px 24px rgba(24,63,103,.07)}.cx-services i{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#f0f6fd;font-size:20px;font-style:normal}.cx-services b{font-size:10px}.cx-services span{color:#8896a6;font-size:8px}.cx-techs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:16px 20px 20px}.cx-techs article{position:relative;display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:10px;padding:13px;border:1px solid var(--cx-border);border-radius:15px;background:#fff}.cx-tech-avatar{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;color:#116f83;background:linear-gradient(145deg,#dff1ff,#dbf8ee);font-size:16px;font-weight:900}.cx-tech-copy{display:grid;gap:2px}.cx-tech-copy b{font-size:11px}.cx-tech-copy span,.cx-tech-copy small{color:#7d8b9d;font-size:8px}.cx-techs em{position:absolute;left:10px;top:9px;color:#10a66f;font-size:7px;font-style:normal}.cx-techs button{grid-column:3;align-self:end;padding:6px 8px;border:0;border-radius:8px;color:#1769e0;background:#eaf3ff;font:inherit;font-size:8px;font-weight:800}.cx-techs--grid{grid-template-columns:repeat(4,1fr)}
.cx-wallet{overflow:hidden}.cx-wallet header{display:flex;align-items:center;justify-content:space-between;padding:18px;color:#fff;background:linear-gradient(135deg,#123a70,#1769e0)}.cx-wallet header>div{display:grid;gap:4px}.cx-wallet header small{color:#d5e6fb}.cx-wallet header strong{font-size:22px}.cx-wallet header i{width:43px;height:43px;display:grid;place-items:center;border-radius:14px;background:#ffffff1c;font-style:normal;font-size:19px}.cx-wallet>div{display:flex;justify-content:space-between;padding:13px 17px;color:#6f8093;font-size:10px}.cx-wallet>button{width:calc(100% - 30px);margin:0 15px 15px;padding:10px;border:0;border-radius:10px;color:#1769e0;background:#eaf3ff;font:inherit;font-size:9px;font-weight:800}.cx-wallet--large header{min-height:130px}.cx-next{padding:18px}.cx-next h3{margin:11px 0 5px;font-size:15px}.cx-next p{margin:0 0 14px;color:#718198;font-size:10px;line-height:1.9}.cx-next a{display:inline-flex;padding:8px 11px;border-radius:9px;color:#0c875c;background:#e3f8ef;font-size:9px;font-weight:800}.cx-alerts{padding:17px}.cx-alerts header{display:flex;align-items:center;justify-content:space-between}.cx-alerts h3{margin:0;font-size:14px}.cx-alerts header span{min-width:25px;height:25px;display:grid;place-items:center;border-radius:999px;color:#1769e0;background:#eaf3ff;font-size:9px}.cx-alerts>div{display:flex;gap:9px;margin-top:12px;padding:10px;border-radius:11px;background:#fff7e6}.cx-alerts>div i{width:24px;height:24px;display:grid;place-items:center;border-radius:8px;color:#a86a00;background:#ffe1a0;font-style:normal;font-weight:900}.cx-alerts p{margin:0;color:#715b2f;font-size:9px;line-height:1.8}.cx-muted{color:#8492a4;font-size:9px}.cx-support{display:grid;gap:12px;padding:18px;border-radius:19px;color:#fff;background:linear-gradient(135deg,#132e50,#1769e0);box-shadow:0 14px 30px rgba(19,52,92,.15)}.cx-support>div{display:grid;gap:4px}.cx-support small{color:#d4e5f8}.cx-support a{padding:9px;border:1px solid #ffffff35;border-radius:10px;color:#fff;background:#ffffff12;text-align:center;font-size:9px;font-weight:800}.cx-history{display:grid;padding:13px 20px 20px}.cx-history a{display:flex;align-items:center;justify-content:space-between;padding:13px 2px;border-bottom:1px solid #edf1f5}.cx-history a div{display:grid;gap:3px}.cx-history b{color:#18344f;font-size:11px}.cx-history span,.cx-history small{color:#7e8b9c;font-size:9px}.cx-billing-grid{display:grid;grid-template-columns:320px 1fr;gap:16px}.cx-order--compact{padding:14px}.cx-modal{position:fixed;inset:0;z-index:3000;display:none;place-items:center;padding:16px}.cx-modal.show{display:grid}.cx-modal__backdrop{position:absolute;inset:0;background:rgba(5,17,33,.62);backdrop-filter:blur(5px)}.cx-modal__dialog{position:relative;width:min(680px,100%);max-height:90vh;overflow:auto;padding:23px;border-radius:20px;background:#fff;box-shadow:0 30px 80px rgba(0,0,0,.25)}.cx-modal__close{position:absolute;left:14px;top:12px;width:34px;height:34px;border:0;border-radius:10px;background:#f0f3f7;font-size:19px;cursor:pointer}.cx-modal__dialog>span{color:#1769e0;background:#eaf3ff;padding:5px 8px;border-radius:999px;font-size:9px}.cx-modal__dialog h3{margin:12px 0 5px}.cx-modal__dialog>p{color:#718198;font-size:10px}.cx-modal__info{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin:15px 0}.cx-modal__info>div{display:grid;gap:3px;padding:11px;border-radius:11px;background:#f5f8fb}.cx-modal__info small{color:#8190a2;font-size:8px}.cx-modal__info b{font-size:10px}.cx-modal__map{height:260px;margin:12px 0;border-radius:14px;overflow:hidden;background:#eef3f7}.cx-modal__map iframe{width:100%;height:100%;border:0}.cx-map-empty{height:100%;display:grid;place-items:center;color:#718198;font-size:10px}
@media(max-width:1200px){.cx-kpis{grid-template-columns:repeat(3,1fr)}.cx-dashboard-grid{grid-template-columns:1fr}.cx-side{position:static;grid-template-columns:repeat(3,1fr)}.cx-support{grid-column:1/-1}.cx-services{grid-template-columns:repeat(3,1fr)}.cx-techs--grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){body.role-customer .content{padding:12px}.cx{gap:12px}.cx-hero{align-items:flex-start;flex-direction:column;min-height:auto;padding:22px;border-radius:20px}.cx-hero h2{font-size:22px}.cx-hero__account{width:100%;min-width:0}.cx-command{display:flex;overflow-x:auto;scrollbar-width:none;position:sticky;top:64px;z-index:20}.cx-command::-webkit-scrollbar{display:none}.cx-command button{min-width:135px}.cx-kpis{grid-template-columns:repeat(2,1fr)}.cx-side{grid-template-columns:1fr}.cx-services{grid-template-columns:repeat(2,1fr)}.cx-techs,.cx-techs--grid{grid-template-columns:1fr 1fr}.cx-card__head{align-items:flex-start;flex-direction:column}.cx-billing-grid{grid-template-columns:1fr}.cx-order__top{flex-direction:column}.cx-status{align-self:flex-start}.cx-order__actions{align-items:stretch;flex-direction:column}.cx-order__actions .cx-btn,.cx-order__actions form{width:100%}.cx-order__actions form .cx-btn{flex:1}.cx-modal__info{grid-template-columns:1fr}}
@media(max-width:520px){body.role-customer .topbar{padding:0 12px}.cx-hero{padding:18px}.cx-hero h2{font-size:19px}.cx-hero p{font-size:11px}.cx-hero__actions{display:grid;width:100%}.cx-hero__actions .cx-btn{width:100%}.cx-kpis{grid-template-columns:1fr 1fr;gap:8px}.cx-kpi{min-height:91px;padding:12px}.cx-kpi__icon{width:38px;height:38px;flex-basis:38px;font-size:17px}.cx-kpi strong{font-size:21px}.cx-kpi span{display:none}.cx-card{border-radius:16px}.cx-card__head{padding:16px 15px 0}.cx-orders{padding:13px}.cx-order{padding:13px}.cx-timeline span{display:none}.cx-timeline i{width:25px;height:25px}.cx-order__info{display:grid}.cx-tech-assigned{align-items:flex-start;flex-wrap:wrap}.cx-tech-assigned a{margin-right:54px}.cx-price{align-items:flex-start;flex-direction:column}.cx-services{padding:13px;gap:8px}.cx-techs,.cx-techs--grid{grid-template-columns:1fr;padding:13px}.cx-command{margin-inline:-12px;border-radius:0;border-inline:0}.cx-modal__dialog{padding:18px}.cx-modal__map{height:210px}}
/* v0.5.3 - customer nearby live map */
.cx-nearby-shell{overflow:visible}.cx-nearby-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(340px,.75fr);gap:18px;align-items:start}.cx-nearby-map-wrap{position:sticky;top:18px}.cx-nearby-map{height:540px;border:1px solid #d8e4f1;border-radius:20px;overflow:hidden;background:#eaf2f8;box-shadow:inset 0 0 0 1px rgba(255,255,255,.6)}.cx-map-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px;padding:10px 12px;border-radius:12px;background:#f8fafc;border:1px solid #e6edf5;font-size:11px;color:#52657a}.cx-map-legend span{display:flex;align-items:center;gap:6px}.cx-map-legend i{width:10px;height:10px;border-radius:50%;display:inline-block}.cx-map-legend .me{background:#2563eb}.cx-map-legend .online{background:#10b981}.cx-map-legend .busy{background:#f59e0b}.cx-nearby-list{display:flex;flex-direction:column;gap:10px;max-height:590px;overflow:auto;padding-left:3px}.cx-nearby-tech{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:10px;align-items:center;padding:13px;border:1px solid #e0e9f3;border-radius:16px;background:#fff;transition:.2s}.cx-nearby-tech:hover{border-color:#9ec6ff;box-shadow:0 10px 26px rgba(37,99,235,.08);transform:translateY(-1px)}.cx-nearby-tech .cx-tech-copy>div{display:flex;align-items:center;gap:6px}.cx-nearby-tech .cx-tech-copy i{font-style:normal;background:#dcfce7;color:#15803d;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:11px}.cx-distance-row{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.cx-distance-row em{font-style:normal;font-size:10px;padding:4px 7px;border-radius:999px;background:#eff6ff;color:#2563eb}.cx-distance-row .status-on{background:#ecfdf5;color:#059669}.cx-distance-row .status-busy{background:#fff7ed;color:#d97706}.cx-show-tech{border:0;border-radius:10px;padding:9px 10px;background:#eef5ff;color:#1d4ed8;font-weight:700;font-size:11px;cursor:pointer}.cx-show-tech:hover{background:#2563eb;color:#fff}.cx-map-pin-wrap{background:transparent!important;border:0!important}.cx-map-pin{width:36px;height:36px;border-radius:14px 14px 14px 3px;transform:rotate(-45deg);display:grid;place-items:center;color:#fff;border:3px solid #fff;box-shadow:0 6px 16px rgba(15,23,42,.25);font-weight:900}.cx-map-pin>*{transform:rotate(45deg)}.cx-map-pin--me{background:#2563eb}.cx-map-pin--online{background:#10b981}.cx-map-pin--busy{background:#f59e0b}.cx-map-popup{min-width:150px;display:flex;flex-direction:column;gap:5px;text-align:right}.cx-map-popup span{font-size:11px;color:#64748b}.cx-map-popup button{border:0;background:#2563eb;color:#fff;padding:6px;border-radius:8px;font-family:inherit}.leaflet-popup-content-wrapper{border-radius:14px}.leaflet-control-attribution{font-size:9px!important}
@media(max-width:980px){.cx-nearby-layout{grid-template-columns:1fr}.cx-nearby-map-wrap{position:static}.cx-nearby-map{height:420px}.cx-nearby-list{max-height:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.cx-nearby-tech{grid-template-columns:42px minmax(0,1fr)}.cx-show-tech{grid-column:1/-1}}
@media(max-width:620px){.cx-nearby-map{height:330px;border-radius:15px}.cx-nearby-list{grid-template-columns:1fr}.cx-nearby-tech{padding:11px}.cx-map-legend{gap:8px;font-size:10px}.cx-nearby-shell .cx-card__head{align-items:flex-start}.cx-nearby-shell .cx-card__head>button{white-space:nowrap}}

/* v0.5.5 real technicians + Neshan profile UI */
.cx-tech-avatar--worker{position:relative;overflow:visible;border:0;cursor:pointer;background:linear-gradient(145deg,#dcf7f3,#dcecff)!important}.cx-worker-head{position:absolute;width:16px;height:16px;border-radius:50%;background:#123a70;top:8px;left:50%;transform:translateX(-50%)}.cx-worker-body{position:absolute;width:27px;height:18px;border-radius:14px 14px 7px 7px;background:#1769e0;bottom:7px;left:50%;transform:translateX(-50%)}.cx-worker-badge{position:absolute;right:-3px;bottom:-3px;width:18px!important;height:18px!important;border:2px solid #fff;border-radius:50%;display:grid!important;place-items:center!important;background:#10b981!important;color:#fff!important;font-style:normal!important;font-size:10px!important}.cx-tech-avatar--worker.large{width:74px;height:74px;border-radius:22px}.cx-tech-avatar--worker.large .cx-worker-head{width:24px;height:24px;top:12px}.cx-tech-avatar--worker.large .cx-worker-body{width:41px;height:28px;bottom:10px}.cx-tech-actions{display:flex;flex-direction:column;gap:6px}.cx-profile-tech{border:0;border-radius:10px;padding:8px 10px;background:#ecfdf5;color:#047857;font-weight:800;font-size:10px;cursor:pointer}.cx-tech-profile-dialog{max-width:600px}.cx-tech-profile-head{display:flex;align-items:center;gap:16px;margin-bottom:18px}.cx-tech-profile-head h3{margin:8px 0 3px;font-size:22px}.cx-tech-profile-head p{margin:0;color:#64748b}.cx-tech-profile-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:15px 0}.cx-tech-profile-stats>div{display:grid;gap:5px;padding:14px;border-radius:14px;background:#f4f8fc;text-align:center}.cx-tech-profile-stats small{color:#7b8a9d}.cx-tech-profile-stats strong{font-size:14px}.cx-tech-verified{display:flex;align-items:center;gap:12px;margin:16px 0;padding:14px;border:1px solid #bdebd7;border-radius:14px;background:#ecfdf5}.cx-tech-verified>i{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#10b981;color:#fff;font-style:normal;font-weight:900}.cx-tech-verified div{display:grid;gap:3px}.cx-tech-verified span{color:#587269;font-size:10px}.cx-map-pin--tech{position:relative;border-radius:50%;transform:none}.cx-map-pin--tech .cx-worker-head{width:13px;height:13px;top:7px;background:#fff}.cx-map-pin--tech .cx-worker-body{width:24px;height:15px;bottom:7px;background:#fff}.cx-map-pin--tech i{position:absolute;right:-2px;bottom:-2px;width:15px;height:15px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#10b981;font-style:normal;font-size:9px}.cx-map-key-warning{position:absolute;z-index:600;left:12px;top:12px;max-width:300px;padding:9px 12px;border-radius:10px;background:#fff7ed;color:#9a5b00;border:1px solid #fed7aa;font-size:10px;box-shadow:0 8px 24px rgba(0,0,0,.12)}
@media(max-width:620px){.cx-tech-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.cx-tech-profile-stats{grid-template-columns:1fr 1fr}.cx-tech-profile-head{align-items:flex-start}}


/* PoshtiBam 0.6.6 - robust address result layout.
   Results are deliberately in document flow so Leaflet can never cover them. */
.form-card,.map-tools,.map-search-wrap{overflow:visible!important}
.map-search-wrap{position:relative!important;z-index:1000!important}
.map-search-results{
  position:relative!important;
  top:auto!important;right:auto!important;left:auto!important;
  width:100%!important;
  margin-top:8px!important;
  max-height:360px!important;
  overflow-y:auto!important;
  z-index:5000!important;
  isolation:isolate;
  background:#fff!important;
  border:1px solid #d7e3f2!important;
  border-radius:14px!important;
  box-shadow:0 16px 38px rgba(15,35,65,.16)!important;
}
.map-search-results[hidden]{display:none!important}
.real-map,.leaflet-container{position:relative!important;z-index:1!important}
.map-results-head{position:sticky;top:0;z-index:2;background:#f8fbff;border-bottom:1px solid #e8eef6;padding:10px 12px;display:flex;justify-content:space-between;gap:10px}
@media(max-width:760px){.map-search-results{position:relative!important;right:auto!important;left:auto!important;top:auto!important;max-height:300px!important}}
/* v0.6.8 - professional technician identity and map marker */
.cx-tech-avatar--photo{position:relative;overflow:visible;background:#fff!important;border:2px solid #fff;box-shadow:0 8px 22px rgba(15,55,85,.16);padding:0;cursor:pointer}
.cx-tech-avatar--photo img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}
.cx-tech-avatar--photo.large{width:82px;height:82px;border-radius:50%}
.cx-presence{position:absolute;left:-2px;top:-2px;width:13px;height:13px;border:3px solid #fff;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.cx-presence.online{background:#10b981}.cx-presence.busy{background:#f59e0b}
.cx-tech-map-avatar{position:relative;width:54px;height:54px;border-radius:50%;background:#fff;padding:3px;border:3px solid #fff;box-shadow:0 9px 24px rgba(15,23,42,.28)}
.cx-tech-map-avatar img{width:100%;height:100%;display:block;border-radius:50%;object-fit:cover}
.cx-tech-map-avatar:after{content:"";position:absolute;left:50%;bottom:-10px;transform:translateX(-50%) rotate(45deg);width:18px;height:18px;background:#fff;border-radius:0 0 4px 0;z-index:-1;box-shadow:5px 5px 12px rgba(15,23,42,.12)}
.cx-tech-map-avatar span{position:absolute;right:-2px;bottom:-2px;width:16px;height:16px;border:3px solid #fff;border-radius:50%}
.cx-tech-map-avatar.online span{background:#10b981}.cx-tech-map-avatar.busy span{background:#f59e0b}
.cx-map-popup{min-width:210px;gap:9px}.cx-map-popup-head{display:flex;align-items:center;gap:10px}.cx-map-popup-head img{width:44px;height:44px;border-radius:50%;border:2px solid #e7eef7}.cx-map-popup-head div{display:grid;gap:2px}.cx-map-popup-head b{font-size:13px}.cx-map-popup-head span{font-size:10px}.cx-map-popup-meta{display:flex;gap:6px}.cx-map-popup-meta span{padding:4px 7px;background:#f1f5f9;border-radius:999px;font-size:10px}

/* v0.7.0 - premium technician avatar marker */
.cx-tech-avatar--photo{width:58px;height:58px;border-radius:50%;background:#fff!important;border:3px solid #fff;box-shadow:0 9px 24px rgba(15,36,62,.22);overflow:hidden}
.cx-tech-avatar--photo img{width:112%;height:112%;max-width:none;margin:-6% 0 0 -6%;object-fit:contain;border-radius:50%;background:linear-gradient(180deg,#f8fbff,#eaf2f9)}
.cx-tech-map-avatar{width:78px;height:78px;border-radius:50%;padding:2px;border:4px solid #fff;background:#fff;box-shadow:0 12px 28px rgba(8,28,54,.32);overflow:visible}
.cx-tech-map-avatar img{width:112%;height:112%;max-width:none;margin:-7% 0 0 -6%;object-fit:contain;border-radius:50%;background:linear-gradient(180deg,#f8fbff,#edf5fa)}
.cx-tech-map-avatar:after{left:50%;bottom:-14px;width:25px;height:25px;background:#0caf72;border:4px solid #fff;border-left:0;border-top:0;border-radius:0 0 7px 0;box-shadow:7px 7px 14px rgba(15,23,42,.18)}
.cx-tech-map-avatar span{right:1px;top:1px;bottom:auto;width:19px;height:19px;border:4px solid #fff;box-shadow:0 2px 7px rgba(0,0,0,.15)}
.cx-map-popup-head img{width:58px;height:58px;object-fit:contain;background:#eef5fa;padding:2px}
@media(max-width:620px){.cx-tech-map-avatar{width:66px;height:66px}.cx-tech-avatar--photo{width:52px;height:52px}}

/* v0.7.1 - admin managed technician avatar */
.tech-avatar-admin{display:grid;grid-template-columns:220px 1fr;gap:28px;align-items:center;margin-bottom:18px}.tech-avatar-preview{display:grid;justify-items:center;gap:10px}.tech-avatar-preview img{width:170px;height:170px;object-fit:cover;border-radius:50%;border:7px solid #fff;box-shadow:0 16px 40px rgba(15,36,62,.18);background:#eef5fb}.tech-avatar-preview span{color:var(--muted);font-size:12px}.tech-avatar-form h3{margin:0 0 8px}.tech-avatar-form p{color:var(--muted);line-height:1.9}.tech-avatar-form form{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px}.tech-avatar-form input[type=file]{max-width:440px}.avatar-photo{overflow:hidden;padding:0;background:#fff}.avatar-photo img{width:100%;height:100%;object-fit:cover}.alert{padding:12px 15px;border-radius:11px;margin-bottom:14px}.alert.success{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.alert.error{background:#fff1f2;color:#be123c;border:1px solid #fecdd3}@media(max-width:700px){.tech-avatar-admin{grid-template-columns:1fr}.tech-avatar-preview img{width:140px;height:140px}.tech-avatar-form form{display:grid}.tech-avatar-form input[type=file]{max-width:none}}
.customer-track-card{border-right:4px solid #16a34a}.tracking-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.tracking-summary span{display:flex;flex-direction:column;gap:6px;padding:14px;border:1px solid #dbe7f5;border-radius:14px;background:#f8fbff}.tracking-summary b{font-size:12px;color:#64748b}.request-location-map{min-height:390px;background:#e5e7eb;border-radius:14px;overflow:hidden;position:relative;z-index:1}.request-details-grid{align-items:stretch}.request-details-grid>.card{height:100%}@media(max-width:820px){.tracking-summary{grid-template-columns:1fr}.request-location-map{min-height:300px}}

/* v0.7.3 - confirmation after customer request creation */
.cx-success-notice{margin:14px 0 12px;padding:15px 18px;border:1px solid #86efac;border-radius:16px;background:linear-gradient(135deg,#ecfdf5,#f0fdf4);display:flex;align-items:center;justify-content:space-between;gap:14px;box-shadow:0 8px 24px rgba(16,185,129,.10)}
.cx-success-notice div{display:flex;flex-direction:column;gap:4px}.cx-success-notice b{color:#047857;font-size:15px}.cx-success-notice span{color:#166534;font-size:13px}.cx-success-notice a{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:10px;background:#059669;color:#fff;text-decoration:none;font-weight:700;white-space:nowrap}
@media(max-width:700px){.cx-success-notice{align-items:stretch;flex-direction:column}.cx-success-notice a{width:100%}}


/* v0.7.4 - technician request detail workflow */
.request-detail-back{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px;padding:12px 16px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:14px;color:#1e3a8a;font-weight:700}.technician-detail-actions .accept-confirm{display:flex;flex-direction:column;gap:5px;padding:14px;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:12px}.technician-detail-actions .accept-confirm b{color:#065f46}.technician-detail-actions .accept-confirm span{font-size:12px;color:#047857}.accept-request-btn{min-height:48px;font-size:15px}.role-technician .request-details-grid{align-items:stretch}.role-technician .request-details-grid>.card{height:100%}.role-technician .request-location-map{min-height:380px}.tech-job-card__actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tech-job-card__actions .btn.primary{min-width:210px}.tech-compact-list article>.btn{white-space:nowrap}@media(max-width:760px){.request-detail-back{align-items:stretch;flex-direction:column}.tech-job-card__actions .btn.primary,.tech-compact-list article>.btn{width:100%}.role-technician .request-location-map{min-height:300px}}

/* PoshtiBam v0.8.0 customer experience */
.cx-customer-flow{direction:rtl;display:grid;grid-template-columns:repeat(8,minmax(84px,1fr));margin:20px 0 15px;overflow-x:auto;padding:6px 2px 10px}.cx-customer-flow>div{position:relative;display:grid;justify-items:center;align-content:start;gap:7px;min-width:84px;color:#98a6b5;font-size:9px;font-weight:800}.cx-customer-flow>div:before{content:"";position:absolute;left:50%;top:15px;width:100%;height:3px;background:#e3eaf1;z-index:0}.cx-customer-flow>div:last-child:before{display:none}.cx-customer-flow i{position:relative;z-index:1;width:31px;height:31px;display:grid;place-items:center;border:3px solid #e3eaf1;border-radius:50%;background:#fff;color:#8ea0b2;font-style:normal;font-weight:900}.cx-customer-flow .done{color:#08784f}.cx-customer-flow .done:before,.cx-customer-flow .done i{background:#16a876;border-color:#16a876;color:#fff}.cx-customer-flow .current{color:#1769e0}.cx-customer-flow .current:before{background:#e3eaf1}.cx-customer-flow .current i{border-color:#1769e0;color:#1769e0;box-shadow:0 0 0 5px #eaf3ff}.cx-customer-flow .future:before{background:#e3eaf1}.cx-customer-flow .future i{background:#fff;border-color:#dce5ee;color:#9aabba}@media(max-width:900px){.cx-customer-flow{grid-template-columns:repeat(8,100px);scrollbar-width:thin}}.cx-tech-profile-card{box-shadow:0 8px 22px rgba(15,118,85,.08)}.cx-tech-photo{width:54px;height:54px;object-fit:contain;border-radius:50%;background:#fff;border:2px solid #d8f4e8;padding:2px}.cx-tech-profile-card strong{color:#e29a00}.cx-price-proposal{display:block;padding:16px;border-color:#b8d8ff;background:linear-gradient(135deg,#f7fbff,#edf6ff)}.cx-price-proposal__head{display:flex;align-items:center;gap:12px}.cx-price-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;color:#1769e0;background:#dcecff;font-size:20px;font-weight:900}.cx-price-proposal p{margin:10px 0;color:#5f7187;font-size:10px;line-height:1.9}.cx-price-actions form{display:flex;gap:9px;flex-wrap:wrap}.cx-btn--large{min-width:190px;font-size:11px}.cx-approved-note{margin-top:10px;padding:10px 12px;border-radius:10px;color:#08784f;background:#dcf8eb;font-size:10px;font-weight:800}.customer-track-card--pro{border-top:4px solid #1769e0}.request-price-decision{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:16px;padding:16px;border:1px solid #b8d8ff;border-radius:14px;background:#f1f7ff}.request-price-decision>div{display:grid;gap:5px}.request-price-decision small{color:#6b7d92}.request-price-decision strong{color:#1769e0;font-size:21px}.request-price-decision p{margin:0;color:#63758a;font-size:11px}.request-price-decision form{display:flex;gap:8px;flex-wrap:wrap}.request-approved{padding:9px 12px;border-radius:10px;color:#08784f;background:#dcf8eb;font-weight:800}@media(max-width:620px){.cx-customer-flow span{font-size:8px;text-align:center}.cx-customer-flow i{width:27px;height:27px}.cx-price-actions form,.request-price-decision,.request-price-decision form{width:100%;flex-direction:column}.cx-price-actions .cx-btn,.request-price-decision .btn{width:100%}.request-price-decision{align-items:stretch}}

/* PoshtiBam v0.8.1 — professional RTL technician portal */
.tech-portal{
  direction:rtl!important;
  grid-template-columns:minmax(0,1fr) 292px!important;
  grid-template-areas:"main nav"!important;
  max-width:1580px!important;
  gap:26px!important;
  padding:24px 28px 40px!important;
}
.tech-portal__nav{
  grid-area:nav!important;
  direction:rtl!important;
  top:88px!important;
  padding:20px!important;
  border:1px solid rgba(255,255,255,.09)!important;
  border-radius:28px!important;
  background:
    radial-gradient(circle at 85% 5%,rgba(22,119,255,.20),transparent 32%),
    linear-gradient(165deg,#071426 0%,#0b2038 62%,#0b302d 100%)!important;
  box-shadow:0 24px 70px rgba(6,20,38,.24)!important;
  overflow:hidden;
}
.tech-portal__nav:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#19c37d,#1683ff);opacity:.9}
.tech-brand{padding:4px 3px 20px!important;gap:13px!important}.tech-brand__icon{width:48px!important;height:48px!important;border-radius:16px!important;box-shadow:0 10px 28px rgba(20,145,229,.28)}
.tech-brand b{font-size:17px!important}.tech-brand span{font-size:10px!important}
.tech-portal__nav nav{gap:8px!important;padding:18px 0!important}.tech-portal__nav nav a{min-height:52px!important;padding:10px 12px!important;border-radius:15px!important;background:rgba(255,255,255,.035)!important;border-color:rgba(255,255,255,.075)!important}
.tech-portal__nav nav a:hover{transform:translateX(-3px);background:rgba(255,255,255,.08)!important;border-color:rgba(74,164,255,.25)!important}.tech-portal__nav nav a.active{background:linear-gradient(135deg,#1274e8,#15aa87)!important;border-color:#4aaeff!important;box-shadow:0 12px 30px rgba(17,116,232,.28)!important}
.tech-portal__nav nav i{width:34px!important;height:34px!important;border-radius:11px!important;background:rgba(255,255,255,.08)!important}.tech-portal__nav nav span{font-size:12.5px!important}.tech-online-card{padding:14px!important;border-radius:16px!important;background:rgba(2,13,28,.52)!important}
.tech-portal__main{grid-area:main!important;direction:rtl!important;gap:18px!important}
.tech-topbar{position:relative;overflow:hidden;padding:26px 28px!important;border-radius:24px!important;background:linear-gradient(135deg,#fff 0%,#f7fbff 52%,#eef9f7 100%)!important;border:1px solid #dce8f4!important;box-shadow:0 12px 38px rgba(16,45,78,.07)!important}
.tech-topbar:after{content:"";position:absolute;left:-55px;top:-85px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(26,132,255,.14),transparent 65%)}
.tech-topbar h2{font-size:27px!important;letter-spacing:-.4px}.tech-topbar p{font-size:11.5px!important;line-height:1.9}.tech-kicker{background:linear-gradient(135deg,#e5f2ff,#e5fff5)!important;color:#0d6fbd!important;padding:6px 11px!important}
.tech-topbar__profile{position:relative;z-index:1;padding:10px 12px;border:1px solid #e0eaf4;border-radius:17px;background:rgba(255,255,255,.82);box-shadow:0 8px 24px rgba(27,63,101,.06)}
.tech-verification,.tech-notice,.tech-panel,.tech-jobs-panel,.tech-work-form,.tech-docs,.wallet-stat,.support-grid .card{border:1px solid #dfe9f3!important;box-shadow:0 10px 30px rgba(16,43,74,.055)!important}
.tech-verification{border-radius:22px!important;padding:23px!important}.tech-notice{border-radius:18px!important}.verified-icon{border-radius:17px!important;box-shadow:inset 0 0 0 1px #c9f0d7}
.tech-kpis{gap:13px!important}.tech-kpis article{position:relative;overflow:hidden;min-height:98px!important;border-radius:18px!important;padding:17px!important;transition:.2s ease}.tech-kpis article:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(20,55,94,.10)}.tech-kpis article:after{content:"";position:absolute;right:0;bottom:0;width:100%;height:3px;background:linear-gradient(90deg,#1777ef,#19b986)}
.tech-kpis i{width:47px!important;height:47px!important;border-radius:15px!important;font-size:18px}.tech-kpis span{font-size:9.5px!important}.tech-kpis b{font-size:15px!important}
.tech-dashboard-grid{gap:18px!important}.tech-panel{border-radius:22px!important;padding:21px!important}.section-head{align-items:flex-start}.section-head h3{font-size:17px!important}.section-head p{line-height:1.9}.tech-compact-list article{border-radius:15px!important;padding:14px!important;background:linear-gradient(180deg,#fff,#fbfdff)}
.tech-job-card{border-radius:19px!important;padding:20px!important;box-shadow:0 7px 22px rgba(20,48,80,.045);transition:.2s ease}.tech-job-card:hover{transform:translateY(-2px);border-color:#bcd7f2!important;box-shadow:0 14px 32px rgba(20,48,80,.085)}.tech-job-card__meta{border:1px solid #e6edf4}.tech-job-card__actions .btn.primary{min-height:42px;padding-inline:18px}
.tech-mobile-nav{display:none}

@media(max-width:1100px){
  .tech-portal{grid-template-columns:1fr!important;grid-template-areas:"main"!important;padding:16px 16px 92px!important}
  .tech-portal__nav{display:none!important}
  .tech-mobile-nav{position:fixed;z-index:9998;right:12px;left:12px;bottom:10px;display:grid;grid-template-columns:repeat(5,1fr);align-items:end;padding:8px 8px 7px;border:1px solid rgba(255,255,255,.14);border-radius:23px;background:rgba(7,24,43,.96);box-shadow:0 16px 50px rgba(2,14,29,.32);backdrop-filter:blur(16px);direction:rtl}
  .tech-mobile-nav a{position:relative;display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:52px;border-radius:15px;color:#aebed0;font-size:9px;font-weight:800;text-decoration:none}.tech-mobile-nav a i{font-style:normal;font-size:18px}.tech-mobile-nav a.active{color:#fff;background:linear-gradient(135deg,rgba(22,119,255,.92),rgba(18,172,126,.92))}.tech-mobile-nav a em{position:absolute;top:2px;right:calc(50% + 7px);min-width:17px;height:17px;padding:0 4px;display:grid;place-items:center;border-radius:99px;background:#ff4d67;color:#fff;font-size:8px;font-style:normal}.tech-mobile-nav__main{transform:translateY(-8px);box-shadow:0 10px 25px rgba(22,119,255,.28)}
  .tech-topbar{padding:21px!important}.tech-topbar h2{font-size:23px!important}.tech-kpis{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:720px){
  .tech-portal{padding:10px 10px 88px!important;gap:12px!important}.tech-topbar{padding:18px!important;border-radius:20px!important}.tech-topbar__profile{width:100%;grid-template-columns:1fr 46px!important;text-align:right!important}.tech-topbar__profile>div{width:46px!important;height:46px!important}.tech-verification{grid-template-columns:1fr!important;padding:17px!important}.tech-verification>.btn{width:100%}.verify-steps{overflow:auto;flex-wrap:nowrap!important;padding-bottom:4px}.verify-steps span{white-space:nowrap}.tech-notice{align-items:flex-start!important;gap:10px;padding:15px!important}.tech-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}.tech-kpis article{min-height:88px!important;padding:13px!important}.tech-kpis article:last-child{grid-column:1/-1}.tech-dashboard-grid{grid-template-columns:1fr!important}.tech-panel,.tech-jobs-panel,.tech-work-form,.tech-docs{padding:15px!important;border-radius:18px!important}.tech-compact-list article{align-items:stretch!important;flex-direction:column!important}.tech-compact-list .btn{width:100%}.tech-job-card{padding:15px!important}.tech-job-card__meta{display:grid!important;grid-template-columns:1fr!important}.form-grid.two,.skill-grid,.wallet-grid,.support-grid{grid-template-columns:1fr!important}.wallet-hero{grid-column:auto!important}.payment-row{grid-template-columns:1fr 1fr!important}.payment-row.head{display:none}.tech-mobile-nav{right:7px;left:7px;bottom:7px;border-radius:20px}.tech-mobile-nav a span{font-size:8px}
}
@media(max-width:420px){.tech-kpis{grid-template-columns:1fr!important}.tech-kpis article:last-child{grid-column:auto}.tech-topbar h2{font-size:21px!important}.tech-topbar p{font-size:10px!important}.tech-mobile-nav{padding-inline:4px}.tech-mobile-nav a{min-height:49px}.tech-mobile-nav a i{font-size:16px}}

/* PoshtiBam v0.8.2 — rebuilt technician dashboard layout */
body.role-technician .content{width:100%;max-width:none;padding:24px 28px 44px;overflow:visible}
.tech-portal{
  width:100%!important;
  max-width:1580px!important;
  margin:0 auto!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 292px!important;
  grid-template-areas:"main nav"!important;
  gap:26px!important;
  align-items:start!important;
  direction:ltr!important;
  position:relative!important;
}
.tech-portal__main{
  grid-area:main!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  position:relative!important;
  z-index:1!important;
  direction:rtl!important;
  text-align:right!important;
  display:grid!important;
  gap:18px!important;
}
.tech-portal__nav{
  grid-area:nav!important;
  width:292px!important;
  min-width:292px!important;
  max-width:292px!important;
  margin:0!important;
  position:sticky!important;
  top:88px!important;
  right:auto!important;
  left:auto!important;
  transform:none!important;
  z-index:20!important;
  direction:rtl!important;
  align-self:start!important;
}
.tech-topbar{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:24px!important;
  position:relative!important;
  inset:auto!important;
  transform:none!important;
}
.tech-topbar>div:first-child{min-width:0!important;position:relative!important;z-index:2!important}
.tech-topbar__profile{
  width:auto!important;
  min-width:190px!important;
  max-width:260px!important;
  margin:0!important;
  position:relative!important;
  inset:auto!important;
  transform:none!important;
  align-self:center!important;
  justify-self:end!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 50px!important;
  grid-template-rows:auto auto!important;
  direction:rtl!important;
  text-align:right!important;
}
.tech-topbar__profile>div{grid-column:2!important;grid-row:1/3!important}
.tech-topbar__profile span,.tech-topbar__profile small{grid-column:1!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tech-verification,.tech-notice,.tech-kpis,.tech-dashboard-grid,.tech-jobs-panel,.tech-work-form,.tech-docs,.wallet-grid,.support-grid{width:100%!important;min-width:0!important;margin:0!important;position:relative!important;inset:auto!important;transform:none!important}
.tech-kpis{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.tech-kpis article{min-width:0!important}
.tech-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.tech-panel{min-width:0!important}
.tech-mobile-nav{display:none!important}

@media(max-width:1180px){
  body.role-technician .content{padding:18px 18px 96px}
  .tech-portal{grid-template-columns:1fr!important;grid-template-areas:"main"!important;gap:16px!important}
  .tech-portal__nav{display:none!important}
  .tech-mobile-nav{position:fixed!important;z-index:9998!important;right:12px!important;left:12px!important;bottom:10px!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;direction:rtl!important}
  .tech-kpis{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:760px){
  body.role-technician .content{padding:10px 10px 90px}
  .tech-topbar{grid-template-columns:1fr!important;padding:18px!important;gap:16px!important}
  .tech-topbar__profile{justify-self:stretch!important;width:100%!important;max-width:none!important;min-width:0!important}
  .tech-verification{grid-template-columns:1fr!important}
  .tech-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .tech-dashboard-grid{grid-template-columns:1fr!important}
}
@media(max-width:440px){
  .tech-kpis{grid-template-columns:1fr!important}
  .tech-mobile-nav{right:6px!important;left:6px!important;bottom:6px!important}
}
/* v0.8.3 - real technician verification workflow */
.status.warning{background:#fff7df;color:#9a6500;border:1px solid #f1d58a}.status.danger,.btn.danger{background:#fff0f0;color:#b42318;border:1px solid #f3b5b0}.btn.danger{background:#dc2626;color:#fff}
.docs-submit-form{display:grid;gap:18px}.docs-submit-form h3{margin:12px 0 0}.form-help{margin:-10px 0 0;color:#64748b}.multi-skill-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.docs-upload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.docs-upload-grid label{border:1px dashed #b8c7dc;padding:16px;border-radius:14px;background:#f8fbff;display:grid;gap:8px}.docs-upload-grid small{color:#64748b}.docs-pending{text-align:center;padding:38px;background:#f3faff;border:1px solid #cfe8ff;border-radius:18px}.docs-state-icon{font-size:40px}.admin-doc-review{display:grid;gap:18px}.admin-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-profile-grid>div{padding:14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:grid;gap:5px}.admin-profile-grid span{color:#64748b;font-size:12px}.admin-profile-grid .wide{grid-column:1/-1}.admin-doc-files{display:flex;flex-wrap:wrap;gap:10px}.admin-doc-files a{padding:10px 14px;border-radius:10px;background:#eaf3ff;color:#1457b8;font-weight:700}.admin-review-actions{display:grid;grid-template-columns:1fr 1fr;gap:18px}.admin-review-actions form{padding:16px;border:1px solid #e2e8f0;border-radius:14px;display:grid;gap:12px}.admin-review-actions textarea{min-height:90px}
@media(max-width:800px){.docs-upload-grid,.admin-profile-grid,.admin-review-actions{grid-template-columns:1fr}.admin-profile-grid .wide{grid-column:auto}}

/* v0.8.4 - five-step technician verification wizard */
.docs-wizard{gap:16px!important}.docs-wizard__progress{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:10px;border:1px solid #dce7f2;border-radius:16px;background:#f8fbff;position:sticky;top:76px;z-index:8}.docs-wizard__step{border:0;background:transparent;min-height:64px;padding:8px 5px;border-radius:12px;color:#718096;display:flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;font-family:inherit}.docs-wizard__step b{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#e8eef5;color:#64748b}.docs-wizard__step span{font-size:10px;font-weight:800}.docs-wizard__step.is-active{background:#eaf3ff;color:#145ac4}.docs-wizard__step.is-active b{background:#1769e0;color:#fff;box-shadow:0 5px 14px rgba(23,105,224,.24)}.docs-wizard__step.is-done{color:#12814a}.docs-wizard__step.is-done b{background:#18a95f;color:#fff}.docs-wizard__panel{padding:22px;border:1px solid #e1e9f2;border-radius:17px;background:#fff;animation:docsWizardIn .2s ease}.docs-wizard__panel[hidden]{display:none!important}.docs-wizard__heading{margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid #edf2f7}.docs-wizard__heading span{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eaf3ff;color:#1769e0;font-size:9px;font-weight:900}.docs-wizard__heading h3{margin:9px 0 4px!important;font-size:19px}.docs-wizard__heading p{margin:0;color:#718096;font-size:11px}.docs-wizard__actions{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding-top:4px}.docs-wizard__actions [data-wizard-prev]{justify-self:start}.docs-wizard__actions [data-wizard-next]{justify-self:end}.docs-wizard__actions span{color:#718096;font-size:10px;font-weight:800}.wizard-inline-error{padding:10px 12px;border:1px solid #fecaca;border-radius:10px;background:#fff1f2;color:#be123c;font-size:11px}.docs-upload-grid label{position:relative}.docs-upload-grid label em{font-style:normal;font-size:9px;color:#1769e0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.docs-review-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.docs-review-summary article{padding:13px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}.docs-review-summary article.wide{grid-column:1/-1}.docs-review-summary span,.docs-review-summary b{display:block}.docs-review-summary span{font-size:9px;color:#718096;margin-bottom:5px}.docs-review-summary b{font-size:11px;line-height:1.8}.docs-confirm{display:flex!important;align-items:center;gap:9px;padding:13px;border:1px solid #b9e8cb;border-radius:12px;background:#f0fff5}.docs-confirm input{width:auto!important;min-height:0!important}.docs-confirm span{font-size:11px;font-weight:800}.multi-skill-grid label:has(input:checked){border-color:#22b76c;background:#effdf5;color:#0d7c45;box-shadow:0 0 0 2px rgba(34,183,108,.08)}@keyframes docsWizardIn{from{opacity:.2;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:760px){.docs-wizard__progress{grid-template-columns:repeat(5,56px);overflow-x:auto;justify-content:start;top:66px}.docs-wizard__step{min-height:54px;flex-direction:column;gap:3px}.docs-wizard__step span{font-size:7px;white-space:nowrap}.docs-wizard__panel{padding:15px}.docs-review-summary{grid-template-columns:1fr}.docs-review-summary article.wide{grid-column:auto}.docs-wizard__actions{grid-template-columns:1fr 1fr}.docs-wizard__actions span{display:none}.docs-wizard__actions .btn{width:100%;justify-self:stretch!important}}


/* v0.8.5 verification location and scalable admin queue */
.docs-location-box{margin-top:16px;padding:14px;border:1px solid #d8e6f5;border-radius:16px;background:#f8fbff;position:relative}.docs-residence-map{height:330px;border-radius:14px;overflow:hidden;margin-top:12px;z-index:1}.docs-location-box .map-search-results{position:relative;max-height:220px;overflow:auto;background:#fff;border:1px solid #dbe7f3;border-radius:12px;margin-top:8px;z-index:5}.admin-tech-table-wrap{overflow:auto}.admin-tech-table{width:100%;border-collapse:collapse;min-width:850px}.admin-tech-table th,.admin-tech-table td{padding:14px 12px;border-bottom:1px solid #e5edf5;text-align:right}.admin-tech-table th{background:#f4f8fc;color:#52657a}.btn.small{padding:8px 12px;font-size:13px}.admin-tech-queue{margin-bottom:18px}@media(max-width:720px){.docs-residence-map{height:260px}.map-search-row{display:grid;grid-template-columns:1fr 1fr}.map-search-row input{grid-column:1/-1}}

/* v0.8.8 - compact technician work-location search */
.tech-location-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin-top:7px}
.tech-location-search-row input{margin:0}
.tech-location-results{max-height:310px!important}
.tech-location-results button{min-height:58px!important;gap:2px!important;border-bottom:1px solid #eef2f7!important}
.tech-location-results button:last-child{border-bottom:0!important}
.tech-location-results button b{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tech-location-results button span{width:100%;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:760px){.tech-location-tools{grid-template-columns:1fr}.tech-location-search-row{grid-template-columns:1fr auto}.tech-location-results{position:fixed;top:110px;right:12px;left:12px;max-height:55vh!important}}

/* v0.8.9 compact residence-search dropdown */
.docs-location-box{overflow:visible!important}
.docs-location-box .map-search-results{position:absolute!important;top:76px!important;right:14px!important;left:14px!important;margin:0!important;max-height:310px!important;z-index:5000!important;padding:0!important;box-shadow:0 18px 45px rgba(15,35,65,.18)!important}
.docs-location-box .docs-map-result{min-height:58px!important}
.docs-location-box .map-search-results[hidden]{display:none!important}
@media(max-width:760px){.docs-location-box .map-search-results{position:absolute!important;top:132px!important;right:10px!important;left:10px!important;max-height:280px!important}}

/* v0.9.0 verification review workflow */
.docs-edit-form{margin-top:18px;display:flex;justify-content:center}.docs-final-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:14px 0}.docs-final-actions .btn{min-height:40px}.docs-pending .docs-grid{margin-bottom:4px}@media(max-width:680px){.docs-final-actions{grid-template-columns:1fr}}

/* v0.9.2 - approved technician full profile editing */
.docs-approved-edit-actions{margin-top:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.docs-approved-edit-actions form,.docs-approved-edit-actions button{width:100%}.docs-edit-warning{margin:12px 0 0;padding:10px 12px;border:1px solid #f2c36b;background:#fff8e8;border-radius:12px;color:#7a5200;font-size:13px;line-height:1.9}@media(max-width:720px){.docs-approved-edit-actions{grid-template-columns:1fr}}

.docs-manager-note{display:block;margin-top:14px}.docs-manager-note textarea{min-height:90px;margin-top:7px}.docs-manager-note small{display:block;margin-top:6px;color:#64748b}.admin-submission-note,.admin-location-card,.admin-change-box{margin-top:16px;border:1px solid #dbe7f3;border-radius:14px;background:#f8fbff;padding:14px}.admin-submission-note span,.admin-location-card span{display:block;color:#64748b;font-size:12px;margin-bottom:6px}.admin-location-card{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.admin-skill-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.admin-skill-chips span{background:#e9fff2;color:#087443;border:1px solid #9ce3bd;border-radius:999px;padding:6px 11px;font-weight:700;font-size:12px}.admin-change-list{display:grid;gap:10px}.admin-change-row{display:grid;grid-template-columns:180px 1fr 1fr;gap:10px;align-items:stretch}.admin-change-row>strong,.admin-change-row>div{border:1px solid #e2e8f0;border-radius:10px;padding:10px;background:#fff}.admin-change-row>div span{display:block;font-size:11px;color:#64748b;margin-bottom:5px}.admin-change-row>div:last-child{background:#fffbea;border-color:#f4d56b}@media(max-width:800px){.admin-change-row{grid-template-columns:1fr}.admin-location-card{align-items:stretch}}


/* v0.9.2.5 - unmistakable technician online/offline experience */
.portal-alert--warning{background:#fff7e6;border:1px solid #f4c66f;color:#7a4b00}
.tech-offline-banner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px 18px;margin-bottom:16px;border:1px solid #f2b84b;border-radius:16px;background:linear-gradient(135deg,#fff9e9,#fff1d0);box-shadow:0 8px 24px rgba(184,116,0,.10)}
.tech-offline-banner__icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#f59e0b;color:#fff;font-weight:900;font-size:22px}
.tech-offline-banner h3{margin:0 0 4px;color:#8a5200;font-size:18px}.tech-offline-banner p{margin:0;color:#765a2a;line-height:1.8}.tech-offline-banner form{margin:0}.tech-offline-banner .btn{white-space:nowrap}
.tech-online-card{border:1px solid rgba(42,211,150,.28);background:rgba(6,48,57,.72);border-radius:14px;padding:11px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:center;color:#fff;font-family:inherit;text-align:right}
.tech-online-card.is-offline{border-color:rgba(245,158,11,.55);background:rgba(77,45,7,.52)}
.tech-online-card .dot{width:11px;height:11px;border-radius:50%;background:#20d879;box-shadow:0 0 0 5px rgba(32,216,121,.12)}.tech-online-card.is-offline .dot{background:#f59e0b;box-shadow:0 0 0 5px rgba(245,158,11,.14)}
.tech-online-card div{display:grid;gap:2px}.tech-online-card small{font-size:9px;color:#b8d2dd;line-height:1.5}.tech-online-card button{grid-column:1/-1;border:0;border-radius:9px;padding:8px;background:rgba(255,255,255,.1);color:#fff;font:700 11px inherit;cursor:pointer}.tech-online-card.is-offline button{background:#f59e0b;color:#fff}
@media(max-width:760px){.tech-offline-banner{grid-template-columns:auto 1fr}.tech-offline-banner form{grid-column:1/-1}.tech-offline-banner .btn{width:100%}}

/* v0.9.2.6 - compact customer/technician request timeline */
.timeline-row--compact{grid-template-columns:repeat(8,minmax(88px,1fr));gap:10px}
.timeline-help{margin:14px 0 0;text-align:center;color:#64748b;font-size:13px}
@media(max-width:900px){.timeline-row--compact{grid-template-columns:repeat(4,minmax(110px,1fr));row-gap:18px}}
@media(max-width:560px){.timeline-row--compact{grid-template-columns:repeat(2,minmax(120px,1fr))}}

/* v0.9.2.7 - assigned technician identity and live work-location visibility */
.assigned-technician-card{margin-top:14px;display:grid;grid-template-columns:92px minmax(0,1fr);gap:16px;align-items:center;padding:16px;border:1px solid #b8e0ff;border-radius:16px;background:linear-gradient(135deg,#f7fbff,#eef8ff)}
.assigned-technician-avatar{width:92px;height:92px;border-radius:18px;overflow:hidden;border:3px solid #fff;box-shadow:0 8px 22px rgba(20,83,150,.16)}.assigned-technician-avatar img{width:100%;height:100%;object-fit:cover}
.assigned-technician-info h3{margin:5px 0 4px;font-size:20px}.assigned-technician-info p{margin:0;color:#64748b}.assigned-label{font-size:11px;font-weight:800;color:#1769e0}.assigned-technician-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.assigned-technician-meta span{padding:6px 9px;border-radius:999px;background:#fff;border:1px solid #d7e7f6;font-size:11px;font-weight:700}
.map-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:10px;font-size:12px}.map-legend span{display:flex;align-items:center;gap:6px}.map-legend i{width:11px;height:11px;border-radius:50%;display:inline-block}.customer-dot{background:#2f80c9}.technician-dot{background:#13a05b}.technician-map-marker span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#14a765;color:#fff;border:3px solid #fff;box-shadow:0 5px 14px rgba(0,0,0,.28);font-weight:900}
.technician-avatar-manager{margin-bottom:18px}.avatar-manager-body{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:16px;align-items:center}.avatar-manager-preview{width:120px;height:120px;border-radius:18px;overflow:hidden;border:1px solid #dbe7f3;background:#f8fafc}.avatar-manager-preview img{width:100%;height:100%;object-fit:cover}.avatar-manager-form{display:grid;gap:9px}.avatar-manager-form small{color:#64748b}
@media(max-width:720px){.assigned-technician-card{grid-template-columns:72px 1fr}.assigned-technician-avatar{width:72px;height:72px}.avatar-manager-body{grid-template-columns:1fr}.avatar-manager-preview{margin:auto}.avatar-manager-body .btn{width:100%}}

/* v0.9.2.8 — customer request tracking layout stability */
.role-customer .customer-track-card,
.role-customer .assigned-technician-card,
.role-customer .request-details-grid,
.role-customer .request-location-card,
.role-customer .timeline{width:100%;max-width:100%;box-sizing:border-box;clear:both}
.role-customer .assigned-technician-card{min-height:0}
.role-customer .request-details-grid{grid-auto-rows:auto}
.role-customer .request-details-grid>.card{min-height:0;height:auto}
.role-customer .request-location-map{height:360px;min-height:360px}
@media(max-width:900px){
  .role-customer .request-details-grid{grid-template-columns:1fr}
  .role-customer .assigned-technician-card{grid-template-columns:78px minmax(0,1fr)}
  .role-customer .assigned-technician-avatar{width:78px;height:78px}
}
@media(max-width:620px){
  .role-customer .assigned-technician-card{grid-template-columns:1fr;text-align:center}
  .role-customer .assigned-technician-avatar{margin-inline:auto}
  .role-customer .assigned-technician-meta{justify-content:center}
  .role-customer .request-location-map{height:300px;min-height:300px}
}

/* v0.9.2.9 - configurable technician map marker */
.technician-map-marker--image{background:transparent!important;border:0!important}.technician-map-marker--image span{width:46px;height:46px;padding:3px;background:#fff;border:3px solid #13a05b;border-radius:50% 50% 50% 8px;transform:rotate(-45deg);overflow:hidden;box-shadow:0 7px 18px rgba(0,0,0,.28)}.technician-map-marker--image img{width:100%;height:100%;object-fit:cover;border-radius:50%;transform:rotate(45deg)}.technician-map-icon-settings{margin-top:18px}

/* v0.9.3.1 - clear map mode selector and reliable photo marker */
.map-mode-selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.map-mode-option{display:flex;align-items:center;gap:12px;padding:16px;border:2px solid #dbe6f2;border-radius:16px;background:#fff;cursor:pointer;transition:.18s}.map-mode-option:hover{border-color:#8fc3f5;transform:translateY(-1px)}.map-mode-option.selected{border-color:#1677df;background:#eef7ff;box-shadow:0 0 0 3px rgba(22,119,223,.09)}.map-mode-option input{width:20px;height:20px;accent-color:#1677df}.map-mode-option>span:last-child{display:flex;flex-direction:column;gap:4px}.map-mode-option b{font-size:15px}.map-mode-option small{color:#6b7f93}.map-mode-icon{width:44px;height:44px;border-radius:13px;background:#e8f2fc;display:grid;place-items:center;font-size:24px}.version-diagnostic dl{display:grid;grid-template-columns:160px 1fr;gap:10px;margin:0}.version-diagnostic dt,.version-diagnostic dd{padding:10px;border-bottom:1px solid #edf2f7;margin:0}.technician-map-marker--image span{width:54px!important;height:54px!important;padding:3px!important}.technician-map-marker--image img{display:block!important;background:#fff}.technician-map-icon-settings[hidden]{display:none!important}@media(max-width:760px){.map-mode-selector{grid-template-columns:1fr}.version-diagnostic dl{grid-template-columns:1fr}.version-diagnostic dt{padding-bottom:0;border-bottom:0}.version-diagnostic dd{padding-top:0}}
/* v0.9.3.2: render selected technician image directly as the Leaflet marker */
.technician-photo-leaflet-marker{
  width:62px!important;height:62px!important;object-fit:cover!important;
  border:4px solid #12a365!important;border-radius:50%!important;
  background:#fff!important;box-shadow:0 8px 22px rgba(0,0,0,.32)!important;
  padding:2px!important;box-sizing:border-box!important;
}

/* v0.9.3.5 - customer price approval workflow */
.price-approval-box{display:flex;flex-direction:column;gap:14px;padding:8px 2px}.price-approval-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid #bfdbfe;background:#eff6ff;border-radius:14px}.price-approval-head span{font-weight:700}.price-approval-head b{font-size:1.15rem;color:#1456b8}.customer-price-actions{display:flex;gap:10px;flex-wrap:wrap}.customer-price-actions .btn{min-height:44px;flex:1}.btn.danger{background:#dc2626;color:#fff;border-color:#dc2626}.btn.danger:hover{background:#b91c1c}.customer-request-actions .empty-state{min-height:150px}
@media(max-width:720px){.price-approval-head{align-items:flex-start;flex-direction:column}.customer-price-actions{flex-direction:column}.customer-price-actions .btn{width:100%}}

/* v0.9.3.6 - itemized invoice, advance and final payment */
.invoice-builder{border:1px solid #d8e7fb;border-radius:16px;padding:14px;background:#f8fbff;display:grid;gap:12px}.invoice-builder.compact{margin-bottom:14px}.invoice-rows{display:grid;gap:8px}.invoice-row{display:grid;grid-template-columns:minmax(220px,2fr) 90px minmax(160px,1fr) auto;gap:8px;align-items:center}.invoice-row input{width:100%}.invoice-live-total{padding:10px 12px;border-radius:10px;background:#eaf4ff;color:#124b8f}.invoice-card .invoice-grand-total{font-size:20px;color:#0b66d6}.invoice-table th,.invoice-table td{text-align:right}.invoice-summary{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.invoice-summary span{background:#f2f7fd;border:1px solid #dce9f8;border-radius:10px;padding:9px 12px}.payment-box{border-color:#7ec5ff;background:#f2f9ff}@media(max-width:900px){.invoice-row{grid-template-columns:1fr 80px}.invoice-row input[inputmode="numeric"]{grid-column:1}.invoice-row .btn{grid-column:2}.invoice-summary{display:grid;grid-template-columns:1fr 1fr}}

/* v0.9.3.8 invoice UX */
.invoice-row{grid-template-columns:minmax(160px,2fr) minmax(70px,.6fr) minmax(130px,1fr) minmax(125px,.9fr) auto!important;align-items:center}.invoice-row:has(select[name="extra_kind"]){grid-template-columns:130px minmax(150px,2fr) 70px 130px 125px auto!important}.line-total{font-weight:800;color:#0f4fa8;background:#eef6ff;border:1px solid #cfe2ff;border-radius:10px;padding:10px;text-align:center;white-space:nowrap}.notice.warn{background:#fff7df;border:1px solid #f1cf6b;color:#7a5600;padding:14px;border-radius:12px}@media(max-width:900px){.invoice-row,.invoice-row:has(select[name="extra_kind"]){grid-template-columns:1fr 1fr!important}.line-total{grid-column:1/-1}}

/* v0.9.3.13 - definitive RTL customer dashboard timeline connectors */
.cx-timeline{
  direction:rtl;
  grid-template-columns:repeat(8,minmax(72px,1fr))!important;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:thin;
  padding:2px 0 8px;
}
.cx-timeline>div:before{
  right:auto!important;
  left:50%!important;
  width:100%!important;
  top:14px!important;
}
.cx-timeline>div:first-child:before{display:block!important}
.cx-timeline>div:last-child:before{display:none!important}
.cx-timeline>div.done:before{background:#16a876!important}
.cx-timeline>div.current:before{background:#e3eaf1!important}
.cx-timeline>div.current.done:before{background:#16a876!important}
.cx-timeline>div:not(.done):not(.current):before{background:#e3eaf1!important}
@media(max-width:900px){
  .cx-timeline{grid-template-columns:repeat(8,minmax(92px,1fr))!important}
}

/* v0.9.3.14 - actual customer dashboard RTL timeline connector fix */
.cx-customer-flow>div:before{
  left:auto!important;
  right:50%!important;
  width:100%!important;
  top:15px!important;
}
.cx-customer-flow>div:first-child:before{display:block!important}
.cx-customer-flow>div:last-child:before{display:none!important}
.cx-customer-flow>div.done:before{background:#16a876!important}
.cx-customer-flow>div.current:before{background:#e3eaf1!important}
.cx-customer-flow>div.future:before{background:#e3eaf1!important}


/* v0.9.3.15 - request details completed-stage visualization */
.request-public-timeline .step i{display:grid;place-items:center;color:#fff;font-style:normal;font-weight:900;font-size:10px;z-index:2}
.request-public-timeline .step.done i{background:#16a876!important;box-shadow:0 0 0 4px #e8faf3}
.request-public-timeline .step.done span{color:#0b7b55!important;font-weight:800}
.request-public-timeline .step.done:before{background:#16a876!important}
.request-public-timeline .step.current i{background:var(--primary)!important;color:#fff!important;box-shadow:0 0 0 6px #dbe9ff!important}
.request-public-timeline .step.current span{color:var(--primary)!important;font-weight:800}
.request-public-timeline .step.future i{background:#ccd5e2!important;color:#7b8798!important}
.request-public-timeline .step.future span{color:var(--muted)!important}
.request-public-timeline .step.future:before{background:#dce3ed!important}

/* v0.9.3.16 - unified technician panel for admin preview */
body.technician-panel-preview .sidebar{display:none!important}
body.technician-panel-preview .app>main{margin-right:0!important;width:100%!important}
body.technician-panel-preview .topbar{display:none!important}
body.technician-panel-preview .content{width:100%;max-width:none;padding:24px 28px 44px;overflow:visible}
.tech-admin-preview-bar{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;margin-bottom:4px;border:1px solid #bfdbfe;border-radius:16px;background:#eff6ff;color:#1e3a8a}
.tech-admin-preview-bar>div{display:flex;flex-direction:column;gap:3px}.tech-admin-preview-bar span{font-size:12px;color:#475569}
@media(max-width:760px){body.technician-panel-preview .content{padding:10px 10px 90px}.tech-admin-preview-bar{align-items:stretch;flex-direction:column}.tech-admin-preview-bar .btn{width:100%}}

/* v0.9.3.17 - unified 8-stage request timeline in all roles */

/* v0.9.3.19: keep nearby map tiles fully visible while loading/retrying */
.cx-nearby-map .leaflet-tile-pane{opacity:1!important}.cx-nearby-map .leaflet-tile{filter:none!important}.cx-nearby-map.cx-map-loading:after{content:'در حال بارگذاری نقشه…';position:absolute;inset:auto 14px 14px auto;z-index:450;background:rgba(255,255,255,.92);border:1px solid #dbe7f3;border-radius:10px;padding:7px 10px;font-size:11px;color:#38506a;pointer-events:none}.cx-nearby-map:not(.cx-map-loading):after{display:none}

/* v0.9.3.21 - professional customer request cards */
.cx-orders--professional{gap:14px}.cx-order--professional{position:relative;overflow:hidden;padding:18px 20px 16px;border-color:#d8e5f1;box-shadow:0 7px 22px rgba(24,57,91,.055)}.cx-order--professional:hover{transform:translateY(-2px);border-color:#b9d4ee;box-shadow:0 14px 34px rgba(24,57,91,.10)}.cx-order__accent{position:absolute;right:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#1769e0,#10a66f)}.cx-order__badges{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.cx-order__date{min-width:205px;display:grid;justify-items:end;gap:4px;padding:10px 12px;border-radius:12px;background:#f5f9fd;text-align:left}.cx-order__date small{color:#7f8fa1;font-size:9px}.cx-order__date strong{direction:ltr;color:#173a5d;font-size:12px}.cx-order__date span{color:#8a98a8;font-size:8px}.cx-order__meta{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:14px}.cx-order__meta>div{display:flex;align-items:center;gap:9px;min-width:0;padding:11px 12px;border:1px solid #e4ebf2;border-radius:12px;background:#fbfdff}.cx-order__meta i{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;border-radius:10px;color:#1769e0;background:#eaf3ff;font-style:normal;font-size:11px;font-weight:900}.cx-order__meta span{display:grid;gap:3px;min-width:0}.cx-order__meta small{color:#8795a5;font-size:8px}.cx-order__meta b{overflow:hidden;color:#29445f;font-size:10px;white-space:nowrap;text-overflow:ellipsis}.cx-order__message{margin-top:11px;padding:10px 12px;border-right:3px solid #f0a126;border-radius:10px;color:#6f5527;background:#fff8e9;font-size:9px;line-height:1.8}.cx-order__footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px;padding-top:12px;border-top:1px dashed #dbe5ee}.cx-order__footer>span{color:#7c8b9c;font-size:9px;line-height:1.7}.cx-order__footer .cx-btn{white-space:nowrap}.cx-status.st-تکمیل-شده{color:#087f57;background:#e1f8ef}.cx-status.st-لغو-شده,.cx-status.st-شکایت{color:#b3261e;background:#fde9e7}.cx-status.st-در-حال-انجام,.cx-status.st-در-مسیر{color:#135fc4;background:#e8f2ff}.cx-status.st-منتظر-پرداخت{color:#8b5b00;background:#fff0cf}
@media(max-width:820px){.cx-order__date{width:100%;justify-items:start;text-align:right}.cx-order__meta{grid-template-columns:1fr}.cx-order__footer{align-items:stretch;flex-direction:column}.cx-order__footer .cx-btn{width:100%;text-align:center}}

/* v0.9.3.23 - professional technician nearby request cards */
.tech-job-list--professional{display:grid;gap:18px}
.tech-job-card--professional{position:relative;overflow:hidden;border:1px solid #cfe0f5;border-radius:20px;padding:20px;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);box-shadow:0 10px 28px rgba(15,48,87,.06)}
.tech-job-card--professional .tech-job-card__accent{position:absolute;top:0;right:0;bottom:0;width:4px;background:linear-gradient(180deg,#1677ff,#12b886)}
.tech-job-card__top{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.tech-job-card__identity{min-width:0;flex:1}.tech-job-card__badges{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.tech-job-card__identity h3{margin:0 0 6px;font-size:20px}.tech-job-card__identity p{margin:0;color:#718096}
.tech-job-card__date{min-width:180px;border-radius:14px;background:#f3f8fe;padding:12px 14px;display:flex;flex-direction:column;gap:4px}.tech-job-card__date small,.tech-job-card__date span{color:#7b8da7;font-size:11px}.tech-job-card__date strong{font-size:15px;color:#173b67;direction:ltr;text-align:right}
.tech-job-card__info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.tech-job-card__info-grid>div{display:flex;gap:10px;align-items:center;border:1px solid #dbe8f6;background:#f8fbff;border-radius:14px;padding:11px 12px;min-width:0}.tech-job-card__info-grid i{width:30px;height:30px;border-radius:10px;background:#e8f2ff;display:grid;place-items:center;font-style:normal;color:#1468cf;flex:0 0 auto}.tech-job-card__info-grid span{min-width:0;display:flex;flex-direction:column}.tech-job-card__info-grid small{color:#8493a8;font-size:11px}.tech-job-card__info-grid b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:#263b55}
.tech-job-card__description{border-right:3px solid #89bfff;background:#f7fbff;border-radius:12px;padding:11px 14px;margin:0 0 14px}.tech-job-card__description small{color:#7e91aa}.tech-job-card__description p{margin:5px 0 0;line-height:1.8;color:#34495e}
.tech-job-card--professional .tech-job-card__actions{border-top:1px dashed #d8e4f1;padding-top:14px;margin-top:14px;display:flex;justify-content:space-between;align-items:center;gap:12px}.tech-job-card--professional .tech-role-message{margin:0 0 14px}
@media(max-width:980px){.tech-job-card__info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.tech-job-card--professional{padding:15px}.tech-job-card__top{flex-direction:column}.tech-job-card__date{width:100%;min-width:0}.tech-job-card__info-grid{grid-template-columns:1fr}.tech-job-card--professional .tech-job-card__actions{align-items:stretch;flex-direction:column}.tech-job-card--professional .tech-job-card__actions .btn{width:100%;text-align:center}}

/* v0.9.3.23 professional technician navigation */
.route-start-box,.technician-navigation-panel{border:1px solid #b9d7ff;background:linear-gradient(135deg,#f7fbff,#eef7ff);border-radius:16px;padding:16px;display:grid;gap:8px}.route-start-box b{font-size:1.05rem}.route-start-box span,.navigation-panel-head p,.navigation-hint{color:#65758b;font-size:.88rem;line-height:1.8}.navigation-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.navigation-panel-head h3{margin:0 0 4px}.live-location-badge{white-space:nowrap;border-radius:999px;padding:7px 11px;background:#fff4d9;color:#9a6700;font-weight:800;font-size:.78rem}.live-location-badge.active{background:#dcfce7;color:#087a43}.navigation-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.navigation-stats span{background:#fff;border:1px solid #dce9f8;border-radius:12px;padding:11px;display:grid;gap:5px}.navigation-stats small{color:#708096}.navigation-stats b{font-size:.93rem}.navigation-actions{display:flex;flex-wrap:wrap;gap:8px}.map-provider{color:#fff!important;border:none!important}.map-provider.google{background:#1a73e8}.map-provider.waze{background:#18a7c8}.map-provider.neshan{background:#16a085}.map-provider.balad{background:#6c5ce7}.arrive-button{margin-top:4px}@media(max-width:760px){.navigation-panel-head{display:grid}.navigation-stats{grid-template-columns:1fr}.navigation-actions .btn{flex:1 1 45%;text-align:center}}

/* v0.9.3.27 full-screen technician navigation */
.navigation-quick-actions{display:flex;flex-wrap:wrap;gap:8px}
.navigation-fullscreen{position:fixed;inset:0;z-index:99999;background:#eef4fb;display:grid;grid-template-rows:auto 1fr auto;direction:rtl;overflow:hidden}
.navigation-fullscreen[hidden]{display:none!important}
.navigation-fs-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#0d2748;color:#fff;box-shadow:0 4px 16px #0b234540}
.navigation-fs-head h2{margin:0;font-size:1.15rem}.navigation-fs-head small{opacity:.78}.navigation-fs-close{background:#ffffff18!important;color:#fff!important;border-color:#ffffff35!important}
.navigation-fs-body{position:relative;min-height:0}.navigation-fs-map{height:100%;width:100%;background:#dfe8f2}
.navigation-fs-card{position:absolute;top:14px;right:14px;width:min(390px,calc(100% - 28px));background:#ffffffef;backdrop-filter:blur(9px);border:1px solid #cfe0f2;border-radius:18px;padding:14px;box-shadow:0 14px 38px #17365d38;display:grid;gap:10px}
.navigation-fs-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.navigation-fs-stats span{background:#f5f9fe;border:1px solid #dce9f6;border-radius:11px;padding:9px 7px;text-align:center}.navigation-fs-stats small{display:block;color:#718096;font-size:.68rem}.navigation-fs-stats b{font-size:.82rem}
.navigation-fs-progress{height:7px;background:#dfe8f2;border-radius:99px;overflow:hidden}.navigation-fs-progress i{display:block;height:100%;width:20%;background:linear-gradient(90deg,#16a085,#1a73e8);transition:width .5s}
.navigation-fs-foot{display:flex;gap:8px;flex-wrap:wrap;padding:10px 14px;background:#fff;border-top:1px solid #dbe7f3}.navigation-fs-foot .btn{flex:1 1 120px;text-align:center}
body.navigation-open{overflow:hidden}
@media(max-width:700px){.navigation-fs-card{top:auto;bottom:12px}.navigation-fs-stats{grid-template-columns:repeat(2,1fr)}.navigation-fs-head{padding:10px}.navigation-fs-foot{padding-bottom:max(10px,env(safe-area-inset-bottom))}}

/* v0.9.3.29 provider-aware navigation feedback */
.navigation-provider-toast{position:fixed;z-index:100000;left:50%;bottom:86px;transform:translateX(-50%);max-width:min(92vw,760px);padding:12px 18px;border-radius:12px;background:#0f2c4c;color:#fff;box-shadow:0 10px 32px rgba(0,0,0,.22);font-size:14px;line-height:1.8;text-align:center}.navigation-provider-toast.warn{background:#8a4b08}.navigation-provider-toast.info{background:#0f4c81}.navigation-provider-toast[hidden]{display:none}.navigation-fs-foot .map-provider[title]{cursor:pointer}

/* v0.9.3.35 navigation action emphasis */
.navigation-actions .nav-start,.navigation-fs-foot .nav-start{font-weight:800;box-shadow:0 8px 22px rgba(15,76,160,.18);border:0}
.navigation-actions .nav-start.neshan,.navigation-fs-foot .nav-start.neshan{background:linear-gradient(135deg,#0da67f,#0b8f70);color:#fff}
.navigation-actions .map-provider.balad,.navigation-fs-foot .map-provider.balad{background:#6f58df;color:#fff;opacity:.9}
.navigation-hint{line-height:2}


/* Build proof v0.9.3.36 */
.build-badge{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;background:#0f766e;color:#fff;font-size:12px;font-weight:800;white-space:nowrap;box-shadow:0 4px 14px rgba(15,118,110,.22)}
.request-build-proof{margin:0 0 14px;padding:9px 14px;border:1px solid #86efac;border-radius:10px;background:#f0fdf4;color:#166534;font-size:12px;font-weight:800;text-align:center;direction:ltr}
@media(max-width:760px){.build-badge{font-size:10px;padding:6px 8px}.request-build-proof{font-size:10px}}


/* v0.9.3.37 stable technician sidebar + secure logout */
@media (min-width:1201px){
  .tech-portal__nav{
    top:20px!important;
    height:calc(100vh - 40px)!important;
    max-height:calc(100vh - 40px)!important;
    min-height:620px;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    align-self:start!important;
  }
  .tech-portal__nav nav{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:14px 3px 12px 0!important;
    scrollbar-width:thin;
    scrollbar-color:rgba(255,255,255,.28) transparent;
  }
  .tech-portal__nav nav::-webkit-scrollbar{width:5px}
  .tech-portal__nav nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.28);border-radius:99px}
  .tech-portal__nav nav a{flex:0 0 auto!important}
}
.tech-nav-footer{display:grid;gap:9px;flex:0 0 auto;padding-top:10px;border-top:1px solid rgba(255,255,255,.08)}
.tech-logout{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 12px;border:1px solid rgba(248,113,113,.30);border-radius:14px;background:rgba(127,29,29,.18);color:#fff!important;text-decoration:none;transition:.18s}
.tech-logout:hover{background:rgba(185,28,28,.28);border-color:rgba(252,165,165,.55);transform:translateY(-1px)}
.tech-logout>i{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:rgba(248,113,113,.14);font-style:normal;font-size:18px}
.tech-logout>span{display:grid;gap:2px}.tech-logout b{font-size:11px}.tech-logout small{font-size:8.5px;color:#f5c2c2}
@media(max-width:1200px){.tech-nav-footer{display:none}}
