/* Alco Calculator — «ночная приборная панель». Стили изолированы под .alcocalc-root */

.alcocalc-root {
	--ac-bg: #131c33;
	--ac-bg-deep: #0e1526;
	--ac-surface: #1b2545;
	--ac-surface-2: #202c52;
	--ac-border: #2a3558;
	--ac-text: #eaeefb;
	--ac-muted: #8e9ac0;
	--ac-amber: #ffb020;
	--ac-amber-soft: rgba(255, 176, 32, .13);
	--ac-teal: #2dd4bf;
	--ac-teal-soft: rgba(45, 212, 191, .12);
	--ac-orange: #ff8a3d;
	--ac-red: #ff5f56;
	--ac-red-soft: rgba(255, 95, 86, .12);
	--ac-radius: 18px;
	--ac-font-d: 'Unbounded', -apple-system, "Segoe UI", sans-serif;
	font-family: 'Manrope', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	color: var(--ac-text);
	line-height: 1.5;
	max-width: 880px;
	margin: 0 auto;
}

.alcocalc-root *, .alcocalc-root *::before, .alcocalc-root *::after { box-sizing: border-box; }

.ac-card {
	position: relative;
	background:
		radial-gradient(120% 90% at 15% -10%, rgba(255, 176, 32, .07), transparent 55%),
		linear-gradient(165deg, var(--ac-bg) 0%, var(--ac-bg-deep) 100%);
	border: 1px solid var(--ac-border);
	border-radius: var(--ac-radius);
	padding: 26px;
	box-shadow: 0 24px 60px rgba(3, 7, 18, .55), inset 0 1px 0 rgba(255, 255, 255, .04);
}
.ac-card::before {
	content: 'LIVE';
	position: absolute;
	top: -11px;
	right: 26px;
	padding: 5px 10px;
	background: var(--ac-amber);
	color: #1a1206;
	border-radius: 5px;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .18em;
	box-shadow: 0 4px 14px rgba(255, 176, 32, .4);
}
@media (max-width: 640px) { .ac-card { padding: 18px 14px; } }

/* Табы */
.ac-tabs {
	display: flex;
	gap: 6px;
	background: rgba(3, 7, 18, .35);
	border: 1px solid var(--ac-border);
	border-radius: 14px;
	padding: 5px;
	margin-bottom: 22px;
}
.ac-tab {
	flex: 1;
	border: 0;
	background: transparent;
	padding: 11px 12px;
	font-family: inherit;
	font-size: 14px;
	font-weight: 700;
	color: var(--ac-muted);
	border-radius: 10px;
	cursor: pointer;
	transition: all .15s;
}
.ac-tab:hover { color: var(--ac-text); }
.ac-tab-active, .ac-tab-active:hover {
	background: var(--ac-amber-soft);
	color: var(--ac-amber);
	box-shadow: inset 0 0 0 1px rgba(255, 176, 32, .35);
}

/* Сетка */
.ac-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
@media (max-width: 680px) { .ac-grid { grid-template-columns: 1fr; } }

.ac-label {
	font-size: 11.5px;
	font-weight: 800;
	color: var(--ac-muted);
	margin: 16px 0 7px;
	text-transform: uppercase;
	letter-spacing: .1em;
}
.ac-label b { font-weight: 800; }
.ac-col > .ac-label:first-child, .ac-only-calc > .ac-label:first-child { margin-top: 0; }

/* Сегментированные кнопки */
.ac-seg { display: flex; gap: 7px; }
.ac-seg-btn {
	flex: 1;
	border: 1px solid var(--ac-border);
	background: var(--ac-surface);
	color: var(--ac-muted);
	padding: 10px 8px;
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	border-radius: 11px;
	cursor: pointer;
	transition: all .15s;
	white-space: nowrap;
}
.ac-seg-btn:hover { border-color: rgba(255, 176, 32, .5); color: var(--ac-text); }
.ac-seg-on, .ac-seg-on:hover {
	border-color: var(--ac-amber);
	background: var(--ac-amber-soft);
	color: var(--ac-amber);
	font-weight: 700;
	box-shadow: 0 0 14px rgba(255, 176, 32, .12);
}

/* Поля */
.ac-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.ac-field { display: block; }
.ac-input {
	width: 100%;
	border: 1px solid var(--ac-border);
	border-radius: 11px;
	padding: 10px 12px;
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	color: var(--ac-text);
	background: var(--ac-surface);
	outline: none;
	transition: border-color .15s, box-shadow .15s;
}
.ac-input:focus { border-color: var(--ac-amber); box-shadow: 0 0 0 3px rgba(255, 176, 32, .15); }
.ac-input::placeholder { color: var(--ac-muted); }
select.ac-input { appearance: auto; }
select.ac-input option { background: var(--ac-bg-deep); color: var(--ac-text); }

/* Слайдер */
.ac-range {
	width: 100%;
	margin: 10px 0 4px;
	accent-color: var(--ac-amber);
	cursor: pointer;
}
.ac-elapsed-out, .ac-until-out { color: var(--ac-amber); }

/* Напитки */
.ac-drinks { display: flex; flex-direction: column; gap: 10px; }
.ac-drink {
	background: rgba(3, 7, 18, .3);
	border: 1px solid var(--ac-border);
	border-radius: 13px;
	padding: 11px;
	display: flex;
	flex-direction: column;
	gap: 9px;
}
.ac-drink-nums { display: flex; gap: 10px; align-items: flex-end; }
.ac-mini { flex: 1; display: flex; flex-direction: column; gap: 4px; }
.ac-mini-cap {
	font-size: 10.5px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--ac-muted);
}
.ac-mini-field { position: relative; display: block; }
.ac-mini-field .ac-input { padding-right: 46px; }
.ac-mini-field i {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	font-style: normal;
	font-size: 12px;
	font-weight: 700;
	color: var(--ac-muted);
	pointer-events: none;
}
.ac-drink-del {
	border: 0;
	background: transparent;
	color: var(--ac-muted);
	font-size: 15px;
	cursor: pointer;
	padding: 9px 10px;
	border-radius: 9px;
	line-height: 1;
	transition: all .15s;
}
.ac-drink-del:hover { background: var(--ac-red-soft); color: var(--ac-red); }
.ac-add {
	margin-top: 10px;
	width: 100%;
	border: 1.5px dashed rgba(255, 176, 32, .45);
	background: transparent;
	color: var(--ac-amber);
	font-family: inherit;
	font-size: 14px;
	font-weight: 700;
	padding: 11px;
	border-radius: 11px;
	cursor: pointer;
	transition: all .15s;
}
.ac-add:hover { background: var(--ac-amber-soft); border-style: solid; }

.ac-reverse-note {
	background: rgba(3, 7, 18, .3);
	border: 1px solid var(--ac-border);
	border-radius: 13px;
	padding: 16px;
	font-size: 14px;
	color: var(--ac-muted);
	margin-top: 16px;
}
.ac-reverse-note b { color: var(--ac-text); }

/* ---------- Результат ---------- */
.ac-result { margin-top: 24px; }

.ac-res-main {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	align-items: center;
	margin-bottom: 14px;
}
@media (max-width: 640px) { .ac-res-main { grid-template-columns: 1fr; } }

/* Прибор */
.ac-gauge2 {
	background: radial-gradient(80% 100% at 50% 0%, rgba(255, 255, 255, .035), transparent), rgba(3, 7, 18, .35);
	border: 1px solid var(--ac-border);
	border-radius: 16px;
	padding: 18px 16px 14px;
	text-align: center;
}
.ac-g { width: 100%; max-width: 270px; height: auto; display: block; margin: 0 auto; }
.ac-g-track { fill: none; stroke: #232d4e; stroke-width: 12; stroke-linecap: round; }
.ac-g-prog {
	fill: none;
	stroke: currentColor;
	stroke-width: 12;
	stroke-linecap: round;
	filter: drop-shadow(0 0 7px currentColor);
}
.ac-g-dot { fill: currentColor; stroke: rgba(3, 7, 18, .6); stroke-width: 3; filter: drop-shadow(0 0 6px currentColor); }
.ac-g-tick { stroke: rgba(142, 154, 192, .4); stroke-width: 1.5; }
.ac-g-legal { stroke: var(--ac-red); stroke-width: 3; }
.ac-g-num {
	font-family: var(--ac-font-d);
	font-size: 34px;
	font-weight: 700;
	fill: currentColor;
	letter-spacing: -.01em;
}
.ac-g-unit {
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .22em;
	text-transform: uppercase;
	fill: var(--ac-muted);
}
.ac-g-minmax { font-size: 11px; font-weight: 700; fill: var(--ac-muted); }

.ac-degree { font-size: 14px; font-weight: 800; margin-top: 8px; color: currentColor; }

.ac-deg-ok { color: var(--ac-teal); }
.ac-deg-warn { color: var(--ac-amber); }
.ac-deg-bad { color: var(--ac-orange); }
.ac-deg-danger { color: var(--ac-red); }

/* Плитки показателей */
.ac-res-side { display: flex; flex-direction: column; gap: 12px; }
.ac-res-num {
	background: rgba(3, 7, 18, .35);
	border: 1px solid var(--ac-border);
	border-radius: 14px;
	padding: 14px 16px;
	text-align: center;
}
.ac-res-val {
	font-family: var(--ac-font-d);
	font-size: 25px;
	font-weight: 700;
	letter-spacing: -.01em;
}
.ac-res-unit { font-family: 'Manrope', sans-serif; font-size: 14px; font-weight: 700; color: var(--ac-muted); margin-left: 5px; }
.ac-res-cap { font-size: 12px; color: var(--ac-muted); margin-top: 3px; font-weight: 600; }

/* Вердикт */
.ac-verdict {
	display: flex;
	gap: 13px;
	align-items: flex-start;
	border-radius: 14px;
	padding: 15px 16px;
	margin-bottom: 12px;
}
.ac-v-ok { background: var(--ac-teal-soft); border: 1px solid rgba(45, 212, 191, .3); }
.ac-v-bad { background: var(--ac-red-soft); border: 1px solid rgba(255, 95, 86, .3); }
.ac-v-icon { font-size: 24px; line-height: 1.2; }
.ac-v-title { font-weight: 800; font-size: 15px; margin-bottom: 3px; }
.ac-v-ok .ac-v-title { color: var(--ac-teal); }
.ac-v-bad .ac-v-title { color: var(--ac-red); }
.ac-v-sub { font-size: 13.5px; color: var(--ac-muted); }
.ac-v-sub b { color: var(--ac-text); }

/* Времена */
.ac-times { display: flex; flex-direction: column; gap: 7px; margin-bottom: 12px; }
.ac-time {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
	background: var(--ac-surface);
	border: 1px solid var(--ac-border);
	border-radius: 11px;
	padding: 11px 15px;
	font-size: 14px;
}
.ac-time span { color: var(--ac-muted); font-weight: 600; }
.ac-time b { font-weight: 800; }
.ac-time-safe { background: transparent; border-style: dashed; }

/* Эквиваленты (обратный расчёт) */
.ac-equiv-title { font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: var(--ac-muted); margin: 6px 0 10px; }
.ac-equiv {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
	gap: 10px;
	margin-bottom: 12px;
}
.ac-eq {
	background: rgba(3, 7, 18, .35);
	border: 1px solid var(--ac-border);
	border-radius: 14px;
	padding: 14px 10px;
	text-align: center;
	display: flex;
	flex-direction: column;
	gap: 3px;
}
.ac-eq span { font-size: 26px; }
.ac-eq b { font-family: var(--ac-font-d); font-size: 16px; font-weight: 700; color: var(--ac-amber); }
.ac-eq i { font-style: normal; font-size: 12.5px; color: var(--ac-muted); font-weight: 600; }

/* График */
.ac-chart {
	background: rgba(3, 7, 18, .35);
	border: 1px solid var(--ac-border);
	border-radius: 14px;
	padding: 14px;
	margin-bottom: 4px;
}
.ac-chart svg { width: 100%; height: auto; display: block; }
.ac-ch-line { fill: none; stroke: var(--ac-amber); stroke-width: 2.5; filter: drop-shadow(0 0 5px rgba(255, 176, 32, .5)); }
.ac-ch-area { fill: var(--ac-amber); opacity: .09; }
.ac-ch-grid { stroke: rgba(42, 53, 88, .8); stroke-width: 1; }
.ac-ch-legal { stroke: var(--ac-red); stroke-width: 1.5; stroke-dasharray: 5 4; }
.ac-ch-lbl { font-size: 11px; font-weight: 600; fill: var(--ac-muted); }
.ac-ch-legal-lbl { fill: var(--ac-red); font-weight: 700; }
.ac-ch-dot { fill: var(--ac-amber); stroke: var(--ac-bg-deep); stroke-width: 2; filter: drop-shadow(0 0 5px rgba(255, 176, 32, .7)); }
.ac-ch-now { fill: var(--ac-amber); font-weight: 800; }
.ac-chart-cap { font-size: 12px; color: var(--ac-muted); text-align: center; margin-top: 8px; font-weight: 600; }

/* Дисклеймер */
.ac-disclaimer {
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid var(--ac-border);
	font-size: 12.5px;
	color: var(--ac-muted);
}
.ac-disclaimer b { color: var(--ac-text); }

.ac-hidden { display: none !important; }
