/**/#dm .dmSocialHub:not(.gapSpacing) .socialHubInnerDiv a:not(:last-child){margin-right:5px}.socialHubIcon{display:flex!important;align-items:center;justify-content:center}.socialHubIcon svg{fill:currentColor;width:80%;height:80%}
.socialHubIcon.style1,.socialHubIcon.style4,.socialHubIcon.style6,.socialHubIcon.style7{background:#617379}.socialHubIcon.style7{box-shadow:0 5px 0 0 #475459}.style1.dmSocialTiktok,.style4.dmSocialTiktok{background:#000}
.style1.dmSocialFacebook,.style4.dmSocialFacebook{background:#1877f2}.style1.dmSocialTwitter,.style4.dmSocialTwitter{background:#0f1419}.style1.dmSocialGooglePlus,.style4.dmSocialGooglePlus{background:#da4835}
.style1.dmSocialInstagram,.style4.dmSocialInstagram{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)!important}.style1.dmSocialYoutube,.style4.dmSocialYoutube{background:red}
.style1.dmSocialLinkedin,.style4.dmSocialLinkedin{background:#2867b2}.style1.dmSocialYelp,.style4.dmSocialYelp{background:#e43340}.style1.dmSocialPinterest,.style4.dmSocialPinterest{background:#c8232c}
.style1.dmSocialVimeo,.style4.dmSocialVimeo{background:#1ab7ea}.style1.dmSocialPicasa,.style4.dmSocialPicasa{background:#be81d1}.style1.dmSocialFoursquare,.style4.dmSocialFoursquare{background:#ef4b78}
.style1.dmSocialRss,.style4.dmSocialRss{background:#f39200}.style1.dmSocialReddit,.style4.dmSocialReddit{background:#ff4500}.style1.dmSocialEmail,.style4.dmSocialEmail{background:#617379}.style1.dmSocialSnapchat,.style4.dmSocialSnapchat{background:#fffc00}
.style1.dmSocialTripadvisor,.style4.dmSocialTripadvisor{background:#589442}.style1.dmSocialWaze,.style4.dmSocialWaze{background:#56cbe7}.style1.dmSocialGoogleMyBusiness,.style4.dmSocialGoogleMyBusiness{background:#477cdf}
.style1.dmSocialWhatsapp,.style4.dmSocialWhatsapp{background:#25d366}.style1.dmSocialPhone,.style4.dmSocialPhone{background:#616c79}.style1:after{content:"";width:44px;height:28px;display:block;position:absolute;top:0;left:0;z-index:-1;border-radius:10px}
.style1.dmSocialEmail:after,.style1.dmSocialFacebook:after,.style1.dmSocialFoursquare:after,.style1.dmSocialGoogleMyBusiness:after,.style1.dmSocialGooglePlus:after,.style1.dmSocialInstagram:after,.style1.dmSocialLinkedin:after,.style1.dmSocialPhone:after,.style1.dmSocialPicasa:after,.style1.dmSocialPinterest:after,.style1.dmSocialReddit:after,.style1.dmSocialRss:after,.style1.dmSocialSnapchat:after,.style1.dmSocialTripadvisor:after,.style1.dmSocialTwitter:after,.style1.dmSocialVimeo:after,.style1.dmSocialYelp:after,.style1.dmSocialYoutube:after{background:#fff;opacity:.2}
.style2.dmSocialTiktok{color:#000}.style2.dmSocialFacebook{color:#1877f2}.style2.dmSocialTwitter{color:#0f1419}.style2.dmSocialGooglePlus{color:#da4835}.style2.dmSocialInstagram:before{background-image:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)!important;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.style2.dmSocialYoutube{color:red}.style2.dmSocialLinkedin{color:#2867b2}.style2.dmSocialYelp{color:#e43340}.style2.dmSocialPinterest{color:#c8232c}.style2.dmSocialVimeo{color:#1ab7ea}.style2.dmSocialPicasa{color:#be81d1}
.style2.dmSocialFoursquare{color:#ef4b78}.style2.dmSocialRss{color:#f39200}.style2.dmSocialReddit{color:#ff4500}.style2.dmSocialEmail{color:#617379}.style2.dmSocialSnapchat{color:#fffc00}.style2.dmSocialTripadvisor{color:#589442}
.style2.dmSocialGoogleMyBusiness:before{color:#477cdf}.style2.dmSocialWaze:before{color:#56cbe7}.style2.dmSocialWhatsapp:before{color:#25d366}.style2.dmSocialPhone{color:#616c79}.style6.dmSocialTiktok{background:#000}
.style6.dmSocialFacebook{background:#1877f2}.style6.dmSocialTwitter{background:#0f1419}.style6.dmSocialGooglePlus{background:#da4835}.style6.dmSocialInstagram{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)!important}
.style6.dmSocialYoutube{background:red}.style6.dmSocialLinkedin{background:#2867b2}.style6.dmSocialYelp{background:#e43340}.style6.dmSocialPinterest{background:#c8232c}.style6.dmSocialVimeo{background:#1ab7ea}
.style6.dmSocialPicasa{background:#be81d1}.style6.dmSocialFoursquare{background:#ef4b78}.style6.dmSocialRss{background:#f39200}.style6.dmSocialReddit{background:#ff4500}.style6.dmSocialEmail{background:#617379}
.style6.dmSocialSnapchat{background:#fffc00}.style6.dmSocialTripadvisor{background:#589442}.style6.dmSocialWaze{background:#56cbe7}.style6.dmSocialGoogleMyBusiness{background:#477cdf}.style6.dmSocialWhatsapp{background:#25d366}
.style6.dmSocialPhone{background:#616c79}.style7.dmSocialTiktok{background:#000}.style7.dmSocialFacebook{background:#1877f2;box-shadow:0 5px 0 0 #4b68a5}.style7.dmSocialTwitter{background:#0f1419}.style7.dmSocialGooglePlus{background:#da4835;box-shadow:0 5px 0 0 #c44130}
.style7.dmSocialInstagram{box-shadow:0 5px 0 0 #ad2271;background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)!important}.style7.dmSocialYoutube{background:red;box-shadow:0 5px 0 0 #b3392c}
.style7.dmSocialLinkedin{background:#2867b2;box-shadow:0 5px 0 0 #1278b1}.style7.dmSocialYelp{background:#e43340;box-shadow:0 5px 0 0 #b62933}.style7.dmSocialPinterest{background:#c8232c;box-shadow:0 5px 0 0 #a21a2d}
.style7.dmSocialVimeo{background:#1ab7ea;box-shadow:0 5px 0 0 #1592bb}.style7.dmSocialPicasa{background:#be81d1;box-shadow:0 5px 0 0 #9867a7}.style7.dmSocialFoursquare{background:#ef4b78;box-shadow:0 5px 0 0 #da3b67}
.style7.dmSocialRss{background:#f39200;box-shadow:0 5px 0 0 #c27500}.style7.dmSocialReddit{background:#ff4500;box-shadow:0 5px 0 0 #ae5534}.style7.dmSocialEmail{background:#617379;box-shadow:0 5px 0 0 #475459}
.style7.dmSocialSnapchat{background:#fffc00;box-shadow:0 5px 0 0 #d1d05d}.style7.dmSocialTripadvisor{background:#589442;box-shadow:0 5px 0 0 #4e7b3e}.style7.dmSocialWaze{background:#56cbe7;box-shadow:0 5px 0 0 #475459}
.style7.dmSocialGoogleMyBusiness{background:#477cdf;box-shadow:0 5px 0 0 #475459}.style7.dmSocialWhatsapp{background:#25d366;box-shadow:0 5px 0 0 #475459}.style7.dmSocialPhone{background:#616c79;box-shadow:0 5px 0 0 #4a5458}/**/.dmSocialHub{clear:both}#dm .dmSocialHub .horizontal a,#dm .dmSocialHub.gapSpacing .socialHubWrapper{display:block}#dm .dmSocialHub.gapSpacing .socialHubInnerDiv{display:flex;flex-wrap:wrap;column-gap:5px;justify-content:center}
#dm .dmSocialHub.alignedLeft .socialHubInnerDiv,#dm .dmSocialHub.alignedLeft h3,.dmSocialHub>div.horizontal{text-align:left}#dm .dmSocialHub a{display:inline-block;text-decoration:none;margin:0;vertical-align:bottom}
#dm .dmSocialHub>h3,.dmSocialHub>div{text-align:inherit}#dm .dmSocialHub.alignedCenter .socialHubInnerDiv,#dm .dmSocialHub.alignedCenter h3{text-align:center}#dm .dmSocialHub.alignedRight .socialHubInnerDiv,#dm .dmSocialHub.alignedRight h3{text-align:right}
a span.socialHubIcon{width:44px;height:44px;font-size:27px;display:inline-block;text-align:center;margin-right:0;margin-bottom:5px;line-height:44px;box-sizing:border-box;background-image:none!important}
.socialHubIcon[class^=icon-]:before,[class*=" icon-"]:before{cursor:pointer}.socialHubIcon.style1{font-size:24px;border-radius:10px;color:#fff;position:relative;z-index:1}.socialHubIcon.style2{font-size:29px}
.socialHubIcon.style3{font-size:24px;border-radius:50%;border:3px solid #fff;color:#fff}.socialHubIcon.style4{font-size:24px;border-radius:10px;color:#fff;position:relative}.socialHubIcon.style5{color:#fff}
.socialHubIcon.style6,.socialHubIcon.style7{font-size:24px;border-radius:50%;color:#fff}.socialHubIcon.style7{border-radius:10px;position:relative;margin-bottom:10px}.socialHubIcon.style8{font-size:24px;border-radius:50%;color:#fff;background:#000}
.socialHubIcon.style9{color:#333;font-size:29px}@media(min-width:768px) and (max-width:1024px){.dmRoot #dm .dmStandardTablet .dmSocialHub.dmSocialHome .socialHubIcon{width:36px;height:36px;background-size:auto}
}#dm .dmSocialHub .socialHubWrapper{display:inline-block;max-width:100%}/**/.hamburgerButton{display:block;background-color:transparent;border:0;padding:0;margin:0}.hamburgerButton,.hamburgerButton svg{width:100%;height:100%}/**/.dmLargeBody #dm .dmRespRow .dmRespCol.large-11 .dmform[data-layout=layout-2] .dmform-wrapper .dmformsubmit.dmWidget,.dmLargeBody #dm .dmRespRow .dmRespCol.large-12 .dmform[data-layout=layout-2] .dmform-wrapper .dmformsubmit.dmWidget{width:fit-content}
#dm .dmformsubmit input[type=submit]{text-align:inherit}#dm .dm-layout-sec div.dmInner .dmform[data-layout=layout-2] .dmforminput label:not(.for-checkable),#dm div.dmInner .dmform[data-layout=layout-2] .dmforminput label:not(.for-checkable){width:75px;vertical-align:top;white-space:normal}
#dm .dmBody div.dmform[data-layout=layout-2] .dmforminput:not(.g-recaptcha):not(.frc-captcha){justify-content:flex-start!important}#dm .dm-layout-sec div.dmInner .dmform[data-layout=layout-1] .dmforminput,#dm div.dmInner .dmform[data-layout=layout-1] .dmforminput{display:block}
#dm .dm-layout-sec div.dmInner .dmform[data-layout=layout-1] .dmforminput>:not(label):not(div):not(small):not(.frc-banner),#dm div.dmInner .dmform[data-layout=layout-1] .dmforminput>:not(label):not(div):not(small):not(.frc-banner){background:0;border:2px solid #000;display:inline-block}
#dm .dm-layout-sec div.dmInner .dmform[data-layout=layout-2] .dmforminput,#dm div.dmInner .dmform[data-layout=layout-2] .dmforminput{-js-display:flex;display:flex}#dm .dm-layout-sec div.dmInner .dmform[data-layout=layout-2] .dmforminput input:not([type=checkbox]):not([type=radio]),#dm .dm-layout-sec div.dmInner .dmform[data-layout=layout-2] .dmforminput textarea,#dm div.dmInner .dmform[data-layout=layout-2] .dmforminput>input,#dm div.dmInner .dmform[data-layout=layout-2] .dmforminput>textarea{width:calc(100% - 80px)}
#dm div.dmInner .dmform[data-layout=layout-2] .dmforminput>.resizeHandler{height:100%;bottom:0}#dm .dm-layout-sec div.dmInner .dmform[data-layout=layout-3] .dmforminput,#dm div.dmInner .dmform[data-layout=layout-3] .dmforminput{margin-top:20px}
#dm .dm-layout-sec div.dmInner .dmform[data-layout=layout-3] .dmforminput>:not(label):not(div):not(small):not(.frc-banner),#dm div.dmInner .dmform[data-layout=layout-3] .dmforminput>:not(label):not(div):not(small):not(.frc-banner){background:0;border:0;border-radius:0;-webkit-appearance:none;border-bottom:1px solid;height:30px}
#dm div.dmInner .frc-captcha.dmforminput.dmRespDesignCol{border:0}#dm div.dmInner .frc-captcha.dmforminput.dmRespDesignCol .frc-banner{border:0;position:inherit}#dm div.dmInner .dmform .dmforminput .radiowrapper span{line-height:normal}
#dm div.dmInner .dmform .dmforminput .checkboxwrapper span,#dm div.dmInner .dmform .dmforminput .optinwrapper div{vertical-align:text-bottom;line-height:normal;display:inline}#dm div.dmInner .dmform .dmforminput .optinwrapper div p.rteBlock{display:inline}
#dm div.dmInner .dmform .dmforminput .horizontal.checkboxwrapper span,#dm div.dmInner .dmform .dmforminput .horizontal.optinwrapper div div,#dm div.dmInner .dmform .dmforminput .horizontal.radiowrapper span{margin:0 15px 0 3px}
#dm div.dmInner .dmform .dmforminput .horizontal{-js-display:flex;display:flex;flex-wrap:wrap}#dm div.dmInner .dmform[data-layout=layout-2] .dmforminput .horizontal{-js-display:inline-flex;display:inline-flex}
#dm div.dmInner .dmform .dmforminput .horizontal div{-js-display:flex;display:flex}#dm div.dmInner .dmform .dmforminput .horizontal input{flex-shrink:0;margin-top:.2em}#dm div.dmInner .dmform .dmforminput label[hide=true],#dm div.dmInner .native-inputs .hide-contact-input .contact-checkable-container input[type=checkbox].checkable-input,#dm div.dmInner .native-inputs .hide-contact-input .contact-checkable-container input[type=checkbox].checkable-input+span,#dm div.dmInner .native-inputs .hide-contact-input .contact-checkable-container input[type=radio].checkable-input,#dm div.dmInner .native-inputs .hide-contact-input .contact-checkable-container input[type=radio].checkable-input+span,.dmform .dmforminput[data-skip-in-editor=true]{display:none}
.dmform .dmform-field-error{display:none;color:#b00020;background-color:#fef5f5;font-size:12px;padding:6px 12px;margin-top:4px;border-radius:4px}.dmform .dmform-field-error::before{content:"";display:inline-block;width:16px;height:16px;margin-right:4px;vertical-align:text-top;background:url('data:image/svg+xml,<svgwidth="16"height="20"viewBox="001620"fill="none"xmlns="http://www.w3.org/2000/svg"><maskid="mask0_7704_320"style="mask-type:alpha"maskUnits="userSpaceOnUse"x="1"y="3"width="14"height="14"><pathd="M8.000243.33325C11.68013.3334314.66636.3203514.666310.0002C14.666113.6811.6816.66618.0002416.6663C4.3203516.66631.3334313.68011.3332510.0002C1.333256.320244.320243.333258.000243.33325ZM7.3332512.0002V13.3333H8.66626V12.0002H7.33325ZM8.000246.66626C7.633586.666267.333256.966597.333257.33325V10.0002C7.3334310.36687.6336910.66638.0002410.6663C8.3666510.66618.6660810.36678.6662610.0002V7.33325C8.666266.966698.366766.666448.000246.66626Z"fill="black"/></mask><gmask="url(%23mask0_7704_320)"><recty="2"width="16"height="16"fill="%23B00020"/></g></svg>') no-repeat center/contain;background-repeat:no-repeat;background-position:center;background-size:contain}
.dmform .inputError{outline:1px solid red!important}.dmform.required-asterisk .required>label::after{content:"*";display:inline-block;margin-inline-start:5px;color:#f11111}
.dmform .dmforminput label{display:block;overflow:hidden;text-overflow:ellipsis}.dmforminput.newLine{clear:both}.dmform .dmWidgetClear{clear:both;display:block}#dm .dmform.form-rtl-direction .dmform-title{text-align:right}
#dm .dmform.form-rtl-direction .checkboxwrapper,#dm .dmform.form-rtl-direction .dmforminput input,#dm .dmform.form-rtl-direction .optinwrapper,#dm .dmform.form-rtl-direction .radiowrapper,#dm .dmform.form-rtl-direction label,#dm .dmform.form-rtl-direction textarea{direction:rtl;text-align:right}
#dm .dmform.form-rtl-direction .checkboxwrapper,#dm .dmform.form-rtl-direction .fileUploadLink,#dm .dmform.form-rtl-direction .optinwrapper,#dm .dmform.form-rtl-direction .radiowrapper{float:right;clear:both}
#dm .dmform.form-rtl-direction .dmRespDesignRow .dmRespDesignCol{float:right;text-align:right}#dm .dmform.form-rtl-direction .dmWidget.R{float:left}.u_dm .dmform a.fileUploadLink{text-decoration:underline;cursor:pointer}
.dmform .fileUploadLink{cursor:pointer}.dmform[data-layout=layout-2] .checkboxwrapper,.dmform[data-layout=layout-2] .optinwrapper,.dmform[data-layout=layout-2] .radiowrapper{justify-content:flex-start!important;text-align:left!important;text-overflow:unset}
.dmform[data-layout=layout-2] .dmforminput label{margin-right:5px}#dmRoot.dmLargeBody #dm .dmWidget.dmformsubmit{max-width:100%;padding:0}.dmLargeBody #dm .large-3 .dmformsubmit.dmWidget,.dmLargeBody #dm .large-4 .dmformsubmit.dmWidget{width:150px}
.dmLargeBody #dm .large-10 .dmformsubmit.dmWidget,.dmLargeBody #dm .large-5 .dmformsubmit.dmWidget,.dmLargeBody #dm .large-6 .dmformsubmit.dmWidget,.dmLargeBody #dm .large-7 .dmformsubmit.dmWidget,.dmLargeBody #dm .large-8 .dmformsubmit.dmWidget,.dmLargeBody #dm .large-9 .dmformsubmit.dmWidget{width:200px}
.dmLargeBody #dm .large-11 .dmformsubmit.dmformsubmit,.dmLargeBody #dm .large-12 .dmformsubmit.dmformsubmit{width:280px}.dmMobileBody #dm .dmRespRow .dmRespCol.small-12 .dmform-wrapper .dmformsubmit{width:91%;max-width:91%;padding:0 10px;float:left}
.inFormLayoutMode .dmform.inlineEditorFormSelected .dmforminput{transition:all .1s linear}.dmMobileBody .dmform .dmforminput label{white-space:normal}.dmform .newLineButton,.dmform .resizeHandler,.dmform.inlineEditorFormSelected .large-1 .resizeHandler span.dm-icon-chevron-left,.dmform.inlineEditorFormSelected .large-12 .resizeHandler span.dm-icon-chevron-right{visibility:hidden}
.dmform.inlineEditorFormSelected .resizeHandler{visibility:visible;height:calc(100% - 30px);position:absolute;bottom:5px;right:10px;cursor:col-resize;z-index:999}.dmform.inlineEditorFormSelected .newLineButton{visibility:visible;position:absolute;left:24px;bottom:calc(50% - 22px);padding:4px;cursor:pointer}
.dmform.inlineEditorFormSelected .newLineButton:before{display:inline-block}.dmform.inlineEditorFormSelected .newLine .newLineButton:before{-webkit-transform:rotateZ(180deg)}.dmform.inlineEditorFormSelected .resizeHandler span{font-size:9px;position:relative;top:50%;margin-top:-4px;color:#666}
.dmform.inlineEditorFormSelected .resizeHandler span.dm-icon-chevron-right{margin-left:4px}.dmform.inlineEditorFormSelected .resizeHandler .handle{background-color:#666;height:100%;background:url(/editor/nee/images/common/2ColumnsArrows.png) no-repeat center 50%,url(/editor/nee/images/common/bluePic.png) repeat-y center;border-right:0;right:-5px;width:12px}
.dmform .m-recaptcha{margin-top:0;margin-bottom:10px}.dmform .grecaptcha-badge[data-style=bottomleft],.dmform .grecaptcha-badge[data-style=bottomright]{z-index:999;opacity:0}.dmform.active .grecaptcha-badge[data-style=bottomleft],.dmform.active .grecaptcha-badge[data-style=bottomright]{opacity:1}
[data-captcha-position=bottomleft] .g-recaptcha,[data-captcha-position=bottomright] .g-recaptcha{padding:0;margin:0}div.dmInner input[type=date],div.dmInner input[type=time]{font-size:16px;background-color:rgba(102,102,102,.15);border:2px solid #fff;width:100%;margin:3px 0;height:40px;padding:0 10px}
#dm div.dmInner .native-inputs .contact-checkable-container label.for-checkable{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;overflow:visible}#dm div.dmInner .native-inputs .contact-checkable-container .contact-checkable-img{margin-left:0;margin-bottom:0}
#dm div.dmInner .native-inputs .contact-checkable-container input[type=checkbox].checkable-input,#dm div.dmInner .native-inputs .contact-checkable-container input[type=radio].checkable-input{display:initial;width:1em;height:1em;margin:8px .3em 8px 0;order:1}
#dm div.dmInner .native-inputs .contact-checkable-container input[type=checkbox].checkable-input:checked~span.img-wrapper>img,#dm div.dmInner .native-inputs .contact-checkable-container input[type=radio].checkable-input:checked~span.img-wrapper>img{border:3px solid transparent}
#dm div.dmInner .native-inputs .contact-checkable-container div,#dm div.dmInner .native-inputs .contact-checkable-container span:not(.img-wrapper){order:2}#dm div.dmInner .native-inputs .contact-checkable-container span.img-wrapper{order:0;width:100%}
#dm .dmform:has(.spacing-container) .dmform-wrapper{overflow:clip}#dm .dmform:has(.spacing-container) .dmform-title.dmwidget-title{padding-inline:0;margin-block-start:0}#dm .dmform:has(.spacing-container) .spacing-container{margin:-7.5px;border:1px solid transparent;overflow:hidden}
#dm .dmform:has(.spacing-container) .spacing-container .dmforminput{margin-top:0;padding:7.5px}#dm .dmform:has(.spacing-container) .spacing-container textarea{display:block}#dm .dmform:has(.spacing-container) .spacing-container .m-recaptcha{margin-bottom:0}
#dm .dmform:has(.spacing-container) .spacing-container .g-recaptcha:has(.grecaptcha-badge:not([data-style=inline])){position:absolute}#dm .dmform:has(.spacing-container) form.dmRespDesignRow{padding:0}
#dm .dmform:has(.spacing-container) form.dmRespDesignRow .dmformsubmit{margin:0;margin-block-start:20px}#dm .dmform:is(.horizontal-alignment) form.dmRespDesignRow{display:flex;flex-direction:row;align-items:flex-end}
#dm .dmform:is(.horizontal-alignment) form.dmRespDesignRow .dmformsubmit{margin-block-end:5px}#dm .dmform:is(.horizontal-alignment).form-rtl-direction form{flex-direction:row-reverse}/**/.dmform{clear:both}.dmPageBody:not(.inputs-css-clean) div.dmInner input[type=email],.dmPageBody:not(.inputs-css-clean) div.dmInner input[type=number],.dmPageBody:not(.inputs-css-clean) div.dmInner input[type=password],.dmPageBody:not(.inputs-css-clean) div.dmInner input[type=tel],.dmPageBody:not(.inputs-css-clean) div.dmInner input[type=text],.dmPageBody:not(.inputs-css-clean) div.dmInner select,.dmPageBody:not(.inputs-css-clean) div.dmInner textarea,div.dmInner .dmform input[type=email],div.dmInner .dmform input[type=number],div.dmInner .dmform input[type=password],div.dmInner .dmform input[type=tel],div.dmInner .dmform input[type=text],div.dmInner .dmform select,div.dmInner .dmform textarea{font-size:16px;background-color:rgba(102,102,102,.15);border:2px solid #fff;width:100%;margin:3px 0;height:40px;padding:0 10px}
.dmPageBody:not(.inputs-css-clean) div.dmInner textarea,div.dmInner .dmform textarea{height:80px;padding:10px;min-height:50px}.dmPageBody:not(.inputs-css-clean) div.dmInner input[type=reset],.dmPageBody:not(.inputs-css-clean) div.dmInner input[type=submit],div.dmInner .dmform input[type=reset],div.dmInner .dmform input[type=submit]{margin:5px auto;width:100%;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;height:30px!important;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;font-size:16px;border:0;outline:0}
.dmPageBody:not(.inputs-css-clean) div.dmInner select[multiple],div.dmInner .dmform select[multiple]{height:auto}.dmPageBody:not(.inputs-css-clean) div.dmInner select option:not(:disabled),div.dmInner .dmform select option:not(:disabled){color:initial}
.dmPageBody:not(.inputs-css-clean) div.dmInner select option,div.dmInner .dmform select option{background-color:#fff}.dmforminput{text-align:left}#dm .dmform .dmformsubmit{margin:20px 15px}.dmform .dmformsubmit .R{float:right}
.dmform-title{padding-right:15px;padding-left:15px}div.dmInner .dmformsubmit input[type=submit]{height:auto!important}@media(max-width:767px){.dmRoot #dm .dmform input[type=submit]{width:100%}.dmRoot #dm .dmform.dmContactDefaultForm input[type=submit]{width:91%}
#dm .dmform-wrapper .dmformsubmit{width:91%;max-width:91%;padding:0 10px;float:left}}.dmformcaptcha,.dmforminput{margin-top:10px;padding-left:.9375em;padding-right:.9375em}.dmRoot #dm .dmRespRow .dmRespCol.large-10 .dmform-wrapper .dmformsubmit,.dmRoot #dm .dmRespRow .dmRespCol.large-5 .dmform-wrapper .dmformsubmit,.dmRoot #dm .dmRespRow .dmRespCol.large-6 .dmform-wrapper .dmformsubmit,.dmRoot #dm .dmRespRow .dmRespCol.large-7 .dmform-wrapper .dmformsubmit,.dmRoot #dm .dmRespRow .dmRespCol.large-8 .dmform-wrapper .dmformsubmit,.dmRoot #dm .dmRespRow .dmRespCol.large-9 .dmform-wrapper .dmformsubmit{min-width:200px;width:auto}
.dmRoot #dm .dmRespRow .dmRespCol.large-11 .dmform-wrapper .dmformsubmit,.dmRoot #dm .dmRespRow .dmRespCol.large-12 .dmform-wrapper .dmformsubmit{min-width:280px;width:auto}div.dmInner .filewrapper{margin:3px 0;height:40px}
#dmRoot #dm .dmWidget.dmformsubmit{max-width:100%}/**/embed,object{max-width:100%;height:100%}img{max-width:100%;-ms-interpolation-mode:bicubic;display:inline-block}textarea{height:auto;min-height:50px}select{width:100%}.text-left{text-align:left!important}
.text-right{text-align:right!important}.text-center{text-align:center!important}.text-justify{text-align:justify!important}.hide{display:none}.antialiased{-webkit-font-smoothing:antialiased}.dmRespDesignRow{position:relative;width:100%;margin:0 auto;max-width:960px;*zoom:1;padding-top:15px;padding-bottom:15px}
.dmRespDesignRow .dmRespDesignRow.collapse:after,.dmRespDesignRow .dmRespDesignRow.collapse:before,.dmRespDesignRow .dmRespDesignRow:after,.dmRespDesignRow .dmRespDesignRow:before,.dmRespDesignRow:after,.dmRespDesignRow:before{content:" ";display:table}
.dmRespDesignRow .dmRespDesignRow.collapse:after,.dmRespDesignRow .dmRespDesignRow:after,.dmRespDesignRow:after{clear:both}@media(min-width:1025px){.rows-1200 .dmRespDesignRow,.rows-1200 .dmRespRow:not(.fullBleedMode) .dmRespColsWrapper{max-width:1200px}
}.dmRespDesignRow .column,.dmRespDesignRow .dmRespDesignCol{position:relative;width:100%;display:inline-block;vertical-align:top;float:left}.dmRespDesignRow.collapse .dmRespDesignCol{position:relative;padding-left:0;padding-right:0;float:left}
.dmRespDesignRow .dmRespDesignRow{width:auto;margin-top:0;margin-bottom:0;max-width:none;*zoom:1}.dmRespDesignRow .dmRespDesignRow.collapse{width:auto;margin:0;max-width:none;*zoom:1}@media(max-width:767px){.dmRespDesignRow .dmRespDesignCol{position:relative;padding-left:15px;padding-right:15px;float:left}
.flex-element .small-3:first-child,.flex-element .small-4:first-child,.flex-element .small-6:first-child{padding-left:0}.flex-element .small-3:last-child,.flex-element .small-4:last-child,.flex-element .small-6:last-child{padding-right:0}
.dmRespDesignRow .small-1{position:relative;width:8.33333%}.dmRespDesignRow .small-2{position:relative;width:16.66667%}.dmRespDesignRow .small-3{position:relative;width:25%}.dmRespDesignRow .small-4{position:relative;width:33.33333%}
.dmRespDesignRow .small-5{position:relative;width:41.66667%}.dmRespDesignRow .small-6{position:relative;width:50%}.dmRespDesignRow .small-7{position:relative;width:58.33333%}.dmRespDesignRow .small-8{position:relative;width:66.66667%}
.dmRespDesignRow .small-9{position:relative;width:75%}.dmRespDesignRow .small-10{position:relative;width:83.33333%}.dmRespDesignRow .small-11{position:relative;width:91.66667%}.dmRespDesignRow .small-12{position:relative;width:100%}
}@media(min-width:768px) and (max-width:1024px){.dmRespDesignRow .medium-1{position:relative;width:8.33333%}.dmRespDesignRow .medium-2{position:relative;width:16.66667%}.dmRespDesignRow .medium-3{position:relative;width:25%}
.dmRespDesignRow .medium-4{position:relative;width:33.33333%}.dmRespDesignRow .medium-5{position:relative;width:41.66667%}.dmRespDesignRow .medium-6{position:relative;width:50%}.dmRespDesignRow .medium-7{position:relative;width:58.33333%}
.dmRespDesignRow .medium-8{position:relative;width:66.66667%}.dmRespDesignRow .medium-9{position:relative;width:75%}.dmRespDesignRow .medium-10{position:relative;width:83.33333%}.dmRespDesignRow .medium-11{position:relative;width:91.66667%}
.dmRespDesignRow .medium-12{position:relative;width:100%}}@media(min-width:1025px){.dmRespDesignRow .large-1{position:relative;width:8.33333%}.dmRespDesignRow .large-2{position:relative;width:16.66667%}
.dmRespDesignRow .large-3{position:relative;width:25%}.dmRespDesignRow .large-4{position:relative;width:33.33333%}.dmRespDesignRow .large-5{position:relative;width:41.66667%}.dmRespDesignRow .large-6{position:relative;width:50%}
.dmRespDesignRow .large-7{position:relative;width:58.33333%}.dmRespDesignRow .large-8{position:relative;width:66.66667%}.dmRespDesignRow .large-9{position:relative;width:75%}.dmRespDesignRow .large-10{position:relative;width:83.33333%}
.dmRespDesignRow .large-11{position:relative;width:91.66667%}.dmRespDesignRow .large-12{position:relative;width:100%}}/**/.imageWidget{position:relative}.imageWidget a,.imageWidget span.image-caption{font-style:italic;text-align:center}.imageWidget a[data-caption]::after,.imageWidget span[data-caption]::after{content:attr(data-caption);display:block;line-height:100%}
.imageWidget.with-caption a::after,.imageWidget.with-caption span.image-caption::after{margin-top:12px}.imageWidget img[width][height]{height:auto}[data-flex-site] #fcontainer .imageWidget:after,[data-flex-site] #flex-footer .imageWidget:after,[data-flex-site] #flex-header .imageWidget:after{content:none}
[data-flex-site] #fcontainer .imageWidget:before,[data-flex-site] #flex-footer .imageWidget:before,[data-flex-site] #flex-header .imageWidget:before{font-size:80px;transform:none}.imageWidget.hover img.hover-image,.imageWidget:hover img.hover-image{display:initial}
.imageWidget.hover.hasHover img:not(.hover-image),.imageWidget:hover.hasHover img:not(.hover-image){display:none!important}.imageWidget img.hover-image,.imageWidget img.logo-on-scroll{display:none}/**/.graphicWidget{width:200px;height:200px;margin:10px auto;text-align:center}.graphicWidget svg.svg{width:100%;height:100%;color:#000;fill:#000}.graphicWidgetV2{width:60px;height:60px}.graphicWidgetV3{font-size:0}/**/.dmNewParagraph[data-version] .text-align-left{text-align:left!important}.dmNewParagraph[data-version] .text-align-center{text-align:center!important}.dmNewParagraph[data-version] .text-align-right{text-align:right!important}
.dmNewParagraph[data-version] .text-align-justify{text-align:justify!important}.dmNewParagraph[data-version] .ql-indent-1{padding:0 1em;padding-inline-end:0;padding-inline-start:3em}.dmNewParagraph[data-version] .ql-indent-2{padding:0 2em;padding-inline-end:0;padding-inline-start:6em}
.dmNewParagraph[data-version] .ql-indent-3{padding:0 3em;padding-inline-end:0;padding-inline-start:9em}.dmNewParagraph[data-version] .ql-indent-4{padding:0 4em;padding-inline-end:0;padding-inline-start:12em}
.dmNewParagraph[data-version] .ql-indent-5{padding:0 5em;padding-inline-end:0;padding-inline-start:15em}.dmNewParagraph[data-version] .ql-indent-6{padding:0 6em;padding-inline-end:0;padding-inline-start:18em}
.dmNewParagraph[data-version] .ql-indent-7{padding:0 7em;padding-inline-end:0;padding-inline-start:21em}.dmNewParagraph[data-version] .ql-indent-8{padding:0 8em;padding-inline-end:0;padding-inline-start:24em}
.dmNewParagraph[data-version] .ql-indent-9{padding:0 9em;padding-inline-end:0;padding-inline-start:27em}.dmNewParagraph[data-version]{line-height:initial}.dmNewParagraph[data-version] [class*=size-]{width:auto!important;height:auto!important}
.dmNewParagraph[data-version] h1,.dmNewParagraph[data-version] h2,.dmNewParagraph[data-version] h3,.dmNewParagraph[data-version] h4,.dmNewParagraph[data-version] h5,.dmNewParagraph[data-version] h6,.dmNewParagraph[data-version] ol,.dmNewParagraph[data-version] p,.dmNewParagraph[data-version] ul{margin-top:0;margin-bottom:0}
.dmNewParagraph[data-version] ol,.dmNewParagraph[data-version] ul{padding:0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.dmNewParagraph[data-version] ol>li,.dmNewParagraph[data-version] ul>li{list-style-type:none;text-indent:-1.5em;margin:0 1em;margin-inline-end:0;margin-inline-start:2em}
.dmNewParagraph[data-version] ol>li:before,.dmNewParagraph[data-version] ul>li:before{min-width:1em;display:inline-block;margin-right:.5em;margin-inline-start:0;margin-inline-end:.5em;text-align:right;text-align:end}
.dmNewParagraph[data-version] ul .ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-1}.dmNewParagraph[data-version] ul .ql-indent-1:before{font-weight:700;content:"○"}
.dmNewParagraph[data-version] ul .ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-2}.dmNewParagraph[data-version] ul .ql-indent-2:before,.dmNewParagraph[data-version] ul .ql-indent-3:before,.dmNewParagraph[data-version] ul .ql-indent-4:before,.dmNewParagraph[data-version] ul .ql-indent-5:before,.dmNewParagraph[data-version] ul .ql-indent-6:before,.dmNewParagraph[data-version] ul .ql-indent-7:before,.dmNewParagraph[data-version] ul .ql-indent-8:before,.dmNewParagraph[data-version] ul .ql-indent-9:before{font-weight:700;content:"■"}
.dmNewParagraph[data-version] ul .ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-3}.dmNewParagraph[data-version] ul .ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9;counter-increment:list-4}
.dmNewParagraph[data-version] ul .ql-indent-5{counter-reset:list-6 list-7 list-8 list-9;counter-increment:list-5}.dmNewParagraph[data-version] ul .ql-indent-6{counter-reset:list-7 list-8 list-9;counter-increment:list-6}
.dmNewParagraph[data-version] ul .ql-indent-7{counter-reset:list-8 list-9;counter-increment:list-7}.dmNewParagraph[data-version] ul .ql-indent-8{counter-reset:list-9;counter-increment:list-8}.dmNewParagraph[data-version] ul .ql-indent-9{counter-reset:list-10 list-9;counter-increment:list-9}
.dmNewParagraph[data-version] ul>li:before{font-weight:700;content:"•";font-family:Arial}.dmNewParagraph[data-version] ul.custom-list-1>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"○";transform:scale(1);transform-origin:center right}
.dmNewParagraph[data-version] ul.custom-list-2>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"★";transform:scale(.7);transform-origin:center right}
.dmNewParagraph[data-version] ul.custom-list-3>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"➞";transform:scale(.8);transform-origin:center right}
.dmNewParagraph[data-version] ul.custom-list-4>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"＋";transform:scale(.7);transform-origin:center right}
.dmNewParagraph[data-version] ul.custom-list-5>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"－";transform:scale(.7);transform-origin:center right}
.dmNewParagraph[data-version] ul.custom-list-6>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"✓";transform:scale(.8);transform-origin:center right}
.dmNewParagraph[data-version] ul.custom-list-7>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"✗";transform:scale(.8);transform-origin:center right}
.dmNewParagraph[data-version] ol .ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-1}.dmNewParagraph[data-version] ol .ql-indent-1:before{content:counter(list-1,lower-alpha) ". "}
.dmNewParagraph[data-version] ol .ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-2}.dmNewParagraph[data-version] ol .ql-indent-2:before{content:counter(list-2,lower-roman) ". "}
.dmNewParagraph[data-version] ol .ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-3}.dmNewParagraph[data-version] ol .ql-indent-3:before{content:counter(list-3,decimal) ". "}
.dmNewParagraph[data-version] ol .ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9;counter-increment:list-4}.dmNewParagraph[data-version] ol .ql-indent-4:before{content:counter(list-4,lower-alpha) ". "}
.dmNewParagraph[data-version] ol .ql-indent-5{counter-reset:list-6 list-7 list-8 list-9;counter-increment:list-5}.dmNewParagraph[data-version] ol .ql-indent-5:before{content:counter(list-5,lower-roman) ". "}
.dmNewParagraph[data-version] ol .ql-indent-6{counter-reset:list-7 list-8 list-9;counter-increment:list-6}.dmNewParagraph[data-version] ol .ql-indent-6:before{content:counter(list-6,decimal) ". "}
.dmNewParagraph[data-version] ol .ql-indent-7{counter-reset:list-8 list-9;counter-increment:list-7}.dmNewParagraph[data-version] ol .ql-indent-7:before{content:counter(list-7,lower-alpha) ". "}
.dmNewParagraph[data-version] ol .ql-indent-8{counter-reset:list-9;counter-increment:list-8}.dmNewParagraph[data-version] ol .ql-indent-8:before{content:counter(list-8,lower-roman) ". "}
.dmNewParagraph[data-version] ol .ql-indent-9{counter-reset:list-10 list-9;counter-increment:list-9}.dmNewParagraph[data-version] ol .ql-indent-9:before{content:counter(list-9,decimal) ". "}
.dmNewParagraph[data-version] ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.dmNewParagraph[data-version] ol li:before{content:counter(list-0,decimal) ". "}
.dmNewParagraph[data-version] a{vertical-align:initial}@media(min-width:768px) and (max-width:1024px){.dmNewParagraph[data-version] .t-text-align-left{text-align:left!important}.dmNewParagraph[data-version] .t-text-align-center{text-align:center!important}
.dmNewParagraph[data-version] .t-text-align-right{text-align:right!important}.dmNewParagraph[data-version] .t-text-align-justify{text-align:justify!important}}@media(max-width:767px){.dmRoot .dmNewParagraph[data-version] .m-text-align-left{text-align:left!important}
.dmRoot .dmNewParagraph[data-version] .m-text-align-center{text-align:center!important}.dmRoot .dmNewParagraph[data-version] .m-text-align-right{text-align:right!important}.dmRoot .dmNewParagraph[data-version] .m-text-align-justify{text-align:justify!important}
}.inlineBindingLink{color:inherit!important;text-decoration:inherit!important}
/* Custom Widgets Styles */
@charset "UTF-8";
/* ═══════════════════════════════════════
   Car Detailing Tracker — CSS
   ═══════════════════════════════════════ */
.widget-3abe37 {
  --pri: #2563eb;
  --pri-dk: #1d4ed8;
  --pri-lt: #eff6ff;
  --amber: #f59e0b;
  --amber-lt: #fffbeb;
  --green: #16a34a;
  --green-lt: #f0fdf4;
  --purple: #7c3aed;
  --purple-lt: #f5f3ff;
  --rose: #e11d48;
  --rose-lt: #fff1f2;
  --danger: #dc2626;
  --text: #111827;
  --text-2: #374151;
  --text-3: #6b7280;
  --border: #e5e7eb;
  --surface: #ffffff;
  --bg: #f9fafb;
  --sidebar-w: 240px;
  --topbar-h: 60px;
  --radius: 10px;
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.08);
  --shadow-md: 0 4px 16px rgba(0,0,0,0.10);
  --shadow-lg: 0 20px 60px rgba(0,0,0,0.18);
  --focus: rgba(59,130,246,0.45);
  /* Admin dark mode tokens */
  --adm-bg: var(--bg);
  --adm-surface: var(--surface);
  --adm-text: var(--text);
  --adm-text-2: var(--text-2);
  --adm-text-3: var(--text-3);
  --adm-border: var(--border);
  --adm-shadow-sm: var(--shadow-sm);
  --adm-shadow-md: var(--shadow-md);
  /* Customer theme tokens */
  --ct-accent: #3b82f6;
  --ct-accent-2: #60a5fa;
  --ct-bg-start: #0f172a;
  --ct-bg-mid: #1e3a5f;
  --ct-bg-end: #0f172a;
  /* Customer light mode tokens (toggle) */
  --ct-light-bg-start: #f8fafc;
  --ct-light-bg-mid: #eef2ff;
  --ct-light-bg-end: #f8fafc;
  --ct-light-surface: rgba(255,255,255,0.86);
  --ct-light-border: rgba(15,23,42,0.10);
  --ct-light-text: #0f172a;
  --ct-light-text-2: rgba(15,23,42,0.72);
  --ct-light-text-3: rgba(15,23,42,0.52);
  /* Customer scheduler theme tokens (light/dark toggle) */
  --cs-bg-start: rgba(255,255,255,0.92);
  --cs-bg-mid: rgba(241,245,249,0.92);
  --cs-bg-end: rgba(255,255,255,0.92);
  --cs-surface: rgba(255,255,255,0.78);
  --cs-surface-2: rgba(248,250,252,0.82);
  --cs-border: rgba(15,23,42,0.14);
  --cs-text: #0f172a;
  --cs-text-2: rgba(15,23,42,0.74);
  --cs-text-3: rgba(15,23,42,0.52);
  --cs-muted: rgba(15,23,42,0.08);
  --cs-accent: var(--ct-accent);
  --cs-accent-2: var(--ct-accent-2);
  font-family: "Segoe UI", system-ui, -apple-system, sans-serif;
  font-size: 14px;
  color: var(--text);
  background: var(--bg);
  display: block;
  box-sizing: border-box;
}

.widget-3abe37.dark-admin {
  --adm-bg: #0b1220;
  --adm-surface: #0f172a;
  --adm-text: #e5e7eb;
  --adm-text-2: #cbd5e1;
  --adm-text-3: #94a3b8;
  --adm-border: rgba(255,255,255,0.12);
  --adm-shadow-sm: 0 1px 3px rgba(0,0,0,0.45);
  --adm-shadow-md: 0 4px 16px rgba(0,0,0,0.55);
  --focus: rgba(96,165,250,0.50);
}

.widget-3abe37.cs-dark {
  --cs-bg-start: #0b1220;
  --cs-bg-mid: #111827;
  --cs-bg-end: #0b1220;
  --cs-surface: rgba(15,23,42,0.78);
  --cs-surface-2: rgba(15,23,42,0.60);
  --cs-border: rgba(255,255,255,0.12);
  --cs-text: #ffffff;
  --cs-text-2: rgba(255,255,255,0.74);
  --cs-text-3: rgba(255,255,255,0.52);
  --cs-muted: rgba(255,255,255,0.08);
  /* Compatibility override: replace legacy dark text color (#2d2e32) with a light gray */
  --legacy-dark-text: #d1d5db;
}

/* ══════════════════════════════════════════════════════
   DARK MODE — full light-gray text override for scheduler
   Applies to every text node: headlines, sub-headlines,
   titles, labels, form fields, calendar, day panel, etc.
   ══════════════════════════════════════════════════════ */
/* Universal catch: every descendant gets light gray */
.widget-3abe37.cs-dark .customer-tracker.cs-page *,
.widget-3abe37.cs-dark .customer-tracker.cs-page {
  color: var(--legacy-dark-text) !important;
}

/* Main "Schedule Your Detail" headline stays white */
.widget-3abe37.cs-dark .customer-tracker.cs-page .cs-title {
  color: #ffffff !important;
}

/* Submit / primary action button always white-on-accent */
.widget-3abe37.cs-dark .customer-tracker.cs-page .cs-primary-btn,
.widget-3abe37.cs-dark .customer-tracker.cs-page .cs-primary-btn * {
  color: #ffffff !important;
}

/* Placeholder text slightly dimmed */
.widget-3abe37.cs-dark .customer-tracker.cs-page input::placeholder,
.widget-3abe37.cs-dark .customer-tracker.cs-page textarea::placeholder {
  color: rgba(209, 213, 219, 0.5) !important;
}

.widget-3abe37 *, .widget-3abe37 *::before, .widget-3abe37 *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

.widget-3abe37 button {
  cursor: pointer;
  font-family: inherit;
}

.widget-3abe37 input, .widget-3abe37 select, .widget-3abe37 textarea {
  font-family: inherit;
}

.widget-3abe37 :focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 2px;
}

/* ── LAYOUT ── */
.widget-3abe37 .cdt-app {
  display: flex;
  height: 100vh;
  min-height: 500px;
  overflow: hidden;
  position: relative;
}

.widget-3abe37 .admin-wrapper {
  display: flex;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

/* ── AUTH ── */
.widget-3abe37 .auth-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.65);
  z-index: 1200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}

.widget-3abe37 .auth-card {
  width: 100%;
  max-width: 420px;
  background: var(--adm-surface);
  border: 1px solid var(--adm-border);
  border-radius: 14px;
  box-shadow: var(--adm-shadow-md);
  padding: 20px 20px;
  color: var(--adm-text);
}

.widget-3abe37 .auth-title {
  font-size: 1.1rem;
  font-weight: 800;
  margin-bottom: 6px;
}

.widget-3abe37 .auth-sub {
  font-size: 0.86rem;
  color: var(--adm-text-3);
  margin-bottom: 14px;
}

.widget-3abe37 .auth-row {
  display: flex;
  gap: 8px;
}

.widget-3abe37 .auth-input {
  flex: 1;
  padding: 10px 12px;
  border: 1.5px solid var(--adm-border);
  border-radius: 10px;
  background: var(--adm-bg);
  color: var(--adm-text);
  outline: none;
}

.widget-3abe37 .auth-input:focus {
  border-color: var(--pri);
}

.widget-3abe37 .auth-btn {
  padding: 10px 14px;
  border: none;
  border-radius: 10px;
  background: var(--pri);
  color: #fff;
  font-weight: 800;
}

.widget-3abe37 .auth-btn:hover {
  background: var(--pri-dk);
}

.widget-3abe37 .auth-actions {
  margin-top: 10px;
  display: flex;
  justify-content: flex-end;
}

.widget-3abe37 .auth-secondary {
  padding: 8px 12px;
  background: transparent;
  border: 1.5px solid var(--adm-border);
  border-radius: 10px;
  color: var(--adm-text-2);
  font-weight: 800;
  font-size: 0.82rem;
}

.widget-3abe37 .auth-secondary:hover {
  background: rgba(148, 163, 184, 0.12);
}

.widget-3abe37 .auth-error {
  margin-top: 10px;
  color: #fca5a5;
  font-weight: 700;
  font-size: 0.82rem;
}

/* ── SIDEBAR ── */
.widget-3abe37 .cdt-sidebar {
  width: var(--sidebar-w);
  background: #111827;
  color: #fff;
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  z-index: 200;
  transition: transform 0.28s ease;
  overflow-y: auto;
}

.widget-3abe37 .sidebar-logo {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 18px 16px 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  flex-shrink: 0;
}

.widget-3abe37 .logo-icon {
  width: 34px;
  height: 34px;
  background: var(--pri);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.widget-3abe37 .logo-icon svg {
  width: 18px;
  height: 18px;
  color: #fff;
}

.widget-3abe37 .logo-text {
  font-size: 0.9rem;
  font-weight: 700;
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.widget-3abe37 .sidebar-nav {
  flex: 1;
  padding: 10px 8px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  overflow-y: auto;
}

.widget-3abe37 .nav-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 12px;
  border: none;
  background: transparent;
  color: rgba(255, 255, 255, 0.6);
  border-radius: 8px;
  font-size: 0.86rem;
  font-weight: 600;
  text-align: left;
  transition: all 0.15s;
  width: 100%;
  text-decoration: none;
}

.widget-3abe37 .nav-item svg {
  width: 17px;
  height: 17px;
  flex-shrink: 0;
}

.widget-3abe37 .nav-item span:not(.nav-badge) {
  flex: 1;
}

.widget-3abe37 .nav-item:hover {
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
}

.widget-3abe37 .nav-item.active {
  background: var(--pri);
  color: #fff;
}

.widget-3abe37 .nav-item.nav-link {
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.widget-3abe37 .nav-item.nav-link:hover {
  border-color: rgba(255, 255, 255, 0.25);
}

.widget-3abe37 .nav-item.disabled {
  opacity: 0.42;
  cursor: not-allowed;
  pointer-events: none;
}

.widget-3abe37 .nav-badge {
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
  font-size: 0.68rem;
  font-weight: 800;
  padding: 2px 6px;
  border-radius: 10px;
  min-width: 18px;
  text-align: center;
}

.widget-3abe37 .nav-badge-blue {
  background: var(--amber);
}

.widget-3abe37 .sidebar-footer {
  padding: 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex-shrink: 0;
}

.widget-3abe37 .btn-new-job {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px;
  background: var(--pri);
  border: none;
  border-radius: 8px;
  color: #fff;
  font-size: 0.88rem;
  font-weight: 700;
}

.widget-3abe37 .btn-new-job svg {
  width: 15px;
  height: 15px;
}

.widget-3abe37 .btn-new-job:hover {
  background: var(--pri-dk);
}

.widget-3abe37 .btn-customer-view {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px;
  background: transparent;
  border: 1.5px solid rgba(255, 255, 255, 0.2);
  border-radius: 8px;
  color: rgba(255, 255, 255, 0.65);
  font-size: 0.82rem;
  font-weight: 700;
}

.widget-3abe37 .btn-customer-view svg {
  width: 14px;
  height: 14px;
}

.widget-3abe37 .btn-customer-view:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

.widget-3abe37 .sidebar-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  z-index: 199;
}

/* ── MAIN ── */
.widget-3abe37 .cdt-main {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  background: var(--adm-bg);
  color: var(--adm-text);
}

/* ── TOPBAR ── */
.widget-3abe37 .topbar {
  height: var(--topbar-h);
  background: var(--adm-surface);
  border-bottom: 1px solid var(--adm-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 16px;
  gap: 12px;
  flex-shrink: 0;
  z-index: 100;
}

.widget-3abe37 .topbar-left {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
  min-width: 0;
}

.widget-3abe37 .topbar-right {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.widget-3abe37 .topbar-divider {
  width: 1px;
  height: 26px;
  background: var(--adm-border);
  opacity: 0.8;
  margin: 0 2px;
}

.widget-3abe37 .hamburger {
  display: none;
  flex-direction: column;
  gap: 4px;
  background: none;
  border: none;
  padding: 4px;
  flex-shrink: 0;
}

.widget-3abe37 .hamburger span {
  display: block;
  width: 20px;
  height: 2px;
  background: var(--adm-text);
  border-radius: 2px;
}

.widget-3abe37 .topbar-search-wrap {
  position: relative;
  flex: 1;
  max-width: 320px;
}

.widget-3abe37 .topbar-search-wrap svg {
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 15px;
  height: 15px;
  color: var(--adm-text-3);
}

.widget-3abe37 .topbar-search {
  width: 100%;
  padding: 7px 10px 7px 32px;
  border: 1.5px solid var(--adm-border);
  border-radius: 8px;
  font-size: 0.85rem;
  background: var(--adm-bg);
  color: var(--adm-text);
  outline: none;
}

.widget-3abe37 .topbar-search:focus {
  border-color: var(--pri);
  background: var(--adm-surface);
}

.widget-3abe37 .topbar-date {
  font-size: 0.78rem;
  color: var(--adm-text-3);
  white-space: nowrap;
}

.widget-3abe37 .btn-outline-customer {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: transparent;
  color: var(--pri);
  border: 1.5px solid var(--pri);
  border-radius: 8px;
  font-size: 0.8rem;
  font-weight: 800;
  white-space: nowrap;
}

.widget-3abe37 .btn-outline-customer svg {
  width: 13px;
  height: 13px;
}

.widget-3abe37 .btn-outline-customer:hover {
  background: rgba(37, 99, 235, 0.1);
}

.widget-3abe37 .btn-outline-customer:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.widget-3abe37 .btn-topbar-add {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 7px 14px;
  background: var(--pri);
  color: #fff;
  border: none;
  border-radius: 8px;
  font-size: 0.85rem;
  font-weight: 800;
  white-space: nowrap;
}

.widget-3abe37 .btn-topbar-add svg {
  width: 13px;
  height: 13px;
}

.widget-3abe37 .btn-topbar-add:hover {
  background: var(--pri-dk);
}

/* ── Sticky Actions (mobile) ── */
.widget-3abe37 .sticky-actions {
  position: sticky;
  top: var(--topbar-h);
  z-index: 90;
  background: color-mix(in srgb, var(--adm-surface) 92%, transparent);
  border-bottom: 1px solid var(--adm-border);
  padding: 10px 12px;
  gap: 10px;
  display: flex;
}

.widget-3abe37 .sa-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 12px;
  padding: 10px 12px;
  font-weight: 900;
  font-size: 0.82rem;
  border: 1.5px solid var(--adm-border);
  background: var(--adm-surface);
  color: var(--adm-text);
  flex: 1;
  min-width: 0;
}

.widget-3abe37 .sa-btn svg {
  width: 16px;
  height: 16px;
}

.widget-3abe37 .sa-primary {
  background: var(--pri);
  border-color: var(--pri);
  color: #fff;
}

.widget-3abe37 .sa-primary:hover {
  background: var(--pri-dk);
}

.widget-3abe37 .sa-secondary:hover {
  background: rgba(148, 163, 184, 0.12);
}

/* ── Filter Drawer (mobile) ── */
.widget-3abe37 .filter-drawer-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  z-index: 1400;
}

.widget-3abe37 .filter-drawer {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  transform: translateY(110%);
  transition: transform 0.22s ease;
  background: var(--adm-surface);
  border-top: 1px solid var(--adm-border);
  z-index: 1401;
  border-radius: 16px 16px 0 0;
  box-shadow: var(--shadow-lg);
  max-height: 70vh;
  display: flex;
  flex-direction: column;
}

.widget-3abe37 .filter-drawer.open {
  transform: translateY(0);
}

.widget-3abe37 .filter-drawer-overlay.open {
  display: block;
}

.widget-3abe37 .fd-header {
  padding: 14px 16px;
  border-bottom: 1px solid var(--adm-border);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.widget-3abe37 .fd-title {
  font-size: 0.95rem;
  font-weight: 900;
  color: var(--adm-text);
}

.widget-3abe37 .fd-body {
  padding: 14px 16px;
  overflow-y: auto;
}

.widget-3abe37 .fd-section {
  margin-bottom: 14px;
}

.widget-3abe37 .fd-label {
  font-size: 0.72rem;
  color: var(--adm-text-3);
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: 0.5px;
  margin-bottom: 8px;
}

.widget-3abe37 .fd-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

/* ── VIEW PANELS ── */
.widget-3abe37 .view-panel {
  display: none;
  flex-direction: column;
  flex: 1;
  overflow-y: auto;
  padding: 22px 22px 40px;
}

.widget-3abe37 .view-panel.active {
  display: flex;
}

.widget-3abe37 .panel-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 20px;
}

.widget-3abe37 .panel-title {
  font-size: 1.3rem;
  font-weight: 800;
  color: var(--adm-text);
}

.widget-3abe37 .panel-sub {
  font-size: 0.82rem;
  color: var(--adm-text-3);
  margin-top: 2px;
}

.widget-3abe37 .panel-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.widget-3abe37 .dash-manage-link {
  text-decoration: none;
  display: inline-flex;
  align-items: center;
}

/* ── KPI CARDS ── */
.widget-3abe37 .kpi-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
  margin-bottom: 20px;
}

.widget-3abe37 .kpi-card {
  background: var(--adm-surface);
  border-radius: var(--radius);
  padding: 16px 14px;
  display: flex;
  align-items: center;
  gap: 12px;
  box-shadow: var(--adm-shadow-sm);
  border: 1px solid var(--adm-border);
}

.widget-3abe37 .kpi-icon {
  width: 40px;
  height: 40px;
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.widget-3abe37 .kpi-icon svg {
  width: 20px;
  height: 20px;
}

.widget-3abe37 .kpi-blue .kpi-icon {
  background: var(--pri-lt);
  color: var(--pri);
}

.widget-3abe37 .kpi-amber .kpi-icon {
  background: var(--amber-lt);
  color: var(--amber);
}

.widget-3abe37 .kpi-green .kpi-icon {
  background: var(--green-lt);
  color: var(--green);
}

.widget-3abe37 .kpi-purple .kpi-icon {
  background: var(--purple-lt);
  color: var(--purple);
}

.widget-3abe37 .kpi-rose .kpi-icon {
  background: var(--rose-lt);
  color: var(--rose);
}

.widget-3abe37 .kpi-body {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}

.widget-3abe37 .kpi-value {
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--adm-text);
  line-height: 1;
}

.widget-3abe37 .kpi-label {
  font-size: 0.7rem;
  color: var(--adm-text-3);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-weight: 800;
}

.widget-3abe37 .kpi-trend {
  font-size: 0.65rem;
  color: var(--adm-text-3);
  font-weight: 600;
}

.widget-3abe37 .kpi-trend-warn {
  color: #fca5a5;
  font-weight: 900;
}

/* ── DASH GRID ── */
.widget-3abe37 .dash-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.widget-3abe37 .dash-card {
  background: var(--adm-surface);
  border: 1px solid var(--adm-border);
  border-radius: var(--radius);
  padding: 14px 16px;
  box-shadow: var(--adm-shadow-sm);
}

.widget-3abe37 .dash-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

.widget-3abe37 .dash-card-header h3 {
  font-size: 0.9rem;
  font-weight: 800;
  color: var(--adm-text);
}

.widget-3abe37 .link-btn {
  background: none;
  border: none;
  color: var(--pri);
  font-size: 0.78rem;
  font-weight: 800;
}

.widget-3abe37 .link-btn:hover {
  text-decoration: underline;
}

.widget-3abe37 .today-label {
  font-size: 0.75rem;
  color: var(--adm-text-3);
}

.widget-3abe37 .mini-job-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.widget-3abe37 .mini-job-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 9px;
  background: rgba(148, 163, 184, 0.12);
  border-radius: 7px;
  cursor: pointer;
  color: var(--adm-text);
}

.widget-3abe37.dark-admin .mini-job-item {
  background: rgba(148, 163, 184, 0.1);
}

.widget-3abe37 .mini-job-item:hover {
  background: rgba(37, 99, 235, 0.12);
}

.widget-3abe37 .mj-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}

.widget-3abe37 .mj-body {
  flex: 1;
  min-width: 0;
}

.widget-3abe37 .mj-name {
  font-size: 0.83rem;
  font-weight: 800;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.widget-3abe37 .mj-sub {
  font-size: 0.72rem;
  color: var(--adm-text-3);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-weight: 650;
}

.widget-3abe37 .mj-price {
  font-size: 0.8rem;
  font-weight: 900;
  color: var(--green);
  flex-shrink: 0;
}

/* ── FILTER CHIPS ── */
.widget-3abe37 .filter-group {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
}

.widget-3abe37 .chip {
  padding: 6px 12px;
  border: 1.5px solid var(--adm-border);
  border-radius: 999px;
  background: var(--adm-surface);
  color: var(--adm-text-3);
  font-size: 0.8rem;
  font-weight: 700;
}

.widget-3abe37 .chip:hover {
  border-color: var(--pri);
  color: var(--pri);
}

.widget-3abe37 .chip.active {
  background: var(--pri);
  border-color: var(--pri);
  color: #fff;
}

.widget-3abe37 .sort-select {
  padding: 6px 10px;
  border: 1.5px solid var(--adm-border);
  border-radius: 8px;
  font-size: 0.8rem;
  background: var(--adm-surface);
  color: var(--adm-text);
  outline: none;
  cursor: pointer;
}

.widget-3abe37 .sort-select:focus {
  border-color: var(--pri);
}

/* ── JOB CARDS ── */
.widget-3abe37 .jobs-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 12px;
  align-content: start;
}

.widget-3abe37 .empty-state {
  grid-column: 1/-1;
  text-align: center;
  padding: 50px 20px;
  color: var(--adm-text-3);
}

.widget-3abe37 .empty-icon {
  width: 64px;
  height: 64px;
  border-radius: 18px;
  background: rgba(37, 99, 235, 0.12);
  margin: 0 auto 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--pri);
}

.widget-3abe37 .empty-icon svg {
  width: 30px;
  height: 30px;
}

.widget-3abe37 .empty-title {
  font-size: 0.98rem;
  font-weight: 800;
  color: var(--adm-text);
  margin-bottom: 5px;
}

.widget-3abe37 .empty-sub {
  font-size: 0.84rem;
  margin-bottom: 16px;
  font-weight: 650;
}

.widget-3abe37 .job-card {
  background: var(--adm-surface);
  border: 1px solid var(--adm-border);
  border-radius: var(--radius);
  box-shadow: var(--adm-shadow-sm);
  cursor: pointer;
  transition: box-shadow 0.15s, transform 0.15s;
  overflow: hidden;
}

.widget-3abe37 .job-card:hover {
  box-shadow: var(--adm-shadow-md);
  transform: translateY(-2px);
}

.widget-3abe37 .jc-header {
  padding: 10px 12px;
  background: rgba(148, 163, 184, 0.1);
  border-bottom: 1px solid var(--adm-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}

.widget-3abe37 .jc-id {
  font-size: 0.7rem;
  font-weight: 900;
  color: var(--pri);
  background: var(--pri-lt);
  padding: 2px 7px;
  border-radius: 5px;
}

.widget-3abe37 .jc-badges {
  display: flex;
  gap: 5px;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.widget-3abe37 .status-chip {
  font-size: 0.68rem;
  font-weight: 900;
  padding: 2px 8px;
  border-radius: 20px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

.widget-3abe37 .status-chip.s-pending {
  background: #fef3c7;
  color: #92400e;
}

.widget-3abe37 .status-chip.s-in-progress {
  background: #dbeafe;
  color: #1e40af;
}

.widget-3abe37 .status-chip.s-completed {
  background: #dcfce7;
  color: #166534;
}

.widget-3abe37 .status-chip.s-delivered {
  background: #f0fdf4;
  color: #15803d;
  border: 1px solid #bbf7d0;
}

.widget-3abe37 .priority-chip {
  font-size: 0.66rem;
  font-weight: 900;
  padding: 2px 7px;
  border-radius: 20px;
}

.widget-3abe37 .priority-chip.p-normal {
  display: none;
}

.widget-3abe37 .priority-chip.p-high {
  background: #fef3c7;
  color: #b45309;
}

.widget-3abe37 .priority-chip.p-urgent {
  background: #fee2e2;
  color: #b91c1c;
}

.widget-3abe37 .jc-body {
  padding: 12px;
}

.widget-3abe37 .jc-customer {
  font-size: 0.94rem;
  font-weight: 900;
  margin-bottom: 2px;
  color: var(--adm-text);
}

.widget-3abe37 .jc-vehicle {
  font-size: 0.8rem;
  color: var(--adm-text-3);
  margin-bottom: 8px;
  font-weight: 650;
}

.widget-3abe37 .jc-package {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 800;
  color: var(--pri);
  background: var(--pri-lt);
  padding: 2px 8px;
  border-radius: 5px;
  margin-bottom: 8px;
}

.widget-3abe37 .jc-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
}

.widget-3abe37 .jc-meta-item {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 0.74rem;
  color: var(--adm-text-3);
  font-weight: 700;
}

.widget-3abe37 .jc-meta-item svg {
  width: 12px;
  height: 12px;
}

.widget-3abe37 .jc-progress {
  margin-bottom: 10px;
}

.widget-3abe37 .jc-prog-label {
  display: flex;
  justify-content: space-between;
  font-size: 0.7rem;
  color: var(--adm-text-3);
  margin-bottom: 4px;
  gap: 10px;
  font-weight: 700;
}

.widget-3abe37 .jc-prog-label span:first-child {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.widget-3abe37 .jc-prog-label span:last-child {
  white-space: nowrap;
  flex-shrink: 0;
}

.widget-3abe37 .jc-prog-bg {
  height: 5px;
  background: rgba(148, 163, 184, 0.18);
  border-radius: 3px;
  overflow: hidden;
}

.widget-3abe37 .jc-prog-fill {
  height: 100%;
  border-radius: 3px;
  background: linear-gradient(90deg, var(--pri), #60a5fa);
}

.widget-3abe37 .jc-footer {
  padding: 9px 12px;
  border-top: 1px solid var(--adm-border);
  background: rgba(148, 163, 184, 0.1);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.widget-3abe37 .jc-price {
  font-size: 0.96rem;
  font-weight: 900;
  color: var(--green);
}

.widget-3abe37 .jc-date {
  font-size: 0.72rem;
  color: var(--adm-text-3);
  font-weight: 700;
}

.widget-3abe37 .jc-overdue-tag {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.66rem;
  font-weight: 900;
  color: var(--danger);
  background: #fef2f2;
  border: 1px solid #fecaca;
  padding: 2px 6px;
  border-radius: 5px;
}

.widget-3abe37 .jc-overdue-tag svg {
  width: 12px;
  height: 12px;
}

/* ── CALENDAR ── */
.widget-3abe37 .icon-btn {
  width: 30px;
  height: 30px;
  border: 1.5px solid var(--adm-border);
  border-radius: 6px;
  background: var(--adm-surface);
  color: var(--adm-text);
  font-size: 1.1rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.widget-3abe37 .icon-btn:hover {
  background: rgba(148, 163, 184, 0.12);
}

.widget-3abe37 .cal-month-label {
  font-size: 0.9rem;
  font-weight: 800;
  min-width: 130px;
  text-align: center;
  color: var(--adm-text);
}

.widget-3abe37 .cal-grid-header {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  background: var(--adm-surface);
  border: 1px solid var(--adm-border);
  border-bottom: none;
  border-radius: var(--radius) var(--radius) 0 0;
}

.widget-3abe37 .cal-grid-header span {
  padding: 8px;
  text-align: center;
  font-size: 0.72rem;
  font-weight: 900;
  color: var(--adm-text-3);
  text-transform: uppercase;
}

.widget-3abe37 .cal-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  background: var(--adm-surface);
  border: 1px solid var(--adm-border);
  border-radius: 0 0 var(--radius) var(--radius);
  overflow: hidden;
}

.widget-3abe37 .cal-cell {
  min-height: 64px;
  padding: 7px;
  border-right: 1px solid var(--adm-border);
  border-bottom: 1px solid var(--adm-border);
  cursor: pointer;
}

.widget-3abe37 .cal-cell:nth-child(7n) {
  border-right: none;
}

.widget-3abe37 .cal-cell:hover {
  background: rgba(37, 99, 235, 0.08);
}

.widget-3abe37 .cal-cell.cal-today {
  background: rgba(37, 99, 235, 0.1);
}

.widget-3abe37 .cal-cell.cal-other-month .cal-day-num {
  color: rgba(148, 163, 184, 0.35);
}

.widget-3abe37 .cal-cell.cal-selected {
  background: var(--pri);
}

.widget-3abe37 .cal-cell.cal-selected .cal-day-num {
  color: #fff;
}

.widget-3abe37 .cal-day-num {
  font-size: 0.8rem;
  font-weight: 800;
  margin-bottom: 3px;
  color: var(--adm-text);
}

.widget-3abe37 .cal-dot-row {
  display: flex;
  flex-wrap: wrap;
  gap: 2px;
}

.widget-3abe37 .cal-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--pri);
}

.widget-3abe37 .cal-jobs-below {
  margin-top: 14px;
}

.widget-3abe37 .cal-select-hint {
  font-size: 0.85rem;
  color: var(--adm-text-3);
  text-align: center;
  padding: 18px;
  font-weight: 700;
}

/* ── CUSTOMERS ── */
.widget-3abe37 .customers-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 12px;
  align-content: start;
}

.widget-3abe37 .customer-card {
  background: var(--adm-surface);
  border: 1px solid var(--adm-border);
  border-radius: var(--radius);
  padding: 14px;
  box-shadow: var(--adm-shadow-sm);
  cursor: pointer;
}

.widget-3abe37 .customer-card:hover {
  box-shadow: var(--adm-shadow-md);
}

.widget-3abe37 .cc-top {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

.widget-3abe37 .cc-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--pri);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  font-weight: 900;
  flex-shrink: 0;
}

.widget-3abe37 .cc-name {
  font-size: 0.9rem;
  font-weight: 900;
  color: var(--adm-text);
}

.widget-3abe37 .cc-phone {
  font-size: 0.75rem;
  color: var(--adm-text-3);
  font-weight: 700;
}

.widget-3abe37 .cc-stats {
  display: flex;
  gap: 14px;
  padding-top: 10px;
  border-top: 1px solid var(--adm-border);
}

.widget-3abe37 .cc-stat {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.widget-3abe37 .cs-val {
  font-size: 0.96rem;
  font-weight: 900;
  color: var(--pri);
}

.widget-3abe37 .cs-lbl {
  font-size: 0.68rem;
  color: var(--adm-text-3);
  text-transform: uppercase;
  font-weight: 900;
}

/* ── PACKAGES VIEW ── */
.widget-3abe37 .packages-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 14px;
  align-content: start;
}

.widget-3abe37 .pkg-card {
  background: var(--adm-surface);
  border: 1px solid var(--adm-border);
  border-radius: var(--radius);
  box-shadow: var(--adm-shadow-sm);
  overflow: hidden;
  cursor: pointer;
  transition: box-shadow 0.15s, transform 0.15s;
}

.widget-3abe37 .pkg-card:hover {
  box-shadow: var(--adm-shadow-md);
  transform: translateY(-2px);
}

.widget-3abe37 .pkg-card.pkg-hidden {
  opacity: 0.72;
}

.widget-3abe37 .pkg-card-header {
  padding: 14px 16px;
  background: var(--pri);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.widget-3abe37 .pkg-card-name {
  font-size: 0.98rem;
  font-weight: 900;
}

.widget-3abe37 .pkg-card-price {
  font-size: 1.1rem;
  font-weight: 900;
}

.widget-3abe37 .pkg-card-body {
  padding: 14px 16px;
}

.widget-3abe37 .pkg-card-desc {
  font-size: 0.8rem;
  color: var(--adm-text-3);
  margin-bottom: 10px;
  line-height: 1.4;
  font-weight: 600;
}

.widget-3abe37 .pkg-duration {
  font-size: 0.74rem;
  color: var(--adm-text-3);
  margin-bottom: 10px;
  font-weight: 700;
}

.widget-3abe37 .pkg-steps-preview {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 12px;
}

.widget-3abe37 .pkg-step-tag {
  font-size: 0.68rem;
  font-weight: 800;
  background: var(--pri-lt);
  color: var(--pri);
  padding: 2px 8px;
  border-radius: 20px;
}

.widget-3abe37 .pkg-card-footer {
  padding: 10px 16px;
  border-top: 1px solid var(--adm-border);
  background: rgba(148, 163, 184, 0.1);
  display: flex;
  gap: 8px;
  justify-content: space-between;
  align-items: center;
}

.widget-3abe37 .pkg-left-badges {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.widget-3abe37 .pkg-availability-chip {
  font-size: 0.66rem;
  font-weight: 900;
  padding: 2px 8px;
  border-radius: 999px;
  background: #fef3c7;
  color: #92400e;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

.widget-3abe37 .pkg-availability-chip.available {
  background: #dcfce7;
  color: #166534;
}

.widget-3abe37 .pkg-availability-chip.hidden {
  background: #f3f4f6;
  color: #6b7280;
  border: 1px solid #e5e7eb;
}

.widget-3abe37 .pkg-btns {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}

.widget-3abe37 .btn-pkg-edit {
  padding: 6px 14px;
  background: var(--adm-surface);
  border: 1.5px solid var(--adm-border);
  border-radius: 10px;
  font-size: 0.78rem;
  font-weight: 800;
  color: var(--adm-text-2);
}

.widget-3abe37 .btn-pkg-edit:hover {
  background: rgba(148, 163, 184, 0.12);
}

.widget-3abe37 .btn-pkg-delete {
  padding: 6px 14px;
  background: var(--adm-surface);
  border: 1.5px solid var(--danger);
  border-radius: 10px;
  font-size: 0.78rem;
  font-weight: 800;
  color: var(--danger);
}

.widget-3abe37 .btn-pkg-delete:hover {
  background: rgba(220, 38, 38, 0.12);
}

/* Package form steps list */
.widget-3abe37 .pkg-steps-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.widget-3abe37 .pkg-step-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  background: rgba(148, 163, 184, 0.1);
  border: 1.5px solid var(--adm-border);
  border-radius: 12px;
  cursor: default;
}

.widget-3abe37 .pkg-step-row.selected {
  border-color: var(--pri);
  background: rgba(37, 99, 235, 0.1);
}

.widget-3abe37 .pkg-step-cb {
  width: 16px;
  height: 16px;
  cursor: pointer;
  flex-shrink: 0;
  accent-color: var(--pri);
}

.widget-3abe37 .pkg-step-name {
  font-size: 0.85rem;
  font-weight: 800;
  color: var(--adm-text);
}

.widget-3abe37 .pkg-step-desc {
  font-size: 0.72rem;
  color: var(--adm-text-3);
  font-weight: 600;
}

.widget-3abe37 .pkg-step-drag-handle {
  cursor: grab;
}

.widget-3abe37 .pkg-step-drag-handle:active {
  cursor: grabbing;
}

.widget-3abe37 .pkg-step-up:hover,
.widget-3abe37 .pkg-step-down:hover {
  background: rgba(37, 99, 235, 0.1) !important;
  border-color: var(--pri) !important;
  color: var(--pri) !important;
}

/* Steps preview in job form */
.widget-3abe37 .fsteps-list {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.widget-3abe37 .fstep-tag {
  font-size: 0.72rem;
  font-weight: 800;
  color: var(--pri);
  background: var(--pri-lt);
  padding: 3px 10px;
  border-radius: 20px;
  border: 1px solid rgba(37, 99, 235, 0.2);
}

/* Readonly field */
.widget-3abe37 .readonly-field {
  padding: 8px 10px;
  border: 1.5px dashed var(--adm-border);
  border-radius: 12px;
  font-size: 0.9rem;
  font-weight: 900;
  color: var(--adm-text);
  background: var(--adm-surface);
  display: flex;
  align-items: center;
  min-height: 37px;
}

.widget-3abe37 .job-price-hint {
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid var(--adm-border);
  background: rgba(148, 163, 184, 0.08);
  color: var(--adm-text-2);
  font-size: 0.82rem;
  font-weight: 700;
}

/* ── TOGGLE BUTTON (package availability) ── */
.widget-3abe37 .toggle-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 2px;
}

.widget-3abe37 .toggle-btn {
  width: 44px;
  height: 24px;
  border-radius: 999px;
  border: 1px solid var(--adm-border);
  background: rgba(148, 163, 184, 0.14);
  position: relative;
}

.widget-3abe37 .toggle-btn .toggle-knob {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--adm-surface);
  position: absolute;
  top: 50%;
  left: 2px;
  transform: translateY(-50%);
  transition: left 0.18s ease;
}

.widget-3abe37 .toggle-btn[aria-pressed=true] {
  background: rgba(22, 163, 74, 0.25);
  border-color: rgba(22, 163, 74, 0.4);
}

.widget-3abe37 .toggle-btn[aria-pressed=true] .toggle-knob {
  left: 22px;
}

.widget-3abe37 .toggle-label {
  font-size: 0.84rem;
  font-weight: 900;
  color: var(--adm-text-2);
}

/* ── SERVICE STEPS MANAGEMENT ── */
.widget-3abe37 .steps-manage-grid {
  display: flex;
  flex-direction: column;
  gap: 9px;
  align-content: start;
}

.widget-3abe37 .step-manage-card {
  display: grid;
  grid-template-columns: 28px 1fr auto auto;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
  background: var(--adm-surface);
  border: 1px solid var(--adm-border);
  border-radius: 14px;
  box-shadow: var(--adm-shadow-sm);
  transition: box-shadow 0.15s;
}

.widget-3abe37 .step-manage-card:hover {
  box-shadow: var(--adm-shadow-md);
}

.widget-3abe37 .step-manage-inactive {
  opacity: 0.65;
  border-style: dashed;
}

.widget-3abe37 .step-manage-drag {
  color: var(--adm-text-3);
  font-size: 1.2rem;
  cursor: grab;
  user-select: none;
  text-align: center;
}

.widget-3abe37 .step-manage-body {
  min-width: 0;
}

.widget-3abe37 .step-manage-name {
  font-size: 0.92rem;
  font-weight: 900;
  color: var(--adm-text);
  margin-bottom: 2px;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.widget-3abe37 .step-manage-desc {
  font-size: 0.76rem;
  color: var(--adm-text-3);
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.widget-3abe37 .step-manage-status {
  flex-shrink: 0;
}

.widget-3abe37 .step-status-chip {
  font-size: 0.68rem;
  font-weight: 900;
  padding: 3px 9px;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  white-space: nowrap;
}

.widget-3abe37 .step-active {
  background: #dcfce7;
  color: #166534;
}

.widget-3abe37 .step-inactive {
  background: #f3f4f6;
  color: #6b7280;
  border: 1px solid #e5e7eb;
}

.widget-3abe37 .step-manage-actions {
  display: flex;
  gap: 6px;
  flex-shrink: 0;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.widget-3abe37 .step-toggle-btn {
  font-size: 0.74rem;
  padding: 5px 10px;
}

.widget-3abe37 .step-deactivate {
  border-color: var(--amber) !important;
  color: #92400e !important;
}

.widget-3abe37 .step-deactivate:hover {
  background: rgba(245, 158, 11, 0.12) !important;
}

.widget-3abe37 .step-activate {
  border-color: var(--green) !important;
  color: var(--green) !important;
}

.widget-3abe37 .step-activate:hover {
  background: rgba(22, 163, 74, 0.1) !important;
}

.widget-3abe37 .step-builtin-badge {
  font-size: 0.62rem;
  font-weight: 900;
  padding: 2px 6px;
  background: var(--pri-lt);
  color: var(--pri);
  border-radius: 5px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

.widget-3abe37 .step-inactive-badge {
  font-size: 0.62rem;
  font-weight: 900;
  padding: 2px 6px;
  background: #f3f4f6;
  color: #6b7280;
  border-radius: 5px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  border: 1px solid #e5e7eb;
}

/* Inactive step checkbox styling in package form */
.widget-3abe37 .pkg-step-inactive {
  opacity: 0.65;
}

/* Package badges on each service step row */
.widget-3abe37 .step-pkg-row {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 5px;
}

.widget-3abe37 .step-pkg-badge {
  font-size: 0.64rem;
  font-weight: 800;
  padding: 2px 7px;
  border-radius: 999px;
  background: rgba(37, 99, 235, 0.1);
  color: var(--pri);
  border: 1px solid rgba(37, 99, 235, 0.22);
  white-space: nowrap;
}

/* Drag-and-drop states for step cards */
.widget-3abe37 .step-manage-card[draggable=true] {
  cursor: default;
}

.widget-3abe37 .step-manage-drag {
  cursor: grab;
}

.widget-3abe37 .step-manage-drag:active {
  cursor: grabbing;
}

.widget-3abe37 .step-dragging {
  opacity: 0.45;
  box-shadow: 0 8px 24px rgba(37, 99, 235, 0.22);
}

.widget-3abe37 .step-drag-over {
  border-color: var(--pri) !important;
  background: rgba(37, 99, 235, 0.07);
  box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.28);
}

/* ── TECHNICIANS VIEW ── */
.widget-3abe37 .tech-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 14px;
  align-content: start;
}

.widget-3abe37 .tech-card {
  background: var(--adm-surface);
  border: 1px solid var(--adm-border);
  border-radius: var(--radius);
  box-shadow: var(--adm-shadow-sm);
  overflow: hidden;
}

.widget-3abe37 .tech-card-header {
  padding: 14px 16px;
  background: rgba(148, 163, 184, 0.08);
  border-bottom: 1px solid var(--adm-border);
  display: flex;
  align-items: center;
  gap: 12px;
}

.widget-3abe37 .tech-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  font-weight: 900;
  color: #fff;
  flex-shrink: 0;
}

.widget-3abe37 .tech-info {
  flex: 1;
  min-width: 0;
}

.widget-3abe37 .tech-name {
  font-size: 0.96rem;
  font-weight: 900;
  color: var(--adm-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.widget-3abe37 .tech-job-count {
  font-size: 0.74rem;
  color: var(--adm-text-3);
  font-weight: 700;
  margin-top: 2px;
}

.widget-3abe37 .tech-status-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}

.widget-3abe37 .tech-status-dot.busy {
  background: var(--amber);
}

.widget-3abe37 .tech-status-dot.free {
  background: var(--green);
}

.widget-3abe37 .tech-status-dot.idle {
  background: var(--adm-text-3);
}

.widget-3abe37 .tech-card-body {
  padding: 10px 16px 14px;
}

.widget-3abe37 .tech-stats-row {
  display: flex;
  gap: 16px;
  padding-bottom: 10px;
  margin-bottom: 10px;
  border-bottom: 1px solid var(--adm-border);
}

.widget-3abe37 .tech-stat {
  text-align: center;
}

.widget-3abe37 .tech-stat-val {
  font-size: 1.1rem;
  font-weight: 900;
  color: var(--pri);
  line-height: 1;
}

.widget-3abe37 .tech-stat-lbl {
  font-size: 0.64rem;
  color: var(--adm-text-3);
  text-transform: uppercase;
  font-weight: 800;
  letter-spacing: 0.4px;
  margin-top: 2px;
}

.widget-3abe37 .tech-jobs-label {
  font-size: 0.7rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--adm-text-3);
  margin-bottom: 8px;
}

.widget-3abe37 .tech-jobs-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.widget-3abe37 .tech-job-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 9px;
  background: rgba(148, 163, 184, 0.08);
  border-radius: 8px;
  cursor: pointer;
  color: var(--adm-text);
}

.widget-3abe37 .tech-job-row:hover {
  background: rgba(37, 99, 235, 0.1);
}

.widget-3abe37 .tech-job-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  flex-shrink: 0;
}

.widget-3abe37 .tech-job-body {
  flex: 1;
  min-width: 0;
}

.widget-3abe37 .tech-job-name {
  font-size: 0.82rem;
  font-weight: 800;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.widget-3abe37 .tech-job-meta {
  font-size: 0.7rem;
  color: var(--adm-text-3);
  font-weight: 650;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.widget-3abe37 .tech-job-pct {
  font-size: 0.78rem;
  font-weight: 900;
  color: var(--pri);
  flex-shrink: 0;
}

.widget-3abe37 .tech-no-active {
  font-size: 0.8rem;
  color: var(--adm-text-3);
  font-weight: 650;
  padding: 4px 0;
}

.widget-3abe37 .tech-unassigned-card {
  background: var(--adm-surface);
  border: 1.5px dashed var(--adm-border);
  border-radius: var(--radius);
  padding: 14px 16px;
}

.widget-3abe37 .tech-unassigned-title {
  font-size: 0.82rem;
  font-weight: 900;
  color: var(--adm-text-3);
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  font-size: 0.7rem;
}

/* ── COUPONS ── */
.widget-3abe37 .modal-coupon {
  max-width: 620px;
}

.widget-3abe37 .modal-coupons {
  max-width: 760px;
}

.widget-3abe37 .coupons-header-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}

.widget-3abe37 .coupons-sub {
  font-size: 0.86rem;
  color: var(--adm-text-3);
  font-weight: 600;
}

.widget-3abe37 .coupons-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.widget-3abe37 .coupon-row {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 12px 12px;
  background: rgba(148, 163, 184, 0.1);
  border: 1px solid var(--adm-border);
  border-radius: 14px;
}

.widget-3abe37 .coupon-main {
  min-width: 0;
}

.widget-3abe37 .coupon-code {
  font-size: 0.92rem;
  font-weight: 900;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: var(--adm-text);
}

.widget-3abe37 .coupon-desc {
  font-size: 0.78rem;
  color: var(--adm-text-3);
  margin-top: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-weight: 600;
}

.widget-3abe37 .coupon-meta {
  font-size: 0.78rem;
  color: var(--adm-text-2);
  font-weight: 900;
}

.widget-3abe37 .coupon-exp {
  font-size: 0.76rem;
  color: var(--adm-text-3);
  font-weight: 600;
}

.widget-3abe37 .coupon-exp.expired {
  color: #fca5a5;
  font-weight: 900;
}

.widget-3abe37 .coupon-status {
  display: inline-flex;
  align-items: center;
  font-size: 0.7rem;
  font-weight: 900;
  padding: 3px 9px;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  justify-self: start;
}

.widget-3abe37 .coupon-status.active {
  background: #dcfce7;
  color: #166534;
}

.widget-3abe37 .coupon-status.inactive {
  background: #f3f4f6;
  color: #6b7280;
  border: 1px solid #e5e7eb;
}

.widget-3abe37 .coupon-status.expired {
  background: #fee2e2;
  color: #b91c1c;
}

.widget-3abe37 .coupon-actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}

.widget-3abe37 .coupon-preview {
  padding: 14px 14px;
  border-radius: 14px;
  border: 1px dashed rgba(148, 163, 184, 0.55);
  background: var(--adm-surface);
  color: var(--adm-text);
}

.widget-3abe37 .coupon-preview .cp-top {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}

.widget-3abe37 .coupon-preview .cp-off {
  font-size: 1.2rem;
  font-weight: 900;
  color: var(--pri);
}

.widget-3abe37 .coupon-preview .cp-code {
  font-size: 0.86rem;
  font-weight: 900;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: var(--adm-text);
}

.widget-3abe37 .coupon-preview .cp-sub {
  margin-top: 6px;
  font-size: 0.82rem;
  color: var(--adm-text-3);
  font-weight: 700;
}

/* ── SCHEDULER MODAL (admin fallback) ── */
.widget-3abe37 .modal-scheduler {
  max-width: 860px;
}

.widget-3abe37 .scheduler-sub {
  font-size: 0.86rem;
  color: var(--adm-text-3);
  margin-bottom: 14px;
  font-weight: 600;
}

.widget-3abe37 .scheduler-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 12px;
}

.widget-3abe37 .scheduler-divider {
  height: 1px;
  background: var(--adm-border);
  margin: 18px 0;
}

.widget-3abe37 .scheduler-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.widget-3abe37 .sched-row {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 12px 12px;
  background: rgba(148, 163, 184, 0.1);
  border: 1px solid var(--adm-border);
  border-radius: 14px;
}

.widget-3abe37 .sched-main {
  min-width: 0;
}

.widget-3abe37 .sched-title {
  font-size: 0.9rem;
  font-weight: 900;
  color: var(--adm-text);
}

.widget-3abe37 .sched-sub {
  font-size: 0.78rem;
  color: var(--adm-text-3);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-weight: 600;
}

.widget-3abe37 .sched-meta {
  font-size: 0.78rem;
  color: var(--adm-text-2);
  font-weight: 900;
}

.widget-3abe37 .sched-actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}

/* ══════════════════════════════════════
   CUSTOMER TRACKER
   ══════════════════════════════════════ */
.widget-3abe37 .customer-tracker {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, var(--ct-bg-start) 0%, var(--ct-bg-mid) 40%, var(--ct-bg-end) 100%);
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  position: relative;
}

/* Customer progress light mode */
.widget-3abe37.ct-light .customer-tracker:not(.cs-page) {
  background: radial-gradient(1200px 600px at 20% 0%, rgba(59, 130, 246, 0.16), transparent 60%), linear-gradient(135deg, var(--ct-light-bg-start) 0%, var(--ct-light-bg-mid) 45%, var(--ct-light-bg-end) 100%);
  color: var(--ct-light-text);
}

.widget-3abe37 .ct-header {
  background: rgba(255, 255, 255, 0.04);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  position: sticky;
  top: 0;
  z-index: 50;
  flex-shrink: 0;
}

.widget-3abe37.ct-light .customer-tracker:not(.cs-page) .ct-header {
  background: color-mix(in srgb, var(--ct-light-surface) 85%, transparent);
  border-bottom: 1px solid var(--ct-light-border);
}

/* Customer theme toggle (progress view) */
.widget-3abe37 .ct-theme-toggle {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: rgba(255, 255, 255, 0.9);
  font-weight: 900;
  font-size: 0.82rem;
  white-space: nowrap;
}

.widget-3abe37 .ct-theme-toggle:hover {
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
}

.widget-3abe37 .ct-theme-toggle .toggle-pill {
  width: 38px;
  height: 22px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  background: rgba(255, 255, 255, 0.1);
  position: relative;
  flex-shrink: 0;
}

.widget-3abe37 .ct-theme-toggle .toggle-pill::after {
  content: "";
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  position: absolute;
  left: 2px;
  top: 50%;
  transform: translateY(-50%);
  transition: left 0.18s ease;
}

.widget-3abe37.ct-light .ct-theme-toggle {
  background: var(--ct-light-surface);
  border: 1px solid var(--ct-light-border);
  color: var(--ct-light-text-2);
}

.widget-3abe37.ct-light .ct-theme-toggle:hover {
  color: var(--ct-light-text);
}

.widget-3abe37.ct-light .ct-theme-toggle .toggle-pill {
  border: 1px solid var(--ct-light-border);
  background: rgba(15, 23, 42, 0.06);
}

.widget-3abe37.ct-light .ct-theme-toggle .toggle-pill::after {
  left: 18px;
  background: #fff;
}

.widget-3abe37 .ct-header-inner {
  max-width: 860px;
  margin: 0 auto;
  padding: 13px 20px;
  display: flex;
  align-items: center;
  gap: 14px;
}

.widget-3abe37 .ct-back-btn {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 6px 12px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 10px;
  color: rgba(255, 255, 255, 0.9);
  font-size: 0.8rem;
  font-weight: 900;
  white-space: nowrap;
}

.widget-3abe37 .ct-back-btn svg {
  width: 15px;
  height: 15px;
}

.widget-3abe37 .ct-back-btn:hover {
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
}

.widget-3abe37.ct-light .customer-tracker:not(.cs-page) .ct-back-btn {
  background: var(--ct-light-surface);
  border: 1px solid var(--ct-light-border);
  color: var(--ct-light-text-2);
}

.widget-3abe37.ct-light .customer-tracker:not(.cs-page) .ct-back-btn:hover {
  color: var(--ct-light-text);
}

.widget-3abe37 .ct-brand {
  display: flex;
  align-items: center;
  gap: 9px;
  flex: 1;
  justify-content: center;
}

.widget-3abe37 .ct-brand-icon {
  width: 30px;
  height: 30px;
  background: var(--ct-accent);
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.widget-3abe37 .ct-brand-icon svg {
  width: 16px;
  height: 16px;
  color: #fff;
}

.widget-3abe37 .ct-brand-name {
  font-size: 0.95rem;
  font-weight: 900;
  color: #fff;
}

.widget-3abe37.ct-light .customer-tracker:not(.cs-page) .ct-brand-name {
  color: var(--ct-light-text);
}

.widget-3abe37 .ct-header-spacer {
  width: 80px;
}

.widget-3abe37 .ct-screen {
  flex: 1;
}

.widget-3abe37 .ct-lookup-wrap {
  max-width: 500px;
  margin: 0 auto;
  padding: 36px 16px 56px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.widget-3abe37 .ct-lookup-hero {
  text-align: center;
}

.widget-3abe37 .ct-car-animation {
  position: relative;
  margin-bottom: 20px;
  height: 76px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
}

.widget-3abe37 .ct-car-svg {
  width: 130px;
  height: 56px;
  animation: cdt-carFloat 3s ease-in-out infinite;
  filter: drop-shadow(0 4px 14px rgba(37, 99, 235, 0.5));
}

@keyframes cdt-carFloat {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-5px);
  }
}
.widget-3abe37 .ct-road {
  width: 180px;
  height: 4px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 2px;
  overflow: hidden;
  margin-top: 5px;
}

.widget-3abe37 .ct-road-line {
  height: 100%;
  width: 48px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
  animation: cdt-roadMove 1.8s linear infinite;
}

@keyframes cdt-roadMove {
  from {
    transform: translateX(-80px);
  }
  to {
    transform: translateX(230px);
  }
}
.widget-3abe37 .ct-lookup-title {
  font-size: 1.7rem;
  font-weight: 900;
  color: #fff;
  margin-bottom: 7px;
  letter-spacing: -0.4px;
}

.widget-3abe37 .ct-lookup-sub {
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.55);
  line-height: 1.5;
  font-weight: 650;
}

.widget-3abe37.ct-light .customer-tracker:not(.cs-page) .ct-lookup-title {
  color: var(--ct-light-text);
}

.widget-3abe37.ct-light .customer-tracker:not(.cs-page) .ct-lookup-sub {
  color: var(--ct-light-text-3);
}

.widget-3abe37 .ct-privacy {
  margin: 14px auto 0;
  max-width: 420px;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 14px;
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.82rem;
  font-weight: 650;
  text-align: left;
}

.widget-3abe37 .ct-privacy svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  margin-top: 1px;
  color: #93c5fd;
}

.widget-3abe37 .ct-lookup-card {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 18px;
  padding: 24px 20px;
  backdrop-filter: blur(20px);
}

.widget-3abe37.ct-light .customer-tracker:not(.cs-page) .ct-lookup-card {
  background: var(--ct-light-surface);
  border: 1px solid var(--ct-light-border);
}

.widget-3abe37 .ct-lookup-tabs {
  display: flex;
  background: rgba(0, 0, 0, 0.25);
  border-radius: 12px;
  padding: 4px;
  margin-bottom: 20px;
  gap: 4px;
}

.widget-3abe37 .ct-lookup-tab {
  flex: 1;
  padding: 7px 10px;
  border: none;
  border-radius: 10px;
  background: transparent;
  color: rgba(255, 255, 255, 0.45);
  font-size: 0.82rem;
  font-weight: 900;
}

.widget-3abe37 .ct-lookup-tab:hover {
  color: rgba(255, 255, 255, 0.75);
}

.widget-3abe37 .ct-lookup-tab.active {
  background: var(--ct-accent);
  color: #fff;
}

.widget-3abe37 .ct-input-label {
  display: block;
  font-size: 0.75rem;
  font-weight: 900;
  color: rgba(255, 255, 255, 0.5);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 9px;
}

.widget-3abe37 .ct-input-row {
  display: flex;
  gap: 9px;
}

.widget-3abe37 .ct-input {
  flex: 1;
  padding: 12px 14px;
  background: rgba(255, 255, 255, 0.08);
  border: 1.5px solid rgba(255, 255, 255, 0.15);
  border-radius: 14px;
  color: #fff;
  font-size: 0.95rem;
  font-weight: 800;
  outline: none;
  font-family: inherit;
  min-width: 0;
}

.widget-3abe37 .ct-input::placeholder {
  color: rgba(255, 255, 255, 0.28);
}

.widget-3abe37 .ct-input:focus {
  border-color: var(--ct-accent);
  background: rgba(59, 130, 246, 0.12);
}

.widget-3abe37.ct-light .customer-tracker:not(.cs-page) .ct-input-label {
  color: var(--ct-light-text-3);
}

.widget-3abe37.ct-light .customer-tracker:not(.cs-page) .ct-input {
  background: rgba(255, 255, 255, 0.92);
  border: 1.5px solid var(--ct-light-border);
  color: var(--ct-light-text);
}

.widget-3abe37.ct-light .customer-tracker:not(.cs-page) .ct-input::placeholder {
  color: rgba(15, 23, 42, 0.38);
}

.widget-3abe37.ct-light .customer-tracker:not(.cs-page) .ct-input:focus {
  background: rgba(255, 255, 255, 0.96);
}

.widget-3abe37 .ct-search-btn {
  width: 50px;
  height: 50px;
  background: var(--ct-accent);
  border: none;
  border-radius: 14px;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.widget-3abe37 .ct-search-btn svg {
  width: 18px;
  height: 18px;
}

.widget-3abe37 .ct-search-btn:hover {
  background: var(--pri-dk);
}

.widget-3abe37 .ct-lookup-error {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-top: 12px;
  padding: 11px 13px;
  background: rgba(220, 38, 38, 0.12);
  border: 1px solid rgba(220, 38, 38, 0.3);
  border-radius: 14px;
  color: #fca5a5;
  font-size: 0.82rem;
  font-weight: 800;
}

.widget-3abe37 .ct-lookup-error svg {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
}

.widget-3abe37 .ct-name-results {
  margin-top: 12px;
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.widget-3abe37 .ct-name-result-item {
  padding: 11px 13px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 14px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.widget-3abe37 .ct-name-result-item:hover {
  background: rgba(59, 130, 246, 0.16);
  border-color: rgba(59, 130, 246, 0.35);
}

.widget-3abe37 .cnr-id {
  font-size: 0.78rem;
  font-weight: 900;
  color: #93c5fd;
}

.widget-3abe37 .cnr-vehicle {
  font-size: 0.82rem;
  color: rgba(255, 255, 255, 0.78);
  font-weight: 900;
}

.widget-3abe37 .cnr-pkg {
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.45);
  font-weight: 650;
}

.widget-3abe37 .cnr-status {
  font-size: 0.68rem;
  font-weight: 900;
  padding: 3px 9px;
  border-radius: 999px;
}

.widget-3abe37 .cnr-s-pending {
  background: #fef3c7;
  color: #92400e;
}

.widget-3abe37 .cnr-s-in-progress {
  background: #dbeafe;
  color: #1e40af;
}

.widget-3abe37 .cnr-s-completed {
  background: #dcfce7;
  color: #166534;
}

.widget-3abe37 .cnr-s-delivered {
  background: #f0fdf4;
  color: #15803d;
}

.widget-3abe37 .ct-active-strip {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 18px;
  padding: 18px;
}

.widget-3abe37 .ct-strip-label {
  font-size: 0.75rem;
  font-weight: 900;
  color: rgba(255, 255, 255, 0.5);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 10px;
}

.widget-3abe37.ct-light .customer-tracker:not(.cs-page) .ct-active-strip {
  background: var(--ct-light-surface);
  border: 1px solid var(--ct-light-border);
}

.widget-3abe37.ct-light .customer-tracker:not(.cs-page) .ct-strip-label {
  color: var(--ct-light-text-3);
}

.widget-3abe37 .ct-strip-list {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.widget-3abe37 .ct-strip-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  cursor: pointer;
}

.widget-3abe37 .ct-strip-item:hover {
  background: rgba(59, 130, 246, 0.14);
  border-color: rgba(59, 130, 246, 0.26);
}

.widget-3abe37.ct-light .customer-tracker:not(.cs-page) .ct-strip-item {
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid var(--ct-light-border);
}

.widget-3abe37.ct-light .customer-tracker:not(.cs-page) .ct-strip-item:hover {
  background: rgba(59, 130, 246, 0.1);
}

.widget-3abe37 .csi-avatar {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.85rem;
  font-weight: 900;
  color: #fff;
  flex-shrink: 0;
}

.widget-3abe37 .csi-body {
  flex: 1;
  min-width: 0;
}

.widget-3abe37 .csi-name {
  font-size: 0.85rem;
  font-weight: 900;
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.widget-3abe37 .csi-vehicle {
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.42);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-weight: 650;
}

.widget-3abe37.ct-light .customer-tracker:not(.cs-page) .csi-name {
  color: var(--ct-light-text);
}

.widget-3abe37.ct-light .customer-tracker:not(.cs-page) .csi-vehicle {
  color: var(--ct-light-text-3);
}

.widget-3abe37 .csi-pct {
  font-size: 0.85rem;
  font-weight: 900;
  color: #60a5fa;
  flex-shrink: 0;
}

.widget-3abe37 .csi-mini-bar {
  width: 50px;
  height: 4px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 2px;
  overflow: hidden;
  flex-shrink: 0;
}

.widget-3abe37 .csi-mini-fill {
  height: 100%;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--ct-accent), var(--ct-accent-2));
}

.widget-3abe37 .ct-strip-empty {
  font-size: 0.82rem;
  color: rgba(255, 255, 255, 0.28);
  text-align: center;
  padding: 8px 0;
  font-weight: 650;
}

.widget-3abe37 .ct-contact {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 18px;
  padding: 16px 18px;
}

.widget-3abe37 .ct-contact-title {
  font-size: 0.95rem;
  font-weight: 900;
  color: #fff;
  margin-bottom: 4px;
}

.widget-3abe37 .ct-contact-sub {
  font-size: 0.82rem;
  color: rgba(255, 255, 255, 0.6);
  font-weight: 650;
}

.widget-3abe37.ct-light .customer-tracker:not(.cs-page) .ct-contact {
  background: var(--ct-light-surface);
  border: 1px solid var(--ct-light-border);
}

.widget-3abe37.ct-light .customer-tracker:not(.cs-page) .ct-contact-title {
  color: var(--ct-light-text);
}

.widget-3abe37.ct-light .customer-tracker:not(.cs-page) .ct-contact-sub {
  color: var(--ct-light-text-3);
}

.widget-3abe37.ct-light .customer-tracker:not(.cs-page) .ct-contact-btn {
  background: rgba(15, 23, 42, 0.06);
  border: 1px solid var(--ct-light-border);
  color: var(--ct-light-text-2);
}

.widget-3abe37 .ct-contact-actions {
  margin-top: 12px;
  display: flex;
  justify-content: flex-end;
}

.widget-3abe37 .ct-contact-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: rgba(255, 255, 255, 0.92);
  font-weight: 900;
  text-decoration: none;
}

.widget-3abe37 .ct-contact-btn:hover {
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
}

.widget-3abe37 .ct-progress-wrap {
  max-width: 700px;
  margin: 0 auto;
  padding: 24px 16px 56px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.widget-3abe37 .ct-vehicle-hero {
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 18px;
  padding: 18px 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.widget-3abe37.ct-light .customer-tracker:not(.cs-page) .ct-vehicle-hero {
  background: var(--ct-light-surface);
  border: 1px solid var(--ct-light-border);
}

.widget-3abe37 .ct-vh-left {
  display: flex;
  align-items: center;
  gap: 14px;
  flex: 1;
  min-width: 0;
}

.widget-3abe37 .ct-vh-avatar {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  font-weight: 900;
  color: #fff;
  flex-shrink: 0;
}

.widget-3abe37 .ct-vh-name {
  font-size: 1.05rem;
  font-weight: 900;
  color: #fff;
  margin-bottom: 2px;
}

.widget-3abe37 .ct-vh-vehicle {
  font-size: 0.82rem;
  color: rgba(255, 255, 255, 0.55);
  margin-bottom: 7px;
  font-weight: 650;
}

.widget-3abe37.ct-light .customer-tracker:not(.cs-page) .ct-vh-name {
  color: var(--ct-light-text);
}

.widget-3abe37.ct-light .customer-tracker:not(.cs-page) .ct-vh-vehicle {
  color: var(--ct-light-text-3);
}

.widget-3abe37 .ct-vh-meta {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
  align-items: center;
}

.widget-3abe37 .ct-vh-badge {
  font-size: 0.68rem;
  font-weight: 900;
  color: #93c5fd;
  background: rgba(59, 130, 246, 0.2);
  padding: 2px 7px;
  border-radius: 5px;
}

.widget-3abe37 .ct-status-badge {
  font-size: 0.68rem;
  font-weight: 900;
  padding: 3px 9px;
  border-radius: 999px;
  text-transform: uppercase;
}

.widget-3abe37 .ct-status-badge.cs-pending {
  background: #fef3c7;
  color: #92400e;
}

.widget-3abe37 .ct-status-badge.cs-in-progress {
  background: #dbeafe;
  color: #1e40af;
}

.widget-3abe37 .ct-status-badge.cs-completed {
  background: #dcfce7;
  color: #166534;
}

.widget-3abe37 .ct-status-badge.cs-delivered {
  background: #f0fdf4;
  color: #15803d;
}

.widget-3abe37 .ct-priority-badge {
  font-size: 0.65rem;
  font-weight: 900;
  padding: 3px 9px;
  border-radius: 999px;
}

.widget-3abe37 .ct-priority-badge.cp-normal {
  display: none;
}

.widget-3abe37 .ct-priority-badge.cp-high {
  background: #fef3c7;
  color: #b45309;
}

.widget-3abe37 .ct-priority-badge.cp-urgent {
  background: #fee2e2;
  color: #b91c1c;
}

.widget-3abe37 .ct-vh-right {
  text-align: center;
  flex-shrink: 0;
}

.widget-3abe37 .ct-big-pct {
  font-size: 2rem;
  font-weight: 900;
  color: #60a5fa;
  line-height: 1;
}

.widget-3abe37 .ct-pct-label {
  font-size: 0.68rem;
  color: rgba(255, 255, 255, 0.4);
  text-transform: uppercase;
  letter-spacing: 0.4px;
  margin-top: 2px;
  font-weight: 900;
}

.widget-3abe37 .ct-ring-section {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 18px;
  padding: 24px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}

.widget-3abe37.ct-light .customer-tracker:not(.cs-page) .ct-ring-section {
  background: var(--ct-light-surface);
  border: 1px solid var(--ct-light-border);
}

.widget-3abe37 .ct-ring-wrap {
  position: relative;
  width: 180px;
  height: 180px;
}

.widget-3abe37 .ct-ring-svg {
  width: 100%;
  height: 100%;
}

.widget-3abe37 .ct-ring-bg {
  stroke: rgba(255, 255, 255, 0.08);
}

.widget-3abe37 .ct-ring-fill {
  stroke: var(--ct-accent);
  stroke-dasharray: 515;
  stroke-dashoffset: 515;
  transition: stroke-dashoffset 1s cubic-bezier(0.4, 0, 0.2, 1);
}

.widget-3abe37 .ct-ring-inner {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
}

.widget-3abe37 .ct-ring-pct {
  font-size: 2.2rem;
  font-weight: 900;
  color: #fff;
  line-height: 1;
}

.widget-3abe37 .ct-ring-step {
  font-size: 0.74rem;
  color: rgba(255, 255, 255, 0.55);
  text-align: center;
  max-width: 110px;
  line-height: 1.3;
  font-weight: 650;
}

.widget-3abe37.ct-light .customer-tracker:not(.cs-page) .ct-ring-pct {
  color: var(--ct-light-text);
}

.widget-3abe37.ct-light .customer-tracker:not(.cs-page) .ct-ring-step {
  color: var(--ct-light-text-3);
}

.widget-3abe37 .ct-ring-stats {
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
  max-width: 340px;
  justify-content: center;
  flex-wrap: wrap;
}

.widget-3abe37 .ct-ring-stat {
  text-align: center;
}

.widget-3abe37 .ct-rs-val {
  font-size: 1.35rem;
  font-weight: 900;
  color: #fff;
  line-height: 1;
}

.widget-3abe37 .ct-rs-lbl {
  font-size: 0.66rem;
  color: rgba(255, 255, 255, 0.45);
  text-transform: uppercase;
  letter-spacing: 0.4px;
  margin-top: 2px;
  font-weight: 900;
}

.widget-3abe37.ct-light .customer-tracker:not(.cs-page) .ct-rs-val {
  color: var(--ct-light-text);
}

.widget-3abe37.ct-light .customer-tracker:not(.cs-page) .ct-rs-lbl {
  color: var(--ct-light-text-3);
}

.widget-3abe37 .ct-ring-divider {
  width: 1px;
  height: 36px;
  background: rgba(255, 255, 255, 0.1);
}

.widget-3abe37 .ct-live-dot {
  display: flex;
  align-items: center;
  gap: 5px;
}

.widget-3abe37 .ct-pulse {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #22c55e;
  display: inline-block;
  position: relative;
}

.widget-3abe37 .ct-pulse::before {
  content: "";
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  background: rgba(34, 197, 94, 0.3);
  animation: cdt-livePulse 1.8s ease-in-out infinite;
}

@keyframes cdt-livePulse {
  0%, 100% {
    transform: scale(1);
    opacity: 0.8;
  }
  50% {
    transform: scale(1.5);
    opacity: 0;
  }
}
.widget-3abe37 .ct-live-label {
  font-size: 0.72rem;
  font-weight: 900;
  color: #22c55e;
  text-transform: uppercase;
  letter-spacing: 0.4px;
}

.widget-3abe37 .ct-timeline-section {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 18px;
  padding: 20px;
}

.widget-3abe37 .ct-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
  gap: 12px;
  flex-wrap: wrap;
}

.widget-3abe37 .ct-section-title {
  font-size: 0.96rem;
  font-weight: 900;
  color: #fff;
}

.widget-3abe37.ct-light .customer-tracker:not(.cs-page) .ct-timeline-section {
  background: var(--ct-light-surface);
  border: 1px solid var(--ct-light-border);
}

.widget-3abe37.ct-light .customer-tracker:not(.cs-page) .ct-section-title {
  color: var(--ct-light-text);
}

.widget-3abe37.ct-light .customer-tracker:not(.cs-page) .ct-last-updated {
  color: var(--ct-light-text-3);
}

.widget-3abe37 .ct-timeline {
  display: flex;
  flex-direction: column;
}

.widget-3abe37 .ct-tl-item {
  display: flex;
  gap: 14px;
  padding-bottom: 20px;
  position: relative;
}

.widget-3abe37 .ct-tl-item:last-child {
  padding-bottom: 0;
}

.widget-3abe37 .ct-tl-item:not(:last-child)::before {
  content: "";
  position: absolute;
  left: 18px;
  top: 40px;
  bottom: 0;
  width: 2px;
  background: rgba(255, 255, 255, 0.08);
}

.widget-3abe37 .ct-tl-item.tl-done::before {
  background: linear-gradient(to bottom, #22c55e, rgba(34, 197, 94, 0.2));
}

.widget-3abe37 .ct-tl-item.tl-active::before {
  background: linear-gradient(to bottom, var(--ct-accent), rgba(255, 255, 255, 0.05));
}

.widget-3abe37 .ct-tl-icon {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  position: relative;
  z-index: 1;
  font-size: 0.8rem;
  font-weight: 900;
}

.widget-3abe37 .tl-pending .ct-tl-icon {
  background: rgba(255, 255, 255, 0.06);
  border: 2px solid rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.28);
}

.widget-3abe37 .tl-done .ct-tl-icon {
  background: #16a34a;
  border: 2px solid #16a34a;
  color: #fff;
}

.widget-3abe37 .tl-active .ct-tl-icon {
  background: var(--ct-accent);
  border: 2px solid var(--ct-accent);
  color: #fff;
  animation: cdt-activePulse 2s ease-in-out infinite;
}

@keyframes cdt-activePulse {
  0%, 100% {
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.2);
  }
  50% {
    box-shadow: 0 0 0 8px rgba(59, 130, 246, 0.08);
  }
}
.widget-3abe37 .ct-tl-content {
  flex: 1;
  padding-top: 6px;
  min-width: 0;
}

.widget-3abe37 .ct-tl-name {
  font-size: 0.9rem;
  font-weight: 900;
  margin-bottom: 2px;
}

.widget-3abe37 .tl-done .ct-tl-name {
  color: #4ade80;
}

.widget-3abe37 .tl-active .ct-tl-name {
  color: #93c5fd;
}

.widget-3abe37 .tl-pending .ct-tl-name {
  color: rgba(255, 255, 255, 0.32);
}

.widget-3abe37 .ct-tl-desc {
  font-size: 0.75rem;
  line-height: 1.4;
}

.widget-3abe37 .tl-done .ct-tl-desc {
  color: rgba(74, 222, 128, 0.58);
}

.widget-3abe37 .tl-active .ct-tl-desc {
  color: rgba(147, 197, 253, 0.7);
}

.widget-3abe37 .tl-pending .ct-tl-desc {
  color: rgba(255, 255, 255, 0.18);
}

.widget-3abe37 .ct-tl-time {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 0.7rem;
  color: #4ade80;
  font-weight: 900;
  margin-top: 3px;
  background: rgba(34, 197, 94, 0.1);
  padding: 2px 7px;
  border-radius: 10px;
}

.widget-3abe37 .ct-tl-active-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.7rem;
  font-weight: 900;
  color: #93c5fd;
  background: rgba(59, 130, 246, 0.16);
  border: 1px solid rgba(59, 130, 246, 0.3);
  padding: 3px 9px;
  border-radius: 10px;
  margin-top: 5px;
}

.widget-3abe37 .tl-active-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--ct-accent);
  animation: cdt-blink 1.2s ease-in-out infinite;
}

@keyframes cdt-blink {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.2;
  }
}
.widget-3abe37 .ct-details-section {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 18px;
  padding: 20px;
}

.widget-3abe37 .ct-details-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: rgba(255, 255, 255, 0.06);
  border-radius: 14px;
  overflow: hidden;
  margin-top: 14px;
}

.widget-3abe37 .ct-detail-item {
  background: rgba(255, 255, 255, 0.03);
  padding: 12px 14px;
}

.widget-3abe37 .ctdi-label {
  font-size: 0.68rem;
  color: rgba(255, 255, 255, 0.38);
  text-transform: uppercase;
  letter-spacing: 0.4px;
  font-weight: 900;
  margin-bottom: 3px;
}

.widget-3abe37 .ctdi-value {
  font-size: 0.88rem;
  font-weight: 900;
  color: #fff;
  word-break: break-word;
}

.widget-3abe37.ct-light .customer-tracker:not(.cs-page) .ct-details-section {
  background: var(--ct-light-surface);
  border: 1px solid var(--ct-light-border);
}

.widget-3abe37.ct-light .customer-tracker:not(.cs-page) .ct-details-grid {
  background: rgba(15, 23, 42, 0.06);
}

.widget-3abe37.ct-light .customer-tracker:not(.cs-page) .ct-detail-item {
  background: rgba(255, 255, 255, 0.85);
}

.widget-3abe37.ct-light .customer-tracker:not(.cs-page) .ctdi-label {
  color: var(--ct-light-text-3);
}

.widget-3abe37.ct-light .customer-tracker:not(.cs-page) .ctdi-value {
  color: var(--ct-light-text);
}

.widget-3abe37 .ct-extra-section {
  display: flex;
  gap: 12px;
}

.widget-3abe37 .ct-tech-card {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 12px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 14px;
  padding: 16px 18px;
}

.widget-3abe37.ct-light .customer-tracker:not(.cs-page) .ct-tech-card {
  background: var(--ct-light-surface);
  border: 1px solid var(--ct-light-border);
}

.widget-3abe37 .ct-tech-icon {
  width: 40px;
  height: 40px;
  background: rgba(59, 130, 246, 0.22);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #60a5fa;
  flex-shrink: 0;
}

.widget-3abe37 .ct-tech-icon svg {
  width: 18px;
  height: 18px;
}

.widget-3abe37 .ct-tech-role {
  font-size: 0.68rem;
  color: rgba(255, 255, 255, 0.42);
  text-transform: uppercase;
  letter-spacing: 0.4px;
  font-weight: 900;
  margin-bottom: 2px;
}

.widget-3abe37 .ct-tech-name {
  font-size: 0.92rem;
  font-weight: 900;
  color: #fff;
}

.widget-3abe37.ct-light .customer-tracker:not(.cs-page) .ct-tech-role {
  color: var(--ct-light-text-3);
}

.widget-3abe37.ct-light .customer-tracker:not(.cs-page) .ct-tech-name {
  color: var(--ct-light-text);
}

.widget-3abe37 .ct-notes-card {
  flex: 1;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 14px;
  padding: 16px 18px;
}

.widget-3abe37 .ct-notes-label {
  font-size: 0.68rem;
  color: rgba(255, 255, 255, 0.42);
  text-transform: uppercase;
  letter-spacing: 0.4px;
  font-weight: 900;
  margin-bottom: 7px;
}

.widget-3abe37 .ct-notes-text {
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.5;
  font-weight: 650;
}

.widget-3abe37.ct-light .customer-tracker:not(.cs-page) .ct-notes-card {
  background: var(--ct-light-surface);
  border: 1px solid var(--ct-light-border);
}

.widget-3abe37.ct-light .customer-tracker:not(.cs-page) .ct-notes-label {
  color: var(--ct-light-text-3);
}

.widget-3abe37.ct-light .customer-tracker:not(.cs-page) .ct-notes-text {
  color: var(--ct-light-text-2);
}

.widget-3abe37 .ct-bottom-actions {
  display: flex;
  gap: 10px;
  justify-content: center;
  padding-top: 6px;
  flex-wrap: wrap;
}

.widget-3abe37 .ct-btn-back {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 11px 20px;
  background: rgba(255, 255, 255, 0.07);
  border: 1.5px solid rgba(255, 255, 255, 0.14);
  border-radius: 14px;
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.88rem;
  font-weight: 900;
}

.widget-3abe37 .ct-btn-back svg {
  width: 15px;
  height: 15px;
}

.widget-3abe37 .ct-btn-back:hover {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}

.widget-3abe37.ct-light .customer-tracker:not(.cs-page) .ct-btn-back {
  background: rgba(15, 23, 42, 0.06);
  border: 1.5px solid var(--ct-light-border);
  color: var(--ct-light-text-2);
}

.widget-3abe37.ct-light .customer-tracker:not(.cs-page) .ct-btn-back:hover {
  color: var(--ct-light-text);
}

.widget-3abe37 .ct-btn-refresh {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 11px 20px;
  background: var(--ct-accent);
  border: none;
  border-radius: 14px;
  color: #fff;
  font-size: 0.88rem;
  font-weight: 900;
}

.widget-3abe37 .ct-btn-refresh svg {
  width: 15px;
  height: 15px;
}

.widget-3abe37 .ct-btn-refresh:hover {
  background: var(--pri-dk);
}

/* ── Customer Progress: Top Refresh Bar ── */
.widget-3abe37 .ct-refresh-top-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 16px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 14px;
  flex-wrap: wrap;
}

.widget-3abe37.ct-light .customer-tracker:not(.cs-page) .ct-refresh-top-bar {
  background: var(--ct-light-surface);
  border: 1px solid var(--ct-light-border);
}

.widget-3abe37 .ct-refresh-top-left {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.widget-3abe37 .ct-refresh-auto-label {
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.55);
  font-weight: 700;
}

.widget-3abe37.ct-light .customer-tracker:not(.cs-page) .ct-refresh-auto-label {
  color: var(--ct-light-text-3);
}

.widget-3abe37 .ct-refresh-countdown {
  font-weight: 900;
  color: rgba(255, 255, 255, 0.75);
}

.widget-3abe37.ct-light .customer-tracker:not(.cs-page) .ct-refresh-countdown {
  color: var(--ct-light-text);
}

.widget-3abe37 .ct-refresh-top-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 16px;
  background: var(--ct-accent);
  border: none;
  border-radius: 10px;
  color: #fff;
  font-size: 0.82rem;
  font-weight: 900;
  white-space: nowrap;
  flex-shrink: 0;
}

.widget-3abe37 .ct-refresh-top-btn svg {
  width: 14px;
  height: 14px;
}

.widget-3abe37 .ct-refresh-top-btn:hover {
  background: var(--pri-dk);
}

.widget-3abe37 .ct-overdue-bar {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 12px 16px;
  background: rgba(220, 38, 38, 0.12);
  border: 1.5px solid rgba(220, 38, 38, 0.35);
  border-radius: 14px;
  color: #fca5a5;
  font-size: 0.85rem;
  font-weight: 900;
}

.widget-3abe37 .ct-overdue-bar svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  color: #f87171;
}

.widget-3abe37 .ct-celebration-bar {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 20px;
  background: linear-gradient(135deg, rgba(22, 163, 74, 0.18), rgba(34, 197, 94, 0.1));
  border: 1.5px solid rgba(34, 197, 94, 0.35);
  border-radius: 14px;
}

.widget-3abe37 .ct-cel-emoji {
  font-size: 1.8rem;
  flex-shrink: 0;
}

.widget-3abe37 .ct-cel-title {
  font-size: 0.96rem;
  font-weight: 900;
  color: #4ade80;
  margin-bottom: 1px;
}

.widget-3abe37 .ct-cel-sub {
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.4;
  font-weight: 650;
}

.widget-3abe37 .ct-live-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.widget-3abe37 .ct-last-updated {
  font-size: 0.68rem;
  color: rgba(255, 255, 255, 0.38);
  font-weight: 700;
}

.widget-3abe37 .ct-step-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.widget-3abe37 .ct-pill {
  font-size: 0.62rem;
  font-weight: 900;
  padding: 4px 9px;
  border-radius: 999px;
  text-transform: uppercase;
  white-space: nowrap;
}

.widget-3abe37 .ct-pill-done {
  background: rgba(34, 197, 94, 0.15);
  color: #4ade80;
  border: 1px solid rgba(34, 197, 94, 0.25);
}

.widget-3abe37 .ct-pill-active {
  background: rgba(59, 130, 246, 0.22);
  color: #93c5fd;
  border: 1px solid rgba(59, 130, 246, 0.34);
  animation: cdt-pillPulse 2s ease-in-out infinite;
}

.widget-3abe37 .ct-pill-pending {
  background: rgba(255, 255, 255, 0.04);
  color: rgba(255, 255, 255, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.07);
}

@keyframes cdt-pillPulse {
  0%, 100% {
    box-shadow: 0 0 6px rgba(59, 130, 246, 0.2);
  }
  50% {
    box-shadow: 0 0 12px rgba(59, 130, 246, 0.4);
  }
}
/* ══════════════════════════════════════
   CUSTOMER SCHEDULER (light/dark versions)
   ══════════════════════════════════════ */
.widget-3abe37 .customer-tracker.cs-page {
  background: radial-gradient(1200px 600px at 20% 0%, rgba(59, 130, 246, 0.18), transparent 60%), linear-gradient(135deg, var(--cs-bg-start) 0%, var(--cs-bg-mid) 50%, var(--cs-bg-end) 100%);
}

/* Apply the same scheduler background theme when viewing the scheduler inside admin mode */
.widget-3abe37 .admin-wrapper .customer-tracker.cs-page {
  background: radial-gradient(1200px 600px at 20% 0%, rgba(59, 130, 246, 0.18), transparent 60%), linear-gradient(135deg, var(--cs-bg-start) 0%, var(--cs-bg-mid) 50%, var(--cs-bg-end) 100%);
}

.widget-3abe37 .customer-tracker.cs-page .ct-header {
  background: color-mix(in srgb, var(--cs-surface) 86%, transparent);
  border-bottom: 1px solid var(--cs-border);
}

/* Header styling when scheduler is displayed inside admin wrapper */
.widget-3abe37 .admin-wrapper .customer-tracker.cs-page .ct-header {
  background: color-mix(in srgb, var(--cs-surface) 86%, transparent);
  border-bottom: 1px solid var(--cs-border);
}

.widget-3abe37 .customer-tracker.cs-page .ct-brand-icon {
  background: var(--cs-accent);
}

.widget-3abe37 .customer-tracker.cs-page .ct-brand-name {
  color: var(--cs-text);
}

.widget-3abe37 .customer-tracker.cs-page .ct-back-btn {
  background: var(--cs-surface-2);
  border: 1px solid var(--cs-border);
  color: var(--cs-text-2);
}

.widget-3abe37 .customer-tracker.cs-page .ct-back-btn:hover {
  background: var(--cs-surface);
  color: var(--cs-text);
}

.widget-3abe37 .cs-wrap {
  max-width: 1120px;
  margin: 0 auto;
  padding: 28px 16px 56px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.widget-3abe37 .cs-hero {
  text-align: center;
  padding-top: 8px;
  position: relative;
}

.widget-3abe37 .cs-title {
  font-size: 1.7rem;
  font-weight: 900;
  color: var(--cs-text);
  margin-bottom: 8px;
  letter-spacing: -0.4px;
}

.widget-3abe37.cs-dark .cs-title {
  color: #ffffff;
}

.widget-3abe37 .cs-sub {
  font-size: 0.92rem;
  color: var(--cs-text-3);
  line-height: 1.5;
  font-weight: 650;
  max-width: 720px;
  margin: 0 auto;
}

.widget-3abe37 .cs-theme-toggle {
  position: absolute;
  right: 0;
  top: 0;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 999px;
  background: var(--cs-surface-2);
  border: 1px solid var(--cs-border);
  color: var(--cs-text-2);
  font-weight: 900;
  font-size: 0.82rem;
}

.widget-3abe37 .cs-theme-toggle:hover {
  background: var(--cs-surface);
  color: var(--cs-text);
}

.widget-3abe37 .cs-theme-toggle .toggle-pill {
  width: 38px;
  height: 22px;
  border-radius: 999px;
  border: 1px solid var(--cs-border);
  background: var(--cs-muted);
  position: relative;
  flex-shrink: 0;
}

.widget-3abe37 .cs-theme-toggle .toggle-pill::after {
  content: "";
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--cs-surface);
  position: absolute;
  left: 2px;
  top: 50%;
  transform: translateY(-50%);
  transition: left 0.18s ease;
}

.widget-3abe37.cs-dark .cs-theme-toggle .toggle-pill::after {
  left: 18px;
}

.widget-3abe37 .cs-grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 14px;
  align-items: start;
}

.widget-3abe37 .cs-card {
  background: var(--cs-surface);
  border: 1px solid var(--cs-border);
  border-radius: 18px;
  padding: 18px 18px;
  backdrop-filter: blur(18px);
}

.widget-3abe37 .cs-card-title {
  font-size: 0.92rem;
  font-weight: 900;
  color: var(--cs-text);
  margin-bottom: 12px;
}

.widget-3abe37 .cs-section-label {
  font-size: 0.68rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: var(--cs-text-3);
  margin-bottom: 10px;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--cs-border);
}

.widget-3abe37 .cs-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.widget-3abe37 .cs-form .fg label {
  color: var(--cs-text-2);
}

.widget-3abe37 .cs-form .fg input,
.widget-3abe37 .cs-form .fg select,
.widget-3abe37 .cs-form .fg textarea {
  background: var(--cs-surface-2);
  border: 1.5px solid var(--cs-border);
  color: var(--cs-text);
}

.widget-3abe37 .cs-form .fg input:focus,
.widget-3abe37 .cs-form .fg select:focus,
.widget-3abe37 .cs-form .fg textarea:focus {
  border-color: var(--cs-accent);
  background: color-mix(in srgb, var(--cs-accent) 10%, var(--cs-surface-2));
}

.widget-3abe37 .cs-form .readonly-field {
  background: var(--cs-surface-2);
  border: 1.5px dashed color-mix(in srgb, var(--cs-border) 82%, transparent);
  color: var(--cs-text);
}

.widget-3abe37 .cs-time-help {
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 14px;
  background: var(--cs-surface-2);
  border: 1px solid var(--cs-border);
  color: var(--cs-text-2);
  font-size: 0.82rem;
  font-weight: 650;
}

.widget-3abe37 .cs-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 12px;
}

.widget-3abe37 .cs-primary-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 16px;
  border-radius: 14px;
  background: var(--cs-accent);
  border: 1px solid color-mix(in srgb, var(--cs-border) 70%, transparent);
  color: #fff;
  font-weight: 900;
  font-size: 0.9rem;
}

.widget-3abe37 .cs-primary-btn:hover {
  background: color-mix(in srgb, var(--cs-accent) 85%, #000 15%);
}

.widget-3abe37 .cs-primary-btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.widget-3abe37 .cs-small-note {
  margin-top: 10px;
  font-size: 0.78rem;
  color: var(--cs-text-3);
  font-weight: 650;
}

.widget-3abe37 .cs-cal-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
}

.widget-3abe37 .cs-cal-month {
  font-size: 0.9rem;
  font-weight: 900;
  color: var(--cs-text);
  text-align: center;
  flex: 1;
}

.widget-3abe37 .cs-icon-btn {
  width: 34px;
  height: 34px;
  border-radius: 12px;
  border: 1px solid var(--cs-border);
  background: var(--cs-surface-2);
  color: var(--cs-text);
  font-size: 1.1rem;
}

.widget-3abe37 .cs-icon-btn:hover {
  background: var(--cs-surface);
}

.widget-3abe37 .cs-cal-grid-header {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  border: 1px solid var(--cs-border);
  border-bottom: none;
  border-radius: 16px 16px 0 0;
  background: var(--cs-surface-2);
}

.widget-3abe37 .cs-cal-grid-header span {
  padding: 8px 6px;
  text-align: center;
  font-size: 0.68rem;
  font-weight: 900;
  color: var(--cs-text-3);
  text-transform: uppercase;
}

.widget-3abe37 .cs-cal-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  border: 1px solid var(--cs-border);
  border-radius: 0 0 16px 16px;
  overflow: hidden;
  background: var(--cs-surface);
}

.widget-3abe37 .cs-cal-cell {
  min-height: 56px;
  padding: 7px;
  border-right: 1px solid color-mix(in srgb, var(--cs-border) 70%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--cs-border) 70%, transparent);
  cursor: pointer;
}

.widget-3abe37 .cs-cal-cell:nth-child(7n) {
  border-right: none;
}

.widget-3abe37 .cs-cal-cell:hover {
  background: color-mix(in srgb, var(--cs-accent) 10%, transparent);
}

.widget-3abe37 .cs-cal-cell.other {
  opacity: 0.45;
  cursor: default;
}

.widget-3abe37 .cs-cal-cell.today {
  background: color-mix(in srgb, var(--cs-accent) 10%, transparent);
}

.widget-3abe37 .cs-cal-cell.selected {
  background: color-mix(in srgb, var(--cs-accent) 18%, transparent);
}

.widget-3abe37 .cs-cal-day {
  font-size: 0.78rem;
  font-weight: 900;
  color: var(--cs-text);
  margin-bottom: 4px;
}

.widget-3abe37 .cs-cal-dots {
  display: flex;
  flex-wrap: wrap;
  gap: 2px;
}

.widget-3abe37 .cs-cal-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--cs-accent-2);
}

.widget-3abe37 .cs-day-panel {
  margin-top: 12px;
}

.widget-3abe37 .cs-day-hint {
  font-size: 0.82rem;
  color: var(--cs-text-3);
  text-align: center;
  padding: 12px 0;
  font-weight: 650;
}

.widget-3abe37 .cs-day-title {
  font-size: 0.78rem;
  color: var(--cs-text-3);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-weight: 900;
  margin-bottom: 10px;
}

.widget-3abe37 .cs-day-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.widget-3abe37 .cs-day-item {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid var(--cs-border);
  background: var(--cs-surface-2);
}

.widget-3abe37 .cs-day-main {
  min-width: 0;
}

.widget-3abe37 .cs-day-name {
  font-size: 0.88rem;
  font-weight: 900;
  color: var(--cs-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.widget-3abe37 .cs-day-sub {
  font-size: 0.76rem;
  color: var(--cs-text-3);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-weight: 650;
}

.widget-3abe37 .cs-day-time {
  font-size: 0.78rem;
  color: var(--cs-text);
  font-weight: 900;
  flex-shrink: 0;
}

/* ── MODALS ── */
.widget-3abe37 .modal-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1000;
  align-items: center;
  justify-content: center;
  padding: 16px;
}

.widget-3abe37 .modal-overlay.open {
  display: flex;
}

.widget-3abe37 .modal {
  background: var(--adm-surface);
  border-radius: 14px;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-height: 92vh;
  box-shadow: var(--shadow-lg);
  animation: cdt-modalIn 0.22s ease;
  border: 1px solid var(--adm-border);
}

.widget-3abe37 .modal-form {
  max-width: 680px;
}

.widget-3abe37 .modal-detail {
  max-width: 820px;
}

.widget-3abe37 .modal-confirm {
  max-width: 380px;
  padding: 30px 22px;
  text-align: center;
}

.widget-3abe37 .modal-package {
  max-width: 620px;
}

.widget-3abe37 .modal-photo {
  max-width: 860px;
}

@keyframes cdt-modalIn {
  from {
    opacity: 0;
    transform: scale(0.96) translateY(8px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}
.widget-3abe37 .modal-header {
  padding: 16px 20px 12px;
  border-bottom: 1px solid var(--adm-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
}

.widget-3abe37 .modal-header h2 {
  font-size: 1rem;
  font-weight: 900;
  color: var(--adm-text);
}

.widget-3abe37 .modal-close {
  width: 32px;
  height: 32px;
  background: rgba(148, 163, 184, 0.12);
  border: none;
  border-radius: 10px;
  color: var(--adm-text-3);
  font-size: 0.9rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.widget-3abe37 .modal-close:hover {
  background: rgba(148, 163, 184, 0.18);
}

.widget-3abe37 .modal-body {
  overflow-y: auto;
  padding: 18px 20px;
  flex: 1;
}

.widget-3abe37 .modal-footer {
  padding: 12px 20px;
  border-top: 1px solid var(--adm-border);
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  flex-shrink: 0;
}

.widget-3abe37 .detail-footer {
  justify-content: space-between;
}

.widget-3abe37 .footer-btns-right {
  display: flex;
  gap: 10px;
}

.widget-3abe37 .photo-preview-img {
  width: 100%;
  height: auto;
  max-height: 70vh;
  object-fit: contain;
  border-radius: 14px;
  border: 1px solid var(--adm-border);
  background: rgba(0, 0, 0, 0.04);
}

/* Ensure coupon form is always above coupons list */
.widget-3abe37 #couponFormModal {
  z-index: 2100;
}

.widget-3abe37 #couponsModal {
  z-index: 2000;
}

/* Ensure edit/new job form always appears above the job detail lightbox */
.widget-3abe37 #jobFormModal {
  z-index: 1200;
}

/* Confirm modal always on top of everything */
.widget-3abe37 #confirmModal {
  z-index: 2200;
}

/* ── FORM ── */
.widget-3abe37 .form-section-label {
  font-size: 0.7rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: var(--adm-text-3);
  margin-bottom: 10px;
  padding-bottom: 5px;
  border-bottom: 1px solid var(--adm-border);
}

.widget-3abe37 .form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.widget-3abe37 .fg {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.widget-3abe37 .fg label {
  font-size: 0.75rem;
  font-weight: 800;
  color: var(--adm-text-2);
}

.widget-3abe37 .fg .req {
  color: var(--rose);
}

.widget-3abe37 .fg input, .widget-3abe37 .fg select, .widget-3abe37 .fg textarea {
  padding: 8px 10px;
  border: 1.5px solid var(--adm-border);
  border-radius: 12px;
  font-size: 0.85rem;
  color: var(--adm-text);
  background: rgba(148, 163, 184, 0.1);
  outline: none;
  min-width: 0;
}

.widget-3abe37 .fg input:focus, .widget-3abe37 .fg select:focus, .widget-3abe37 .fg textarea:focus {
  border-color: var(--pri);
  background: rgba(148, 163, 184, 0.08);
}

.widget-3abe37 .fg textarea {
  resize: vertical;
}

.widget-3abe37 .fg select {
  cursor: pointer;
}

.widget-3abe37 .fg-full {
  grid-column: 1/-1;
}

.widget-3abe37 .fg-inline {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.8rem;
  color: var(--adm-text-3);
  font-weight: 700;
}

.widget-3abe37 .fg-inline select {
  padding: 4px 8px;
  border: 1.5px solid var(--adm-border);
  border-radius: 10px;
  background: rgba(148, 163, 184, 0.1);
  outline: none;
  font-size: 0.8rem;
  color: var(--adm-text);
}

.widget-3abe37 .fg-error {
  font-size: 0.72rem;
  color: #fca5a5;
  margin-top: 1px;
  display: none;
  font-weight: 800;
}

.widget-3abe37 .fg-error.visible {
  display: block;
}

.widget-3abe37 .fg input.invalid, .widget-3abe37 .fg select.invalid, .widget-3abe37 .fg textarea.invalid {
  border-color: var(--danger);
  background: rgba(220, 38, 38, 0.08);
}

/* ── DETAIL MODAL ── */
.widget-3abe37 .detail-modal-header {
  flex-direction: column;
  align-items: stretch;
}

.widget-3abe37 .detail-title-area {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 6px;
}

.widget-3abe37 .detail-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--pri);
  color: #fff;
  font-size: 1.1rem;
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.widget-3abe37 .detail-sub-row {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 4px;
  flex-wrap: wrap;
}

.widget-3abe37 .job-id-chip {
  font-size: 0.7rem;
  font-weight: 900;
  color: var(--pri);
  background: var(--pri-lt);
  padding: 2px 7px;
  border-radius: 5px;
}

.widget-3abe37 .detail-tabs {
  display: flex;
  border-bottom: 2px solid var(--adm-border);
  margin-bottom: 16px;
  overflow-x: auto;
}

.widget-3abe37 .detail-tab {
  padding: 9px 14px;
  border: none;
  background: none;
  color: var(--adm-text-3);
  font-size: 0.82rem;
  font-weight: 800;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  white-space: nowrap;
}

.widget-3abe37 .detail-tab:hover {
  color: var(--pri);
}

.widget-3abe37 .detail-tab.active {
  color: var(--pri);
  border-bottom-color: var(--pri);
  font-weight: 900;
}

.widget-3abe37 .tab-panel {
  display: none;
}

.widget-3abe37 .tab-panel.active {
  display: block;
}

.widget-3abe37 .overview-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.widget-3abe37 .ov-section-label {
  font-size: 0.7rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--adm-text-3);
  margin-bottom: 6px;
}

.widget-3abe37 .info-card {
  background: rgba(148, 163, 184, 0.1);
  border: 1px solid var(--adm-border);
  border-radius: 14px;
  padding: 10px 12px;
}

.widget-3abe37 .info-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 4px 0;
  border-bottom: 1px solid var(--adm-border);
  gap: 10px;
}

.widget-3abe37 .info-row:last-child {
  border-bottom: none;
}

.widget-3abe37 .ir-label {
  font-size: 0.75rem;
  color: var(--adm-text-3);
  font-weight: 700;
}

.widget-3abe37 .ir-value {
  font-size: 0.82rem;
  font-weight: 800;
  color: var(--adm-text);
  text-align: right;
  max-width: 60%;
  word-break: break-word;
}

.widget-3abe37 .ov-progress-bar-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

.widget-3abe37 .ov-progress-bar-bg {
  flex: 1;
  height: 9px;
  background: rgba(148, 163, 184, 0.24);
  border-radius: 5px;
  overflow: hidden;
}

.widget-3abe37 .ov-progress-bar-fill {
  height: 100%;
  border-radius: 5px;
  background: linear-gradient(90deg, var(--pri), #60a5fa);
  transition: width 0.5s ease;
}

.widget-3abe37 .ov-progress-pct {
  font-size: 0.85rem;
  font-weight: 900;
  color: var(--pri);
  min-width: 34px;
  text-align: right;
}

.widget-3abe37 .step-mini-dots {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
}

.widget-3abe37 .smd {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: rgba(148, 163, 184, 0.25);
}

.widget-3abe37 .smd.done {
  background: var(--green);
}

.widget-3abe37 .smd.active {
  background: var(--pri);
}

.widget-3abe37 .steps-timeline {
  display: flex;
  flex-direction: column;
}

.widget-3abe37 .st-item {
  display: flex;
  gap: 12px;
  padding-bottom: 16px;
  position: relative;
}

.widget-3abe37 .st-item:last-child {
  padding-bottom: 0;
}

.widget-3abe37 .st-item:not(:last-child)::before {
  content: "";
  position: absolute;
  left: 14px;
  top: 32px;
  bottom: 0;
  width: 2px;
  background: var(--adm-border);
}

.widget-3abe37 .st-item.st-done::before {
  background: var(--green);
}

.widget-3abe37 .st-item.st-active::before {
  background: linear-gradient(to bottom, var(--pri), var(--adm-border));
}

.widget-3abe37 .st-circle {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 2px solid var(--adm-border);
  background: var(--adm-surface);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.7rem;
  font-weight: 900;
  color: var(--adm-text-3);
  flex-shrink: 0;
  cursor: pointer;
  position: relative;
  z-index: 1;
}

.widget-3abe37 .st-item.st-done .st-circle {
  background: var(--green);
  border-color: var(--green);
  color: #fff;
}

.widget-3abe37 .st-item.st-active .st-circle {
  background: var(--pri);
  border-color: var(--pri);
  color: #fff;
}

.widget-3abe37 .st-content {
  flex: 1;
  padding-top: 3px;
  min-width: 0;
}

.widget-3abe37 .st-name {
  font-size: 0.88rem;
  font-weight: 900;
  color: var(--adm-text);
}

.widget-3abe37 .st-desc {
  font-size: 0.75rem;
  color: var(--adm-text-3);
  margin-top: 1px;
  font-weight: 600;
}

.widget-3abe37 .st-time {
  font-size: 0.7rem;
  color: var(--pri);
  margin-top: 3px;
  font-weight: 800;
}

.widget-3abe37 .st-btn {
  margin-top: 5px;
  padding: 6px 12px;
  border: 1.5px solid var(--pri);
  border-radius: 10px;
  background: transparent;
  color: var(--pri);
  font-size: 0.75rem;
  font-weight: 900;
}

.widget-3abe37 .st-btn:hover {
  background: rgba(37, 99, 235, 0.1);
}

.widget-3abe37 .next-step {
  background: rgba(37, 99, 235, 0.08);
  border: 1px solid rgba(37, 99, 235, 0.22);
  border-radius: 14px;
  padding: 12px 12px;
  margin-bottom: 14px;
}

.widget-3abe37 .ns-title {
  font-size: 0.72rem;
  color: var(--pri);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  margin-bottom: 6px;
}

.widget-3abe37 .ns-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.widget-3abe37 .ns-name {
  font-size: 0.92rem;
  font-weight: 900;
  color: var(--adm-text);
}

.widget-3abe37 .ns-sub {
  font-size: 0.78rem;
  color: var(--adm-text-3);
  margin-top: 3px;
  font-weight: 650;
}

.widget-3abe37 .notes-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.widget-3abe37 .notes-col {
  background: rgba(148, 163, 184, 0.08);
  border: 1px solid var(--adm-border);
  border-radius: 14px;
  padding: 12px 12px;
}

.widget-3abe37 .notes-col-title {
  font-size: 0.82rem;
  font-weight: 900;
  color: var(--adm-text);
  margin-bottom: 8px;
}

.widget-3abe37 .notes-helper {
  font-size: 0.76rem;
  color: var(--adm-text-3);
  margin: 6px 0 8px;
  font-weight: 600;
}

.widget-3abe37 .notes-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 10px;
}

.widget-3abe37 .note-textarea {
  width: 100%;
  padding: 10px 12px;
  border: 1.5px solid var(--adm-border);
  border-radius: 12px;
  background: rgba(148, 163, 184, 0.1);
  color: var(--adm-text);
  outline: none;
  font-size: 0.86rem;
  font-weight: 650;
  resize: vertical;
}

.widget-3abe37 .note-textarea:focus {
  border-color: var(--pri);
  background: rgba(148, 163, 184, 0.08);
}

.widget-3abe37 .notes-list {
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin-bottom: 12px;
}

.widget-3abe37 .note-item {
  background: rgba(148, 163, 184, 0.1);
  border: 1px solid var(--adm-border);
  border-radius: 12px;
  padding: 9px 11px;
}

.widget-3abe37 .note-text {
  font-size: 0.85rem;
  color: var(--adm-text);
  font-weight: 650;
}

.widget-3abe37 .note-meta {
  font-size: 0.7rem;
  color: var(--adm-text-3);
  margin-top: 3px;
  font-weight: 650;
}

.widget-3abe37 .no-notes {
  font-size: 0.82rem;
  color: var(--adm-text-3);
  padding: 10px 0;
  font-weight: 650;
}

.widget-3abe37 .add-note-row {
  display: flex;
  gap: 7px;
}

.widget-3abe37 .note-input {
  flex: 1;
  padding: 8px 11px;
  border: 1.5px solid var(--adm-border);
  border-radius: 12px;
  font-size: 0.85rem;
  color: var(--adm-text);
  outline: none;
  font-family: inherit;
  background: rgba(148, 163, 184, 0.1);
  font-weight: 650;
}

.widget-3abe37 .note-input:focus {
  border-color: var(--pri);
}

.widget-3abe37 .photo-tabs {
  display: flex;
  gap: 5px;
  margin-bottom: 12px;
}

.widget-3abe37 .photo-tab {
  padding: 6px 12px;
  border: 1.5px solid var(--adm-border);
  border-radius: 999px;
  background: transparent;
  color: var(--adm-text-3);
  font-size: 0.78rem;
  font-weight: 800;
}

.widget-3abe37 .photo-tab:hover {
  border-color: var(--pri);
  color: var(--pri);
}

.widget-3abe37 .photo-tab.active {
  background: var(--pri);
  border-color: var(--pri);
  color: #fff;
}

.widget-3abe37 .photos-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
  gap: 9px;
  margin-bottom: 10px;
}

.widget-3abe37 .photo-add-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 96px;
  border: 2px dashed var(--adm-border);
  border-radius: 14px;
  color: var(--adm-text-3);
  font-size: 0.75rem;
  font-weight: 800;
  cursor: pointer;
  background: rgba(148, 163, 184, 0.06);
}

.widget-3abe37 .photo-add-btn svg {
  width: 20px;
  height: 20px;
}

.widget-3abe37 .photo-add-btn:hover {
  border-color: var(--pri);
  color: var(--pri);
}

.widget-3abe37 .photo-thumb-wrap {
  position: relative;
  border-radius: 14px;
  overflow: hidden;
  height: 96px;
  border: 1px solid var(--adm-border);
  background: rgba(0, 0, 0, 0.04);
}

.widget-3abe37 .photo-thumb {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.widget-3abe37 .photo-label-tag {
  position: absolute;
  bottom: 6px;
  left: 6px;
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  font-size: 0.62rem;
  font-weight: 900;
  padding: 2px 7px;
  border-radius: 999px;
  text-transform: uppercase;
}

.widget-3abe37 .photo-del-btn {
  position: absolute;
  top: 6px;
  right: 6px;
  width: 28px;
  height: 28px;
  background: rgba(220, 38, 38, 0.92);
  border: none;
  border-radius: 10px;
  color: #fff;
  font-size: 0.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
}

.widget-3abe37 .photo-thumb-wrap:hover .photo-del-btn {
  opacity: 1;
}

.widget-3abe37 .history-list {
  display: flex;
  flex-direction: column;
}

.widget-3abe37 .history-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 9px 0;
  border-bottom: 1px solid var(--adm-border);
}

.widget-3abe37 .history-item:last-child {
  border-bottom: none;
}

.widget-3abe37 .hi-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--pri);
  margin-top: 4px;
  flex-shrink: 0;
}

.widget-3abe37 .hi-text {
  font-size: 0.82rem;
  color: var(--adm-text);
  font-weight: 650;
}

.widget-3abe37 .hi-time {
  font-size: 0.7rem;
  color: var(--adm-text-3);
  margin-top: 1px;
  font-weight: 650;
}

/* ── BUTTONS ── */
.widget-3abe37 .btn-primary {
  padding: 9px 18px;
  background: var(--pri);
  color: #fff;
  border: none;
  border-radius: 12px;
  font-size: 0.85rem;
  font-weight: 900;
}

.widget-3abe37 .btn-primary:hover {
  background: var(--pri-dk);
}

.widget-3abe37 .btn-primary.btn-sm {
  padding: 7px 12px;
  font-size: 0.8rem;
}

.widget-3abe37 .btn-secondary {
  padding: 9px 18px;
  background: transparent;
  color: var(--adm-text-2);
  border: 1.5px solid var(--adm-border);
  border-radius: 12px;
  font-size: 0.85rem;
  font-weight: 900;
}

.widget-3abe37 .btn-secondary:hover {
  background: rgba(148, 163, 184, 0.12);
}

.widget-3abe37 .btn-danger {
  padding: 9px 18px;
  background: transparent;
  color: #fca5a5;
  border: 1.5px solid rgba(252, 165, 165, 0.85);
  border-radius: 12px;
  font-size: 0.85rem;
  font-weight: 900;
}

.widget-3abe37 .btn-danger:hover {
  background: rgba(220, 38, 38, 0.12);
}

.widget-3abe37 .btn-delivered {
  padding: 9px 18px;
  background: var(--green);
  color: #fff;
  border: none;
  border-radius: 12px;
  font-size: 0.85rem;
  font-weight: 900;
}

.widget-3abe37 .btn-delivered:hover {
  background: #15803d;
}

.widget-3abe37 .btn-delivered:disabled {
  background: #86efac;
  cursor: not-allowed;
}

.widget-3abe37 .confirm-icon {
  font-size: 2.2rem;
  margin-bottom: 8px;
}

.widget-3abe37 .modal-confirm h3 {
  font-size: 1rem;
  font-weight: 900;
  margin-bottom: 6px;
  color: var(--adm-text);
}

.widget-3abe37 .modal-confirm p {
  font-size: 0.85rem;
  color: var(--adm-text-3);
  margin-bottom: 20px;
  font-weight: 650;
}

.widget-3abe37 .confirm-btns {
  display: flex;
  gap: 10px;
  justify-content: center;
}

/* ── TOAST ── */
.widget-3abe37 .toast-wrap {
  position: fixed;
  bottom: 18px;
  right: 18px;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: 7px;
  max-width: min(340px, 100vw - 24px);
}

.widget-3abe37 .toast {
  background: #1f2937;
  color: #fff;
  padding: 11px 16px;
  border-radius: 12px;
  font-size: 0.85rem;
  font-weight: 700;
  box-shadow: var(--shadow-md);
  animation: cdt-toastIn 0.25s ease;
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 220px;
}

.widget-3abe37 .toast.toast-success {
  background: var(--green);
}

.widget-3abe37 .toast.toast-error {
  background: var(--danger);
}

.widget-3abe37 .toast.toast-warning {
  background: var(--amber);
}

@keyframes cdt-toastIn {
  from {
    opacity: 0;
    transform: translateX(14px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
/* ══════════════════════════════════════
   UX/UI POLISH
   - clearer click targets
   - better form guidance + errors
   - improved scheduler card usability
   ══════════════════════════════════════ */
.widget-3abe37 .icon-btn,
.widget-3abe37 .cs-icon-btn,
.widget-3abe37 .modal-close,
.widget-3abe37 .photo-del-btn {
  min-width: 44px;
  min-height: 44px;
}

.widget-3abe37 .chip,
.widget-3abe37 .nav-item,
.widget-3abe37 .detail-tab,
.widget-3abe37 .photo-tab {
  min-height: 40px;
}

/* Make required marker more noticeable in scheduler */
.widget-3abe37 .customer-tracker.cs-page .req {
  font-weight: 900;
}

/* Stronger invalid state in customer scheduler */
.widget-3abe37 .customer-tracker.cs-page .cs-form .fg input.invalid,
.widget-3abe37 .customer-tracker.cs-page .cs-form .fg select.invalid,
.widget-3abe37 .customer-tracker.cs-page .cs-form .fg textarea.invalid {
  border-color: color-mix(in srgb, var(--danger) 70%, var(--cs-border));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--danger) 22%, transparent);
}

.widget-3abe37 .customer-tracker.cs-page .cs-form .fg .fg-error {
  display: block;
  min-height: 16px;
  font-size: 0.74rem;
  font-weight: 800;
  color: color-mix(in srgb, var(--danger) 80%, var(--cs-text));
  opacity: 0;
  transform: translateY(-2px);
  transition: opacity 0.15s ease, transform 0.15s ease;
}

.widget-3abe37 .customer-tracker.cs-page .cs-form .fg .fg-error.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Scheduler: make the date picker feel connected to the calendar */
.widget-3abe37 .customer-tracker.cs-page #csDate {
  cursor: pointer;
}

/* Scheduler day list readability */
.widget-3abe37 .customer-tracker.cs-page .cs-day-item {
  transition: background 0.15s ease, border-color 0.15s ease;
}

.widget-3abe37 .customer-tracker.cs-page .cs-day-item:hover {
  background: color-mix(in srgb, var(--cs-accent) 10%, var(--cs-surface-2));
  border-color: color-mix(in srgb, var(--cs-accent) 35%, var(--cs-border));
}

/* Customer progress: make timeline items easier to scan */
.widget-3abe37 .ct-tl-item {
  padding-bottom: 22px;
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
  .widget-3abe37 * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
/* ── ALERT BAR ── */
.widget-3abe37 .dash-alert-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 14px;
  background: rgba(220, 38, 38, 0.1);
  border: 1.5px solid rgba(220, 38, 38, 0.25);
  border-radius: var(--radius);
  margin-bottom: 16px;
}

.widget-3abe37 .dab-inner {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #fca5a5;
  font-size: 0.85rem;
  font-weight: 900;
}

.widget-3abe37 .dab-inner svg {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
}

.widget-3abe37 .dab-dismiss {
  background: none;
  border: none;
  color: #fca5a5;
  font-size: 0.82rem;
  opacity: 0.85;
  padding: 2px 5px;
  flex-shrink: 0;
  font-weight: 900;
}

.widget-3abe37 .dab-dismiss:hover {
  opacity: 1;
}

/* ══════════════════════════════════════
   AIRTABLE SYNC INDICATOR
   ══════════════════════════════════════ */
.widget-3abe37 .at-sync-btn {
  position: relative;
  width: 36px;
  height: 36px;
  background: transparent;
  border: 1.5px solid var(--adm-border);
  border-radius: 10px;
  color: var(--adm-text-3);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background 0.15s, border-color 0.15s;
}

.widget-3abe37 .at-sync-btn svg {
  width: 16px;
  height: 16px;
}

.widget-3abe37 .at-sync-btn:hover {
  background: rgba(148, 163, 184, 0.12);
}

.widget-3abe37 .at-sync-dot {
  position: absolute;
  top: -4px;
  right: -4px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 2px solid var(--adm-surface);
}

.widget-3abe37 .at-sync-dot.at-sync-idle {
  background: #9ca3af;
}

.widget-3abe37 .at-sync-dot.at-sync-syncing {
  background: #f59e0b;
  animation: cdt-livePulse 1s ease-in-out infinite;
}

.widget-3abe37 .at-sync-dot.at-sync-ok {
  background: #22c55e;
}

.widget-3abe37 .at-sync-dot.at-sync-error {
  background: #ef4444;
}

/* ══════════════════════════════════════
   AIRTABLE SETUP GUIDE MODAL
   ══════════════════════════════════════ */
.widget-3abe37 #airtableSetupModal {
  z-index: 1700;
}

.widget-3abe37 .at-setup-step {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 14px 0;
  border-bottom: 1px solid var(--adm-border);
}

.widget-3abe37 .at-setup-step:last-of-type {
  border-bottom: none;
}

.widget-3abe37 .at-step-num {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--pri);
  color: #fff;
  font-size: 0.85rem;
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 1px;
}

.widget-3abe37 .at-step-body {
  flex: 1;
  min-width: 0;
}

.widget-3abe37 .at-step-title {
  font-size: 0.92rem;
  font-weight: 900;
  color: var(--adm-text);
  margin-bottom: 5px;
}

.widget-3abe37 .at-step-desc {
  font-size: 0.84rem;
  color: var(--adm-text-2);
  font-weight: 600;
  line-height: 1.55;
}

.widget-3abe37 .at-step-desc strong {
  color: var(--adm-text);
  font-weight: 900;
}

.widget-3abe37 .at-step-desc em {
  font-style: normal;
  color: var(--pri);
  font-weight: 800;
}

.widget-3abe37 .at-step-desc code {
  background: rgba(148, 163, 184, 0.15);
  border: 1px solid var(--adm-border);
  border-radius: 5px;
  padding: 1px 6px;
  font-family: "Courier New", monospace;
  font-size: 0.78rem;
  color: var(--adm-text);
}

.widget-3abe37 .at-table-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

.widget-3abe37 .at-table-chip {
  font-size: 0.75rem;
  font-weight: 900;
  padding: 4px 10px;
  border-radius: 8px;
  background: var(--pri-lt);
  color: var(--pri);
  border: 1px solid rgba(37, 99, 235, 0.22);
}

.widget-3abe37 .at-setup-tip {
  margin-top: 16px;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 14px;
  background: rgba(37, 99, 235, 0.08);
  border: 1px solid rgba(37, 99, 235, 0.22);
  border-radius: 14px;
  color: var(--adm-text-2);
  font-size: 0.84rem;
  font-weight: 650;
  line-height: 1.5;
}

.widget-3abe37 .at-setup-tip svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  color: var(--pri);
  margin-top: 2px;
}

.widget-3abe37 .notif-bell-btn {
  position: relative;
  width: 36px;
  height: 36px;
  background: transparent;
  border: 1.5px solid var(--adm-border);
  border-radius: 10px;
  color: var(--adm-text-2);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background 0.15s, border-color 0.15s;
}

.widget-3abe37 .notif-bell-btn svg {
  width: 17px;
  height: 17px;
}

.widget-3abe37 .notif-bell-btn:hover {
  background: rgba(148, 163, 184, 0.12);
  border-color: var(--pri);
  color: var(--pri);
}

.widget-3abe37 .notif-bell-badge {
  position: absolute;
  top: -5px;
  right: -5px;
  background: var(--rose);
  color: #fff;
  font-size: 0.58rem;
  font-weight: 900;
  min-width: 16px;
  height: 16px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
  border: 2px solid var(--adm-surface);
  line-height: 1;
}

/* ══════════════════════════════════════
   NOTIFICATIONS SLIDE-IN PANEL
   ══════════════════════════════════════ */
.widget-3abe37 .notif-panel {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: 360px;
  max-width: calc(100vw - 24px);
  background: var(--adm-surface);
  border-left: 1px solid var(--adm-border);
  z-index: 1500;
  display: flex;
  flex-direction: column;
  box-shadow: -8px 0 40px rgba(0, 0, 0, 0.18);
  transform: translateX(110%);
  transition: transform 0.26s cubic-bezier(0.4, 0, 0.2, 1);
}

.widget-3abe37 .notif-panel.open {
  transform: translateX(0);
}

.widget-3abe37 .notif-panel-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.35);
  z-index: 1499;
  display: none;
}

.widget-3abe37 .notif-panel.open ~ .notif-panel-overlay,
.widget-3abe37 .notif-panel-overlay.open {
  display: block;
}

/* Hacky: show overlay when panel open — controlled via JS */
.widget-3abe37 .notif-panel-header {
  padding: 16px 18px;
  border-bottom: 1px solid var(--adm-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
}

.widget-3abe37 .notif-panel-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 1rem;
  font-weight: 900;
  color: var(--adm-text);
}

.widget-3abe37 .notif-panel-title svg {
  width: 18px;
  height: 18px;
  color: var(--pri);
}

.widget-3abe37 .notif-clear-btn {
  padding: 5px 10px;
  background: transparent;
  border: 1.5px solid var(--adm-border);
  border-radius: 8px;
  color: var(--adm-text-3);
  font-size: 0.75rem;
  font-weight: 800;
}

.widget-3abe37 .notif-clear-btn:hover {
  background: rgba(148, 163, 184, 0.12);
  color: var(--danger);
  border-color: var(--danger);
}

.widget-3abe37 .notif-list {
  flex: 1;
  overflow-y: auto;
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.widget-3abe37 .notif-empty {
  text-align: center;
  padding: 28px 14px;
  color: var(--adm-text-3);
  font-size: 0.86rem;
  font-weight: 650;
  line-height: 1.6;
}

.widget-3abe37 .notif-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 13px;
  background: rgba(148, 163, 184, 0.08);
  border: 1px solid var(--adm-border);
  border-radius: 14px;
  position: relative;
}

.widget-3abe37 .notif-item.notif-unread {
  border-color: rgba(37, 99, 235, 0.35);
  background: rgba(37, 99, 235, 0.07);
}

.widget-3abe37 .notif-icon {
  font-size: 1.4rem;
  flex-shrink: 0;
  margin-top: 1px;
}

.widget-3abe37 .notif-body {
  flex: 1;
  min-width: 0;
}

.widget-3abe37 .notif-title {
  font-size: 0.88rem;
  font-weight: 900;
  color: var(--adm-text);
  margin-bottom: 2px;
}

.widget-3abe37 .notif-vehicle {
  font-size: 0.76rem;
  color: var(--adm-text-3);
  font-weight: 700;
  margin-bottom: 5px;
}

.widget-3abe37 .notif-msg {
  font-size: 0.82rem;
  color: var(--adm-text-2);
  font-weight: 650;
  line-height: 1.45;
  margin-bottom: 6px;
}

.widget-3abe37 .notif-contacts {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-bottom: 5px;
}

.widget-3abe37 .notif-contact-line {
  font-size: 0.75rem;
  color: var(--adm-text-3);
  font-weight: 700;
}

.widget-3abe37 .notif-time {
  font-size: 0.68rem;
  color: var(--adm-text-3);
  font-weight: 650;
}

.widget-3abe37 .notif-del-btn {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 22px;
  height: 22px;
  background: rgba(148, 163, 184, 0.14);
  border: none;
  border-radius: 7px;
  color: var(--adm-text-3);
  font-size: 0.72rem;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.12s;
}

.widget-3abe37 .notif-item:hover .notif-del-btn {
  opacity: 1;
}

.widget-3abe37 .notif-del-btn:hover {
  background: rgba(220, 38, 38, 0.18);
  color: var(--danger);
}

/* ══════════════════════════════════════
   NOTIFY CUSTOMER MODAL
   ══════════════════════════════════════ */
.widget-3abe37 .modal-notify {
  max-width: 540px;
}

.widget-3abe37 #notifyModal {
  z-index: 1600;
}

.widget-3abe37 .notify-already-sent {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 12px;
  background: rgba(22, 163, 74, 0.1);
  border: 1px solid rgba(22, 163, 74, 0.3);
  border-radius: 12px;
  margin-bottom: 14px;
  color: var(--green);
  font-size: 0.82rem;
  font-weight: 800;
}

.widget-3abe37 .notify-already-sent svg {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
}

.widget-3abe37 .notify-job-summary {
  background: rgba(148, 163, 184, 0.1);
  border: 1px solid var(--adm-border);
  border-radius: 14px;
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 4px;
}

.widget-3abe37 .njs-row {
  display: flex;
  align-items: baseline;
  gap: 8px;
}

.widget-3abe37 .njs-label {
  font-size: 0.72rem;
  font-weight: 900;
  color: var(--adm-text-3);
  text-transform: uppercase;
  letter-spacing: 0.4px;
  min-width: 68px;
  flex-shrink: 0;
}

.widget-3abe37 .njs-value {
  font-size: 0.84rem;
  font-weight: 800;
  color: var(--adm-text);
}

.widget-3abe37 .notify-msg-textarea {
  width: 100%;
  padding: 10px 12px;
  border: 1.5px solid var(--adm-border);
  border-radius: 12px;
  background: rgba(148, 163, 184, 0.1);
  color: var(--adm-text);
  font-size: 0.86rem;
  font-weight: 650;
  resize: vertical;
  outline: none;
  font-family: inherit;
  margin-top: 8px;
}

.widget-3abe37 .notify-msg-textarea:focus {
  border-color: var(--pri);
  background: rgba(148, 163, 184, 0.08);
}

.widget-3abe37 .notify-regen-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: 8px;
  flex-wrap: wrap;
}

.widget-3abe37 .notify-hint {
  font-size: 0.74rem;
  color: var(--adm-text-3);
  font-weight: 650;
  line-height: 1.4;
  flex: 1;
}

/* ══════════════════════════════════════
   NOTIFY BUTTON STYLE
   ══════════════════════════════════════ */
.widget-3abe37 .btn-notify {
  padding: 9px 18px;
  background: linear-gradient(135deg, #f59e0b, #d97706);
  color: #fff;
  border: none;
  border-radius: 12px;
  font-size: 0.85rem;
  font-weight: 900;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}

.widget-3abe37 .btn-notify:hover {
  background: linear-gradient(135deg, #d97706, #b45309);
}

.widget-3abe37 .btn-notify.btn-sm {
  padding: 7px 12px;
  font-size: 0.8rem;
}

/* ══════════════════════════════════════
   READY NOTIFICATION PROMPT (floating)
   ══════════════════════════════════════ */
.widget-3abe37 .ready-notif-prompt {
  position: fixed;
  bottom: 80px;
  right: 18px;
  z-index: 1450;
  max-width: 340px;
  background: var(--adm-surface);
  border: 1.5px solid rgba(22, 163, 74, 0.45);
  border-radius: 16px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.22);
  padding: 14px 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  animation: cdt-toastIn 0.25s ease;
}

.widget-3abe37 .rnp-icon {
  font-size: 1.8rem;
  flex-shrink: 0;
}

.widget-3abe37 .rnp-body {
  flex: 1;
  min-width: 0;
}

.widget-3abe37 .rnp-title {
  font-size: 0.9rem;
  font-weight: 900;
  color: var(--green);
  margin-bottom: 2px;
}

.widget-3abe37 .rnp-sub {
  font-size: 0.78rem;
  color: var(--adm-text-2);
  font-weight: 650;
  line-height: 1.4;
}

.widget-3abe37 .rnp-actions {
  display: flex;
  flex-direction: column;
  gap: 5px;
  flex-shrink: 0;
}

/* ══════════════════════════════════════
   CUSTOMER "READY" NOTIFICATION BANNER
   ══════════════════════════════════════ */
.widget-3abe37 .ct-ready-notif-bar {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 16px 18px;
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.16), rgba(251, 191, 36, 0.1));
  border: 1.5px solid rgba(245, 158, 11, 0.4);
  border-radius: 16px;
  position: relative;
  overflow: hidden;
}

.widget-3abe37 .ct-ready-notif-bar::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(251, 191, 36, 0.07), transparent);
  pointer-events: none;
}

.widget-3abe37 .ct-ready-notif-icon {
  font-size: 1.7rem;
  flex-shrink: 0;
  animation: cdt-bellRing 1.2s ease-in-out 2;
}

@keyframes cdt-bellRing {
  0%, 100% {
    transform: rotate(0deg);
  }
  15% {
    transform: rotate(14deg);
  }
  30% {
    transform: rotate(-12deg);
  }
  45% {
    transform: rotate(10deg);
  }
  60% {
    transform: rotate(-8deg);
  }
  75% {
    transform: rotate(5deg);
  }
}
.widget-3abe37 .ct-ready-notif-body {
  flex: 1;
  min-width: 0;
}

.widget-3abe37 .ct-ready-notif-title {
  font-size: 0.82rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  color: #f59e0b;
  margin-bottom: 5px;
}

.widget-3abe37 .ct-ready-notif-msg {
  font-size: 0.9rem;
  font-weight: 800;
  color: #fff;
  line-height: 1.5;
  margin-bottom: 6px;
}

.widget-3abe37.ct-light .ct-ready-notif-msg {
  color: var(--ct-light-text);
}

.widget-3abe37 .ct-ready-notif-time {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.45);
  font-weight: 650;
}

.widget-3abe37.ct-light .ct-ready-notif-time {
  color: var(--ct-light-text-3);
}

/* Dark admin: notif panel adjustments */
.widget-3abe37.dark-admin .notif-panel {
  background: var(--adm-surface);
  border-color: var(--adm-border);
}

.widget-3abe37.dark-admin .notif-item {
  border-color: var(--adm-border);
}

@media (min-width: 768px) and (max-width: 1024px) {
  .widget-3abe37 .kpi-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .widget-3abe37 .dash-grid {
    grid-template-columns: 1fr;
  }
  .widget-3abe37 .sidebar-overlay.open {
    display: block;
  }
  .widget-3abe37 .jobs-grid {
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  }
  .widget-3abe37 .cs-grid {
    grid-template-columns: 1fr;
  }
}
/* ══════════════════════════════════════
   RESPONSIVE — MOBILE
   ══════════════════════════════════════ */
@media (max-width: 767px) {
  .widget-3abe37 .cdt-app {
    height: 100dvh;
  }
  .widget-3abe37 .cdt-sidebar {
    position: fixed;
    top: 0;
    left: 0;
    height: 100dvh;
    transform: translateX(-100%);
    z-index: 300;
  }
  .widget-3abe37 .cdt-sidebar.open {
    transform: translateX(0);
  }
  .widget-3abe37 .sidebar-overlay.open {
    display: block;
  }
  .widget-3abe37 .hamburger {
    display: flex;
  }
  .widget-3abe37 .sticky-actions {
    display: flex;
  }
  .widget-3abe37 .kpi-grid {
    grid-template-columns: 1fr 1fr;
  }
  .widget-3abe37 .kpi-card {
    padding: 12px;
  }
  .widget-3abe37 .kpi-icon {
    width: 34px;
    height: 34px;
  }
  .widget-3abe37 .kpi-icon svg {
    width: 18px;
    height: 18px;
  }
  .widget-3abe37 .kpi-value {
    font-size: 1.2rem;
  }
  .widget-3abe37 .dash-grid {
    grid-template-columns: 1fr;
  }
  .widget-3abe37 .view-panel {
    padding: 14px 12px 34px;
  }
  .widget-3abe37 .panel-header {
    flex-direction: column;
    align-items: stretch;
  }
  .widget-3abe37 .jobs-grid {
    grid-template-columns: 1fr;
  }
  .widget-3abe37 .packages-grid {
    grid-template-columns: 1fr;
  }
  .widget-3abe37 .customers-grid {
    grid-template-columns: 1fr;
  }
  .widget-3abe37 .form-grid {
    grid-template-columns: 1fr;
  }
  .widget-3abe37 .fg-full {
    grid-column: 1;
  }
  .widget-3abe37 .filter-group {
    display: none;
  }
  .widget-3abe37 .topbar {
    padding: 0 10px;
  }
  .widget-3abe37 .topbar-date {
    display: none;
  }
  .widget-3abe37 .topbar-search-wrap {
    max-width: 170px;
  }
  .widget-3abe37 .btn-outline-customer span {
    display: none;
  }
  .widget-3abe37 .btn-topbar-add span {
    display: none;
  }
  .widget-3abe37 .btn-topbar-add {
    padding: 7px 10px;
  }
  .widget-3abe37 .topbar-divider {
    display: none;
  }
  .widget-3abe37 .overview-two-col {
    grid-template-columns: 1fr;
  }
  .widget-3abe37 .detail-footer {
    flex-direction: column;
    gap: 8px;
  }
  .widget-3abe37 .footer-btns-right {
    justify-content: flex-end;
    flex-wrap: wrap;
  }
  .widget-3abe37 .coupon-row {
    grid-template-columns: 1fr;
  }
  .widget-3abe37 .coupon-actions {
    justify-content: flex-start;
  }
  .widget-3abe37 .sched-row {
    grid-template-columns: 1fr;
  }
  .widget-3abe37 .sched-actions {
    justify-content: flex-start;
  }
  .widget-3abe37 .notes-split {
    grid-template-columns: 1fr;
  }
  .widget-3abe37 .step-manage-card {
    grid-template-columns: 1fr;
  }
  .widget-3abe37 .step-manage-drag {
    display: none;
  }
  .widget-3abe37 .step-manage-actions {
    justify-content: flex-start;
  }
  .widget-3abe37 .ct-header-inner {
    padding: 12px 14px;
  }
  .widget-3abe37 .ct-vehicle-hero {
    flex-direction: column;
    text-align: center;
  }
  .widget-3abe37 .ct-vh-left {
    flex-direction: column;
    text-align: center;
  }
  .widget-3abe37 .ct-vh-meta {
    justify-content: center;
  }
  .widget-3abe37 .ct-details-grid {
    grid-template-columns: 1fr;
  }
  .widget-3abe37 .ct-extra-section {
    flex-direction: column;
  }
  .widget-3abe37 .ct-ring-stats {
    gap: 10px;
  }
  .widget-3abe37 .ct-ring-divider {
    display: none;
  }
  .widget-3abe37 .ct-header-spacer {
    display: none;
  }
  .widget-3abe37 .ct-bottom-actions {
    flex-direction: column;
  }
  .widget-3abe37 .ct-lookup-title {
    font-size: 1.4rem;
  }
  .widget-3abe37 .cal-grid-header span {
    font-size: 0.62rem;
    padding: 6px 2px;
  }
  .widget-3abe37 .cal-cell {
    min-height: 44px;
    padding: 4px;
  }
  .widget-3abe37 .cal-day-num {
    font-size: 0.7rem;
  }
  .widget-3abe37 .modal-form, .widget-3abe37 .modal-detail, .widget-3abe37 .modal-package, .widget-3abe37 .modal-coupon, .widget-3abe37 .modal-coupons, .widget-3abe37 .modal-scheduler, .widget-3abe37 .modal-photo {
    max-width: 100%;
  }
  .widget-3abe37 .cs-form-grid {
    grid-template-columns: 1fr;
  }
  .widget-3abe37 .cs-grid {
    grid-template-columns: 1fr;
  }
  .widget-3abe37 .cs-cal-cell {
    min-height: 46px;
    padding: 5px;
  }
  .widget-3abe37 .cs-cal-grid-header span {
    font-size: 0.62rem;
    padding: 6px 2px;
  }
  .widget-3abe37 .cs-theme-toggle {
    position: static;
    margin: 12px auto 0;
  }
}
/* ══════════════════════════════════════
   ADMIN PROGRESS VIEW
   Full-screen job-tracking board for
   admin use on tablet / mobile
   ══════════════════════════════════════ */
/* Page shell */
.widget-3abe37 .apv-page {
  position: fixed;
  inset: 0;
  z-index: 800;
  display: none;
  flex-direction: column;
  background: linear-gradient(135deg, #0b1220 0%, #111827 50%, #0b1220 100%);
  overflow: hidden;
  font-family: inherit;
}

.widget-3abe37 .apv-page.open {
  display: flex;
}

/* ── Header bar ── */
.widget-3abe37 .apv-header {
  flex-shrink: 0;
  background: rgba(255, 255, 255, 0.04);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  padding: 0 16px;
  height: 56px;
  display: flex;
  align-items: center;
  gap: 10px;
  position: sticky;
  top: 0;
  z-index: 50;
}

.widget-3abe37 .apv-back-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 10px;
  color: rgba(255, 255, 255, 0.85);
  font-size: 0.82rem;
  font-weight: 900;
  flex-shrink: 0;
}

.widget-3abe37 .apv-back-btn svg {
  width: 14px;
  height: 14px;
}

.widget-3abe37 .apv-back-btn:hover {
  background: rgba(255, 255, 255, 0.13);
  color: #fff;
}

.widget-3abe37 .apv-header-title {
  flex: 1;
  font-size: 0.97rem;
  font-weight: 900;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.widget-3abe37 .apv-header-actions {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}

.widget-3abe37 .apv-action-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 10px;
  font-size: 0.8rem;
  font-weight: 900;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.14);
  color: rgba(255, 255, 255, 0.85);
}

.widget-3abe37 .apv-action-btn svg {
  width: 14px;
  height: 14px;
}

.widget-3abe37 .apv-action-btn:hover {
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
}

.widget-3abe37 .apv-action-btn.apv-btn-blue {
  background: var(--pri);
  border-color: var(--pri);
  color: #fff;
}

.widget-3abe37 .apv-action-btn.apv-btn-blue:hover {
  background: var(--pri-dk);
}

.widget-3abe37 .apv-action-btn.apv-btn-green {
  background: rgba(22, 163, 74, 0.22);
  border-color: rgba(22, 163, 74, 0.4);
  color: #4ade80;
}

.widget-3abe37 .apv-action-btn.apv-btn-green:hover {
  background: rgba(22, 163, 74, 0.35);
}

.widget-3abe37 .apv-action-btn.apv-btn-red {
  background: rgba(220, 38, 38, 0.18);
  border-color: rgba(220, 38, 38, 0.35);
  color: #fca5a5;
}

.widget-3abe37 .apv-action-btn.apv-btn-red:hover {
  background: rgba(220, 38, 38, 0.3);
}

.widget-3abe37 .apv-action-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  pointer-events: none;
}

/* ── Sub-header: search + filter pills ── */
.widget-3abe37 .apv-sub-header {
  flex-shrink: 0;
  padding: 10px 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
  background: rgba(255, 255, 255, 0.02);
}

.widget-3abe37 .apv-search-wrap {
  position: relative;
  flex: 1;
  min-width: 140px;
  max-width: 320px;
}

.widget-3abe37 .apv-search-wrap svg {
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 14px;
  height: 14px;
  color: rgba(255, 255, 255, 0.4);
  pointer-events: none;
}

.widget-3abe37 .apv-search {
  width: 100%;
  padding: 7px 10px 7px 30px;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 10px;
  color: #fff;
  font-size: 0.83rem;
  font-weight: 700;
  outline: none;
}

.widget-3abe37 .apv-search::placeholder {
  color: rgba(255, 255, 255, 0.32);
}

.widget-3abe37 .apv-search:focus {
  border-color: var(--pri);
}

.widget-3abe37 .apv-filter-pills {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.widget-3abe37 .apv-pill {
  padding: 5px 12px;
  border-radius: 999px;
  font-size: 0.74rem;
  font-weight: 900;
  border: 1.5px solid rgba(255, 255, 255, 0.14);
  background: transparent;
  color: rgba(255, 255, 255, 0.55);
}

.widget-3abe37 .apv-pill:hover {
  border-color: rgba(255, 255, 255, 0.3);
  color: #fff;
}

.widget-3abe37 .apv-pill.active {
  background: var(--pri);
  border-color: var(--pri);
  color: #fff;
}

.widget-3abe37 .apv-pill.active-amber {
  background: #b45309;
  border-color: #b45309;
  color: #fff;
}

.widget-3abe37 .apv-pill.active-green {
  background: #15803d;
  border-color: #15803d;
  color: #fff;
}

/* ── Main body: two-pane layout ── */
.widget-3abe37 .apv-body {
  flex: 1;
  display: flex;
  overflow: hidden;
  min-height: 0;
}

/* Left pane: job list */
.widget-3abe37 .apv-list-pane {
  width: 320px;
  flex-shrink: 0;
  border-right: 1px solid rgba(255, 255, 255, 0.08);
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.widget-3abe37 .apv-list-empty {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 30px 20px;
  color: rgba(255, 255, 255, 0.35);
  font-size: 0.88rem;
  font-weight: 700;
  text-align: center;
}

.widget-3abe37 .apv-list-empty svg {
  width: 36px;
  height: 36px;
  opacity: 0.45;
}

.widget-3abe37 .apv-job-row {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 13px 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  cursor: pointer;
  transition: background 0.12s;
  position: relative;
}

.widget-3abe37 .apv-job-row:hover {
  background: rgba(255, 255, 255, 0.04);
}

.widget-3abe37 .apv-job-row.selected {
  background: rgba(37, 99, 235, 0.16);
  border-right: 3px solid var(--pri);
}

.widget-3abe37 .apv-row-avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.95rem;
  font-weight: 900;
  color: #fff;
  flex-shrink: 0;
}

.widget-3abe37 .apv-row-body {
  flex: 1;
  min-width: 0;
}

.widget-3abe37 .apv-row-name {
  font-size: 0.88rem;
  font-weight: 900;
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.widget-3abe37 .apv-row-vehicle {
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.5);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-weight: 700;
  margin-top: 1px;
}

.widget-3abe37 .apv-row-pkg {
  font-size: 0.7rem;
  color: #93c5fd;
  font-weight: 800;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-top: 2px;
}

.widget-3abe37 .apv-row-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  flex-shrink: 0;
}

.widget-3abe37 .apv-row-pct {
  font-size: 0.85rem;
  font-weight: 900;
  color: #60a5fa;
  line-height: 1;
}

.widget-3abe37 .apv-row-status {
  font-size: 0.62rem;
  font-weight: 900;
  padding: 2px 7px;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

.widget-3abe37 .apv-row-bar {
  height: 3px;
  width: 48px;
  border-radius: 2px;
  background: rgba(255, 255, 255, 0.1);
  overflow: hidden;
}

.widget-3abe37 .apv-row-bar-fill {
  height: 100%;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--pri), #60a5fa);
}

.widget-3abe37 .apv-row-overdue {
  font-size: 0.6rem;
  font-weight: 900;
  color: #fca5a5;
  background: rgba(220, 38, 38, 0.18);
  padding: 2px 6px;
  border-radius: 5px;
  border: 1px solid rgba(220, 38, 38, 0.3);
}

/* Right pane: job detail */
.widget-3abe37 .apv-detail-pane {
  flex: 1;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.widget-3abe37 .apv-detail-empty {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: rgba(255, 255, 255, 0.3);
  font-size: 0.92rem;
  font-weight: 700;
  padding: 30px 20px;
  text-align: center;
}

.widget-3abe37 .apv-detail-empty svg {
  width: 48px;
  height: 48px;
  opacity: 0.3;
}

.widget-3abe37 .apv-detail-inner {
  padding: 20px 20px 48px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* Hero row */
.widget-3abe37 .apv-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}

.widget-3abe37 .apv-hero-left {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.widget-3abe37 .apv-hero-avatar {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  font-weight: 900;
  color: #fff;
  flex-shrink: 0;
}

.widget-3abe37 .apv-hero-name {
  font-size: 1.1rem;
  font-weight: 900;
  color: #fff;
  margin-bottom: 2px;
}

.widget-3abe37 .apv-hero-vehicle {
  font-size: 0.82rem;
  color: rgba(255, 255, 255, 0.55);
  font-weight: 650;
  margin-bottom: 6px;
}

.widget-3abe37 .apv-hero-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  align-items: center;
}

.widget-3abe37 .apv-hero-id {
  font-size: 0.7rem;
  font-weight: 900;
  color: #93c5fd;
  background: rgba(59, 130, 246, 0.2);
  padding: 2px 7px;
  border-radius: 5px;
}

.widget-3abe37 .apv-hero-right {
  text-align: center;
  flex-shrink: 0;
}

.widget-3abe37 .apv-big-pct {
  font-size: 2.2rem;
  font-weight: 900;
  color: #60a5fa;
  line-height: 1;
}

.widget-3abe37 .apv-pct-label {
  font-size: 0.68rem;
  color: rgba(255, 255, 255, 0.4);
  text-transform: uppercase;
  letter-spacing: 0.4px;
  margin-top: 2px;
  font-weight: 900;
}

/* Ring section */
.widget-3abe37 .apv-ring-section {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 18px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

.widget-3abe37 .apv-ring-wrap {
  position: relative;
  width: 160px;
  height: 160px;
}

.widget-3abe37 .apv-ring-svg {
  width: 100%;
  height: 100%;
}

.widget-3abe37 .apv-ring-bg {
  stroke: rgba(255, 255, 255, 0.08);
}

.widget-3abe37 .apv-ring-fill {
  stroke: var(--pri);
  stroke-dasharray: 515;
  stroke-dashoffset: 515;
  transition: stroke-dashoffset 0.9s cubic-bezier(0.4, 0, 0.2, 1);
}

.widget-3abe37 .apv-ring-inner {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
}

.widget-3abe37 .apv-ring-pct {
  font-size: 1.9rem;
  font-weight: 900;
  color: #fff;
  line-height: 1;
}

.widget-3abe37 .apv-ring-step {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.5);
  text-align: center;
  max-width: 100px;
  line-height: 1.3;
  font-weight: 700;
}

.widget-3abe37 .apv-ring-stats {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  justify-content: center;
}

.widget-3abe37 .apv-ring-stat {
  text-align: center;
}

.widget-3abe37 .apv-rs-val {
  font-size: 1.2rem;
  font-weight: 900;
  color: #fff;
  line-height: 1;
}

.widget-3abe37 .apv-rs-lbl {
  font-size: 0.62rem;
  color: rgba(255, 255, 255, 0.42);
  text-transform: uppercase;
  letter-spacing: 0.4px;
  margin-top: 2px;
  font-weight: 900;
}

.widget-3abe37 .apv-ring-divider {
  width: 1px;
  height: 30px;
  background: rgba(255, 255, 255, 0.1);
}

/* Steps timeline */
.widget-3abe37 .apv-timeline-section {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 18px;
  padding: 18px;
}

.widget-3abe37 .apv-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 18px;
  gap: 10px;
}

.widget-3abe37 .apv-section-title {
  font-size: 0.95rem;
  font-weight: 900;
  color: #fff;
}

.widget-3abe37 .apv-live-dot {
  display: flex;
  align-items: center;
  gap: 5px;
}

.widget-3abe37 .apv-pulse {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #22c55e;
  display: inline-block;
  position: relative;
}

.widget-3abe37 .apv-pulse::before {
  content: "";
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  background: rgba(34, 197, 94, 0.3);
  animation: cdt-livePulse 1.8s ease-in-out infinite;
}

.widget-3abe37 .apv-live-label {
  font-size: 0.7rem;
  font-weight: 900;
  color: #22c55e;
  text-transform: uppercase;
  letter-spacing: 0.4px;
}

.widget-3abe37 .apv-step-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-bottom: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.widget-3abe37 .apv-timeline {
  display: flex;
  flex-direction: column;
}

.widget-3abe37 .apv-tl-item {
  display: flex;
  gap: 12px;
  padding-bottom: 18px;
  position: relative;
}

.widget-3abe37 .apv-tl-item:last-child {
  padding-bottom: 0;
}

.widget-3abe37 .apv-tl-item:not(:last-child)::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 36px;
  bottom: 0;
  width: 2px;
  background: rgba(255, 255, 255, 0.08);
}

.widget-3abe37 .apv-tl-item.atl-done::before {
  background: linear-gradient(to bottom, #22c55e, rgba(34, 197, 94, 0.2));
}

.widget-3abe37 .apv-tl-item.atl-active::before {
  background: linear-gradient(to bottom, var(--pri), rgba(255, 255, 255, 0.05));
}

.widget-3abe37 .apv-tl-icon {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  position: relative;
  z-index: 1;
  font-size: 0.75rem;
  font-weight: 900;
  cursor: pointer;
}

.widget-3abe37 .atl-pending .apv-tl-icon {
  background: rgba(255, 255, 255, 0.06);
  border: 2px solid rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.28);
}

.widget-3abe37 .atl-done .apv-tl-icon {
  background: #16a34a;
  border: 2px solid #16a34a;
  color: #fff;
}

.widget-3abe37 .atl-active .apv-tl-icon {
  background: var(--pri);
  border: 2px solid var(--pri);
  color: #fff;
  animation: cdt-activePulse 2s ease-in-out infinite;
}

.widget-3abe37 .apv-tl-content {
  flex: 1;
  padding-top: 4px;
  min-width: 0;
}

.widget-3abe37 .apv-tl-name {
  font-size: 0.88rem;
  font-weight: 900;
  margin-bottom: 2px;
}

.widget-3abe37 .atl-done .apv-tl-name {
  color: #4ade80;
}

.widget-3abe37 .atl-active .apv-tl-name {
  color: #93c5fd;
}

.widget-3abe37 .atl-pending .apv-tl-name {
  color: rgba(255, 255, 255, 0.38);
}

.widget-3abe37 .apv-tl-desc {
  font-size: 0.73rem;
  line-height: 1.4;
}

.widget-3abe37 .atl-done .apv-tl-desc {
  color: rgba(74, 222, 128, 0.55);
}

.widget-3abe37 .atl-active .apv-tl-desc {
  color: rgba(147, 197, 253, 0.65);
}

.widget-3abe37 .atl-pending .apv-tl-desc {
  color: rgba(255, 255, 255, 0.18);
}

.widget-3abe37 .apv-tl-time {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 0.68rem;
  color: #4ade80;
  font-weight: 900;
  margin-top: 3px;
  background: rgba(34, 197, 94, 0.1);
  padding: 2px 7px;
  border-radius: 10px;
}

.widget-3abe37 .apv-tl-step-btn {
  margin-top: 6px;
  padding: 5px 12px;
  border: 1.5px solid var(--pri);
  border-radius: 10px;
  background: transparent;
  color: var(--pri);
  font-size: 0.74rem;
  font-weight: 900;
  display: inline-flex;
}

.widget-3abe37 .apv-tl-step-btn:hover {
  background: rgba(37, 99, 235, 0.14);
}

.widget-3abe37 .apv-tl-undo-btn {
  margin-top: 6px;
  padding: 5px 12px;
  border: 1.5px solid rgba(255, 255, 255, 0.18);
  border-radius: 10px;
  background: transparent;
  color: rgba(255, 255, 255, 0.45);
  font-size: 0.74rem;
  font-weight: 900;
  display: inline-flex;
}

.widget-3abe37 .apv-tl-undo-btn:hover {
  border-color: rgba(252, 165, 165, 0.55);
  color: #fca5a5;
}

/* Details grid */
.widget-3abe37 .apv-details-section {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 18px;
  padding: 18px;
}

.widget-3abe37 .apv-details-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: rgba(255, 255, 255, 0.06);
  border-radius: 12px;
  overflow: hidden;
  margin-top: 12px;
}

.widget-3abe37 .apv-detail-item {
  background: rgba(255, 255, 255, 0.03);
  padding: 10px 12px;
}

.widget-3abe37 .apv-di-label {
  font-size: 0.66rem;
  color: rgba(255, 255, 255, 0.36);
  text-transform: uppercase;
  letter-spacing: 0.4px;
  font-weight: 900;
  margin-bottom: 3px;
}

.widget-3abe37 .apv-di-value {
  font-size: 0.86rem;
  font-weight: 900;
  color: #fff;
  word-break: break-word;
}

/* Notes strip */
.widget-3abe37 .apv-notes-section {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 18px;
  padding: 16px 18px;
}

.widget-3abe37 .apv-notes-label {
  font-size: 0.68rem;
  color: rgba(255, 255, 255, 0.4);
  text-transform: uppercase;
  letter-spacing: 0.4px;
  font-weight: 900;
  margin-bottom: 8px;
}

.widget-3abe37 .apv-notes-text {
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.5;
  font-weight: 650;
}

.widget-3abe37 .apv-notes-empty {
  font-size: 0.82rem;
  color: rgba(255, 255, 255, 0.28);
  font-weight: 650;
}

/* Overdue / celebration banners */
.widget-3abe37 .apv-overdue-bar {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 11px 14px;
  border-radius: 14px;
  background: rgba(220, 38, 38, 0.12);
  border: 1.5px solid rgba(220, 38, 38, 0.35);
  color: #fca5a5;
  font-size: 0.84rem;
  font-weight: 900;
}

.widget-3abe37 .apv-overdue-bar svg {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
  color: #f87171;
}

.widget-3abe37 .apv-done-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(22, 163, 74, 0.18), rgba(34, 197, 94, 0.1));
  border: 1.5px solid rgba(34, 197, 94, 0.35);
}

.widget-3abe37 .apv-done-emoji {
  font-size: 1.6rem;
  flex-shrink: 0;
}

.widget-3abe37 .apv-done-title {
  font-size: 0.95rem;
  font-weight: 900;
  color: #4ade80;
  margin-bottom: 1px;
}

.widget-3abe37 .apv-done-sub {
  font-size: 0.77rem;
  color: rgba(255, 255, 255, 0.58);
  font-weight: 650;
}

/* Mobile: single-pane mode — hide list, show detail full-width */
@media (max-width: 767px) {
  .widget-3abe37 .apv-list-pane {
    width: 100%;
    border-right: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  }
  .widget-3abe37 .apv-body {
    flex-direction: column;
  }
  .widget-3abe37 .apv-list-pane.apv-mobile-hidden {
    display: none;
  }
  .widget-3abe37 .apv-detail-pane.apv-mobile-hidden {
    display: none;
  }
  .widget-3abe37 .apv-detail-pane {
    flex: 1;
  }
  .widget-3abe37 .apv-details-grid {
    grid-template-columns: 1fr;
  }
  .widget-3abe37 .apv-back-mobile-btn {
    display: flex !important;
  }
}
@media (min-width: 768px) {
  .widget-3abe37 .apv-back-mobile-btn {
    display: none !important;
  }
}
/* ══════════════════════════════════════
   TECHNICIAN VIEW (tv-)
   Mobile-first work portal for technicians
   ══════════════════════════════════════ */
.widget-3abe37 .tv-page {
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, #0b1220 0%, #111827 60%, #0b1220 100%);
  z-index: 900;
  display: none;
  flex-direction: column;
  overflow: hidden;
  color: #e5e7eb;
}

.widget-3abe37 .tv-page.open {
  display: flex;
}

/* ── Header ── */
.widget-3abe37 .tv-header {
  background: rgba(15, 23, 42, 0.92);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  padding: 12px 14px;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  backdrop-filter: blur(12px);
  position: sticky;
  top: 0;
  z-index: 50;
}

.widget-3abe37 .tv-back-btn {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 7px 11px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 10px;
  color: rgba(255, 255, 255, 0.85);
  font-size: 0.8rem;
  font-weight: 900;
  flex-shrink: 0;
  white-space: nowrap;
}

.widget-3abe37 .tv-back-btn svg {
  width: 14px;
  height: 14px;
}

.widget-3abe37 .tv-back-btn:hover {
  background: rgba(255, 255, 255, 0.14);
}

.widget-3abe37 .tv-header-brand {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 9px;
  justify-content: center;
  min-width: 0;
}

.widget-3abe37 .tv-header-icon {
  width: 30px;
  height: 30px;
  background: #f59e0b;
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.widget-3abe37 .tv-header-icon svg {
  width: 16px;
  height: 16px;
  color: #fff;
}

.widget-3abe37 .tv-header-title {
  font-size: 0.95rem;
  font-weight: 900;
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.widget-3abe37 .tv-header-spacer {
  width: 80px;
  flex-shrink: 0;
}

/* ── Login screen ── */
.widget-3abe37 .tv-login-screen {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 16px;
}

.widget-3abe37 .tv-login-card {
  width: 100%;
  max-width: 400px;
  background: rgba(15, 23, 42, 0.82);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 20px;
  padding: 28px 22px;
  backdrop-filter: blur(18px);
}

.widget-3abe37 .tv-login-icon {
  width: 52px;
  height: 52px;
  background: rgba(245, 158, 11, 0.2);
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 14px;
  color: #f59e0b;
}

.widget-3abe37 .tv-login-icon svg {
  width: 26px;
  height: 26px;
}

.widget-3abe37 .tv-login-title {
  font-size: 1.2rem;
  font-weight: 900;
  color: #fff;
  text-align: center;
  margin-bottom: 5px;
}

.widget-3abe37 .tv-login-sub {
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.52);
  text-align: center;
  margin-bottom: 20px;
}

.widget-3abe37 .tv-login-label {
  font-size: 0.72rem;
  font-weight: 900;
  color: rgba(255, 255, 255, 0.5);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 8px;
}

.widget-3abe37 .tv-login-input {
  width: 100%;
  padding: 11px 13px;
  background: rgba(255, 255, 255, 0.07);
  border: 1.5px solid rgba(255, 255, 255, 0.14);
  border-radius: 13px;
  color: #fff;
  font-size: 0.95rem;
  font-weight: 800;
  font-family: inherit;
  outline: none;
  margin-bottom: 12px;
}

.widget-3abe37 .tv-login-input:focus {
  border-color: #f59e0b;
  background: rgba(245, 158, 11, 0.08);
}

.widget-3abe37 .tv-login-input::placeholder {
  color: rgba(255, 255, 255, 0.25);
}

.widget-3abe37 .tv-login-btn {
  width: 100%;
  padding: 12px;
  background: #f59e0b;
  border: none;
  border-radius: 13px;
  color: #fff;
  font-size: 0.95rem;
  font-weight: 900;
  font-family: inherit;
  margin-top: 4px;
}

.widget-3abe37 .tv-login-btn:hover {
  background: #d97706;
}

.widget-3abe37 .tv-login-error {
  margin-top: 10px;
  padding: 9px 12px;
  background: rgba(220, 38, 38, 0.14);
  border: 1px solid rgba(220, 38, 38, 0.3);
  border-radius: 11px;
  color: #fca5a5;
  font-size: 0.82rem;
  font-weight: 800;
  display: none;
}

/* ── Main body (after login) ── */
.widget-3abe37 .tv-main {
  flex: 1;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

/* ── Technician toolbar ── */
.widget-3abe37 .tv-toolbar {
  background: rgba(15, 23, 42, 0.88);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  padding: 10px 12px;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.widget-3abe37 .tv-toolbar-name {
  font-size: 0.82rem;
  font-weight: 900;
  color: #f59e0b;
  white-space: nowrap;
}

.widget-3abe37 .tv-toolbar-sep {
  flex: 1;
}

.widget-3abe37 .tv-search {
  padding: 7px 11px;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 10px;
  color: #e5e7eb;
  font-size: 0.82rem;
  font-family: inherit;
  outline: none;
  width: 160px;
  max-width: 50vw;
}

.widget-3abe37 .tv-search::placeholder {
  color: rgba(255, 255, 255, 0.28);
}

.widget-3abe37 .tv-search:focus {
  border-color: #f59e0b;
  background: rgba(245, 158, 11, 0.08);
}

.widget-3abe37 .tv-filter-chips {
  display: flex;
  gap: 5px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding-bottom: 1px;
}

.widget-3abe37 .tv-filter-chips::-webkit-scrollbar {
  display: none;
}

.widget-3abe37 .tv-chip {
  padding: 5px 12px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 999px;
  background: transparent;
  color: rgba(255, 255, 255, 0.55);
  font-size: 0.76rem;
  font-weight: 800;
  white-space: nowrap;
  font-family: inherit;
}

.widget-3abe37 .tv-chip.active {
  background: #f59e0b;
  border-color: #f59e0b;
  color: #fff;
}

.widget-3abe37 .tv-chip:hover:not(.active) {
  border-color: rgba(255, 255, 255, 0.35);
  color: #fff;
}

/* ── Body: split panes ── */
.widget-3abe37 .tv-body {
  flex: 1;
  display: flex;
  overflow: hidden;
}

.widget-3abe37 .tv-list-pane {
  width: 280px;
  min-width: 240px;
  border-right: 1px solid rgba(255, 255, 255, 0.08);
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
}

.widget-3abe37 .tv-detail-pane {
  flex: 1;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  min-width: 0;
}

/* ── Job list items ── */
.widget-3abe37 .tv-list-empty {
  padding: 28px 16px;
  text-align: center;
  color: rgba(255, 255, 255, 0.28);
  font-size: 0.82rem;
  font-weight: 650;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.widget-3abe37 .tv-list-empty svg {
  width: 32px;
  height: 32px;
  opacity: 0.4;
}

.widget-3abe37 .tv-job-row {
  padding: 12px 13px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 10px;
  transition: background 0.12s;
}

.widget-3abe37 .tv-job-row:hover {
  background: rgba(255, 255, 255, 0.05);
}

.widget-3abe37 .tv-job-row.selected {
  background: rgba(245, 158, 11, 0.14);
  border-left: 3px solid #f59e0b;
  padding-left: 10px;
}

.widget-3abe37 .tv-row-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9rem;
  font-weight: 900;
  color: #fff;
  flex-shrink: 0;
}

.widget-3abe37 .tv-row-body {
  flex: 1;
  min-width: 0;
}

.widget-3abe37 .tv-row-name {
  font-size: 0.85rem;
  font-weight: 900;
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.widget-3abe37 .tv-row-vehicle {
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.5);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-weight: 650;
  margin-top: 1px;
}

.widget-3abe37 .tv-row-pkg {
  font-size: 0.7rem;
  color: #f59e0b;
  font-weight: 800;
  margin-top: 1px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.widget-3abe37 .tv-row-overdue {
  font-size: 0.62rem;
  font-weight: 900;
  color: #fca5a5;
  background: rgba(220, 38, 38, 0.18);
  padding: 1px 6px;
  border-radius: 5px;
  margin-top: 2px;
  display: inline-block;
}

.widget-3abe37 .tv-row-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  flex-shrink: 0;
}

.widget-3abe37 .tv-row-pct {
  font-size: 0.82rem;
  font-weight: 900;
  color: #f59e0b;
}

.widget-3abe37 .tv-row-bar {
  width: 46px;
  height: 4px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 2px;
  overflow: hidden;
}

.widget-3abe37 .tv-row-bar-fill {
  height: 100%;
  border-radius: 2px;
  background: linear-gradient(90deg, #f59e0b, #fbbf24);
}

/* Status mini-chips inside technician list */
.widget-3abe37 .tv-chip-pending {
  font-size: 0.62rem;
  font-weight: 900;
  padding: 2px 7px;
  border-radius: 999px;
  background: #fef3c7;
  color: #92400e;
}

.widget-3abe37 .tv-chip-inprogress {
  font-size: 0.62rem;
  font-weight: 900;
  padding: 2px 7px;
  border-radius: 999px;
  background: #dbeafe;
  color: #1e40af;
}

.widget-3abe37 .tv-chip-completed {
  font-size: 0.62rem;
  font-weight: 900;
  padding: 2px 7px;
  border-radius: 999px;
  background: #dcfce7;
  color: #166534;
}

.widget-3abe37 .tv-chip-delivered {
  font-size: 0.62rem;
  font-weight: 900;
  padding: 2px 7px;
  border-radius: 999px;
  background: #f0fdf4;
  color: #15803d;
  border: 1px solid #bbf7d0;
}

/* ── Detail pane empty state ── */
.widget-3abe37 .tv-detail-empty {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: rgba(255, 255, 255, 0.22);
  font-size: 0.85rem;
  font-weight: 700;
  padding: 30px;
  text-align: center;
}

.widget-3abe37 .tv-detail-empty svg {
  width: 44px;
  height: 44px;
  opacity: 0.3;
}

/* ── Detail inner ── */
.widget-3abe37 .tv-detail-inner {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 16px 16px 36px;
}

/* Mobile back btn inside detail */
.widget-3abe37 .tv-mobile-back {
  display: none;
  align-items: center;
  gap: 6px;
  padding: 7px 12px;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 10px;
  color: rgba(255, 255, 255, 0.75);
  font-size: 0.8rem;
  font-weight: 900;
  font-family: inherit;
  margin-bottom: 2px;
  width: fit-content;
}

.widget-3abe37 .tv-mobile-back svg {
  width: 14px;
  height: 14px;
}

/* ── Detail hero ── */
.widget-3abe37 .tv-hero {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 18px;
  padding: 16px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.widget-3abe37 .tv-hero-left {
  display: flex;
  align-items: center;
  gap: 13px;
  flex: 1;
  min-width: 0;
}

.widget-3abe37 .tv-hero-avatar {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  font-weight: 900;
  color: #fff;
  flex-shrink: 0;
}

.widget-3abe37 .tv-hero-info {
  min-width: 0;
}

.widget-3abe37 .tv-hero-name {
  font-size: 1rem;
  font-weight: 900;
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.widget-3abe37 .tv-hero-vehicle {
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.52);
  font-weight: 650;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-top: 2px;
}

.widget-3abe37 .tv-hero-badges {
  display: flex;
  gap: 5px;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 5px;
}

.widget-3abe37 .tv-hero-id {
  font-size: 0.68rem;
  font-weight: 900;
  color: #93c5fd;
  background: rgba(59, 130, 246, 0.2);
  padding: 2px 7px;
  border-radius: 5px;
}

.widget-3abe37 .tv-hero-right {
  text-align: center;
  flex-shrink: 0;
}

.widget-3abe37 .tv-big-pct {
  font-size: 1.9rem;
  font-weight: 900;
  color: #f59e0b;
  line-height: 1;
}

.widget-3abe37 .tv-pct-label {
  font-size: 0.65rem;
  color: rgba(255, 255, 255, 0.4);
  text-transform: uppercase;
  letter-spacing: 0.4px;
  font-weight: 900;
  margin-top: 2px;
}

/* ── Progress ring (small) ── */
.widget-3abe37 .tv-ring-section {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  padding: 16px 16px;
  display: flex;
  align-items: center;
  gap: 16px;
}

.widget-3abe37 .tv-ring-wrap {
  position: relative;
  width: 90px;
  height: 90px;
  flex-shrink: 0;
}

.widget-3abe37 .tv-ring-svg {
  width: 100%;
  height: 100%;
}

.widget-3abe37 .tv-ring-bg {
  stroke: rgba(255, 255, 255, 0.08);
}

.widget-3abe37 .tv-ring-fill {
  stroke: #f59e0b;
  stroke-dasharray: 515;
  stroke-dashoffset: 515;
  transition: stroke-dashoffset 0.9s ease;
}

.widget-3abe37 .tv-ring-inner {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.widget-3abe37 .tv-ring-pct {
  font-size: 1.05rem;
  font-weight: 900;
  color: #fff;
  line-height: 1;
}

.widget-3abe37 .tv-ring-stats {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.widget-3abe37 .tv-ring-stat-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  font-size: 0.78rem;
}

.widget-3abe37 .tv-ring-stat-label {
  color: rgba(255, 255, 255, 0.45);
  font-weight: 700;
}

.widget-3abe37 .tv-ring-stat-val {
  color: #fff;
  font-weight: 900;
}

/* ── Done / Overdue bars ── */
.widget-3abe37 .tv-overdue-bar {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 11px 14px;
  border-radius: 14px;
  background: rgba(220, 38, 38, 0.12);
  border: 1.5px solid rgba(220, 38, 38, 0.35);
  color: #fca5a5;
  font-size: 0.84rem;
  font-weight: 900;
}

.widget-3abe37 .tv-overdue-bar svg {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
}

.widget-3abe37 .tv-done-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(22, 163, 74, 0.18), rgba(34, 197, 94, 0.1));
  border: 1.5px solid rgba(34, 197, 94, 0.35);
}

.widget-3abe37 .tv-done-emoji {
  font-size: 1.5rem;
  flex-shrink: 0;
}

.widget-3abe37 .tv-done-title {
  font-size: 0.9rem;
  font-weight: 900;
  color: #4ade80;
}

.widget-3abe37 .tv-done-sub {
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.55);
  font-weight: 650;
}

/* ── Timeline / Steps section ── */
.widget-3abe37 .tv-section {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  padding: 14px 14px;
}

.widget-3abe37 .tv-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}

.widget-3abe37 .tv-section-title {
  font-size: 0.88rem;
  font-weight: 900;
  color: #fff;
}

.widget-3abe37 .tv-live-dot {
  display: flex;
  align-items: center;
  gap: 5px;
}

.widget-3abe37 .tv-pulse {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #22c55e;
  display: inline-block;
  position: relative;
}

.widget-3abe37 .tv-pulse::before {
  content: "";
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  background: rgba(34, 197, 94, 0.28);
  animation: cdt-livePulse 1.8s ease-in-out infinite;
}

.widget-3abe37 .tv-live-label {
  font-size: 0.68rem;
  font-weight: 900;
  color: #22c55e;
  text-transform: uppercase;
  letter-spacing: 0.4px;
}

/* Step pills */
.widget-3abe37 .tv-step-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-bottom: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.widget-3abe37 .tv-pill {
  font-size: 0.6rem;
  font-weight: 900;
  padding: 3px 9px;
  border-radius: 999px;
  text-transform: uppercase;
  white-space: nowrap;
}

.widget-3abe37 .tv-pill-done {
  background: rgba(34, 197, 94, 0.15);
  color: #4ade80;
  border: 1px solid rgba(34, 197, 94, 0.25);
}

.widget-3abe37 .tv-pill-active {
  background: rgba(245, 158, 11, 0.22);
  color: #fbbf24;
  border: 1px solid rgba(245, 158, 11, 0.35);
  animation: cdt-pillPulse 2s ease-in-out infinite;
}

.widget-3abe37 .tv-pill-pending {
  background: rgba(255, 255, 255, 0.04);
  color: rgba(255, 255, 255, 0.22);
  border: 1px solid rgba(255, 255, 255, 0.07);
}

/* Timeline items */
.widget-3abe37 .tv-timeline {
  display: flex;
  flex-direction: column;
}

.widget-3abe37 .tv-tl-item {
  display: flex;
  gap: 12px;
  padding-bottom: 18px;
  position: relative;
}

.widget-3abe37 .tv-tl-item:last-child {
  padding-bottom: 0;
}

.widget-3abe37 .tv-tl-item:not(:last-child)::before {
  content: "";
  position: absolute;
  left: 17px;
  top: 36px;
  bottom: 0;
  width: 2px;
  background: rgba(255, 255, 255, 0.07);
}

.widget-3abe37 .tv-tl-item.tv-tl-done::before {
  background: linear-gradient(to bottom, #22c55e, rgba(34, 197, 94, 0.15));
}

.widget-3abe37 .tv-tl-item.tv-tl-active::before {
  background: linear-gradient(to bottom, #f59e0b, rgba(255, 255, 255, 0.04));
}

.widget-3abe37 .tv-tl-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  position: relative;
  z-index: 1;
  font-size: 0.78rem;
  font-weight: 900;
  cursor: pointer;
  transition: transform 0.12s;
}

.widget-3abe37 .tv-tl-icon:hover {
  transform: scale(1.1);
}

.widget-3abe37 .tv-tl-pending .tv-tl-icon {
  background: rgba(255, 255, 255, 0.06);
  border: 2px solid rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.28);
}

.widget-3abe37 .tv-tl-done .tv-tl-icon {
  background: #16a34a;
  border: 2px solid #16a34a;
  color: #fff;
}

.widget-3abe37 .tv-tl-active .tv-tl-icon {
  background: #f59e0b;
  border: 2px solid #f59e0b;
  color: #fff;
  animation: cdt-activePulse 2s ease-in-out infinite;
}

.widget-3abe37 .tv-tl-content {
  flex: 1;
  padding-top: 5px;
  min-width: 0;
}

.widget-3abe37 .tv-tl-name {
  font-size: 0.88rem;
  font-weight: 900;
  margin-bottom: 2px;
}

.widget-3abe37 .tv-tl-pending .tv-tl-name {
  color: rgba(255, 255, 255, 0.3);
}

.widget-3abe37 .tv-tl-done .tv-tl-name {
  color: #4ade80;
}

.widget-3abe37 .tv-tl-active .tv-tl-name {
  color: #fbbf24;
}

.widget-3abe37 .tv-tl-desc {
  font-size: 0.72rem;
  line-height: 1.35;
}

.widget-3abe37 .tv-tl-pending .tv-tl-desc {
  color: rgba(255, 255, 255, 0.16);
}

.widget-3abe37 .tv-tl-done .tv-tl-desc {
  color: rgba(74, 222, 128, 0.52);
}

.widget-3abe37 .tv-tl-active .tv-tl-desc {
  color: rgba(251, 191, 36, 0.65);
}

.widget-3abe37 .tv-tl-time {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 0.68rem;
  color: #4ade80;
  font-weight: 900;
  margin-top: 4px;
  background: rgba(34, 197, 94, 0.1);
  padding: 2px 7px;
  border-radius: 9px;
}

.widget-3abe37 .tv-tl-actions {
  display: flex;
  gap: 6px;
  margin-top: 6px;
  flex-wrap: wrap;
}

.widget-3abe37 .tv-tl-step-btn {
  padding: 5px 12px;
  border: 1.5px solid #f59e0b;
  border-radius: 9px;
  background: transparent;
  color: #f59e0b;
  font-size: 0.75rem;
  font-weight: 900;
  font-family: inherit;
}

.widget-3abe37 .tv-tl-step-btn:hover {
  background: rgba(245, 158, 11, 0.12);
}

.widget-3abe37 .tv-tl-undo-btn {
  padding: 5px 10px;
  border: 1.5px solid rgba(255, 255, 255, 0.18);
  border-radius: 9px;
  background: transparent;
  color: rgba(255, 255, 255, 0.55);
  font-size: 0.72rem;
  font-weight: 800;
  font-family: inherit;
}

.widget-3abe37 .tv-tl-undo-btn:hover {
  background: rgba(255, 255, 255, 0.07);
}

/* ── Notes section ── */
.widget-3abe37 .tv-notes-section {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.widget-3abe37 .tv-notes-list {
  display: flex;
  flex-direction: column;
  gap: 7px;
  max-height: 180px;
  overflow-y: auto;
}

.widget-3abe37 .tv-note-item {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 11px;
  padding: 9px 11px;
}

.widget-3abe37 .tv-note-text {
  font-size: 0.83rem;
  color: #e5e7eb;
  font-weight: 650;
  line-height: 1.4;
}

.widget-3abe37 .tv-note-meta {
  font-size: 0.68rem;
  color: rgba(255, 255, 255, 0.38);
  margin-top: 3px;
  font-weight: 650;
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.widget-3abe37 .tv-note-tech {
  font-weight: 900;
  color: #f59e0b;
}

.widget-3abe37 .tv-no-notes {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.28);
  text-align: center;
  padding: 10px 0;
}

.widget-3abe37 .tv-note-add-row {
  display: flex;
  gap: 7px;
}

.widget-3abe37 .tv-note-input {
  flex: 1;
  padding: 9px 12px;
  background: rgba(255, 255, 255, 0.07);
  border: 1.5px solid rgba(255, 255, 255, 0.13);
  border-radius: 12px;
  color: #e5e7eb;
  font-size: 0.85rem;
  font-weight: 650;
  font-family: inherit;
  outline: none;
}

.widget-3abe37 .tv-note-input:focus {
  border-color: #f59e0b;
}

.widget-3abe37 .tv-note-input::placeholder {
  color: rgba(255, 255, 255, 0.25);
}

.widget-3abe37 .tv-note-send-btn {
  padding: 9px 13px;
  background: #f59e0b;
  border: none;
  border-radius: 12px;
  color: #fff;
  font-size: 0.82rem;
  font-weight: 900;
  font-family: inherit;
  white-space: nowrap;
}

.widget-3abe37 .tv-note-send-btn:hover {
  background: #d97706;
}

/* ── Photos section ── */
.widget-3abe37 .tv-photos-section {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.widget-3abe37 .tv-photo-tabs {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
}

.widget-3abe37 .tv-photo-tab {
  padding: 5px 12px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 999px;
  background: transparent;
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.75rem;
  font-weight: 800;
  font-family: inherit;
}

.widget-3abe37 .tv-photo-tab.active {
  background: #f59e0b;
  border-color: #f59e0b;
  color: #fff;
}

.widget-3abe37 .tv-photo-tab:hover:not(.active) {
  border-color: rgba(255, 255, 255, 0.35);
  color: #fff;
}

.widget-3abe37 .tv-photos-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(88px, 1fr));
  gap: 8px;
}

.widget-3abe37 .tv-photo-upload-btn {
  height: 88px;
  border: 2px dashed rgba(245, 158, 11, 0.45);
  border-radius: 13px;
  background: rgba(245, 158, 11, 0.06);
  color: #f59e0b;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  font-size: 0.68rem;
  font-weight: 900;
  font-family: inherit;
  cursor: pointer;
}

.widget-3abe37 .tv-photo-upload-btn svg {
  width: 18px;
  height: 18px;
}

.widget-3abe37 .tv-photo-upload-btn:hover {
  background: rgba(245, 158, 11, 0.12);
  border-color: #f59e0b;
}

.widget-3abe37 .tv-photo-thumb-wrap {
  position: relative;
  height: 88px;
  border-radius: 13px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.widget-3abe37 .tv-photo-thumb {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.widget-3abe37 .tv-photo-label-tag {
  position: absolute;
  bottom: 4px;
  left: 4px;
  background: rgba(0, 0, 0, 0.62);
  color: #fff;
  font-size: 0.58rem;
  font-weight: 900;
  padding: 2px 6px;
  border-radius: 999px;
  text-transform: uppercase;
}

.widget-3abe37 .tv-photo-del-btn {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 24px;
  height: 24px;
  background: rgba(220, 38, 38, 0.88);
  border: none;
  border-radius: 8px;
  color: #fff;
  font-size: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  font-family: inherit;
}

.widget-3abe37 .tv-photo-thumb-wrap:hover .tv-photo-del-btn {
  opacity: 1;
}

.widget-3abe37 .tv-photo-label-row {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.55);
  font-weight: 700;
}

.widget-3abe37 .tv-photo-label-select {
  padding: 5px 9px;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 9px;
  color: #e5e7eb;
  font-size: 0.78rem;
  font-family: inherit;
  outline: none;
}

/* ── Job details grid ── */
.widget-3abe37 .tv-details-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: rgba(255, 255, 255, 0.06);
  border-radius: 12px;
  overflow: hidden;
  margin-top: 10px;
}

.widget-3abe37 .tv-detail-item {
  background: rgba(255, 255, 255, 0.03);
  padding: 10px 12px;
}

.widget-3abe37 .tv-di-label {
  font-size: 0.64rem;
  color: rgba(255, 255, 255, 0.36);
  text-transform: uppercase;
  letter-spacing: 0.4px;
  font-weight: 900;
  margin-bottom: 2px;
}

.widget-3abe37 .tv-di-value {
  font-size: 0.84rem;
  font-weight: 900;
  color: #e5e7eb;
  word-break: break-word;
}

/* ── Customer note ── */
.widget-3abe37 .tv-cust-note {
  padding: 11px 13px;
  background: rgba(59, 130, 246, 0.08);
  border: 1px solid rgba(59, 130, 246, 0.22);
  border-radius: 13px;
}

.widget-3abe37 .tv-cust-note-label {
  font-size: 0.68rem;
  color: #93c5fd;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  font-weight: 900;
  margin-bottom: 4px;
}

.widget-3abe37 .tv-cust-note-text {
  font-size: 0.83rem;
  color: rgba(255, 255, 255, 0.75);
  font-weight: 650;
  line-height: 1.4;
}

/* ── Mobile layout ── */
@media (max-width: 767px) {
  .widget-3abe37 .tv-header-spacer {
    display: none;
  }
  .widget-3abe37 .tv-toolbar {
    flex-wrap: wrap;
    gap: 7px;
  }
  .widget-3abe37 .tv-search {
    width: 130px;
  }
  .widget-3abe37 .tv-list-pane {
    width: 100%;
    border-right: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  }
  .widget-3abe37 .tv-body {
    flex-direction: column;
  }
  .widget-3abe37 .tv-list-pane.tv-mobile-hidden {
    display: none;
  }
  .widget-3abe37 .tv-detail-pane.tv-mobile-hidden {
    display: none;
  }
  .widget-3abe37 .tv-detail-pane {
    flex: 1;
  }
  .widget-3abe37 .tv-mobile-back {
    display: flex !important;
  }
  .widget-3abe37 .tv-details-grid {
    grid-template-columns: 1fr;
  }
}
@media (min-width: 768px) {
  .widget-3abe37 .tv-mobile-back {
    display: none !important;
  }
  .widget-3abe37 .tv-list-pane {
    min-height: 0;
  }
}

.widget-1f5975 .copyright {
    font-size: 13px;
    display: flex;
    text-align: left;
    justify-content: flex-start;
}
