/* Looyino V4.4.1 — icon/button/layout audit. Loaded after v44-command.css. */
:root{--v441-gap:18px;--v441-card-pad:20px;--v441-control-h:42px}

/* 1) SVG/icon contract: SVG itself is never a badge/circle. Containers own shape. */
svg.ui-icon{display:block!important;width:18px;height:18px;min-width:18px;min-height:18px;max-width:none;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;padding:0!important;overflow:visible;transform:none}
.ui-icon path,.ui-icon circle,.ui-icon rect,.ui-icon line,.ui-icon polyline,.ui-icon polygon{vector-effect:non-scaling-stroke}
button>.ui-icon,a>.ui-icon,label>.ui-icon,.btn>.ui-icon{flex:0 0 auto}
.v43-section-head .ui-icon,.v43-page-actions .ui-icon,.v43-card-foot .ui-icon,.v43-dialog .ui-icon,.v43-table .ui-icon{border-radius:0!important;background:none!important}

/* 2) One button language across the whole new frontend. */
.btn,.v43-icon-btn,.v43-foot-actions button,.v43-auth-lang button{appearance:none;-webkit-appearance:none;isolation:isolate;position:relative;white-space:nowrap}
.btn{min-height:var(--v441-control-h);height:auto;padding:10px 15px;border-radius:12px;font-size:9px;line-height:1;gap:8px}
.btn.small{min-height:34px;height:auto;padding:8px 11px;font-size:8px;border-radius:10px}
.btn.wide{width:100%}
.btn.icon,.v43-icon-btn{width:40px;height:40px;min-width:40px;min-height:40px;padding:0;border-radius:12px;display:inline-grid;place-items:center}
.btn.icon .ui-icon,.v43-icon-btn .ui-icon{width:17px;height:17px;min-width:17px;min-height:17px}
.btn.icon:empty{display:none}
.btn:disabled,.v43-icon-btn:disabled{cursor:not-allowed;opacity:.48;transform:none!important;filter:none!important}
.btn:focus-visible,.v43-icon-btn:focus-visible,.v43-nav a:focus-visible,.v43-mobile-tabs a:focus-visible,.v43-sheet-grid a:focus-visible{outline:2px solid color-mix(in srgb,var(--cyan) 70%,white);outline-offset:2px}

/* True badges/status indicators may be rounded; action icons must not turn into status dots. */
.v43-live-dot,.v43-alert-dot,.v431-toggle-ui:after{border-radius:999px!important}
.metric-icon,.v43-section-icon,.nav-icon,.toast-icon,.v43-fact>span:first-child{border-radius:11px}
.metric-icon>.ui-icon,.v43-section-icon>.ui-icon,.nav-icon>.ui-icon,.toast-icon>.ui-icon,.v43-fact>span:first-child>.ui-icon{border-radius:0!important}

/* 3) Global page geometry. Prevents cramped/overlapping desktop layouts. */
.v43-content,.v43-page-wrap,.panel,.v43-panel,.v43-card,.metric-card,
.v43-grid-2,.v43-grid-3,.v43-grid-4,.v43-kpis,.v43-health-grid,.v43-catalog-grid,
.v43-detail-grid,.v43-ticket-layout,.v43-order-engine,.v43-aside-stack,
.v431-service-grid,.v431-settings-layout,.v44-report-shell,.v44-report-results{min-width:0}
.v43-page-wrap{max-width:1740px;padding:30px clamp(24px,2.5vw,44px) 96px}
.v43-page-head{gap:28px;margin-bottom:26px;align-items:flex-end}
.v43-page-head>div:first-child{min-width:0;flex:1}.v43-page-head h1{font-size:clamp(23px,2vw,30px)}.v43-page-head p{max-width:820px;font-size:9px}
.v43-page-actions{gap:10px;flex-shrink:0}
.panel,.v43-panel,.v43-card{padding:22px}
.v43-kpis,.v43-health-grid,.v43-grid-4,.v43-grid-3,.v43-grid-2,.v43-catalog-grid{gap:var(--v441-gap)}
.form-grid,.v43-filter-grid{gap:15px}
.modern-form{gap:14px}
.modern-form>label,.form-grid>label{display:grid;gap:7px}
.modern-form input,.modern-form textarea,.modern-form select,.form-grid input,.form-grid textarea,.form-grid select{min-width:0;width:100%}

/* Order engine: give the form space; stack before it gets cramped. */
.v43-order-engine{grid-template-columns:minmax(0,1.55fr) minmax(310px,.55fr);gap:22px;align-items:start}
.v43-aside-stack{gap:16px}.v43-stepper{margin-bottom:21px}.v43-price-review{margin-block:17px}
.v43-facts{gap:10px}.v43-fact{min-width:0}

/* Tables and result regions never force the page wider than viewport. */
.v43-table-wrap,.responsive-table{max-width:100%;min-width:0;overflow:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.v43-table{width:100%}.v43-table th,.v43-table td{vertical-align:middle}
.v43-table td .btn,.v43-table td .v43-icon-btn{margin:2px}

/* Dialog/editor UX */
.v43-dialog{width:min(760px,calc(100vw - 34px));border-radius:22px}
.v43-dialog-head{padding:18px 20px}.v43-dialog-body{padding:20px}.v43-dialog-foot{padding:14px 20px;gap:9px}
.v43-dialog-foot .btn{min-width:105px}
.v43-select-portal{z-index:2147483000!important}

/* Service report keeps a simple visual hierarchy. */
.v44-report-shell{display:grid;gap:18px}.v44-report-filter{padding:22px}.v44-report-filter-head{gap:18px}
.v44-report-core-grid{gap:14px}.v44-report-status-row{gap:14px}.v44-status-chips{gap:7px}
.v44-report-summary{gap:14px}.v44-report-results{display:grid;gap:18px}
.v44-service-chooser{margin-top:14px}.v44-service-chooser summary{min-height:54px}

/* Cards/actions keep breathing room. */
.v431-service-card,.v43-order-card,.v43-user-card,.v43-provider-card,.v43-ticket-item{min-width:0}
.v431-service-card-foot,.v43-card-foot,.v43-provider-actions,.v43-order-actions{gap:9px;flex-wrap:wrap}
.v431-service-card-foot .btn,.v43-card-foot .btn{max-width:100%}

/* Mobile top actions: language + theme are always visible and square. */
.v44-mobile-top-actions{gap:7px}.v44-mobile-top-actions form{margin:0}.v44-mobile-language{position:relative}
.v44-mobile-language b{position:absolute;top:-5px;inset-inline-end:-5px;min-width:18px;height:17px;padding:0 4px;border-radius:6px;background:var(--blue);color:#fff;border:2px solid var(--surfaceSolid);display:grid;place-items:center;font-size:6px;line-height:1}

/* Light mode: clean neutral controls, same geometry as dark. */
html[data-theme="light"] .v43-icon-btn,html[data-theme="light"] .btn.secondary,html[data-theme="light"] .btn.ghost{background:#fff;border-color:#d7e1ee;color:#344054;box-shadow:0 4px 14px rgba(39,65,105,.05)}
html[data-theme="light"] .v43-icon-btn:hover,html[data-theme="light"] .btn.secondary:hover,html[data-theme="light"] .btn.ghost:hover{background:#f7f9fc;border-color:#bdcbe0}

/* Medium desktop / small laptop audit. */
@media (max-width:1440px) and (min-width:1181px){
 :root{--sidebar:264px;--v441-gap:15px;--v441-card-pad:18px}
 .v43-page-wrap{padding-inline:24px}.v43-page-head{gap:20px}.panel,.v43-panel,.v43-card{padding:19px}
 .v431-service-grid,.v43-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .v43-kpis,.v43-health-grid,.v43-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* At this width the sidebar + two-column page was the source of squeezed forms. */
@media (max-width:1180px) and (min-width:981px){
 :root{--sidebar:250px}
 .v43-page-wrap{padding:24px 20px 86px}
 .v43-order-engine,.v43-detail-grid,.v43-ticket-layout,.v43-hero-grid,.v43-grid-2{grid-template-columns:1fr!important}
 .v43-aside-stack{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 .v431-service-grid,.v43-catalog-grid,.v43-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .v43-page-head{align-items:flex-start}.v43-page-actions{max-width:48%;justify-content:flex-end}
}

/* Tablet/mobile: reflow rather than shrink desktop UI. */
@media (max-width:980px){
 .v43-page-wrap{padding:20px 14px calc(104px + env(safe-area-inset-bottom))}
 .v43-page-head{align-items:flex-start;flex-direction:column;gap:13px;margin-bottom:18px}
 .v43-page-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.v43-page-actions>:only-child{grid-column:1/-1}
 .panel,.v43-panel,.v43-card{padding:17px}
 .v43-order-engine,.v43-detail-grid,.v43-ticket-layout,.v43-grid-2,.v43-hero-grid{grid-template-columns:1fr!important}
 .v43-aside-stack{grid-template-columns:1fr 1fr;gap:12px}
 .v431-service-grid,.v43-catalog-grid,.v43-grid-3{grid-template-columns:1fr!important}
 .v43-kpis,.v43-health-grid,.v43-grid-4,.v44-report-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .v43-dialog{left:10px!important;right:10px!important;bottom:10px!important;top:auto!important;width:auto!important;max-height:88dvh;border-radius:22px}
 .v43-dialog-body{padding:17px}.v43-dialog-foot{position:sticky;bottom:0;background:var(--surfaceSolid);padding:12px 16px;display:grid;grid-template-columns:1fr 1fr}
 .v43-dialog-foot .btn{width:100%;min-width:0}
 .v43-select-portal{left:10px!important;right:10px!important;bottom:10px!important;top:auto!important;width:auto!important;max-height:72dvh!important}
 .btn,.v43-icon-btn{min-height:42px}
}

@media (max-width:760px){
 .v43-page-wrap{padding-inline:11px}.v43-page-head h1{font-size:21px}.v43-page-head p{font-size:8px;line-height:1.9}
 .v43-page-actions{grid-template-columns:1fr 1fr}.v43-page-actions .btn{width:100%}
 .panel,.v43-panel,.v43-card,.metric-card{border-radius:16px}
 .form-grid,.form-grid.two,.form-grid.three,.v43-filter-grid,.v431-settings-grid,.v431-access-grid,.v431-payment-rules,.v431-tier-grid{grid-template-columns:1fr!important}
 .v43-aside-stack{grid-template-columns:1fr}
 .v43-kpis,.v43-health-grid,.v43-grid-4,.v44-report-summary{grid-template-columns:1fr!important}
 .v43-facts,.v43-card-stats,.v43-stat-strip{grid-template-columns:1fr!important}
 .v43-stepper{gap:4px;overflow:hidden}.v43-step span{font-size:6px}.v43-step b{width:24px;height:24px;flex:0 0 auto}
 .v44-report-filter{padding:16px}.v44-report-filter-head{align-items:flex-start;flex-direction:column}.v44-report-head-actions{width:100%;display:flex;justify-content:space-between;gap:8px}
 .v44-report-core-grid{grid-template-columns:1fr!important}.v44-report-status-row{align-items:flex-start;flex-direction:column}.v44-status-chips{width:100%}
 .v44-report-actions{align-items:stretch;flex-direction:column}.v44-report-actions .btn{width:100%}
 .v43-table-wrap{overflow:visible!important}.v43-table{min-width:0!important}
 .v43-table thead{display:none}.v43-table tbody{display:grid;gap:10px}.v43-table tr{display:grid!important;grid-template-columns:1fr 1fr;gap:8px;padding:13px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--softShadow)}
 .v43-table td{display:flex!important;min-width:0;align-items:center;justify-content:space-between;gap:8px;border:0!important;padding:4px 0!important;overflow-wrap:anywhere}.v43-table td:first-child{grid-column:1/-1}.v43-table td:last-child{justify-content:flex-end}
 .v43-mobile-tabs{bottom:max(9px,env(safe-area-inset-bottom));left:8px;right:8px}
 .v43-sheet-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.v43-sheet-grid a{min-height:82px}
}

@media (max-width:520px){
 .v43-page-wrap{padding-inline:9px}.v43-page-actions{grid-template-columns:1fr}
 .panel,.v43-panel,.v43-card{padding:15px}.metric-card{padding:15px!important}
 .v43-table tr{grid-template-columns:1fr}.v43-table td:first-child{grid-column:auto}.v43-table td{align-items:flex-start}
 .v43-dialog-foot{grid-template-columns:1fr}.v43-dialog-foot .btn{min-height:44px}
 .v43-sheet-grid{grid-template-columns:1fr 1fr}.v43-mobile-tabs span{font-size:7px}
 .v44-mobile-top-actions .v43-icon-btn{width:39px;height:39px;min-width:39px}
}
