/* Browser entry point. Detailed styles are kept alongside the application assets. */
@import url("./js/style.css?v=4");
@import url("./product-cards.css?v=10");
[hidden] { display: none !important; }
.auth-screen { min-height:100vh;display:grid;place-items:center;padding:24px;box-sizing:border-box;background:radial-gradient(circle at top,#303044,#17171f 55%);color:#f5f5f7; }
.auth-card { width:min(100%,420px);display:grid;gap:16px;padding:34px;border:1px solid #ffffff24;border-radius:22px;background:#24242f;box-shadow:0 24px 70px #0008; }
.auth-card h1,.auth-card p { margin:0; }.auth-card>p { color:#b8b8c5; }.auth-brand { display:flex;align-items:center;font-size:28px;font-weight:800; }.auth-brand>span:last-child>span { color:var(--accent,#facd48); }
.auth-card label,.admin-user-form label { display:grid;gap:7px;font-weight:600; }.auth-card input,.admin-user-form input,.admin-user-form select { box-sizing:border-box;width:100%;padding:12px;border:1px solid #85859877;border-radius:9px;background:#ffffff0d;color:inherit;font:inherit; }
.auth-card button,.admin-user-form button,.admin-user-row button { padding:11px 16px;border:0;border-radius:9px;cursor:pointer;font:inherit;font-weight:700;background:var(--accent,#facd48);color:#242018; }.auth-status,#admin-status { min-height:1.4em;color:#ef8c8c; }
.admin-users-layout { display:grid;grid-template-columns:minmax(280px,380px) minmax(0,1fr);gap:20px;align-items:start; }.admin-user-form { display:grid;gap:15px; }.admin-checkbox { grid-template-columns:auto 1fr!important;align-items:center; }.admin-checkbox input { width:18px;height:18px; }.admin-form-actions,.admin-user-row>div:last-child { display:flex;flex-wrap:wrap;gap:8px; }.admin-users-list { display:grid;gap:10px; }.admin-user-row { display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px;border:1px solid var(--line);border-radius:12px; }.admin-user-row>div:first-child { display:grid;gap:4px; }.admin-user-row span { color:var(--muted);font-size:13px; }.admin-secondary { background:transparent!important;color:inherit!important;border:1px solid var(--line)!important; }.admin-danger { background:#9e3442!important;color:#fff!important; }.admin-danger:disabled { opacity:.4;cursor:not-allowed; }
@media(max-width:760px){.auth-card{padding:24px}.admin-users-layout{grid-template-columns:1fr}.admin-user-row{align-items:flex-start;flex-direction:column}}
.breadcrumbs { margin: 0 0 20px; font-size: 13px; color: var(--muted); }
.breadcrumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; list-style: none; padding: 0; margin: 0; }
.breadcrumbs li { display: flex; align-items: baseline; gap: 10px; min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.breadcrumbs a { display: inline-block; padding: 5px 0; color: var(--accent); text-decoration: none; }
.breadcrumbs a:hover { text-decoration: underline; }
.breadcrumbs a:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; border-radius: 3px; }
.breadcrumbs [aria-current="page"] { color: var(--text); }
.breadcrumbs__separator { flex-shrink: 0; }
.property-calculator { display: grid; gap: 12px; }
.property-calculator #property-extras { display: grid; gap: 14px; }
.property-calculator .property-extra { display: grid; gap: 8px; }
.property-calculator .property-option { display: flex; align-items: center; gap: 10px; font-size: 13px; }
.property-calculator input[type="checkbox"] { width: 18px; height: 18px; flex-shrink: 0; accent-color: var(--accent); }
.property-calculator [hidden] { display: none !important; }
.registration-section input[type="text"] { width: 100%; box-sizing: border-box; padding: 12px; border: 1px solid #8391a366; border-radius: 8px; font: inherit; color: inherit; background: transparent; }
.registration-section [hidden] { display: none !important; }
.registration-section [role="status"] { font-size: 13px; }
.registration-section .settlement-options { max-height: 240px; overflow-y: auto; overscroll-behavior: contain; border: 1px solid #8391a366; border-radius: 8px; }
.registration-section .settlement-option { height: 48px; box-sizing: border-box; padding: 6px 12px; display: flex; align-items: center; font-size: 13px; line-height: 18px; overflow: hidden; cursor: pointer; border-bottom: 1px solid #8391a322; }
.registration-section .settlement-option:hover, .registration-section .settlement-option[aria-selected="true"] { background: #8391a333; }
.registration-section .settlement-picker { position: relative; display: block; width: 100%; min-width: 0; }
.registration-section .settlement-options { position: absolute; top: calc(100% + 4px); left: 0; right: 0; z-index: 30; background: var(--surface, #fff); box-shadow: 0 8px 24px #0003; }
.registration-section [role="status"]:empty { display: none; }


.topbar-rates { flex: 1 1 0; min-width: 0; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; }
.topbar-rates__items { display: flex; align-items: center; gap: 20px; width: max-content; }
.topbar-rates__currency { display: flex; align-items: center; gap: 10px; white-space: nowrap; font-size: 12px; font-variant-numeric: tabular-nums; }
.topbar-rates__currency + .topbar-rates__currency { border-left: 1px solid var(--line); padding-left: 20px; }
.topbar-rates__currency strong { color: var(--accent); font-size: 13px; }
.topbar-rates__currency span { display: flex; flex-direction: column; gap: 3px; }
.topbar-rates__currency small { color: var(--muted); font-size: 10px; }
.topbar-rates__status { font-size: 11px; }
.topbar-rates[data-loaded] .topbar-rates__status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.topbar > button { flex-shrink: 0; }
@media (max-width: 1100px) {
 .topbar-rates__items { gap: 12px; }
 .topbar-rates__currency { gap: 7px; }
 .topbar-rates__currency + .topbar-rates__currency { padding-left: 12px; }
}
@media (max-width: 760px) {
 .topbar { gap: 8px; }
 .topbar-rates { padding-block: 4px; }
}
/* Рахунок-фактура */
.invoice-form { max-width: 940px; padding: 28px; }
.invoice-form h2 { margin: 0 0 18px; font-size: 1.2rem; }
.invoice-form h2:not(:first-child) { margin-top: 28px; }
.invoice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.invoice-grid label, .invoice-item label { display: flex; flex-direction: column; gap: 7px; font-weight: 600; }
.invoice-form input, .invoice-form select, .invoice-form textarea { box-sizing: border-box; width: 100%; min-width: 0; padding: 11px 12px; border: 1px solid #9296a5; border-radius: 8px; background: var(--surface, #fff); color: var(--text, #202432); font: inherit; }
.invoice-form textarea { height: 45px; min-height: 45px; max-height: 45px; resize: none; overflow-y: auto; }
.invoice-item { display: grid; grid-template-columns: minmax(0, 1fr) 170px 42px; align-items: end; gap: 12px; margin-bottom: 14px; }
.invoice-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.invoice-form button { cursor: pointer; padding: 10px 16px; border-radius: 8px; }
.invoice-form button:disabled { opacity: .5; cursor: not-allowed; }
.invoice-form .invoice-secondary { background: transparent; color: inherit; border: 1px solid currentColor; }
.invoice-form .calculation-share__button { border: 0; color: #fff; font-weight: 700; }
.invoice-form .calculation-share__actions { grid-template-columns: repeat(3, minmax(0, 140px)); max-width: 440px; }
.invoice-form .calculation-share__button--email { background: #546b84; }
.invoice-form .invoice-remove { height: 44px; padding: 0; font-size: 22px; }
.invoice-totals { margin: 22px 0; max-width: 380px; margin-left: auto; }
.invoice-totals div { display: flex; justify-content: space-between; gap: 20px; padding: 5px 0; border-bottom: 1px solid #9296a5; }
.invoice-status { min-height: 1.4em; }
@media (max-width: 680px) { .invoice-form { padding: 18px; } .invoice-grid { grid-template-columns: 1fr; } .invoice-item { grid-template-columns: minmax(0, 1fr) 110px 36px; gap: 8px; } }
@media (max-width: 440px) { .invoice-form .calculation-share__actions { grid-template-columns: repeat(3, minmax(0, 1fr)); } .invoice-form .calculation-share__button { padding-inline: 6px; } }
:is(.happy-casco-calculator, .fifty-casco-calculator) .happy-proposal { display: grid; gap: 8px; padding-top: 18px; border-top: 1px solid var(--line); }
:is(.happy-casco-calculator, .fifty-casco-calculator) .happy-proposal h3 { margin: 0 0 5px; font-size: 17px; }
:is(.happy-casco-calculator, .fifty-casco-calculator) .happy-proposal label { font-weight: 700; font-size: 13px; }
:is(.happy-casco-calculator, .fifty-casco-calculator) .happy-proposal input { box-sizing: border-box; width: 100%; min-width: 0; }
:is(.happy-casco-calculator, .fifty-casco-calculator) .happy-proposal button { margin-top: 8px; }
:is(.happy-casco-calculator, .fifty-casco-calculator) .happy-proposal p { min-height: 1.4em; margin: 0; color: var(--muted); }

.legal-insurance-variant { margin-bottom: 20px; }

/* Home workspace */
.home-shortcuts { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.home-shortcuts .stat-card { min-height: 160px; padding: 18px; }
.home-shortcuts .stat-card strong { font-size: 19px; letter-spacing: -.4px; line-height: 1.35; margin-bottom: 10px; }
.home-services { margin: 28px 0; }
.home-services .useful-services-layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; }
.home-services .calculator { min-width: 0; max-width: none; width: 100%; height: auto; min-height: 0; padding: 22px; }
.home-services .calculator h3 { margin: 0 0 18px; font-size: 18px; line-height: 1.4; }
.home-services input, .home-services textarea { min-width: 0; max-width: 100%; }
@media (max-width: 700px) {
 .home-services .useful-services-layout { grid-template-columns: minmax(0, 1fr); }
 .home-services .calculator { padding: 18px; }
}
@media (max-width: 420px) {
 .home-shortcuts { grid-template-columns: minmax(0, 1fr); }
 .home-services .date-calculator__dates { grid-template-columns: minmax(0, 1fr); }
}
