/* Shared presentation layer. IDs, API contracts and financial state stay unchanged. */
.site-header .nav-links{margin-block:0}.site-header .header-actions{margin-block:0}
@font-face{font-family:DakhletoUI;src:url('/assets/fonts/Vazirmatn.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{font-family:DakhletoUI,Vazirmatn,Tahoma,sans-serif;--ui-radius:16px;--ui-gap:16px;--ui-danger:#ffb4bd;--ui-success:#88dfbf;--ui-focus:#96bbff}
:root[data-theme=light]{--ui-danger:#a51d36;--ui-success:#17654a;--ui-focus:#2863d8}
body{font-family:inherit;line-height:1.85;min-width:320px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,input,select,textarea{max-width:100%}[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--ui-focus);outline-offset:4px}::selection{background:var(--blue);color:var(--bg)}
.container{width:min(1200px,calc(100% - 40px))}.nav-wrap{min-height:76px;height:auto;padding-block:14px;gap:20px}.brand{font-size:1.35rem}.brand img{width:36px;height:36px}.header-actions{gap:10px}.icon-button{width:44px;height:44px;border-radius:12px}.nav-links{gap:24px}.nav-links a{min-height:44px;display:inline-flex;align-items:center}.site-footer{margin-top:32px}.footer-top{gap:24px}.footer-top nav{gap:20px}.footer-top nav a{min-height:44px;display:inline-flex;align-items:center}
.button,.product-add,.home-product-more,.panel-pay,.admin-row-action{min-height:44px;border-radius:12px;font-size:.875rem;line-height:1.7}.button-secondary{border:1px solid var(--line);background:var(--surface);color:var(--ink)}.button:hover,.icon-button:hover,.nav-download:hover{transform:none}.button:disabled,button:disabled{opacity:.55;cursor:not-allowed}.button-primary{background:var(--button);color:var(--button-ink)}
.home-products-grid{gap:18px}.home-product-card{border-radius:var(--ui-radius);padding:24px;min-width:0}.home-product-card h3{font-size:1.1rem}.home-product-card p{font-size:.9rem;line-height:1.9}.home-product-price strong{font-size:1.25rem}.product-card-actions{gap:10px}.hero-description{font-size:1rem}.hero-points{font-size:.85rem}.home-product-kind{font-size:.78rem}
.shop-dialog,.product-popover,.admin-dialog{border-radius:20px;max-height:calc(100dvh - 32px);overscroll-behavior:contain}.shop-dialog,.product-popover{padding:24px}.shop-dialog-head,.product-popover-head{gap:16px}.shop-close,.product-popover-head button,.admin-dialog-head button{min-width:44px;min-height:44px}.shop-dialog p,.product-popover p,.product-popover li,.order-note,.account-help,.cart-empty{font-size:.9rem;line-height:1.9}.order-error{font-size:.875rem}.cart-item-info strong{font-size:.95rem}.cart-item-info small,.cart-term{font-size:.83rem}.cart-remove{min-height:44px;font-size:.85rem}.order-form{gap:18px}.order-form label{font-size:.9rem}.order-form input{min-height:48px;font-size:1rem}.cart-item-actions{flex-wrap:wrap}.cart-item-actions select{font-size:.875rem;min-height:44px}
.panel-wrap{padding-block:32px 56px}.panel-message{padding:28px;border-radius:var(--ui-radius)}.panel-message p{font-size:.95rem}.panel-hero{padding:28px;border-radius:20px;box-shadow:none}.panel-hero p:not(.panel-kicker){font-size:.9rem}.panel-identity{min-width:0}.panel-layout{gap:24px}.panel-tabs button{font-size:.9rem;min-height:46px}.panel-card{padding:24px}.panel-soft-text,.panel-empty,.panel-order-items,.panel-feature,.panel-detail,.panel-profile-form label{font-size:.9rem}.panel-profile-form input{font-size:1rem;min-height:48px}.panel-card-head{gap:16px}.panel-text-button,.panel-inline-link,.panel-site-link{font-size:.875rem;min-height:44px;display:inline-flex;align-items:center}.panel-stats small{font-size:.85rem}.panel-order{padding:18px}.panel-order-top strong,.panel-order-foot{font-size:.85rem}.panel-status{font-size:.78rem}.panel-order-foot{flex-wrap:wrap}.panel-feedback{font-size:.9rem;line-height:1.8}.panel-verified{font-size:.75rem}.panel-identity small{font-size:.8rem}
.service-shortcut{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;margin-bottom:20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--ui-radius)}.service-shortcut:hover{border-color:var(--blue)}.service-shortcut strong{display:block;color:var(--blue);font-size:1rem}.service-shortcut small{display:block;color:var(--muted);font-size:.875rem}
.admin-row-main strong{font-size:.9rem}.admin-row-main small,.admin-note,.admin-product-card small,.admin-product-model{font-size:.83rem}.admin-row-value{font-size:.9rem}.admin-product-card{min-height:190px}.admin-filter-row{gap:16px}.admin-search input{font-size:1rem;min-height:46px}.admin-sidebar button{font-size:.9rem!important}.admin-dialog-body{padding:24px}.admin-login label{font-size:.9rem}
.legal-main{max-width:860px;padding-block:40px 56px}.legal-main h1{font-size:clamp(1.7rem,4vw,2.4rem);margin-bottom:12px}.legal-main>.date{color:var(--muted);font-size:.875rem;margin-bottom:24px}.legal-main>p{font-size:1rem;color:var(--muted)}.legal-main section{padding:24px;margin-top:20px;border:1px solid var(--line);border-radius:var(--ui-radius);background:var(--surface)}.legal-main h2{font-size:1.2rem;margin-bottom:12px}.legal-main p{line-height:2.1}.legal-main p+p{margin-top:12px}.legal-main a{color:var(--blue);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.service-main{width:min(960px,calc(100% - 40px));max-width:960px;margin:0 auto;padding:32px 0 48px;min-height:65vh}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}.page-heading h1,.service-main>h1{font-size:clamp(1.6rem,4vw,2.15rem);line-height:1.5}.page-heading p{color:var(--muted);font-size:.95rem;margin-top:8px}.page-heading .page-eyebrow{font-size:.8rem;color:var(--blue);margin-top:0}.page-heading .button{flex:none}.service-main h2{font-size:1.25rem;margin:24px 0 14px}.service-main h3{font-size:1.1rem;margin-block:16px}.service-main p{overflow-wrap:anywhere}.service-main article{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--ui-radius);padding:20px;margin:12px 0}.service-main article>strong{font-size:1rem}.service-main article p{color:var(--muted);margin-top:8px;font-size:.9rem}.service-main label{display:flex;flex-direction:column;gap:8px;margin:18px 0 8px;font-size:.9rem;font-weight:600}.service-main input,.service-main select,.service-main textarea{display:block;width:100%;min-height:48px;border:1px solid var(--line);border-radius:12px;background:var(--surface-raised);color:var(--ink);padding:10px 12px;line-height:1.7;font-size:1rem}.service-main textarea{min-height:110px;resize:vertical}.service-main input[type=checkbox]{width:20px;height:20px;min-height:20px;accent-color:var(--button)}.service-main label:has(input[type=checkbox]){flex-direction:row;align-items:flex-start}.service-main button{background:var(--surface);color:var(--ink);border:1px solid var(--line);min-height:44px;border-radius:12px;padding:9px 16px;margin:0;font-weight:600;font-size:.9rem}.service-main button:hover{border-color:var(--blue)}.service-main form>button:not([type=button]){background:var(--button);color:var(--button-ink);border-color:var(--button);margin-top:20px}.service-main .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.service-main details{border:1px solid var(--line);border-radius:var(--ui-radius);background:var(--surface);padding:18px 20px;margin-top:20px}.service-main summary{cursor:pointer;color:var(--ink);font-weight:700;min-height:30px}.service-main summary::marker{color:var(--blue)}.service-main details[open]>summary{padding-bottom:16px;border-bottom:1px solid var(--line)}.service-main #tabs{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.service-main #tabs button{flex:1 0 110px}.service-main #tabs button[aria-pressed=true]{background:var(--button);color:var(--button-ink);border-color:var(--button)}.service-main .note{color:var(--muted);font-size:.875rem;border-top:1px solid var(--line);padding-top:20px;margin-top:28px}.service-main table{border-collapse:collapse;width:100%}.service-main td,.service-main th{padding:12px;border-bottom:1px solid var(--line);text-align:start}.ui-empty{text-align:center;border:1px dashed var(--line);border-radius:var(--ui-radius);padding:32px 24px;background:var(--surface);margin-top:20px}.ui-empty p{color:var(--muted);margin-bottom:20px}.ui-feedback,#status{border-radius:12px;padding:12px 16px;min-height:48px;background:var(--surface-raised);border:1px solid var(--line);font-size:.9rem;margin:16px 0;color:var(--muted)}#status:empty{display:none}#status[data-state=error]{color:var(--ui-danger);border-color:currentColor}#status[data-state=success]{color:var(--ui-success)}#status[data-state=loading]::before{content:'';display:inline-block;width:12px;height:12px;border:2px solid var(--line);border-top-color:var(--blue);border-radius:50%;margin-inline-end:10px;animation:ui-spin 1s linear infinite}@keyframes ui-spin{to{transform:rotate(360deg)}}.utility-page .service-main{max-width:640px}.utility-page .service-main>p{margin-block:16px;color:var(--muted)}.utility-page form{padding:24px;border:1px solid var(--line);border-radius:var(--ui-radius);background:var(--surface);margin-block:24px}.utility-page small{display:block;color:var(--muted);font-size:.85rem;margin-top:16px}.utility-page #inspect,.utility-page #start,.utility-page #stop{margin-top:16px}.utility-page progress{width:100%;height:12px;margin-top:24px;accent-color:var(--button)}
.catalog-main,.plans-main,.product-main{padding-top:32px}.catalog-notice,.plan-notice{background:var(--surface-raised);color:var(--muted);border-color:var(--line)}
@media(max-width:850px){.panel-layout{grid-template-columns:1fr}.panel-tabs{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;overflow:visible}.panel-tabs button{flex:1 0 125px;width:auto}.admin-open .admin-sidebar{flex-wrap:wrap;overflow:visible;white-space:normal;gap:8px}.admin-open .admin-sidebar button{flex:1 0 120px;width:auto}.panel-hero{flex-wrap:wrap}.panel-identity{width:100%}.admin-user-summary{grid-template-columns:1fr}.page-heading{flex-wrap:wrap}.home-product-card:nth-child(n){grid-column:auto}}
@media(max-width:600px){.container,.service-main{width:calc(100% - 32px)}.nav-wrap{gap:12px;min-height:68px;padding-block:12px;flex-wrap:wrap}.brand{font-size:1.2rem}.header-actions{margin-inline-start:auto}.nav-links{display:flex;gap:16px;font-size:.85rem;margin-inline-start:auto}.panel-header-label{display:none}.hero{padding-top:32px;gap:20px}.hero h1{font-size:clamp(2.6rem,9vw,3.5rem)}.hero-description{font-size:.95rem}.hero-art{max-width:100%}.hero-points{font-size:.8rem}.home-products-grid{grid-template-columns:minmax(0,1fr)!important;gap:16px}.home-product-card:nth-child(n){grid-column:auto!important}.home-product-card{padding:22px}.product-card-actions{flex-wrap:wrap}.home-products{padding-block:40px}.home-product-price strong{font-size:1.25rem}.panel-wrap{padding-top:24px}.panel-message{margin:24px auto;padding:24px}.panel-hero{padding:22px}.panel-hero h1{font-size:1.5rem}.panel-card{padding:20px}.panel-stats{display:flex;flex-wrap:wrap;gap:12px}.panel-stats>div{flex:1 1 140px}.panel-stats strong{font-size:1.4rem}.panel-card-head{flex-wrap:wrap}.panel-header .panel-site-link{font-size:.8rem}.shop-dialog,.product-popover{padding:20px;width:calc(100vw - 24px)}.cart-item{flex-wrap:wrap}.cart-item-actions{width:100%;justify-content:space-between}.cart-item-actions select{max-width:100%;flex:1}.footer-top{flex-wrap:wrap;align-items:flex-start}.footer-top nav{gap:12px 20px}.footer-bottom{flex-wrap:wrap}.legal-main section{padding:20px}.service-main{padding-top:24px}.page-heading .button{width:100%}.service-main #tabs button{flex-basis:90px}.service-main article{padding:18px}.service-main .actions button{flex:1 1 120px}.utility-page form{padding:20px}.admin-filter-row{flex-wrap:wrap}.admin-product-grid{grid-template-columns:1fr}.admin-stats>div{min-width:0}.service-shortcut{padding:16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.product-facts>div,.purchase-card,.benefit-grid article,.terms-grid>div,.catalog-card,.free-plan,.module-card{background:var(--surface);color:var(--ink);border-color:var(--line)}
.product-lead,.purchase-card>p,.benefit-grid p,.terms-grid p,.catalog-intro>p,.catalog-featured p,.catalog-featured ul,.catalog-card ul,.catalog-card p,.catalog-boundary p,.free-plan ul,.module-card ul,.module-bottom>span,.future-section>p,.rules-grid p{color:var(--muted);font-size:.95rem}
.product-kicker,.purchase-status,.product-tail,.catalog-notice,.catalog-state,.catalog-state.planned,.catalog-card-foot,.sales-notice,.module-tag{background:var(--surface-raised);color:var(--muted);border-color:var(--line)}
.purchase-secondary{color:var(--blue);border-color:var(--line)}.purchase-secondary:hover{background:var(--surface-raised)}
@media print{.site-header,.site-footer,.service-shortcut{display:none!important}:root{--ink:#111;--muted:#444;--surface:#fff;--line:#ccc;--bg:#fff}body{background:#fff;color:#111}.service-main{width:100%;padding:0}}
@media(max-width:600px){.storefront-page .site-header .nav-links{display:none}.storefront-page .nav-wrap{flex-wrap:nowrap}}
@media(max-width:600px){.panel-tabs:not(.admin-sidebar) button{flex-basis:90px;padding-inline:8px}.panel-tabs:not(.admin-sidebar){gap:8px}}
.service-main .panel>button{margin:12px 0 0 12px}.service-main form{margin-bottom:24px}.service-main .panel:empty::after{content:"هنوز موردی برای نمایش نیست.";display:block;color:var(--muted);padding:24px;border:1px dashed var(--line);border-radius:16px}
.status-toolbar{display:flex;align-items:center;gap:12px;margin:20px 0}.status-toolbar #status{flex:1;margin:0}.status-toolbar button{flex:none}.status-toolbar:has(#status[hidden]):has(#refresh[hidden]){display:none}@media(max-width:600px){.status-toolbar{align-items:stretch}.status-toolbar #status{padding:10px;font-size:.85rem}.status-toolbar button{padding-inline:12px}}
body{min-width:0}.service-main input[type=date]{min-width:0}@media(max-width:360px){.nav-wrap{gap:8px}.nav-links{gap:10px}.brand img{width:30px;height:30px}.brand{font-size:1.05rem}.panel-identity{flex-wrap:wrap}.hero-actions{gap:12px}.hero h1{font-size:2.45rem}}
/* Four sharing products: equal cards with no unfinished desktop row. */
@media(min-width:601px){.home-products-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.home-products-grid>.home-product-card:nth-child(n){grid-column:auto!important}}
details.home-product-card{display:block;min-height:0;margin-block:20px}
details.home-product-card>summary{cursor:pointer;font-weight:700}
details.home-product-card>p{max-width:none;min-height:0}
.home-products-grid .home-product-price{margin-block:18px;font-weight:700;line-height:1.8}
.home-products-grid .product-add{margin-top:auto;align-self:stretch}

.portal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px;margin-block:16px}.portal-grid .panel-card{margin:0}.order-form textarea{width:100%;min-height:130px;resize:vertical;padding:12px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:12px}.order-form label{display:grid;gap:8px}.order-form input[type=checkbox]{width:24px;height:24px}.admin-dashboard-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px}.admin-dashboard-grid>.panel-card{width:100%;min-width:0;margin:0}.admin-list>.order-form{margin-bottom:16px}.shop-dialog .order-form{margin-block:16px}.shop-dialog p{white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:700px){.admin-dashboard-grid{grid-template-columns:minmax(0,1fr)!important}.admin-row{flex-wrap:wrap;gap:12px}}
.order-form select { width:100%; min-height:48px; padding:10px 12px; border:1px solid var(--line, #8896ad55); border-radius:12px; background:var(--surface); color:var(--ink); font:inherit; }
.portal-access-item { margin-block:12px; }
.portal-access-item summary { cursor:pointer; padding:16px; border:1px solid var(--line, #8896ad55); border-radius:12px; font-weight:700; }
.portal-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-block:20px; }
.portal-button { display:inline-flex; align-items:center; justify-content:center; padding:10px 18px; min-height:44px; border:1px solid var(--line); cursor:pointer; font-weight:700; }
.panel-card > .portal-button { margin-block:12px 4px; }
.shop-dialog .order-form { gap:16px; }
.shop-dialog .order-form button:not(.button-primary) { background:var(--surface); color:var(--ink); border:1px solid var(--line); }
.portal-grid { gap:16px; margin-block:16px; }
.portal-user-row { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:16px; padding:16px; align-items:center; border:1px solid var(--line); border-radius:16px; margin-block:12px; }
.portal-user-row input[type=checkbox] { width:22px; height:22px; accent-color:var(--button); }
@media(max-width:600px){.portal-user-row { grid-template-columns:auto minmax(0,1fr); }.portal-user-row .portal-actions {grid-column:1/-1;margin:0;}.portal-actions .button {flex:1;}}
/* Shared full-width workspace; mobile navigation becomes a vertical sheet. */
body:has(#panel-app) .container {width:calc(100% - 48px);max-width:none;}
.panel-layout {display:grid;grid-template-columns:240px minmax(0,1fr);gap:28px;align-items:start;}
.panel-tabs {position:sticky;top:96px;display:flex;flex-direction:column;padding:16px;border:1px solid var(--line);border-radius:18px;background:var(--surface);gap:8px;overflow:visible;white-space:normal;}
.panel-tabs button {width:100%;text-align:right;min-height:48px;font-size:.9rem;}
.panel-body {min-width:0;}.panel-body .panel-hero {margin-bottom:24px;padding:24px;}.panel-tabs .service-shortcut {margin:16px 0 0;padding:14px;font-size:.85rem;}.panel-tabs .service-shortcut small {white-space:normal;}
.portal-nav-toggle {display:none;}
@media(max-width:850px){
 body:has(#panel-app) .container {width:calc(100% - 28px);}
 .panel-layout {grid-template-columns:1fr;gap:16px;}.panel-tabs {position:static;display:none;}.panel-tabs.portal-nav-open {display:flex;}
 .portal-nav-toggle {display:flex;width:100%;justify-content:space-between;margin-bottom:16px;}
 .admin-sidebar {position:static!important;display:none!important;width:100%!important;}.admin-sidebar.portal-nav-open {display:flex!important;flex-direction:column;overflow:visible;}
 .admin-layout {display:block!important;}.admin-main,.admin-body {min-width:0;width:100%;}.admin-header {flex-wrap:wrap;}
 .panel-hero .panel-identity {width:100%;}.panel-body .panel-hero {padding:18px;}.panel-stats {grid-template-columns:1fr;gap:12px;}.panel-stats>div {display:flex;align-items:center;justify-content:space-between;padding:18px;}.panel-stats small {font-size:.85rem;}
 .shop-dialog {width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:18px;border-radius:20px;}.shop-dialog-head {position:sticky;top:-18px;background:var(--surface);z-index:2;padding-block:14px;}
 .order-form input,.order-form select,.order-form textarea {font-size:16px!important;}.portal-actions {display:grid;grid-template-columns:1fr;width:100%;}.portal-actions>* {width:100%;}
 .panel-order-top,.panel-order-foot {display:grid;grid-template-columns:1fr;gap:10px;}.panel-order-top strong {font-size:.9rem;overflow-wrap:anywhere;}
}
.order-form .button:not(.button-primary),#view-support a.button {background:var(--surface);color:var(--ink);border:1px solid var(--line);padding:10px 18px;border-radius:12px;min-height:44px;}
#view-support > .panel-card {display:flex;flex-direction:column;gap:16px;}#view-support > .panel-card>div {display:grid;gap:12px;}
.panel-tabs button[aria-selected=true] {background:color-mix(in srgb,var(--button) 18%,var(--surface));color:var(--ink);border:1px solid color-mix(in srgb,var(--button) 55%,var(--line));}
.portal-sidebar-brand{display:none;}
@media(min-width:851px){
 body:has(#panel-app:not([hidden])) .site-header,body:has(#panel-app:not([hidden])) .site-footer{width:calc(100% - 250px);margin-right:250px;}
 body:has(#panel-app:not([hidden])) #panel-content{width:calc(100% - 250px);max-width:none;margin-right:250px;margin-left:0;padding:34px clamp(22px,3vw,48px) 56px;}
 body:has(#panel-app:not([hidden])) .panel-layout{display:block;}
 body:has(#panel-app:not([hidden])) .panel-tabs{position:fixed;inset:0 0 0 auto;z-index:45;width:250px;height:100dvh;overflow-y:auto;gap:3px;padding:24px 15px 18px;border:0;border-radius:0;background:#0d2943;box-shadow:-10px 0 34px rgba(4,20,35,.13);}
 body:has(#panel-app:not([hidden])) .panel-tabs button{border:0;color:#c1d2e3;background:transparent;}
 body:has(#panel-app:not([hidden])) .panel-tabs button:hover{background:#244564;color:white;}
 body:has(#panel-app:not([hidden])) .panel-tabs button[aria-selected=true]{background:#284c6f;color:white;box-shadow:inset -3px 0 #96c3f3;}
 body:has(#panel-app:not([hidden])) .panel-tabs .service-shortcut{margin-top:24px;background:#183a57;border-color:#395a76;color:#e5f0fa;}
 body:has(#panel-app:not([hidden])) .panel-tabs .service-shortcut strong{color:#e5f0fa;}
 body:has(#panel-app:not([hidden])) .panel-tabs .service-shortcut small{color:#b8d1ea;}
 .panel-tabs .portal-sidebar-brand{display:flex;align-items:center;gap:10px;color:white;padding:3px 9px 24px;font-size:1.3rem;font-weight:900;}
 .portal-sidebar-brand img{width:35px;height:35px;filter:brightness(0) invert(1);}
 body:has(#panel-app:not([hidden])) .site-header .brand{display:none;}
}
@media(max-width:600px){
 .panel-stats,.admin-stats{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px;}
 .panel-stats>div,.admin-stats>div{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px;padding:16px!important;}
 .panel-stats strong,.admin-stats strong{white-space:nowrap;flex-shrink:0;}
 .panel-tabs.portal-nav-open button,.admin-sidebar.portal-nav-open button{flex:none!important;width:100%!important;min-height:48px;}
 .panel-card-head,.admin-card-head{align-items:flex-start;gap:12px;flex-wrap:wrap;}
 .portal-user-row strong,.portal-user-row p{overflow-wrap:anywhere;}
}

/* Products share equal-sized cards in one responsive grid. */
.home-products-grid{display:grid!important;grid-auto-rows:1fr;grid-template-columns:repeat(3,minmax(0,1fr))!important;overflow:visible;gap:20px;margin-inline:0;padding-inline:0}
.home-products-grid>.home-product-card:nth-child(n){grid-column:auto!important;min-height:290px}
.home-products-grid .product-add{text-decoration:none;min-height:44px}
@media(max-width:850px){.home-products-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:600px){.home-products-grid{grid-template-columns:minmax(0,1fr)!important}.home-products-grid>.home-product-card:nth-child(n){min-height:0}}

.otp-entry{position:relative;direction:ltr;margin-block:12px}
.otp-digits{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;pointer-events:none}
.otp-digit{height:56px;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;background:var(--surface-raised);color:var(--ink);font-size:1.5rem;font-weight:700}
.account-form .otp-input{position:absolute;inset:0;width:100%;height:100%;opacity:.01;z-index:1;cursor:text}
.otp-entry:focus-within .otp-digit{border-color:var(--blue)}
.otp-digit.filled{background:color-mix(in srgb,var(--blue) 10%,var(--surface))}
.otp-entry.verified .otp-digit{animation:otp-confirm .18s ease forwards;animation-delay:calc(var(--digit)*80ms)}
@keyframes otp-confirm{to{background:#16734a;color:#fff;border-color:#16734a}}
@media(prefers-reduced-motion:reduce){.otp-entry.verified .otp-digit{animation:none;background:#16734a;color:#fff;border-color:#16734a}}
.account-support{margin-top:24px;padding-top:18px;border-top:1px solid var(--line);text-align:center}.account-support>span{display:block;color:var(--muted);font-size:.85rem;margin-bottom:12px}.account-support>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.account-support a{display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:var(--surface-raised);text-decoration:none}.account-support a:hover{border-color:var(--blue);color:var(--blue)}
.account-change-number{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;margin-top:12px;padding:10px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface-raised);color:var(--ink);font:inherit;cursor:pointer}.account-change-number:hover{border-color:var(--blue);color:var(--blue)}
.panel-archive{margin-top:12px;min-height:44px;padding:10px 16px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:12px;cursor:pointer}.panel-order .panel-pay{margin-inline-end:10px}
/* Consistent confirmations and order actions on touch and desktop. */
.panel-order-actions{display:flex;align-items:center;gap:12px;margin-top:16px}
.panel-order-actions .panel-pay{flex:1;width:auto;margin:0;min-height:48px}
.panel-order-actions .panel-archive{display:grid;place-items:center;flex:0 0 48px;width:48px;min-width:48px;min-height:48px;padding:10px;margin:0;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:12px}
.panel-order-actions .panel-archive:hover{border-color:var(--blue);color:var(--blue)}
.ui-confirm-dialog{max-width:460px;color:var(--ink);background:var(--surface)}
.ui-confirm-dialog h2{font-size:1.15rem;margin:0 0 16px}.ui-confirm-dialog p{line-height:1.9;white-space:pre-line;margin-bottom:20px}
.ui-dialog-actions{display:flex;gap:12px;align-items:center}.order-form .ui-dialog-actions .button{width:auto;flex:1;min-height:48px}
.shop-dialog{max-height:calc(var(--visible-height,100dvh) - 24px);overflow-y:auto;overscroll-behavior:contain;scroll-padding-block:20px}
:root[data-keyboard=open] .shop-dialog[open]{position:fixed;top:calc(var(--visible-top,0px) + 12px);bottom:auto;left:0;right:0;margin:0 auto}
#account-dialog .account-form>button[type=submit]{position:static;min-height:48px}
#account-dialog input{scroll-margin-block:24px}.account-form .otp-input{caret-color:transparent;font-size:20px}

/* Text editor, ticket summaries and management tables: one source per component. */
.content-previews{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.content-previews>div,.admin-list,.admin-toolbar>*{min-width:0}
.brand-motion{width:min(100%,420px);aspect-ratio:1;border-radius:18px;background:#fff;display:block;margin:16px auto}
.admin-toolbar{display:flex;align-items:center;gap:12px;margin-block:16px;flex-wrap:wrap}
.admin-toolbar input,.admin-toolbar select{min-width:0;min-height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink)}
.admin-toolbar input{flex:1}
.content-library{min-width:0}
.content-text-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-block:16px 28px;align-items:stretch}
.content-section-heading{padding-block:12px;border-bottom:1px solid var(--line);margin:28px 0 0;font-size:1rem;color:var(--blue-strong)}
.content-text-card{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;align-self:stretch;min-height:88px;min-width:0;font:inherit;font-size:.88rem;line-height:1.9;text-align:start;padding:16px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:14px;cursor:pointer;overflow-wrap:anywhere;box-shadow:none}
.content-text-card:hover,.content-text-card:focus-visible{border-color:var(--blue);background:color-mix(in srgb,var(--blue) 5%,var(--surface))}
.content-text-card>strong{display:block;margin-block-end:8px;font-size:.78rem;color:var(--blue);line-height:1.7}
.content-text-card>span{display:block}
.panel-card.ticket-card{display:grid;grid-template-columns:20px minmax(160px,2fr) minmax(120px,1fr) minmax(130px,auto) auto auto;align-items:center;gap:12px;padding:14px 16px;margin-block:12px;background:var(--surface);border:1px solid var(--line);border-radius:14px}
.ticket-card input[type=checkbox]{width:18px;height:18px;min-height:0;margin:0;accent-color:var(--blue)}
.ticket-title,.ticket-meta{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.8;margin:0}
.ticket-title{font-size:.88rem}.ticket-meta,.ticket-date{font-size:.78rem;color:var(--muted)}
.ticket-date{white-space:nowrap;margin:0}
.ticket-status{display:inline-flex;align-items:center;justify-content:center;width:fit-content;max-width:100%;border-radius:99px;padding:4px 10px;border:1px solid var(--line);font-size:.76rem;font-weight:700;line-height:1.6;white-space:nowrap}
.ticket-status-new,.ticket-status-waiting_staff{background:#fff1b8;color:#634600;border-color:#dfc978}
.ticket-status-waiting_user{background:#d5f5e4;color:#125537;border-color:#91c8ab}
.ticket-status-closed{background:var(--surface);color:var(--muted)}
.ticket-card-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end}
.ticket-card-actions .button{width:auto;height:36px;min-height:36px;line-height:1.4;padding:6px 10px;margin:0;white-space:nowrap;font-size:.8rem}
.ticket-stats-trigger{align-self:flex-start;width:auto}
.ticket-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-block:18px}
.ticket-filters{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-block:20px}
.ticket-filters label{display:grid;gap:8px;flex:1 1 130px;font-size:.85rem}
.ticket-filters input,.ticket-filters select{height:44px;width:100%;min-width:0;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink)}
.ticket-filters>.button{height:44px;min-height:44px;flex:0 0 auto;padding:8px 20px;margin:0;align-self:flex-end}
.ticket-message{padding:16px;margin-block:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.ticket-message p{white-space:pre-wrap;overflow-wrap:anywhere}
.ticket-closed{padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:12px}
.ticket-stats{width:100%;border-collapse:collapse;margin-block:16px}
.ticket-stats td,.ticket-stats th{padding:12px;text-align:start;border:1px solid var(--line)}
.users-toolbar{display:flex;align-items:flex-end;gap:14px;margin:0 0 20px;flex-wrap:wrap}
.users-search{display:flex;align-items:flex-end;gap:8px;flex:0 0 230px;min-width:0}.users-filter{position:relative;display:flex;flex-direction:column;gap:8px;font-size:.8rem;font-weight:600;margin:0;flex:0 0 180px;min-width:0}.users-filter-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font:inherit;text-align:start;cursor:pointer}.users-filter-trigger::after{content:"";width:7px;height:7px;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:rotate(45deg);flex-shrink:0;margin-bottom:4px}.users-filter-trigger[aria-expanded=true]::after{transform:rotate(225deg);margin-bottom:0}.users-filter-menu{position:absolute;inset-inline:0;top:calc(100% + 8px);z-index:12;padding:5px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.users-filter-menu[hidden]{display:none}.users-filter-option{display:block;width:100%;min-height:38px;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:var(--ink);font:inherit;text-align:start;cursor:pointer;white-space:nowrap}.users-filter-option[aria-selected=true]{color:var(--blue-strong);background:color-mix(in srgb,var(--blue) 10%,var(--surface))}.users-filter-option:hover,.users-filter-option:focus-visible{background:color-mix(in srgb,var(--blue) 6%,var(--surface));outline:2px solid var(--blue);outline-offset:-2px}.users-filter-trigger:focus-visible{outline:2px solid var(--blue);outline-offset:2px}

.users-search label,.users-duration label{display:grid;gap:8px;font-size:.8rem;font-weight:600;margin:0;min-width:0}
.users-search label{flex:1}.users-search input,.users-duration input{height:44px;width:100%;min-width:0;padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font:inherit}
.users-search .button,.users-selection .button{height:44px;min-height:44px;margin:0;padding:8px 14px;white-space:nowrap;font-size:.8rem}
.users-selection{display:flex;align-items:center;gap:10px;min-height:44px}
.users-selection span{font-size:.78rem;color:var(--muted);white-space:nowrap}
.users-duration{flex:0 0 170px}
.feature-matrix-wrap,.order-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;background:var(--surface);width:100%;margin-block:16px}
.feature-matrix-wrap{max-height:72vh}
.feature-matrix{width:100%;min-width:1040px;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:.74rem}
.feature-matrix th,.feature-matrix td{padding:8px 5px;text-align:center;vertical-align:top;border-inline-end:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface)}
.feature-matrix th:last-child,.feature-matrix td:last-child{border-inline-end:0}.feature-matrix tbody tr:last-child td{border-bottom:0}
.feature-matrix thead th{position:sticky;top:0;z-index:3;background:var(--surface);box-shadow:0 1px var(--line)}
.feature-matrix th:first-child,.feature-matrix td:first-child{position:sticky;inset-inline-start:0;z-index:2;text-align:start;width:170px;min-width:170px}
.feature-matrix thead th:first-child{z-index:4}
.feature-matrix th{font-size:.73rem;white-space:nowrap;line-height:1.6}.feature-matrix th.capacity-column{width:108px}.capacity-legend{display:block;font-size:.6rem;font-weight:500;color:var(--muted);line-height:1.8;white-space:nowrap;margin-top:3px}.feature-capacity{display:block;font-size:.63rem;color:var(--muted);margin-top:6px;white-space:nowrap;line-height:1.5;direction:ltr;font-variant-numeric:tabular-nums}.capacity-summary{display:flex;direction:rtl;justify-content:center;align-items:center;gap:4px}.capacity-divider{color:var(--muted)}.capacity-controls{display:flex;align-items:center;justify-content:center;gap:4px}.feature-matrix .capacity-step{display:inline-flex;align-items:center;justify-content:center;flex:0 0 24px;width:24px;height:26px;min-height:26px;padding:0;font-family:inherit;font-size:1rem;font-weight:600;line-height:1;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--blue-strong);cursor:pointer}.capacity-step:disabled{opacity:.4;cursor:default}.capacity-step:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.capacity-step:not(:disabled):hover{background:color-mix(in srgb,var(--blue) 8%,var(--surface))}
.feature-matrix .matrix-orders{min-height:32px;padding:4px 6px;font-size:.72rem;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--blue-strong);cursor:pointer}
.feature-matrix td:first-child>input{width:16px;height:16px;margin-inline-end:8px;accent-color:var(--blue)}
.feature-matrix .user-name{min-height:0;font:inherit;line-height:1.5;font-weight:700;font-size:.85rem;color:var(--blue-strong);border:0;background:transparent;padding:0;cursor:pointer}
.feature-matrix td:first-child small{display:block;line-height:1.5;padding-inline-start:26px;color:var(--muted);font-size:.76rem;direction:ltr;text-align:end}
.feature-matrix tbody tr:hover td{background:color-mix(in srgb,var(--blue) 4%,var(--surface))}
input.feature-toggle{appearance:none;display:inline-block;width:38px;height:22px;min-height:22px;margin:0;padding:0;border-radius:20px;background:var(--line);position:relative;cursor:pointer;vertical-align:middle;border:1px solid var(--muted);transition:background .15s;flex-shrink:0}
input.feature-toggle:before{content:'';position:absolute;width:16px;height:16px;left:2px;top:2px;border-radius:50%;background:var(--surface);transition:transform .15s}
input.feature-toggle:checked{background:#197953;border-color:#197953}input.feature-toggle:checked:before{transform:translateX(16px);background:#fff}
input.feature-toggle:disabled{opacity:.5;cursor:default}input.feature-toggle:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.users-pagination{display:flex;gap:12px;align-items:center;justify-content:flex-end;flex-wrap:wrap;margin-top:16px}.users-pagination>span{margin-inline-end:auto;color:var(--muted);font-size:.85rem}
.order-table{width:100%;min-width:820px;border-collapse:collapse;table-layout:auto;background:var(--surface)}
.order-table th,.order-table td{display:table-cell;padding:8px 10px;text-align:center;vertical-align:middle;border:1px solid var(--line);white-space:nowrap;font-size:.82rem}
.order-table th{font-size:.8rem;font-weight:700;color:var(--muted);background:var(--surface)}
.order-table td small{display:block;color:var(--muted);margin-top:3px;direction:ltr;text-align:center}
.order-table .order-table-code{font:inherit;font-size:.78rem;color:var(--blue-strong);direction:ltr;text-align:center}
.order-table-items{white-space:normal!important;min-width:130px;max-width:230px;line-height:1.8}
.order-table tr:hover td{background:color-mix(in srgb,var(--blue) 4%,var(--surface))}
.order-table .button{width:36px;display:inline-flex;align-items:center;justify-content:center;min-height:36px;height:36px;margin:0;padding:6px 10px;font-size:.76rem}
.product-editor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.product-editor{display:grid;grid-template-rows:auto auto auto auto auto 1fr;align-content:start;gap:16px;min-width:0;padding:24px;margin:0;border:1px solid var(--line);border-radius:18px;background:var(--surface)}
.product-editor h3{font-size:1rem;line-height:1.7;margin:0;color:var(--ink)}.product-editor p{margin:0;font-size:.8rem;color:var(--muted)}
.product-editor label{display:grid;gap:8px;font-size:.8rem;font-weight:600;margin:0;color:var(--ink);min-width:0}
.product-editor input:not([type=checkbox]){display:block;width:100%;box-sizing:border-box;height:46px;min-height:46px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font:inherit;outline-offset:2px}
.product-editor input[type=number]{direction:ltr;text-align:end;font-variant-numeric:tabular-nums}
.product-editor label:has([role=switch]){display:flex;align-items:center;justify-content:space-between;padding-block:10px;border-block:1px solid var(--line)}
.product-editor .button{width:100%;min-height:44px;margin:0;align-self:end}.product-editor .panel-feedback{font-size:.8rem}
.panel-tabs .service-shortcut{background:transparent;border:0;border-radius:8px;padding:12px 16px;margin:0;font:inherit;box-shadow:none}.panel-tabs .service-shortcut strong{font:inherit}.panel-tabs .service-shortcut span:last-child{display:none}
.panel-header .header-actions,.admin-header .header-actions,.header-actions.portal-header-actions{display:flex;align-items:center;gap:14px}.header-account-slot{min-width:110px;display:inline-flex}.header-account-slot [hidden]{display:inline!important;visibility:hidden}body:not(.admin-open) #admin-logout,body:has(#panel-app[hidden]) #panel-logout{visibility:hidden}.header-actions .icon-button:not(.header-account.is-signed-in){flex:0 0 44px;margin:0}.header-actions .panel-site-link{white-space:nowrap}
.panel-feedback:empty{display:none}
.access-summary-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:16px}.access-summary-card small{grid-column:1/-1;color:var(--muted)}.access-summary-card strong{font-size:.9rem}.access-summary-card .ticket-status{font-size:.75rem}
@media(min-width:1600px){.content-text-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:1200px){.users-toolbar{gap:12px}.users-selection{flex:1 1 auto}.product-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-text-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.panel-card.ticket-card{grid-template-columns:20px minmax(0,1fr) auto}.ticket-title{grid-column:2;grid-row:1}.ticket-meta{grid-column:2;grid-row:2}.ticket-date{grid-column:2;grid-row:3}.ticket-card>.ticket-status{grid-column:3;grid-row:1}.ticket-card-actions{grid-column:3;grid-row:2/span 2}}
@media(max-width:650px){.product-editor-grid,.content-previews{grid-template-columns:1fr}.product-editor{padding:20px}.content-text-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.content-text-card{font-size:.82rem;padding:12px}.admin-toolbar{display:grid;grid-template-columns:1fr}.admin-toolbar>*{width:100%;min-width:0}.users-toolbar{display:grid;grid-template-columns:1fr}.users-search{width:100%}.users-duration{width:100%}.users-filter{width:100%}.users-selection{flex-wrap:wrap;justify-content:space-between}.ticket-title{grid-column:2/-1}.ticket-meta{grid-column:2/-1}.ticket-card>.ticket-status{grid-column:3;grid-row:3;font-size:.7rem}.ticket-card-actions{grid-column:2/-1;grid-row:4}.ticket-filters label{flex-basis:100%}.ticket-filters>.button{width:100%}.ticket-actions{gap:8px}.ticket-actions>.button{font-size:.8rem}.header-actions{gap:8px}.header-actions a{font-size:.75rem}.header-account-slot{min-width:0}.header-actions .icon-button{height:38px}.header-actions .icon-button:not(.header-account.is-signed-in){flex-basis:38px;width:38px}}
@media(max-width:380px){.content-text-grid{grid-template-columns:1fr}}

.audit-filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}.audit-filters label{display:grid;gap:6px;flex:0 1 240px}.audit-filters input,.audit-filters select{height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font:inherit}.audit-table td:last-child{text-align:start;min-width:230px;white-space:normal}.audit-table td{vertical-align:top;padding:9px 10px}.audit-table th{white-space:nowrap}

/* SMS queue: metadata and diagnostics use the existing panel surface. */
#admin-sms{display:grid;gap:16px}#admin-sms .panel-card-head{margin-bottom:12px}.sms-job-meta{display:flex;flex-wrap:wrap;gap:8px 20px;color:var(--muted)}#admin-sms details{margin-top:12px}#admin-sms summary{cursor:pointer;font-weight:600}#admin-sms details p{overflow-wrap:anywhere}

.sms-status-failed{color:var(--ui-danger);border-color:currentColor}

/* Release management uses the shared form, dialog and panel tokens. */
#admin-releases{display:grid;gap:18px}#admin-releases .button-danger{color:var(--ui-danger);border-color:currentColor;background:transparent}#admin-releases .button-danger:hover{background:color-mix(in srgb,currentColor 8%,transparent)}.release-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.release-editor>*{grid-column:1/-1}.release-editor>label:nth-child(-n+2){grid-column:auto}.release-editor label{display:grid;gap:8px}.release-editor input:not([type=checkbox]),.release-editor textarea{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font:inherit}.release-editor textarea{min-height:132px;line-height:1.9;resize:vertical}.release-editor label:has(input[type=checkbox]){display:flex;align-items:center;justify-content:space-between}.release-editor progress{width:100%;accent-color:var(--blue)}.release-editor p:empty{display:none}

.release-file{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:12px}.release-file strong{font-size:.875rem}.release-file small{grid-column:1/-1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}@media(max-width:480px){.release-file{grid-template-columns:1fr}.release-file .button{justify-self:start}}
