[hidden]{display:none!important}.portal-title{font-size:36px}.portal-panel{border:1px solid var(--line);border-radius:18px;background:var(--panel);padding:28px;margin-block:24px}.portal-panel form{border:0;padding:0;background:none}.portal-panel h2{font-size:24px}.portal-toolbar{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.portal-toolbar h2{flex:1}.portal-list{display:grid;gap:14px}.portal-row{padding:20px;background:var(--panel);border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:16px}.portal-row small{display:block;color:var(--muted)}.portal-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.portal-panel label{margin-top:10px}#status{min-height:25px;color:var(--cyan)}.portal-tabs{display:flex;gap:10px;flex-wrap:wrap}.portal-tabs .button.active{box-shadow:0 0 0 2px white}.requirement-row{border:1px solid var(--line);padding:15px;border-radius:10px;margin-block:12px}.portal-panel select{margin-bottom:10px}.portal-note{padding:12px;background:#163247;border-radius:10px;white-space:pre-wrap}.portal-row .button{white-space:nowrap}.portal-panel button{margin:5px}input[type=checkbox]{width:auto;margin:0 8px}.portal-table{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}td,th{padding:12px;text-align:right;border-bottom:1px solid var(--line)}@media(max-width:760px){.portal-grid{grid-template-columns:1fr}.portal-title{font-size:27px}.portal-panel{padding:20px}.portal-row{align-items:start;flex-direction:column}.portal-row .button{width:100%}.portal-toolbar{gap:10px}.portal-toolbar h2{flex-basis:100%}.portal-tabs .button{flex:1;padding:10px}}

/* Compact account entry card */
.auth-card{max-width:1030px;margin:24px auto 45px;padding:0;display:grid;grid-template-columns:.85fr 1.35fr;overflow:hidden}.auth-intro{padding:35px;background:radial-gradient(at top right,#2c769a50,transparent 70%),#10283b;display:flex;flex-direction:column;justify-content:center;border-left:1px solid var(--line)}.auth-symbol{color:var(--cyan);font-size:42px;line-height:1;margin-bottom:20px}.auth-intro h2{font-size:27px;line-height:1.5}.auth-intro p{font-size:13px;line-height:1.9}.auth-perks{display:flex;flex-wrap:wrap;gap:12px;font-size:11px;color:#b6cbdc;margin-top:15px}.auth-fields{padding:34px}.auth-step{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:11px;margin-bottom:25px}.step-dot{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;border:1px solid #45677e;color:var(--cyan)}.step-line{height:1px;width:32px;background:#45677e}.auth-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.auth-form label{margin:0}.auth-form input{margin:8px 0 0;min-height:48px}.auth-submit{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:12px;border-top:1px solid var(--line)}.auth-submit p{font-size:10px;line-height:1.9;margin:0}.auth-submit .button{font-size:12px;margin:0;white-space:nowrap;padding:12px 16px}.verify-form h3{margin-top:0}.verify-form input{max-width:250px;font-size:24px;letter-spacing:7px;text-align:center;display:block}.auth-card{animation:dialog-in var(--motion-base) var(--ease-out) both}
@media(max-width:900px){.auth-card{grid-template-columns:1fr}.auth-intro{border-left:0;border-bottom:1px solid var(--line);padding:24px}.auth-symbol{display:none}.auth-intro h2{font-size:23px}.auth-intro p br{display:none}.auth-intro .eyebrow{margin-bottom:8px}.auth-perks{margin-top:5px}.auth-fields{padding:26px}}
@media(max-width:560px){.auth-form{grid-template-columns:1fr;gap:16px}.auth-submit{flex-direction:column;align-items:stretch;gap:12px}.auth-submit .button{width:100%}.auth-fields{padding:20px}.auth-step{margin-bottom:20px}.auth-intro{padding:20px}.auth-card h2{font-size:21px}}

.auth-mode-switch{display:flex;border:1px solid #30485d;border-radius:11px;background:#0a1728;padding:4px;gap:4px;margin-bottom:24px}.auth-mode-switch button{flex:1;border:0;border-radius:8px;padding:10px 16px;background:transparent;color:var(--muted);margin:0;font-size:13px;transition:background var(--motion-base),color var(--motion-base)}.auth-mode-switch button.selected{background:#203c52;color:var(--cyan)}.auth-mode-switch button:hover{color:var(--text)}.auth-form.login-mode{grid-template-columns:1fr}.auth-form.login-mode input{max-width:100%}

.phone-field label{margin:0}.phone-entry{display:flex;gap:8px;align-items:stretch;margin-top:8px}.phone-entry select{width:45%;min-width:125px;margin:0;padding:10px 8px;font-size:12px}.phone-entry input{width:55%;min-width:0;margin:0}.phone-field small{display:block;color:var(--muted);font-size:10px;margin-top:7px}.remember-choice{grid-column:1/-1;display:flex;align-items:center;gap:9px;font-size:12px!important;color:#b8cadd}.auth-form .remember-choice input{width:17px;height:17px;min-height:0;margin:0;accent-color:var(--cyan)}.custom-calling-code{margin-top:10px!important}.custom-calling-code input{max-width:140px}@media(max-width:560px){.phone-entry{flex-wrap:wrap}.phone-entry select,.phone-entry input{width:100%}}

/* Admin workspace and progressive service entry */
.admin-shell{display:grid;grid-template-columns:235px minmax(0,1fr);max-width:1440px;margin:auto;min-height:calc(100vh - 90px)}.admin-sidebar{padding:35px 20px;background:#0b1929;border-left:1px solid var(--line);position:sticky;top:92px;align-self:start;height:calc(100vh - 92px)}.admin-sidebar h2{font-size:24px}.admin-sidebar p{font-size:12px;margin-bottom:30px}.sidebar-link{display:flex;align-items:center;gap:12px;width:100%;padding:13px 15px;border:1px solid transparent;border-radius:10px;margin-bottom:8px;background:none;color:var(--muted);font-size:14px;text-align:right}.sidebar-link.active{color:var(--cyan);background:#14314a;border-color:#2b526a}.sidebar-link:hover{background:#14283d;color:white}.admin-workspace{padding:36px;min-width:0}.admin-page-heading h1{font-size:35px;margin-bottom:8px}.admin-page-heading p{font-size:13px}.admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-block:25px}.admin-stats article{padding:20px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(130deg,#132b40,#0c1c2c)}.admin-stats small{color:var(--muted);font-size:12px}.admin-stats strong{display:block;font-size:30px;color:var(--cyan)}#catalog-tab>.portal-grid{display:block}#service-editor{max-width:900px}#category-editor{max-width:680px}.service-progress{display:flex;gap:8px;margin:25px 0;flex-wrap:wrap}.service-progress span{flex:1;padding:10px;text-align:center;font-size:12px;background:#0a1727;border-radius:9px;color:var(--muted);border:1px solid var(--line)}.service-progress .active{color:var(--cyan);border-color:#4c829b;background:#163247}.wizard-actions{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);margin-top:24px;padding-top:18px}.wizard-actions #wizard-status{flex:1;color:var(--muted);font-size:11px}#service-form>[data-service-step]{animation:dialog-in 200ms var(--ease-out)}#service-form .portal-grid{grid-template-columns:1fr 1fr}#category-editor #categories{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}#categories p{padding:6px 13px;border-radius:20px;background:#1c354c;font-size:12px;margin:0}.admin-workspace #orders{padding-top:5px}
@media(max-width:1000px){.admin-shell{grid-template-columns:190px minmax(0,1fr)}.admin-workspace{padding:24px}.admin-sidebar{padding:25px 12px}.admin-stats{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:static;height:auto;border-left:0;border-bottom:1px solid var(--line);padding:15px 18px;display:flex;gap:8px;flex-wrap:wrap}.admin-sidebar h2,.admin-sidebar p,.admin-sidebar .eyebrow{display:none}.sidebar-link{width:auto;flex:1;justify-content:center;font-size:11px;padding:10px 8px;margin:0;gap:5px;white-space:nowrap}.admin-sidebar>a{flex-basis:100%;padding:5px}.admin-workspace{padding:22px 18px}.admin-page-heading h1{font-size:28px}.admin-stats{gap:10px}.admin-stats article{padding:14px}.service-progress{gap:6px}.service-progress span{flex:1 1 40%;font-size:11px}#service-form .portal-grid{grid-template-columns:1fr}.wizard-actions{flex-wrap:wrap}.wizard-actions #wizard-status{order:3;flex-basis:100%;text-align:center}}

.admin-notice{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:100;display:flex;align-items:center;gap:20px;width:min(580px,calc(100% - 32px));padding:16px 20px;border:1px solid #64d8ff;border-radius:13px;box-shadow:0 12px 45px #0006;background:#12374b;color:#edfaff;font-size:14px;animation:toast-in 220ms ease-out}.admin-notice.error{background:#472633;border-color:#f4a0a0;color:#fff0f0}.admin-notice span{flex:1}.admin-notice button{background:none;border:0;color:inherit;font-size:25px}.service-image-field{border:1px dashed #45677e;padding:18px;border-radius:12px;margin-block:15px}.service-image-field input{max-width:100%}#service-image-preview{width:100%;max-width:480px;aspect-ratio:8/5;object-fit:cover;border-radius:12px;display:block;margin:12px 0}#image-feedback{font-size:12px;color:var(--cyan)}#contact-tab .portal-panel{max-width:900px}

.success-card{width:min(430px,calc(100% - 32px));text-align:center;padding:36px 28px;border:1px solid #4aa897;background:linear-gradient(145deg,#133b38,#102034);position:fixed}.success-card h2{font-size:23px;margin:18px 0 10px}.success-card p{font-size:15px;color:#d3e8e4}.success-icon{display:grid;place-items:center;margin:auto;width:72px;height:72px;border-radius:50%;font-size:35px;color:#95efd3;background:#2b8d7133;border:1px solid #6acdad}.success-close{position:absolute;top:10px;left:14px;background:none;border:0;color:#c2d7d8;font-size:28px}.success-card>.button{width:100%;margin-top:20px}button[aria-busy=true]{opacity:.65;cursor:wait}input.field-invalid,select.field-invalid,textarea.field-invalid{border-color:#ef9292;box-shadow:0 0 0 3px #ef929220;animation:field-shake 250ms ease-out}#image-feedback{white-space:normal;overflow-wrap:anywhere}.admin-notice{max-height:35vh;overflow:auto}#service-image-preview{object-fit:contain}@keyframes field-shake{25%{transform:translateX(4px)}75%{transform:translateX(-4px)}}@media(prefers-reduced-motion:reduce){.field-invalid{animation:none}}

.auth-feedback{padding:14px 16px;border:1px solid #3c6983;border-radius:10px;background:#143047;margin-bottom:18px}.auth-feedback.error{border-color:#e6a279;background:#3c2c30}.auth-feedback p{margin:0;font-size:13px;color:#f1e9e9}.auth-feedback .button{margin:12px 0 0;width:100%;font-size:12px}.auth-card .auth-intro h2{font-size:27px}

/* Account entry fills the viewport while allowing access on short screens. */
.account-page.auth-view{min-height:100svh;min-height:100dvh;display:flex;flex-direction:column}
.account-page.auth-view header{position:relative;flex-shrink:0}
.account-page.auth-view header .nav{min-height:72px;flex-wrap:nowrap;padding-block:10px}
.account-page.auth-view header .account-card{display:none}
.account-page.auth-view main{flex:1;display:flex;flex-direction:column;justify-content:center;padding-block:20px}
.account-page.auth-view .portal-title,.account-page.auth-view #status{display:none}
.account-page.auth-view .auth-card{width:100%;max-width:960px;margin:0 auto}
.account-page .auth-fields{padding:28px}
.account-page .auth-step{margin-bottom:20px}
.auth-mode-link{grid-column:1/-1;margin:20px 0 0;text-align:center;font-size:13px;color:var(--muted)}
.auth-mode-link a{display:inline-block;color:var(--cyan);font-weight:600;padding:6px}
.auth-mode-link a:hover{text-decoration:underline}
.account-page .auth-feedback{overflow-wrap:anywhere}
@media(max-width:900px){
.account-page.auth-view .auth-card{grid-template-columns:1fr}
.account-page .auth-intro{padding:18px 24px}
.account-page .auth-intro h2{margin:0;font-size:24px}
.account-page .auth-intro p,.account-page .auth-perks,.account-page .auth-intro .eyebrow{display:none}
.account-page .auth-fields{padding:22px}
}
@media(max-width:560px){
.account-page.auth-view main{padding-block:14px}
.account-page .auth-form{gap:12px}
.account-page .auth-intro{padding:14px 20px}
.account-page .auth-fields{padding:18px}
.account-page .auth-step{margin-bottom:14px}
.account-page .phone-entry{flex-wrap:nowrap}
.account-page .phone-entry select{width:44%;min-width:115px}
.account-page .phone-entry input{width:56%}
.account-page .auth-submit{padding-top:10px;gap:8px}
.account-page .auth-form input{min-height:44px}
.account-page .remember-choice{font-size:11px!important}
.auth-mode-link{margin-top:12px}
}
@media(max-height:650px) and (min-width:901px){
.account-page.auth-view main{padding-block:12px}
.account-page .auth-fields{padding:20px}
.account-page .auth-intro{padding:24px}
.account-page .auth-symbol{display:none}
}

/* Aligned account fields, with a single readable form column. */
.account-page .auth-card{grid-template-columns:.8fr 1.2fr;align-items:stretch}
.account-page .auth-form,.account-page .auth-form.login-mode{grid-template-columns:minmax(0,1fr);gap:16px}
.account-page .auth-fields{min-width:0}
.account-page .auth-form>label,.account-page .phone-field label,.account-page .verify-form label{font-size:13px;line-height:1.5;color:#dce7f2;margin:0}
.account-page .auth-form input:not([type=checkbox]),.account-page .phone-entry select,.account-page .verify-form input{height:48px;min-height:48px;padding:0 14px;border:1px solid #354b61;border-radius:10px;background:#091726;font-size:14px;line-height:normal;margin:8px 0 0;box-sizing:border-box}
.account-page .auth-form input::placeholder{color:#8093a8;font-size:12px}
.account-page .phone-entry{display:grid;grid-template-columns:minmax(125px,.9fr) minmax(0,1.3fr);gap:10px;margin-top:8px;align-items:stretch}
.account-page .phone-entry select,.account-page .phone-entry input{width:100%;min-width:0;margin:0}
.account-page .phone-entry select{font-size:12px;padding-inline:10px;cursor:pointer;color:#dce7f2}
.account-page .phone-field small{margin-top:6px;line-height:1.5;text-align:right}
.account-page .auth-form input:focus,.account-page .phone-entry select:focus,.account-page .verify-form input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #64d8ff16}
.account-page .auth-form .remember-choice{margin-top:0;align-items:center;line-height:1.6}
.account-page .auth-form .remember-choice input{height:17px;min-height:17px;width:17px;margin:0;padding:0;flex-shrink:0;border-radius:4px}
.account-page .auth-submit{display:flex;flex-direction:column;align-items:stretch;gap:10px;padding-top:14px}
.account-page .auth-submit p{font-size:11px;text-align:right}
.account-page .auth-submit .button{width:100%;min-height:46px;margin:0}
.account-page .verify-form input{font-size:22px;letter-spacing:6px}
@media(max-width:900px){.account-page .auth-card{grid-template-columns:1fr}}
@media(max-width:560px){.account-page .auth-form{gap:12px}.account-page .phone-entry{grid-template-columns:minmax(110px,.9fr) minmax(0,1.15fr);gap:8px}.account-page .phone-entry input,.account-page .phone-entry select{width:100%;padding-inline:8px}.account-page .phone-entry input::placeholder{font-size:10px}}

/* Country search and phone number share identical sizing and spacing. */
.account-page .phone-entry{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
.account-page .phone-entry #country-picker,.account-page .phone-entry #phone-number{height:48px;min-height:48px;width:100%;min-width:0;margin:0;padding:0 12px;border-radius:10px;font-size:13px}
.account-page .phone-entry #country-picker{grid-column:1;color:#dce7f2}
.account-page .phone-entry #phone-number{grid-column:2;text-align:left;letter-spacing:.5px}
.account-page #country-picker::placeholder,.account-page #phone-number::placeholder{font-size:11px;letter-spacing:0}
@media(max-width:380px){.account-page .phone-entry{grid-template-columns:1fr}.account-page .phone-entry #country-picker,.account-page .phone-entry #phone-number{grid-column:1}}

/* Balanced phone verification card. */
.account-page .verify-form{text-align:center;display:flex;flex-direction:column;align-items:stretch;gap:14px}
.account-page .verify-form h3{font-size:23px;margin:0}
.account-page .verify-description{margin:0;font-size:13px;line-height:1.8}
.account-page #verify-phone{display:block;font-size:19px;color:var(--cyan);letter-spacing:.6px;text-align:center}
.account-page .verify-form label{display:block;text-align:right;margin:4px 0 0}
.account-page .verify-form input{display:block;width:100%;max-width:none;height:56px;min-height:56px;margin:8px 0 0;text-align:center;font-size:26px;letter-spacing:8px;padding-inline:16px}
.account-page .verify-form .button{width:100%;min-height:46px;margin:0}
.account-page .verify-form #change-number{min-height:42px;font-size:12px}
.account-page .auth-card.verifying .auth-step .step-dot:first-child{background:#64d8ff12;color:#b6cbdc}
.account-page .auth-card.verifying .auth-step .step-dot:last-child{background:var(--cyan);border-color:var(--cyan);color:#07111e}
.account-page .auth-feedback:not(.error){border-color:#386679;background:#123044}
.account-page .auth-feedback:not(.error) p{color:#c8edf8}
.account-page .auth-card.verifying .auth-intro{align-items:flex-start}
@media(max-width:560px){.account-page .verify-form{gap:12px}.account-page .verify-form h3{font-size:21px}.account-page .verify-form input{font-size:24px;letter-spacing:7px}.account-page #verify-phone{font-size:18px}}

/* Compact professional admin workspace. */
.admin-page header .nav{min-height:76px;padding-block:10px;flex-wrap:nowrap}
.admin-page header .wrap{width:min(1440px,calc(100% - 48px))}
.admin-page .admin-shell{min-height:calc(100dvh - 76px)}
.admin-page .admin-sidebar{top:77px;height:calc(100dvh - 77px);padding:28px 16px}
.admin-page .admin-sidebar h2{font-size:22px;margin:0 0 8px}
.admin-page .admin-sidebar p{margin:0 0 24px}
.admin-page .sidebar-link{min-height:46px;padding:11px 12px;font-size:13px}
.admin-page .sidebar-link svg{width:19px;height:19px;flex-shrink:0}
.admin-page .admin-workspace{padding:28px;max-width:100%;overflow-wrap:anywhere}
.admin-page .admin-page-heading .eyebrow{margin-bottom:8px}
.admin-page .admin-page-heading h1{font-size:30px;margin:0 0 6px;letter-spacing:0}
.admin-page .admin-page-heading p{margin:0}
.admin-page .admin-stats{margin:22px 0;gap:12px}
.admin-page .admin-stats article{padding:16px 18px;border-radius:12px}
.admin-page .admin-stats strong{font-size:27px;line-height:1.5}
.admin-page #status:empty{display:none}
.admin-page #orders{padding:0;gap:10px}
.admin-orders-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 190px auto;gap:12px;align-items:end;padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:12px}
.admin-orders-toolbar label{margin:0;color:#b8cadd}
.admin-orders-toolbar input,.admin-orders-toolbar select{margin:6px 0 0;height:44px;padding:8px 12px}
.admin-orders-toolbar .button{height:44px;margin:0;font-size:12px;white-space:nowrap}
.admin-page #orders-summary{margin:12px 0;color:var(--muted)}
.admin-page .admin-order-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:20px;padding:18px;align-items:center}
.order-customer{display:flex;flex-direction:column;gap:4px;min-width:0}
.order-reference{font-size:12px;color:var(--muted);text-align:right;overflow-wrap:anywhere}
.order-customer strong{font-size:14px;font-weight:500}
.order-phone{font-size:12px;color:#98b2c9;text-align:right}
.order-badges{display:flex;gap:6px;flex-wrap:wrap;max-width:250px}
.admin-badge{padding:4px 10px;border-radius:20px;background:#21384d;color:#cad9e7;font-size:11px;white-space:nowrap}
.admin-badge[data-state=review],.admin-badge[data-state=awaiting_payment]{background:#bc8f241c;color:#efcd85}
.admin-badge[data-state=processing],.admin-badge[data-state=ready]{background:#64d8ff18;color:var(--cyan)}
.admin-badge[data-state=completed],.admin-badge[data-state=paid]{background:#43c89b18;color:#8ee2bf}
.admin-badge[data-state=cancelled]{background:#eb85851a;color:#f2aaaa}
.admin-empty{padding:40px 20px;text-align:center;border:1px dashed #354b61;border-radius:12px;background:var(--panel)}
.admin-empty h3{font-size:18px}.admin-empty p{font-size:13px}
.admin-page .portal-panel{margin-block:20px}
.admin-page .portal-panel input:not([type=checkbox]):not([type=file]),.admin-page .portal-panel select{min-height:44px;margin:7px 0 14px}
.admin-page .portal-panel textarea{margin-top:7px;min-height:100px;resize:vertical}
.admin-page .portal-panel form>.button{width:auto;min-width:180px;margin:12px 0 0}
.admin-page #order-detail{scroll-margin-top:94px}
@media(max-width:1000px){.admin-page .admin-workspace{padding:22px}.admin-page .admin-order-row{grid-template-columns:minmax(0,1fr) auto}.order-badges{grid-column:1;grid-row:2}.admin-order-row>.button{grid-column:2;grid-row:1/3}}
@media(max-width:760px){.admin-page header .nav{flex-wrap:wrap;gap:10px}.admin-page .admin-sidebar{position:static;height:auto;padding:12px 18px}.admin-page .sidebar-link{min-height:44px}.admin-page .admin-workspace{padding:20px 18px}.admin-page .admin-page-heading h1{font-size:25px}.admin-orders-toolbar{grid-template-columns:1fr 1fr;padding:14px}.admin-orders-toolbar label:first-child{grid-column:1/-1}.admin-orders-toolbar .button{width:100%;padding-inline:8px}.admin-page .admin-order-row{gap:12px;padding:15px}.admin-page .admin-order-row>.button{width:auto;padding:10px;font-size:11px}.admin-page .admin-stats{gap:10px}.admin-page .admin-stats article{padding:14px}}
@media(max-width:420px){.admin-page .admin-order-row{grid-template-columns:1fr}.admin-order-row>.button{grid-column:1;grid-row:3;width:100%!important}.order-badges{grid-row:2;max-width:none}}

/* Service catalog and package pricing. */
.service-tools{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:20px 0}
.service-tools h2{font-size:22px;margin:0}.service-tools p{font-size:12px;margin:4px 0 0}.service-tools>.button{white-space:nowrap}
.service-search{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:14px;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.service-search label{margin:0}.service-search input,.service-search select{margin:6px 0 0;height:44px}
.admin-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.admin-service-card{display:flex;flex-direction:column;gap:14px;padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--panel);min-width:0}
.service-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.service-card-heading small{color:var(--cyan);font-size:11px}.service-card-heading h3{font-size:19px;margin:4px 0 0}
.service-card-description{font-size:12px;line-height:1.9;margin:0;white-space:pre-line;overflow-wrap:anywhere}
.service-kind{font-size:11px;color:var(--muted)}
.service-package-list{border:1px solid #294158;border-radius:10px;background:#091827;overflow:hidden}
.service-package-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px}
.service-package-row+.service-package-row{border-top:1px solid var(--line)}
.service-package-row strong{font-size:13px;font-weight:500}.service-package-row small{display:block;font-size:10px;color:var(--muted);margin-top:4px}
.package-price{font-size:14px;color:var(--cyan);text-align:left;white-space:nowrap}
.admin-service-card>.button{width:100%;margin-top:auto;font-size:12px;min-height:44px}
.admin-service-grid>.admin-empty{grid-column:1/-1}
.admin-page #service-editor{max-width:none;scroll-margin-top:94px}
.admin-page #service-form>[data-service-step="0"]{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.admin-page #service-form>[data-service-step="0"]>label:has(textarea),.admin-page .service-image-field{grid-column:1/-1}
.admin-page .service-progress span{padding:12px;border-radius:10px}
@media(max-width:1000px){.admin-service-grid{grid-template-columns:1fr}}
@media(max-width:760px){.service-tools{align-items:stretch;flex-direction:column;gap:12px}.service-search{grid-template-columns:1fr;padding:14px}.admin-service-card{padding:18px}.admin-page #service-form>[data-service-step="0"]{grid-template-columns:1fr}.service-package-row{flex-wrap:wrap}.package-price{text-align:right}}

.admin-notice{cursor:pointer}.admin-notice:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}

/* Category entry beside the service form. */
.category-choice{min-width:0}.category-choice>label{margin-top:10px}
.category-choice-controls{display:flex;align-items:flex-start;gap:8px}
.category-choice-controls select{flex:1;min-width:0}
.admin-page .category-choice-controls .button{width:auto;min-height:44px;flex-shrink:0;white-space:nowrap;margin:7px 0 14px;padding:8px 12px;font-size:11px}
.quick-category-dialog{width:min(480px,calc(100% - 32px));padding:24px}
.quick-category-dialog form{padding:0;border:0;background:none}
.quick-category-dialog p{font-size:13px}
.quick-category-dialog input,.quick-category-dialog textarea{margin-top:7px}
#quick-category-feedback{color:#ffc6ab;min-height:20px;margin:0 0 10px}
.admin-page select{cursor:pointer;background-color:#091827;border-color:#354b61;border-radius:10px;transition:border-color var(--motion-base),box-shadow var(--motion-base)}
.admin-page select:hover{border-color:#64d8ff80}
@supports (appearance:base-select){
 .admin-page select,.admin-page select::picker(select){appearance:base-select}
 .admin-page select::picker(select){background:#102235;color:var(--text);border:1px solid #3a5972;border-radius:12px;padding:6px;box-shadow:0 14px 40px #0006;max-height:280px;overflow:auto;opacity:0;transform:translateY(-6px);transition:opacity 180ms,transform 180ms,display 180ms allow-discrete,overlay 180ms allow-discrete}
 .admin-page select::picker(select):popover-open{opacity:1;transform:translateY(0)}
 @starting-style{.admin-page select::picker(select):popover-open{opacity:0;transform:translateY(-6px)}}
 .admin-page select option{padding:10px 12px;border-radius:7px;font-size:13px;cursor:pointer}
 .admin-page select option:hover,.admin-page select option:checked{background:#1a3d53;color:var(--cyan)}
 .admin-page select::picker-icon{color:var(--cyan);transition:rotate 180ms}
 .admin-page select:open::picker-icon{rotate:180deg}
}
@media(max-width:560px){.category-choice-controls{flex-wrap:wrap}.category-choice-controls select{flex-basis:100%;margin-bottom:0!important}.admin-page .category-choice-controls .button{margin:0 0 14px}}

.contact-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px;align-items:start}
.admin-page #contact-tab .portal-panel{max-width:none}
#contact-form fieldset{padding:18px;border:1px solid var(--line);border-radius:12px;margin:20px 0;min-width:0}
#contact-form legend{padding:0 8px;color:var(--cyan);font-size:13px}
#contact-form label{font-size:13px}
#contact-form label>small{display:block;text-align:right;margin:0 0 12px;font-size:10px;line-height:1.8;color:var(--muted)}
.contact-field-error{display:block;color:#f1a5a5;font-size:11px;margin-bottom:10px}
.contact-field-error:empty{display:none}
.contact-save-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:16px}
.contact-save-actions .button{margin:0;min-height:44px}
.contact-save-actions>span{font-size:10px;color:var(--muted)}
.contact-live-preview{margin-top:20px;padding:22px;border:1px solid #32546b;border-radius:16px;background:linear-gradient(140deg,#15374a,#0c1d2e)}
.contact-live-preview h3{font-size:20px;margin:8px 0}.contact-live-preview>p{font-size:11px}
.contact-preview-row{display:flex;flex-direction:column;gap:6px;padding:14px 0;border-top:1px solid #2b4860}
.contact-preview-row small{color:var(--muted);font-size:11px}
.contact-preview-row span{font-size:13px;overflow-wrap:anywhere;white-space:pre-line;text-align:right}
@media(max-width:1100px){.contact-editor-layout{grid-template-columns:1fr}.contact-live-preview{margin:0 0 20px}#contact-preview-items{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}}
@media(max-width:560px){#contact-form fieldset{padding:14px}#contact-preview-items{grid-template-columns:1fr}.contact-save-actions .button{width:100%}}

.admin-login-screen{min-height:100dvh;display:grid;place-items:center;padding:24px}.admin-login-card{width:min(100%,480px);display:grid;gap:18px}.admin-login-card form{display:grid;gap:18px}.admin-login-card label{display:grid;gap:8px}.admin-login-card input{width:100%;min-height:48px}.admin-login-card .remember-choice{display:flex;align-items:center;gap:10px}.remember-choice input{width:18px;min-height:18px}.admin-login-card #login-feedback{color:#fda4af;padding:12px;background:#fb71851a;border-radius:12px}.payment-confirmation{padding:18px;border:1px solid #38bdf833;border-radius:16px;margin:18px 0}.admin-login-card .brand{margin-bottom:10px}

/* Password sign-in fields and consistent mobile layouts. */
.account-page .customer-password-field{min-width:0;display:grid;gap:8px}
.account-page .customer-password-field>label{margin:0;font-size:13px}
.customer-password-entry{display:flex;align-items:center;border:1px solid #354b61;border-radius:10px;background:#091726;height:48px;padding-inline:12px;gap:8px;min-width:0}
.account-page .customer-password-entry input{border:0;box-shadow:none;margin:0;padding:0;background:transparent;height:100%;min-height:0;min-width:0;width:100%;text-align:right;font-size:16px}
.customer-password-entry:focus-within{border-color:var(--cyan);box-shadow:0 0 0 3px #64d8ff16}
.account-page .customer-password-entry input:focus{box-shadow:none;outline:none}
.account-page .customer-password-entry button{margin:0;padding:8px;border:0;border-radius:8px;background:transparent;color:#a2bdd1;min-width:40px;min-height:40px;display:grid;place-items:center}
.customer-password-entry svg{width:21px;height:21px}
.account-page .password-recovery-note{font-size:11px;margin:14px 0 0;line-height:1.8}.password-recovery-note a{color:var(--cyan);text-decoration:underline}
.account-page .auth-card .auth-submit{padding-top:12px;gap:10px}.account-page .auth-card .auth-submit button{min-height:48px}
.account-page .auth-fields,.admin-workspace,.portal-panel,.portal-row>div,.requirement-row{min-width:0}
.portal-row b,.portal-note,#order-detail h2,#details h2,.service-card-description{overflow-wrap:anywhere}
dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain}
.portal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:760px){.portal-grid{grid-template-columns:1fr}.admin-shell{grid-template-columns:minmax(0,1fr)}.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.requirement-row{padding:12px}.account-page .portal-toolbar h2{font-size:23px}.portal-panel input,.portal-panel textarea,.portal-panel select{max-width:100%}}
@media(max-width:560px){.account-page.auth-view .auth-intro{padding:16px 20px}.account-page.auth-view .auth-intro p,.account-page.auth-view .auth-perks,.account-page.auth-view .auth-symbol{display:none}.account-page.auth-view .auth-intro h2{margin:0;font-size:22px}.account-page.auth-view .auth-fields{padding:18px}.account-page.auth-view main{padding-block:12px}.account-page .auth-step{margin-bottom:14px}.account-page .auth-form,.account-page .auth-form.login-mode{gap:12px}.account-page .auth-card .auth-submit{flex-direction:column;align-items:stretch}.account-page .auth-card .auth-submit p{font-size:10px}.account-page .auth-mode-link{margin-top:14px}.portal-panel{padding:16px}.admin-workspace{padding:16px!important}}
@media(max-height:740px) and (min-width:901px){.account-page.auth-view .auth-fields{padding:22px}.account-page .auth-form,.account-page .auth-form.login-mode{gap:10px}.account-page .auth-step{margin-bottom:12px}.account-page .auth-mode-link{margin-top:12px}.account-page .auth-intro{padding:24px}}
@media(max-height:500px){.account-page.auth-view main{justify-content:flex-start}.account-page .auth-step{display:none}}

/* Scope password controls more strongly than generic account input selectors. */
.account-page .auth-form .customer-password-entry input:not([type=checkbox]){height:100%;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;font-size:16px;line-height:normal;min-width:0;flex:1;text-align:right}
.account-page .auth-form .customer-password-entry input:focus{outline:0;box-shadow:none}
.account-page .customer-password-entry{height:46px;padding-inline:12px;gap:8px}.account-page .customer-password-entry button{flex:0 0 36px;width:36px;min-width:36px;height:40px;min-height:40px;margin:0;padding:7px}
.password-policy-note{display:block;font-size:10px;color:#f9c295;margin-top:6px;line-height:1.7}
/* Header and auth card share the available viewport height. */
.account-page.auth-view main{width:min(1120px,calc(100% - 40px));padding-block:14px}
.account-page.auth-view .auth-card{max-width:1120px;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)}
.account-page.auth-view .auth-fields{padding:24px 28px}.account-page.auth-view .auth-step{margin-bottom:14px}.account-page.auth-view .auth-form{gap:10px}
.account-page.auth-view .auth-form label{margin:0}.account-page.auth-view .auth-form input:not([type=checkbox]){height:44px;min-height:44px;margin-top:6px;font-size:16px}
.account-page.auth-view .auth-form .customer-password-entry input:not([type=checkbox]){height:100%;min-height:0;margin:0}
.account-page.auth-view .auth-submit{padding-top:9px;flex-direction:column;align-items:stretch;gap:8px}.account-page.auth-view .auth-submit button{min-height:44px;padding-block:10px;width:100%}
.account-page.auth-view .auth-mode-link{margin-top:10px;font-size:12px}.account-page.auth-view .password-recovery-note{margin-top:10px;font-size:10px}.account-page.auth-view .remember-choice{min-height:25px;margin:0;font-size:11px}.account-page.auth-view .phone-field #country-hint{margin-top:5px}
@media(max-width:900px){.account-page.auth-view .auth-card{grid-template-columns:minmax(0,1fr);max-width:600px}.account-page.auth-view .auth-intro{padding:14px 20px}.account-page.auth-view .auth-fields{padding:20px}.account-page.auth-view .auth-intro .auth-symbol{display:none}.account-page.auth-view .auth-intro h2{font-size:22px;margin:0}}
@media(max-width:560px){.account-page.auth-view header .nav{min-height:58px;font-size:12px}.account-page.auth-view main{width:calc(100% - 24px);padding-block:10px}.account-page.auth-view .auth-fields{padding:16px}.account-page.auth-view .auth-step{display:none}.account-page.auth-view .auth-form{gap:9px}.account-page.auth-view .phone-entry{gap:8px}.account-page.auth-view .phone-entry #country-picker,.account-page.auth-view .phone-entry #phone-number{height:44px;min-height:44px}}
@media(max-height:700px) and (min-width:901px){.account-page.auth-view header .nav{min-height:60px}.account-page.auth-view .auth-fields{padding:16px 24px}.account-page.auth-view .auth-step{display:none}.account-page.auth-view .auth-form{gap:8px}.account-page.auth-view main{padding-block:10px}.account-page.auth-view .auth-intro .auth-symbol{display:none}}
.customers-tools{display:flex;align-items:end;gap:14px;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.customers-tools label{flex:1;margin:0}.customers-tools input{margin:6px 0 0}.customers-tools .button{min-height:44px}.customer-row bdi{display:block;color:var(--cyan);font-size:13px;margin-block:6px}.customer-row strong{overflow-wrap:anywhere}.customer-pagination{display:flex;justify-content:center;gap:12px;margin-top:20px}.visitor-day{display:grid;grid-template-columns:100px minmax(0,1fr) 170px;gap:14px;align-items:center;margin:16px 0;font-size:12px}.visitor-bar{height:10px;border-radius:20px;background:#253c50;overflow:hidden}.visitor-bar span{display:block;height:100%;background:var(--cyan);border-radius:20px}.visitor-day>span{color:var(--muted)}
@media(max-width:560px){.customers-tools{align-items:stretch;flex-direction:column;padding:14px}.customer-row .button{width:100%}.visitor-day{grid-template-columns:90px minmax(0,1fr);gap:8px}.visitor-day>span{grid-column:1/-1}.admin-sidebar .sidebar-link{flex-basis:calc(50% - 8px)}.quick-category-dialog{padding:18px}}

@media(max-width:760px){.account-page .phone-entry #country-picker,.account-page .phone-entry #phone-number,.account-page .auth-form input:not([type=checkbox]),.admin-page input,.admin-page select,.admin-page textarea{font-size:16px}.account-page .auth-mode-link a{min-height:44px;display:inline-flex;align-items:center}.portal-panel .button{min-height:44px}.account-page .customer-password-entry button{min-width:44px;width:44px;flex-basis:44px}.account-page .auth-fields{overflow-wrap:anywhere}.admin-page .sidebar-link{white-space:normal}}
@media(max-width:760px){.account-page .customer-password-entry button{height:44px;min-height:44px}.account-page.auth-view .remember-choice{min-height:44px}}

.service-admin-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.service-admin-actions .button{min-height:44px}.danger-action{color:#ffb4b4!important;border-color:#a84b5b!important}.popular-services{margin-bottom:20px}.popular-service-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px 0;border-bottom:1px solid #ffffff15}.popular-service-row span{overflow-wrap:anywhere}.popular-service-row progress{grid-column:1/-1;width:100%;height:8px;accent-color:#59d4fb}@media(max-width:560px){.service-admin-actions .button{flex:1 1 140px}}

.category-manage-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;margin-top:12px;border:1px solid #294253;border-radius:16px;background:#102131}.category-manage-card>div:first-child{min-width:0}.category-manage-card h3{margin:0 0 6px;overflow-wrap:anywhere}.category-manage-card p{margin:0;color:#a6b6c5;font-size:13px;overflow-wrap:anywhere}.category-manage-actions{display:flex;gap:8px;flex-shrink:0}.category-manage-actions .button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px}.category-manage-actions svg{width:18px;height:18px;flex-shrink:0}#edit-category-feedback,#delete-category-feedback{color:#ffb4b4}@media(max-width:600px){.category-manage-card{align-items:stretch;flex-direction:column;padding:14px}.category-manage-actions .button{flex:1}.admin-sidebar .sidebar-link svg{width:21px;height:21px;flex-shrink:0}.admin-sidebar .sidebar-link{min-height:48px;gap:10px;border-radius:12px}.service-admin-actions .button{font-size:13px}}

.admin-sidebar .sidebar-link svg{box-sizing:content-box;width:21px;height:21px;padding:9px;border-radius:13px;color:#fff;background:linear-gradient(145deg,#72a8ff,#4775ed);stroke-width:2;stroke-linecap:square;stroke-linejoin:miter;box-shadow:inset 0 1px #ffffff30;flex-shrink:0}.admin-sidebar .sidebar-link:nth-of-type(2n) svg{background:linear-gradient(145deg,#aa90ed,#785dc9)}.admin-sidebar .sidebar-link:nth-of-type(3n) svg{background:linear-gradient(145deg,#50d49d,#209a71)}.admin-sidebar .sidebar-link.active svg{box-shadow:inset 0 1px #ffffff35,0 0 0 2px #b9eaff55}.category-manage-actions svg,.service-admin-actions svg{stroke-width:2;stroke-linecap:square;stroke-linejoin:miter}.category-manage-actions svg{box-sizing:content-box;padding:6px;border-radius:9px;color:white;background:#467bec}.category-manage-actions .danger-action svg{background:#cb6270}.admin-page .ui-icon{box-sizing:content-box;padding:5px;border-radius:9px;background:#4775ed;color:white}

/* Compact account checkout, with feedback at the action being taken. */
.account-page:not(.auth-view) main.wrap{max-width:980px;padding-block:28px}.account-page:not(.auth-view) .portal-title{font-size:27px;line-height:1.6;margin-bottom:12px}.account-page:not(.auth-view) #welcome{font-size:19px;margin:0}.account-page:not(.auth-view) .portal-toolbar{margin-bottom:18px}.account-page #selection{border-radius:23px;padding:26px;background:linear-gradient(145deg,#102638,#0d1d2e);border:1px solid #294557}.order-step-label{font-size:12px;color:#6ed6f5}.order-selection-heading h2{font-size:25px;margin:8px 0}.account-page #selection .portal-note{font-size:14px;line-height:1.8;padding:12px 14px;border-radius:12px}.account-page #selection ul:empty{display:none}.account-page #selection>label{display:block;margin-top:20px}.account-page #selection select,.account-page #selection input,.account-page #selection textarea{width:100%;box-sizing:border-box;border-radius:13px;font-size:16px;min-height:48px}.account-page #order-form{display:grid;gap:14px;margin-top:18px}.account-page #order-form label{display:grid;gap:7px}.account-page #order-form .button{min-height:50px;width:100%;font-size:15px}.account-page #order-form .fine{margin:0;text-align:center;font-size:12px;color:#95aabc}#order-feedback{color:#ffb6bd;margin:0;font-size:14px;line-height:1.8}#order-feedback:empty{display:none}.order-success-mark{display:grid;place-items:center;background:#225d4b;color:#a4f2ca;border-radius:15px;width:48px;height:48px;font-size:25px}.account-page #saved-order-feedback{font-size:14px;line-height:1.8;color:#bed6e5}
@media(max-width:600px){.account-page:not(.auth-view) main.wrap{padding-top:20px}.account-page:not(.auth-view) .portal-title{font-size:22px;margin:0 0 8px}.account-page:not(.auth-view) header .nav{padding-block:12px;gap:12px}.account-page:not(.auth-view) header .brand{font-size:17px}.account-page:not(.auth-view) #selection{padding:18px;border-radius:20px}.account-page:not(.auth-view) .portal-toolbar{margin-block:14px}.account-page:not(.auth-view) #welcome{font-size:17px}.order-selection-heading h2{font-size:23px}.account-page #selection .portal-note{margin-block:10px;font-size:13px}.account-page #selection .fine{font-size:12px}.account-page #selection>label{margin-top:16px}}

.portal-row>*{min-width:0}.portal-row strong,.portal-row b{overflow-wrap:anywhere}.portal-panel{box-sizing:border-box;min-width:0}.quick-category-dialog{box-sizing:border-box;width:min(520px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow-y:auto}.quick-category-dialog form{min-width:0}.quick-category-dialog input,.quick-category-dialog textarea,.quick-category-dialog select{box-sizing:border-box;max-width:100%}.account-page #selection #saved-order-support{box-sizing:border-box;white-space:normal}.admin-page .category-manage-card h3{line-height:1.7}
@media(max-width:600px){.portal-row{flex-wrap:wrap;gap:12px}.portal-row>.button{min-height:44px}.account-page #orders .portal-row{padding:15px}.quick-category-dialog{padding:19px;border-radius:19px}.quick-category-dialog h2{font-size:21px}.quick-category-dialog .button{min-height:44px}.admin-page .service-admin-actions{gap:8px}}
/* Compact account history and optional homepage controls. */
.customer-order-card{padding:22px;border:1px solid #29415b;border-radius:22px;background:linear-gradient(145deg,#11223a,#0c192c);margin-bottom:16px;min-width:0}.customer-order-head{display:flex;align-items:center;gap:13px}.customer-order-head>img{width:60px;height:60px;object-fit:contain;background:#152b45;border-radius:15px;flex-shrink:0}.customer-order-head>div{min-width:0;display:grid;gap:4px}.customer-order-head h3{margin:0;font-size:18px;overflow-wrap:anywhere}.customer-order-head small,.customer-order-head bdi{color:#9fafc5;font-size:12px}.customer-order-meta{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:13px;align-items:center;margin:18px 0}.customer-order-meta time{color:#a6b7ca}.customer-order-meta strong{color:#a9e8ff}.order-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;margin:20px 0;gap:6px}.order-progress li{text-align:center;font-size:11px;line-height:1.7;color:#a2b0c2;min-width:0;overflow-wrap:anywhere}.order-progress li>span{display:flex;align-items:center;justify-content:center;width:27px;height:27px;margin:0 auto 7px;border:1px solid #3d4e65;border-radius:50%;font-size:12px}.order-progress li.reached{color:#8de2ff}.order-progress li.reached>span{background:#104766;border-color:#3ab9e8;color:white}.order-progress li[aria-current=step]>span{box-shadow:0 0 0 4px #24739430}.homepage-editor summary{cursor:pointer;font-size:17px;padding:3px 0;min-height:36px}.homepage-editor form{margin-top:20px}.homepage-category-choices{display:flex;flex-wrap:wrap;gap:10px}.homepage-category-choices label{display:flex!important;align-items:center;gap:8px;background:#132a42;padding:10px 12px;border-radius:12px;font-size:13px}.homepage-category-choices input{width:18px!important;height:18px!important;min-height:18px!important;margin:0}.homepage-editor fieldset{border:1px solid #2c425c;border-radius:14px;min-width:0;padding:14px}.homepage-editor input,.homepage-editor textarea{width:100%;min-width:0;box-sizing:border-box}.package-price del{color:#91a0b5;font-size:12px}#discount-preview{grid-column:1/-1;color:#9ee3ff;margin:0}
@media(max-width:600px){.customer-order-card{padding:17px;border-radius:18px}.customer-order-head>img{width:50px;height:50px}.customer-order-head h3{font-size:16px}.customer-order-meta{gap:7px 12px;font-size:12px}.customer-order-card>.button{width:100%;min-height:46px;box-sizing:border-box}.order-progress li{font-size:10px}.homepage-editor{padding:17px}.homepage-category-choices{gap:7px}}
