:root{--jirly-blue:#0B63E5;--jirly-blue-dark:#084FB7;--jirly-blue-soft:#EAF2FF;--jirly-ink:#14233B;--jirly-muted:#69778C;--jirly-line:#E7ECF3;--jirly-bg:#F7F9FC;--jirly-mint:#D9F7EC;--jirly-green:#16A575;--font-sans:'Plus Jakarta Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--shadow-sm:0 8px 24px rgba(20,35,59,.06);--shadow-md:0 18px 48px rgba(26,48,82,.10);--radius-lg:24px;--radius-md:16px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{font-family:var(--font-sans);color:var(--jirly-ink);background:#fff;font-size:14px;line-height:1.7;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img,video,iframe{max-width:100%;height:auto}button,input,select,textarea{font-family:inherit}.btn{font-weight:700;border-radius:12px;transition:all .3s ease;--bs-btn-padding-y:.78rem;--bs-btn-padding-x:1.2rem;--bs-btn-font-size:.88rem}.btn-primary{--bs-btn-bg:var(--jirly-blue);--bs-btn-border-color:var(--jirly-blue);--bs-btn-hover-bg:var(--jirly-blue-dark);--bs-btn-hover-border-color:var(--jirly-blue-dark);--bs-btn-active-bg:var(--jirly-blue-dark);box-shadow:0 8px 18px rgba(11,99,229,.16)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 22px rgba(11,99,229,.22)}.btn-outline-primary{--bs-btn-color:var(--jirly-blue);--bs-btn-border-color:#B5D0FB;--bs-btn-hover-bg:var(--jirly-blue);--bs-btn-hover-border-color:var(--jirly-blue);--bs-btn-hover-color:#fff}.form-control,.form-select{border-color:#DDE4EE;border-radius:10px;padding:.78rem .9rem;font-size:.85rem;color:var(--jirly-ink);box-shadow:none!important}.form-control:focus,.form-select:focus{border-color:#8EB8FA}.form-label{font-size:.76rem;font-weight:700;color:#34435A;margin-bottom:.45rem}.section-anchor{scroll-margin-top:90px}.section-pad{padding:92px 0}.section-heading{display:flex;flex-direction:column;align-items:center;gap:12px;max-width:740px;margin:0 auto 28px}.section-kicker{font-size:.67rem;letter-spacing:.13em;font-weight:800;color:var(--jirly-blue)}.section-heading h2,.section-heading-inline h2{font-size:clamp(1.8rem,3.1vw,2.55rem);font-weight:800;letter-spacing:-.055em;line-height:1.22;margin:0;color:var(--jirly-ink)}.section-heading p,.section-heading-inline p{color:var(--jirly-muted);font-size:.92rem;margin:0;max-width:640px}.section-heading-inline{margin-bottom:26px}.compact-heading{margin-bottom:16px}
/* public site navigation & hero */
.jirly-nav{padding:15px 0;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(231,236,243,.8);transition:padding .3s ease,box-shadow .3s ease}.jirly-nav .navbar-brand,.footer-brand{padding:0}.brand-symbol{width:42px;height:42px;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;background:var(--jirly-blue);color:#fff;font-size:1.55rem;box-shadow:0 8px 16px rgba(11,99,229,.2);flex-shrink:0}.brand-name{display:flex;flex-direction:column;font-size:1rem;line-height:1.25;font-weight:700;letter-spacing:-.04em;color:var(--jirly-ink)}.brand-name b{font-weight:800;color:var(--jirly-blue)}.brand-name small{margin-top:3px;font-size:.58rem;font-weight:500;letter-spacing:0;color:var(--jirly-muted)}.navbar-nav .nav-link{font-weight:700;color:#526177;font-size:.79rem;padding:.65rem .72rem!important;transition:color .3s ease}.navbar-nav .nav-link:hover,.navbar-nav .nav-link.active{color:var(--jirly-blue)}.lang-select{width:82px;border-radius:9px;font-size:.76rem;font-weight:700;padding:.45rem 1.75rem .45rem .6rem}.hero-section{position:relative;overflow:hidden;padding:150px 0 104px;background:linear-gradient(115deg,#F8FAFE 0%,#F3F7FF 58%,#ECF5FF 100%)}.hero-section:before{position:absolute;content:"";width:550px;height:550px;right:-180px;top:-210px;border:1px solid rgba(11,99,229,.09);border-radius:50%;box-shadow:0 0 0 55px rgba(11,99,229,.025),0 0 0 110px rgba(11,99,229,.018)}.hero-glow{position:absolute;width:450px;height:450px;border-radius:50%;background:rgba(206,244,231,.45);filter:blur(90px);left:-180px;bottom:-230px}.hero-copy{position:relative;z-index:1}.eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--jirly-blue);font-weight:800;font-size:.69rem;letter-spacing:.11em;margin-bottom:20px}.eyebrow-dot{height:8px;width:8px;background:var(--jirly-green);border-radius:50%;box-shadow:0 0 0 5px rgba(22,165,117,.12)}.hero-copy h1{font-size:clamp(2.55rem,4.55vw,4.45rem);font-weight:800;letter-spacing:-.065em;line-height:1.1;max-width:650px;margin:0 0 22px;color:#10223D}.hero-copy h1:after{content:"";display:block;width:74px;height:6px;border-radius:99px;background:var(--jirly-blue);margin-top:24px}.hero-subtitle{font-size:1rem;color:#66758B;line-height:1.9;max-width:560px;margin-bottom:26px}.hero-actions .btn{font-size:.85rem}.hero-trust-row{display:flex;gap:22px;flex-wrap:wrap;margin-top:26px;color:#54647A;font-weight:700;font-size:.73rem}.hero-trust-row span{display:inline-flex;align-items:center;gap:8px}.hero-trust-row i{color:var(--jirly-green);font-size:1rem}.hero-visual{position:relative;max-width:570px;margin-left:auto;padding:12px 10px 25px 25px}.hero-photo{display:block;width:100%;height:auto;aspect-ratio: .91 / 1;object-fit:cover;object-position:center;border-radius:30px;box-shadow:0 30px 70px rgba(19,42,75,.2);position:relative;z-index:1}.photo-overlay{position:absolute;inset:12px 10px 25px 25px;border-radius:30px;z-index:2;background:linear-gradient(180deg,rgba(9,35,71,0) 47%,rgba(9,35,71,.35) 100%);pointer-events:none}.floating-warranty,.floating-rating{position:absolute;z-index:3;display:flex;align-items:center;background:#fff;box-shadow:0 14px 40px rgba(20,35,59,.14);border:1px solid rgba(255,255,255,.7)}.floating-warranty{left:-10px;top:75px;gap:11px;padding:13px 17px;border-radius:16px}.warranty-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#DDF8EE;color:#0B9F70;font-size:1.25rem}.floating-warranty b,.floating-rating b{display:block;font-size:.76rem;line-height:1.3}.floating-warranty small,.floating-rating small{display:block;color:var(--jirly-muted);font-size:.62rem;margin-top:3px}.floating-rating{right:-3px;bottom:75px;border-radius:15px;padding:13px 17px;display:grid;grid-template-columns:auto auto;align-items:center;column-gap:9px}.rating-stars{color:#F6B82F;font-size:.73rem;letter-spacing:1px;grid-column:1/3}.hero-image-caption{position:absolute;z-index:3;bottom:49px;left:55px;display:flex;align-items:center;gap:10px;color:#fff;font-weight:700;font-size:.78rem;text-shadow:0 2px 10px rgba(0,0,0,.4)}.caption-line{width:28px;height:2px;background:#fff}.stats-section{position:relative;z-index:4;margin-top:-1px;padding-bottom:15px;background:#fff}.stats-panel{display:grid;grid-template-columns:1fr 1.2fr 1fr 1.5fr;align-items:center;gap:16px;padding:28px 35px;background:#fff;border:1px solid var(--jirly-line);border-radius:20px;box-shadow:var(--shadow-md);transform:translateY(-18px)}.stat-item{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding-left:6px;border-right:1px solid var(--jirly-line)}.stat-item strong{font-size:1.75rem;letter-spacing:-.055em;line-height:1.2;color:var(--jirly-ink)}.stat-item strong span{color:var(--jirly-blue)}.stat-item strong .stat-small{font-size:1rem}.stat-item>span{font-size:.69rem;color:var(--jirly-muted);font-weight:600}.stat-note{display:flex;align-items:center;gap:10px;font-size:.73rem;color:#56667C;font-weight:700}.stat-note i{font-size:1.25rem;color:var(--jirly-green)}
/* service cards & products */
.service-card{height:100%;position:relative;padding:27px 25px 24px;border:1px solid var(--jirly-line);border-radius:18px;background:#fff;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;overflow:hidden}.service-card:after{content:"";position:absolute;width:115px;height:115px;border-radius:50%;background:#F0F6FF;top:-65px;right:-65px;transition:transform .3s ease}.service-card:hover{transform:translateY(-6px);border-color:#BED4FB;box-shadow:var(--shadow-md)}.service-card:hover:after{transform:scale(1.3)}.service-icon{position:relative;z-index:1;width:54px;height:54px;display:grid;place-items:center;background:var(--jirly-blue-soft);color:var(--jirly-blue);border-radius:15px;font-size:1.6rem;margin-bottom:22px}.service-card h3{font-size:1rem;font-weight:800;letter-spacing:-.03em;margin-bottom:11px}.service-card p{font-size:.78rem;line-height:1.85;color:var(--jirly-muted);margin-bottom:19px}.card-link{display:inline-flex;align-items:center;gap:8px;color:var(--jirly-blue);font-size:.75rem;font-weight:800}.card-link i{transition:transform .3s ease}.card-link:hover i{transform:translate(3px,-3px)}.products-section{background:#F7F9FD}.section-heading-inline{display:flex}.product-filters{display:flex;align-items:center;gap:10px;margin-bottom:22px}.product-filters .form-select{max-width:240px;background-color:#fff}.catalog-count{margin-left:auto;font-size:.72rem;color:var(--jirly-muted);font-weight:700}.product-card{height:100%;background:#fff;border:1px solid #E9EDF4;border-radius:17px;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;animation:fadeUp .55s both;animation-delay:var(--card-delay,0ms)}.product-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}.product-card-visual{position:relative;background:linear-gradient(135deg,#E9F2FF,#F4FAFF 75%);height:auto;aspect-ratio:1.56/1;display:flex;align-items:center;justify-content:center;overflow:hidden}.product-card-visual:before{content:"";width:150px;height:150px;border-radius:50%;position:absolute;border:1px solid rgba(11,99,229,.1);box-shadow:0 0 0 18px rgba(11,99,229,.025),0 0 0 38px rgba(11,99,229,.018)}.product-visual-icon{display:grid;place-items:center;width:85px;height:85px;border-radius:27px;color:var(--jirly-blue);font-size:2.3rem;background:rgba(255,255,255,.83);box-shadow:0 10px 30px rgba(11,99,229,.12);position:relative;z-index:1}.product-type-pill,.product-brand-chip{position:absolute;z-index:2;border-radius:8px;padding:5px 9px;font-size:.58rem;font-weight:800}.product-type-pill{top:13px;left:13px;background:#fff;color:var(--jirly-blue)}.product-brand-chip{bottom:13px;right:13px;background:rgba(20,35,59,.8);color:#fff}.product-card-body{padding:17px 17px 15px}.product-card h3{font-size:.81rem;font-weight:800;line-height:1.5;min-height:38px;margin-bottom:12px}.product-meta{display:flex;justify-content:space-between;gap:5px;flex-wrap:wrap;color:#8994A5;font-size:.61rem;margin-bottom:13px}.product-price-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--jirly-line);padding-top:13px}.product-price-row strong{font-size:.9rem;color:var(--jirly-blue);letter-spacing:-.03em}.product-ask{display:grid;place-items:center;width:31px;height:31px;border-radius:10px;color:var(--jirly-blue);background:var(--jirly-blue-soft);transition:all .3s ease}.product-ask:hover{background:var(--jirly-blue);color:#fff}.empty-catalog{padding:35px;border:1px dashed #cbd6e6;border-radius:18px;text-align:center;color:var(--jirly-muted)}.empty-catalog i{font-size:2rem;color:#9db4d9}.empty-catalog p{margin:8px 0 0}.brands-section{padding:54px 0 62px;background:#fff;border-top:1px solid var(--jirly-line);border-bottom:1px solid var(--jirly-line)}.brand-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:10px;margin-top:24px}.brand-chip{display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;padding:14px 8px;border:1px solid var(--jirly-line);border-radius:13px;min-height:84px;text-align:center;transition:all .3s ease}.brand-chip:hover{border-color:#B9D2FB;transform:translateY(-3px);box-shadow:var(--shadow-sm)}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#F1F6FF;color:var(--jirly-blue);font-size:.85rem;font-weight:800}.brand-chip span:last-child{font-size:.62rem;font-weight:800;color:#5E6C80}
/* why, gallery, testimonials, faq */
.why-section{background:linear-gradient(180deg,#fff 0%,#FAFCFF 100%)}.why-image-wrap{position:relative;padding:0 18px 18px 0}.why-image-wrap:before{content:"";position:absolute;left:28px;right:0;top:28px;bottom:0;border-radius:24px;background:#E3F0FF}.why-image-wrap>img{position:relative;z-index:1;width:100%;height:auto;aspect-ratio: .96/1;object-fit:cover;border-radius:24px;box-shadow:var(--shadow-md)}.why-image-tag{position:absolute;z-index:2;right:0;bottom:0;display:flex;align-items:center;gap:10px;border-radius:15px;background:#fff;padding:13px 17px;box-shadow:var(--shadow-md)}.why-image-tag>i{font-size:1.5rem;color:var(--jirly-green)}.why-image-tag b,.why-image-tag small{display:block}.why-image-tag b{font-size:.76rem}.why-image-tag small{color:var(--jirly-muted);font-size:.63rem}.why-list{display:grid;gap:18px;margin-top:23px}.why-list>div{display:flex;gap:14px}.why-check{display:grid;place-items:center;flex-shrink:0;width:43px;height:43px;border-radius:13px;background:#EAF3FF;color:var(--jirly-blue);font-size:1.2rem}.why-list h3{font-size:.84rem;font-weight:800;margin:0 0 5px}.why-list p{font-size:.74rem;color:var(--jirly-muted);margin:0}.gallery-section{background:#F7F9FC}.gallery-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:18px;margin-top:36px}.gallery-grid figure{position:relative;margin:0;border-radius:18px;overflow:hidden;background:#D9E3F0}.gallery-grid img{display:block;width:100%;height:auto;aspect-ratio:1.22/1;object-fit:cover;transition:transform .55s ease}.gallery-grid .gallery-large img{aspect-ratio:.92/1}.gallery-grid figure:hover img{transform:scale(1.035)}.gallery-grid figcaption{position:absolute;bottom:0;left:0;right:0;padding:32px 17px 16px;color:#fff;font-size:.78rem;font-weight:800;background:linear-gradient(0deg,rgba(8,24,47,.8),transparent)}.image-disclaimer{font-size:.64rem;color:#8B96A8;text-align:center;margin:18px 0 0}.testimonials-section{background:#fff}.testimonial-card{height:100%;padding:23px 20px;border:1px solid var(--jirly-line);border-radius:17px;transition:transform .3s ease,box-shadow .3s ease}.testimonial-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm)}.review-stars{font-size:.8rem;letter-spacing:2px;color:#F4B52E;margin-bottom:15px}.testimonial-card>p{font-size:.75rem;color:#59687D;line-height:1.85;min-height:95px;margin-bottom:20px}.review-person{display:flex;align-items:center;gap:10px}.review-person img{width:38px;height:38px;border-radius:50%;object-fit:cover}.review-person b,.review-person small{display:block}.review-person b{font-size:.7rem}.review-person small{font-size:.6rem;color:var(--jirly-muted);margin-top:1px}.faq-section{background:#F8FAFD}.jirly-accordion .accordion-item{border:1px solid #E4EAF3;border-radius:13px!important;margin-bottom:10px;overflow:hidden;background:#fff}.jirly-accordion .accordion-button{font-size:.82rem;font-weight:800;color:var(--jirly-ink);padding:19px 20px;box-shadow:none!important;background:#fff}.jirly-accordion .accordion-button:not(.collapsed){color:var(--jirly-blue);background:#fff}.jirly-accordion .accordion-body{font-size:.77rem;color:var(--jirly-muted);padding:0 20px 20px;line-height:1.9}.jirly-accordion .accordion-button:after{background-size:14px;width:14px;height:14px}
/* booking/footer */
.booking-section{background:linear-gradient(135deg,#0A51BC,#0B63E5 60%,#287FF0);position:relative;overflow:hidden}.booking-section:before,.booking-section:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(255,255,255,.13);border-radius:50%;pointer-events:none}.booking-section:before{right:-180px;top:-260px;box-shadow:0 0 0 55px rgba(255,255,255,.035),0 0 0 110px rgba(255,255,255,.025)}.booking-section:after{bottom:-330px;left:-170px}.booking-panel{position:relative;z-index:1;overflow:hidden;border-radius:24px;background:#fff;box-shadow:0 25px 80px rgba(3,28,71,.25)}.booking-aside{padding:48px 39px;background:linear-gradient(155deg,#F1F7FF,#fff 75%);border-right:1px solid #E7EDF7}.booking-aside h2{font-size:2.1rem;font-weight:800;letter-spacing:-.06em;line-height:1.2;margin:15px 0 15px}.booking-aside>p{color:var(--jirly-muted);font-size:.82rem;line-height:1.9}.booking-perks{display:grid;gap:16px;margin-top:28px}.booking-perks>div{display:flex;gap:11px;align-items:center;font-size:.72rem;font-weight:700;color:#4C5D74}.booking-perks i{color:var(--jirly-blue);font-size:1.08rem}.booking-contact{border-top:1px solid #DCE5F2;padding-top:20px;margin-top:33px}.booking-contact small{display:block;color:var(--jirly-muted);font-size:.66rem}.booking-contact a{font-weight:800;color:var(--jirly-blue);font-size:.92rem;display:inline-flex;align-items:center;gap:8px;margin-top:6px}.booking-form-wrap{padding:43px 42px}.form-title{margin-bottom:22px}.form-title h3{font-size:1.25rem;font-weight:800;letter-spacing:-.04em;margin-bottom:5px}.form-title p{font-size:.75rem;color:var(--jirly-muted);margin:0}.booking-form .form-control,.booking-form .form-select{background-color:#FBFCFE}.booking-form textarea{resize:vertical}.booking-form .btn{margin-top:3px}.form-privacy{display:block;text-align:center;font-size:.62rem;color:#8290A3;margin-top:12px}.form-privacy i{margin-right:4px}.final-cta{padding:48px 0;background:#F2F7FF}.final-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.final-cta h2{font-size:clamp(1.5rem,3vw,2.15rem);font-weight:800;letter-spacing:-.055em;margin:8px 0 0;max-width:700px}.final-cta .btn{flex-shrink:0;color:var(--jirly-blue);font-size:.8rem}.site-footer{padding:60px 0 22px;background:#10223D;color:#D8E2F1}.footer-brand .brand-name{color:#fff}.footer-brand .brand-name small{color:#9DADC1}.footer-desc{font-size:.74rem;color:#9DAEC4;line-height:1.9;margin:20px 0}.site-footer h3{color:#fff;font-size:.8rem;font-weight:800;margin:5px 0 20px}.site-footer .col-lg-2>a{display:block;color:#9DAEC4;font-size:.72rem;margin:10px 0;transition:color .3s ease}.site-footer .col-lg-2>a:hover{color:#fff}.site-footer p{font-size:.7rem;color:#9DAEC4;margin-bottom:11px}.site-footer p i{width:20px;color:#6AA7FF}.social-links{display:flex;gap:8px}.social-links a{width:33px;height:33px;border:1px solid rgba(255,255,255,.15);border-radius:10px;display:grid;place-items:center;color:#C7D8EF;transition:all .3s ease}.social-links a:hover{background:var(--jirly-blue);border-color:var(--jirly-blue);color:#fff}.footer-map{border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.15);height:auto;aspect-ratio:1.5/1}.footer-map iframe{display:block;width:100%;height:100%;border:0;filter:saturate(.75)}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid rgba(255,255,255,.12);margin-top:42px;padding-top:19px;color:#8194AF;font-size:.62rem}.floating-wa{position:fixed;z-index:1050;right:23px;bottom:24px;display:flex;align-items:center;gap:9px;padding:12px 17px;color:#fff;background:#18B56B;border-radius:99px;box-shadow:0 12px 28px rgba(6,125,70,.3);font-weight:800;font-size:.72rem;transition:transform .3s ease}.floating-wa i{font-size:1.1rem}.floating-wa:hover{transform:translateY(-3px);color:#fff}.mobile-cta-bar{display:none}.toast{border:1px solid var(--jirly-line);border-radius:13px;box-shadow:var(--shadow-md)}
/* login */
.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:linear-gradient(130deg,#F3F7FF,#fff 50%,#E9F6FF)}.login-decoration{position:absolute;border-radius:50%;border:1px solid rgba(11,99,229,.12);pointer-events:none}.login-decoration-one{height:600px;width:600px;left:-220px;top:-250px;box-shadow:0 0 0 45px rgba(11,99,229,.025),0 0 0 90px rgba(11,99,229,.018)}.login-decoration-two{height:430px;width:430px;right:-140px;bottom:-200px;box-shadow:0 0 0 45px rgba(22,165,117,.025)}.login-shell{position:relative;z-index:1;width:min(100% - 32px,470px);padding:42px 0;text-align:center}.login-brand{display:inline-flex;align-items:center;gap:11px;text-align:left;margin-bottom:27px}.login-card{padding:37px 37px 28px;border:1px solid rgba(219,229,243,.9);border-radius:23px;background:rgba(255,255,255,.93);box-shadow:0 24px 70px rgba(28,58,101,.11);text-align:left}.login-icon{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;background:var(--jirly-blue-soft);color:var(--jirly-blue);font-size:1.4rem;margin-bottom:18px}.login-card h1{font-size:1.55rem;line-height:1.25;font-weight:800;letter-spacing:-.055em;margin:8px 0 8px}.login-intro{font-size:.75rem;color:var(--jirly-muted);line-height:1.8;margin-bottom:25px}.input-icon-wrap{position:relative}.input-icon-wrap>i{position:absolute;top:50%;left:13px;transform:translateY(-50%);color:#8A9AAF;z-index:1}.input-icon-wrap .form-control{padding-left:39px;padding-right:42px;height:47px}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:transparent;border:0;color:#77879C;padding:5px 8px}.login-card .btn{font-size:.82rem}.demo-credentials{margin-top:25px;padding:15px 15px 10px;background:#F7F9FD;border:1px solid #E9EEF5;border-radius:13px}.demo-head{display:flex;gap:8px;align-items:center;font-size:.7rem;color:#526178;margin-bottom:9px}.demo-head i{color:var(--jirly-blue)}.demo-credentials>div:not(.demo-head){display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #E7ECF3;padding:8px 0 4px}.demo-credentials>div>span{font-size:.67rem;color:var(--jirly-muted)}.demo-fill{font-size:.67rem;font-weight:800;color:var(--jirly-blue);background:transparent;border:0;padding:2px;text-align:right}.demo-fill i{font-size:.65rem}.login-foot{color:#75859A;font-size:.65rem;margin:20px 0 8px}.login-foot i{margin-right:5px}.back-home{font-size:.68rem;font-weight:800;color:var(--jirly-blue)}
/* backoffice common */
.backoffice-page{background:#F5F7FB;color:var(--jirly-ink);font-size:13px;min-height:100vh}.app-layout{display:flex;min-height:100vh}.app-sidebar{position:fixed;inset:0 auto 0 0;width:252px;background:#10223D;color:#DAE6F5;z-index:1035;display:flex;flex-direction:column;padding:23px 14px 16px;transition:transform .3s ease;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#304761 transparent}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:0 10px 23px;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-brand .brand-symbol{width:38px;height:38px;font-size:1.35rem}.sidebar-brand .brand-name{font-size:.88rem;color:#fff}.sidebar-brand .brand-name small{color:#8FA2BC;font-size:.56rem}.sidebar-profile{display:flex;align-items:center;gap:10px;padding:18px 10px 20px;border-bottom:1px solid rgba(255,255,255,.1);position:relative}.profile-avatar{width:39px;height:39px;border-radius:13px;background:linear-gradient(145deg,#4D8FF5,#0B63E5);display:grid;place-items:center;color:#fff;font-weight:800;font-size:.7rem;flex-shrink:0}.sidebar-profile b,.sidebar-profile small,.topbar-user b,.topbar-user small{display:block}.sidebar-profile b{font-size:.68rem;color:#fff}.sidebar-profile small{color:#91A4BE;font-size:.59rem;margin-top:3px}.online-dot{width:7px;height:7px;border-radius:50%;background:#42D69A;border:2px solid #10223D;position:absolute;left:39px;top:46px;box-sizing:content-box}.sidebar-menu{padding:18px 0 8px;flex:1}.menu-caption{font-size:.56rem;letter-spacing:.12em;font-weight:800;color:#7890AF;padding:13px 13px 7px}.menu-link{width:100%;display:flex;align-items:center;gap:11px;padding:10px 12px;margin:2px 0;border:0;background:transparent;border-radius:10px;color:#AFC1D8;font-size:.69rem;text-align:left;font-weight:600;transition:background .3s ease,color .3s ease;white-space:nowrap}.menu-link>i:first-child{font-size:1rem;width:17px;text-align:center}.menu-link:hover{color:#fff;background:rgba(255,255,255,.07)}.menu-link.active{color:#fff;background:linear-gradient(90deg,#0B63E5,#2377EA);box-shadow:0 8px 20px rgba(2,83,202,.2)}.menu-link .menu-count{margin-left:auto;font-size:.6rem;min-width:21px;text-align:center;padding:2px 5px;border-radius:6px;background:rgba(255,255,255,.14);color:#fff}.menu-submenu{padding-left:15px}.menu-submenu .menu-link{padding:8px 10px;font-size:.64rem}.menu-submenu .menu-link>i:first-child{font-size:.85rem}.menu-toggle{cursor:pointer}.menu-chevron{font-size:.65rem!important;transition:transform .3s ease}.menu-toggle[aria-expanded="false"] .menu-chevron{transform:rotate(-90deg)}.sidebar-footer{padding-top:15px;border-top:1px solid rgba(255,255,255,.1)}.sidebar-mode{display:flex;gap:10px;align-items:center;padding:10px 10px 15px}.sidebar-mode>i{display:grid;place-items:center;background:rgba(35,185,125,.13);color:#4DD4A1;width:32px;height:32px;border-radius:10px;font-size:1rem}.sidebar-mode b,.sidebar-mode small{display:block}.sidebar-mode b{font-size:.62rem;color:#E5EEF9}.sidebar-mode small{font-size:.55rem;color:#859AB5}.logout-link{color:#D39B9B}.logout-link:hover{background:rgba(237,93,93,.12);color:#FFB7B7}.app-main{margin-left:252px;min-width:0;flex:1;min-height:100vh;display:flex;flex-direction:column}.app-topbar{height:74px;background:#fff;border-bottom:1px solid #E8EDF4;display:flex;align-items:center;justify-content:space-between;padding:0 31px;gap:16px;position:sticky;top:0;z-index:1020}.topbar-breadcrumb{display:flex;align-items:center;gap:9px;font-size:.69rem;color:#9AA6B7}.topbar-breadcrumb>i{font-size:.6rem}.topbar-breadcrumb b{color:#233650;font-size:.72rem}.topbar-actions{display:flex;align-items:center;gap:17px}.topbar-date{font-size:.64rem;color:#7F8DA0}.icon-button{display:grid;place-items:center;height:35px;width:35px;border-radius:11px;background:#F2F6FC;color:#63758D}.icon-button:hover{background:#E3EDFF;color:var(--jirly-blue)}.topbar-user{display:flex;align-items:center;gap:9px;border-left:1px solid #E9EDF4;padding-left:17px}.topbar-user b{font-size:.65rem;color:#263A55}.topbar-user small{font-size:.56rem;color:#8D9AAE;margin-top:2px}.small-avatar{width:34px;height:34px;border-radius:11px;font-size:.62rem}.sidebar-mobile-toggle{display:none;border:0;background:#EFF4FB;border-radius:9px;width:36px;height:36px;color:#37506F}.app-content{padding:27px 30px 34px;flex:1;min-width:0;max-width:100%;overflow:hidden}.app-footer{display:flex;align-items:center;justify-content:space-between;padding:14px 30px;border-top:1px solid #E7ECF3;color:#95A2B3;background:#fff;font-size:.59rem}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:23px}.page-header h1{font-weight:800;letter-spacing:-.055em;font-size:1.45rem;margin:0 0 5px}.page-header p{color:#8592A5;font-size:.7rem;margin:0}.page-header-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.page-header .btn{font-size:.68rem;padding:.65rem .95rem}.crumb-kicker{font-size:.58rem;letter-spacing:.11em;color:var(--jirly-blue);font-weight:800;margin-bottom:7px;display:block}.content-loading{padding:100px 10px;text-align:center;color:#91A0B4}.content-loading p{font-size:.75rem;margin-top:13px}.content-loading .spinner-border{width:26px;height:26px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:20px}.metric-card{border:1px solid #E8EDF4;background:#fff;padding:19px 18px;border-radius:15px;box-shadow:0 3px 10px rgba(29,51,82,.015);min-width:0}.metric-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:15px}.metric-label{font-size:.66rem;color:#7D8BA0;font-weight:700}.metric-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;font-size:1rem;background:#EAF2FF;color:var(--jirly-blue);flex-shrink:0}.metric-icon.green{background:#E3F8EF;color:#14A474}.metric-icon.orange{background:#FFF1DD;color:#D88B20}.metric-icon.purple{background:#F0EAFE;color:#805AD5}.metric-value{display:block;font-size:1.45rem;line-height:1.25;font-weight:800;letter-spacing:-.055em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric-foot{display:flex;align-items:center;gap:6px;font-size:.59rem;color:#94A0B1;margin-top:8px}.trend-up{color:#17A673!important}.trend-down{color:#D84F55!important}.metric-foot i{font-size:.74rem}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.85fr);gap:17px;margin-bottom:19px}.dashboard-grid.equal{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-card{background:#fff;border:1px solid #E8EDF4;border-radius:15px;min-width:0;overflow:hidden}.panel-header{padding:18px 19px 14px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid #EFF2F7}.panel-header h2,.panel-header h3{font-size:.78rem;font-weight:800;margin:0 0 4px;color:#273A56}.panel-header p{font-size:.61rem;color:#98A3B3;margin:0}.panel-body{padding:18px 19px}.panel-header .form-select,.panel-header select{max-width:135px;font-size:.61rem;padding:7px 28px 7px 10px;border-radius:8px}.chart-wrap{position:relative;width:100%;height:250px}.chart-wrap.short{height:215px}.chart-wrap.tall{height:300px}.chart-no-data{display:grid;place-items:center;min-height:190px;text-align:center;color:#8D9AAF;font-size:.68rem}.chart-no-data i{font-size:1.7rem;color:#B9C8DC}.status-legend{display:grid;gap:9px;margin-top:10px}.status-legend-row{display:flex;justify-content:space-between;align-items:center;font-size:.64rem;color:#63738A}.status-legend-row span:first-child{display:flex;gap:8px;align-items:center}.legend-dot{width:8px;height:8px;border-radius:3px;display:inline-block}.status-legend-row b{color:#263A55}.stock-list{display:grid;gap:10px}.stock-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:#FFF8F7;border:1px solid #FCE1DD;border-radius:10px}.stock-item strong{display:block;font-size:.65rem;color:#5C3A3B}.stock-item small{font-size:.57rem;color:#A17879}.stock-item .badge{font-size:.56rem}.badge{font-weight:800;letter-spacing:.01em}.status-pill{display:inline-flex;align-items:center;gap:5px;border-radius:7px;padding:5px 8px;font-size:.57rem;font-weight:800;white-space:nowrap}.status-follow_up{background:#FFF3D7;color:#A86A06}.status-proses_pengerjaan{background:#E4F0FF;color:#155AC1}.status-menunggu_pembayaran{background:#F0EAFE;color:#7551BD}.status-verifikasi_owner{background:#E2F7F0;color:#07865F}.status-selesai{background:#E0F8E8;color:#17864B}.status-inactive{background:#F1F3F7;color:#7D8999}.table-panel{border:1px solid #E8EDF4;background:#fff;border-radius:15px;overflow:hidden}.table-panel-head{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:18px 20px;border-bottom:1px solid #E8EDF4}.table-panel-head h2{font-size:.82rem;font-weight:800;margin:0}.table-panel-head p{font-size:.61rem;color:#9AA5B5;margin:4px 0 0}.table-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 19px}.table-filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.table-filter-row .form-control,.table-filter-row .form-select{font-size:.64rem;padding:.55rem .7rem;min-width:115px;border-radius:8px}.table-filter-row .form-control.search-control{width:210px}.table-wrap{overflow-x:auto;padding:0 19px 17px}.data-table{width:100%!important;margin:0!important;white-space:nowrap;font-size:.65rem}.data-table thead th{background:#F7F9FC;border-bottom:1px solid #E7ECF3!important;color:#77879B!important;font-size:.57rem;letter-spacing:.035em;text-transform:uppercase;padding:12px 11px!important;font-weight:800!important}.data-table tbody td{padding:13px 11px!important;vertical-align:middle;color:#506179;border-bottom:1px solid #F0F3F7}.data-table tbody tr:hover{background:#F9FBFF}.data-table .primary-cell{color:#263A55;font-weight:800}.table-subtext{display:block;color:#9AA5B4;font-size:.57rem;font-weight:500;margin-top:3px}.table-actions{display:flex;align-items:center;gap:5px}.action-btn{display:inline-grid;place-items:center;width:29px;height:29px;border:1px solid #E7ECF4;background:#fff;border-radius:8px;color:#64758C;transition:all .3s ease}.action-btn:hover{background:#EAF2FF;border-color:#BED4FB;color:var(--jirly-blue)}.action-btn.danger:hover{color:#D9454D;background:#FFF0F0;border-color:#F6CECE}.dataTables_wrapper .dataTables_info,.dt-info{font-size:.61rem;color:#8C99AB;padding:13px 0 0}.dataTables_wrapper .dataTables_paginate,.dt-paging{font-size:.63rem;padding:10px 0 0}.page-link{font-size:.62rem}.dt-search input,.dt-length select{font-size:.65rem!important;border:1px solid #DDE4EE!important;border-radius:8px!important;padding:6px 9px!important}.dt-search label,.dt-length label{font-size:.62rem;color:#7E8BA0}.dataTables_wrapper .row{align-items:center}.due-soon{display:inline-flex;background:#FFEEEE;color:#D53943;border-radius:6px;padding:3px 6px;font-size:.55rem;font-weight:800}.table-footer-total{display:flex;justify-content:flex-end;gap:25px;padding:14px 20px;background:#F8FAFD;border-top:1px solid #ECF0F5;font-size:.67rem;color:#74839A}.table-footer-total b{font-size:.75rem;color:#243952}.empty-state{padding:40px 15px;text-align:center;color:#8E9CB0}.empty-state i{font-size:2rem;display:block;color:#B8C9DF;margin-bottom:10px}.empty-state b{display:block;font-size:.75rem;color:#4A5E78}.empty-state p{font-size:.65rem;margin:5px 0 0}
/* modal, order, finance */
.modal-content{border:0;border-radius:17px;box-shadow:0 25px 80px rgba(9,26,52,.2);overflow:hidden}.modal-header{padding:19px 22px;border-bottom:1px solid #E9EEF5;background:#fff}.modal-eyebrow{font-size:.55rem;color:var(--jirly-blue);letter-spacing:.13em;font-weight:800;display:block;margin-bottom:4px}.modal-title{font-size:.95rem;font-weight:800;letter-spacing:-.035em;margin:0}.modal-body{padding:22px}.modal-footer{padding:14px 22px;border-top:1px solid #E9EEF5;background:#FBFCFE}.modal-footer .btn{font-size:.67rem;padding:.6rem 1rem}.modal-body .form-control,.modal-body .form-select{font-size:.72rem;padding:.65rem .75rem}.modal-body .form-label{font-size:.63rem}.modal-section-title{font-size:.71rem;font-weight:800;margin:0 0 12px;color:#273B57}.detail-customer-card{display:flex;gap:13px;align-items:flex-start;padding:15px;background:#F6F9FE;border:1px solid #E5ECF7;border-radius:12px;margin-bottom:16px}.customer-initial{display:grid;place-items:center;width:42px;height:42px;flex-shrink:0;border-radius:13px;background:#DDEAFF;color:var(--jirly-blue);font-weight:800}.detail-customer-card h4{font-size:.79rem;font-weight:800;margin:1px 0 5px}.detail-customer-card p{font-size:.62rem;color:#718198;margin:2px 0}.detail-kv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:15px}.detail-kv>div{padding:11px 12px;border:1px solid #EDF1F6;border-radius:10px;min-width:0}.detail-kv small{display:block;color:#93A0B0;font-size:.56rem;margin-bottom:3px}.detail-kv b{display:block;color:#31445E;font-size:.66rem;overflow-wrap:anywhere}.detail-notes{padding:13px;border:1px solid #EAEFF6;border-radius:11px;background:#fff}.detail-notes small{display:block;font-size:.57rem;color:#8B99AD;font-weight:800;margin-bottom:5px}.detail-notes p{font-size:.68rem;color:#55677E;margin:0;white-space:pre-wrap}.evidence-accordion .accordion-item{border:1px solid #E6ECF4;border-radius:10px!important;margin-bottom:8px;overflow:hidden}.evidence-accordion .accordion-button{font-weight:800;font-size:.68rem;padding:12px 14px;box-shadow:none;background:#F9FBFE}.evidence-accordion .accordion-button:not(.collapsed){color:var(--jirly-blue);background:#F3F7FF}.evidence-accordion .accordion-body{padding:14px}.evidence-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.evidence-thumb{position:relative;border-radius:9px;overflow:hidden;border:1px solid #E3EAF4;background:#F4F7FB;cursor:pointer;padding:0;display:grid;place-items:center;aspect-ratio:1/1}.evidence-thumb img{width:100%;height:auto;aspect-ratio:1/1;object-fit:contain}.evidence-thumb i{font-size:1.6rem;color:#A4B4CA}.evidence-video{width:100%;max-height:420px;background:#0B1628;border-radius:10px;aspect-ratio:auto}.lightbox-content{background:rgba(8,17,32,.96)}.lightbox-content .modal-body{padding:0 25px 25px}.lightbox-content img{max-height:78vh;width:auto;object-fit:contain}.lightbox-content video{max-height:78vh;width:auto;aspect-ratio:auto}.assignment-items{display:grid;gap:9px}.assignment-item{padding:12px;border:1px solid #E4EAF3;border-radius:11px;background:#FBFCFE}.assignment-item-row{display:grid;grid-template-columns:minmax(0,1fr) 92px 36px;gap:8px;align-items:end}.assignment-item select{width:100%}.remove-item-btn{height:37px;width:36px;border:1px solid #F2D0D0;color:#D84950;background:#FFF5F5;border-radius:9px}.assignment-total{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:14px;border-radius:10px;background:#EFF5FF;margin-top:13px;font-size:.66rem}.assignment-total strong{font-size:.9rem;color:var(--jirly-blue)}.inline-warning{font-size:.61rem;padding:9px 11px;border-radius:8px;background:#FFF4E4;color:#9A6700;margin-top:9px}.wo-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.wo-card{border:1px solid #E6ECF4;background:#fff;border-radius:15px;overflow:hidden;min-width:0;transition:box-shadow .3s ease,transform .3s ease}.wo-card:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)}.wo-card-top{padding:16px 17px 13px;border-bottom:1px solid #EDF1F6;display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.wo-number{color:var(--jirly-blue);font-size:.62rem;font-weight:800}.wo-card-top h3{font-size:.8rem;font-weight:800;margin:5px 0 3px}.wo-card-top p{font-size:.6rem;color:#8795A7;margin:0}.wo-card-content{padding:15px 17px}.wo-info-line{display:flex;gap:9px;margin-bottom:10px;font-size:.64rem;color:#63738A}.wo-info-line i{width:15px;color:#8CA1BD}.wo-info-line span{overflow-wrap:anywhere}.wo-items{border-top:1px solid #EDF1F6;padding-top:11px;margin-top:12px}.wo-items-title{font-size:.58rem;color:#96A2B1;font-weight:800;margin-bottom:8px}.wo-item-row{display:flex;justify-content:space-between;gap:10px;font-size:.63rem;margin:5px 0;color:#596A81}.wo-item-row b{color:#2E4460}.wo-card-actions{padding:12px 17px 16px;display:flex;gap:7px;flex-wrap:wrap}.wo-card-actions .btn{font-size:.61rem;padding:.55rem .72rem}.timeline{display:grid;gap:0;position:relative;padding-left:19px}.timeline:before{content:"";position:absolute;left:5px;top:7px;bottom:8px;width:1px;background:#DCE6F3}.timeline-item{position:relative;padding-bottom:17px}.timeline-item:last-child{padding-bottom:0}.timeline-item:before{content:"";position:absolute;width:11px;height:11px;border-radius:50%;background:#0B63E5;border:3px solid #DDEBFF;left:-18px;top:3px}.timeline-item b{font-size:.66rem;color:#344861;display:block}.timeline-item small{font-size:.56rem;color:#97A2B1;display:block;margin:3px 0 5px}.timeline-item p{font-size:.63rem;color:#65758A;margin:0}.finance-filter{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.finance-filter .form-control,.finance-filter .form-select{max-width:160px;font-size:.64rem;padding:.56rem .7rem}.margin-highlight{color:#12966B;font-weight:800}.invoice-paper{background:#fff;padding:28px;color:#172943;font-family:var(--font-sans)}.invoice-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-bottom:2px solid #0B63E5;padding-bottom:16px}.invoice-logo{display:flex;align-items:center;gap:9px}.invoice-logo svg{width:40px;height:40px}.invoice-logo b{font-size:1rem;display:block}.invoice-logo small{font-size:.62rem;color:#7B8CA3}.invoice-number-box{text-align:right}.invoice-number-box small{display:block;font-size:.57rem;color:#71819A;font-weight:800}.invoice-number-box b{display:inline-block;background:#EAF2FF;color:#0B63E5;padding:6px 8px;border-radius:6px;font-size:.78rem;letter-spacing:.04em;margin-top:4px}.invoice-meta{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:18px 0}.invoice-meta h4{font-size:.62rem;font-weight:800;color:#8695A9;text-transform:uppercase;margin:0 0 7px}.invoice-meta p{font-size:.67rem;line-height:1.6;margin:0;color:#455972}.invoice-table{width:100%;border-collapse:collapse;font-size:.65rem}.invoice-table th{background:#F1F5FB;text-align:left;padding:10px 9px;font-size:.58rem;color:#61748D}.invoice-table td{padding:10px 9px;border-bottom:1px solid #E9EEF5}.invoice-totals{width:min(100%,290px);margin:15px 0 15px auto}.invoice-total-row{display:flex;justify-content:space-between;padding:5px 0;font-size:.66rem;color:#61728A}.invoice-total-row.grand{border-top:1px solid #CAD7E8;padding-top:11px;margin-top:6px;font-size:.8rem;font-weight:800;color:#0B63E5}.invoice-warranty{margin-top:18px;padding:13px 15px;background:#F7FAFE;border:1px solid #E2EAF5;border-radius:8px;font-size:.59rem;line-height:1.75;color:#536780}.invoice-warranty b{color:#263C58}.invoice-signature{display:flex;justify-content:flex-end;margin-top:25px}.signature-box{width:185px;border-top:1px solid #D4DEEC;padding-top:7px;font-size:.61rem;text-align:center;color:#61728A}.stock-alert-panel{border:1px solid #F6D8D8;background:#FFFBFB;border-radius:13px;margin-bottom:19px;overflow:hidden}.stock-alert-head{padding:13px 16px;display:flex;align-items:center;gap:8px;border-bottom:1px solid #F8E5E5;color:#C7474C;font-size:.72rem;font-weight:800}.stock-alert-head i{font-size:1rem}.stock-alert-list{padding:12px 15px;display:flex;gap:8px;flex-wrap:wrap}.stock-alert-chip{background:#fff;border:1px solid #F4DCDC;border-radius:8px;padding:7px 10px;font-size:.61rem;color:#845759}.stock-alert-chip b{color:#C7474C}.select2-container{width:100%!important;font-size:.72rem}.select2-container--default .select2-selection--single{height:39px;border:1px solid #DDE4EE;border-radius:9px}.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:37px;color:#30445F;padding-left:10px}.select2-container--default .select2-selection--single .select2-selection__arrow{height:37px;right:5px}.select2-container--default .select2-selection--multiple{min-height:39px;border:1px solid #DDE4EE;border-radius:9px}.select2-container--default .select2-selection--multiple .select2-selection__choice{font-size:.62rem;border:0;background:#EAF2FF;color:#1B5CB0;border-radius:5px;padding:3px 5px}.select2-dropdown{border-color:#DDE4EE;box-shadow:0 8px 20px rgba(25,48,78,.1);font-size:.7rem}.select2-results__option{padding:8px 10px}.alert-mini{border-radius:9px;font-size:.64rem;padding:10px 12px}.employee-welcome{display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(120deg,#0B63E5,#2A80EC);border-radius:17px;padding:25px 27px;color:#fff;margin-bottom:20px;overflow:hidden;position:relative}.employee-welcome:after{content:"";position:absolute;right:0;top:-80px;width:250px;height:250px;border:1px solid rgba(255,255,255,.22);border-radius:50%;box-shadow:0 0 0 30px rgba(255,255,255,.045),0 0 0 60px rgba(255,255,255,.025)}.employee-welcome>*{position:relative;z-index:1}.employee-welcome h1{font-size:1.35rem;font-weight:800;letter-spacing:-.045em;margin:0 0 6px}.employee-welcome p{font-size:.68rem;color:#D6E7FF;margin:0}.employee-welcome .welcome-date{border:1px solid rgba(255,255,255,.27);border-radius:11px;background:rgba(255,255,255,.1);padding:10px 13px;font-size:.65rem;white-space:nowrap}.employee-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:20px}.employee-steps{display:flex;align-items:center;gap:7px;margin-bottom:15px;flex-wrap:wrap}.step-pill{border-radius:7px;font-size:.58rem;font-weight:800;padding:6px 9px;background:#EFF3F8;color:#8694A8}.step-pill.done{background:#DFF7EC;color:#12845D}.step-pill.current{background:#E3EEFF;color:#175BBB}.upload-zone{position:relative;border:1px dashed #BECDE1;background:#FAFCFF;border-radius:11px;padding:16px;text-align:center;transition:all .3s ease}.upload-zone:hover{border-color:#6EA5F7;background:#F3F8FF}.upload-zone input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.upload-zone i{font-size:1.35rem;color:var(--jirly-blue)}.upload-zone b{display:block;font-size:.66rem;margin:6px 0 2px}.upload-zone small{display:block;font-size:.57rem;color:#8B99AD}.upload-file-state{font-size:.61rem;color:#19865F;margin-top:8px;overflow-wrap:anywhere}.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.btn:disabled{opacity:.47;box-shadow:none;transform:none}.chart-filter-buttons{display:flex;gap:4px;padding:3px;background:#F1F4F9;border-radius:8px}.chart-filter-buttons button{border:0;background:transparent;border-radius:6px;padding:5px 8px;font-size:.57rem;font-weight:800;color:#78879C}.chart-filter-buttons button.active{background:#fff;color:var(--jirly-blue);box-shadow:0 2px 5px rgba(19,42,75,.08)}.employee-work-banner{display:flex;align-items:center;gap:9px;padding:12px 13px;border-radius:10px;background:#EFF7FF;color:#315B91;font-size:.64rem;margin-bottom:15px}.employee-work-banner i{font-size:1rem}
@keyframes fadeUp{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}.fade-up{opacity:0;transform:translateY(17px);transition:opacity .65s ease,transform .65s ease}.fade-up.in-view{opacity:1;transform:translateY(0)}
@media(max-width:1199.98px){.app-sidebar{width:235px}.app-main{margin-left:235px}.app-content{padding:24px 22px 30px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.stats-panel{grid-template-columns:repeat(3,1fr)}.stat-note{grid-column:1/-1;border-top:1px solid var(--jirly-line);padding-top:15px}.stat-item:nth-child(3){border-right:0}.testimonial-card>p{min-height:115px}}
@media(max-width:991.98px){.navbar-nav{padding-top:12px;align-items:stretch!important}.navbar-nav .nav-link{padding:.65rem .3rem!important}.lang-select{width:100%;max-width:120px}.hero-section{padding:125px 0 80px}.hero-copy h1{font-size:clamp(2.5rem,6vw,3.7rem)}.hero-visual{max-width:540px;margin:16px auto 0}.stats-panel{transform:none;margin-top:-10px}.section-pad{padding:72px 0}.why-image-wrap{max-width:600px;margin:0 auto}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-grid .gallery-large{grid-column:1/-1}.gallery-grid .gallery-large img{aspect-ratio:1.7/1}.booking-aside{padding:34px 30px;border-right:0;border-bottom:1px solid #E7EDF7}.booking-form-wrap{padding:33px 30px}.final-cta-inner{align-items:flex-start;flex-direction:column}.final-cta .btn{align-self:flex-start}.app-sidebar{transform:translateX(-100%);box-shadow:12px 0 40px rgba(6,24,50,.15)}.app-sidebar.show{transform:translateX(0)}.app-main{margin-left:0}.sidebar-mobile-toggle{display:grid;place-items:center}.app-topbar{padding:0 22px}.sidebar-backdrop{position:fixed;inset:0;background:rgba(6,20,43,.48);z-index:1030;opacity:0;visibility:hidden;transition:all .3s ease}.sidebar-backdrop.show{opacity:1;visibility:visible}.dashboard-grid{grid-template-columns:minmax(0,1fr) minmax(240px,.8fr)}.wo-card-grid{grid-template-columns:1fr 1fr}}
@media(max-width:767.98px){body{font-size:13px}.section-pad{padding:62px 0}.hero-section{padding:115px 0 56px}.hero-copy h1{font-size:clamp(2.35rem,10vw,3.1rem)}.hero-copy h1:after{margin-top:18px}.hero-subtitle{font-size:.88rem}.hero-actions{display:grid!important;grid-template-columns:1fr}.hero-actions .btn{width:100%}.hero-trust-row{gap:13px;font-size:.64rem}.hero-visual{padding:8px 4px 20px 15px;margin-top:6px}.hero-photo{border-radius:22px;aspect-ratio:.98/1}.photo-overlay{inset:8px 4px 20px 15px;border-radius:22px}.floating-warranty{left:-3px;top:40px;padding:9px 10px;gap:7px;border-radius:12px}.warranty-icon{width:32px;height:32px;font-size:1rem;border-radius:9px}.floating-warranty b{font-size:.61rem}.floating-warranty small{font-size:.53rem}.floating-rating{right:-2px;bottom:40px;padding:9px 11px;border-radius:12px;column-gap:6px}.floating-rating b{font-size:.67rem}.floating-rating small{font-size:.53rem}.rating-stars{font-size:.62rem}.hero-image-caption{bottom:36px;left:28px;font-size:.62rem}.stats-section{padding-bottom:12px}.stats-panel{grid-template-columns:1fr 1fr;padding:20px 18px;gap:17px;border-radius:16px}.stat-item{border:0;padding-left:0}.stat-item strong{font-size:1.55rem}.stat-item>span{font-size:.61rem}.stat-note{grid-column:1/-1;border-top:1px solid var(--jirly-line);padding-top:14px;font-size:.65rem}.section-heading{gap:9px;margin-bottom:20px}.section-heading h2,.section-heading-inline h2{font-size:1.8rem}.section-heading p,.section-heading-inline p{font-size:.78rem}.service-card{padding:21px 19px}.service-icon{width:47px;height:47px;border-radius:13px;font-size:1.35rem;margin-bottom:17px}.service-card h3{font-size:.9rem}.service-card p{font-size:.72rem}.section-heading-inline{display:block}.section-heading-inline>.btn{margin-top:16px}.product-filters{display:grid;grid-template-columns:1fr 1fr;gap:8px}.product-filters .form-select{max-width:none;font-size:.68rem;padding:.65rem .65rem}.catalog-count{grid-column:1/-1;margin-left:0}.product-card-visual{aspect-ratio:1.35/1}.product-card-body{padding:13px}.product-card h3{font-size:.72rem;min-height:40px}.product-price-row strong{font-size:.78rem}.product-meta{font-size:.56rem}.brand-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.brand-chip{min-height:75px;padding:10px 3px}.brand-chip span:last-child{font-size:.56rem}.brand-mark{width:30px;height:30px}.why-image-wrap{padding:0 12px 12px 0}.why-image-wrap>img{border-radius:18px;aspect-ratio:1/1}.why-image-wrap:before{left:20px;top:20px;border-radius:18px}.why-image-tag{padding:10px 12px;border-radius:12px}.why-image-tag>i{font-size:1.2rem}.gallery-grid{gap:10px}.gallery-grid figure{border-radius:13px}.gallery-grid img{aspect-ratio:1/1}.gallery-grid .gallery-large img{aspect-ratio:1.3/1}.gallery-grid figcaption{padding:22px 10px 10px;font-size:.64rem}.testimonial-card{padding:19px}.testimonial-card>p{min-height:0;font-size:.72rem}.review-person img{width:34px;height:34px}.faq-section .section-heading{margin-bottom:15px}.jirly-accordion .accordion-button{font-size:.73rem;padding:16px}.jirly-accordion .accordion-body{font-size:.7rem;padding:0 16px 16px}.booking-panel{border-radius:17px}.booking-aside{padding:28px 23px}.booking-aside h2{font-size:1.8rem}.booking-aside>p{font-size:.75rem}.booking-form-wrap{padding:28px 21px}.form-title h3{font-size:1.1rem}.booking-form .form-control,.booking-form .form-select{font-size:.75rem;padding:.7rem}.booking-form .form-label{font-size:.7rem}.final-cta{padding:38px 0}.final-cta h2{font-size:1.65rem}.site-footer{padding:43px 0 100px}.footer-bottom{align-items:flex-start;flex-direction:column;margin-top:30px}.footer-map{max-width:360px}.floating-wa{right:15px;bottom:80px;width:45px;height:45px;justify-content:center;padding:0}.floating-wa span{display:none}.mobile-cta-bar{position:fixed;bottom:0;left:0;right:0;z-index:1040;display:flex;gap:8px;padding:10px max(14px,env(safe-area-inset-left)) calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.95);backdrop-filter:blur(15px);border-top:1px solid #E6EBF3;box-shadow:0 -8px 25px rgba(22,43,74,.06)}.mobile-cta-bar .btn{padding:.72rem 1rem;font-size:.73rem}.mobile-cta-bar .btn-primary{flex:1}.mobile-cta-bar .btn-success{width:48px;background:#1EB56A;border-color:#1EB56A;display:grid;place-items:center;font-size:1rem}.login-card{padding:28px 23px 23px}.login-shell{width:min(100% - 28px,460px)}
  .app-topbar{height:64px;padding:0 13px;gap:10px}.topbar-breadcrumb>span,.topbar-breadcrumb>i{display:none}.topbar-breadcrumb b{font-size:.66rem}.topbar-actions{gap:9px}.topbar-date,.topbar-user span{display:none}.topbar-user{padding-left:9px}.topbar-user .small-avatar{width:31px;height:31px}.app-content{padding:20px 13px 24px}.app-footer{padding:12px 14px;font-size:.54rem;gap:10px}.page-header{flex-direction:column;gap:13px;margin-bottom:18px}.page-header h1{font-size:1.3rem}.page-header p{font-size:.66rem}.page-header-actions{width:100%}.page-header-actions .btn{flex:1}.metric-grid{gap:9px;margin-bottom:12px}.metric-card{padding:13px 12px;border-radius:12px}.metric-head{margin-bottom:10px;align-items:flex-start}.metric-label{font-size:.57rem}.metric-icon{height:29px;width:29px;border-radius:9px;font-size:.86rem}.metric-value{font-size:1.13rem}.metric-foot{font-size:.53rem;line-height:1.5;align-items:flex-start}.dashboard-grid,.dashboard-grid.equal{grid-template-columns:1fr;gap:12px;margin-bottom:13px}.panel-header{padding:15px 14px 12px}.panel-header h2,.panel-header h3{font-size:.73rem}.panel-header p{font-size:.57rem}.panel-body{padding:14px}.chart-wrap{height:230px}.chart-wrap.short{height:205px}.table-panel-head{padding:15px 14px}.table-panel-head h2{font-size:.75rem}.table-toolbar{padding:12px 13px;align-items:stretch;flex-direction:column}.table-filter-row .form-control.search-control{width:100%}.table-filter-row .form-control,.table-filter-row .form-select{flex:1;min-width:100px}.table-wrap{padding:0 12px 14px}.data-table{font-size:.61rem}.data-table thead th{font-size:.53rem;padding:10px 8px!important}.data-table tbody td{padding:11px 8px!important}.dt-search,.dt-length{font-size:.58rem}.dt-search input{max-width:140px}.table-footer-total{padding:12px 14px;gap:14px;font-size:.59rem}.table-footer-total b{font-size:.68rem}.wo-card-grid{grid-template-columns:1fr;gap:11px}.wo-card-top{padding:14px}.wo-card-content{padding:13px 14px}.wo-card-actions{padding:11px 14px 13px}.employee-welcome{padding:20px 18px;align-items:flex-start;flex-direction:column;gap:12px}.employee-welcome h1{font-size:1.12rem}.employee-welcome .welcome-date{font-size:.59rem}.employee-stat-grid{grid-template-columns:1fr 1fr;gap:9px}.employee-stat-grid .metric-card:last-child{grid-column:1/-1}.modal-dialog{margin:9px}.modal-header{padding:16px}.modal-title{font-size:.85rem}.modal-body{padding:15px}.modal-footer{padding:12px 15px}.modal-footer .btn{flex:1}.detail-kv{grid-template-columns:1fr 1fr;gap:7px}.detail-kv>div{padding:9px}.evidence-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.assignment-item-row{grid-template-columns:minmax(0,1fr) 75px 31px;gap:5px}.assignment-item-row .remove-item-btn{width:31px}.invoice-paper{padding:15px}.invoice-logo svg{width:31px;height:31px}.invoice-logo b{font-size:.8rem}.invoice-meta{grid-template-columns:1fr 1fr;gap:8px}.invoice-table{font-size:.55rem}.invoice-table th,.invoice-table td{padding:7px 5px}.invoice-number-box b{font-size:.62rem}.invoice-warranty{font-size:.54rem;padding:10px}.finance-filter{width:100%}.finance-filter .form-control,.finance-filter .form-select{flex:1;max-width:none}.stock-alert-list{padding:10px}.chart-filter-buttons button{font-size:.53rem;padding:5px 6px}}
@media(max-width:420px){.hero-copy h1{font-size:2.15rem}.hero-trust-row{flex-direction:column;gap:7px}.stats-panel{padding:18px 15px}.stat-item strong{font-size:1.38rem}.section-heading h2,.section-heading-inline h2{font-size:1.55rem}.brand-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.brand-chip{min-height:67px}.brand-mark{width:26px;height:26px;font-size:.72rem}.brand-chip span:last-child{font-size:.5rem}.product-filters{grid-template-columns:1fr}.catalog-count{grid-column:auto}.gallery-grid .gallery-large img{aspect-ratio:1/1}.metric-value{font-size:1rem}.metric-card{padding:12px 10px}.metric-label{font-size:.53rem}.page-header-actions .btn{font-size:.61rem}.employee-stat-grid .metric-value{font-size:1.05rem}.detail-kv{grid-template-columns:1fr}.upload-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media print{body{background:#fff!important}.invoice-paper{padding:0!important}.no-print,.app-sidebar,.app-topbar,.app-footer,.app-content>.page-header,.modal-header,.modal-footer{display:none!important}.modal,.modal-dialog,.modal-content,.modal-body{position:static!important;display:block!important;opacity:1!important;transform:none!important;box-shadow:none!important;border:0!important;max-width:none!important;margin:0!important;padding:0!important;overflow:visible!important}.invoice-paper{display:block!important}.invoice-warranty{break-inside:avoid}}
/* Content images preserve their source proportions. Never crop or stretch uploaded evidence. */
img,video{aspect-ratio:auto!important;object-fit:contain!important}
@media print{body.backoffice-page{background:#fff!important}.backoffice-page .app-layout,.backoffice-page .sidebar-backdrop,.backoffice-page .toast-container{display:none!important}.backoffice-page .modal{display:block!important;position:static!important}.backoffice-page .modal-backdrop{display:none!important}.backoffice-page .modal-dialog{max-width:none!important;width:100%!important}.backoffice-page .modal-content{box-shadow:none!important;border:0!important}.backoffice-page #appModal .modal-header,.backoffice-page #appModal .modal-footer{display:none!important}.backoffice-page #appModal .modal-body{padding:0!important}.backoffice-page #appModal .invoice-paper{display:block!important}}

/* Owner dashboard status and finance snapshot */
.status-overview-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin:0 0 20px}.status-overview-card{min-width:0;border:1px solid #E8EDF4;background:#fff;border-radius:12px;padding:12px 13px;display:flex;flex-direction:column;gap:10px}.status-overview-label{font-size:.6rem;color:#7D8BA0;font-weight:700;display:flex;align-items:center;gap:6px;line-height:1.4}.status-overview-label .legend-dot{flex:0 0 8px}.status-overview-label>i{color:var(--jirly-blue);font-size:.78rem}.status-overview-card>strong{font-size:1.18rem;color:#263A55;letter-spacing:-.04em;overflow-wrap:anywhere}.status-overview-emphasis{background:#F5F9FF;border-color:#D9E7FF}.status-overview-emphasis>strong{font-size:.87rem;color:var(--jirly-blue)}.status-overview-alert{background:#FFF8F7;border-color:#F6E0DE}.status-overview-alert .status-overview-label>i,.status-overview-alert>strong{color:#D9454D}.brand-chip img{max-width:72px;max-height:34px;width:auto;height:auto;object-fit:contain}.brand-chip>span:last-child{font-size:.62rem;font-weight:800;color:#5E6C80}
@media(max-width:1399.98px){.status-overview-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:767.98px){.status-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:13px}.status-overview-card{padding:11px 10px}.status-overview-label{font-size:.55rem}.status-overview-card>strong{font-size:1.05rem}.status-overview-emphasis>strong{font-size:.78rem}}


/* V6 branding: provided Jirly logo */
.jirly-logo{display:block;width:auto;height:auto;max-width:100%;object-fit:contain;object-position:left center}.nav-logo{width:178px;max-height:58px}.footer-logo{width:190px;max-height:68px}.sidebar-logo{width:156px;max-height:54px}.login-logo{width:178px;max-height:65px}.invoice-logo img{display:block;width:154px;max-height:64px;object-fit:contain;object-position:left center}
.theme-toggle{display:inline-grid;place-items:center;width:40px;height:40px;border:1px solid var(--jirly-line);border-radius:12px;background:var(--surface-card,#fff);color:var(--jirly-ink);font-size:1rem;transition:all .3s ease;flex-shrink:0}.theme-toggle:hover{border-color:var(--jirly-blue);color:var(--jirly-blue);transform:translateY(-1px)}.login-theme-toggle{position:fixed;right:22px;top:22px;z-index:25}
.publish-switch{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-size:.72rem;font-weight:800}.publish-switch .form-check-input{float:none;margin:0;width:2.1rem;height:1.15rem;cursor:pointer}
.wo-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:15px 17px;margin-bottom:14px;border:1px solid var(--jirly-line);border-radius:16px;background:var(--surface-soft,#F7F9FC)}.wo-detail-head h3{font-size:.98rem;font-weight:800;letter-spacing:-.025em;margin:7px 0 3px}.wo-detail-head .detail-dates{display:flex;gap:8px 16px;flex-wrap:wrap;color:var(--jirly-muted);font-size:.69rem}.wo-detail-columns{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:14px;margin-bottom:15px}.wo-detail-card{min-width:0;border:1px solid var(--jirly-line);border-radius:16px;background:var(--surface-card,#fff);overflow:hidden}.wo-detail-card-head{padding:13px 15px;border-bottom:1px solid var(--jirly-line);font-weight:800;font-size:.8rem;display:flex;align-items:center;gap:8px}.wo-detail-card-body{padding:14px;min-width:0}.wo-detail-card .detail-customer-card{border:0;border-radius:0;padding:0;background:transparent}.wo-detail-card .table{--bs-table-bg:transparent;--bs-table-color:var(--jirly-ink);--bs-table-border-color:var(--jirly-line);font-size:.72rem}.wo-detail-card .table thead th{font-size:.63rem;color:var(--jirly-muted)}.wo-detail-timeline{position:relative;display:grid;gap:0;margin:9px 0 0 5px;padding-left:19px;border-left:2px solid var(--jirly-line)}.wo-timeline-item{position:relative;padding:0 0 15px}.wo-timeline-item:before{content:"";position:absolute;width:9px;height:9px;left:-25px;top:5px;border-radius:50%;background:var(--jirly-blue);box-shadow:0 0 0 4px var(--jirly-blue-soft)}.wo-timeline-item b{font-size:.73rem;display:block}.wo-timeline-item small{display:block;color:var(--jirly-muted);font-size:.63rem}.wo-timeline-item p{margin:4px 0 0;color:var(--jirly-muted);font-size:.68rem}
@media(max-width:767.98px){.nav-logo{width:136px;max-height:49px}.footer-logo{width:166px}.sidebar-logo{width:138px}.login-logo{width:155px}.invoice-logo img{width:118px}.theme-toggle{width:36px;height:36px;border-radius:10px}.login-theme-toggle{right:12px;top:12px}.wo-detail-columns{grid-template-columns:1fr}.wo-detail-head{padding:12px}.wo-detail-head .detail-dates{flex-direction:column;gap:3px}}

/* V6 light/dark surfaces. Dark colors meet readable contrast on the core UI. */
:root[data-theme="dark"]{--jirly-ink:#F1F5F9;--jirly-muted:#A7B5C8;--jirly-line:#334155;--jirly-bg:#0F172A;--jirly-blue-soft:#172E52;--jirly-mint:#164A3D;--shadow-sm:0 8px 24px rgba(0,0,0,.18);--shadow-md:0 18px 48px rgba(0,0,0,.28);--surface-card:#1E293B;--surface-soft:#142033;color-scheme:dark}
:root[data-theme="dark"] body{background:#0F172A;color:#F1F5F9}:root[data-theme="dark"] .jirly-nav{background:rgba(15,23,42,.94);border-color:#334155}:root[data-theme="dark"] .brand-name,:root[data-theme="dark"] .section-heading h2,:root[data-theme="dark"] .section-heading-inline h2,:root[data-theme="dark"] .service-card h3,:root[data-theme="dark"] .product-card h3,:root[data-theme="dark"] .form-title h3{color:#F1F5F9}:root[data-theme="dark"] .navbar-nav .nav-link,:root[data-theme="dark"] .hero-trust-row,:root[data-theme="dark"] .stat-note{color:#CBD5E1}
:root[data-theme="dark"] .hero-section{background:linear-gradient(115deg,#0F172A 0%,#14233B 58%,#152943 100%)}:root[data-theme="dark"] .hero-copy h1{color:#F8FAFC}:root[data-theme="dark"] .hero-subtitle,:root[data-theme="dark"] .section-heading p,:root[data-theme="dark"] .section-heading-inline p,:root[data-theme="dark"] .service-card p{color:#B5C2D4}
:root[data-theme="dark"] .stats-section,:root[data-theme="dark"] .stats-panel,:root[data-theme="dark"] .service-card,:root[data-theme="dark"] .product-card,:root[data-theme="dark"] .testimonial-card,:root[data-theme="dark"] .faq-section .accordion-item,:root[data-theme="dark"] .booking-form-wrap,:root[data-theme="dark"] .booking-panel,:root[data-theme="dark"] .login-card{background:#1E293B;border-color:#334155;color:#F1F5F9}:root[data-theme="dark"] .stats-section{background:#0F172A}:root[data-theme="dark"] .products-section,:root[data-theme="dark"] .gallery-section,:root[data-theme="dark"] .testimonials-section,:root[data-theme="dark"] .faq-section{background:#111C2E}:root[data-theme="dark"] .stat-item{border-color:#334155}:root[data-theme="dark"] .stat-item strong{color:#F1F5F9}
:root[data-theme="dark"] .product-card-visual{background:linear-gradient(135deg,#182C48,#233B5B)}:root[data-theme="dark"] .product-visual-icon{background:rgba(15,23,42,.85);color:#8DBBFF}:root[data-theme="dark"] .product-card{border-color:#334155}:root[data-theme="dark"] .product-meta,:root[data-theme="dark"] .product-meta span,:root[data-theme="dark"] .catalog-count{color:#B5C2D4}
:root[data-theme="dark"] .product-filters .form-select,:root[data-theme="dark"] .form-control,:root[data-theme="dark"] .form-select,:root[data-theme="dark"] .input-group-text{background-color:#0F172A;border-color:#475569;color:#F1F5F9}:root[data-theme="dark"] .form-control::placeholder,:root[data-theme="dark"] textarea::placeholder{color:#94A3B8}:root[data-theme="dark"] .form-label{color:#D7E0EC}:root[data-theme="dark"] .form-privacy,:root[data-theme="dark"] .booking-form p,:root[data-theme="dark"] .login-intro,:root[data-theme="dark"] .login-foot{color:#B5C2D4}:root[data-theme="dark"] .booking-aside{background:linear-gradient(145deg,#0B2F61,#0F4AA1)}
:root[data-theme="dark"] .accordion-button{background:#1E293B;color:#F1F5F9}:root[data-theme="dark"] .accordion-button:not(.collapsed){background:#172E52;color:#9CC5FF;box-shadow:none}:root[data-theme="dark"] .accordion-body,:root[data-theme="dark"] .accordion-item{background:#1E293B;color:#D5DEEA;border-color:#334155}:root[data-theme="dark"] .site-footer{background:#080F1D;color:#CBD5E1}:root[data-theme="dark"] .site-footer h3,:root[data-theme="dark"] .site-footer .brand-name{color:#F1F5F9}
:root[data-theme="dark"] .login-page{background:#0F172A}:root[data-theme="dark"] .login-card{box-shadow:0 28px 80px rgba(0,0,0,.3)}:root[data-theme="dark"] .demo-credentials{background:#142033;border-color:#334155}:root[data-theme="dark"] .demo-head,:root[data-theme="dark"] .demo-credentials span{color:#CBD5E1}:root[data-theme="dark"] .back-home{color:#A7C8FF}
:root[data-theme="dark"] .app-sidebar{background:#111C2E;border-color:#334155}:root[data-theme="dark"] .app-main,:root[data-theme="dark"] .app-content{background:#0F172A}:root[data-theme="dark"] .app-topbar,:root[data-theme="dark"] .app-footer{background:#111C2E;border-color:#334155;color:#CBD5E1}:root[data-theme="dark"] .app-sidebar .sidebar-brand,:root[data-theme="dark"] .sidebar-profile,:root[data-theme="dark"] .sidebar-footer{border-color:#334155}:root[data-theme="dark"] .menu-link{color:#A7B5C8}:root[data-theme="dark"] .menu-link:hover,:root[data-theme="dark"] .menu-link.active{background:#172E52;color:#A7C8FF}:root[data-theme="dark"] .menu-caption{color:#8291A7}
:root[data-theme="dark"] .metric-card,:root[data-theme="dark"] .panel-card,:root[data-theme="dark"] .table-panel,:root[data-theme="dark"] .status-overview-card,:root[data-theme="dark"] .wo-card,:root[data-theme="dark"] .employee-welcome,:root[data-theme="dark"] .stock-alert-panel{background:#1E293B;border-color:#334155;color:#F1F5F9}:root[data-theme="dark"] .metric-label,:root[data-theme="dark"] .metric-foot,:root[data-theme="dark"] .panel-header p,:root[data-theme="dark"] .table-panel-head p,:root[data-theme="dark"] .table-subtext,:root[data-theme="dark"] .wo-card-content,:root[data-theme="dark"] .wo-card-top p{color:#A7B5C8}:root[data-theme="dark"] .metric-value,:root[data-theme="dark"] .panel-header h2,:root[data-theme="dark"] .panel-header h3,:root[data-theme="dark"] .table-panel-head h2,:root[data-theme="dark"] .page-header h1,:root[data-theme="dark"] .wo-card h3{color:#F1F5F9}
:root[data-theme="dark"] .table-panel-head,:root[data-theme="dark"] .panel-header,:root[data-theme="dark"] .table-toolbar,:root[data-theme="dark"] .table-footer-total,:root[data-theme="dark"] .table-wrap{border-color:#334155}:root[data-theme="dark"] .data-table,:root[data-theme="dark"] .data-table tbody td,:root[data-theme="dark"] .table,:root[data-theme="dark"] .table> :not(caption)>*>*{background-color:transparent;color:#E2E8F0;border-color:#334155}:root[data-theme="dark"] .data-table thead th{background:#142033;color:#A7B5C8;border-color:#334155}:root[data-theme="dark"] .data-table tbody tr:hover>*{background:#172E52!important;color:#F8FAFC}
:root[data-theme="dark"] .modal-content,:root[data-theme="dark"] .modal-header,:root[data-theme="dark"] .modal-footer,:root[data-theme="dark"] .modal-body{background:#1E293B;color:#F1F5F9;border-color:#334155}:root[data-theme="dark"] .btn-close{filter:invert(1) grayscale(1)}:root[data-theme="dark"] .select2-container--default .select2-selection--single,:root[data-theme="dark"] .select2-container--default .select2-selection--multiple,:root[data-theme="dark"] .select2-dropdown,:root[data-theme="dark"] .select2-search__field{background:#0F172A;color:#F1F5F9;border-color:#475569}:root[data-theme="dark"] .select2-container--default .select2-results__option{background:#1E293B;color:#F1F5F9}:root[data-theme="dark"] .select2-container--default .select2-results__option--highlighted[aria-selected]{background:#0B63E5;color:white}
:root[data-theme="dark"] .detail-customer-card,:root[data-theme="dark"] .detail-kv>div,:root[data-theme="dark"] .detail-notes,:root[data-theme="dark"] .wo-detail-card,:root[data-theme="dark"] .wo-detail-head{background:#142033;border-color:#334155;color:#F1F5F9}:root[data-theme="dark"] .detail-kv small,:root[data-theme="dark"] .detail-notes small,:root[data-theme="dark"] .detail-notes p{color:#A7B5C8}:root[data-theme="dark"] .wo-detail-card-head{border-color:#334155}:root[data-theme="dark"] .wo-detail-card .table tfoot{color:#F1F5F9}:root[data-theme="dark"] .wo-timeline-item p{color:#A7B5C8}:root[data-theme="dark"] .stock-item{background:#142033!important;border-color:#334155!important;color:#F1F5F9}:root[data-theme="dark"] .stock-item small,:root[data-theme="dark"] .empty-state p,:root[data-theme="dark"] .text-muted{color:#A7B5C8!important}:root[data-theme="dark"] .assignment-item,:root[data-theme="dark"] .upload-zone,:root[data-theme="dark"] .alert-mini{background:#142033;border-color:#334155;color:#E2E8F0}:root[data-theme="dark"] .chart-filter-buttons button{background:#142033;color:#CBD5E1;border-color:#475569}:root[data-theme="dark"] .chart-filter-buttons button.active{background:#0B63E5;color:white;border-color:#0B63E5}:root[data-theme="dark"] .toast{background:#1E293B;color:#F1F5F9;border-color:#334155}:root[data-theme="dark"] .toast-header{background:#142033;color:#F1F5F9;border-color:#334155}:root[data-theme="dark"] .invoice-paper{background:#fff;color:#172943}
/* V6 dark-mode finish: sections and fixed calls-to-action use the same dark palette. */
:root[data-theme="dark"] .brands-section,:root[data-theme="dark"] .why-section,:root[data-theme="dark"] .final-cta{background:#0F172A;border-color:#334155}
:root[data-theme="dark"] .brands-section h2,:root[data-theme="dark"] .why-section h2,:root[data-theme="dark"] .why-section h3,:root[data-theme="dark"] .final-cta h2{color:#F1F5F9}
:root[data-theme="dark"] .brand-chip,:root[data-theme="dark"] .why-image-tag{background:#1E293B;border-color:#334155;color:#F1F5F9}
:root[data-theme="dark"] .brand-chip span:last-child,:root[data-theme="dark"] .why-image-tag small{color:#CBD5E1}
:root[data-theme="dark"] .why-check{background:#172E52;color:#9CC5FF}
:root[data-theme="dark"] .mobile-cta-bar{background:rgba(15,23,42,.96);border-color:#334155;box-shadow:0 -8px 25px rgba(0,0,0,.25)}
:root[data-theme="dark"] .demo-credentials .demo-fill{color:#A7C8FF}
:root[data-theme="dark"] .empty-catalog{background:#1E293B;border-color:#334155;color:#CBD5E1}
:root[data-theme="dark"] .dataTables_wrapper .dataTables_filter input,:root[data-theme="dark"] .dataTables_wrapper .dataTables_length select{background:#0F172A;color:#F1F5F9;border-color:#475569}
:root[data-theme="dark"] .pagination .page-link{background:#1E293B;color:#CBD5E1;border-color:#334155}
:root[data-theme="dark"] .pagination .page-item.active .page-link{background:#0B63E5;color:#fff;border-color:#0B63E5}
/* V7 Purchase Order refinements */
[data-po-row] .form-label{font-size:.78rem;font-weight:700;color:var(--text-muted,#64748b)}
.po-item-summary{border:1px solid var(--border-color,#e2e8f0);border-radius:12px;padding:12px}
[data-theme="dark"] .po-item-summary{background:#1e293b;border-color:#334155;color:#f1f5f9}

/* V9 product photography: natural dimensions, no stretching or forced crop. */
.product-card-visual.product-photo-visual{display:block;height:auto;min-height:0;aspect-ratio:auto;background:#fff;padding:0}
.product-card-visual.product-photo-visual:before{display:none}
.product-card-photo{display:block;width:100%;height:auto;max-height:190px;object-fit:contain;aspect-ratio:auto;position:relative;z-index:1;background:#fff}
.product-photo-visual .product-type-pill{top:10px;left:10px}
.product-photo-visual .product-brand-chip{bottom:10px;right:10px}
:root[data-theme="dark"] .product-card-visual.product-photo-visual,:root[data-theme="dark"] .product-card-photo{background:#F8FAFC}

/* V9 finance queue for purchase orders awaiting payment. */
#appView .panel-card .table-wrap .btn[data-action="po-pay"]{white-space:nowrap}
