:root {
    --as-ink: #121a2b;
    --as-muted: #687386;
    --as-line: #e5e9f0;
    --as-surface: #ffffff;
    --as-soft: #f5f7fa;
    --as-orange: #f36d21;
    --as-orange-dark: #d9530d;
    --as-blue: #2563eb;
    --as-green: #109d72;
    --as-radius: 20px;
    --as-shadow: 0 20px 55px rgba(15, 23, 42, .08);
}

* { box-sizing: border-box; }
html { color-scheme: light; scroll-behavior: smooth; }
body { margin: 0; color: var(--as-ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; -webkit-font-smoothing: antialiased; }
a { color: inherit; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
.app-user-text { white-space: pre-wrap; overflow-wrap: anywhere; word-break: break-word; tab-size: 4; }

.as-skip-link { position: fixed; top: 10px; left: 10px; z-index: 1000; padding: 10px 14px; border-radius: 10px; background: #fff; color: #111827; transform: translateY(-150%); transition: transform .2s; }
.as-skip-link:focus { transform: translateY(0); }

.as-app-body { min-height: 100vh; background: #f5f6f8; }
.as-app-shell { min-height: 100vh; display: grid; grid-template-columns: 260px minmax(0, 1fr); }
.as-sidebar { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; padding: 28px 20px 22px; background: #111827; color: #fff; overflow-y: auto; }
.as-brand { display: inline-flex; align-items: center; gap: 12px; color: inherit; text-decoration: none; }
.as-brand-mark { width: 42px; height: 42px; display: inline-grid; place-items: center; border-radius: 13px; background: linear-gradient(145deg, #ff8a45, var(--as-orange)); color: #fff; font-size: 20px; font-weight: 900; box-shadow: 0 12px 24px rgba(243, 109, 33, .28); }
.as-sidebar-logo-mark { position: relative; width: 44px; height: 44px; display: block; flex: 0 0 auto; overflow: hidden; border-radius: 13px; background: #fff7f1; box-shadow: 0 12px 24px rgba(0, 0, 0, .2); }
.as-sidebar-logo-mark img { position: absolute; inset: 5px; width: 34px; height: 34px; object-fit: contain; }
.as-brand strong, .as-brand small { display: block; }
.as-brand strong { font-size: 17px; line-height: 1.15; letter-spacing: .01em; }
.as-brand small { margin-top: 3px; color: #9fa9ba; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.as-brand-light small { color: rgba(255,255,255,.6); }

.as-nav { display: flex; flex-direction: column; gap: 7px; margin-top: 48px; }
.as-nav-link { min-height: 48px; display: flex; align-items: center; gap: 13px; padding: 0 13px; border: 1px solid transparent; border-radius: 14px; color: #aeb7c5; text-decoration: none; font-size: 14px; font-weight: 650; transition: .18s ease; }
.as-nav-link i { width: 21px; color: #7f8a9e; font-size: 18px; text-align: center; }
.as-nav-link span { flex: 1; }
.as-nav-link small { padding: 3px 6px; border-radius: 999px; background: rgba(255,255,255,.07); color: #7f8a9e; font-size: 9px; text-transform: uppercase; }
.as-nav-count { min-width: 22px; height: 22px; display: grid; place-items: center; padding: 0 6px; border-radius: 999px; background: #d97706; color: #fff; font-size: 10px; font-weight: 900; box-shadow: 0 5px 13px rgba(217,119,6,.25); }
.as-nav-link:hover, .as-nav-link:focus-visible, .as-nav-link.is-active { background: rgba(255,255,255,.075); border-color: rgba(255,255,255,.07); color: #fff; outline: none; }
.as-nav-link.is-active i { color: var(--as-orange); }
.as-nav-link.is-disabled { cursor: default; opacity: .7; }
.as-sidebar-footer { display: flex; flex-direction: column; gap: 13px; margin-top: auto; padding-top: 28px; }
.as-sidebar-signature { display: block; padding: 10px 9px; overflow: hidden; border: 1px solid rgba(255,255,255,.1); border-radius: 14px; background: #111827; box-shadow: 0 10px 24px rgba(0,0,0,.18); line-height: 0; transition: border-color .18s, transform .18s, box-shadow .18s; }
.as-sidebar-signature img { display: block; width: 100%; height: auto; }
.as-sidebar-signature:hover,.as-sidebar-signature:focus-visible { border-color: rgba(243,109,33,.58); box-shadow: 0 14px 30px rgba(0,0,0,.25); transform: translateY(-2px); outline: none; }
.as-sidebar-trust { display: flex; gap: 11px; padding: 15px; border: 1px solid rgba(255,255,255,.08); border-radius: 16px; background: rgba(255,255,255,.04); }
.as-trust-icon { width: 34px; height: 34px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 10px; background: rgba(16,185,129,.13); color: #65d8b3; }
.as-sidebar-trust strong, .as-sidebar-trust small { display: block; }
.as-sidebar-trust strong { margin-bottom: 4px; font-size: 12px; }
.as-sidebar-trust small { color: #8f9aad; font-size: 10px; line-height: 1.45; }

.as-main-column { min-width: 0; min-height: 100vh; display: flex; flex-direction: column; }
.as-topbar { height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 0 36px; border-bottom: 1px solid var(--as-line); background: rgba(255,255,255,.9); backdrop-filter: blur(12px); }
.as-topbar-brand { width: clamp(230px, 25vw, 280px); display: block; flex: 0 1 auto; line-height: 0; border-radius: 8px; }
.as-topbar-brand img { display: block; width: 100%; height: auto; }
.as-topbar-brand:focus-visible { outline: 3px solid var(--as-orange); outline-offset: 4px; }
.as-topbar-actions { display: flex; align-items: center; gap: 12px; }
.as-icon-button { position: relative; width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--as-line); border-radius: 13px; background: #fff; color: #485469; text-decoration: none; transition: border-color .18s, color .18s, background .18s, box-shadow .18s, transform .18s; }
.as-icon-button:hover, .as-icon-button:focus-visible { border-color: #f0c8b2; background: #fff8f4; color: var(--as-orange-dark); box-shadow: 0 8px 20px rgba(15,23,42,.07); transform: translateY(-1px); outline: 3px solid rgba(243,109,33,.12); }
.as-notification-badge { position: absolute; z-index: 2; top: -8px; right: -8px; min-width: 23px; height: 23px; display: grid; place-items: center; padding: 0 5px; border: 2.5px solid #fff; border-radius: 999px; background: #d95817; color: #fff; box-shadow: 0 4px 10px rgba(185,73,18,.32); font-size: 10.5px; font-weight: 900; line-height: 1; font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
.as-user-menu { position: relative; min-width: 0; display: flex; align-items: center; gap: 13px; padding: 8px 7px 8px 9px; overflow: hidden; border: 1px solid #dfe4ea; border-radius: 17px; background: linear-gradient(145deg,#fff,#f9fafc); box-shadow: 0 9px 25px rgba(15,23,42,.07); }
.as-user-menu::before { content: ''; position: absolute; top: 11px; bottom: 11px; left: 0; width: 3px; border-radius: 0 3px 3px 0; background: linear-gradient(#e77a37,#b65218); }
.as-user-avatar-wrap { position: relative; display: inline-flex; flex: 0 0 auto; }
.as-user-avatar { width: 46px; height: 46px; display: inline-grid; place-items: center; flex: 0 0 auto; border: 1px solid rgba(255,255,255,.22); border-radius: 13px; background: linear-gradient(145deg,#d56c28,#a94715); color: #fff; font-size: 13px; font-weight: 850; letter-spacing: .035em; box-shadow: 0 7px 15px rgba(185,82,24,.24); }
.as-user-status-dot { position: absolute; right: -2px; bottom: -2px; width: 10px; height: 10px; border: 2px solid #fff; border-radius: 50%; background: #1db77f; box-shadow: 0 2px 5px rgba(16,157,114,.24); }
.as-user-copy { min-width: 0; display: flex; align-items: flex-start; flex-direction: column; gap: 4px; padding: 1px 6px 1px 0; }
.as-user-copy strong,.as-user-partner,.as-user-role { max-width: 210px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.as-user-copy strong { display: block; color: #222d40; font-size: 13px; line-height: 1.2; }
.as-user-partner { display: flex; align-items: center; gap: 6px; color: #667287; font-size: 10.5px; font-weight: 700; line-height: 1.25; }
.as-user-partner i { flex: 0 0 auto; color: #c15c22; font-size: 10px; }
.as-user-role { display: inline-flex; align-items: center; gap: 5px; padding: 3px 7px; border-radius: 999px; background: #fff0e7; color: #a84b18; font-size: 9px; font-weight: 850; line-height: 1.2; letter-spacing: .025em; }
.as-user-role i { flex: 0 0 auto; font-size: 8px; }
.as-logout-link { width: 42px; height: 50px; display: grid; place-items: center; flex: 0 0 auto; margin-left: 1px; border-left: 1px solid #e4e8ed; border-radius: 0 12px 12px 0; color: #7e899a; font-size: 17px; text-decoration: none; transition: color .18s, background .18s; }
.as-logout-link:hover, .as-logout-link:focus-visible { background: #fff0eb; color: #cf4d2c; outline: none; }
.as-mobile-profile { display: none; }
.as-main { width: min(1240px, 100%); flex: 1; margin: 0 auto; padding: 36px; }

.as-kicker { display: inline-flex; align-items: center; gap: 7px; color: var(--as-orange-dark); font-size: 10px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.as-kicker-dark { color: #ff9a60; }
.as-page-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 27px; }
.as-page-heading h1 { margin: 8px 0 5px; font-size: clamp(28px, 4vw, 38px); line-height: 1.15; letter-spacing: -.045em; }
.as-page-heading p { margin: 0; color: var(--as-muted); font-size: 14px; }
.as-page-heading-inline { align-items: center; }
.as-date-chip, .as-soft-badge, .as-role-badge { display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--as-line); border-radius: 999px; background: #fff; color: #677286; font-size: 11px; font-weight: 700; white-space: nowrap; }
.as-date-chip { padding: 10px 14px; }
.as-soft-badge { padding: 6px 10px; background: #f8fafc; font-size: 9px; letter-spacing: .04em; text-transform: uppercase; }
.as-role-badge { padding: 6px 10px; color: #4d5a70; font-size: 9px; }

.as-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin: 41px 0 17px; }
.as-section-heading h2 { margin: 6px 0 0; font-size: 23px; letter-spacing: -.03em; }
.as-module-icon { width: 47px; height: 47px; display: grid; place-items: center; border-radius: 14px; font-size: 20px; }
.as-module-icon-orange { background: #fff0e7; color: var(--as-orange-dark); }
.as-module-icon-blue { background: #eaf1ff; color: var(--as-blue); }
.as-module-icon-green { background: #e7f7f1; color: var(--as-green); }
.as-partner-list { overflow: hidden; border: 1px solid var(--as-line); border-radius: var(--as-radius); background: #fff; }
.as-partner-row { display: flex; align-items: center; gap: 14px; padding: 16px 20px; border-bottom: 1px solid #edf0f4; }
.as-partner-row:last-child { border-bottom: 0; }
.as-partner-logo { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; background: #f1f3f7; color: #4f5b6f; font-weight: 850; }
.as-partner-row > div { flex: 1; }
.as-partner-row strong, .as-partner-row small { display: block; }
.as-partner-row strong { font-size: 13px; }
.as-partner-row small { margin-top: 4px; color: var(--as-muted); font-size: 10px; }
.as-partner-row-link { color: inherit; text-decoration: none; transition: background .15s; }
.as-partner-row-link:hover, .as-partner-row-link:focus-visible { background: #f9fafb; outline: none; }
.as-status-badge { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border-radius: 999px; font-size: 9px; font-weight: 800; white-space: nowrap; }
.as-status-badge::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.as-status-badge.is-active { background: #eaf8f3; color: #087a57; }
.as-status-badge.is-inactive { background: #f1f3f6; color: #687386; }
.as-status-badge.is-pending { background: #fff4e8; color: #b45309; }

.as-admin-grid, .as-detail-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(320px, .7fr); gap: 18px; }
.as-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.as-admin-card { padding: 27px; border: 1px solid var(--as-line); border-radius: var(--as-radius); background: #fff; box-shadow: 0 11px 32px rgba(15,23,42,.045); }
.as-admin-card-info { background: linear-gradient(145deg, #172238, #111827); color: #fff; }
.as-admin-card-heading { display: flex; align-items: center; gap: 13px; margin-bottom: 17px; }
.as-admin-card-heading h2, .as-admin-card > h2 { margin: 5px 0 0; font-size: 18px; letter-spacing: -.025em; }
.as-admin-card-info > h2 { margin: 18px 0; }
.as-admin-description { margin: 0 0 20px; color: var(--as-muted); font-size: 11px; line-height: 1.65; }
.as-field > input, .as-field > select { width: 100%; height: 49px; padding: 0 14px; border: 1px solid #dbe0e8; border-radius: 13px; background: #fbfcfd; color: var(--as-ink); outline: none; }
.as-field > input:focus, .as-field > select:focus { border-color: var(--as-orange); background: #fff; box-shadow: 0 0 0 4px rgba(243,109,33,.1); }
.as-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
.as-inline-empty { display: flex; align-items: center; gap: 10px; padding: 15px; border-radius: 13px; background: #f0faf6; color: #087a57; font-size: 11px; }
.as-check-list { display: flex; flex-direction: column; gap: 14px; margin: 0; padding: 0; list-style: none; color: #b1bac9; font-size: 11px; }
.as-check-list li { display: flex; align-items: center; gap: 10px; }
.as-check-list i { color: #5dd6ae; font-size: 16px; }
.as-data-panel { overflow: hidden; border: 1px solid var(--as-line); border-radius: var(--as-radius); background: #fff; box-shadow: 0 11px 32px rgba(15,23,42,.045); }
.as-partner-hero { display: flex; align-items: center; gap: 18px; margin: 13px 0 24px; padding: 27px; border-radius: 22px; background: linear-gradient(135deg, #172238, #111827); color: #fff; box-shadow: 0 18px 40px rgba(15,23,42,.17); }
.as-partner-hero-logo { width: 64px; height: 64px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 19px; background: var(--as-orange); font-size: 25px; font-weight: 900; box-shadow: 0 12px 25px rgba(243,109,33,.25); }
.as-partner-hero-copy { flex: 1; }
.as-partner-hero-copy h1 { margin: 5px 0; font-size: 28px; letter-spacing: -.035em; }
.as-partner-hero-copy p { margin: 0; color: #a9b3c3; font-size: 11px; }
.as-detail-list { margin: 0 0 22px; }
.as-detail-list > div { display: grid; grid-template-columns: 100px 1fr; gap: 12px; padding: 11px 0; border-bottom: 1px solid #edf0f4; }
.as-detail-list dt { color: #8993a3; font-size: 10px; }
.as-detail-list dd { margin: 0; color: #344054; font-size: 11px; font-weight: 650; }
.as-user-list { display: flex; flex-direction: column; }
.as-user-row { display: flex; align-items: center; gap: 13px; padding: 15px 19px; border-bottom: 1px solid #edf0f4; }
.as-user-row:last-child { border-bottom: 0; }
.as-user-row > div { min-width: 0; flex: 1; }
.as-user-row strong, .as-user-row small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.as-user-row strong { font-size: 12px; }
.as-user-row small { margin-top: 3px; color: var(--as-muted); font-size: 9px; }
.as-inline-back-left { display: inline-flex; align-items: center; gap: 7px; margin: 0; text-align: left; }

.as-partner-role-fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.as-partner-role-fieldset legend { margin-bottom: 9px; color: #344054; font-size: 11px; font-weight: 800; }
.as-partner-role-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.as-partner-role-option { position: relative; min-width: 0; display: flex; align-items: center; gap: 10px; padding: 12px; border: 1px solid #dce2ea; border-radius: 13px; background: #fbfcfd; cursor: pointer; transition: border-color .16s ease, background .16s ease, box-shadow .16s ease; }
.as-partner-role-option:hover { border-color: #c3cbd7; background: #fff; }
.as-partner-role-option:has(input:focus-visible) { outline: 2px solid var(--as-orange); outline-offset: 2px; }
.as-partner-role-option:has(input:checked) { border-color: #efab80; background: #fff7f2; box-shadow: 0 0 0 3px rgba(243,109,33,.08); }
.as-partner-role-option > input { position: absolute; opacity: 0; pointer-events: none; }
.as-partner-role-choice-icon { width: 34px; height: 34px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 10px; background: #edf1f5; color: #566273; font-size: 14px; }
.as-partner-role-option:has(input:checked) .as-partner-role-choice-icon { background: var(--as-orange); color: #fff; }
.as-partner-role-option > span:nth-of-type(2) { min-width: 0; flex: 1; }
.as-partner-role-option strong, .as-partner-role-option small { display: block; }
.as-partner-role-option strong { color: #344054; font-size: 11px; }
.as-partner-role-option small { margin-top: 3px; color: #778294; font-size: 9px; line-height: 1.4; }
.as-partner-role-check { flex: 0 0 auto; color: var(--as-orange); font-size: 15px; opacity: 0; transform: scale(.7); transition: opacity .16s ease, transform .16s ease; }
.as-partner-role-option:has(input:checked) .as-partner-role-check { opacity: 1; transform: scale(1); }
.as-partner-team-heading > div { min-width: 0; }
.as-partner-team-heading p { margin: 5px 0 0; color: var(--as-muted); font-size: 12px; }
.as-user-row.is-suspended { background: #fafbfc; }
.as-user-identity { flex: 1 1 220px !important; }
.as-user-identity strong { display: flex; align-items: center; gap: 7px; }
.as-user-identity em { padding: 3px 6px; border-radius: 999px; background: #edf3ff; color: #3764a0; font-size: 8px; font-style: normal; text-transform: uppercase; }
.as-user-access { flex: 0 1 235px !important; }
.as-inline-role-form { display: flex; align-items: center; gap: 7px; }
.as-inline-role-form select { min-width: 0; height: 36px; flex: 1; padding: 0 29px 0 10px; border: 1px solid #dce2ea; border-radius: 10px; background: #fff; color: #4d5a70; font: inherit; font-size: 10px; font-weight: 750; outline: none; }
.as-inline-role-form select:focus { border-color: var(--as-orange); box-shadow: 0 0 0 3px rgba(243,109,33,.09); }
.as-inline-role-form button { height: 36px; display: inline-flex; align-items: center; gap: 5px; padding: 0 10px; border: 0; border-radius: 10px; background: #202b40; color: #fff; font: inherit; font-size: 9px; font-weight: 800; cursor: pointer; }
.as-user-actions { display: flex; align-items: center; justify-content: flex-end; flex: 0 0 auto !important; gap: 8px; flex-wrap: wrap; }
.as-user-actions > form { margin: 0; }
.as-member-action { height: 36px; display: inline-flex; align-items: center; gap: 6px; padding: 0 11px; border: 1px solid; border-radius: 10px; background: #fff; font: inherit; font-size: 9px; font-weight: 800; cursor: pointer; }
.as-member-action.is-danger { border-color: #efc5c2; color: #b03b35; }
.as-member-action.is-danger:hover { background: #fff4f3; }
.as-member-action.is-success { border-color: #b8e2d3; color: #087552; }
.as-member-action.is-success:hover { background: #effbf7; }
.as-member-action.is-permission { border-color: #cddcf4; color: #3769a8; text-decoration: none; }
.as-member-action.is-permission:hover { background: #eff5ff; color: #28558f; }
.as-self-management-note { display: inline-flex; align-items: center; gap: 6px; color: #778294; font-size: 9px; font-weight: 700; }
.as-confirm-dialog { width: min(500px, calc(100% - 28px)); max-width: none; padding: 0; overflow: hidden; border: 1px solid #dce2ea; border-radius: 21px; background: #fff; color: var(--as-ink); box-shadow: 0 30px 90px rgba(15,23,42,.28); }
.as-confirm-dialog::backdrop { background: rgba(15,23,42,.58); backdrop-filter: blur(4px); }
.as-confirm-dialog-card { padding: 25px; }
.as-confirm-dialog-heading { display: flex; align-items: flex-start; gap: 13px; }
.as-confirm-dialog-heading > div { min-width: 0; flex: 1; }
.as-confirm-dialog-heading h2 { margin: 5px 0 0; font-size: 19px; line-height: 1.3; letter-spacing: -.025em; }
.as-confirm-dialog-icon { width: 45px; height: 45px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 13px; background: #fff0ef; color: #b03b35; font-size: 18px; }
.as-confirm-dialog[data-tone="success"] .as-confirm-dialog-icon { background: #eaf8f3; color: #087552; }
.as-confirm-dialog-close { width: 34px; height: 34px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 10px; background: #f3f5f7; color: #697586; cursor: pointer; }
.as-confirm-dialog-card > p { margin: 22px 0 0; color: #5f6b7c; font-size: 14px; line-height: 1.65; }
.as-confirm-dialog-note { display: flex; align-items: flex-start; gap: 9px; margin-top: 17px; padding: 12px 13px; border-radius: 11px; background: #f5f7f9; color: #748092; font-size: 11px; line-height: 1.5; }
.as-confirm-dialog-note i { margin-top: 1px; color: var(--as-orange-dark); }
.as-confirm-dialog-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 23px; }
.as-confirm-dialog-actions button { min-height: 42px; padding: 0 16px; border: 1px solid; border-radius: 11px; font: inherit; font-size: 11px; font-weight: 800; cursor: pointer; }
.as-dialog-cancel { border-color: #dce2ea !important; background: #fff; color: #5f6b7c; }
.as-dialog-confirm { border-color: #b03b35 !important; background: #b03b35; color: #fff; }
.as-confirm-dialog[data-tone="success"] .as-dialog-confirm { border-color: #087552 !important; background: #087552; }
.as-dialog-confirm:disabled { cursor: wait; opacity: .7; }

/* Partner management workspace */
.as-partner-management-page .as-kicker { font-size: 11.5px; letter-spacing: .115em; }
.as-partner-management-page .as-inline-back { font-size: 13px; }
.as-partner-management-page .as-partner-hero { margin-bottom: 30px; padding: 30px; }
.as-partner-management-page .as-partner-hero-logo { width: 70px; height: 70px; font-size: 29px; }
.as-partner-management-page .as-partner-hero-copy { min-width: 0; }
.as-partner-management-page .as-partner-hero-copy h1 { margin: 7px 0; font-size: clamp(28px, 3vw, 34px); }
.as-partner-management-page .as-partner-hero-copy p { font-size: 13.5px; line-height: 1.5; }
.as-partner-hero-details { display: flex; align-items: flex-start; flex-direction: column; gap: 10px; margin-top: 11px; }
.as-partner-hero-location { display: inline-flex; align-items: center; gap: 7px; color: #c2cad6; font-size: 13.5px; font-weight: 650; line-height: 1.45; }
.as-partner-hero-location i { color: #ff9a60; }
.as-partner-hero-location em { margin-left: 2px; font-size: 17px; font-style: normal; line-height: 1; }
.as-partner-hero-contact { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.as-partner-hero-contact span, .as-partner-hero-contact a { min-height: 31px; display: inline-flex; align-items: center; gap: 7px; padding: 6px 10px; border: 1px solid rgba(255,255,255,.11); border-radius: 9px; background: rgba(255,255,255,.065); color: #c5ceda; font-size: 11.5px; font-weight: 650; line-height: 1.4; text-decoration: none; overflow-wrap: anywhere; }
.as-partner-hero-contact i { flex: 0 0 auto; color: #ff9a60; }
.as-partner-hero-contact a:hover, .as-partner-hero-contact a:focus-visible { border-color: rgba(255,154,96,.42); background: rgba(243,109,33,.13); color: #fff; outline: none; }
.as-partner-hero-state { min-width: 185px; display: flex; align-items: flex-end; flex: 0 0 auto; flex-direction: column; gap: 10px; margin-left: auto; }
.as-partner-hero-state form { margin: 0; }
.as-partner-account-control { width: min(680px, 100%); min-height: 118px; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 13px; margin: -10px auto 30px; padding: 19px 22px; border: 1px solid; border-radius: 18px; text-align: center; box-shadow: 0 12px 30px rgba(15,23,42,.055); }
.as-partner-account-control.is-danger { border-color: #f0d1ce; background: linear-gradient(135deg, #fffafa, #fff4f3); }
.as-partner-account-control.is-success { border-color: #c9e8dc; background: linear-gradient(135deg, #f8fffc, #effbf7); }
.as-partner-account-control.is-locked { border-color: #e1e5eb; background: linear-gradient(135deg, #fafbfc, #f4f6f8); }
.as-partner-account-control form { flex: 0 0 auto; margin: 0; }
.as-partner-account-control-copy { min-width: 0; text-align: center; }
.as-partner-account-control-copy strong, .as-partner-account-control-copy small { display: block; }
.as-partner-account-control-copy strong { color: #303b4d; font-size: 13.5px; line-height: 1.4; }
.as-partner-account-control-copy small { max-width: 400px; margin-top: 4px; color: #707c8e; font-size: 11.5px; line-height: 1.5; }
.as-partner-account-control-icon { width: 44px; height: 44px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 13px; background: #e8ebef; color: #667284; font-size: 18px; }
.as-partner-status-action { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 0 18px; border: 1px solid; border-radius: 13px; color: #fff; font: inherit; font-size: 12.5px; font-weight: 850; cursor: pointer; box-shadow: 0 9px 20px rgba(15,23,42,.11); transition: box-shadow .17s ease, transform .17s ease; }
.as-partner-status-action.is-danger { border-color: #b9433d; background: #b9433d; }
.as-partner-status-action.is-success { border-color: #087552; background: #087552; }
.as-partner-status-action:hover, .as-partner-status-action:focus-visible { color: #fff; outline: 3px solid rgba(15,23,42,.1); transform: translateY(-1px); box-shadow: 0 12px 24px rgba(15,23,42,.16); }
.as-partner-source-lock { max-width: 230px; display: inline-flex; align-items: flex-start; gap: 7px; color: #ffb7ad; font-size: 10.5px; font-weight: 700; line-height: 1.5; text-align: right; }
.as-partner-source-lock i { flex: 0 0 auto; margin-top: 1px; }
.as-partner-management-page .as-status-badge { padding: 7px 11px; font-size: 11px; }
.as-partner-management-page .as-soft-badge { gap: 7px; padding: 8px 12px; font-size: 10.5px; }
.as-partner-management-page .as-partner-team-heading { align-items: center; margin: 0 0 17px; }
.as-partner-management-page .as-partner-team-heading h2 { margin-top: 7px; font-size: 27px; }
.as-partner-management-page .as-partner-team-heading p { margin-top: 7px; font-size: 14px; line-height: 1.55; }
.as-partner-user-panel { border-color: #dfe4eb; box-shadow: 0 15px 38px rgba(15,23,42,.065); }
.as-partner-management-page .as-user-row { gap: 15px; min-height: 76px; padding: 17px 20px; }
.as-partner-management-page .as-user-avatar { width: 44px; height: 44px; border-radius: 13px; font-size: 13px; }
.as-partner-management-page .as-user-identity { flex-basis: 270px !important; }
.as-user-name-row { min-width: 0; display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.as-partner-management-page .as-user-name-row > strong { min-width: 0; display: block; overflow: hidden; color: #273244; font-size: 15px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.as-partner-management-page .as-user-identity > small { margin-top: 5px; font-size: 12.5px; line-height: 1.4; }
.as-member-role-chip { min-height: 27px; display: inline-flex; align-items: center; gap: 6px; flex: 0 0 auto; padding: 4px 9px; border: 1px solid #ead2c2; border-radius: 999px; background: #fff5ee; color: #a84b17; font-size: 10.5px; font-weight: 800; line-height: 1; white-space: nowrap; }
.as-member-role-chip i { font-size: 11px; }
.as-member-role-chip.is-admin { border-color: #cddcf4; background: #eff5ff; color: #3769a8; }
.as-member-role-chip.is-technician { border-color: #c5e4d9; background: #effaf6; color: #14745a; }
.as-member-role-chip.is-viewer { border-color: #dce1e8; background: #f5f7f9; color: #5d6878; }
.as-partner-management-page .as-user-identity em { padding: 4px 7px; font-size: 9px; }
.as-partner-management-page .as-user-access { flex-basis: 270px !important; }
.as-partner-management-page .as-user-access:empty { display: none; }
.as-partner-management-page .as-inline-role-form select { height: 42px; padding-left: 12px; font-size: 12.5px; }
.as-partner-management-page .as-inline-role-form button { height: 42px; padding: 0 12px; font-size: 11px; }
.as-partner-management-page .as-member-action { height: 42px; padding: 0 13px; font-size: 11px; }
.as-partner-management-page .as-self-management-note { font-size: 11px; }
.as-partner-management-page .as-detail-grid { align-items: start; gap: 22px; margin-top: 25px; }
.as-partner-management-page .as-admin-card { padding: 30px; box-shadow: 0 15px 38px rgba(15,23,42,.055); }
.as-partner-management-page .as-admin-card-heading { gap: 15px; margin-bottom: 20px; }
.as-partner-management-page .as-admin-card-heading h2 { margin-top: 6px; font-size: 22px; }
.as-partner-management-page .as-module-icon { width: 51px; height: 51px; border-radius: 15px; font-size: 21px; }
.as-partner-management-page .as-admin-description { margin-bottom: 22px; font-size: 14px; line-height: 1.65; }
.as-partner-management-page .as-detail-list { margin-bottom: 0; }
.as-partner-management-page .as-detail-list > div { grid-template-columns: 112px minmax(0, 1fr); gap: 16px; padding: 14px 0; }
.as-partner-management-page .as-detail-list dt { font-size: 12.5px; }
.as-partner-management-page .as-detail-list dd { font-size: 14px; line-height: 1.5; }
.as-profile-contact-link { display: inline-flex; align-items: center; gap: 7px; max-width: 100%; color: #38678f; font-weight: 750; text-decoration: none; overflow-wrap: anywhere; }
.as-profile-contact-link i { flex: 0 0 auto; color: var(--as-orange-dark); font-size: 13px; }
.as-profile-contact-link:hover, .as-profile-contact-link:focus-visible { color: var(--as-orange-dark); text-decoration: underline; outline: none; }
.as-partner-management-page .as-field label { font-size: 14px; }
.as-partner-management-page .as-field > input { height: 54px; font-size: 15px; }
.as-partner-management-page .as-partner-role-fieldset legend { margin-bottom: 11px; font-size: 14px; }
.as-partner-management-page .as-partner-role-option { min-height: 83px; padding: 14px; }
.as-partner-management-page .as-partner-role-choice-icon { width: 39px; height: 39px; font-size: 16px; }
.as-partner-management-page .as-partner-role-option strong { font-size: 13.5px; }
.as-partner-management-page .as-partner-role-option small { margin-top: 5px; font-size: 11.5px; line-height: 1.45; white-space: normal; }
.as-partner-management-page .as-primary-button,
.as-partner-management-page .as-secondary-button { font-size: 14px; }
.as-partner-refresh-form { display: flex; justify-content: center; margin-top: 24px; }
.as-partner-profile-note { display: flex; align-items: flex-start; gap: 12px; margin-top: 20px; padding: 16px; border: 1px solid #cfe0f4; border-radius: 15px; background: linear-gradient(135deg, #f3f8ff, #f8fbff); color: #51627a; }
.as-partner-profile-note > span { width: 37px; height: 37px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 11px; background: #e4effd; color: #2f6eb3; font-size: 16px; }
.as-partner-profile-note p { margin: 0; font-size: 13px; line-height: 1.6; }
.as-partner-profile-note strong { color: #31445d; }

/* Partner directory */
.as-partner-index-page { min-width: 0; }
.as-partner-index-hero { position: relative; min-height: 225px; display: flex; align-items: center; justify-content: space-between; gap: 36px; padding: 38px 40px; overflow: hidden; border-radius: 26px; background: linear-gradient(125deg, #151e30 0%, #202c43 72%, #182338 100%); color: #fff; box-shadow: 0 24px 55px rgba(15,23,42,.18); }
.as-partner-index-hero::before { content: ""; position: absolute; top: -155px; right: 9%; width: 370px; height: 370px; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; box-shadow: 0 0 0 48px rgba(255,255,255,.018), 0 0 0 96px rgba(255,255,255,.012); }
.as-partner-index-hero::after { content: ""; position: absolute; right: 28%; bottom: -105px; width: 250px; height: 210px; border-radius: 50%; background: radial-gradient(circle, rgba(243,109,33,.2), transparent 68%); }
.as-partner-index-hero-copy { position: relative; z-index: 1; max-width: 640px; }
.as-partner-index-hero .as-kicker { font-size: 12px; }
.as-partner-index-hero-copy h1 { max-width: 610px; margin: 14px 0 12px; font-size: clamp(30px, 4vw, 43px); line-height: 1.1; letter-spacing: -.045em; }
.as-partner-index-hero-copy p { max-width: 620px; margin: 0; color: #b4becc; font-size: 16px; line-height: 1.7; }
.as-partner-index-overview { position: relative; z-index: 1; min-width: 315px; display: grid; grid-template-columns: 58px repeat(2, minmax(90px, 1fr)); align-items: center; gap: 15px; padding: 18px; border: 1px solid rgba(255,255,255,.13); border-radius: 20px; background: rgba(255,255,255,.075); box-shadow: inset 0 1px 0 rgba(255,255,255,.06); backdrop-filter: blur(12px); }
.as-partner-index-overview.has-three { min-width: 430px; grid-template-columns: 58px repeat(3, minmax(82px, 1fr)); }
.as-partner-index-overview-icon { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 17px; background: linear-gradient(145deg, #f47b36, #d85312); color: #fff; font-size: 25px; box-shadow: 0 12px 24px rgba(217,83,13,.28); }
.as-partner-index-overview > div { min-width: 0; padding-left: 14px; border-left: 1px solid rgba(255,255,255,.12); }
.as-partner-index-overview > div strong, .as-partner-index-overview > div span { display: block; }
.as-partner-index-overview .as-partner-count-live { display: inline-flex; align-items: center; gap: 9px; }
.as-partner-index-overview strong { font-size: 28px; line-height: 1; letter-spacing: -.04em; }
.as-active-pulse { position: relative; width: 9px; height: 9px; display: block; flex: 0 0 auto; border: 2px solid rgba(145,241,202,.72); border-radius: 50%; background: #4de0a6; box-shadow: 0 0 0 4px rgba(77,224,166,.1), 0 0 13px rgba(77,224,166,.7); }
.as-active-pulse::after { content: ""; position: absolute; inset: -5px; border: 1px solid rgba(77,224,166,.6); border-radius: 50%; animation: as-active-pulse 1.8s ease-out infinite; }
@keyframes as-active-pulse { 0% { opacity: .85; transform: scale(.45); } 70%, 100% { opacity: 0; transform: scale(1.45); } }
.as-partner-index-overview div span { margin-top: 6px; color: #aeb8c8; font-size: 11.5px; line-height: 1.35; }
.as-partner-index-overview .as-partner-count-live { margin-top: 0; color: inherit; }
.as-partner-index-overview .is-inactive strong { color: #cbd1da; }
.as-partner-index-overview .is-inactive span { color: #939eae; }
.as-partner-index-onboarding { grid-template-columns: minmax(0, .95fr) minmax(380px, 1.05fr); align-items: start; gap: 22px; margin-top: 24px; }
.as-partner-index-onboarding .as-admin-card { padding: 31px; border-radius: 24px; box-shadow: 0 16px 40px rgba(15,23,42,.065); }
.as-partner-create-card .as-admin-card-heading { position: relative; gap: 15px; margin-bottom: 21px; }
.as-partner-create-card .as-admin-card-heading > div { min-width: 0; flex: 1; }
.as-partner-create-card .as-admin-card-heading h2 { margin-top: 7px; font-size: 24px; line-height: 1.25; }
.as-partner-create-card .as-module-icon { width: 54px; height: 54px; border-radius: 17px; font-size: 23px; }
.as-partner-step-badge { align-self: flex-start; display: inline-flex; padding: 7px 10px; border: 1px solid #e3e7ed; border-radius: 999px; background: #f8fafc; color: #697586; font-size: 10.5px; font-weight: 800; white-space: nowrap; }
.as-partner-create-card .as-admin-description { margin-bottom: 24px; color: #647084; font-size: 14.5px; line-height: 1.75; }
.as-partner-sync-note { display: flex; align-items: flex-start; gap: 13px; margin: -3px 0 24px; padding: 16px; border: 1px solid #cfe0f4; border-radius: 16px; background: linear-gradient(135deg, #f2f7ff, #f8fbff); }
.as-partner-sync-note > span { width: 42px; height: 42px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 13px; background: #deebfb; color: #2e6db0; font-size: 18px; }
.as-partner-sync-note > div { min-width: 0; }
.as-partner-sync-note strong { display: block; color: #30455e; font-size: 13.5px; line-height: 1.4; }
.as-partner-sync-note p { margin: 5px 0 0; color: #5f7086; font-size: 12.5px; line-height: 1.6; }
.as-partner-create-card .as-form { gap: 22px; }
.as-partner-create-card .as-field label { margin-bottom: 10px; font-size: 14px; }
.as-partner-create-card .as-field > select { height: 56px; padding-inline: 16px 44px; background-color: #fbfcfd; color: #273244; font: inherit; font-size: 14.5px; font-weight: 650; }
.as-partner-create-card .as-field > small { display: flex; align-items: flex-start; gap: 7px; margin-top: 10px; font-size: 12.5px; line-height: 1.55; }
.as-partner-create-card .as-field > small i { flex: 0 0 auto; margin-top: 2px; color: var(--as-orange-dark); }
.as-partner-create-card .select2-container { width: 100% !important; max-width: 100%; display: block; }
.as-partner-create-card .select2-container--default .select2-selection--single { height: 64px; border: 1px solid #d9dfe8; border-radius: 14px; background: #fbfcfd; transition: border-color .16s ease, background .16s ease, box-shadow .16s ease; }
.as-partner-create-card .select2-container--default .select2-selection--single .select2-selection__rendered { height: 62px; display: flex; align-items: center; padding: 0 50px 0 16px; color: #273244; line-height: normal; }
.as-partner-create-card .select2-container--default .select2-selection--single .select2-selection__placeholder { color: #8b96a7; font-size: 14px; font-weight: 600; }
.as-partner-create-card .select2-container--default .select2-selection--single .select2-selection__arrow { width: 46px; height: 62px; }
.as-partner-create-card .select2-container--focus .select2-selection--single, .as-partner-create-card .select2-container--open .select2-selection--single { border-color: var(--as-orange); background: #fff; box-shadow: 0 0 0 4px rgba(243,109,33,.1); outline: none; }
.as-partner-source-selection { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.as-partner-source-selection strong, .as-partner-source-selection small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.as-partner-source-selection strong { color: #273244; font-size: 14px; line-height: 1.25; }
.as-partner-source-selection small { color: #748094; font-size: 11.5px; line-height: 1.3; }
.as-partner-source-dropdown { overflow: hidden; border: 1px solid #d9dfe8 !important; border-radius: 15px !important; box-shadow: 0 20px 45px rgba(15,23,42,.16); }
.as-partner-source-dropdown .select2-search--dropdown { padding: 11px; background: #f8fafc; }
.as-partner-source-dropdown .select2-search__field { height: 44px; padding: 0 13px; border: 1px solid #d7dde6 !important; border-radius: 10px; color: #273244; font: inherit; font-size: 13px; outline: none; }
.as-partner-source-dropdown .select2-search__field:focus { border-color: var(--as-orange) !important; box-shadow: 0 0 0 3px rgba(243,109,33,.1); }
.as-partner-source-dropdown .select2-results__options { max-height: 330px !important; }
.as-partner-source-dropdown .select2-results__option { padding: 0; background: #fff; }
.as-partner-source-option { display: flex; align-items: flex-start; gap: 12px; padding: 13px 14px; border-bottom: 1px solid #edf0f4; }
.as-partner-source-option-avatar { width: 42px; height: 42px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 13px; background: #fff0e7; color: var(--as-orange-dark); font-size: 15px; font-weight: 900; }
.as-partner-source-option-body { min-width: 0; display: flex; flex: 1; flex-direction: column; }
.as-partner-source-option-body > strong { overflow: hidden; color: #273244; font-size: 14px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.as-partner-source-option-location { margin-top: 3px; color: #687487; font-size: 12px; line-height: 1.4; }
.as-partner-source-option-meta { display: flex; flex-wrap: wrap; gap: 6px 13px; margin-top: 7px; }
.as-partner-source-option-meta > span { display: inline-flex; align-items: center; gap: 5px; color: #7a8596; font-size: 10.5px; line-height: 1.35; overflow-wrap: anywhere; }
.as-partner-source-dropdown .select2-results__option--highlighted[aria-selected] .as-partner-source-option, .as-partner-source-dropdown .select2-results__option[aria-selected="true"] .as-partner-source-option { background: #fff5ee; }
.as-partner-source-dropdown .select2-results__option--highlighted[aria-selected] .as-partner-source-option-avatar { background: var(--as-orange); color: #fff; }
.as-partner-source-dropdown .select2-results__option--highlighted[aria-selected] .as-partner-source-option-body > strong { color: #9f4012; }
.as-partner-create-card .as-primary-button { width: 100%; min-height: 56px; font-size: 14.5px; }
.as-partner-create-card .as-inline-empty { min-height: 72px; padding: 18px; font-size: 13.5px; line-height: 1.55; }
.as-partner-safety-card { padding: 30px !important; background: linear-gradient(145deg, #172238, #101827 76%); box-shadow: 0 18px 42px rgba(15,23,42,.16) !important; }
.as-partner-safety-heading { display: flex; align-items: center; gap: 15px; }
.as-partner-safety-heading .as-module-icon { width: 53px; height: 53px; flex: 0 0 auto; border: 1px solid rgba(95,214,174,.22); border-radius: 16px; background: rgba(16,157,114,.13); color: #65d8b3; font-size: 22px; }
.as-partner-safety-heading h2 { margin: 6px 0 0; font-size: 23px; line-height: 1.25; }
.as-partner-safety-card > p { margin: 18px 0 21px; color: #abb6c7; font-size: 14px; line-height: 1.65; }
.as-partner-safety-list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.as-partner-safety-list li { display: flex; align-items: flex-start; gap: 13px; padding: 14px; border: 1px solid rgba(255,255,255,.08); border-radius: 15px; background: rgba(255,255,255,.045); }
.as-partner-safety-list li > span { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 11px; background: rgba(101,216,179,.12); color: #65d8b3; font-size: 17px; }
.as-partner-safety-list li > div { min-width: 0; }
.as-partner-safety-list strong, .as-partner-safety-list small { display: block; }
.as-partner-safety-list strong { color: #f7f9fc; font-size: 13.5px; line-height: 1.35; }
.as-partner-safety-list small { margin-top: 5px; color: #a8b3c3; font-size: 12px; line-height: 1.55; }
.as-partner-directory-heading { align-items: center; margin-top: 43px; }
.as-partner-directory-heading h2 { margin-top: 7px; font-size: 27px; }
.as-partner-directory-heading p { margin: 7px 0 0; color: var(--as-muted); font-size: 14px; line-height: 1.55; }
.as-partner-directory-heading .as-soft-badge { gap: 7px; padding: 9px 13px; font-size: 11px; }
.as-partner-directory-panel { border-radius: 22px; box-shadow: 0 15px 38px rgba(15,23,42,.06); }
.as-partner-directory-panel .as-partner-list { border: 0; border-radius: 0; }
.as-partner-directory-panel .as-partner-row { display: grid; grid-template-columns: 52px minmax(175px, .85fr) minmax(230px, 1.15fr) auto auto; gap: 17px; min-height: 88px; padding: 17px 21px; transition: background .18s ease, box-shadow .18s ease, transform .18s ease; }
.as-partner-directory-panel .as-partner-row:hover, .as-partner-directory-panel .as-partner-row:focus-within { position: relative; z-index: 1; background: #fbfcfe; box-shadow: inset 4px 0 0 var(--as-orange); }
.as-partner-directory-panel .as-partner-row.is-suspended { background: #f1f3f5; box-shadow: inset 4px 0 0 #aeb5bf; }
.as-partner-directory-panel .as-partner-row.is-suspended:hover, .as-partner-directory-panel .as-partner-row.is-suspended:focus-within { background: #e9ecef; box-shadow: inset 4px 0 0 #8f98a5; }
.as-partner-directory-panel .as-partner-row.is-suspended .as-partner-logo { border-color: #d8dde3; background: linear-gradient(145deg, #eef0f3, #e2e6ea); color: #687383; box-shadow: none; }
.as-partner-directory-panel .as-partner-row.is-suspended .as-partner-row-identity strong { color: #566171; }
.as-partner-directory-panel .as-partner-row.is-suspended .as-partner-row-meta span,
.as-partner-directory-panel .as-partner-row.is-suspended .as-partner-row-meta a { color: #788290; }
.as-partner-directory-panel .as-partner-logo { width: 52px; height: 52px; border: 1px solid #f0d9ca; border-radius: 16px; background: linear-gradient(145deg, #fff5ee, #ffeadc); color: #b84d14; font-size: 17px; box-shadow: 0 8px 18px rgba(184,77,20,.09); }
.as-partner-directory-panel .as-partner-row > div { min-width: 0; }
.as-partner-row-identity { min-width: 0; display: block; text-decoration: none; }
.as-partner-row-identity:focus-visible { border-radius: 7px; outline: 3px solid rgba(243,109,33,.15); }
.as-partner-row-identity strong { display: block; overflow: hidden; color: #263143; font-size: 15.5px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.as-partner-row-identity small { display: flex; align-items: center; gap: 6px; margin-top: 5px; color: #7d8899; font-size: 11.5px; line-height: 1.4; }
.as-partner-row-identity small i { color: #9aa4b3; }
.as-country-flag { font-size: 15px; line-height: 1; }
.as-partner-row-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 17px; }
.as-partner-row-meta span, .as-partner-row-meta a { display: inline-flex; align-items: center; gap: 7px; color: #687487; font-size: 12px; font-weight: 650; line-height: 1.4; overflow-wrap: anywhere; }
.as-partner-row-meta a { color: #3e648a; text-decoration: none; }
.as-partner-row-meta a:hover, .as-partner-row-meta a:focus-visible { color: var(--as-orange-dark); text-decoration: underline; outline: none; }
.as-partner-row-meta i { color: #9aa4b3; font-size: 13px; }
.as-partner-directory-panel .as-status-badge { padding: 7px 11px; font-size: 10.5px; }
.as-partner-row-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.as-partner-row-actions form { margin: 0; }
.as-partner-quick-status { min-height: 39px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 0 11px; border: 1px solid; border-radius: 11px; background: #fff; font: inherit; font-size: 11px; font-weight: 800; white-space: nowrap; cursor: pointer; transition: background .18s ease, border-color .18s ease, transform .18s ease; }
.as-partner-quick-status.is-danger { border-color: #efc5c2; color: #b03b35; }
.as-partner-quick-status.is-danger:hover, .as-partner-quick-status.is-danger:focus-visible { border-color: #dfaaa6; background: #fff4f3; outline: 3px solid rgba(176,59,53,.08); transform: translateY(-1px); }
.as-partner-quick-status.is-success { border-color: #b8e2d3; color: #087552; }
.as-partner-quick-status.is-success:hover, .as-partner-quick-status.is-success:focus-visible { border-color: #92d3bd; background: #effbf7; outline: 3px solid rgba(8,117,82,.08); transform: translateY(-1px); }
.as-partner-row-action { min-height: 39px; display: inline-flex; align-items: center; gap: 8px; padding: 0 12px; border: 1px solid #e1e6ed; border-radius: 11px; background: #fff; color: #536075; font-size: 11.5px; font-weight: 800; text-decoration: none; white-space: nowrap; transition: border-color .18s ease, color .18s ease, background .18s ease; }
.as-partner-row:hover .as-partner-row-action, .as-partner-row:focus-visible .as-partner-row-action { border-color: #f1c2a5; background: #fff6f0; color: var(--as-orange-dark); }
.as-partner-row-action i { font-size: 13px; }

.as-alert { position: relative; display: flex; align-items: flex-start; gap: 11px; max-height: 180px; margin-bottom: 18px; padding: 14px 46px 14px 15px; overflow: hidden; border: 1px solid; border-radius: 14px; font-size: 13px; line-height: 1.55; box-shadow: 0 8px 24px rgba(15,23,42,.045); transition: opacity .25s ease, transform .25s ease, max-height .3s ease, margin .3s ease, padding .3s ease, border-width .3s ease; }
.as-alert::after { content: ""; position: absolute; right: 0; bottom: 0; left: 0; height: 3px; background: currentColor; opacity: .22; transform-origin: left center; animation: as-alert-countdown 15s linear forwards; }
.as-alert-icon { flex: 0 0 auto; margin-top: 2px; font-size: 15px; }
.as-alert-message { min-width: 0; flex: 1; }
.as-alert-close { position: absolute; top: 8px; right: 8px; width: 30px; height: 30px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 9px; background: transparent; color: currentColor; cursor: pointer; opacity: .62; transition: opacity .18s ease, background .18s ease, transform .18s ease; }
.as-alert-close:hover { background: rgba(15,23,42,.07); opacity: 1; transform: scale(1.04); }
.as-alert-close:focus-visible { background: rgba(15,23,42,.08); opacity: 1; outline: 2px solid currentColor; outline-offset: 1px; }
.as-alert-close i { font-size: 13px; line-height: 1; }
.as-alert.is-closing { max-height: 0; margin-bottom: 0; padding-top: 0; padding-bottom: 0; border-width: 0; opacity: 0; transform: translateY(-7px) scale(.985); pointer-events: none; }
.as-alert-success { border-color: #b9e9d7; background: #effbf7; color: #087552; }
.as-alert-danger { border-color: #f4c6c6; background: #fff5f5; color: #b42318; }
.as-alert-warning { border-color: #f5d49a; background: #fff9ed; color: #9a5700; }
.as-alert-info { border-color: #bfd7f8; background: #f2f7ff; color: #175da6; }

@keyframes as-alert-countdown {
    from { transform: scaleX(1); }
    to { transform: scaleX(0); }
}

@media (prefers-reduced-motion: reduce) {
    .as-alert { transition: none; }
    .as-alert::after { animation: none; }
}

/* Internal installation review workspace */
.as-review-page-heading > div:first-child { max-width: 760px; }
.as-review-page-heading p { line-height: 1.6; }
.as-review-pending-callout { display: inline-flex; align-items: center; gap: 11px; padding: 12px 16px; border: 1px solid #efd59c; border-radius: 15px; background: #fff8e8; color: #80530a; font-size: 13px; font-weight: 750; white-space: nowrap; }
.as-review-pending-callout > i { font-size: 20px; }
.as-review-pending-callout strong { margin-right: 3px; font-size: 19px; }
.as-review-stat-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 13px; margin-bottom: 17px; }
.as-review-stat-card { display: flex; align-items: center; gap: 13px; min-width: 0; padding: 17px; border: 1px solid var(--as-line); border-radius: 17px; background: #fff; color: inherit; box-shadow: 0 9px 25px rgba(15,23,42,.035); text-decoration: none; transition: .16s ease; }
.as-review-stat-card:hover, .as-review-stat-card:focus-visible { border-color: #cbd3de; box-shadow: 0 13px 29px rgba(15,23,42,.075); outline: none; transform: translateY(-1px); }
.as-review-stat-card.is-active { border-color: currentColor; box-shadow: 0 0 0 2px color-mix(in srgb,currentColor 10%,transparent); }
.as-review-stat-card > span { width: 43px; height: 43px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 13px; font-size: 18px; }
.as-review-stat-card small, .as-review-stat-card strong { display: block; }
.as-review-stat-card small { color: #737f91; font-size: 10px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.as-review-stat-card strong { margin-top: 4px; color: #202b3d; font-size: 24px; line-height: 1; }
.as-review-stat-card.is-pending { color: #9a5d00; }.as-review-stat-card.is-pending > span { background: #fff4d9; }
.as-review-stat-card.is-revision { color: #b04a17; }.as-review-stat-card.is-revision > span { background: #fff0e7; }
.as-review-stat-card.is-completed { color: #087a57; }.as-review-stat-card.is-completed > span { background: #e7f7f1; }
.as-review-stat-card.is-total { color: #45546b; }.as-review-stat-card.is-total > span { background: #edf1f7; }
.as-review-filters { display: grid; grid-template-columns: minmax(250px,1.6fr) minmax(180px,1fr) 150px 150px auto; align-items: end; gap: 10px; margin-bottom: 18px; padding: 14px; border: 1px solid var(--as-line); border-radius: 17px; background: #fff; }
.as-review-filters label > span { display: block; margin: 0 0 6px 2px; color: #778295; font-size: 10px; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; }
.as-review-filters input, .as-review-filters select { width: 100%; height: 45px; min-width: 0; padding: 0 12px; border: 1px solid #dfe4eb; border-radius: 11px; background: #fff; color: var(--as-ink); font-size: 13px; outline: none; }
.as-review-filters input:focus, .as-review-filters select:focus { border-color: var(--as-orange); box-shadow: 0 0 0 3px rgba(243,109,33,.1); }
.as-review-search > div { position: relative; }.as-review-search > div > i { position: absolute; top: 50%; left: 13px; color: #8490a1; transform: translateY(-50%); }.as-review-search input { padding-left: 38px; }
.as-review-filters .as-clear-filter { height: 45px; align-items: center; }
.as-review-list { display: grid; gap: 11px; }
.as-review-row { overflow: hidden; border: 1px solid var(--as-line); border-radius: 18px; background: #fff; box-shadow: 0 9px 26px rgba(15,23,42,.035); transition: .16s ease; }
.as-review-row:hover { border-color: #d2d9e3; box-shadow: 0 14px 31px rgba(15,23,42,.07); transform: translateY(-1px); }
.as-review-row-main { min-width: 0; display: grid; grid-template-columns: 51px minmax(0,1fr) 180px; align-items: center; gap: 15px; padding: 18px; color: inherit; text-decoration: none; }
.as-review-row-icon { width: 51px; height: 51px; display: grid; place-items: center; border-radius: 15px; font-size: 21px; }
.as-review-row-icon.is-submitted { background: #fff4d9; color: #9a5d00; }.as-review-row-icon.is-revision-requested { background: #fff0e7; color: #b04a17; }.as-review-row-icon.is-completed { background: #e7f7f1; color: #087a57; }
.as-review-row-copy { min-width: 0; }
.as-review-row-top { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.as-review-row-top > strong { overflow: hidden; color: #263246; font-size: 17px; text-overflow: ellipsis; white-space: nowrap; }
.as-review-row-top > em { flex: 0 0 auto; font-style: normal; }
.as-review-row-meta { display: flex; flex-wrap: wrap; gap: 8px 17px; margin-top: 11px; }
.as-review-row-meta > span { min-width: 120px; display: grid; grid-template-columns: 21px auto; column-gap: 6px; }
.as-review-row-meta i { grid-row: 1 / 3; align-self: center; color: #8a95a5; font-size: 14px; }.as-review-row-meta small,.as-review-row-meta b { display: block; }.as-review-row-meta small { color: #929baa; font-size: 9px; }.as-review-row-meta b { max-width: 205px; overflow: hidden; color: #4b586c; font-size: 11.5px; text-overflow: ellipsis; white-space: nowrap; }
.as-review-row-side { min-width: 0; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 3px 10px; padding-left: 17px; border-left: 1px solid #edf0f4; }.as-review-row-side small,.as-review-row-side strong { display: block; }.as-review-row-side small { color: #929baa; font-size: 9px; }.as-review-row-side strong { overflow: hidden; color: #4b586c; font-size: 11.5px; text-overflow: ellipsis; white-space: nowrap; }.as-review-row-side i { grid-column: 2; grid-row: 1 / 3; color: #a0a9b7; }
.as-review-detail-hero { container-type: inline-size; display: grid; grid-template-columns: 115px minmax(0,1fr) auto; align-items: center; gap: 22px; padding: 24px 27px; border-radius: 21px; background: linear-gradient(115deg,#172033,#232e42); color: #fff; box-shadow: 0 18px 42px rgba(15,23,42,.17); }
.as-review-detail-visual { width: 82px; height: 82px; display: grid; place-items: center; border-radius: 17px; background: rgba(255,255,255,.08); color: #ff9a60; font-size: 34px; }.as-review-detail-visual.has-machine-art { width: 115px; height: 82px; padding: 7px; overflow: hidden; background: linear-gradient(145deg,#fff,#edf0f4); }.as-review-detail-visual img { width: 100%; height: 100%; object-fit: contain; }
.as-review-hero-copy { min-width: 0; }
.as-review-hero-title-row, .as-machine-hero-title-row { min-width: 0; display: flex; align-items: center; flex-wrap: wrap; column-gap: 22px; row-gap: 10px; }
.as-review-hero-title-row h1 { margin: 6px 0 9px; font-size: 28px; line-height: 1.2; }
.as-review-detail-hero p { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; margin: 0; color: #aeb8c8; font-size: 12px; }.as-review-detail-hero p i { color: #ff9a60; }.as-review-detail-hero p strong { color: #fff; }.as-review-detail-hero > .as-installation-status { font-size: 12px; }
.as-header-warranty { min-width: 0; max-width: 100%; display: grid; grid-template-columns: 34px minmax(0,1fr); align-items: center; gap: 9px; padding: 8px 11px; border: 1px solid rgba(111,225,181,.3); border-radius: 12px; background: rgba(16,157,114,.13); }
.as-header-warranty > i { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; background: rgba(111,225,181,.16); color: #71e0b6; font-size: 16px; }
.as-header-warranty > span { min-width: 0; }
.as-header-warranty small, .as-header-warranty strong { display: block; }
.as-header-warranty small { margin-bottom: 3px; color: #8ee8c5; font-size: 12.5px; font-weight: 800; }
.as-header-warranty strong { color: #fff; font-size: 14px; line-height: 1.45; white-space: normal; overflow-wrap: anywhere; }
.as-header-warranty strong em { color: #aeb8c8; font-style: normal; font-weight: 650; }
.as-header-warranty.is-expired { border-color: rgba(255,128,137,.55); background: rgba(154,31,43,.34); }
.as-header-warranty.is-expired > i { background: rgba(255,128,137,.22); color: #ffafb4; }
.as-header-warranty.is-expired small { color: #ffc5c8; }
.as-review-detail-layout { display: grid; grid-template-columns: minmax(0,1fr) 340px; align-items: start; gap: 17px; margin-top: 17px; }
.as-review-detail-content { display: grid; gap: 17px; }
.as-review-section { padding: 25px; border: 1px solid var(--as-line); border-radius: 19px; background: #fff; box-shadow: 0 9px 27px rgba(15,23,42,.035); }
.as-review-section > header { display: flex; align-items: center; gap: 12px; padding-bottom: 18px; border-bottom: 1px solid #e9edf2; }.as-review-section > header > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; background: #fff0e7; color: var(--as-orange-dark); font-size: 18px; }.as-review-section > header > span.is-blue { background: #eaf1ff; color: var(--as-blue); }.as-review-section > header > span.is-slate { background: #edf1f7; color: #45546b; }.as-review-section header small { color: #8a94a4; font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.as-review-section header h2 { margin: 3px 0 0; color: #273347; font-size: 18px; }
.as-review-data-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; margin: 5px 0 0; }.as-review-data-grid > div { min-width: 0; padding: 14px 0; border-bottom: 1px solid #edf0f4; }.as-review-data-grid > div.is-wide { grid-column: 1 / -1; }.as-review-data-grid dt { color: #8590a1; font-size: 10.5px; }.as-review-data-grid dd { margin: 5px 0 0; overflow-wrap: anywhere; color: #334054; font-size: 14px; font-weight: 720; line-height: 1.5; white-space: pre-line; }
.as-review-condition-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-top: 18px; }.as-review-condition-grid > div { display: flex; align-items: center; gap: 10px; padding: 13px; border: 1px solid; border-radius: 13px; }.as-review-condition-grid > div > i { font-size: 18px; }.as-review-condition-grid small,.as-review-condition-grid strong { display: block; }.as-review-condition-grid small { font-size: 9.5px; }.as-review-condition-grid strong { margin-top: 2px; font-size: 13px; }.as-review-condition-grid .is-ok { border-color: #cbe8dc; background: #f0faf6; color: #087a57; }.as-review-condition-grid .is-warning { border-color: #edc9b4; background: #fff5ee; color: #a8490f; }
.as-review-confirmations { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 13px; }.as-review-confirmations span { display: inline-flex; align-items: center; gap: 7px; padding: 8px 10px; border-radius: 10px; background: #edf9f5; color: #087a57; font-size: 11px; font-weight: 750; }
.as-review-action-column { position: sticky; top: 18px; display: grid; gap: 13px; }
.as-review-submission-card { display: flex; align-items: center; gap: 12px; padding: 16px; border: 1px solid #dfe4eb; border-radius: 16px; background: #fff; }.as-review-submission-card > span { width: 42px; height: 42px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 12px; background: #eaf1ff; color: var(--as-blue); font-size: 18px; }.as-review-submission-card small,.as-review-submission-card strong,.as-review-submission-card em { display: block; }.as-review-submission-card small { color: #8a94a4; font-size: 9px; }.as-review-submission-card strong { margin-top: 2px; color: #344054; font-size: 13px; }.as-review-submission-card em { margin-top: 3px; color: #778295; font-size: 10px; font-style: normal; }
.as-review-action-card { padding: 22px; border: 1px solid #ead6a5; border-radius: 18px; background: linear-gradient(145deg,#fffdf7,#fff8e8); box-shadow: 0 13px 31px rgba(122,78,7,.08); }.as-review-action-kicker { color: #9a5d00; font-size: 10px; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }.as-review-action-card h2 { margin: 7px 0 8px; color: #332b1d; font-size: 20px; }.as-review-action-card > p { margin: 0 0 18px; color: #70614a; font-size: 12.5px; line-height: 1.65; }.as-review-action-card > form,.as-review-action-card > a { width: 100%; }.as-review-action-card button,.as-review-action-card a { width: 100%; min-height: 48px; justify-content: center; font-size: 12.5px; }.as-review-action-card .as-review-approve-button > i { margin-left: 0; }.as-review-edit-button { margin-top: 9px; background: #fff; }
.as-review-revision-box { margin-top: 13px; padding-top: 13px; border-top: 1px solid #eadcb8; }.as-review-revision-box > summary { display: flex; align-items: center; gap: 8px; color: #9a4218; font-size: 12px; font-weight: 800; cursor: pointer; list-style: none; }.as-review-revision-box > summary::-webkit-details-marker { display: none; }.as-review-revision-box > summary span { flex: 1; }.as-review-revision-box[open] > summary > i:last-child { transform: rotate(180deg); }.as-review-revision-box form { margin-top: 14px; }.as-review-revision-box label > span,.as-review-revision-box label > small { display: block; }.as-review-revision-box label > span { margin-bottom: 7px; color: #5b4938; font-size: 11px; font-weight: 800; }.as-review-revision-box label b { color: #c2410c; }.as-review-revision-box textarea { width: 100%; padding: 11px 12px; resize: vertical; border: 1px solid #dfc7b5; border-radius: 11px; background: #fff; color: #332f2b; font: inherit; font-size: 12px; line-height: 1.55; outline: none; }.as-review-revision-box textarea:focus { border-color: #d75a1b; box-shadow: 0 0 0 3px rgba(215,90,27,.11); }.as-review-revision-box label > small { margin-top: 6px; color: #806f61; font-size: 10px; line-height: 1.45; }.as-warning-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; margin-top: 11px; padding: 0 14px; border: 0; border-radius: 11px; background: #c75118; color: #fff; font-weight: 800; cursor: pointer; }.as-warning-button:hover { background: #a94012; }
.as-review-action-card.is-waiting,.as-review-action-card.is-approved { border-color: var(--as-line); background: #fff; box-shadow: none; }.as-review-action-card.is-waiting > i,.as-review-action-card.is-approved > i { font-size: 28px; }.as-review-action-card.is-waiting > i { color: #b04a17; }.as-review-action-card.is-approved > i { color: #087a57; }.as-review-action-card blockquote { margin: 14px 0 0; padding: 13px; border-left: 4px solid #d75a1b; border-radius: 0 10px 10px 0; background: #fff5ee; color: #714b36; font-size: 12px; line-height: 1.55; }.as-review-action-card dl { margin: 15px 0 0; }.as-review-action-card dl div { display: flex; justify-content: space-between; gap: 10px; padding: 9px 0; border-top: 1px solid #edf0f4; }.as-review-action-card dt { color: #8590a1; font-size: 10px; }.as-review-action-card dd { margin: 0; color: #344054; font-size: 10.5px; font-weight: 750; text-align: right; }
.as-review-history-empty { margin: 18px 0 0; color: #7d8797; font-size: 12px; }.as-review-timeline { display: grid; gap: 0; margin: 20px 0 0; padding: 0; list-style: none; }.as-review-timeline > li { position: relative; display: grid; grid-template-columns: 38px minmax(0,1fr); gap: 12px; padding-bottom: 20px; }.as-review-timeline > li:not(:last-child)::before { content:""; position:absolute; top:38px; bottom:0; left:18px; width:2px; background:#e5e9ef; }.as-review-timeline-icon { position: relative; z-index: 1; width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid #dfe4eb; border-radius: 50%; background: #fff; color: #59677c; }.as-review-timeline > li > div { min-width: 0; padding-top: 2px; }.as-review-timeline > li > div > span { display: flex; justify-content: space-between; gap: 15px; }.as-review-timeline strong { color: #334054; font-size: 13px; }.as-review-timeline time { color: #8791a0; font-size: 10px; white-space: nowrap; }.as-review-timeline small { display: block; margin-top: 4px; color: #7c8797; font-size: 10px; }.as-review-timeline p { margin: 9px 0 0; padding: 10px 12px; border-radius: 10px; background: #fff5ee; color: #714b36; font-size: 11.5px; line-height: 1.55; }.as-review-timeline details { margin-top: 9px; }.as-review-timeline summary { color: #9a4218; font-size: 10.5px; font-weight: 800; cursor: pointer; }.as-review-timeline details dl { margin: 9px 0 0; border: 1px solid #e6eaf0; border-radius: 10px; }.as-review-timeline details dl div { display: grid; grid-template-columns: 150px 1fr; gap: 10px; padding: 9px 11px; border-bottom: 1px solid #edf0f4; }.as-review-timeline details dl div:last-child { border-bottom: 0; }.as-review-timeline details dt { color: #748094; font-size: 10px; }.as-review-timeline details dd { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; margin: 0; overflow-wrap: anywhere; font-size: 10px; }.as-review-timeline del { color: #9a5360; }.as-review-timeline ins { color: #087a57; font-weight: 750; text-decoration: none; }
body.as-review-is-processing { overflow: hidden; }.as-review-processing { position: fixed; z-index: 2200; inset: 0; display: flex; align-items: center; justify-content: center; flex-direction: column; padding: 25px; background: rgba(15,23,42,.78); color: #fff; text-align: center; backdrop-filter: blur(6px); }.as-review-processing[hidden] { display: none; }.as-review-processing > span { width: 52px; height: 52px; margin-bottom: 18px; border: 4px solid rgba(255,255,255,.25); border-top-color: #fff; border-radius: 50%; animation: as-installation-spin .75s linear infinite; }.as-review-processing strong { font-size: 20px; }.as-review-processing p { max-width: 430px; margin: 9px 0 0; color: #c2cad7; font-size: 13px; line-height: 1.6; }

@media (max-width: 1100px) {
    .as-review-filters { grid-template-columns: 1fr 1fr; }.as-review-search { grid-column: 1 / -1; }
    .as-review-detail-layout { grid-template-columns: 1fr; }.as-review-action-column { position: static; grid-template-columns: minmax(240px,.65fr) minmax(0,1.35fr); }.as-review-action-card { grid-column: 2; grid-row: 1 / 3; }
}
@media (max-width: 850px) {
    .as-review-stat-grid { grid-template-columns: 1fr 1fr; }.as-review-row-main { grid-template-columns: 48px minmax(0,1fr); }.as-review-row-side { grid-column: 2; padding: 10px 0 0; border-top: 1px solid #edf0f4; border-left: 0; }.as-review-detail-hero { grid-template-columns: 100px minmax(0,1fr); }.as-review-detail-hero > .as-installation-status { grid-column: 1 / -1; justify-self: start; }.as-review-detail-visual.has-machine-art { width: 100px; }
}
@media (max-width: 650px) {
    .as-review-page-heading { align-items: stretch; flex-direction: column; }.as-review-pending-callout { width: fit-content; max-width: 100%; white-space: normal; }
    .as-review-filters { grid-template-columns: 1fr; }.as-review-search { grid-column: auto; }.as-review-filters .as-clear-filter { height: auto; padding: 7px 2px; }
    .as-review-row-main { grid-template-columns: 42px minmax(0,1fr); gap: 11px; padding: 14px; }.as-review-row-icon { width: 42px; height: 42px; border-radius: 12px; font-size: 17px; }.as-review-row-top { align-items: flex-start; flex-direction: column; gap: 7px; }.as-review-row-top > strong { max-width: 100%; white-space: normal; }.as-review-row-meta { display: grid; grid-template-columns: 1fr 1fr; }.as-review-row-meta > span { min-width: 0; }.as-review-row-meta b { max-width: 100%; }
    .as-review-detail-hero { grid-template-columns: 1fr; padding: 21px; }.as-review-detail-visual,.as-review-detail-visual.has-machine-art { justify-self: center; width: min(55vw,180px); height: auto; aspect-ratio: 1.4 / 1; }.as-review-detail-hero > .as-installation-status { grid-column: auto; }.as-review-hero-title-row { align-items: flex-start; flex-direction: column; }.as-header-warranty { width: 100%; }
    .as-review-action-column { grid-template-columns: 1fr; }.as-review-action-card { grid-column: auto; grid-row: auto; }.as-review-data-grid,.as-review-condition-grid { grid-template-columns: 1fr; }.as-review-data-grid > div.is-wide { grid-column: auto; }.as-review-timeline > li > div > span { align-items: flex-start; flex-direction: column; gap: 4px; }.as-review-timeline details dl div { grid-template-columns: 1fr; }
}
@media (max-width: 430px) {
    .as-review-stat-grid { grid-template-columns: 1fr; }.as-review-stat-card { min-height: 72px; }.as-review-row-meta,.as-notification-review-facts { grid-template-columns: 1fr; }.as-review-section { padding: 20px; }
}

.as-notification-panel { overflow: hidden; border: 1px solid var(--as-line); border-radius: var(--as-radius); background: #fff; box-shadow: var(--as-shadow); }
.as-notification-list { display: flex; flex-direction: column; }
.as-notification-item {
    --as-notification-accent: #59677c;
    --as-notification-read-bg: #fafbfd;
    --as-notification-unread-bg: #eef2f6;
    --as-notification-icon-bg: #e7ebf1;
    --as-notification-icon-unread-bg: #dce3eb;
    --as-notification-detail-bg: #f7f9fb;
    --as-notification-line: #dfe5ec;
    border-bottom: 1px solid var(--as-notification-line);
    background: var(--as-notification-read-bg);
    color: inherit;
    transition: background .18s ease, box-shadow .18s ease, opacity .28s ease, transform .28s ease;
}
.as-notification-item:last-child { border-bottom: 0; }
.as-notification-item.is-unread { background: var(--as-notification-unread-bg); box-shadow: inset 4px 0 0 var(--as-notification-accent); }
.as-notification-item.is-tone-success { --as-notification-accent: #117a57; --as-notification-read-bg: #f3faf7; --as-notification-unread-bg: #dff3e9; --as-notification-icon-bg: #dff2e9; --as-notification-icon-unread-bg: #c7eadb; --as-notification-detail-bg: #edf8f3; --as-notification-line: #cde8dc; }
.as-notification-item.is-tone-warning { --as-notification-accent: #ae6508; --as-notification-read-bg: #fffaf0; --as-notification-unread-bg: #ffedc7; --as-notification-icon-bg: #ffebc2; --as-notification-icon-unread-bg: #ffdda0; --as-notification-detail-bg: #fff6e5; --as-notification-line: #edd9ad; }
.as-notification-item.is-tone-info { --as-notification-accent: #2868b8; --as-notification-read-bg: #f4f8ff; --as-notification-unread-bg: #e1edff; --as-notification-icon-bg: #dfebfc; --as-notification-icon-unread-bg: #cbdfff; --as-notification-detail-bg: #edf4ff; --as-notification-line: #cadcf5; }
.as-notification-item.is-tone-fresh { --as-notification-accent: #087aa8; --as-notification-read-bg: #f2faff; --as-notification-unread-bg: #d8f1fc; --as-notification-icon-bg: #dceff8; --as-notification-icon-unread-bg: #bfe4f3; --as-notification-detail-bg: #eaf7fc; --as-notification-line: #c3dfeb; }
.as-notification-item.is-tone-security { --as-notification-accent: #7042ad; --as-notification-read-bg: #f8f5fc; --as-notification-unread-bg: #e8dcf8; --as-notification-icon-bg: #eadff6; --as-notification-icon-unread-bg: #d9c5ef; --as-notification-detail-bg: #f1eafa; --as-notification-line: #d9caea; }
.as-notification-item.is-tone-neutral { --as-notification-accent: #59677c; --as-notification-read-bg: #fafbfd; --as-notification-unread-bg: #e8edf3; --as-notification-icon-bg: #e7ebf1; --as-notification-icon-unread-bg: #d7dfe8; --as-notification-detail-bg: #f4f6f9; --as-notification-line: #dce2e9; }
.as-notification-item.is-appending { opacity: 0; transform: translateY(16px); transition-delay: calc(var(--as-notification-append-index, 0) * 35ms); }
.as-notification-main { min-height: 98px; display: flex; align-items: center; gap: 17px; padding: 20px 23px; color: inherit; text-decoration: none; }
.as-notification-main:hover, .as-notification-main:focus-visible { background: color-mix(in srgb, var(--as-notification-accent) 6%, transparent); outline: none; }
.as-notification-icon { width: 48px; height: 48px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 15px; background: var(--as-notification-icon-bg); color: var(--as-notification-accent); font-size: 19px; transition: background .18s ease, transform .18s ease; }
.as-notification-item.is-unread .as-notification-icon { background: var(--as-notification-icon-unread-bg); }
.as-notification-main:hover .as-notification-icon { transform: translateY(-1px); }
.as-notification-copy { min-width: 0; flex: 1; color: var(--as-muted); font-size: 14px; line-height: 1.6; }
.as-notification-meta { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 5px; }
.as-notification-meta strong { color: var(--as-ink); font-size: 15px; line-height: 1.4; }
.as-notification-meta time { color: #8993a2; font-size: 11.5px; font-weight: 650; white-space: nowrap; }
.as-unread-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--as-notification-accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--as-notification-accent) 13%, transparent); }
.as-notification-arrow { color: #a4adba; }
.as-notification-details { margin: -6px 23px 19px 88px; overflow: hidden; border: 1px solid var(--as-notification-line); border-radius: 15px; background: color-mix(in srgb, var(--as-notification-read-bg) 45%, #fff); transition: border-color .18s ease, box-shadow .18s ease; }
.as-notification-details[open] { border-color: color-mix(in srgb, var(--as-notification-accent) 45%, #dfe5ec); box-shadow: 0 8px 22px color-mix(in srgb, var(--as-notification-accent) 9%, transparent); }
.as-notification-details summary { min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 0 17px; color: #3f4b5f; font-size: 14px; font-weight: 800; cursor: pointer; list-style: none; transition: background .16s ease; }
.as-notification-details summary:hover, .as-notification-details summary:focus-visible { background: color-mix(in srgb, var(--as-notification-accent) 6%, transparent); outline: none; }
.as-notification-details summary::-webkit-details-marker { display: none; }
.as-notification-details-label, .as-notification-details-side { display: inline-flex; align-items: center; }
.as-notification-details-label { min-width: 0; gap: 9px; }
.as-notification-details-label i { color: var(--as-notification-accent); font-size: 16px; }
.as-notification-details-side { flex: 0 0 auto; gap: 11px; margin-left: auto; }
.as-notification-details-side small { color: #737f91; font-size: 12px; font-weight: 750; white-space: nowrap; }
.as-notification-details-side > i { color: #8993a2; font-size: 13px; transition: transform .18s ease; }
.as-notification-details[open] .as-notification-details-side > i { transform: rotate(180deg); }
.as-notification-details-body { padding: 16px 17px 17px; border-top: 1px solid var(--as-notification-line); background: var(--as-notification-detail-bg); }
.as-notification-review-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }.as-notification-review-facts > span { min-width: 0; display: flex; align-items: center; gap: 9px; padding: 11px; border: 1px solid var(--as-notification-line); border-radius: 11px; background: rgba(255,255,255,.86); }.as-notification-review-facts > span > i { color: var(--as-notification-accent); font-size: 16px; }.as-notification-review-facts small,.as-notification-review-facts strong { display: block; }.as-notification-review-facts small { color: #8b95a4; font-size: 9px; }.as-notification-review-facts strong { margin-top: 2px; overflow-wrap: anywhere; color: #3b475a; font-size: 11.5px; }.as-notification-revision-reason { margin: 10px 0 0; padding: 12px; border-left: 4px solid var(--as-notification-accent); border-radius: 0 10px 10px 0; background: rgba(255,255,255,.72); color: #6f4a36; font-size: 11.5px; line-height: 1.55; }.as-notification-revision-reason strong { display: block; margin-bottom: 3px; color: var(--as-notification-accent); }
.as-notification-warranty-validity { display: flex; align-items: center; gap: 12px; margin-top: 11px; padding: 14px; border: 1px solid #bfe2d3; border-radius: 13px; background: linear-gradient(145deg,#f2fbf7,#e6f6ef); color: #0b6f50; }
.as-notification-warranty-validity > span { width: 42px; height: 42px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 12px; background: #ccecdf; font-size: 19px; }
.as-notification-warranty-validity > div { min-width: 0; }
.as-notification-warranty-validity small,.as-notification-warranty-validity strong,.as-notification-warranty-validity em { display: block; }
.as-notification-warranty-validity small { font-size: 10px; font-weight: 850; letter-spacing: .055em; text-transform: uppercase; }
.as-notification-warranty-validity strong { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; margin-top: 4px; color: #175e49; font-size: 14px; }
.as-notification-warranty-validity strong i { font-size: 12px; }
.as-notification-warranty-validity em { margin-top: 4px; color: #4e7f6e; font-size: 11px; font-style: normal; }
.as-notification-shipment-overview { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; padding: 13px 14px; border: 1px solid #e8ebf0; border-radius: 12px; background: #fff; }
.as-notification-shipment-icon { width: 39px; height: 39px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 11px; background: var(--as-notification-icon-bg); color: var(--as-notification-accent); font-size: 17px; }
.as-notification-shipment-overview small, .as-notification-shipment-overview strong { display: block; }
.as-notification-shipment-overview small { color: #7f8998; font-size: 10.5px; font-weight: 800; letter-spacing: .055em; text-transform: uppercase; }
.as-notification-shipment-overview strong { margin-top: 3px; color: #354156; font-size: 14px; }
.as-notification-machine-list { display: grid; gap: 10px; }
.as-notification-machine-card { display: flex; align-items: flex-start; gap: 13px; padding: 14px; border: 1px solid #e2e7ed; border-radius: 13px; background: #fff; }
.as-notification-machine-visual { position: relative; width: 45px; height: 45px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 13px; background: #202838; color: #fff; font-size: 19px; }
.as-notification-machine-visual.has-machine-art { width: 64px; height: 52px; padding: 5px; border: 1px solid #e4e8ee; background: linear-gradient(145deg, #fff, #f1f4f7); box-shadow: 0 8px 18px rgba(15,23,42,.08); }
.as-notification-machine-visual.has-machine-art img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 4px 4px rgba(15,23,42,.15)); }
.as-notification-machine-visual small { position: absolute; top: -6px; right: -6px; min-width: 18px; height: 18px; display: grid; place-items: center; padding: 0 4px; border: 2px solid #fff; border-radius: 9px; background: var(--as-orange); color: #fff; font-size: 8px; font-weight: 850; }
.as-notification-machine-content { min-width: 0; flex: 1; }
.as-notification-machine-category, .as-notification-machine-name { display: block; }
.as-notification-machine-category { color: var(--as-notification-accent); font-size: 10.5px; font-weight: 850; letter-spacing: .045em; text-transform: uppercase; }
.as-notification-machine-name { margin-top: 3px; color: #293549; font-size: 15px; line-height: 1.4; }
.as-notification-machine-facts { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(115px, .6fr); gap: 8px; margin-top: 11px; }
.as-notification-machine-facts > span { min-width: 0; display: flex; align-items: center; gap: 9px; padding: 9px 10px; border-radius: 10px; background: #f5f7fa; }
.as-notification-machine-facts > span > i { flex: 0 0 auto; color: #647187; font-size: 15px; }
.as-notification-machine-facts > span > span { min-width: 0; }
.as-notification-machine-facts small, .as-notification-machine-facts strong { display: block; }
.as-notification-machine-facts small { color: #7e8999; font-size: 10.5px; font-weight: 750; }
.as-notification-machine-facts strong { margin-top: 2px; overflow-wrap: anywhere; color: #344054; font-size: 13px; line-height: 1.35; }
.as-empty-state { display: grid; justify-items: center; padding: 70px 20px; text-align: center; }
.as-empty-state > span { width: 66px; height: 66px; display: grid; place-items: center; border-radius: 20px; background: #f0f2f6; color: #6d788a; font-size: 27px; }
.as-empty-state h2 { margin: 19px 0 7px; font-size: 20px; }
.as-empty-state p { max-width: 440px; margin: 0 0 22px; color: var(--as-muted); font-size: 12px; line-height: 1.7; }
.as-notification-load-more { width: min(460px,100%); display: grid; justify-items: center; gap: 9px; margin: 19px auto 0; padding: 17px 20px; border: 1px solid #dfe5ec; border-radius: 17px; background: rgba(255,255,255,.92); box-shadow: 0 12px 30px rgba(15,23,42,.055); text-align: center; transition: border-color .18s ease, background .18s ease, box-shadow .18s ease; }
.as-notification-load-progress { width: 100%; height: 4px; overflow: hidden; border-radius: 999px; background: #edf0f4; }
.as-notification-load-progress > span { height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg,#303b4e,#6d7d96); transition: width .35s ease; }
.as-notification-load-more > p { margin: 1px 0 0; color: #778295; font-size: 12px; }
.as-notification-load-more > p strong { color: #344054; font-size: 13px; }
.as-notification-more-button { min-width: 220px; height: 46px; display: inline-flex; align-items: center; justify-content: center; padding: 0 18px; border: 1px solid #d5dce6; border-radius: 13px; background: #fff; color: #354156; box-shadow: 0 8px 18px rgba(15,23,42,.06); font-size: 13px; font-weight: 820; cursor: pointer; transition: border-color .16s ease, color .16s ease, box-shadow .16s ease, transform .16s ease; }
.as-notification-more-button:hover,.as-notification-more-button:focus-visible { border-color: #94a2b6; color: #182235; box-shadow: 0 11px 23px rgba(15,23,42,.1); outline: 3px solid rgba(54,70,94,.08); transform: translateY(-1px); }
.as-notification-more-button:disabled { cursor: wait; transform: none; }
.as-notification-more-button > span { display: inline-flex; align-items: center; gap: 9px; }
.as-notification-more-button > span[hidden] { display: none; }
.as-notification-load-spinner { width: 17px; height: 17px; display: inline-block; border: 2px solid #d2d9e3; border-top-color: #354156; border-radius: 50%; animation: as-machine-page-spin .72s linear infinite; }
.as-notification-load-more > small { min-height: 16px; color: #667286; font-size: 11.5px; }
.as-notification-load-more.has-error { border-color: #edc9b4; background: #fff9f5; }
.as-notification-load-more.has-error > small { color: #a8490f; }
.as-notification-load-more.is-complete { border-color: #cbe8dc; background: #f3fbf7; }
.as-notification-load-more.is-complete .as-notification-load-progress > span { background: #109d72; }
.as-notification-load-more.is-complete > small { color: #087a57; font-weight: 750; }

.as-auth-body { min-height: 100vh; background: #f5f6f8; }
.as-auth-shell { min-height: 100vh; display: grid; grid-template-columns: minmax(420px, .95fr) minmax(460px, 1.05fr); }
.as-auth-story { position: relative; display: flex; flex-direction: column; overflow: hidden; padding: 48px clamp(35px, 6vw, 80px); background: linear-gradient(145deg, #101827 0%, #172238 65%, #202c43 100%); color: #fff; }
.as-auth-story::before { content: ""; position: absolute; width: 520px; height: 520px; right: -240px; top: 18%; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; box-shadow: 0 0 0 55px rgba(255,255,255,.018), 0 0 0 110px rgba(255,255,255,.012); }
.as-auth-story::after { content: ""; position: absolute; width: 250px; height: 250px; left: -110px; bottom: -100px; border-radius: 50%; background: radial-gradient(circle, rgba(243,109,33,.25), transparent 67%); }
.as-auth-brand { position: relative; z-index: 2; display: block; width: min(285px, 72%); text-decoration: none; }
.as-auth-brand img { display: block; width: 100%; height: auto; filter: drop-shadow(0 10px 22px rgba(0, 0, 0, .2)); }
.as-auth-story-copy { position: relative; z-index: 1; margin: auto 0; max-width: 590px; }
.as-auth-story-copy .as-kicker { font-size: 13px; line-height: 1.5; letter-spacing: .105em; }
.as-auth-story-copy h1 { margin: 18px 0; font-size: clamp(38px, 5vw, 60px); line-height: 1.06; letter-spacing: -.052em; }
.as-auth-story-copy p { max-width: 500px; margin: 0; color: #aab4c4; font-size: 16px; line-height: 1.75; }
.as-auth-discover { width: fit-content; min-height: 46px; display: inline-flex; align-items: center; gap: 12px; margin-top: 25px; padding: 0 17px; border: 1px solid rgba(255,181,129,.48); border-radius: 12px; background: rgba(243,109,33,.13); color: #ffe2ce; font-size: 13px; font-weight: 800; text-decoration: none; transition: background .18s ease, border-color .18s ease, transform .18s ease; }
.as-auth-discover i { font-size: 16px; }
.as-auth-discover:hover, .as-auth-discover:focus-visible { border-color: #ffaf76; background: rgba(243,109,33,.26); color: #fff; transform: translateY(-2px); outline: 2px solid rgba(255,181,129,.35); outline-offset: 3px; }
.as-auth-proof-grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.as-auth-proof-grid > div { min-height: 102px; display: flex; align-items: center; gap: 15px; padding: 20px 18px; border: 1px solid rgba(255,255,255,.11); border-radius: 18px; background: rgba(255,255,255,.055); }
.as-auth-proof-grid i { flex: 0 0 auto; color: #ff9760; font-size: 29px; }
.as-auth-proof-grid strong, .as-auth-proof-grid small { display: block; }
.as-auth-proof-grid strong { font-size: 16px; }
.as-auth-proof-grid small { margin-top: 5px; color: #aab4c4; font-size: 12.5px; line-height: 1.45; }
.as-auth-panel { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 42px; }
.as-auth-card { width: min(500px, 100%); padding: 44px; border: 1px solid var(--as-line); border-radius: 27px; background: #fff; box-shadow: var(--as-shadow); }
.as-card-brand { display: flex; align-items: center; justify-content: center; margin-bottom: 28px; padding-bottom: 21px; border-bottom: 1px solid #edf0f4; }
.as-card-brand-logo { display: block; width: min(330px,100%); height: auto; }
.as-auth-card > .as-kicker { font-size: 11.5px; }
.as-auth-title { margin: 11px 0 9px; font-size: 31px; letter-spacing: -.04em; }
.as-auth-description { margin: 0 0 28px; color: var(--as-muted); font-size: 15px; line-height: 1.7; }
.as-form { display: flex; flex-direction: column; gap: 19px; }
.as-field label { display: inline-block; margin-bottom: 8px; color: #344054; font-size: 13px; font-weight: 750; }
.as-field > small { display: block; margin-top: 8px; color: #737f91; font-size: 12px; line-height: 1.55; }
.as-label-row { display: flex; align-items: center; justify-content: space-between; }
.as-label-row a { margin-bottom: 8px; color: var(--as-orange-dark); font-size: 12px; font-weight: 700; text-decoration: none; }
.as-input-wrap { position: relative; }
.as-input-wrap > i { position: absolute; top: 50%; left: 15px; color: #919aaa; font-size: 15px; transform: translateY(-50%); pointer-events: none; }
.as-input-wrap input { width: 100%; height: 54px; padding: 0 15px 0 44px; border: 1px solid #dbe0e8; border-radius: 14px; background: #fbfcfd; color: var(--as-ink); font-size: 15px; outline: none; transition: .17s ease; }
.as-input-wrap:has(.as-password-toggle) input { padding-right: 58px; }
.as-input-wrap input::placeholder { color: #aab2bf; }
.as-input-wrap input:focus { border-color: var(--as-orange); background: #fff; box-shadow: 0 0 0 4px rgba(243,109,33,.1); }
.as-password-toggle { position: absolute; z-index: 2; top: 50%; right: 7px; width: 38px; height: 38px; display: inline-grid; place-items: center; padding: 0; border: 1px solid transparent; border-radius: 11px; background: transparent; color: #778296; cursor: pointer; transform: translateY(-50%); transition: color .16s ease, background .16s ease, border-color .16s ease; }
.as-password-toggle i { font-size: 17px; line-height: 1; }
.as-password-toggle:hover { border-color: #e2e6ec; background: #f1f3f6; color: #303b4d; }
.as-password-toggle:focus-visible { border-color: #f2b28c; background: #fff7f2; color: var(--as-orange-dark); outline: 3px solid rgba(243,109,33,.14); }
.as-password-toggle[aria-pressed="true"] { background: #fff1e8; color: var(--as-orange-dark); }
.as-password-toggle::before { content: ""; position: absolute; right: 13px; bottom: calc(100% + 3px); width: 8px; height: 8px; background: #172033; opacity: 0; pointer-events: none; transform: translateY(4px) rotate(45deg); transition: opacity .14s ease, transform .14s ease; }
.as-password-toggle::after { content: attr(data-tooltip); position: absolute; right: -2px; bottom: calc(100% + 7px); width: max-content; max-width: 165px; padding: 8px 10px; border-radius: 8px; background: #172033; color: #fff; box-shadow: 0 8px 20px rgba(15,23,42,.2); font-size: 11.5px; font-weight: 700; line-height: 1.25; white-space: nowrap; opacity: 0; pointer-events: none; transform: translateY(4px); transition: opacity .14s ease, transform .14s ease; }
.as-password-toggle:hover::before, .as-password-toggle:focus-visible::before { opacity: 1; transform: translateY(0) rotate(45deg); }
.as-password-toggle:hover::after, .as-password-toggle:focus-visible::after { opacity: 1; transform: translateY(0); }
.as-check { display: flex; align-items: center; gap: 9px; color: #657084; font-size: 12px; cursor: pointer; }
.as-check input { width: 16px; height: 16px; accent-color: var(--as-orange); }
.as-primary-button, .as-secondary-button { min-height: 53px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 0 19px; border: 0; border-radius: 14px; text-decoration: none; font-size: 14px; font-weight: 800; cursor: pointer; transition: .18s ease; }
.as-primary-button { background: var(--as-orange); color: #fff; box-shadow: 0 14px 28px rgba(243,109,33,.22); }
.as-primary-button:hover, .as-primary-button:focus-visible { background: var(--as-orange-dark); color: #fff; transform: translateY(-1px); outline: 3px solid rgba(243,109,33,.14); }
.as-primary-button i { margin-left: auto; }
.as-secondary-button { border: 1px solid #dfe4eb; background: #fff; color: #425067; }
.as-secondary-button:hover, .as-secondary-button:focus-visible { border-color: #bec7d4; background: #f8fafc; outline: 3px solid rgba(37,99,235,.08); }
.as-button-compact { min-height: 40px; }
.as-inline-back { display: block; margin-top: 20px; color: #6e798b; font-size: 12px; font-weight: 700; text-align: center; text-decoration: none; }
.as-security-note { display: flex; align-items: center; gap: 11px; margin-top: 24px; padding: 15px 16px; border: 1px solid #dceee7; border-radius: 14px; background: #f5fbf8; color: #536474; font-size: 13px; font-weight: 600; line-height: 1.6; }
.as-security-note i { flex: 0 0 auto; color: var(--as-green); font-size: 18px; }
.as-credit-footer { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 6px; padding: 22px 24px 24px; color: #7f8999; font-size: 13px; line-height: 1.55; text-align: center; }
.as-credit-footer a { color: #4f5b6d; font-size: 14.5px; font-weight: 850; letter-spacing: .06em; text-decoration: none; transition: color .18s ease; }
.as-credit-footer a:hover, .as-credit-footer a:focus-visible { color: var(--as-orange-dark); outline: none; }
.as-credit-heart { display: inline-block; font-size: 14px; filter: saturate(.9); }
.as-auth-panel > .as-credit-footer { padding-bottom: 0; }

/* Authenticated portal footer; auth screens keep their standalone signature. */
.as-portal-footer { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 20px 24px; border-top: 1px solid var(--as-line); background: #fff; color: #687386; font-size: 14px; line-height: 1.6; }
.as-portal-footer-brand, .as-portal-footer-credit { white-space: nowrap; }
.as-portal-footer-brand strong { color: #354257; }
.as-portal-footer-credit { text-align: center; }
.as-portal-footer a { color: #59677c; text-decoration: none; }
.as-portal-footer-credit a { font-weight: 700; }
.as-portal-footer a:hover { color: #a64d12; }
.as-portal-footer a:focus-visible { outline: 2px solid #a64d12; outline-offset: 4px; border-radius: 3px; }
.as-portal-footer-links { display: flex; align-items: center; justify-content: flex-end; gap: 16px; }
.as-portal-footer-links a { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; padding: 6px 0; }
@media (min-width: 1100px) and (max-width: 1439px) { .as-portal-footer-brand span { display: none; } .as-portal-footer { gap: 10px; padding-inline: 18px; } .as-portal-footer-links { gap: 10px; } }
@media (max-width: 1099px) { .as-portal-footer { flex-wrap: wrap; justify-content: center; gap: 8px 24px; } .as-portal-footer-links { justify-content: center; } }
@media (max-width: 767px) { .as-portal-footer { flex-direction: column; padding: 18px 12px; font-size: 13px; gap: 6px; } .as-portal-footer-credit { white-space: normal; } .as-portal-footer-links { flex-wrap: wrap; gap: 8px 16px; } }
.as-identity-chip { margin-bottom: 25px; padding: 15px; border: 1px solid #e9edf2; border-radius: 17px; background: linear-gradient(145deg, #f8fafc, #f3f5f8); }
.as-identity-person, .as-identity-partner { display: flex; align-items: center; gap: 13px; }
.as-identity-person { min-width: 0; }
.as-identity-copy { min-width: 0; }
.as-identity-chip strong, .as-identity-chip small { display: block; overflow-wrap: anywhere; }
.as-identity-chip .as-user-avatar { font-size: 13px; }
.as-identity-chip strong { font-size: 14px; }
.as-identity-chip small { margin-top: 4px; color: var(--as-muted); font-size: 12px; }
.as-identity-partner { position: relative; margin-top: 14px; padding: 14px 13px 1px 0; border-top: 1px solid #e2e7ed; }
.as-identity-partner-icon { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 12px; background: #fff0e7; color: var(--as-orange-dark); box-shadow: inset 0 0 0 1px rgba(243,109,33,.1); }
.as-identity-partner-icon i { font-size: 17px; }
.as-identity-chip .as-identity-label { margin: 0 0 3px; color: var(--as-orange-dark); font-size: 9px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.as-auth-success-icon, .as-auth-warning-icon { width: 62px; height: 62px; display: grid; place-items: center; margin-bottom: 20px; border-radius: 19px; font-size: 27px; }
.as-auth-success-icon { background: #e8f8f2; color: var(--as-green); }
.as-auth-warning-icon { background: #fff0e7; color: var(--as-orange-dark); }

@media (max-width: 1050px) {
    .as-app-shell { grid-template-columns: 82px minmax(0,1fr); }
    .as-sidebar { align-items: center; padding-inline: 14px; }
    .as-sidebar .as-brand > span:last-child, .as-nav-link span, .as-nav-link small, .as-sidebar-trust > div { display: none; }
    .as-nav-link { width: 50px; justify-content: center; padding: 0; }
    .as-nav-link i { width: auto; }
    .as-sidebar-footer { padding-top: 20px; }
    .as-sidebar-signature { display: none; }
    .as-sidebar-trust { padding: 8px; }
    .as-auth-shell { grid-template-columns: 1fr; }
    .as-auth-story { min-height: 420px; }
    .as-auth-story-copy { margin: 44px 0 0; }
    .as-auth-proof-grid { margin-top: 50px; }
    .as-admin-grid { grid-template-columns: 1fr; }
    .as-detail-grid { grid-template-columns: 1fr; }
    .as-user-row { flex-wrap: wrap; }
    .as-user-identity { min-width: calc(100% - 55px) !important; }
    .as-user-access { flex: 1 1 250px !important; }
    .as-user-actions { margin-left: auto; }
    .as-partner-index-hero { align-items: flex-start; flex-direction: column; gap: 25px; }
    .as-partner-index-overview { width: min(440px, 100%); }
    .as-partner-safety-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .as-partner-directory-panel .as-partner-row { grid-template-columns: 52px minmax(0, 1fr) auto auto; }
    .as-partner-directory-panel .as-partner-logo { grid-row: 1 / span 2; }
    .as-partner-row-identity { grid-column: 2; grid-row: 1; }
    .as-partner-row-meta { grid-column: 2 / -1; grid-row: 2; }
    .as-partner-directory-panel .as-status-badge { grid-column: 3; grid-row: 1; }
    .as-partner-row-actions { grid-column: 4; grid-row: 1; }
}

@media (max-width: 720px) {
    .as-app-shell { display: block; padding-bottom: 72px; }
    .as-sidebar { position: fixed; z-index: 30; top: auto; right: 0; bottom: 0; left: 0; width: auto; height: 69px; display: block; padding: 8px 10px calc(8px + env(safe-area-inset-bottom)); overflow: visible; border-top: 1px solid rgba(255,255,255,.08); }
    .as-sidebar > .as-brand, .as-sidebar-footer { display: none; }
    .as-nav { display: grid; grid-template-columns: repeat(auto-fit, minmax(52px,1fr)); gap: 3px; margin: 0; }
    .as-nav-link { position: relative; width: auto; min-height: 51px; flex-direction: column; justify-content: center; gap: 2px; border-radius: 10px; font-size: 8px; text-align: center; }
    .as-nav-link.is-disabled { display: none; }
    .as-nav-count { position: absolute; top: 0; right: 2px; min-width: 16px; height: 16px; padding: 0 4px; font-size: 9px; }
    .as-nav-link span { display: block; flex: 0; }
    .as-nav-link small { display: none; }
    .as-nav-link i { font-size: 16px; }
    .as-topbar { height: 74px; padding: 0 16px; }
    .as-topbar-brand { width: 172px; flex: 0 1 172px; }
    .as-topbar-actions { width: auto; flex: 0 0 auto; justify-content: flex-end; }
    .as-user-menu { gap: 9px; padding: 5px 6px 5px 7px; }
    .as-user-menu::before { top: 9px; bottom: 9px; }
    .as-user-avatar { width: 38px; height: 38px; border-radius: 11px; font-size: 11px; }
    .as-user-copy { min-width: 0; gap: 2px; padding-right: 2px; }
    .as-user-copy strong,.as-user-partner,.as-user-role { max-width: 110px; }
    .as-user-copy strong { font-size: 12px; }
    .as-user-partner { gap: 4px; font-size: 9.5px; }
    .as-user-role { gap: 4px; padding: 2px 6px; font-size: 8.5px; }
    .as-logout-link { width: 36px; height: 42px; }
    .as-main { padding: 24px 16px; }
    .as-page-heading, .as-page-heading-inline { align-items: flex-start; flex-direction: column; }
    .as-date-chip { display: none; }
    .as-section-heading { align-items: flex-start; flex-direction: column; }
    .as-notification-main { align-items: flex-start; gap: 13px; padding: 17px 15px; }
    .as-notification-icon { width: 44px; height: 44px; border-radius: 13px; font-size: 17px; }
    .as-notification-meta { align-items: flex-start; flex-direction: column; gap: 2px; }
    .as-notification-arrow { display: none; }
    .as-notification-details { margin: -3px 15px 16px; }
    .as-notification-details summary { padding: 0 14px; }
    .as-notification-details-body { padding: 14px; }
    .as-notification-machine-facts { grid-template-columns: 1fr 1fr; }
    .as-notification-load-more { padding: 16px; }
    .as-notification-more-button { width: 100%; }
    .as-auth-story { min-height: 280px; padding: 29px 24px 62px; }
    .as-auth-brand { width: 220px; }
    .as-auth-story-copy { margin: 30px 0 0; }
    .as-auth-story-copy h1 { font-size: 35px; }
    .as-auth-story-copy p { font-size: 14px; }
    .as-auth-discover { margin-top: 17px; }
    .as-auth-proof-grid { display: none; }
    .as-auth-panel { padding: 20px 14px 30px; }
    .as-auth-card { margin-top: -34px; padding: 28px 22px; border-radius: 23px; position: relative; z-index: 2; }
    .as-card-brand { margin-bottom: 23px; padding-bottom: 18px; }
    .as-auth-title { font-size: 27px; }
    .as-detail-grid { grid-template-columns: 1fr; }
    .as-form-grid { grid-template-columns: 1fr; }
    .as-partner-hero { align-items: flex-start; flex-wrap: wrap; padding: 22px; }
    .as-partner-hero-copy { min-width: calc(100% - 85px); }
    .as-partner-management-page .as-partner-hero { gap: 14px; margin-bottom: 25px; padding: 21px; }
    .as-partner-management-page .as-partner-hero-logo { width: 58px; height: 58px; border-radius: 16px; font-size: 24px; }
    .as-partner-management-page .as-partner-hero-copy { min-width: calc(100% - 72px); }
    .as-partner-management-page .as-partner-hero-copy h1 { font-size: 25px; }
    .as-partner-management-page .as-partner-hero-copy p { font-size: 12.5px; }
    .as-partner-hero-state { width: 100%; min-width: 0; align-items: flex-start; margin-left: 0; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.1); }
    .as-partner-account-control { align-items: stretch; gap: 14px; margin-top: -8px; padding: 17px; }
    .as-partner-account-control-copy { text-align: center; }
    .as-partner-account-control-copy small { max-width: none; }
    .as-partner-account-control form, .as-partner-status-action { width: 100%; }
    .as-partner-account-control-icon { margin: 0 auto; }
    .as-partner-source-lock { max-width: none; text-align: left; }
    .as-partner-management-page .as-partner-team-heading h2 { font-size: 24px; }
    .as-partner-management-page .as-partner-team-heading p { font-size: 13px; }
    .as-user-row { flex-wrap: wrap; }
    .as-user-row > div { min-width: 0; }
    .as-user-identity { min-width: calc(100% - 55px) !important; }
    .as-user-access { flex: 1 1 100% !important; }
    .as-user-actions { margin-left: auto; }
    .as-partner-management-page .as-user-row { gap: 12px; padding: 15px; }
    .as-partner-management-page .as-user-avatar { width: 42px; height: 42px; }
    .as-partner-management-page .as-user-identity { min-width: calc(100% - 54px) !important; }
    .as-partner-management-page .as-user-name-row > strong { max-width: 100%; font-size: 14px; }
    .as-partner-management-page .as-user-identity > small { font-size: 12px; }
    .as-partner-management-page .as-user-access { flex: 1 1 100% !important; }
    .as-partner-management-page .as-inline-role-form { width: 100%; }
    .as-partner-management-page .as-inline-role-form button { width: 42px; justify-content: center; padding: 0; }
    .as-partner-management-page .as-admin-card { padding: 22px; }
    .as-partner-management-page .as-admin-card-heading h2 { font-size: 20px; }
    .as-partner-management-page .as-module-icon { width: 47px; height: 47px; }
    .as-partner-management-page .as-detail-list > div { grid-template-columns: 95px minmax(0, 1fr); gap: 12px; }
    .as-partner-profile-note { padding: 14px; }
    .as-inline-role-form button span { display: none; }
    .as-partner-role-grid { grid-template-columns: 1fr; }
    .as-confirm-dialog-card { padding: 21px; }
    .as-confirm-dialog-actions { display: grid; grid-template-columns: 1fr 1fr; }
    .as-partner-index-hero { min-height: 0; gap: 23px; padding: 28px 22px; border-radius: 22px; }
    .as-partner-index-hero::before { top: -210px; right: -150px; }
    .as-partner-index-hero-copy h1 { margin-top: 12px; font-size: 30px; }
    .as-partner-index-hero-copy p { font-size: 14px; line-height: 1.65; }
    .as-partner-index-overview { min-width: 0; grid-template-columns: 48px repeat(2, minmax(0, 1fr)); gap: 10px; padding: 14px; border-radius: 17px; }
    .as-partner-index-overview.has-three { min-width: 0; grid-template-columns: 48px repeat(3, minmax(0, 1fr)); }
    .as-partner-index-overview-icon { width: 48px; height: 48px; border-radius: 14px; font-size: 21px; }
    .as-partner-index-overview > div { padding-left: 10px; }
    .as-partner-index-overview strong { font-size: 23px; }
    .as-partner-index-overview div span { font-size: 10.5px; }
    .as-partner-index-onboarding { margin-top: 18px; }
    .as-partner-index-onboarding .as-admin-card { padding: 22px; border-radius: 20px; }
    .as-partner-create-card .as-admin-card-heading { align-items: flex-start; flex-wrap: wrap; }
    .as-partner-create-card .as-admin-card-heading h2 { font-size: 21px; }
    .as-partner-step-badge { margin-left: 69px; }
    .as-partner-create-card .as-admin-description { font-size: 13.5px; }
    .as-partner-safety-list { grid-template-columns: 1fr; }
    .as-partner-safety-list li { padding: 13px; }
    .as-partner-directory-heading { gap: 12px; margin-top: 34px; }
    .as-partner-directory-heading h2 { font-size: 24px; }
    .as-partner-directory-heading p { font-size: 13px; }
    .as-partner-directory-heading .as-soft-badge { display: inline-flex; }
    .as-partner-directory-panel .as-partner-row { grid-template-columns: 48px minmax(0, 1fr); gap: 11px 13px; min-height: 0; padding: 16px; }
    .as-partner-directory-panel .as-partner-logo { width: 48px; height: 48px; grid-row: 1; border-radius: 14px; }
    .as-partner-row-identity { grid-column: 2; grid-row: 1; align-self: center; }
    .as-partner-row-identity strong { font-size: 14.5px; white-space: normal; }
    .as-partner-directory-panel .as-status-badge { grid-column: 2; grid-row: 2; justify-self: start; }
    .as-partner-row-meta { grid-column: 1 / -1; grid-row: 3; gap: 8px 14px; padding-top: 11px; border-top: 1px solid #edf0f4; }
    .as-partner-row-meta span, .as-partner-row-meta a { font-size: 11.5px; }
    .as-partner-row-actions { grid-column: 1 / -1; grid-row: 4; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 2px; }
    .as-partner-row-actions form, .as-partner-quick-status, .as-partner-row-action { width: 100%; }
    .as-partner-row-action { justify-content: center; min-height: 43px; }
    .as-partner-quick-status { min-height: 43px; }
    .as-partner-row-actions.is-single .as-partner-row-action { grid-column: 1 / -1; }
}

@media (max-width: 420px) {
    .as-partner-index-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .as-partner-index-overview.has-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .as-partner-index-overview-icon { display: none; }
    .as-partner-index-overview > div:first-of-type { padding-left: 0; border-left: 0; }
    .as-partner-step-badge { margin-left: 0; }
    .as-partner-safety-heading { align-items: flex-start; }
    .as-partner-safety-heading h2 { font-size: 21px; }
    .as-partner-row-actions { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
    .as-active-pulse::after { animation: none; opacity: .45; transform: scale(1); }
}

/* Machine inventory and installation */
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.as-page-back { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 22px; color: var(--as-muted); font-size: 13.5px; font-weight: 750; text-decoration: none; }
.as-page-back:hover, .as-page-back:focus-visible { color: var(--as-orange-dark); outline: none; }
.as-page-heading.as-machine-page-heading { align-items: flex-start; }
.as-machine-page-heading > div:first-child { min-width: 0; flex: 1 1 390px; }
.as-machine-sync-note { width: fit-content; max-width: 100%; min-width: 0; display: flex; align-items: stretch; flex: 0 1 auto; flex-direction: column; gap: 4px; padding: 11px 15px 9px; border: 1px solid #dce8e3; border-radius: 15px; background: #f3fbf7; color: #26715a; font-size: 12px; font-weight: 750; }
.as-machine-sync-message { min-width: 0; display: inline-flex; align-items: flex-start; gap: 8px; overflow-wrap: anywhere; line-height: 1.45; white-space: normal; }
.as-machine-sync-message i { flex: 0 0 auto; font-size: 15px; }
.as-machine-sync-time { width: 100%; color: #748179; font-size: 10.5px; font-weight: 600; line-height: 1.4; text-align: right; }
.as-machine-sync-time strong { color: #56645c; font-weight: 750; }
.as-machine-stat-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 13px; margin-bottom: 17px; }
.as-machine-stat-card { min-width: 0; display: flex; align-items: center; gap: 13px; padding: 17px 18px; border: 1px solid var(--as-line); border-radius: 17px; background: #fff; color: inherit; box-shadow: 0 9px 25px rgba(15,23,42,.035); text-decoration: none; transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.as-machine-stat-card:hover { border-color: #cfd6e0; box-shadow: 0 13px 29px rgba(15,23,42,.075); transform: translateY(-1px); }
.as-machine-stat-card:focus-visible { border-color: var(--as-orange); outline: 3px solid rgba(243,109,33,.13); }
.as-machine-stat-card.is-active { border-color: #efb38f; box-shadow: 0 0 0 2px rgba(243,109,33,.09), 0 10px 27px rgba(15,23,42,.05); }
.as-machine-stat-card > span { width: 42px; height: 42px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 13px; font-size: 18px; }
.as-machine-stat-grid small, .as-machine-stat-grid strong { display: block; }
.as-machine-stat-grid small { color: var(--as-muted); font-size: 12px; font-weight: 750; letter-spacing: .025em; text-transform: uppercase; }
.as-machine-stat-grid strong { margin-top: 4px; font-size: 24px; line-height: 1; }
.as-machine-stat-grid .is-total { background: #edf1f7; color: #334155; }
.as-machine-stat-grid .is-waiting { background: #fff1e8; color: var(--as-orange-dark); }
.as-machine-stat-grid .is-progress { background: #eaf1ff; color: var(--as-blue); }
.as-machine-stat-grid .is-review { background: #fff4d9; color: #9a5d00; }
.as-machine-stat-grid .is-installed { background: #e7f7f1; color: #087a57; }
.as-machine-filters { position: relative; overflow: hidden; margin-bottom: 18px; padding: 0; border: 1px solid #dfe4eb; border-radius: 19px; background: #fff; box-shadow: 0 11px 30px rgba(15,23,42,.045); }
.as-machine-filters::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: linear-gradient(180deg, var(--as-orange), #f9a36f); }
.as-machine-filter-heading { display: flex; align-items: center; gap: 12px; padding: 16px 18px 14px 20px; border-bottom: 1px solid #edf0f4; background: linear-gradient(100deg,#fffaf7,#fff 58%); }
.as-machine-filter-icon { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 11px; background: #fff0e6; color: var(--as-orange-dark); font-size: 17px; }
.as-machine-filter-heading > div { min-width: 0; flex: 1; }
.as-machine-filter-heading h2 { margin: 0; color: #202b3d; font-size: 17px; letter-spacing: -.01em; }
.as-machine-filter-heading p { margin: 4px 0 0; color: #667286; font-size: 13.5px; }
.as-machine-filter-active { display: inline-flex; align-items: center; gap: 6px; padding: 7px 10px; border: 1px solid #f1c9ae; border-radius: 999px; background: #fff6f0; color: #a74b18; font-size: 12px; font-weight: 800; white-space: nowrap; }
.as-machine-filter-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 13px; padding: 17px 20px; }
.as-machine-filter-field, .as-machine-filter-attributes .ready-product-filter-field { min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.as-machine-filter-field-wide { grid-column: span 2; }
.as-machine-filter-field > span:first-child, .as-machine-filter-attributes .ready-product-filter-field > span { color: #465368; font-size: 13px; font-weight: 800; letter-spacing: .015em; }
.as-machine-filters input, .as-machine-filters select { width: 100%; height: 46px; padding: 0 12px; border: 1px solid #dfe4eb; border-radius: 10px; background: #fff; color: var(--as-ink); font-size: 14.5px; outline: none; transition: border-color .16s ease,box-shadow .16s ease,background .16s ease; }
.as-machine-filters input:hover, .as-machine-filters select:hover { border-color: #cdd4de; }
.as-machine-filters input:focus, .as-machine-filters select:focus { border-color: var(--as-orange); box-shadow: 0 0 0 3px rgba(243,109,33,.1); }
.as-machine-filters .select2-container { width: 100% !important; min-width: 0; }
.as-machine-filters .select2-container--default .select2-selection--single { height: 46px; border: 1px solid #dfe4eb; border-radius: 10px; background: #fff; }
.as-machine-filters .select2-container--default .select2-selection--single .select2-selection__rendered { padding: 0 68px 0 12px; color: var(--as-ink); font-size: 14.5px; line-height: 44px; }
.as-machine-filters .select2-container--default .select2-selection--single .select2-selection__arrow { width: 38px; height: 44px; }
.as-machine-filters .select2-container--default .select2-selection--single .select2-selection__clear { right: 39px; width: 25px; height: 25px; }
.as-machine-filters .select2-container--default.select2-container--focus .select2-selection--single,.as-machine-filters .select2-container--default.select2-container--open .select2-selection--single { border-color: var(--as-orange); box-shadow: 0 0 0 3px rgba(243,109,33,.1); }
.select2-dropdown { border-color: #d7dde6; border-radius: 10px; overflow: hidden; color: var(--as-ink); font-size: 14px; }
.select2-search--dropdown { padding: 9px; background: #f8fafc; }
.select2-search--dropdown .select2-search__field { height: 40px; padding: 0 11px; border: 1px solid #d7dde6 !important; border-radius: 8px; font: inherit; outline: none; }
.select2-search--dropdown .select2-search__field:focus { border-color: var(--as-orange) !important; box-shadow: 0 0 0 3px rgba(243,109,33,.1); }
.select2-results__option { padding: 10px 12px; }
.select2-container--default .select2-results__option--highlighted[aria-selected] { background: var(--as-orange); color: #fff; }
.as-machine-search { position: relative; }
.as-machine-input-icon { position: absolute; z-index: 1; top: 31px; left: 13px; color: #8490a1; pointer-events: none; }
.as-machine-input-icon + input { padding-left: 38px; }
.as-machine-filter-attribute-section { margin: 0 20px; padding: 14px 15px 15px; border: 1px solid #e9edf2; border-radius: 13px; background: #fafbfd; }
.as-machine-filter-section-title { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.as-machine-filter-section-title > span { color: #465368; font-size: 13px; font-weight: 850; }
.as-machine-filter-section-title small { color: #707c8e; font-size: 12px; }
.as-machine-filter-section-title small.is-hidden { display: none; }
.as-machine-filter-attributes { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.as-machine-filter-attributes:not(.is-empty) { margin-top: 12px; }
.as-machine-filter-attributes.is-empty { display: none; }
.as-machine-filter-actions { display: flex; align-items: center; justify-content: flex-end; gap: 12px; padding: 14px 20px 17px; }
.as-machine-filter-submit { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0 18px; border: 1px solid var(--as-orange); border-radius: 11px; background: var(--as-orange); color: #fff; box-shadow: 0 8px 17px rgba(214,85,20,.2); font: inherit; font-size: 14px; font-weight: 800; cursor: pointer; }
.as-machine-filter-submit:hover, .as-machine-filter-submit:focus-visible { border-color: var(--as-orange-dark); background: var(--as-orange-dark); outline: none; }
.as-clear-filter { display: inline-flex; align-items: center; gap: 6px; padding: 8px 4px; color: #a34422; font-size: 13px; font-weight: 750; text-decoration: none; white-space: nowrap; }
.as-clear-filter:hover, .as-clear-filter:focus-visible { color: #7f2f13; text-decoration: underline; outline: none; }
.as-machine-results { position: relative; min-height: 120px; scroll-margin-top: 20px; outline: none; }
.as-machine-page-loader { position: absolute; z-index: 8; top: 34px; left: 50%; display: flex; align-items: center; gap: 10px; padding: 11px 15px; border: 1px solid rgba(213,219,228,.92); border-radius: 999px; background: rgba(255,255,255,.96); color: #3c4759; box-shadow: 0 15px 35px rgba(15,23,42,.13); opacity: 0; pointer-events: none; transform: translate(-50%, -6px); transition: opacity .16s ease, transform .16s ease; }
.as-machine-page-loader i { width: 17px; height: 17px; display: block; border: 2px solid #dbe0e7; border-top-color: var(--as-orange); border-radius: 50%; animation: as-machine-page-spin .7s linear infinite; }
.as-machine-page-loader strong { font-size: 11.5px; white-space: nowrap; }
.as-machine-results.is-loading { pointer-events: none; }
.as-machine-results.is-loading .as-machine-page-loader { opacity: 1; transform: translate(-50%, 0); }
.as-machine-results .as-machine-list, .as-machine-results .as-machine-empty, .as-machine-results .as-machine-pagination { transition: opacity .18s ease, transform .18s ease, filter .18s ease; }
.as-machine-results.is-loading .as-machine-list, .as-machine-results.is-loading .as-machine-empty, .as-machine-results.is-loading .as-machine-pagination { opacity: .38; filter: saturate(.7); transform: translateY(3px); }
.as-machine-results.is-entering .as-machine-list, .as-machine-results.is-entering .as-machine-empty, .as-machine-results.is-entering .as-machine-pagination { opacity: 0; transform: translateY(8px); }
@keyframes as-machine-page-spin { to { transform: rotate(360deg); } }
.as-machine-list { display: grid; gap: 12px; }
.as-machine-card { display: grid; grid-template-columns: minmax(0, 1fr) 240px; align-items: stretch; overflow: hidden; border: 1px solid var(--as-line); border-radius: 19px; background: #fff; box-shadow: 0 9px 27px rgba(15,23,42,.035); transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.as-machine-card:hover { border-color: #d4dae4; box-shadow: 0 14px 32px rgba(15,23,42,.065); transform: translateY(-1px); }
.as-machine-card-main { min-width: 0; display: flex; align-items: center; gap: 17px; padding: 20px; color: inherit; text-decoration: none; }
.as-machine-visual { width: 58px; height: 58px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 17px; background: linear-gradient(145deg, #fff2e9, #ffe6d6); color: var(--as-orange-dark); font-size: 25px; }
.as-machine-visual.has-machine-art { width: 92px; height: 76px; padding: 7px; overflow: hidden; border: 1px solid #e3e7ec; border-radius: 20px; background: linear-gradient(145deg, #fff, #f1f4f7); box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 10px 22px rgba(15,23,42,.09); }
.as-machine-visual.has-machine-art img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 5px 5px rgba(15,23,42,.17)); transition: transform .2s ease; }
.as-machine-card:hover .as-machine-visual.has-machine-art img { transform: scale(1.045); }
.as-machine-card-copy { min-width: 0; flex: 1; }
.as-machine-card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.as-machine-category { color: var(--as-orange-dark); font-size: 11.5px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.as-machine-card h2 { margin: 5px 0 0; font-size: 20px; line-height: 1.3; }
.as-machine-status, .as-installation-status { display: inline-flex; align-items: center; gap: 6px; padding: 7px 10px; border-radius: 999px; font-size: 12px; font-weight: 800; white-space: nowrap; }
.as-machine-status::before, .as-installation-status::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.as-machine-status.is-awaiting-installation, .as-installation-status.is-draft { background: #fff1e8; color: #a8490f; }
.as-machine-status.is-installation-in-progress, .as-installation-status.is-submitted { background: #eaf1ff; color: #1f5dc0; }
.as-machine-status.is-awaiting-approval { background: #fff4d9; color: #9a5d00; }
.as-machine-status.is-installed, .as-installation-status.is-completed { background: #e7f7f1; color: #087a57; }
.as-machine-status.is-out-of-service, .as-installation-status.is-cancelled { background: #f1f3f6; color: #687386; }
.as-installation-status.is-revision-requested { background: #fff4d9; color: #9a5d00; }
.as-machine-meta { display: flex; align-items: stretch; flex-wrap: wrap; gap: 9px; margin-top: 16px; }
.as-machine-meta-item { min-width: 145px; display: grid; grid-template-columns: 34px minmax(0, 1fr); align-items: center; gap: 9px; padding: 8px 11px 8px 8px; border: 1px solid #e4e8ee; border-radius: 12px; background: #f9fafc; }
.as-machine-meta-item > i { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; background: #edf1f6; color: #536176; font-size: 15px; }
.as-machine-meta-item > span { min-width: 0; }
.as-machine-meta-item small, .as-machine-meta-item strong { display: block; }
.as-machine-meta-item small { color: #697588; font-size: 10.5px; font-weight: 800; letter-spacing: .025em; text-transform: uppercase; }
.as-machine-meta-item strong { max-width: 220px; margin-top: 3px; overflow: hidden; color: #344054; font-size: 14.5px; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.as-machine-meta-item.is-serial { border-color: #f0d8c8; background: #fffaf7; }
.as-machine-meta-item.is-serial > i { background: #fff0e6; color: var(--as-orange-dark); }
.as-machine-meta-item.is-serial strong { color: #9a4218; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: 15px; letter-spacing: .025em; }
.as-machine-meta-item.is-year > i { background: #edf3ff; color: #3566af; }
.as-machine-meta-item.is-shipment > i { background: #eaf8f3; color: #197158; }
.as-machine-meta-item.is-partner { min-width: 190px; }
.as-machine-chevron { color: #a3acba; font-size: 17px; }
.as-machine-card-action { display: flex; align-items: stretch; justify-content: center; flex-direction: column; gap: 10px; padding: 16px; border-left: 1px solid #edf0f4; background: #fbfcfd; }
.as-machine-card-warranty { width: 100%; min-width: 0; display: grid; grid-template-columns: 36px minmax(0,1fr); align-items: center; gap: 10px; padding: 13px; border: 1px solid transparent; border-radius: 13px; }
.as-machine-card-warranty > i { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; font-size: 17px; }
.as-machine-card-warranty > span { min-width: 0; }
.as-machine-card-warranty small, .as-machine-card-warranty strong { display: block; }
.as-machine-card-warranty small { font-size: 12.5px; font-weight: 850; line-height: 1.35; }
.as-machine-card-warranty strong { margin-top: 4px; font-size: 14px; font-weight: 750; line-height: 1.45; overflow-wrap: anywhere; }
.as-machine-card-warranty strong em { display: block; font-size: 11.5px; font-style: normal; font-weight: 650; }
.as-machine-card-warranty.is-active { border-color: #c6e7da; background: linear-gradient(145deg,#f0faf6,#e7f7f1); color: #087a57; }
.as-machine-card-warranty.is-active > i { background: #d2eee3; color: #087a57; }
.as-machine-card-warranty.is-active strong { color: #236a55; }
.as-machine-card-warranty.is-active strong em { color: #5d8879; }
.as-machine-card-warranty.is-expired { border-color: #e99ca1; background: linear-gradient(145deg,#fff1f1,#ffe1e3); color: #a1212d; }
.as-machine-card-warranty.is-expired > i { background: #ffd0d4; color: #a1212d; }
.as-machine-card-warranty.is-expired strong { color: #85202a; }
.as-machine-card-warranty.is-expired strong em { color: #9d4750; }
.as-machine-install-button { width: 100%; min-height: 46px; padding-inline: 15px; font-size: 12px; }
.as-review-chip { display: inline-flex; align-items: center; gap: 7px; color: #37679f; font-size: 14px; font-weight: 750; }
.as-machine-empty { padding: 56px 24px; border: 1px dashed #d7dde6; border-radius: 19px; background: #fff; text-align: center; }
.as-machine-empty > span { width: 62px; height: 62px; display: grid; place-items: center; margin: 0 auto 16px; border-radius: 19px; background: #f1f3f7; color: #6d788a; font-size: 25px; }
.as-machine-empty h2 { margin: 0; font-size: 19px; }
.as-machine-empty p { margin: 8px 0 0; color: var(--as-muted); font-size: 14px; }
.as-machine-pagination { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 18px; padding: 13px 14px 13px 17px; border: 1px solid var(--as-line); border-radius: 17px; background: rgba(255,255,255,.9); box-shadow: 0 9px 25px rgba(15,23,42,.035); }
.as-machine-pagination > p { margin: 0; color: #6b7789; font-size: 13px; font-weight: 650; white-space: nowrap; }
.as-machine-pagination > p strong { color: #39465a; font-size: 14px; }
.as-machine-pagination-pages { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 6px; }
.as-machine-page-link { min-width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 0 10px; border: 1px solid #e0e5ec; border-radius: 11px; background: #fff; color: #536075; font-size: 12px; font-weight: 800; text-decoration: none; transition: border-color .16s ease, background .16s ease, color .16s ease, box-shadow .16s ease, transform .16s ease; }
.as-machine-page-link:hover, .as-machine-page-link:focus-visible { border-color: #efaa82; background: #fff8f3; color: var(--as-orange-dark); box-shadow: 0 7px 17px rgba(121,61,27,.09); outline: none; transform: translateY(-1px); }
.as-machine-page-link.is-active { border-color: var(--as-orange); background: var(--as-orange); color: #fff; box-shadow: 0 8px 18px rgba(214,85,20,.22); }
.as-machine-page-link.is-direction { padding-inline: 13px; }
.as-machine-page-link.is-disabled { border-color: #e7eaf0; background: #f7f8fa; color: #adb5c1; box-shadow: none; cursor: default; transform: none; }
.as-machine-page-gap { min-width: 20px; color: #9da6b4; font-size: 14px; text-align: center; }
.as-machine-detail-hero { container-type: inline-size; position: relative; isolation: isolate; min-height: 190px; display: grid; grid-template-columns: 190px minmax(0, 1fr) auto; align-items: center; gap: 29px; overflow: hidden; padding: 31px 34px; border: 1px solid #2f3c52; border-radius: 20px; background: linear-gradient(112deg, #111827 0%, #182235 56%, #202c41 100%); color: #fff; box-shadow: 0 22px 48px rgba(15,23,42,.18); }
.as-machine-detail-hero::before { content: ""; position: absolute; z-index: -1; inset: 0 auto 0 0; width: 5px; background: var(--as-orange); }
.as-machine-detail-hero::after { content: ""; position: absolute; z-index: -1; width: 330px; height: 330px; right: -135px; top: -185px; border: 1px solid rgba(255,255,255,.055); border-radius: 50%; box-shadow: 0 0 0 42px rgba(255,255,255,.018), 0 0 0 84px rgba(255,255,255,.012); }
.as-machine-detail-icon { width: 88px; height: 88px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid rgba(255,255,255,.13); border-radius: 18px; background: rgba(255,255,255,.065); color: #ff9b64; font-size: 36px; }
.as-machine-detail-icon.has-machine-art { width: 190px; height: auto; aspect-ratio: 1.45 / 1; padding: 10px; overflow: hidden; border-color: rgba(255,255,255,.25); border-radius: 18px; background: linear-gradient(145deg, #fff, #e9edf2); box-shadow: 0 17px 35px rgba(0,0,0,.26); }
.as-machine-detail-icon.has-machine-art img { width: 100%; max-width: 100%; height: 100%; display: block; object-fit: contain; filter: drop-shadow(0 8px 7px rgba(15,23,42,.2)); }
.as-machine-detail-title { min-width: 0; }
.as-machine-detail-title > span { color: #ff9a60; font-size: 14px; font-weight: 800; letter-spacing: .075em; text-transform: uppercase; }
.as-machine-hero-title-row { margin: 8px 0 18px; }
.as-machine-detail-title h1 { margin: 0; font-size: clamp(32px, 3vw, 42px); line-height: 1.15; letter-spacing: -.04em; }
.as-machine-identity-row { display: flex; align-items: stretch; flex-wrap: wrap; gap: 8px; }
.as-machine-identity-row > span { min-width: 135px; display: grid; grid-template-columns: 28px minmax(0, 1fr); column-gap: 8px; padding: 8px 12px 8px 9px; border: 1px solid rgba(255,255,255,.11); border-radius: 10px; background: rgba(255,255,255,.055); }
.as-machine-identity-row > span > i { grid-row: 1 / 3; align-self: center; color: #ff9a60; font-size: 15px; }
.as-machine-identity-row small, .as-machine-identity-row strong { display: block; }
.as-machine-identity-row small { color: #aeb7c6; font-size: 11.5px; font-weight: 700; }
.as-machine-identity-row strong { overflow-wrap: anywhere; color: #fff; font-size: 15px; line-height: 1.4; }
.as-machine-hero-status { --status-bg: #edf1f7; --status-bg-soft: #f8fafc; --status-border: #cbd5e1; --status-ink: #334155; --status-icon: #e2e8f0; position: relative; z-index: 1; min-width: 220px; max-width: 245px; display: grid; grid-template-columns: 42px minmax(0,1fr) 18px; align-items: center; gap: 11px; overflow: hidden; padding: 13px 13px 13px 12px; border: 1px solid var(--status-border); border-radius: 16px; background: linear-gradient(145deg,var(--status-bg-soft),var(--status-bg)); color: var(--status-ink); box-shadow: 0 14px 30px rgba(0,0,0,.17), inset 0 1px 0 rgba(255,255,255,.85); }
.as-machine-hero-status::after { content: ""; position: absolute; z-index: -1; width: 76px; height: 76px; top: -46px; right: -34px; border: 1px solid currentColor; border-radius: 50%; opacity: .08; box-shadow: 0 0 0 15px currentColor; }
.as-machine-hero-status.is-awaiting-installation { --status-bg: #ffe8d8; --status-bg-soft: #fff8f3; --status-border: #efb38f; --status-ink: #a8490f; --status-icon: #ffdfca; }
.as-machine-hero-status.is-installation-in-progress { --status-bg: #dce9ff; --status-bg-soft: #f4f7ff; --status-border: #a9c4ef; --status-ink: #1f5dc0; --status-icon: #cfdef8; }
.as-machine-hero-status.is-awaiting-approval { --status-bg: #ffedbd; --status-bg-soft: #fffaf0; --status-border: #e6c574; --status-ink: #8a5705; --status-icon: #f8df9e; }
.as-machine-hero-status.is-installed { --status-bg: #d8f2e8; --status-bg-soft: #f1fbf7; --status-border: #9fd6c3; --status-ink: #087a57; --status-icon: #c5e9dc; }
.as-machine-hero-status.is-out-of-service { --status-bg: #e8ebef; --status-bg-soft: #f8f9fa; --status-border: #cbd1d8; --status-ink: #687386; --status-icon: #dde1e6; }
.as-machine-hero-status-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; background: var(--status-icon); color: var(--status-ink); box-shadow: inset 0 1px 0 rgba(255,255,255,.7); font-size: 18px; }
.as-machine-hero-status-copy { min-width: 0; }
.as-machine-hero-status-copy small, .as-machine-hero-status-copy strong { display: block; }
.as-machine-hero-status-copy small { color: color-mix(in srgb,var(--status-ink) 68%,#64748b); font-size: 11.5px; font-weight: 850; letter-spacing: .055em; text-transform: uppercase; }
.as-machine-hero-status-copy strong { margin-top: 3px; color: var(--status-ink); font-size: 15px; font-weight: 850; line-height: 1.35; overflow-wrap: anywhere; }
.as-machine-hero-status-accent { align-self: start; color: var(--status-ink); font-size: 13px; opacity: .45; }
.as-machine-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 17px; margin-top: 17px; }
.as-machine-info-card, .as-installation-section { border: 1px solid var(--as-line); border-radius: 19px; background: #fff; box-shadow: 0 9px 27px rgba(15,23,42,.035); }
.as-machine-info-card { padding: 28px; }
.as-machine-section-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding-bottom: 19px; border-bottom: 1px solid #e7eaf0; }
.as-machine-section-header h2 { margin: 0; color: #202b3d; font-size: 23px; line-height: 1.25; letter-spacing: -.025em; }
.as-machine-section-header h2 > i { margin-right: 9px; color: var(--as-orange-dark); font-size: .9em; }
.as-machine-section-header p { max-width: 430px; margin: 7px 0 0; color: #667286; font-size: 15px; line-height: 1.6; }
.as-machine-section-header > i { flex: 0 0 auto; color: #b6beca; font-size: 25px; }
.as-machine-info-header { align-items: center; }
.as-machine-entry-date { min-width: 190px; display: flex; align-items: center; gap: 11px; padding: 10px 13px 10px 10px; border: 1px solid #cfe5db; border-radius: 13px; background: linear-gradient(145deg, #f3fbf7, #eaf8f2); }
.as-machine-entry-date > span { width: 37px; height: 37px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 10px; background: #d9f2e7; color: #087a57; font-size: 17px; }
.as-machine-entry-date small, .as-machine-entry-date strong { display: block; }
.as-machine-entry-date small { color: #587568; font-size: 11.5px; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; }
.as-machine-entry-date strong { margin-top: 3px; color: #315b4b; font-size: 15px; line-height: 1.35; white-space: nowrap; }
.as-machine-spec-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 22px; margin: 7px 0 0; }
.as-machine-spec-grid > div { min-width: 0; padding: 15px 0; border-bottom: 1px solid #edf0f4; }
.as-machine-spec-grid > div.is-wide { grid-column: 1 / -1; }
.as-machine-spec-grid dt { display: flex; align-items: center; gap: 7px; color: #687487; font-size: 13.5px; font-weight: 700; }
.as-machine-spec-grid dt i { color: #9a5a32; font-size: 15px; }
.as-machine-spec-grid dd { margin: 6px 0 0; overflow-wrap: anywhere; color: #2c384b; font-size: 17px; font-weight: 750; line-height: 1.45; }
.as-machine-spec-grid dd.is-serial { color: #9a4218; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; letter-spacing: .025em; }
.as-card-section-title, .as-installation-section-heading { display: flex; align-items: flex-start; gap: 13px; }
.as-card-section-title > span, .as-installation-section-heading > span { width: 40px; height: 40px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 12px; background: #edf1f7; color: #41516a; }
.as-card-section-title > span.is-orange, .as-installation-section-heading > span.is-orange { background: #fff0e7; color: var(--as-orange-dark); }
.as-installation-section-heading > span.is-blue { background: #eaf1ff; color: var(--as-blue); }
.as-card-section-title small, .as-installation-section-heading small { color: var(--as-muted); font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.as-card-section-title h2, .as-installation-section-heading h2 { margin: 3px 0 0; font-size: 16px; }
.as-installation-section-heading p { margin: 5px 0 0; color: var(--as-muted); font-size: 10px; line-height: 1.5; }
.as-machine-data-list { margin: 19px 0 0; }
.as-machine-data-list div { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 11px 0; border-bottom: 1px solid #edf0f4; }
.as-machine-data-list div:last-child { border-bottom: 0; }
.as-machine-data-list dt { color: var(--as-muted); font-size: 10px; }
.as-machine-data-list dd { margin: 0; color: #354156; font-size: 10px; font-weight: 750; text-align: right; }
.as-installation-summary { margin-top: 18px; }
.as-installation-current-state { display: flex; align-items: center; gap: 13px; margin-bottom: 7px; padding: 14px; border: 1px solid #e3e7ed; border-radius: 13px; background: #f8fafc; }
.as-installation-current-state > span { width: 39px; height: 39px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: #202838; color: #fff; font-size: 17px; }
.as-installation-current-state small, .as-installation-current-state strong { display: block; }
.as-installation-current-state small { color: #687487; font-size: 12.5px; font-weight: 700; }
.as-installation-current-state strong { margin-top: 3px; color: #2b3749; font-size: 17px; }
.as-installation-summary p { display: flex; justify-content: space-between; gap: 15px; margin: 0; padding: 13px 2px; border-bottom: 1px solid #edf0f4; }
.as-installation-summary p small, .as-installation-summary p strong { font-size: 14px; line-height: 1.45; }
.as-installation-summary p small { color: var(--as-muted); }
.as-installation-summary p small { display: inline-flex; align-items: center; gap: 7px; }
.as-installation-summary p small i { color: #9a5a32; font-size: 14px; }
.as-installation-summary p strong { color: #344054; text-align: right; }
.as-installation-empty { margin-top: 18px; padding: 24px 20px; border: 1px dashed #d9dee6; border-radius: 14px; background: #fafbfc; text-align: left; }
.as-installation-empty > i { color: #8e99aa; font-size: 29px; }
.as-installation-empty h3 { margin: 11px 0 6px; color: #2c384a; font-size: 18px; }
.as-installation-empty p { max-width: 430px; margin: 0; color: var(--as-muted); font-size: 14px; line-height: 1.65; }
.as-warranty-panel { display: flex; align-items: center; gap: 14px; margin-top: 17px; padding: 16px; border: 1px solid transparent; border-radius: 14px; }
.as-warranty-panel.is-active { background: #edf9f5; color: #087a57; }
.as-warranty-panel.is-expired { border-color: #e99ca1; background: linear-gradient(145deg,#fff1f1,#ffe1e3); color: #98212b; }
.as-warranty-panel.is-pending { border-color: #e5e8ed; background: #f8f9fb; color: #687386; }
.as-warranty-panel > i { flex: 0 0 auto; font-size: 27px; }
.as-warranty-panel small, .as-warranty-panel strong, .as-warranty-panel span { display: block; }
.as-warranty-panel small { font-size: 12.5px; font-weight: 800; text-transform: uppercase; }
.as-warranty-panel strong { margin-top: 4px; font-size: 16px; }
.as-warranty-panel span { margin-top: 5px; opacity: .86; font-size: 13.5px; line-height: 1.5; }
.as-machine-detail-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 9px; margin-top: 20px; }
.as-machine-detail-actions form { margin: 0; }
.as-machine-detail-actions .as-primary-button { min-height: 48px; font-size: 14.5px; }
.as-inline-warning { display: flex; gap: 10px; margin-top: 13px; padding: 14px; border-radius: 11px; background: #fff6df; color: #81540d; font-size: 14px; line-height: 1.55; }
.as-inline-warning span strong { display: block; }
.as-machine-review-workspace { display: grid; grid-template-columns: minmax(240px,.72fr) minmax(0,1.8fr); gap: 15px; margin-top: 17px; }
.as-machine-review-intro { display: flex; align-items: center; gap: 13px; padding: 19px; border: 1px solid #dbe4ef; border-radius: 18px; background: linear-gradient(145deg,#f8fbff,#eef5ff); }
.as-machine-review-intro > span { width: 46px; height: 46px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 13px; background: #dceaff; color: #265fa8; font-size: 20px; }
.as-machine-review-intro small,.as-machine-review-intro strong,.as-machine-review-intro time { display: block; }
.as-machine-review-intro small { color: #69778b; font-size: 12px; font-weight: 750; }
.as-machine-review-intro strong { margin-top: 4px; color: #27364d; font-size: 16px; }
.as-machine-review-intro time { margin-top: 4px; color: #6d7a8d; font-size: 13px; }
.as-machine-review-decision { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 22px; padding: 20px 22px; border: 1px solid #e7c877; border-radius: 18px; background: linear-gradient(135deg,#fffdf7,#fff6dd); box-shadow: 0 12px 28px rgba(122,78,7,.07); }
.as-machine-review-decision h2 { margin: 5px 0 6px; color: #342b1b; font-size: 22px; }
.as-machine-review-decision p { max-width: 670px; margin: 0; color: #685b46; font-size: 14px; line-height: 1.6; }
.as-machine-review-decision.is-readonly { grid-template-columns: 1fr; }
.as-machine-review-actions { min-width: 218px; display: grid; gap: 8px; }
.as-machine-review-actions form,.as-machine-review-actions > a { width: 100%; }
.as-machine-review-actions .as-primary-button,.as-machine-review-actions .as-secondary-button { width: 100%; min-height: 46px; justify-content: center; font-size: 13.5px; }
.as-machine-review-actions .as-review-revision-box { margin-top: 0; padding-top: 4px; border-top: 0; }
.as-machine-review-actions .as-review-revision-box[open] { min-width: min(360px,calc(100vw - 48px)); }
.as-machine-full-details { display: grid; gap: 17px; margin-top: 28px; }
.as-machine-full-details-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.as-machine-full-details-heading h2 { margin: 5px 0 0; color: #202b3d; font-size: 27px; letter-spacing: -.03em; }
.as-machine-full-details-heading p { margin: 7px 0 0; color: #687487; font-size: 15px; }
.as-machine-full-details-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: 17px; }
.as-machine-full-details .as-review-section { padding: 27px; }
.as-machine-full-details .as-review-section header small { font-size: 11.5px; }
.as-machine-full-details .as-review-section header h2 { font-size: 20px; }
.as-machine-full-details .as-review-data-grid dt { font-size: 12.5px; }
.as-machine-full-details .as-review-data-grid dt { display: flex; align-items: center; gap: 7px; }
.as-machine-full-details .as-review-data-grid dt i { color: #596b84; font-size: 14px; }
.as-machine-full-details .as-review-data-grid dd { font-size: 15.5px; }
.as-machine-full-details .as-review-condition-grid small { font-size: 11px; }
.as-machine-full-details .as-review-condition-grid strong { font-size: 14px; }
.as-machine-full-details .as-review-confirmations span { font-size: 12.5px; }
.as-machine-full-details .as-review-confirmations span.is-missing { background: #f1f3f6; color: #687386; }
.as-machine-full-details .as-review-history-empty { font-size: 14px; }
.as-machine-full-details .as-review-timeline strong { font-size: 14.5px; }
.as-machine-full-details .as-review-timeline time,.as-machine-full-details .as-review-timeline small { font-size: 12px; }
.as-machine-full-details .as-review-timeline p { font-size: 13px; }
.as-machine-full-details .as-review-timeline summary { font-size: 12.5px; }
.as-service-placeholder { display: flex; align-items: center; gap: 15px; margin-top: 15px; padding: 20px; border: 1px dashed #d5dce6; border-radius: 17px; background: rgba(255,255,255,.55); }
.as-service-placeholder > span { width: 49px; height: 49px; flex: 0 0 49px; display: grid; place-items: center; border-radius: 13px; background: #eaf1ff; color: var(--as-blue); font-size: 21px; }
.as-service-placeholder-copy { flex: 1; min-width: 0; }
.as-service-placeholder-link { flex: 0 0 auto; align-self: center; width: auto; min-height: 42px; padding: 0 14px; font-size: 13px; white-space: nowrap; box-shadow: none; }
.as-service-placeholder-link i { margin-left: 2px; }
.as-service-placeholder small { color: var(--as-muted); font-size: 12px; font-weight: 750; text-transform: uppercase; }
.as-service-placeholder h2 { margin: 4px 0; font-size: 20px; }
.as-service-placeholder p { margin: 0; color: var(--as-muted); font-size: 14.5px; line-height: 1.55; }
.as-installation-heading { align-items: center; margin-bottom: 22px; }
.as-installation-heading > div:first-child { max-width: 760px; }
.as-installation-heading p { font-size: 15px; line-height: 1.65; }
.as-installation-heading .as-kicker { font-size: 12px; }
.as-installation-heading-meta { display: flex; align-items: flex-end; flex-direction: column; gap: 9px; }
.as-installation-heading .as-installation-status { padding: 8px 12px; font-size: 12px; }
.as-required-note { display: inline-flex; align-items: center; gap: 5px; color: #6d788a; font-size: 13px; font-weight: 700; white-space: nowrap; }
.as-required-note b { color: var(--as-orange-dark); font-size: 16px; }
.as-form-error-summary { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 18px; padding: 18px 20px; border: 1px solid #f0b8b2; border-radius: 16px; background: #fff4f2; color: #9f2e25; }
.as-form-error-summary > i { margin-top: 2px; font-size: 21px; }
.as-form-error-summary strong, .as-form-error-summary span, .as-form-error-summary small { display: block; }
.as-form-error-summary strong { font-size: 15px; }
.as-form-error-summary span { margin-top: 4px; font-size: 14px; line-height: 1.5; }
.as-form-error-summary small { margin-top: 6px; color: #9a615c; font-size: 13px; }
.as-installation-revision-notice { display: flex; align-items: flex-start; gap: 15px; margin-bottom: 18px; padding: 19px 20px; border: 1px solid #edc7b1; border-left: 5px solid #d15a1d; border-radius: 16px; background: #fff6ef; }.as-installation-revision-notice > span { width: 43px; height: 43px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 12px; background: #d15a1d; color: #fff; font-size: 19px; }.as-installation-revision-notice small { color: #a8490f; font-size: 10px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }.as-installation-revision-notice h2 { margin: 4px 0 7px; color: #63331e; font-size: 18px; }.as-installation-revision-notice p { margin: 0; color: #664b3e; font-size: 14px; line-height: 1.6; white-space: pre-line; }.as-installation-revision-notice em { display: block; margin-top: 8px; color: #866858; font-size: 12px; font-style: normal; }
.as-installation-form { display: grid; gap: 18px; }
.as-installation-section { padding: 30px; border-radius: 22px; }
.as-installation-section-heading { gap: 16px; }
.as-installation-section-heading > span { width: 48px; height: 48px; border-radius: 14px; font-size: 19px; }
.as-installation-section-heading small { font-size: 12px; letter-spacing: .09em; }
.as-installation-section-heading h2 { margin-top: 4px; font-size: 22px; line-height: 1.25; letter-spacing: -.025em; }
.as-installation-section-heading p { max-width: 720px; margin-top: 7px; font-size: 14px; line-height: 1.55; }
.as-machine-locked-section { overflow: hidden; border-color: #2a364b; background: linear-gradient(120deg, #141d2e, #202b40); color: #fff; box-shadow: 0 18px 42px rgba(15,23,42,.15); }
.as-installation-machine-overview { display: flex; align-items: center; gap: 22px; }
.as-installation-machine-visual { width: 112px; height: 92px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid rgba(255,255,255,.12); border-radius: 20px; background: rgba(255,255,255,.07); color: #ff9a60; font-size: 38px; }
.as-installation-machine-visual.has-machine-art { width: 132px; height: auto; aspect-ratio: 1.45 / 1; padding: 8px; border-color: rgba(255,255,255,.28); background: linear-gradient(145deg, #fff, #e9edf2); box-shadow: 0 13px 27px rgba(0,0,0,.22); }
.as-installation-machine-visual.has-machine-art img { width: 100%; height: 100%; display: block; object-fit: contain; filter: drop-shadow(0 6px 6px rgba(15,23,42,.18)); }
.as-installation-machine-copy { min-width: 0; }
.as-installation-machine-category { display: inline-flex; align-items: center; gap: 7px; color: #ff9a60; font-size: 12px; font-weight: 850; letter-spacing: .075em; text-transform: uppercase; }
.as-installation-machine-copy h2 { margin: 8px 0 7px; color: #fff; font-size: clamp(23px, 3vw, 30px); line-height: 1.2; letter-spacing: -.035em; }
.as-installation-machine-copy p { max-width: 690px; margin: 0; color: #aeb8c8; font-size: 14px; line-height: 1.6; }
.as-installation-machine-facts { display: grid; grid-template-columns: minmax(190px, 1.1fr) minmax(120px, .55fr) minmax(180px, 1fr); gap: 10px; margin: 22px 0 0; }
.as-installation-machine-facts > div { min-width: 0; padding: 13px 15px; border: 1px solid rgba(255,255,255,.1); border-radius: 13px; background: rgba(255,255,255,.055); }
.as-installation-machine-facts dt { display: flex; align-items: center; gap: 7px; color: #8f9bad; font-size: 12px; font-weight: 750; }
.as-installation-machine-facts dt i { color: #ff9a60; font-size: 14px; }
.as-installation-machine-facts dd { margin: 5px 0 0; overflow-wrap: anywhere; color: #fff; font-size: 14px; font-weight: 800; line-height: 1.35; }
.as-installation-machine-facts .is-serial { border-color: rgba(255,154,96,.28); background: rgba(243,109,33,.1); }
.as-installation-machine-facts .is-serial dt { color: #ffb389; }
.as-installation-machine-facts .is-serial dd { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: 15px; letter-spacing: .03em; }
.as-installation-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 27px; }
.as-installation-form-grid label { min-width: 0; }
.as-installation-form-grid label.is-wide { grid-column: 1 / -1; }
.as-installation-form-grid label > span { display: flex; align-items: center; gap: 6px; margin-bottom: 9px; color: #3e4a5e; font-size: 14.5px; font-weight: 800; }
.as-installation-form-grid label > span b { color: var(--as-orange-dark); }
.as-installation-form-grid label > span em { margin-left: 3px; color: #8a94a4; font-size: 11.5px; font-style: normal; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.as-installation-form-grid input, .as-installation-form-grid textarea, .as-installer-field > select { width: 100%; border: 1px solid #d7dde6; border-radius: 13px; background: #fbfcfd; color: var(--as-ink); font: inherit; font-size: 15px; outline: none; transition: border-color .16s ease, background .16s ease, box-shadow .16s ease; }
.as-installation-form-grid input, .as-installer-field > select { height: 54px; padding: 0 15px; }
.as-installation-form-grid textarea { min-height: 112px; padding: 14px 15px; line-height: 1.55; resize: vertical; }
.as-installation-form-grid input:hover, .as-installation-form-grid textarea:hover, .as-installer-field > select:hover { border-color: #bdc6d2; background: #fff; }
.as-installation-form-grid input:focus, .as-installation-form-grid textarea:focus, .as-installer-field > select:focus { border-color: var(--as-orange); background: #fff; box-shadow: 0 0 0 4px rgba(243,109,33,.11); }
.as-installation-form-grid input:user-invalid, .as-installation-form-grid textarea:user-invalid, .as-installer-field > select:user-invalid { border-color: #d95c54; box-shadow: 0 0 0 3px rgba(217,92,84,.09); }
.as-installation-form-grid input::placeholder, .as-installation-form-grid textarea::placeholder { color: #a0a8b4; }
.as-field-help { display: block; margin-top: 7px; color: #707c8e; font-size: 13px; line-height: 1.5; }
.as-installer-field .select2-container { width: 100% !important; max-width: 100%; display: block; }
.as-installer-field .select2-container--default .select2-selection--single { height: 54px; border: 1px solid #d7dde6; border-radius: 13px; background: #fbfcfd; transition: border-color .16s ease, background .16s ease, box-shadow .16s ease; }
.as-installer-field .select2-container--default .select2-selection--single .select2-selection__rendered { padding: 0 48px 0 15px; color: var(--as-ink); font-size: 15px; line-height: 52px; text-overflow: ellipsis; }
.as-installer-field .select2-container--default .select2-selection--single .select2-selection__placeholder { color: #929cab; }
.as-installer-field .select2-container--default .select2-selection--single .select2-selection__arrow { width: 44px; height: 52px; }
.as-installer-field .select2-container--focus .select2-selection--single, .as-installer-field .select2-container--open .select2-selection--single { border-color: var(--as-orange); background: #fff; box-shadow: 0 0 0 4px rgba(243,109,33,.11); outline: none; }
.as-installer-dropdown { overflow: hidden; border-color: #d7dde6; border-radius: 12px; background: #fff; box-shadow: 0 17px 38px rgba(15,23,42,.14); }
.as-installer-dropdown .select2-search--dropdown { padding: 10px; }
.as-installer-dropdown .select2-search__field { height: 44px; padding: 0 12px; border: 1px solid #d7dde6 !important; border-radius: 10px; color: var(--as-ink); font: inherit; font-size: 14px; outline: none; }
.as-installer-dropdown .select2-search__field:focus { border-color: var(--as-orange) !important; box-shadow: 0 0 0 3px rgba(243,109,33,.1); }
.as-installer-dropdown .select2-results__option { padding: 11px 13px; color: #3f4b5d; font-size: 14px; }
.as-installer-dropdown .select2-results__option--highlighted[aria-selected] { background: var(--as-orange); color: #fff; }
.as-installer-dropdown .select2-results__option[aria-selected="true"] { background: #fff2e9; color: #9a4218; }
.as-installer-option strong, .as-installer-option small { display: block; }
.as-installer-option strong { font-size: 14px; }
.as-installer-option small { margin-top: 3px; opacity: .78; font-size: 11.5px; }
.as-condition-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 13px; margin-top: 20px; }
.as-condition-card { min-width: 0; margin: 0; padding: 19px; border: 1px solid #dce2ea; border-radius: 16px; background: #fbfcfd; }
.as-condition-card legend { display: flex; align-items: center; gap: 9px; padding: 0 5px; color: #354156; font-size: 14px; font-weight: 850; }
.as-condition-card legend i { color: var(--as-orange-dark); font-size: 17px; }
.as-condition-card > div { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 12px; }
.as-condition-card label { cursor: pointer; }
.as-condition-card input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.as-condition-card label span { min-height: 50px; display: flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid #dce2ea; border-radius: 12px; background: #fff; color: #687386; font-size: 13px; font-weight: 800; transition: .15s ease; }
.as-condition-card label:hover span { border-color: #bdc6d2; color: #3f4b5d; }
.as-condition-card label:first-of-type input:checked + span { border-color: #61b99a; background: #ecf9f4; color: #087a57; }
.as-condition-card label:last-of-type input:checked + span { border-color: #e5a17e; background: #fff1e8; color: #a8490f; }
.as-condition-card input:focus-visible + span { outline: 4px solid rgba(243,109,33,.13); }
.as-warranty-warning { display: flex; align-items: flex-start; gap: 15px; margin-top: 18px; padding: 18px 20px; border: 1px solid #e7b899; border-left: 5px solid #ce4c18; border-radius: 15px; background: #fff6ef; }
.as-warranty-warning > span { width: 42px; height: 42px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 12px; background: #dc571e; color: #fff; font-size: 18px; }
.as-warranty-warning strong { display: block; color: #8d3514; font-size: 16px; }
.as-warranty-warning p { margin: 5px 0 0; color: #6c5145; font-size: 14px; line-height: 1.65; }
.as-warranty-warning p b { color: #a52419; }
.as-installation-confirmation-heading { display: flex; align-items: center; gap: 12px; margin-top: 25px; padding-top: 23px; border-top: 1px solid #e6eaf0; }
.as-installation-confirmation-heading > span { width: 39px; height: 39px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 11px; background: #eaf8f3; color: #087a57; font-size: 17px; }
.as-installation-confirmation-heading h3 { margin: 0; color: #303c50; font-size: 17px; }
.as-installation-confirmation-heading p { margin: 4px 0 0; color: var(--as-muted); font-size: 13.5px; }
.as-installation-checks { display: grid; gap: 11px; margin-top: 14px; }
.as-installation-checks > label { display: flex; align-items: flex-start; gap: 13px; padding: 17px; border: 1px solid #dce2ea; border-radius: 14px; background: #fbfcfd; cursor: pointer; transition: border-color .16s ease, background .16s ease, box-shadow .16s ease; }
.as-installation-checks > label:hover { border-color: #bdc6d2; background: #fff; }
.as-installation-checks > label:has(input:checked) { border-color: #7cc5aa; background: #f0faf6; box-shadow: 0 0 0 2px rgba(16,157,114,.07); }
.as-installation-checks input { width: 21px; height: 21px; flex: 0 0 auto; margin-top: 1px; accent-color: var(--as-green); }
.as-installation-checks strong, .as-installation-checks small { display: block; }
.as-installation-checks strong { color: #334054; font-size: 14px; line-height: 1.45; }
.as-installation-checks small { margin-top: 4px; color: var(--as-muted); font-size: 13px; line-height: 1.45; }
.as-installation-actions { position: sticky; bottom: 12px; z-index: 5; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 15px 16px 15px 18px; border: 1px solid rgba(217,222,230,.94); border-radius: 17px; background: rgba(255,255,255,.96); box-shadow: 0 16px 40px rgba(15,23,42,.13); backdrop-filter: blur(12px); }
.as-installation-actions > p { min-width: 0; display: flex; align-items: flex-start; gap: 10px; flex: 1; margin: 0; color: #687386; font-size: 13px; line-height: 1.5; }
.as-installation-actions > p > i { flex: 0 0 auto; margin-top: 2px; color: var(--as-blue); font-size: 17px; }
.as-installation-actions > p strong { display: block; color: #3e4a5e; font-size: 13.5px; }
.as-installation-lock-note { display: block; margin-top: 3px; color: #535f72; }
.as-installation-action-buttons { display: flex; flex: 0 0 auto; gap: 9px; }
.as-installation-actions .as-primary-button, .as-installation-actions .as-secondary-button { min-height: 52px; padding-inline: 18px; font-size: 14px; white-space: nowrap; }
.as-installation-action-buttons button > span { align-items: center; justify-content: center; gap: 9px; }
.as-installation-action-buttons button > span:not([hidden]) { display: inline-flex; }
.as-installation-action-buttons button.is-processing { border-color: #263247; background: #263247; color: #fff; box-shadow: 0 11px 27px rgba(15,23,42,.2); }
.as-installation-action-buttons button:disabled { cursor: wait; opacity: .72; }
.as-installation-action-buttons button.is-processing:disabled { opacity: 1; }
.as-installation-inline-spinner { width: 17px; height: 17px; display: inline-block; flex: 0 0 auto; margin-left: 0 !important; border: 2px solid rgba(255,255,255,.35); border-top-color: #fff; border-radius: 50%; animation: as-installation-spin .7s linear infinite; }
.as-review-note-dialog { width: min(580px, calc(100% - 32px)); max-height: calc(100dvh - 32px); overflow: auto; padding: 0; border: 1px solid rgba(255,255,255,.8); border-radius: 24px; background: #fff; color: var(--as-ink); box-shadow: 0 34px 100px rgba(2,8,23,.38); }
.as-review-note-dialog::backdrop { background: rgba(15,23,42,.74); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.as-review-note-dialog-header { display: grid; grid-template-columns: 48px minmax(0,1fr) 38px; align-items: center; gap: 14px; padding: 22px 22px 18px; border-bottom: 1px solid #e7ebf0; background: linear-gradient(135deg,#fff8f3,#fff); }
.as-review-note-dialog-header > span { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; background: #ffede1; color: var(--as-orange-dark); font-size: 20px; }
.as-review-note-dialog-header small { display: block; color: var(--as-orange-dark); font-size: 11px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.as-review-note-dialog-header h2 { margin: 4px 0 0; color: #222d40; font-size: 21px; line-height: 1.25; }
.as-review-note-dialog-header > button { width: 38px; height: 38px; display: grid; place-items: center; border: 0; border-radius: 11px; background: transparent; color: #788396; cursor: pointer; }
.as-review-note-dialog-header > button:hover, .as-review-note-dialog-header > button:focus-visible { background: #eef1f5; color: #263247; outline: none; }
.as-review-note-dialog-body { padding: 22px; }
.as-review-note-dialog-body > p { margin: 0 0 18px; color: #667286; font-size: 14px; line-height: 1.65; }
.as-review-note-dialog-body label > span { display: flex; align-items: center; gap: 8px; margin-bottom: 9px; color: #374358; font-size: 14px; font-weight: 800; }
.as-review-note-dialog-body label > span em { color: #8a94a4; font-size: 11px; font-style: normal; letter-spacing: .04em; text-transform: uppercase; }
.as-review-note-dialog textarea { width: 100%; min-height: 130px; padding: 14px 15px; border: 1px solid #d7dde6; border-radius: 13px; background: #fbfcfd; color: var(--as-ink); font: inherit; font-size: 14px; line-height: 1.55; resize: vertical; outline: none; }
.as-review-note-dialog textarea:focus { border-color: var(--as-orange); background: #fff; box-shadow: 0 0 0 4px rgba(243,109,33,.11); }
.as-review-note-dialog-body label > small { display: flex; justify-content: space-between; gap: 16px; margin-top: 8px; color: #768194; font-size: 12px; line-height: 1.45; }
.as-review-note-dialog-body label > small b { flex: 0 0 auto; color: #657085; font-variant-numeric: tabular-nums; }
.as-review-note-dialog-actions { display: flex; justify-content: flex-end; gap: 10px; padding: 16px 22px 22px; }
.as-review-note-dialog-actions button { min-height: 49px; }
.as-review-timeline-note { margin-top: 9px; padding: 10px 12px; border-radius: 10px; background: #fff5ee; }
.as-review-timeline-note > small { margin: 0 0 4px; color: #a54b1d; font-size: 10px; font-weight: 850; letter-spacing: .045em; text-transform: uppercase; }
.as-review-timeline-note > p { margin: 0; padding: 0; background: transparent; }
body.as-installation-is-processing { overflow: hidden; }
.as-installation-processing { position: fixed; z-index: 2100; inset: 0; display: grid; place-items: center; padding: 24px; background: rgba(15,23,42,.72); opacity: 0; outline: none; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); transition: opacity .2s ease; }
.as-installation-processing[hidden] { display: none; }
.as-installation-processing.is-visible { opacity: 1; }
.as-installation-processing-card { width: min(440px, 100%); padding: 34px 32px 29px; border: 1px solid rgba(255,255,255,.82); border-radius: 24px; background: rgba(255,255,255,.98); box-shadow: 0 32px 90px rgba(0,0,0,.34); text-align: center; transform: translateY(10px) scale(.985); transition: transform .24s cubic-bezier(.2,.75,.25,1); }
.as-installation-processing.is-visible .as-installation-processing-card { transform: translateY(0) scale(1); }
.as-installation-processing-spinner { width: 54px; height: 54px; display: block; margin: 0 auto 21px; border-radius: 50%; background: repeating-conic-gradient(from 0deg, #111827 0deg 9deg, rgba(17,24,39,.13) 9deg 27deg); -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 6px), #000 0); mask: radial-gradient(farthest-side, transparent calc(100% - 6px), #000 0); animation: as-installation-spin .9s steps(12) infinite; }
.as-installation-processing-kicker { display: block; margin-bottom: 8px; color: var(--as-orange-dark); font-size: 12px; font-weight: 850; letter-spacing: .075em; text-transform: uppercase; }
.as-installation-processing-card > strong { display: block; color: #111827; font-size: 21px; line-height: 1.3; }
.as-installation-processing-card > p { max-width: 350px; margin: 12px auto 19px; color: #64748b; font-size: 14px; line-height: 1.65; }
.as-installation-processing-progress { height: 4px; display: block; overflow: hidden; border-radius: 999px; background: #e2e8f0; }
.as-installation-processing-progress i { width: 38%; height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg, var(--as-orange), #ffad7a); animation: as-installation-progress 1.25s ease-in-out infinite; }
@keyframes as-installation-spin { to { transform: rotate(360deg); } }
@keyframes as-installation-progress { 0% { transform: translateX(-110%); } 100% { transform: translateX(270%); } }

@media (max-width: 1350px) {
    .as-machine-page-heading { align-items: stretch !important; flex-direction: column; gap: 14px; }
    .as-machine-page-heading > div:first-child { flex-basis: auto; }
}

@media (max-width: 1000px) {
    .as-machine-stat-grid { grid-template-columns: 1fr 1fr; }
    .as-machine-filter-grid, .as-machine-filter-attributes { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .as-machine-card { grid-template-columns: minmax(0,1fr) 210px; }
    .as-machine-detail-grid { grid-template-columns: 1fr; }
    .as-machine-detail-hero { min-height: 0; grid-template-columns: 150px minmax(0, 1fr); gap: 23px; padding: 27px; }
    .as-machine-detail-icon.has-machine-art { width: 150px; }
    .as-machine-hero-status { grid-column: 1 / -1; width: 100%; max-width: none; }
    .as-machine-review-workspace,.as-machine-full-details-grid { grid-template-columns: 1fr; }
    .as-machine-review-decision { grid-template-columns: minmax(0,1fr) auto; }
}

@media (max-width: 720px) {
    .as-machine-sync-note { min-width: 0; width: 100%; }
    .as-machine-sync-message { white-space: normal; }
    .as-machine-filter-heading { align-items: flex-start; padding: 15px 16px 13px 18px; }
    .as-machine-filter-active { display: none; }
    .as-machine-filter-grid { grid-template-columns: 1fr; padding: 15px 18px; }
    .as-machine-filter-field-wide { grid-column: auto; }
    .as-machine-filter-attribute-section { margin-inline: 18px; }
    .as-machine-filter-attributes { grid-template-columns: 1fr; }
    .as-machine-filter-section-title { align-items: flex-start; flex-direction: column; gap: 4px; }
    .as-machine-filter-actions { align-items: stretch; flex-direction: column-reverse; padding-inline: 18px; }
    .as-machine-filter-submit { width: 100%; }
    .as-machine-filter-actions .as-clear-filter { align-self: center; }
    .as-machine-filters label, .as-machine-search { min-width: 0 !important; }
    .as-machine-card { display: block; }
    .as-machine-card-main { align-items: flex-start; padding: 17px; }
    .as-machine-visual { width: 48px; height: 48px; border-radius: 14px; font-size: 21px; }
    .as-machine-visual.has-machine-art { width: 74px; height: 62px; padding: 5px; border-radius: 16px; }
    .as-machine-card-heading { display: block; }
    .as-machine-card-heading .as-machine-status { margin-top: 8px; }
    .as-machine-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
    .as-machine-meta-item, .as-machine-meta-item.is-partner { min-width: 0; }
    .as-machine-chevron { display: none; }
    .as-machine-card-action { padding: 12px 17px 17px; border-top: 1px solid #edf0f4; border-left: 0; }
    .as-machine-pagination { align-items: stretch; flex-direction: column; gap: 11px; padding: 13px; }
    .as-machine-pagination > p { text-align: center; }
    .as-machine-pagination-pages { justify-content: center; }
    .as-machine-detail-hero { min-height: 0; grid-template-columns: 118px minmax(0, 1fr); align-items: center; gap: 19px; padding: 22px; }
    .as-machine-detail-icon { width: 68px; height: 68px; border-radius: 16px; font-size: 27px; }
    .as-machine-detail-icon.has-machine-art { width: 118px; padding: 7px; border-radius: 15px; }
    .as-machine-detail-title { min-width: 0; }
    .as-machine-detail-title > span { font-size: 12px; }
    .as-machine-hero-title-row { margin: 6px 0 13px; }
    .as-machine-detail-title h1 { margin: 0; font-size: 29px; }
    .as-machine-identity-row > span { min-width: 125px; }
    .as-machine-hero-status { grid-column: 1 / -1; width: 100%; max-width: none; }
    .as-machine-info-card { padding: 22px; }
    .as-machine-review-decision { grid-template-columns: 1fr; }
    .as-machine-review-actions { width: 100%; min-width: 0; }
    .as-machine-full-details-heading { align-items: flex-start; flex-direction: column; }
    .as-machine-full-details .as-review-section { padding: 22px; }
    .as-machine-info-header { align-items: stretch; flex-direction: column; }
    .as-machine-entry-date { width: 100%; min-width: 0; }
    .as-installation-machine-facts { grid-template-columns: 1fr 1fr; }
    .as-installation-machine-facts > div:last-child { grid-column: 1 / -1; }
    .as-installation-form-grid, .as-condition-grid { grid-template-columns: 1fr; }
    .as-installation-form-grid label.is-wide { grid-column: auto; }
    .as-installation-section { padding: 23px 20px; }
    .as-installation-section-heading p { font-size: 14px; }
    .as-installation-heading-meta { align-items: flex-start; }
    .as-installation-actions { align-items: stretch; flex-direction: column; bottom: 78px; padding: 16px; }
    .as-installation-action-buttons { width: 100%; }
    .as-installation-action-buttons button { flex: 1; }
    .as-installation-actions button { width: 100%; }
    .as-installation-actions > p { margin: 0; }
}

@media (max-width: 600px) {
    .as-machine-detail-hero { grid-template-columns: 1fr; gap: 17px; padding: 20px; }
    .as-machine-detail-icon { justify-self: center; }
    .as-machine-detail-icon.has-machine-art { width: min(62vw, 210px); height: auto; }
    .as-machine-identity-row { display: grid; grid-template-columns: 1fr 1fr; }
    .as-machine-identity-row > span { min-width: 0; }
    .as-machine-spec-grid { grid-template-columns: 1fr; }
    .as-machine-spec-grid > div.is-wide { grid-column: auto; }
    .as-service-placeholder { align-items: flex-start; flex-direction: column; }
    .as-service-placeholder-link { align-self: flex-start; max-width: 100%; white-space: normal; }
    .as-installation-machine-overview { align-items: center; flex-direction: column; }
    .as-installation-machine-visual { width: 94px; height: 94px; }
    .as-installation-machine-visual.has-machine-art { width: min(62vw, 210px); height: auto; }
    .as-installation-machine-copy { width: 100%; }
    .as-installation-machine-facts { grid-template-columns: 1fr; }
    .as-installation-machine-facts > div:last-child { grid-column: auto; }
    .as-installation-action-buttons { flex-direction: column; }
    .as-installation-processing { padding: 18px; }
    .as-installation-processing-card { padding: 29px 21px 25px; border-radius: 21px; }
    .as-review-note-dialog { width: calc(100% - 24px); max-height: calc(100dvh - 24px); border-radius: 20px; }
    .as-review-note-dialog-header { grid-template-columns: 43px minmax(0,1fr) 36px; gap: 11px; padding: 18px 16px 15px; }
    .as-review-note-dialog-header > span { width: 43px; height: 43px; }
    .as-review-note-dialog-header h2 { font-size: 18px; }
    .as-review-note-dialog-body { padding: 18px 16px; }
    .as-review-note-dialog-body label > small { align-items: flex-start; flex-direction: column; gap: 5px; }
    .as-review-note-dialog-actions { flex-direction: column-reverse; padding: 0 16px 18px; }
    .as-review-note-dialog-actions button { width: 100%; }
}

@media (max-width: 430px) {
    .as-notification-details-label { gap: 7px; font-size: 13px; }
    .as-notification-details-side { gap: 7px; }
    .as-notification-machine-card { gap: 11px; padding: 12px; }
    .as-notification-machine-visual { width: 41px; height: 41px; border-radius: 12px; font-size: 17px; }
    .as-notification-machine-visual.has-machine-art { width: 56px; height: 46px; padding: 4px; }
    .as-notification-machine-facts { grid-template-columns: 1fr; }
    .as-notification-warranty-validity { align-items: flex-start; }
    .as-notification-warranty-validity strong { align-items: flex-start; flex-direction: column; gap: 3px; }
    .as-notification-warranty-validity strong i { transform: rotate(90deg); }
    .as-machine-stat-grid { grid-template-columns: 1fr; }
    .as-machine-stat-card { min-height: 72px; }
    .as-machine-card-main { gap: 12px; }
    .as-machine-meta { grid-template-columns: 1fr; }
    .as-machine-meta-item { padding-block: 9px; }
    .as-machine-pagination-pages { gap: 4px; }
    .as-machine-page-link { min-width: 35px; height: 35px; padding-inline: 8px; }
    .as-machine-page-link.is-direction span { display: none; }
    .as-machine-page-link.is-direction { padding-inline: 8px; }
    .as-machine-page-gap { min-width: 12px; }
    .as-machine-detail-hero { padding: 19px; }
    .as-machine-detail-title h1 { font-size: 28px; }
    .as-machine-section-header h2 { font-size: 21px; }
    .as-machine-section-header p { font-size: 14px; }
    .as-installation-summary p { align-items: flex-start; flex-direction: column; gap: 4px; }
    .as-installation-summary p strong { text-align: left; }
    .as-installation-section-heading > span { width: 44px; height: 44px; }
    .as-installation-section-heading h2 { font-size: 20px; }
    .as-warranty-warning { gap: 12px; padding: 16px; }
}

@media (prefers-reduced-motion: reduce) {
    .as-machine-page-loader i { animation-duration: 1.4s; }
    .as-installation-processing, .as-installation-processing-card { transition: none; }
    .as-installation-processing-spinner, .as-installation-inline-spinner, .as-installation-processing-progress i { animation-duration: 1.8s; }
}

/* Installation review readability scale */
.as-review-page-heading .as-kicker,
.as-review-detail-hero .as-kicker { font-size: 12px; }
.as-review-page-heading h1 { font-size: clamp(31px, 4vw, 42px); }
.as-review-page-heading p { font-size: 16px; }
.as-review-pending-callout { font-size: 15px; }
.as-review-pending-callout > i { font-size: 22px; }
.as-review-pending-callout strong { font-size: 22px; }
.as-review-stat-card > span { font-size: 21px; }
.as-review-stat-card small { font-size: 12px; }
.as-review-stat-card strong { font-size: 28px; }
.as-review-filters label > span { font-size: 12px; }
.as-review-filters input,
.as-review-filters select { font-size: 15px; }
.as-review-filters .as-clear-filter { font-size: 14px; }
.as-review-row-main { grid-template-columns: 51px minmax(0,1fr) 205px; }
.as-review-row-top > strong { font-size: 19px; }
.as-review-row-top > .as-installation-status { font-size: 12px; }
.as-review-row-meta i { font-size: 16px; }
.as-review-row-meta small,
.as-review-row-side small { font-size: 11px; }
.as-review-row-meta b,
.as-review-row-side strong { font-size: 13.5px; }
.as-review-results .as-machine-empty h2 { font-size: 22px; }
.as-review-results .as-machine-empty p { font-size: 14px; }
.as-review-results .as-machine-pagination > p { font-size: 13.5px; }
.as-review-results .as-machine-pagination > p strong { font-size: 14.5px; }
.as-review-results .as-machine-page-link { font-size: 14px; }
.as-review-page-back { font-size: 15px; }
.as-review-detail-hero h1 { font-size: 32px; }
.as-review-detail-hero p { font-size: 14.5px; }
.as-review-detail-hero > .as-installation-status { font-size: 13.5px; }
.as-review-detail-layout { grid-template-columns: minmax(0,1fr) 365px; }
.as-review-section header small { font-size: 11px; }
.as-review-section header h2 { font-size: 21px; }
.as-review-data-grid dt { font-size: 12.5px; }
.as-review-data-grid dd { font-size: 16px; }
.as-review-condition-grid small { font-size: 11.5px; }
.as-review-condition-grid strong { font-size: 15px; }
.as-review-confirmations span { font-size: 13px; }
.as-review-submission-card small { font-size: 11px; }
.as-review-submission-card strong { font-size: 15px; }
.as-review-submission-card em { font-size: 12.5px; }
.as-review-action-kicker { font-size: 12px; }
.as-review-action-card h2 { font-size: 23px; }
.as-review-action-card > p { font-size: 14.5px; }
.as-review-action-card button,
.as-review-action-card a { font-size: 14.5px; }
.as-review-revision-box > summary { font-size: 14px; }
.as-review-revision-box label > span { font-size: 13px; }
.as-review-revision-box textarea { font-size: 14px; }
.as-review-revision-box label > small { font-size: 12.5px; }
.as-review-action-card blockquote { font-size: 14px; }
.as-review-action-card dt { font-size: 12px; }
.as-review-action-card dd { font-size: 13px; }
.as-review-history-empty { font-size: 14px; }
.as-review-timeline strong { font-size: 15px; }
.as-review-timeline time,
.as-review-timeline small { font-size: 12.5px; }
.as-review-timeline p { font-size: 13.5px; }
.as-review-timeline summary { font-size: 12.5px; }
.as-review-timeline details dt { font-size: 12px; }
.as-review-timeline details dd { font-size: 12.5px; }
.as-review-processing p { font-size: 15px; }

@media (max-width: 1100px) {
    .as-review-detail-layout { grid-template-columns: 1fr; }
    .as-review-hero-title-row, .as-machine-hero-title-row { width: 100%; align-items: flex-start; flex-direction: column; gap: 11px; }
    .as-review-hero-title-row h1 { margin-bottom: 0; }
    .as-machine-hero-title-row h1 { margin-bottom: 0; }
    .as-header-warranty { width: min(100%, 340px); }
}

@media (max-width: 1400px) {
    .as-review-hero-title-row, .as-machine-hero-title-row { width: 100%; align-items: flex-start; flex-direction: column; gap: 11px; }
    .as-review-hero-title-row h1, .as-machine-hero-title-row h1 { margin-bottom: 0; }
    .as-header-warranty { width: min(100%, 340px); }
}

@container (max-width: 1080px) {
    .as-review-hero-title-row, .as-machine-hero-title-row { width: 100%; align-items: flex-start; flex-direction: column; gap: 11px; }
    .as-review-hero-title-row h1, .as-machine-hero-title-row h1 { margin-bottom: 0; }
    .as-header-warranty { width: min(100%, 340px); }
}

@media (max-width: 850px) {
    .as-review-row-main { grid-template-columns: 48px minmax(0,1fr); }
}

@media (max-width: 650px) {
    .as-review-page-heading h1 { font-size: 32px; }
    .as-review-page-heading p { font-size: 15px; }
    .as-review-row-main { grid-template-columns: 42px minmax(0,1fr); }
    .as-review-detail-hero h1 { font-size: 29px; }
    .as-header-warranty { width: 100%; }
}

@media (max-width: 430px) {
    .as-header-warranty { grid-template-columns: 30px minmax(0,1fr); gap: 8px; padding: 8px 9px; }
    .as-header-warranty > i { width: 30px; height: 30px; border-radius: 9px; font-size: 15px; }
    .as-header-warranty small { font-size: 12px; }
    .as-header-warranty strong { font-size: 13.5px; }
}

/* Installation photos and private documents */
.as-installation-section-heading > span.is-green { background: #e6f8f1; color: #087b59; }
.as-installation-attachments-section { overflow: visible; }
.as-attachment-upload-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin: 22px 0; }
.as-attachment-upload-card { min-width: 0; padding: 18px; border: 1px solid #dfe5ec; border-radius: 16px; background: linear-gradient(145deg,#fbfcfe,#f5f7fa); }
.as-attachment-upload-card > header { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.as-attachment-upload-card > header > span { width: 43px; height: 43px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 12px; background: #e8f7f2; color: #087b59; font-size: 19px; }
.as-attachment-upload-card.is-document > header > span { background: #fff0ed; color: #bd3d2b; }
.as-attachment-upload-card h3 { margin: 0 0 3px; color: #263247; font-size: 16px; }
.as-attachment-upload-card p { margin: 0; color: #7a8596; font-size: 12px; line-height: 1.45; }
.as-attachment-upload-card > small { display: flex; align-items: flex-start; gap: 7px; margin-top: 10px; color: #697589; font-size: 11px; line-height: 1.45; }
.as-attachment-upload-card > small i { margin-top: 1px; color: #0a9870; }
.as-attachment-upload-card .filepond--root { margin: 0; font-family: inherit; }
.as-attachment-upload-card .filepond--panel-root { border: 1px dashed #c5ceda; border-radius: 13px; background: #fff; }
.as-attachment-upload-card .filepond--drop-label { min-height: 86px; color: #68758a; font-size: 13px; }
.as-attachment-upload-card .filepond--label-action { color: var(--as-orange-dark); font-weight: 850; text-decoration-color: rgba(215,90,27,.35); }
.as-attachment-upload-card .filepond--item-panel { background: #253249; }
.as-attachment-showcase { display: grid; gap: 18px; margin-top: 19px; }
.as-attachment-group { min-width: 0; padding: 18px; border: 1px solid #e1e6ed; border-radius: 16px; background: #fff; }
.as-attachment-group > header { display: grid; grid-template-columns: 39px minmax(0,1fr) auto; align-items: center; gap: 11px; margin-bottom: 14px; }
.as-attachment-group > header > span { width: 39px; height: 39px; display: grid; place-items: center; border-radius: 11px; background: #edf8f4; color: #098361; }
.as-attachment-group.is-document > header > span { background: #fff0ed; color: #bd3d2b; }
.as-attachment-group > header small { display: block; color: #9099a7; font-size: 9px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.as-attachment-group > header h3 { margin: 2px 0 0; color: #273348; font-size: 15px; }
.as-attachment-group > header > strong { padding: 6px 9px; border-radius: 999px; background: #f0f3f6; color: #5c687b; font-size: 11px; font-variant-numeric: tabular-nums; }
.as-attachment-photo-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(190px,1fr)); gap: 12px; }
.as-attachment-photo-card { min-width: 0; overflow: hidden; border: 1px solid #e0e5ec; border-radius: 14px; background: #f8fafc; box-shadow: 0 7px 18px rgba(15,23,42,.045); }
.as-attachment-photo-open { position: relative; width: 100%; aspect-ratio: 4 / 3; display: block; overflow: hidden; padding: 0; border: 0; background: #182235; cursor: zoom-in; }
.as-attachment-photo-open img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .25s ease; }
.as-attachment-photo-open:hover img { transform: scale(1.035); }
.as-attachment-photo-open > span { position: absolute; right: 9px; bottom: 9px; display: flex; align-items: center; gap: 5px; padding: 6px 8px; border-radius: 8px; background: rgba(15,23,42,.78); color: #fff; font-size: 10px; font-weight: 750; backdrop-filter: blur(5px); }
.as-attachment-photo-card footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px; }
.as-attachment-photo-card footer > span { min-width: 0; }
.as-attachment-photo-card footer strong,.as-attachment-photo-card footer small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.as-attachment-photo-card footer strong { color: #334057; font-size: 12px; }
.as-attachment-photo-card footer small { margin-top: 2px; color: #8a94a4; font-size: 9.5px; }
.as-attachment-photo-card footer > div { display: flex; gap: 5px; }
.as-attachment-photo-card footer a,.as-attachment-photo-card footer button,.as-attachment-document-card > a,.as-attachment-document-card > button { width: 32px; height: 32px; display: grid; flex: 0 0 auto; place-items: center; padding: 0; border: 1px solid #dde3eb; border-radius: 9px; background: #fff; color: #637086; text-decoration: none; cursor: pointer; }
.as-attachment-photo-card footer button,.as-attachment-document-card > button { color: #c24b3a; }
.as-attachment-photo-card footer a:hover,.as-attachment-document-card > a:hover { border-color: #f3b391; color: var(--as-orange-dark); }
.as-attachment-document-list { display: grid; gap: 8px; }
.as-attachment-document-card { min-width: 0; display: grid; grid-template-columns: 42px minmax(0,1fr) repeat(3,32px); align-items: center; gap: 8px; padding: 10px 11px; border: 1px solid #e2e6ec; border-radius: 12px; background: #fafbfc; }
.as-attachment-document-card > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 11px; background: #fff0ed; color: #bd3d2b; font-size: 18px; }
.as-attachment-document-card > div { min-width: 0; }
.as-attachment-document-card > div strong,.as-attachment-document-card > div small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.as-attachment-document-card > div strong { color: #334057; font-size: 12.5px; }
.as-attachment-document-card > div small { margin-top: 3px; color: #8791a1; font-size: 10px; }
.as-attachment-empty { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 74px; margin: 0; border: 1px dashed #d8dee7; border-radius: 12px; background: #fafbfc; color: #9aa3b1; }
.as-attachment-empty[hidden] { display: none; }
.as-attachment-empty > i { font-size: 22px; }
.as-attachment-empty strong,.as-attachment-empty small { display: block; }
.as-attachment-empty strong { color: #788396; font-size: 12px; }
.as-attachment-empty small { margin-top: 2px; font-size: 10px; }
.as-attachment-live-status { margin-top: 12px; padding: 10px 12px; border-radius: 10px; background: #e9f8f2; color: #087655; font-size: 12px; font-weight: 750; }
.as-attachment-live-status.is-error { background: #fff0ed; color: #a43f31; }
.as-machine-attachments-section { margin-top: 17px; padding: 24px; border: 1px solid var(--as-line); border-radius: 19px; background: #fff; box-shadow: 0 9px 27px rgba(15,23,42,.035); }
.as-machine-attachments-section > .as-machine-section-header { margin-bottom: 0; }
.as-review-attachments-section > .as-attachment-showcase { margin-top: 18px; }
.as-attachment-lightbox,.as-attachment-delete-dialog { padding: 0; border: 1px solid rgba(255,255,255,.7); background: #fff; box-shadow: 0 32px 100px rgba(2,8,23,.45); }
.as-attachment-lightbox { width: min(1080px,calc(100% - 34px)); max-height: calc(100dvh - 34px); overflow: hidden; border-radius: 20px; }
.as-attachment-lightbox::backdrop,.as-attachment-delete-dialog::backdrop { background: rgba(8,15,28,.78); backdrop-filter: blur(7px); }
.as-attachment-lightbox > header { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 13px 15px; border-bottom: 1px solid #e4e8ee; }
.as-attachment-lightbox > header strong { color: #303c50; font-size: 14px; }
.as-attachment-lightbox > header button { width: 38px; height: 38px; display: grid; place-items: center; border: 0; border-radius: 10px; background: #eef1f5; color: #546075; cursor: pointer; }
.as-attachment-lightbox > div { height: calc(100dvh - 120px); display: grid; place-items: center; overflow: auto; padding: 15px; background: #111a2a; }
.as-attachment-lightbox img { max-width: 100%; max-height: 100%; display: block; object-fit: contain; }
.as-attachment-delete-dialog { width: min(420px,calc(100% - 28px)); padding: 27px; border-radius: 20px; text-align: center; }
.as-attachment-delete-dialog > span { width: 54px; height: 54px; display: grid; margin: 0 auto 14px; place-items: center; border-radius: 16px; background: #fff0ed; color: #bd3d2b; font-size: 21px; }
.as-attachment-delete-dialog h3 { margin: 0; color: #29354a; font-size: 20px; }
.as-attachment-delete-dialog p { margin: 8px 0 21px; color: #737f91; font-size: 13px; line-height: 1.55; }
.as-attachment-delete-dialog > div { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.as-danger-button { min-height: 45px; padding: 10px 15px; border: 0; border-radius: 11px; background: #b84434; color: #fff; font-weight: 800; cursor: pointer; }

@media (max-width: 850px) {
    .as-attachment-upload-grid { grid-template-columns: 1fr; }
    .as-attachment-photo-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .as-machine-attachments-section { padding: 20px; }
}

@media (max-width: 520px) {
    .as-attachment-upload-card,.as-attachment-group { padding: 14px; }
    .as-attachment-photo-grid { grid-template-columns: 1fr; }
    .as-attachment-document-card { grid-template-columns: 40px minmax(0,1fr) repeat(2,32px); }
    .as-attachment-document-card > button { grid-column: 2 / -1; width: 100%; }
    .as-machine-attachments-section { padding: 16px; }
    .as-attachment-delete-dialog > div { grid-template-columns: 1fr; }
}

/* Dealer dashboard: a clear next action for every portal role. */
.as-dashboard-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 25px; }
.as-dashboard-heading > div { min-width: 0; }
.as-dashboard-heading .as-kicker { max-width: 100%; font-size: 11px; overflow-wrap: anywhere; }
.as-dashboard-heading h1 { margin: 8px 0 7px; font-size: clamp(30px,4.2vw,44px); line-height: 1.08; letter-spacing: -.05em; }
.as-dashboard-heading p { max-width: 660px; margin: 0; color: var(--as-muted); font-size: 15px; line-height: 1.6; }
.as-dashboard-role { display: inline-flex; align-items: center; gap: 8px; flex: 0 0 auto; padding: 9px 12px; border: 1px solid #ead6ca; border-radius: 999px; background: #fff9f5; color: #985128; font-size: 12px; font-weight: 750; white-space: nowrap; }
.as-dashboard-lead { display: grid; grid-template-columns: minmax(0,1.48fr) minmax(260px,.82fr); gap: 14px; }
.as-dashboard-priority,.as-dashboard-warranty { min-width: 0; min-height: 310px; position: relative; display: flex; flex-direction: column; align-items: flex-start; overflow: hidden; padding: 30px 34px; border-radius: 22px; }
.as-dashboard-priority { background: #151f30; color: #fff; box-shadow: 0 22px 46px rgba(15,23,42,.18); }
.as-dashboard-priority::before { content: ''; position: absolute; width: 460px; height: 460px; right: -210px; top: -260px; border-radius: 50%; background: radial-gradient(circle,rgba(240,116,54,.22),rgba(240,116,54,0) 68%); pointer-events: none; }
.as-dashboard-priority-label { display: inline-flex; align-items: center; gap: 9px; color: #bfcbda; font-size: 12px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.as-dashboard-priority-label > span { width: 7px; height: 7px; border-radius: 50%; background: #f6894d; box-shadow: 0 0 0 5px rgba(246,137,77,.15); }
.as-dashboard-priority-number { margin: 14px 0 2px; color: #ffa66d; font-size: clamp(48px,6vw,70px); line-height: .95; letter-spacing: -.07em; font-variant-numeric: tabular-nums; }
.as-dashboard-priority h2 { max-width: 550px; margin: 7px 0 8px; font-size: clamp(22px,2.3vw,30px); line-height: 1.2; letter-spacing: -.035em; }
.as-dashboard-priority p { max-width: 565px; margin: 0 0 22px; color: #c4ceda; font-size: 15px; line-height: 1.65; }
.as-dashboard-primary-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: auto; padding: 12px 16px; border-radius: 11px; background: #f68446; color: #231914; font-size: 13px; font-weight: 850; text-decoration: none; transition: background .18s,transform .18s; }
.as-dashboard-primary-link:hover,.as-dashboard-primary-link:focus-visible { background: #ffad7c; color: #231914; transform: translateY(-2px); outline: 3px solid rgba(255,173,124,.3); }
.as-dashboard-warranty { border: 1px solid #eedfcf; background: linear-gradient(145deg,#fffaf4,#fff3e6); }
.as-dashboard-warranty::after { content: ''; position: absolute; width: 210px; height: 210px; top: -113px; right: -97px; border: 36px solid rgba(208,115,51,.06); border-radius: 50%; pointer-events: none; }
.as-dashboard-warranty-icon { width: 43px; height: 43px; display: grid; place-items: center; margin-bottom: 18px; border: 1px solid #edcdb2; border-radius: 12px; background: #fff; color: #b45b26; font-size: 21px; }
.as-dashboard-warranty-label { color: #ad6134; font-size: 12px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.as-dashboard-warranty h2 { max-width: 270px; margin: 8px 0; color: #473225; font-size: clamp(23px,2.5vw,31px); line-height: 1.14; letter-spacing: -.04em; }
.as-dashboard-warranty p { max-width: 360px; margin: 0 0 19px; color: #6d5545; font-size: 14px; line-height: 1.65; }
.as-dashboard-warranty a { display: inline-flex; align-items: center; gap: 9px; margin-top: auto; color: #a34b20; font-size: 13px; font-weight: 850; text-decoration: none; }
.as-dashboard-warranty a:hover,.as-dashboard-warranty a:focus-visible { color: #693114; text-decoration: underline; outline: none; }
.as-dashboard-scope-note { display: flex; align-items: flex-start; gap: 10px; margin: 14px 0 0; padding: 13px 15px; border: 1px solid #dfe6ee; border-radius: 13px; background: #fff; color: #5f6c7e; font-size: 13px; line-height: 1.6; }
.as-dashboard-scope-note i { color: #3470b6; font-size: 16px; }
.as-dashboard-overview,.as-dashboard-service,.as-dashboard-lower,.as-dashboard-partners { margin-top: 36px; }
.as-dashboard-section-head { display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 15px; margin-bottom: 14px; }
.as-dashboard-section-head > div { min-width: 0; }
.as-dashboard-section-head h2 { margin: 5px 0 0; font-size: 22px; line-height: 1.2; letter-spacing: -.035em; }
.as-dashboard-section-head > a { display: inline-flex; align-items: center; gap: 7px; margin-left: auto; padding-bottom: 2px; color: #5b6575; font-size: 14px; font-weight: 800; white-space: nowrap; text-decoration: none; }
.as-dashboard-section-head > a:hover,.as-dashboard-section-head > a:focus-visible { color: #b45221; text-decoration: underline; outline: none; }
.as-dashboard-metrics { display: grid; grid-template-columns: repeat(auto-fit,minmax(180px,1fr)); gap: 12px; }
.as-dashboard-metric { min-width: 0; position: relative; display: flex; flex-direction: column; gap: 7px; padding: 19px 19px 17px; border: 1px solid var(--as-line); border-radius: 16px; background: #fff; text-decoration: none; transition: border-color .18s,transform .18s,box-shadow .18s; }
.as-dashboard-metric:hover,.as-dashboard-metric:focus-visible { border-color: #d9bda9; transform: translateY(-2px); box-shadow: 0 12px 23px rgba(15,23,42,.08); outline: none; }
.as-dashboard-metric-marker { width: 25px; height: 4px; margin-bottom: 6px; border-radius: 999px; }
.as-dashboard-metric-marker.is-orange { background: #e87840; }
.as-dashboard-metric-marker.is-blue { background: #4b88db; }
.as-dashboard-metric-marker.is-violet { background: #8a6fd0; }
.as-dashboard-metric-marker.is-green { background: #36a776; }
.as-dashboard-metric strong { font-size: 38px; line-height: 1; letter-spacing: -.06em; font-variant-numeric: tabular-nums; }
.as-dashboard-metric > span:not(.as-dashboard-metric-marker) { color: #5f6b7d; font-size: 15px; font-weight: 700; line-height: 1.4; }
.as-dashboard-metric > i { position: absolute; top: 17px; right: 18px; color: #a9b1bd; font-size: 16px; }
.as-dashboard-lower { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(260px,.8fr); gap: 20px; }
.as-dashboard-machine-list { overflow: hidden; border: 1px solid var(--as-line); border-radius: 16px; background: #fff; }
.as-dashboard-machine { min-width: 0; display: flex; align-items: center; gap: 13px; padding: 16px; border-bottom: 1px solid #eef0f3; color: inherit; text-decoration: none; transition: background .18s; }
.as-dashboard-machine:last-child { border-bottom: 0; }
.as-dashboard-machine:hover,.as-dashboard-machine:focus-visible { background: #fffaf7; outline: none; }
.as-dashboard-machine-icon { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 10px; background: #f0f2f5; color: #526075; font-size: 17px; }
.as-dashboard-machine-icon.has-machine-art { width: 68px; height: 54px; padding: 5px; overflow: hidden; border: 1px solid #e2e7ed; border-radius: 13px; background: linear-gradient(145deg,#fff,#f1f4f7); box-shadow: 0 7px 16px rgba(15,23,42,.08); }
.as-dashboard-machine-icon.has-machine-art img { width: 100%; height: 100%; display: block; object-fit: contain; filter: drop-shadow(0 4px 4px rgba(15,23,42,.14)); transition: transform .2s ease; }
.as-dashboard-machine:hover .as-dashboard-machine-icon.has-machine-art img,.as-dashboard-machine:focus-visible .as-dashboard-machine-icon.has-machine-art img { transform: scale(1.045); }
.as-dashboard-machine-copy { min-width: 0; flex: 1; }
.as-dashboard-machine-copy strong,.as-dashboard-machine-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.as-dashboard-machine-copy strong { font-size: 16px; line-height: 1.35; }
.as-dashboard-machine-copy small { margin-top: 5px; color: #707c8e; font-size: 14px; line-height: 1.4; }
.as-dashboard-machine-status { flex: 0 0 auto; padding: 7px 10px; border-radius: 999px; background: #f0f2f5; color: #637083; font-size: 12.5px; font-weight: 800; white-space: nowrap; }
.as-dashboard-machine-status.is-awaiting-installation,.as-dashboard-machine-status.is-awaiting-approval { background: #fff2e8; color: #b55c25; }
.as-dashboard-machine-status.is-installation-in-progress { background: #eaf2ff; color: #356ab2; }
.as-dashboard-machine-status.is-installed { background: #e9f7ef; color: #217b52; }
.as-dashboard-machine-arrow { color: #9aa4b1; font-size: 14px; }
.as-dashboard-empty { display: flex; flex-direction: column; align-items: center; gap: 7px; padding: 35px 20px; color: #778396; text-align: center; }
.as-dashboard-empty i { margin-bottom: 5px; color: #b4becb; font-size: 28px; }
.as-dashboard-empty strong { color: #415067; font-size: 16px; }
.as-dashboard-empty span { font-size: 14px; }
.as-dashboard-shortcuts { min-width: 0; }
.as-dashboard-shortcut { min-width: 0; display: flex; align-items: center; gap: 12px; margin-bottom: 8px; padding: 15px; border: 1px solid var(--as-line); border-radius: 13px; background: #fff; text-decoration: none; transition: border-color .18s,background .18s; }
.as-dashboard-shortcut:hover,.as-dashboard-shortcut:focus-visible { border-color: #e2c4ad; background: #fffaf7; outline: none; }
.as-dashboard-shortcut > i:first-child { width: 37px; height: 37px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 10px; background: #fff0e7; color: #bf612b; font-size: 18px; }
.as-dashboard-shortcut > span { min-width: 0; flex: 1; }
.as-dashboard-shortcut strong,.as-dashboard-shortcut small { display: block; }
.as-dashboard-shortcut strong { font-size: 15px; line-height: 1.35; }
.as-dashboard-shortcut small { margin-top: 5px; color: #717d8e; font-size: 13px; line-height: 1.45; }
.as-dashboard-partners .as-partner-row strong { font-size: 14px; }
.as-dashboard-partners .as-partner-row small { font-size: 12px; }
.as-dashboard-partners .as-role-badge { font-size: 10px; }
.as-dashboard-shortcut > i:last-child { color: #9da8b6; font-size: 15px; }
.as-dashboard-service-metrics { display: grid; grid-template-columns: repeat(auto-fit,minmax(205px,1fr)); gap: 11px; }
.as-dashboard-service-metric { min-width: 0; display: grid; grid-template-columns: 38px minmax(0,1fr) 16px; align-items: center; gap: 11px; padding: 15px; border: 1px solid var(--as-line); border-radius: 15px; background: #fff; color: inherit; text-decoration: none; transition: transform .18s,box-shadow .18s,border-color .18s; }
.as-dashboard-service-metric:hover,.as-dashboard-service-metric:focus-visible { border-color: #d9bda9; box-shadow: 0 12px 25px rgba(15,23,42,.08); outline: none; transform: translateY(-2px); }
.as-dashboard-service-metric > span,.as-dashboard-service-icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; font-size: 17px; }
.as-dashboard-service-metric.is-total > span { background: #edf1f7; color: #40516a; }.as-dashboard-service-metric.is-draft > span,.as-dashboard-service-icon.is-draft { background: #fff0e7; color: #b95e2a; }.as-dashboard-service-metric.is-new > span { background: #edf4ff; color: #3970b5; }.as-dashboard-service-metric.is-review > span { background: #f3edff; color: #7756b9; }
.as-dashboard-service-metric div { min-width: 0; }.as-dashboard-service-metric strong,.as-dashboard-service-metric small { display: block; }.as-dashboard-service-metric strong { font-size: 24px; line-height: 1; letter-spacing: -.045em; }.as-dashboard-service-metric small { margin-top: 5px; color: #667386; font-size: 12px; font-weight: 750; line-height: 1.35; }.as-dashboard-service-metric > i { color: #9da8b6; }
.as-dashboard-service-workspace { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(220px,.62fr); gap: 14px; margin-top: 14px; }
.as-dashboard-service-panel,.as-dashboard-service-callout { min-width: 0; border: 1px solid var(--as-line); border-radius: 17px; background: #fff; overflow: hidden; }
.as-dashboard-service-panel > header { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 17px 17px 13px; }.as-dashboard-service-panel h3,.as-dashboard-service-callout h3 { margin: 4px 0 0; font-size: 17px; letter-spacing: -.025em; }.as-dashboard-service-panel header a { color: #a55329; font-size: 12px; font-weight: 800; text-decoration: none; }.as-dashboard-service-panel header a:hover { text-decoration: underline; }
.as-dashboard-service-list { border-top: 1px solid #edf0f3; }.as-dashboard-service-row { min-width: 0; display: grid; grid-template-columns: 37px minmax(0,1fr); gap: 10px; align-items: center; padding: 13px 16px; color: inherit; text-decoration: none; border-bottom: 1px solid #edf0f3; transition: background .18s; }.as-dashboard-service-row:last-child { border-bottom: 0; }.as-dashboard-service-row:hover,.as-dashboard-service-row:focus-visible { background: #fffaf7; outline: none; }.as-dashboard-service-row > span:nth-child(2) { min-width: 0; }.as-dashboard-service-row strong,.as-dashboard-service-row small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.as-dashboard-service-row strong { font-size: 13px; }.as-dashboard-service-row small { margin-top: 4px; color: #758195; font-size: 11.5px; }.as-dashboard-service-row em { grid-column: 2; color: #a35329; font-size: 11px; font-style: normal; font-weight: 800; }.as-dashboard-service-icon { width: 37px; height: 37px; }.as-dashboard-service-icon.is-done { background: #e9f7ef; color: #21815a; }
.as-dashboard-service-empty { display: flex; align-items: center; gap: 10px; min-height: 94px; padding: 16px; color: #718094; }.as-dashboard-service-empty > i { color: #9eb1c3; font-size: 23px; }.as-dashboard-service-empty span { min-width: 0; }.as-dashboard-service-empty strong,.as-dashboard-service-empty small { display: block; }.as-dashboard-service-empty strong { color: #435168; font-size: 13px; }.as-dashboard-service-empty small { margin-top: 4px; font-size: 11.5px; line-height: 1.45; }
.as-dashboard-service-callout { position: relative; display: flex; flex-direction: column; align-items: flex-start; padding: 21px; overflow: hidden; border-color: #eedbc9; background: linear-gradient(145deg,#fffaf4,#fff2e5); }.as-dashboard-service-callout::after { content: ''; position: absolute; right: -55px; bottom: -70px; width: 175px; height: 175px; border: 28px solid rgba(210,108,45,.07); border-radius: 50%; }.as-dashboard-service-callout > span { display: grid; place-items: center; position: relative; z-index: 1; width: 39px; height: 39px; border-radius: 11px; background: #fff; color: #ae5526; font-size: 18px; }.as-dashboard-service-callout p { position: relative; z-index: 1; margin: 10px 0 20px; color: #775b48; font-size: 13px; line-height: 1.6; }.as-dashboard-service-callout a { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 8px; margin-top: auto; color: #97461e; font-size: 12px; font-weight: 850; text-decoration: none; }.as-dashboard-service-callout a:hover { text-decoration: underline; }

@media (max-width: 1000px) {
    .as-dashboard-lead { grid-template-columns: minmax(0,1.2fr) minmax(235px,.8fr); }
    .as-dashboard-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .as-dashboard-lower { grid-template-columns: 1fr; }
    .as-dashboard-service-workspace { grid-template-columns: 1fr 1fr; }.as-dashboard-service-callout { grid-column: 1 / -1; min-height: 166px; }
    .as-dashboard-shortcuts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
    .as-dashboard-shortcuts .as-dashboard-section-head { grid-column: 1 / -1; }
    .as-dashboard-shortcut { margin-bottom: 0; }
}
@media (max-width: 720px) {
    .as-dashboard-heading { align-items: flex-start; flex-direction: column; gap: 13px; margin-bottom: 19px; }
    .as-dashboard-heading h1 { font-size: clamp(29px,8vw,38px); }
    .as-dashboard-lead { grid-template-columns: 1fr; }
    .as-dashboard-priority,.as-dashboard-warranty { min-height: 0; padding: 25px; border-radius: 18px; }
    .as-dashboard-priority { min-height: 285px; }
    .as-dashboard-warranty { min-height: 215px; }
    .as-dashboard-warranty-icon { margin-bottom: 12px; }
    .as-dashboard-overview,.as-dashboard-service,.as-dashboard-lower,.as-dashboard-partners { margin-top: 31px; }
    .as-dashboard-service-workspace { grid-template-columns: 1fr; }.as-dashboard-service-callout { grid-column: auto; min-height: 0; }
    .as-dashboard-machine-status { font-size: 12px; }
}
@media (max-width: 430px) {
    .as-topbar { height: 66px; gap: 10px; padding-inline: 12px; }
    .as-topbar-brand { width: 152px; flex-basis: 152px; }
    .as-topbar-actions { gap: 6px; }
    .as-user-copy { display: none; }
    .as-user-menu { gap: 4px; padding: 4px 5px 4px 6px; }
    .as-user-menu::before { top: 8px; bottom: 8px; }
    .as-user-avatar { width: 34px; height: 34px; }
    .as-icon-button { width: 38px; height: 38px; }
    .as-notification-badge { top: -6px; right: -6px; min-width: 21px; height: 21px; padding-inline: 4px; font-size: 10px; }
    .as-logout-link { width: 33px; height: 33px; }
    .as-dashboard-metrics { gap: 8px; }
    .as-dashboard-metric { padding: 16px 14px; }
    .as-dashboard-metric strong { font-size: 34px; }
    .as-dashboard-section-head h2 { font-size: 20px; }
    .as-dashboard-shortcuts { grid-template-columns: 1fr; }
    .as-dashboard-machine { flex-wrap: wrap; gap: 8px; }
    .as-dashboard-machine-copy { flex-basis: calc(100% - 47px); }
    .as-dashboard-machine-status { margin-left: 46px; }
    .as-dashboard-machine-arrow { margin-left: auto; }
    .as-dashboard-machine-icon.has-machine-art { width: 68px; height: 54px; }
    .as-dashboard-machine-icon.has-machine-art + .as-dashboard-machine-copy { flex-basis: calc(100% - 81px); }
    .as-dashboard-machine:has(.as-dashboard-machine-icon.has-machine-art) .as-dashboard-machine-status { margin-left: 76px; }
}
@media (max-width: 340px) {
    .as-topbar-brand { width: 124px; flex-basis: 124px; }
}

/* Dashboard: one clear first action, then only the work that needs attention. */
.as-dashboard-command { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(300px,.7fr); margin-top: 36px; overflow: hidden; border: 1px solid #e5d9d1; border-radius: 22px; background: #fff; box-shadow: 0 18px 42px rgba(15,23,42,.07); }
.as-dashboard-command-main { position: relative; padding: 35px 38px; overflow: hidden; background: linear-gradient(123deg,#172333,#25354a); color: #fff; }.as-dashboard-command-main::after { content: ''; position: absolute; right: -105px; top: -190px; width: 430px; height: 430px; border: 1px solid rgba(255,184,128,.18); border-radius: 50%; box-shadow: 0 0 0 58px rgba(255,184,128,.035), 0 0 0 118px rgba(255,184,128,.02); pointer-events: none; }.as-dashboard-command-main > * { position: relative; z-index: 1; }.as-dashboard-command-main .as-kicker { color: #ffbd8f; }.as-dashboard-command-main h2 { max-width: 600px; margin: 9px 0 10px; font-size: clamp(26px,3vw,37px); line-height: 1.12; letter-spacing: -.055em; }.as-dashboard-command-main p { max-width: 570px; margin: 0; color: #c9d3df; font-size: 15px; line-height: 1.65; }.as-dashboard-command-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 25px; }.as-dashboard-command-primary,.as-dashboard-command-secondary { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 46px; padding: 12px 16px; border-radius: 12px; font-size: 13px; font-weight: 850; text-decoration: none; transition: transform .18s,background .18s,border-color .18s; }.as-dashboard-command-primary { background: #f38649; color: #261a14; }.as-dashboard-command-secondary { border: 1px solid rgba(221,231,241,.28); background: rgba(255,255,255,.09); color: #fff; }.as-dashboard-command-primary:hover,.as-dashboard-command-primary:focus-visible { background: #ffae7b; color: #261a14; transform: translateY(-2px); outline: none; }.as-dashboard-command-secondary:hover,.as-dashboard-command-secondary:focus-visible { border-color: rgba(255,255,255,.7); background: rgba(255,255,255,.15); color: #fff; transform: translateY(-2px); outline: none; }
.as-dashboard-command-summary { display: flex; flex-direction: column; padding: 25px 24px 17px; background: #fffaf6; }.as-dashboard-command-summary > span { margin: 0 0 11px; color: #986044; font-size: 11px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }.as-dashboard-command-summary a { display: grid; grid-template-columns: 24px 33px minmax(0,1fr) 14px; align-items: center; gap: 8px; padding: 13px 0; border-top: 1px solid #eedfd5; color: inherit; text-decoration: none; }.as-dashboard-command-summary a > i:first-child { color: #bd6433; font-size: 16px; }.as-dashboard-command-summary a b { color: #26354a; font-size: 20px; line-height: 1; letter-spacing: -.05em; }.as-dashboard-command-summary a small { min-width: 0; color: #687488; font-size: 11.5px; font-weight: 700; line-height: 1.35; }.as-dashboard-command-summary a > i:last-child { color: #a3aebb; font-size: 12px; }.as-dashboard-command-summary a:hover small,.as-dashboard-command-summary a:focus-visible small { color: #a65327; }.as-dashboard-command-summary a:focus-visible { outline: 2px solid #e68145; outline-offset: 3px; }
.as-dashboard-workspace { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(235px,.67fr); gap: 14px; margin-top: 33px; }.as-dashboard-workspace .as-dashboard-service-panel { box-shadow: 0 8px 22px rgba(15,23,42,.035); }.as-dashboard-machine-pulse { min-width: 0; border: 1px solid #e0e5eb; border-radius: 17px; background: #f9fbfc; overflow: hidden; }.as-dashboard-machine-pulse header { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 17px 17px 12px; }.as-dashboard-machine-pulse h3 { margin: 4px 0 0; font-size: 17px; letter-spacing: -.025em; }.as-dashboard-machine-pulse header a { color: #a55329; font-size: 12px; font-weight: 800; text-decoration: none; }.as-dashboard-machine-pulse header a:hover { text-decoration: underline; }.as-dashboard-machine-pulse > a { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 13px 16px; border-top: 1px solid #e6ebef; color: inherit; text-decoration: none; transition: background .18s; }.as-dashboard-machine-pulse > a:hover,.as-dashboard-machine-pulse > a:focus-visible { background: #fff; outline: none; }.as-dashboard-machine-pulse > a span { display: inline-flex; align-items: center; gap: 8px; min-width: 0; color: #5e6c7e; font-size: 12.5px; font-weight: 750; }.as-dashboard-machine-pulse > a span i { color: #b25c2e; font-size: 15px; }.as-dashboard-machine-pulse > a b { color: #27364b; font-size: 20px; letter-spacing: -.045em; }
@media (max-width: 1000px) { .as-dashboard-command { grid-template-columns: minmax(0,1.3fr) minmax(260px,.7fr); }.as-dashboard-workspace { grid-template-columns: 1fr 1fr; }.as-dashboard-machine-pulse { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); }.as-dashboard-machine-pulse header { grid-column: 1 / -1; }.as-dashboard-machine-pulse > a { border-right: 1px solid #e6ebef; }.as-dashboard-machine-pulse > a:last-child { border-right: 0; } }
@media (max-width: 720px) { .as-dashboard-command { grid-template-columns: 1fr; margin-top: 27px; border-radius: 18px; }.as-dashboard-command-main { padding: 27px 23px; }.as-dashboard-command-main h2 { font-size: 28px; }.as-dashboard-command-summary { padding: 18px 20px 10px; }.as-dashboard-workspace { grid-template-columns: 1fr; margin-top: 27px; }.as-dashboard-machine-pulse { display: block; grid-column: auto; }.as-dashboard-machine-pulse > a { border-right: 0; } }
@media (max-width: 430px) { .as-dashboard-command-main { padding: 24px 19px; }.as-dashboard-command-main h2 { font-size: 26px; }.as-dashboard-command-actions { display: grid; grid-template-columns: 1fr; }.as-dashboard-command-primary,.as-dashboard-command-secondary { width: 100%; }.as-dashboard-command-summary { padding-inline: 17px; }.as-dashboard-workspace { gap: 11px; } }

.as-dashboard-flow {
    min-width: 0;
    margin-top: 36px;
    padding: 22px 24px 18px;
    overflow: hidden;
    border: 1px solid #e4dcd6;
    border-top: 3px solid #e87536;
    border-radius: 19px;
    background: radial-gradient(circle at 100% 0, rgba(232,117,54,.08), transparent 27%), #fff;
    box-shadow: 0 16px 38px rgba(15,23,42,.07);
}
.as-dashboard-flow .as-dashboard-section-head { align-items: flex-start; margin-bottom: 4px; }
.as-dashboard-flow .as-dashboard-section-head > p { max-width: 510px; margin: 3px 0 0 auto; color: #687487; font-size: 14px; line-height: 1.55; text-align: right; }
.as-dashboard-flow-chart { width: 100%; height: 320px; }
.as-dashboard-flow-state { min-height: 230px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; color: #6c788a; text-align: center; }
.as-dashboard-flow-state[hidden] { display: none; }
.as-dashboard-flow-state i { color: #c2a38e; font-size: 30px; }
.as-dashboard-flow-state strong { max-width: 470px; color: #46546a; font-size: 15px; line-height: 1.55; }

.mz-chart-tooltip { min-width: 205px; color: #172033; font-family: Inter,"Noto Sans","Segoe UI",sans-serif; }
.mz-chart-tooltip__title { margin-bottom: 9px; padding-bottom: 8px; border-bottom: 1px solid #e7ebf0; color: #101828; font-size: 13px; font-weight: 800; }
.mz-chart-tooltip__row { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin-top: 6px; color: #667085; font-size: 12px; }
.mz-chart-tooltip__row strong { color: #172033; font-size: 13px; }
.mz-chart-tooltip__dot { width: 8px; height: 8px; display: inline-block; margin-right: 7px; border-radius: 50%; }
.mz-chart-tooltip__note { max-width: 310px; margin-top: 9px; color: #7a8494; font-size: 11px; line-height: 1.45; }

@media (max-width: 767.98px) {
    .as-dashboard-flow { margin-top: 31px; padding: 19px 16px 14px; border-radius: 17px; }
    .as-dashboard-flow .as-dashboard-section-head > p { margin-left: 0; text-align: left; }
    .as-dashboard-flow-chart { height: 300px; }
}

@media (max-width: 479.98px) {
    .as-dashboard-flow { padding-inline: 12px; }
    .as-dashboard-flow-chart { height: 285px; }
}

/* Model fotoğrafları: liste görselleri okunur, detay görselleri odak noktası olsun. */
.as-machine-visual.has-machine-art { width: 112px; height: 92px; }
.as-dashboard-machine-icon.has-machine-art { width: 82px; height: 66px; }
.as-dashboard-machine-icon.has-machine-art + .as-dashboard-machine-copy { flex-basis: calc(100% - 95px); }
.as-dashboard-machine:has(.as-dashboard-machine-icon.has-machine-art) .as-dashboard-machine-status { margin-left: 90px; }
.as-notification-machine-visual.has-machine-art { width: 72px; height: 58px; }
.as-machine-detail-hero { grid-template-columns: 230px minmax(0, 1fr) auto; }
.as-machine-detail-icon.has-machine-art { width: 230px; }
.as-installation-machine-visual.has-machine-art { width: 162px; }
@media (max-width: 1000px) {
    .as-machine-detail-hero { grid-template-columns: 180px minmax(0, 1fr); }
    .as-machine-detail-icon.has-machine-art { width: 180px; }
}
@media (max-width: 720px) {
    .as-machine-visual.has-machine-art { width: 88px; height: 72px; }
    .as-machine-detail-hero { grid-template-columns: 150px minmax(0, 1fr); }
    .as-machine-detail-icon.has-machine-art { width: 150px; }
}
@media (max-width: 600px) {
    .as-machine-detail-hero { grid-template-columns: 1fr; }
    .as-machine-detail-icon.has-machine-art { width: min(70vw, 240px); }
    .as-installation-machine-visual.has-machine-art { width: min(70vw, 230px); }
}

/* Dar ekranlarda kartların min-content genişliği sayfayı yatayda büyütmesin. */
.as-dashboard-lower,
.as-dashboard-recent,
.as-dashboard-shortcuts,
.as-dashboard-machine-list,
.as-dashboard-flow,
.as-dashboard-workspace,
.as-dashboard-command { min-width: 0; }
.as-dashboard-shortcut { min-width: 0; }
.as-dashboard-shortcut strong,
.as-dashboard-shortcut small { overflow-wrap: anywhere; }

@media (max-width: 1000px) {
    .as-dashboard-lower { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 720px) {
    .as-dashboard-command,
    .as-dashboard-workspace { grid-template-columns: minmax(0, 1fr); }
    .as-dashboard-shortcuts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .as-dashboard-section-head { min-width: 0; }
    .as-dashboard-section-head > a { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
    .as-topbar-brand { min-width: 0; }
}

@media (max-width: 600px) {
    .as-dashboard-shortcuts { grid-template-columns: minmax(0, 1fr); }
    .as-dashboard-machine { display: grid; grid-template-columns: 82px minmax(0, 1fr) 16px; align-items: center; gap: 8px 10px; }
    .as-dashboard-machine-icon { grid-column: 1; grid-row: 1; }
    .as-dashboard-machine-icon.has-machine-art { width: 82px; height: 66px; }
    .as-dashboard-machine-copy,
    .as-dashboard-machine-icon.has-machine-art + .as-dashboard-machine-copy { grid-column: 2 / -1; grid-row: 1; min-width: 0; flex-basis: auto; }
    .as-dashboard-machine-status { grid-column: 2; grid-row: 2; justify-self: start; min-width: 0; max-width: 100%; margin: 0; white-space: normal; overflow-wrap: anywhere; }
    .as-dashboard-machine:has(.as-dashboard-machine-icon.has-machine-art) .as-dashboard-machine-status { margin-left: 0; }
    .as-dashboard-machine-arrow { grid-column: 3; grid-row: 2; justify-self: end; margin: 0; }
    .as-dashboard-shortcut { gap: 10px; padding: 13px; }
    .as-notification-machine-visual.has-machine-art { width: 60px; height: 50px; }
}

@media (max-width: 360px) {
    .as-dashboard-machine { grid-template-columns: 64px minmax(0, 1fr) 14px; }
    .as-dashboard-machine-icon.has-machine-art { width: 64px; height: 54px; }
    .as-dashboard-machine-icon.has-machine-art + .as-dashboard-machine-copy { flex-basis: auto; }
    .as-topbar-brand { width: auto; flex: 1 1 auto; }
}

/* Mobil üst çubuk: marka öncelikli, hesap ayrıntıları yalnız istenince görünür. */
@media (max-width: 720px) {
    .as-topbar { position: relative; z-index: 40; height: 72px; gap: 12px; padding-inline: 16px; }
    .as-topbar-brand { width: auto; max-width: 225px; min-width: 0; flex: 1 1 auto; }
    .as-topbar-actions { flex: 0 0 auto; width: auto; gap: 9px; }
    .as-topbar-actions > .as-user-menu { display: none; }
    .as-topbar-actions > .as-mobile-profile { position: relative; display: block; flex: 0 0 auto; }
    .as-topbar-actions > .as-icon-button,
    .as-mobile-profile-trigger { width: 44px; height: 44px; }
    .as-mobile-profile-trigger { display: grid; place-items: center; border: 1px solid #dfe4ea; border-radius: 13px; background: #fff; cursor: pointer; list-style: none; box-shadow: 0 4px 12px rgba(15,23,42,.05); }
    .as-mobile-profile-trigger::-webkit-details-marker { display: none; }
    .as-mobile-profile-trigger::marker { content: ''; }
    .as-mobile-profile-trigger .as-user-avatar { width: 34px; height: 34px; border-radius: 10px; font-size: 10px; }
    .as-mobile-profile-trigger:hover,
    .as-mobile-profile[open] .as-mobile-profile-trigger { border-color: #e8b48f; background: #fff8f3; }
    .as-mobile-profile-trigger:focus-visible { outline: 3px solid rgba(243,109,33,.28); outline-offset: 3px; }
    .as-mobile-profile-panel { position: absolute; z-index: 60; top: calc(100% + 10px); right: 0; width: min(300px,calc(100vw - 28px)); padding: 16px; border: 1px solid #e1e6ed; border-radius: 17px; background: #fff; box-shadow: 0 20px 45px rgba(15,23,42,.18); }
    .as-mobile-profile-heading strong,
    .as-mobile-profile-heading span { display: block; overflow-wrap: anywhere; }
    .as-mobile-profile-heading strong { color: #1e2a3d; font-size: 14px; line-height: 1.4; }
    .as-mobile-profile-heading span { margin-top: 3px; color: #9e4c21; font-size: 11px; font-weight: 750; }
    .as-mobile-profile-partner { display: flex; align-items: flex-start; gap: 9px; margin-top: 13px; padding: 12px 0; border-block: 1px solid #edf0f4; color: #617084; font-size: 12px; line-height: 1.5; }
    .as-mobile-profile-partner i { flex: 0 0 auto; color: #bc5a26; }
    .as-mobile-profile-partner span { min-width: 0; overflow-wrap: anywhere; }
    .as-mobile-profile-logout { display: flex; align-items: center; gap: 9px; min-height: 42px; margin-top: 11px; padding: 9px 11px; border-radius: 11px; background: #fff1e8; color: #a74618; font-size: 12px; font-weight: 800; text-decoration: none; }
    .as-mobile-profile-logout:hover,
    .as-mobile-profile-logout:focus-visible { background: #ffe4d2; color: #823511; outline: 2px solid rgba(243,109,33,.23); }
}
@media (max-width: 360px) {
    .as-topbar { gap: 7px; padding-inline: 10px; }
    .as-topbar-actions { gap: 6px; }
    .as-topbar-actions > .as-icon-button,
    .as-mobile-profile-trigger { width: 42px; height: 42px; }
}
