html{min-height:100%}body{margin:0}:root{--bg: #f4f5f7;--surface: #ffffff;--text: #16202b;--muted: #667085;--border: #e3e6ea;--accent: #2563eb;--accent-strong: #1d4ed8;--accent-soft: rgba(37, 99, 235, .12);--success: #16a34a;--warning: #d97706;--danger: #dc2626;--radius: 16px;--shadow: 0 1px 3px rgba(16, 24, 40, .06), 0 8px 20px rgba(16, 24, 40, .05);color-scheme:light}[data-theme=dark]{--bg: #0e1116;--surface: #171b22;--text: #f0f2f5;--muted: #9aa5b1;--border: #2a3038;--accent: #60a5fa;--accent-strong: #93c5fd;--accent-soft: rgba(96, 165, 250, .14);--success: #4ade80;--warning: #fbbf24;--danger: #f87171;--shadow: 0 1px 3px rgba(0, 0, 0, .4), 0 10px 24px rgba(0, 0, 0, .3);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.app-shell{max-width:720px;margin:0 auto;padding:18px 16px 32px}.page-panel-hidden{display:none}.app-header{display:flex;flex-direction:column;gap:10px;padding:8px 0;position:sticky;top:0;z-index:10;background:var(--bg)}.header-top-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.header-title{min-width:0}.app-header h1{margin:0;font-size:1.55rem;line-height:1.2;letter-spacing:-.02em}.tagline{margin:4px 0 0;color:var(--muted);font-size:.95rem}.header-controls{display:flex;gap:8px;flex-shrink:0}.header-lang-button,.burger-button{display:inline-flex;align-items:center;justify-content:center;width:52px;height:40px;padding:0}.burger-icon,.burger-icon:before,.burger-icon:after{display:block;width:16px;height:2px;border-radius:999px;background:currentColor;transition:transform .2s ease,background .2s ease}.burger-icon{position:relative}.burger-icon:before,.burger-icon:after{content:"";position:absolute;left:0;width:100%}.burger-icon:before{top:-5px}.burger-icon:after{top:5px}.burger-button[aria-expanded=true] .burger-icon{background:transparent}.burger-button[aria-expanded=true] .burger-icon:before{transform:translateY(5px) rotate(45deg)}.burger-button[aria-expanded=true] .burger-icon:after{transform:translateY(-5px) rotate(-45deg)}.page-menu{position:absolute;top:calc(100% + 8px);left:0;z-index:20;display:flex;flex-direction:column;gap:4px;min-width:240px;padding:8px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow)}.page-menu-item{display:block;text-decoration:none;border:0;background:transparent;color:var(--text);text-align:left;border-radius:8px;padding:10px 12px;font-size:.95rem}.page-menu-item:hover{background:var(--accent-soft)}.page-menu-item.active{color:var(--accent);font-weight:600}.form-error{margin:6px 0 0;color:var(--danger);font-size:.85rem}.ghost-button{background:transparent;border:1px solid var(--border);color:var(--text);border-radius:999px;padding:8px 14px;transition:background .2s ease,border-color .2s ease}.ghost-button:hover{background:var(--accent-soft);border-color:var(--accent)}.primary-button,.secondary-button{border:0;border-radius:12px;padding:12px 20px;font-weight:600;transition:transform .1s ease,opacity .2s ease,background .2s ease}.primary-button{background:var(--accent);color:#fff}.primary-button:hover:not(:disabled){background:var(--accent-strong)}.primary-button:disabled{opacity:.45}.secondary-button{background:var(--accent-soft);color:var(--accent)}.secondary-button:hover{background:var(--accent);color:#fff}.stepper{display:flex;justify-content:space-between;gap:8px;margin:20px 0 18px}.step{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.9rem;white-space:nowrap}.step-number{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--surface);border:1.5px solid var(--border);font-size:.85rem;font-weight:600}.step.active{color:var(--accent);font-weight:700}.step.active .step-number{border-color:var(--accent);background:var(--accent);color:#fff}.step.done{color:var(--success)}.step.done .step-number{border-color:var(--success);background:var(--success);color:#fff}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.card h2{margin:0 0 16px;font-size:1.2rem}.card-heading{display:flex;align-items:center;gap:10px;margin-bottom:16px}.card-heading h2{margin:0}.count-badge{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:2px 10px;font-size:.85rem;font-weight:700}.field{margin-bottom:18px}.field-label{display:block;margin-bottom:8px;font-size:.9rem;font-weight:600;color:var(--text)}.field select,.field input[type=number],.field input[type=text]{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);outline:none;transition:border-color .2s ease,box-shadow .2s ease}.field select:focus,.field input[type=number]:focus,.field input[type=text]:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.segmented{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.segment{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:12px;padding:10px 8px;font-weight:600;transition:background .2s ease,border-color .2s ease}.segment.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.weight-control{display:flex;align-items:center;gap:14px}.weight-control input[type=range]{flex:1;accent-color:var(--accent)}.weight-value{min-width:64px;text-align:center;font-weight:700;color:var(--accent)}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.actions .ghost-button{margin-right:auto}.actions-start{justify-content:flex-start}.actions-end .ghost-button{margin-right:0}.category-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.chip{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:999px;padding:6px 12px;font-size:.85rem;transition:all .2s ease}.chip.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.added-list{margin-top:24px}.added-list h3{margin:0 0 10px;font-size:1rem;color:var(--text)}.added-list ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.added-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:12px;padding:10px 12px}.drink-line{display:flex;flex-direction:column;gap:2px}.drink-line strong{font-size:.95rem}.drink-line span{color:var(--muted);font-size:.85rem}.remove-button{border:1px solid var(--border);background:transparent;color:var(--danger);border-radius:8px;padding:6px 10px;font-size:.85rem}.empty{color:var(--muted);background:var(--bg);border:1px dashed var(--border);border-radius:12px;padding:16px;margin:0;text-align:center}.result-card{text-align:center}.gauge{height:10px;border-radius:999px;overflow:hidden;background:var(--bg);border:1px solid var(--border);margin-bottom:16px}.gauge-fill{height:100%;border-radius:inherit;transition:width .4s ease}.gauge-fill.zero,.gauge-fill.under{background:var(--success)}.gauge-fill.above{background:var(--danger)}.status-line{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--text);padding:6px 12px;border-radius:999px;background:var(--surface);border:1px solid var(--border);margin-bottom:20px}.status-line.zero,.status-line.under{color:var(--success);border-color:#16a34a66}.status-line.above{color:var(--danger);border-color:#dc262666}.status-dot{width:8px;height:8px;border-radius:50%;background:currentColor}.main-value{display:flex;align-items:baseline;justify-content:center;gap:8px}.main-number{font-size:3rem;font-weight:800;line-height:1;letter-spacing:-.03em}.main-unit{font-size:1.4rem;color:var(--muted)}.main-label{color:var(--muted);margin-top:4px;font-size:.95rem}.compound-results{margin-top:28px}.compound-results h3{margin:0 0 6px;font-size:1.1rem}.compound-periods{margin:0;color:var(--muted);font-size:.9rem}.compound-results .unit-grid{margin-top:12px}.unit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:24px}.unit-grid h3{grid-column:1 / -1;margin:0;font-size:1.1rem}.mini-card{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:12px 6px;display:flex;flex-direction:column;gap:2px}.mini-value{font-weight:700;font-size:1.05rem}.mini-label{color:var(--muted);font-size:.8rem}.legal-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px;text-align:left}.legal-grid h3{grid-column:1 / -1;margin:0;font-size:1.1rem}.legal-card{border:1px solid var(--border);border-radius:12px;padding:12px;background:var(--bg);display:flex;flex-direction:column;gap:4px}.legal-label{font-size:.8rem;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.03em}.legal-value{font-size:1.1rem;font-weight:700}.legal-value.muted{color:var(--muted);font-size:.95rem;font-weight:500}.info-box{margin-top:18px;padding:12px;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:10px;text-align:left;background:var(--accent-soft)}.info-box strong{display:block;margin-bottom:4px}.info-box p{margin:0;color:var(--muted);font-size:.9rem}.disclaimer{margin-top:18px;color:var(--muted);font-size:.85rem;text-align:left;border:1px solid var(--warning);border-radius:10px;padding:12px;background:var(--surface)}.bmi-reference{margin-top:28px}.bmi-reference h3{margin:0 0 6px;font-size:1.1rem}.bmi-reference-table{width:100%;margin-top:12px;border-collapse:collapse;font-size:.9rem}.bmi-reference-table th,.bmi-reference-table td{border:1px solid var(--border);padding:8px 10px;text-align:left;vertical-align:top}.bmi-reference-table th{color:var(--muted);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;background:var(--surface)}.catalog-hint{margin:6px 0 0;color:var(--muted);font-size:.85rem}.catalog-hint a{color:var(--accent)}.catalog-heading{display:block;margin:1em 0;font-size:1.17em;font-weight:700}.catalog-search{position:relative}.catalog-search .field{margin-bottom:0}.catalog-search-results{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:20;margin:0;padding:6px;max-height:260px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow)}.catalog-search-results ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.catalog-result-button{display:block;width:100%;text-align:left;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:10px 12px}.catalog-result-button:hover{background:var(--accent-soft);border-color:var(--accent)}.catalog-product-card{margin-top:20px}.catalog-product-name{margin:0 0 14px;font-size:1.15rem;font-weight:600}.catalog-unit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}.catalog-per100{margin:8px 0 0;color:var(--muted);font-size:.85rem}.catalog-product-card .actions{margin-top:16px}.catalog-selection{margin-top:24px}.catalog-selection .card-heading{margin-bottom:10px}.catalog-selection-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.catalog-selection-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:12px;padding:10px 12px}.catalog-selection-info{display:flex;flex-direction:column;gap:8px;min-width:0;flex:1}.catalog-selection-info strong{font-size:.95rem}.catalog-selection-values{display:flex;flex-direction:column;align-items:flex-end;gap:2px;color:var(--muted);font-size:.85rem;white-space:nowrap}.catalog-selection-footer{margin-top:12px;text-align:right}.catalog-totals,.catalog-norms,.catalog-compare{margin-top:24px}.catalog-compare-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.catalog-compare-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;border:1px solid var(--border);border-radius:12px;padding:10px 12px}.catalog-compare-label{color:var(--muted);font-weight:600}.catalog-compare-value{font-weight:700}.catalog-compare-remaining{color:var(--success);font-size:.9rem}.catalog-compare-exceeded{color:var(--danger);font-size:.9rem}@media(max-width:560px){.app-shell{padding:12px 10px 28px}.step-label{display:none}.grid,.unit-grid,.legal-grid,.catalog-unit-grid{grid-template-columns:1fr}.catalog-selection-row{flex-wrap:wrap}.catalog-selection-values{align-items:flex-start}.actions{flex-wrap:wrap}}
