body{background:linear-gradient(180deg,#f5f9fd 0%,#eef4fa 100%);color:#14243b}
.customer-shell{min-height:100vh}
.customer-navbar{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.9);backdrop-filter:blur(18px);border-bottom:1px solid #dfe8f2;box-shadow:0 10px 28px rgba(10,42,76,.05)}
.customer-navbar-inner{width:min(1280px,96%);margin:0 auto;display:flex;align-items:center;gap:18px;min-height:84px}
.customer-brand{min-width:auto;flex:0 0 auto}.customer-brand .brand-mark{box-shadow:0 10px 22px rgba(13,110,253,.18)}.customer-brand b{font-size:18px}.customer-brand small{font-size:11px;color:#7f92a8!important}
.customer-topnav{display:flex;align-items:center;gap:10px;flex:1;min-width:0;flex-wrap:wrap}
.customer-link,.customer-dropdown summary{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:11px 15px;border:1px solid #dfe8f2;border-radius:15px;background:#fff;color:#1a2b48;font-weight:700;cursor:pointer;list-style:none;transition:.2s ease;white-space:nowrap}
.customer-link:hover,.customer-dropdown summary:hover,.customer-link.active,.customer-dropdown.active summary{border-color:#c6daf2;background:linear-gradient(180deg,#ffffff,#f5f9ff);box-shadow:0 10px 24px rgba(15,74,135,.08);color:#0b5cac}
.customer-dropdown{position:relative}.customer-dropdown[open] summary{border-color:#c6daf2;background:linear-gradient(180deg,#ffffff,#f5f9ff);box-shadow:0 10px 24px rgba(15,74,135,.08)}.customer-dropdown summary::-webkit-details-marker{display:none}
.nav-indicator{width:10px;height:10px;border-radius:50%;display:inline-block;box-shadow:0 0 0 4px rgba(13,110,253,.08)}
.ind-blue{background:#0d6efd}.ind-cyan{background:#0bb6d8}.ind-green{background:#14b37d}.ind-orange{background:#ff9c2a}
.chev{font-size:11px;color:#70839a;margin-left:2px;transition:transform .18s ease}.customer-dropdown[open] .chev{transform:rotate(180deg)}
.customer-dropdown-panel{position:absolute;top:calc(100% + 10px);left:0;min-width:260px;padding:10px;border:1px solid #dce6f0;border-radius:18px;background:#fff;box-shadow:0 24px 44px rgba(12,54,98,.14);display:grid;gap:6px}
.customer-dropdown-panel a{display:flex;align-items:center;padding:11px 13px;border-radius:12px;color:#324760;font-weight:600}
.customer-dropdown-panel a:hover,.customer-dropdown-panel a.active{background:linear-gradient(120deg,#0d6efd,#0bb6d8);color:#fff}
.customer-userbar{margin-left:auto;display:flex;align-items:center;gap:10px;flex:0 0 auto}.customer-userchip{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:9px 14px;border-radius:15px;background:#fff;border:1px solid #dfe8f2;color:#455971;font-weight:600}.customer-userchip small{display:block;font-size:11px;color:#70839a;line-height:1.2}.customer-userchip b{display:block;font-size:13px;line-height:1.2}.status-dot{width:10px;height:10px;border-radius:50%;background:#11bf82;box-shadow:0 0 0 4px rgba(17,191,130,.14)}.customer-logout{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 16px;border-radius:15px;background:linear-gradient(135deg,#0d6efd,#0bb6d8);color:#fff;font-weight:700;box-shadow:0 12px 24px rgba(13,110,253,.18)}
.customer-main{width:min(1280px,96%);margin:0 auto;padding:26px 0 34px}
.customer-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px}.customer-top h1{font-size:28px;margin:4px 0}.customer-subtitle{margin:6px 0 0;color:#75859a;max-width:760px}.customer-profile{text-align:right;display:flex;flex-direction:column}.customer-profile span{font-size:11px;color:#74849a}.customer-profile b{font-size:13px}
.customer-card{background:#fff;border:1px solid #e3ebf4;border-radius:20px;padding:20px;box-shadow:0 9px 28px rgba(12,55,98,.055);margin-bottom:20px}.customer-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.customer-kpis .kpi b{display:block;font-size:29px;margin:5px 0}.customer-kpis .kpi small,.customer-kpis .kpi span{display:block;color:#7a899d;font-size:11px}.customer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}.customer-toolbar h3{margin:0 0 4px}.customer-toolbar p{margin:0;color:#77869a;font-size:12px}.status{display:inline-flex;padding:5px 9px;border-radius:20px;font-size:10px;font-weight:800;background:#edf2f7;color:#526579}.status-paid,.status-active,.status-approved{background:#e5f8f1;color:#08775e}.status-review,.status-payment_review,.status-pending{background:#fff6df;color:#9a6400}.status-unpaid,.status-awaiting_payment,.status-rejected{background:#fff0f0;color:#a32e2e}.customer-products{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.customer-product{border:1px solid #e5edf6;border-radius:18px;padding:20px;display:flex;flex-direction:column;min-height:315px}.customer-product p{color:#6d7d91;flex:1}.customer-product .price{font:800 22px "Plus Jakarta Sans";margin:15px 0}.customer-product .price small{display:block;font:600 10px Inter;color:#7b8a9e;margin-top:2px}.invoice-layout{display:grid;grid-template-columns:1.55fr .8fr;gap:20px}.invoice-head{display:flex;justify-content:space-between;gap:15px}.invoice-head h2{margin:5px 0}.invoice-head p{margin:0;color:#74849a}.invoice-total{margin:25px 0;padding:22px;border-radius:18px;background:linear-gradient(120deg,#ecf6ff,#edfffb);display:flex;flex-direction:column}.invoice-total strong{font:800 34px "Plus Jakarta Sans";color:#0959ad}.invoice-total span,.invoice-total small{color:#687b92}.bank-box{padding:18px;border:1px dashed #b9cee3;border-radius:17px;background:#fbfdff}.bank-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.bank-grid div{display:flex;flex-direction:column}.bank-grid small{color:#7d8ca0}.payment-history>div{border-top:1px solid #edf1f6;padding:12px 0;display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center}.payment-history small{display:block;color:#8593a5}.payment-note{grid-column:1/-1;margin:0;color:#a04b25;font-size:12px}.paid-box,.review-box{padding:12px;border-radius:12px;margin-bottom:15px}.paid-box{background:#e6f8f1;color:#08775e}.review-box{background:#fff6df;color:#8a5b00}.customer-auth{min-height:100vh;display:grid;place-items:center;padding:35px 0;background:radial-gradient(circle at 80% 10%,#d4f8ff,transparent 28%),linear-gradient(155deg,#eef7ff,#fff)}.auth-card{width:min(450px,92%);background:#fff;border:1px solid #e4edf6;border-radius:24px;padding:30px;box-shadow:0 25px 70px rgba(13,64,112,.14)}.auth-wide{width:min(760px,94%)}.auth-card .brand{min-width:0}.auth-card h1{font-size:28px;margin:10px 0}.auth-badge{display:inline-block;margin-top:25px;padding:5px 9px;border-radius:20px;background:#eaf5ff;color:#0d62b9;font-size:10px;font-weight:800;letter-spacing:.1em}.auth-submit{width:100%;margin-top:18px}.auth-links{text-align:center;margin-top:18px;color:#718198;font-size:12px}.auth-links a{color:#0c69ca;font-weight:700}.pay-card textarea{min-height:85px}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid #edf1f6;vertical-align:top}th{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#7b899b}.btn-sm{padding:7px 10px;border-radius:9px;font-size:11px}.note{font-size:11px;color:#738298}

@media(max-width:1120px){.customer-navbar-inner{align-items:flex-start;flex-wrap:wrap;padding:14px 0}.customer-topnav{order:3;flex-basis:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.customer-userbar{margin-left:0}.customer-dropdown-panel{left:0}}
@media(max-width:1000px){.customer-main{padding:20px 0}.customer-kpis{grid-template-columns:1fr 1fr}.customer-products{grid-template-columns:1fr 1fr}.invoice-layout{grid-template-columns:1fr}}
@media(max-width:620px){.customer-brand{flex-basis:100%}.customer-userbar{width:100%;justify-content:space-between}.customer-link,.customer-dropdown summary,.customer-userchip,.customer-logout{min-height:42px;padding:10px 13px;border-radius:13px}.customer-dropdown-panel{position:fixed;left:12px;right:12px;top:92px;min-width:0}.customer-kpis,.customer-products,.bank-grid{grid-template-columns:1fr}.customer-top,.customer-toolbar,.invoice-head{align-items:flex-start;flex-direction:column}.customer-profile{text-align:left}.payment-history>div{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-group.full{grid-column:auto}}

/* v1.1.7 - Dropdown visibility fix */
.customer-dropdown > .customer-dropdown-panel{display:none}
.customer-dropdown[open] > .customer-dropdown-panel{display:grid}

/* Uploaded company logo v1.1.8 */
.customer-brand .brand-logo-image{max-width:54px;height:42px}

/* v1.1.10 - prevent uploaded logo from expanding customer header */
.customer-brand{min-height:46px;max-height:46px;overflow:hidden}
.customer-brand > img.brand-logo-image{display:block!important;width:auto!important;height:42px!important;max-width:58px!important;max-height:42px!important;object-fit:contain!important;flex:0 0 auto!important}
.customer-chip-logo{width:34px;height:34px;flex:0 0 34px;border-radius:10px;object-fit:contain;background:#f5f9fd;border:1px solid #e0eaf4;padding:3px}

/* Product discount display v1.1.15 */
.customer-product .price{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.customer-product .price strong{font:800 22px "Plus Jakarta Sans",Inter,sans-serif;color:#0b5cac}.customer-product .price del{font:600 12px Inter;color:#91a0b2}.customer-discount-label{display:inline-flex;padding:5px 8px;border-radius:999px;background:#fff1dd;color:#a85a00;font:800 10px/1 Inter,sans-serif;margin-bottom:3px}

/* v1.1.16 - Modern two-column customer registration */
.customer-auth-split{display:block!important;padding:0!important;background:#eef6fd!important;min-height:100vh}
.register-split{min-height:100vh;display:grid;grid-template-columns:minmax(420px,.98fr) minmax(540px,1.02fr);background:#eef6fd}
.register-info-panel{position:relative;overflow:hidden;background:radial-gradient(circle at 86% 16%,rgba(62,192,255,.28),transparent 30%),linear-gradient(145deg,#f7fbff 0%,#dff4ff 48%,#bceaff 100%)}
.register-info-panel:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;right:-210px;top:120px;background:linear-gradient(145deg,rgba(33,139,255,.14),rgba(0,210,206,.04));border:1px solid rgba(255,255,255,.55)}
.register-info-inner{position:relative;z-index:2;max-width:650px;margin:0 auto;padding:46px 54px 38px;min-height:100vh;display:flex;flex-direction:column}
.register-brand{min-width:0;width:max-content;margin-bottom:58px}.register-brand .brand-logo-image{display:block!important;width:auto!important;height:56px!important;max-width:70px!important;max-height:56px!important;object-fit:contain!important}.register-brand b{font-size:21px}.register-brand small{font-size:12px;color:#6d8099}
.register-kicker{font:700 10px/1.4 "Plus Jakarta Sans",Inter,sans-serif;letter-spacing:.14em;color:#4b79a9;margin-bottom:12px}
.register-info-panel h1{font:800 clamp(44px,5vw,72px)/1.02 "Plus Jakarta Sans",Inter,sans-serif;letter-spacing:-.05em;margin:0 0 20px;color:#0e2343}.register-info-panel h1 span{background:linear-gradient(90deg,#0d6efd,#08bdd0);-webkit-background-clip:text;color:transparent}
.register-intro{max-width:510px;margin:0 0 28px;color:#58708f;font-size:16px;line-height:1.7}
.register-benefits{display:grid;gap:12px;max-width:485px}.register-benefit{display:flex;align-items:center;gap:16px;padding:15px 17px;border:1px solid rgba(255,255,255,.78);border-radius:18px;background:rgba(255,255,255,.68);backdrop-filter:blur(10px);box-shadow:0 10px 30px rgba(19,91,145,.055)}.register-benefit-icon{width:50px;height:50px;flex:0 0 50px;border-radius:16px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#0d6efd,#49a8ff);font-size:21px;box-shadow:0 10px 20px rgba(13,110,253,.18)}.register-benefit-icon.teal{background:linear-gradient(145deg,#0bb6d8,#11c9a0)}.register-benefit-icon.violet{background:linear-gradient(145deg,#6f5bf5,#8b70ff)}.register-benefit b{display:block;font:700 15px "Plus Jakarta Sans";margin-bottom:3px}.register-benefit p{margin:0;color:#617894;font-size:12.5px;line-height:1.55}
.register-visual{position:absolute;right:-45px;bottom:50px;width:360px;height:310px;pointer-events:none;opacity:.92}.register-orb{position:absolute;border-radius:50%;background:linear-gradient(145deg,rgba(13,110,253,.16),rgba(11,182,216,.1))}.orb-one{width:280px;height:280px;right:0;bottom:0}.orb-two{width:130px;height:130px;left:10px;top:10px}.register-device{position:absolute;right:25px;bottom:20px;width:265px;padding:14px;border-radius:20px;background:#fff;box-shadow:0 25px 45px rgba(29,98,158,.2);transform:rotate(-5deg);border:1px solid rgba(195,220,244,.8)}.device-top{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(120deg,#0d6efd,#0bb6d8);color:#fff;margin:-14px -14px 12px;padding:10px 13px;border-radius:20px 20px 8px 8px;font:800 12px "Plus Jakarta Sans"}.device-top i{width:7px;height:7px;border-radius:50%;background:#fff;opacity:.8}.device-row{display:flex;align-items:center;gap:10px;padding:10px 11px;margin:8px 0;border-radius:12px;background:#f4f9ff;color:#26486e;font-size:11px}.mini-ico{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#e9f3ff}.mini-ico.cyan{background:#e7fbfb}.mini-ico.violet{background:#f0edff}
.register-foot-note{margin-top:auto;padding-top:32px;color:#5e7593;font-size:12px;font-style:italic;max-width:310px}
.register-form-panel{display:grid;place-items:center;padding:38px;background:linear-gradient(180deg,#f7fbff,#eef5fb)}
.register-form-card{width:min(760px,100%);background:#fff;border:1px solid #e1eaf4;border-radius:28px;padding:38px 40px;box-shadow:0 26px 70px rgba(14,64,112,.11)}
.register-form-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.register-form-top .auth-badge{margin:0}.register-login-link{font-size:12px;color:#66758b}.register-login-link a{color:#0d6efd;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.register-form-card h2{font:800 34px/1.2 "Plus Jakarta Sans",Inter,sans-serif;letter-spacing:-.025em;margin:0 0 8px}.register-form-lead{margin:0 0 24px;color:#718096;max-width:680px;line-height:1.7}.register-form-grid{gap:16px}.register-form-grid label{font-weight:600;color:#213552}.register-form-grid select,.register-form-grid input{height:50px;border-radius:13px;border-color:#cfddea;transition:border-color .18s ease,box-shadow .18s ease}.register-form-grid select:focus,.register-form-grid input:focus{outline:none;border-color:#74aef2;box-shadow:0 0 0 4px rgba(13,110,253,.08)}
.input-icon-wrap{position:relative}.input-icon-wrap>span{position:absolute;left:14px;top:50%;transform:translateY(-50%);z-index:2;color:#758aa5;font-size:16px}.input-icon-wrap input{padding-left:42px;padding-right:42px}.password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:32px;height:32px;border:0;border-radius:9px;background:transparent;color:#7690ad;cursor:pointer;font-size:17px}.password-toggle:hover{background:#eef6ff;color:#0d6efd}.register-submit-wrap{margin-top:2px}.register-submit{min-height:50px;border-radius:14px;font-size:14px}.register-submit span{font-size:18px}.register-privacy{text-align:center;margin:10px 0 0;color:#8a98aa;font-size:10.5px}
@media(max-width:1080px){.register-split{grid-template-columns:1fr}.register-info-inner{min-height:auto;padding:34px 34px 42px}.register-brand{margin-bottom:34px}.register-visual{display:none}.register-benefits{grid-template-columns:repeat(3,1fr);max-width:none}.register-benefit{align-items:flex-start}.register-benefit-icon{width:42px;height:42px;flex-basis:42px}.register-form-panel{padding:28px}.register-form-card{max-width:820px}}
@media(max-width:760px){.register-info-panel h1{font-size:42px}.register-info-inner{padding:28px 20px 32px}.register-benefits{grid-template-columns:1fr}.register-form-panel{padding:16px}.register-form-card{padding:25px 20px;border-radius:22px}.register-form-top{align-items:flex-start;flex-direction:column;gap:10px}.register-form-card h2{font-size:28px}.register-form-grid{grid-template-columns:1fr}.register-form-grid .form-group.full{grid-column:auto}.register-brand b{font-size:17px}}

/* v1.1.18 - Modern two-column customer login */
.login-auth-split{display:block!important;padding:0!important;min-height:100vh;background:#edf6fd!important}
.login-split{min-height:100vh;display:grid;grid-template-columns:minmax(460px,1.02fr) minmax(520px,.98fr);background:#eef7fd}
.login-info-panel{position:relative;overflow:hidden;background:radial-gradient(circle at 82% 10%,rgba(52,185,255,.24),transparent 28%),linear-gradient(145deg,#f8fcff 0%,#dff4ff 45%,#b8e8ff 100%)}
.login-info-panel:before,.login-info-panel:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.login-info-panel:before{width:640px;height:640px;right:-300px;top:-120px;background:linear-gradient(145deg,rgba(13,110,253,.12),rgba(11,182,216,.03));border:1px solid rgba(255,255,255,.55)}.login-info-panel:after{width:360px;height:360px;left:-180px;bottom:-180px;background:rgba(255,255,255,.28)}
.login-info-inner{position:relative;z-index:2;min-height:100vh;max-width:760px;margin:0 auto;padding:42px 56px 36px;display:flex;flex-direction:column}
.login-brand{min-width:0;width:max-content;margin-bottom:58px}.login-brand .brand-logo-image{display:block!important;width:auto!important;height:56px!important;max-width:72px!important;max-height:56px!important;object-fit:contain!important}.login-brand b{font-size:20px}.login-brand small{font-size:12px;color:#6c809a}
.login-kicker{display:inline-flex;width:max-content;padding:7px 12px;border-radius:999px;background:rgba(225,241,255,.94);color:#1465b7;font:800 10px/1.2 "Plus Jakarta Sans",Inter,sans-serif;letter-spacing:.1em;margin-bottom:18px}
.login-info-panel h1{font:800 clamp(46px,5vw,74px)/1.02 "Plus Jakarta Sans",Inter,sans-serif;letter-spacing:-.055em;margin:0 0 18px;color:#0c2343}.login-info-panel h1 span{background:linear-gradient(90deg,#176ef3,#08b9d1);-webkit-background-clip:text;color:transparent}
.login-intro{max-width:550px;margin:0 0 28px;color:#36597d;font-size:16px;line-height:1.75}
.login-benefits{display:grid;gap:12px;max-width:470px}.login-benefit{display:flex;align-items:center;gap:15px;padding:15px 17px;border-radius:18px;background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.8);backdrop-filter:blur(10px);box-shadow:0 10px 30px rgba(18,91,145,.05)}.login-benefit-icon{width:50px;height:50px;flex:0 0 50px;border-radius:16px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#0d6efd,#4fa8ff);font-size:21px;box-shadow:0 10px 20px rgba(13,110,253,.18)}.login-benefit-icon.green{background:linear-gradient(145deg,#1eb66f,#38c992)}.login-benefit-icon.violet{background:linear-gradient(145deg,#745ff5,#9a75ff)}.login-benefit b{display:block;font:700 15px "Plus Jakarta Sans";margin-bottom:2px}.login-benefit p{margin:0;color:#5f7896;font-size:12.5px;line-height:1.5}
.login-visual{position:absolute;right:-20px;bottom:38px;width:480px;height:380px;pointer-events:none;opacity:.96}.login-float-card{position:absolute;width:66px;height:66px;border-radius:18px;display:grid;place-items:center;background:rgba(255,255,255,.82);border:1px solid rgba(255,255,255,.95);box-shadow:0 14px 30px rgba(22,102,165,.12);font-size:28px}.login-float-one{right:255px;top:2px}.login-float-two{right:72px;top:92px}.login-float-three{left:12px;top:134px}
.login-laptop{position:absolute;right:20px;bottom:38px;width:315px;padding:13px;border-radius:18px;background:#fff;border:1px solid #cfe0ef;box-shadow:0 28px 48px rgba(20,86,140,.22);transform:perspective(900px) rotateY(-5deg) rotate(-2deg)}.login-laptop-top{display:flex;align-items:center;justify-content:space-between;margin:-13px -13px 10px;padding:9px 12px;border-radius:18px 18px 7px 7px;background:linear-gradient(120deg,#0d6efd,#0bb6d8);color:#fff;font-size:10px}.login-laptop-top i{width:7px;height:7px;border-radius:50%;background:#fff;opacity:.8}.login-laptop-body{display:grid;grid-template-columns:78px 1fr;gap:10px;min-height:160px}.login-laptop-side{display:grid;align-content:start;gap:6px}.login-laptop-side span{padding:6px;border-radius:7px;background:#f6f9fc;color:#66809c;font-size:7px}.login-laptop-side span.active{background:#e9f3ff;color:#0d6efd;font-weight:700}.login-laptop-main{padding:5px}.login-laptop-main>b{display:block;font-size:11px}.login-laptop-main>small{display:block;color:#7f91a4;font-size:6px;margin:2px 0 8px}.login-mini-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.login-mini-metrics i{height:37px;border-radius:8px;background:linear-gradient(145deg,#eef6ff,#f9fcff);border:1px solid #e7eef7}.login-mini-chart{margin-top:8px;height:58px;border-radius:9px;background:#f8fbff;position:relative;overflow:hidden}.login-mini-chart span{position:absolute;width:130px;height:40px;left:18px;top:16px;border-top:2px solid #1997ff;border-radius:50%;transform:rotate(-6deg)}
.login-books{position:absolute;right:260px;bottom:18px;display:grid;gap:3px;transform:rotate(2deg)}.login-books span{display:block;padding:6px 16px;border-radius:4px;background:linear-gradient(90deg,#0f66c8,#2c85de);color:#fff;font-size:8px;box-shadow:0 5px 10px rgba(15,75,135,.15)}.login-plant{position:absolute;right:-2px;bottom:75px;width:70px;height:115px}.login-plant b{position:absolute;bottom:0;left:20px;width:46px;height:49px;background:#f8fbfd;border-radius:7px 7px 14px 14px;box-shadow:0 10px 18px rgba(40,90,120,.1)}.login-plant i{position:absolute;bottom:43px;left:35px;width:17px;height:58px;border-radius:100% 0 100% 0;background:linear-gradient(160deg,#19a877,#4e9e70);transform-origin:bottom}.login-plant i:nth-child(1){transform:rotate(-30deg)}.login-plant i:nth-child(2){transform:rotate(0deg);height:70px}.login-plant i:nth-child(3){transform:rotate(32deg)}
.login-foot-note{margin-top:auto;padding-top:35px;color:#2471b8;font-size:13px;font-style:italic;max-width:330px}
.login-form-panel{display:grid;place-items:center;padding:38px;background:radial-gradient(circle at 82% 16%,rgba(119,206,255,.18),transparent 26%),linear-gradient(180deg,#f9fcff,#eef6fb)}
.login-form-card{width:min(620px,100%);background:#fff;border:1px solid #e1eaf4;border-radius:28px;padding:36px 42px;box-shadow:0 28px 75px rgba(13,63,111,.11)}.login-form-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:30px}.login-card-brand{min-width:0}.login-card-brand .brand-logo-image{display:block!important;width:auto!important;height:45px!important;max-width:58px!important;max-height:45px!important;object-fit:contain!important}.login-card-brand b{font-size:15px}.login-card-brand small{font-size:10px;color:#73849a}.login-register-link{padding-top:6px;white-space:nowrap;color:#6d7f95;font-size:12px}.login-register-link a{color:#0d6efd;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.login-form-card h2{font:800 34px/1.2 "Plus Jakarta Sans",Inter,sans-serif;letter-spacing:-.025em;margin:0 0 9px}.login-form-lead{margin:0 0 28px;color:#708097;line-height:1.7;max-width:520px}.login-modern-form{display:grid;gap:17px}.login-modern-form label{font-weight:600;color:#213552}.login-input-wrap{position:relative}.login-input-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);z-index:2;color:#7188a4;font-size:16px}.login-input-wrap input{height:56px;padding-left:46px;padding-right:48px;border-radius:14px;border-color:#ccdbea;font-size:14px;transition:border-color .18s ease,box-shadow .18s ease}.login-input-wrap input:focus{outline:none;border-color:#70aef3;box-shadow:0 0 0 4px rgba(13,110,253,.08)}.login-password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;border-radius:10px;background:transparent;color:#7890ab;cursor:pointer;font-size:17px}.login-password-toggle:hover{background:#eff6ff;color:#0d6efd}.login-submit{width:100%;height:54px;border-radius:14px;font-size:14px;margin-top:3px}.login-submit span{font-size:18px}.login-divider{display:flex;align-items:center;gap:14px;margin:24px 0 20px;color:#8c9aad;font-size:12px}.login-divider:before,.login-divider:after{content:"";height:1px;background:#dfe7ef;flex:1}.login-links-modern{text-align:center;color:#708097;font-size:12px}.login-links-modern a{color:#0d6efd;font-weight:800}.login-back-link{display:inline-block;margin-top:18px}
@media(max-width:1100px){.login-split{grid-template-columns:1fr}.login-info-inner{min-height:auto;padding:34px 34px 42px}.login-brand{margin-bottom:35px}.login-visual{display:none}.login-benefits{grid-template-columns:repeat(3,1fr);max-width:none}.login-benefit{align-items:flex-start}.login-form-panel{padding:28px}.login-form-card{max-width:760px}}
@media(max-width:760px){.login-info-inner{padding:28px 20px 32px}.login-info-panel h1{font-size:44px}.login-benefits{grid-template-columns:1fr}.login-form-panel{padding:16px}.login-form-card{padding:25px 20px;border-radius:22px}.login-form-top{flex-direction:column;gap:12px}.login-form-card h2{font-size:28px}.login-register-link{padding:0}.login-brand b{font-size:17px}}

/* v1.1.21 - Product Add-on packages */
.customer-products-addon{align-items:start}.customer-product-with-addon{min-height:100%;gap:0}.addon-picker{margin:14px 0 12px;padding:13px;border:1px solid #dce8f3;border-radius:16px;background:#f8fbfe}.addon-picker-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.addon-picker-title span{font:800 12px "Plus Jakarta Sans",Inter,sans-serif;color:#18324f}.addon-picker-title small{padding:4px 7px;border-radius:999px;background:#e9f8f3;color:#08765f;font-size:9px;font-weight:800}.addon-option{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:start;padding:10px 0;border-top:1px solid #e9f0f6;cursor:pointer}.addon-option:first-of-type{border-top:0}.addon-option input{width:17px;height:17px;margin:2px 0 0;accent-color:#0d6efd}.addon-option-body{display:flex;flex-direction:column;min-width:0}.addon-option-body b{font-size:12px;line-height:1.4}.addon-option-body small{font-size:10px;color:#74869b;line-height:1.45;margin-top:2px}.addon-option>strong{font:800 11px "Plus Jakarta Sans";color:#08765f;white-space:nowrap}.addon-total-box{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;padding:11px 13px;border-radius:13px;background:linear-gradient(120deg,#eef7ff,#edfff8);border:1px solid #dcecf6}.addon-total-box span{font-size:11px;color:#64778e}.addon-total-box b{font:800 16px "Plus Jakarta Sans";color:#075db4}.addon-empty-note{margin:12px 0;padding:10px 12px;border-radius:12px;background:#f5f8fb;color:#7b899b;font-size:10px}.invoice-breakdown{margin:18px 0 24px;border:1px solid #e2eaf4;border-radius:17px;overflow:hidden;background:#fff}.invoice-breakdown-head,.invoice-breakdown-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 15px}.invoice-breakdown-head{background:#f5f9fd;border-bottom:1px solid #e7eef5}.invoice-breakdown-head span{font-size:10px;color:#70839a}.invoice-breakdown-row{border-bottom:1px solid #edf2f7;font-size:12px}.invoice-breakdown-row:last-child{border-bottom:0}.invoice-breakdown-row.addon span{color:#54708c}.invoice-breakdown-row.total{background:#fbfdff;font-weight:800}.order-addon-text{font-weight:700;color:#365570}.register-addon-area{padding:13px;border:1px solid #dfe8f2;border-radius:15px;background:#f9fbfe}.register-addon-group{display:grid;gap:8px}.register-addon-option{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start;padding:10px 11px;border:1px solid #e3ebf4;border-radius:12px;background:#fff;cursor:pointer}.register-addon-option input{width:17px;height:17px;margin:2px 0 0;accent-color:#0d6efd}.register-addon-option span{display:flex;flex-direction:column}.register-addon-option span b{font-size:12px}.register-addon-option span small{font-size:10px;color:#77889b;margin-top:2px}.register-addon-option strong{font-size:11px;color:#08765f;white-space:nowrap}@media(max-width:620px){.addon-option,.register-addon-option{grid-template-columns:auto 1fr}.addon-option>strong,.register-addon-option>strong{grid-column:2;justify-self:start}}

/* v1.1.24 - Add-on UI tidy layout */
.addon-picker{padding:14px;background:linear-gradient(180deg,#f9fbfe,#f4f8fc)}
.addon-option{grid-template-columns:22px minmax(0,1fr);gap:10px 12px;align-items:start;margin-bottom:10px;padding:12px;border:1px solid #e3ebf4;border-radius:14px;background:#fff;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;border-top:1px solid #e3ebf4}
.addon-option:first-of-type{border-top:1px solid #e3ebf4}
.addon-option:hover{border-color:#c9ddf0;box-shadow:0 10px 20px rgba(15,74,135,.06);transform:translateY(-1px)}
.addon-option input{grid-column:1;grid-row:1/span 2;width:18px;height:18px;margin:3px 0 0;accent-color:#0d6efd}
.addon-option-body{grid-column:2;display:flex;flex-direction:column;min-width:0}
.addon-option-body b{display:block;font-size:13px;line-height:1.45;color:#1b3050}
.addon-option-body small{display:block;font-size:11px;color:#6f8095;line-height:1.55;margin-top:4px;white-space:normal;word-break:break-word}
.addon-option>strong{grid-column:2;justify-self:start;display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#eef7ff;color:#0b5cac;font:800 11px "Plus Jakarta Sans";white-space:nowrap}
.register-addon-area{padding:14px;background:linear-gradient(180deg,#f9fbfe,#f5f9fd)}
.register-addon-group{display:grid;gap:10px}
.register-addon-option{grid-template-columns:22px minmax(0,1fr);gap:10px 12px;align-items:start;padding:12px;border:1px solid #e3ebf4;border-radius:14px;background:#fff;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.register-addon-option:hover{border-color:#c9ddf0;box-shadow:0 10px 20px rgba(15,74,135,.06);transform:translateY(-1px)}
.register-addon-option input{grid-column:1;grid-row:1/span 2;width:18px;height:18px;margin:3px 0 0;accent-color:#0d6efd}
.register-addon-option span{grid-column:2;display:flex;flex-direction:column;min-width:0}
.register-addon-option span b{font-size:13px;line-height:1.45;color:#1b3050}
.register-addon-option span small{font-size:11px;color:#6f8095;line-height:1.55;margin-top:4px;white-space:normal;word-break:break-word}
.register-addon-option strong{grid-column:2;justify-self:start;display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#eef7ff;color:#0b5cac;font:800 11px "Plus Jakarta Sans";white-space:nowrap}
@media(min-width:721px){
  .addon-option{grid-template-columns:22px minmax(0,1fr) auto}
  .addon-option-body{grid-column:2}
  .addon-option>strong{grid-column:3;justify-self:end;align-self:center;margin-top:2px}
  .register-addon-option{grid-template-columns:22px minmax(0,1fr) auto}
  .register-addon-option span{grid-column:2}
  .register-addon-option strong{grid-column:3;justify-self:end;align-self:center;margin-top:2px}
}

/* v1.1.26 - Annual Add-on period & member reminders */
.addon-period-preview,.pricing-addon-period{margin-top:10px;padding:10px 12px;border-radius:12px;background:#edf7ff;color:#47637f;font-size:10.5px;line-height:1.55;border:1px solid #dcebf8}.addon-period-preview b,.pricing-addon-period b{color:#0b5cac}.addon-period-row>span{display:flex;flex-direction:column;gap:3px}.addon-period-row>span small{color:#75879b;font-size:10px}.addon-period-row>div{display:flex;flex-direction:column;align-items:flex-end;gap:5px}.addon-expiry{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:4px 8px;border-radius:999px;font-style:normal;font-size:9.5px;font-weight:800;line-height:1.3}.addon-expiry-active{background:#e8f8f2;color:#08765f}.addon-expiry-warning{background:#fff4d9;color:#9a6400}.addon-expiry-expired{background:#fff0f0;color:#a32e2e}.addon-expiry-neutral{background:#eef2f6;color:#6c7d91}.order-addon-period{margin-top:5px;color:#6e8094;font-size:10px;line-height:1.5}.addon-reminder-card{overflow:hidden}.addon-reminder-list{display:grid;gap:10px}.addon-reminder-item{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 14px;border:1px solid #e3ebf4;border-radius:15px;background:linear-gradient(180deg,#fff,#fbfdff)}.addon-reminder-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,#0d6efd,#0bb6d8);color:#fff;font-size:20px;box-shadow:0 8px 18px rgba(13,110,253,.16)}.addon-reminder-copy{display:flex;flex-direction:column;min-width:0}.addon-reminder-copy b{font-size:13px}.addon-reminder-copy span{font-size:11px;color:#536b85;margin-top:2px}.addon-reminder-copy small{font-size:10.5px;color:#7b8b9d;margin-top:4px}.addon-reminder-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px;text-align:right}.addon-reminder-side strong{font:800 12px "Plus Jakarta Sans";color:#173a61;white-space:nowrap}@media(max-width:700px){.addon-reminder-item{grid-template-columns:44px 1fr}.addon-reminder-side{grid-column:2;align-items:flex-start;text-align:left}.addon-period-row>div{align-items:flex-start}.invoice-breakdown-row.addon{align-items:flex-start;flex-direction:column}}

/* v1.1.27 - Admin Login As customer */
.customer-impersonate-badge{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:8px 12px;border-radius:12px;background:#fff3d8;border:1px solid #f5d58d;color:#9a6500;font:800 10px/1 "Plus Jakarta Sans",Inter,sans-serif;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.customer-impersonate-badge:before{content:"●";font-size:9px;color:#f59e0b}
@media(max-width:620px){.customer-impersonate-badge{order:-1}}

/* v1.1.29 - Responsive compact Add-on cards in customer portal */
.addon-picker,.register-addon-area{container-type:inline-size}
.addon-option,.register-addon-option{width:100%;min-width:0;grid-template-columns:22px minmax(0,1fr) auto;column-gap:11px;row-gap:6px;align-items:start;padding:13px 14px}
.addon-option input,.register-addon-option input{grid-column:1;grid-row:1/span 2;margin-top:1px}
.addon-option-body,.register-addon-option span{grid-column:2;grid-row:1/span 2;min-width:0}
.addon-option-body b,.register-addon-option span b{font-size:13px;line-height:1.35;word-break:normal}
.addon-option-body small,.register-addon-option span small{font-size:11px;line-height:1.5;margin-top:5px;overflow-wrap:anywhere;word-break:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.addon-option>strong,.register-addon-option strong{grid-column:3;grid-row:1;justify-self:end;align-self:start;margin:0;padding:6px 9px;border-radius:999px;font-size:10.5px;line-height:1.2;background:#eef7ff;color:#075cae;max-width:100%;text-align:center}
.addon-option:has(input:checked),.register-addon-option:has(input:checked){border-color:#9bc7ef;background:#f7fbff;box-shadow:0 8px 18px rgba(13,110,253,.08)}
@container (max-width:420px){
  .addon-option,.register-addon-option{grid-template-columns:22px minmax(0,1fr);padding:12px}
  .addon-option input,.register-addon-option input{grid-column:1;grid-row:1/span 3}
  .addon-option-body,.register-addon-option span{grid-column:2;grid-row:1}
  .addon-option>strong,.register-addon-option strong{grid-column:2;grid-row:2;justify-self:start;margin-top:2px}
  .addon-option-body small,.register-addon-option span small{-webkit-line-clamp:4}
}
