
:root { --brand-start: #276cf5; }
.picker-company-image { width: 150px; height: 150px; object-fit: contain; background: #fff; border: 1px solid #c5d9ff; border-radius: 22px; flex-shrink: 0; }
.company-image-preview { display: block; width: 140px; height: 140px; object-fit: contain; border-radius: 16px; background: #fff; margin: 12px 0; }
.form-field .image-clear { display: flex; align-items: center; gap: 10px; font-weight: 400; }
.form-field .image-clear input { width: auto; }
.helptext { color: var(--muted-color); font-size: 14px; }
a.fridge-list-card { display: block; text-decoration: none; color: var(--text-color); transition: box-shadow .15s, border-color .15s; }
a.fridge-list-card:hover { border-color: #276cf5; box-shadow: 0 8px 24px rgb(39 108 245 / 16%); }
a.fridge-list-card:focus-visible { outline: 3px solid #276cf5; outline-offset: 4px; }
.account-email { text-align: center; overflow-wrap: anywhere; color: var(--muted-color); }
.account-card .account-logout { margin: 28px auto 0; text-align: center; }
.account-logout button { font: inherit; cursor: pointer; }
.qr-preview-shell { width: min(850px, calc(100% - 32px)); margin: 40px auto; }
.qr-preview-frame { padding: clamp(16px, 4vw, 40px); border: 1px solid #80aaff; border-radius: 24px; background: linear-gradient(#fff 65%, #dce9ff); }
.qr-paper { position: relative; isolation: isolate; width: 100%; max-width: 530px; aspect-ratio: 210 / 297; margin: auto; background: white; color: #30333b; box-shadow: 0 3px 18px #172b4d22; overflow: hidden; container-type: inline-size; }
.qr-decoration { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1; }
.qr-paper-brand { position: absolute; top: 3%; left: 4%; font-size: clamp(14px, 4cqw, 22px); font-weight: 750; letter-spacing: -.03em; color: #2058bc; }
.qr-paper-content { position: absolute; top: 20%; left: 7%; right: 7%; text-align: center; }
.qr-paper-code { width: 50%; margin: 0 auto; aspect-ratio: 1; background: white; }
.qr-paper-code svg { display: block; width: 100%; height: 100%; }
.qr-paper-content h1 { font-size: clamp(17px, 5.6cqw, 32px); font-weight: 500; margin: 4px 0; line-height: 1.15; letter-spacing: -.02em; overflow-wrap: anywhere; }
.qr-paper-content p { margin: 0; font-size: clamp(12px, 2.8cqw, 17px); line-height: 1.4; overflow-wrap: anywhere; }
.qr-preview-actions { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 14px; margin-top: 24px; }
@media (max-width: 600px) { .picker-company-image { width: 90px; height: 90px; } }
@media screen {
    html[data-theme="dark"] { color-scheme: dark; --text-color: #eef4ff; --muted-color: #b4c5df; --link-color: #91bdff; --border-color: #344764; }
    html[data-theme="dark"] body { background: #101a2a; background-image: repeating-linear-gradient(135deg, transparent 0 27px, #ffffff05 27px 28px); color: var(--text-color); }
    html[data-theme="dark"] :is(.site-header, .data-table td, .header-logout, .location-link, .month-option) { background: #18263a; color: #d9e8ff; border-color: #466487; }
    html[data-theme="dark"] :is(.form-card, .location-card, .picker-card, .company-card, .fridge-list-card, .dashboard-stat, .qr-preview-frame) { background: linear-gradient(155deg, #1b2a40 60%, #233d60); color: #eef4ff; border-color: #4c73a4; }
    html[data-theme="dark"] :is(.form-field input, .form-field select, .form-field textarea) { background: #111e31; color: #eef4ff; border-color: #6383ae; }
    html[data-theme="dark"] :is(.device-choice span, .device-badge, .picker-role, .data-table th) { background: #233c5d; color: #e3eeff; }
    html[data-theme="dark"] .device-choice input:checked + span { background: #315c8a; color: #fff; border-color: #99ccff; }
    html[data-theme="dark"] .status-message { background: #153a2d; color: #d2ffe4; border-color: #63ae82; }
    html[data-theme="dark"] .danger-notice { background: #401f2c; color: #ffd5dc; border-color: #e87789; }
    html[data-theme="dark"] a:not(.button):not(.fridge-list-card) { color: #a6caff; }
    html[data-theme="dark"] .dashboard-stat strong { color: #b9d9ff; }
    html[data-theme="dark"] .qr-paper { background: white; color: #30333b; color-scheme: light; }
}
@media print {
    @page { size: A4 portrait; margin: 0; }
    html, body.qr-preview-page { width: 210mm; margin: 0 !important; padding: 0 !important; background: white !important; color: black; color-scheme: light; }
    .qr-preview-page .site-header, .qr-preview-page .qr-preview-actions, .qr-preview-page [role="status"] { display: none !important; }
    .qr-preview-page main, .qr-preview-shell, .qr-preview-frame { width: 210mm; max-width: none; margin: 0 !important; padding: 0 !important; border: 0; border-radius: 0; background: none; box-shadow: none; }
    .qr-preview-page .qr-paper { width: 210mm; max-width: none; height: 296.5mm; aspect-ratio: auto; margin: 0; box-shadow: none; break-inside: avoid; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
    .qr-paper-brand { font-size: 22pt; }
    .qr-paper-content h1 { font-size: 30pt; }
    .qr-paper-content p { font-size: 14pt; }
}
