:root { --safe-top: env(safe-area-inset-top, 0px); --safe-bottom: env(safe-area-inset-bottom, 0px); --mobile-nav-height: 76px; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 85px; }
body { min-width: 280px; }
button, a, label, input, select, textarea { -webkit-tap-highlight-color: transparent; }
button, a, .point-choice { touch-action: manipulation; }
button:focus-visible, a:focus-visible { outline: 3px solid #ee3a4c; outline-offset: 3px; }
input, select, textarea { max-width: 100%; min-width: 0; }
.app-shell, .main-area, .page, .menu-main, .panel, .product-body, .tv-aside { min-width: 0; }
.mobile-install { display: none; }
.pwa-install { gap: 7px; white-space: nowrap; }
.is-installed [data-pwa-install], .is-installed .mobile-install { display: none !important; }
.login-install { margin: 18px auto 0; display: flex; justify-content: center; }
.login-install .pwa-install { color: #526d91; background: #eef3fb; border-color: #dde5f1; }
.app-notice { background: #fff4d9; color: #604716; padding: 12px max(18px, env(safe-area-inset-left)) 12px max(18px, env(safe-area-inset-right)); display: flex; align-items: center; justify-content: center; gap: 18px; font-size: 13px; line-height: 1.6; }
.app-notice button { background: #fff; color: inherit; border: 1px solid #d9bf83; border-radius: 8px; padding: 9px 13px; min-height: 44px; font: inherit; font-weight: 600; white-space: nowrap; }
.update-notice { color: #244366; background: #eaf1fc; }
.update-notice button { border-color: #c5d5eb; }
.is-offline .connection { color: #a65c27; }
.is-offline .connection i { background: #c98545; }
.install-brand { display: flex; align-items: center; gap: 16px; padding: 8px 0 18px; }
.install-brand img { border-radius: 16px; flex-shrink: 0; }
.install-brand strong { display: block; color: #061735; font-size: 18px; }
.install-brand small { display: block; color: #7a8ca7; font-size: 12px; margin-top: 6px; line-height: 1.6; }
.install-dialog p { font-size: 14px; line-height: 1.7; color: #5b6e8b; }
.install-steps { padding-left: 23px; color: #364e70; line-height: 1.7; font-size: 14px; }
.install-steps li { margin: 12px 0; padding-left: 5px; }
.install-dialog .install-note { font-size: 12px; background: #f2f6fc; padding: 14px; border-radius: 10px; }
.install-dialog .install-message { color: #a24935; background: #fff4ec; padding: 12px; border-radius: 8px; }
.install-dialog .icon-btn { font-size: 28px; min-height: 44px; min-width: 44px; }
.offline-start { min-height: 100svh; padding: 40px 22px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 18px; }
.offline-start > img { width: 80px; height: 80px; border-radius: 20px; }
.offline-start h1 { font-size: 26px; }
.offline-start p { color: #6e819e; max-width: 380px; line-height: 1.7; }
.mobile-row-label { display: none; }
.mobile-menu-sections { display: none; }
.modal[open] { overscroll-behavior: contain; }
body:has(dialog[open]) { overflow: hidden; }
.page-hidden *, .page-hidden *::before, .page-hidden *::after { animation-play-state: paused !important; }
.tv-body #app-notices, .assembly-body #app-notices { display: none; }

@media (pointer: coarse) {
 .btn, .icon-btn, .text-btn, .filter-select, .segmented button, .layout-choices button { min-height: 44px; }
 .icon-btn { min-width: 44px; }
 .checkbox-option { min-height: 44px; align-items: center; }
 .checkbox-option > input { width: 22px; height: 22px; margin: 0; }
 .switch { width: 62px; height: 44px; padding: 7px; flex-shrink: 0; }
 .switch span { width: 30px; height: 30px; }
 .switch.on span { transform: translateX(18px); }
 .help-wrap:not(.stat-icon) .help-trigger { width: 36px; height: 36px; }
}

@media (min-width: 901px) and (max-width: 1200px) {
 .tv-aside { min-width: 0; }
 .screen-card-actions { flex-wrap: wrap; }
 .menu-layout { grid-template-columns: minmax(0, 1fr) 260px; }
 .topbar .pwa-install { padding: 8px 10px; font-size: 11px; }
}

@media (max-width: 900px) {
 body:not(.tv-body):not(.assembly-body) { font-size: 15px; }
 .app-shell { display: block; }
 .sidebar { position: sticky; top: 0; bottom: auto; width: 100%; height: auto; min-height: 68px; flex-direction: row; flex-wrap: nowrap; align-items: center; padding: calc(10px + var(--safe-top)) max(16px, env(safe-area-inset-right)) 10px max(16px, env(safe-area-inset-left)); gap: 10px; border-right: 0; border-bottom: 1px solid #e1e7f1; z-index: 20; background: #fff; }
 .sidebar > .brand { flex: 1; margin: 0; padding: 0; }
 .sidebar .skisun-logo { width: 148px; }
 .sidebar .workspace, .sidebar .nav-label, .sidebar .demo-note, .sidebar .user-profile > div, .sidebar .user-profile .avatar { display: none; }
 .sidebar-bottom { margin: 0; padding: 0; align-self: center; order: 2; }
 .user-profile { border: 0; padding: 0; height: auto; margin: 0; }
 .user-profile .icon-btn { height: 44px; width: 44px; min-width: 44px; color: #667c9d; }
 .user-profile .icon-btn .icon { width: 21px; height: 21px; }
 .mobile-install { display: block; order: 1; }
 .mobile-install .pwa-install { height: 44px; width: 44px; min-width: 44px; padding: 10px; border-color: #e0e7f1; }
 .mobile-install .pwa-install > span { display: none; }
 .mobile-install .pwa-install .icon { width: 22px; height: 22px; }
 .sidebar nav { position: fixed; inset: auto 0 0; width: 100%; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 4px; padding: 8px max(8px, env(safe-area-inset-right)) calc(8px + var(--safe-bottom)) max(8px, env(safe-area-inset-left)); background: #fff; border-top: 1px solid #e0e6ef; box-shadow: 0 -4px 20px #06173506; z-index: 30; }
 .nav-item { flex-direction: column; justify-content: center; gap: 6px; padding: 9px 4px; margin: 0; font-size: 11px; line-height: 1.3; min-height: 56px; text-align: center; border-radius: 11px; white-space: normal; }
 .nav-item .icon { width: 23px; height: 23px; }
 .nav-item.active { background: #fff0f3; color: #b72946; }
 .nav-item.active i { display: none; }
 .main-area { margin: 0; width: 100%; padding-bottom: calc(var(--mobile-nav-height) + var(--safe-bottom)); }
 .topbar { height: 45px; padding: 0 18px; background: #f8faff; border-bottom: 1px solid #edf1f6; }
 .topbar .pwa-install, .top-right > .avatar, .date-top { display: none; }
 .breadcrumb { font-size: 11px; gap: 7px; }
 .connection { font-size: 10px; }
 .page { padding: 26px max(18px, env(safe-area-inset-right)) 20px max(18px, env(safe-area-inset-left)); }
 .page-heading { gap: 16px; margin-bottom: 22px; flex-wrap: wrap; }
 .page-heading h1 { font-size: clamp(25px, 4.8vw, 34px); line-height: 1.2; overflow-wrap: anywhere; }
 .page-heading .eyebrow { font-size: 10px; letter-spacing: 1px; }
 .page-heading p { font-size: 14px; line-height: 1.65; max-width: 100%; }
 .btn, .text-btn, .page-heading > .btn, .page-heading > .button-row .btn { min-height: 46px; padding: 12px 16px; font-size: 14px; line-height: 1.4; white-space: normal; }
 .icon-btn { min-height: 44px; min-width: 44px; }
 .btn .icon { flex-shrink: 0; }
 .modal { max-height: calc(var(--dialog-height, 100dvh) - 30px); }
 .form-columns > label { min-width: 0; }
 .button-row { flex-wrap: wrap; gap: 8px; }
 .page-heading > .button-row { width: 100%; }
 .page-heading > .button-row .btn { flex: 1; }
 .filter-select, .report-filters input, input:not([type='checkbox']):not([type='radio']):not([type='file']), select, textarea { font-size: 16px; min-height: 48px; }
 textarea { min-height: 104px; line-height: 1.6; }
 .filter-select { max-width: 100%; padding: 12px; margin-top: 0; }
 .filters { width: 100%; display: flex; gap: 10px; flex-wrap: wrap; }
 .filters > select, .filters > .select-icon { flex: 1 1 190px; }
 .filters .select-icon select { width: 100%; padding-left: 38px; }
 .filters .select-icon > .icon { top: 15px; }
 .section-toolbar { flex-wrap: wrap; gap: 12px; }
 .section-toolbar h2 { font-size: 19px; }
 .small-text { font-size: 12px; line-height: 1.65; }
 .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
 .stat-card { padding: 18px 15px; }
 .stat-label { font-size: 12px; line-height: 1.5; gap: 5px; }
 .stat-label > span:first-child { min-width: 0; }
 .stat-label .help-wrap:not(.stat-icon) { display: none; }
 .stat-icon { flex-shrink: 0; width: 36px; height: 36px; }
 .stat-icon .icon { width: 18px; height: 18px; }
 .stat-value { font-size: clamp(20px, 3.8vw, 30px); overflow-wrap: anywhere; line-height: 1.25; margin: 15px 0; }
 .stat-foot { font-size: 11px; line-height: 1.6; }
 .mini-progress { display: none; }
 .analytics-grid { grid-template-columns: 1fr; gap: 16px; }
 .payment-panel { display: block; }
 .sales-panel { padding: 20px 16px; }
 .panel-heading { padding: 20px 18px; flex-wrap: wrap; }
 .panel-heading h3 { font-size: 17px; }
 .panel-heading p { font-size: 12px; line-height: 1.65; }
 .legend { font-size: 11px; gap: 12px; }
 .hero-banner { padding: 24px; min-height: 160px; }
 .hero-banner h2 { font-size: 24px; }
 .hero-banner p { font-size: 13px; line-height: 1.6; }
 .hero-banner .banner-label { font-size: 10px; }
 .banner-link { font-size: 12px; min-height: 44px; bottom: 4px; }
 .locations-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
 .location-card { padding: 20px 18px 0; }
 .location-card h3 { font-size: 19px; }
 .location-card .badge { font-size: 10px; }
 .location-address { font-size: 12px; line-height: 1.6; }
 .location-meta { font-size: 12px; line-height: 1.6; flex-wrap: wrap; gap: 8px; }
 .location-card-foot { font-size: 12px; min-height: 65px; }
 .menu-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
 .menu-main > .section-toolbar { align-items: center; flex-wrap: wrap; gap: 10px; }
 .menu-main > .section-toolbar select { flex: 1; min-width: 150px; }
 .menu-main > .section-toolbar .small-text { font-size: 12px; }
 .mobile-menu-sections { display: flex; gap: 8px; margin-bottom: 18px; }
 .mobile-menu-sections > a { flex: 1; display: flex; align-items: center; justify-content: center; min-height: 46px; padding: 11px; border-radius: 10px; border: 1px solid #d9e2ef; color: #466386; text-decoration: none; background: #fff; font-weight: 600; font-size: 13px; }
 .menu-tabs { display: flex; flex-wrap: nowrap; overflow-x: auto; gap: 8px; border: 0; margin: 18px 0; padding: 2px 2px 9px; scrollbar-width: thin; overscroll-behavior-x: contain; }
 .menu-tabs button { flex-shrink: 0; min-height: 44px; padding: 11px 14px; border: 1px solid #e0e7f1; border-radius: 22px; font-size: 13px; background: white; margin: 0; }
 .menu-tabs button.active { background: #fff0f3; border-color: #ee6476; }
 .menu-tabs button span { font-size: 10px; }
 .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
 .product-art { height: 155px; }
 .product-title { flex-direction: row; flex-wrap: wrap; gap: 8px; }
 .product-title h3 { font-size: 17px; line-height: 1.35; overflow-wrap: anywhere; }
 .product-title strong { font-size: 17px; }
 .product-body { padding: 17px 15px 0; }
 .product-category { font-size: 10px; margin-bottom: 8px; }
 .product-body > p { font-size: 13px; line-height: 1.6; min-height: 0; }
 .product-availability { min-height: 62px; font-size: 12px; gap: 8px; }
 .switch { width: 62px; height: 44px; padding: 7px; flex-shrink: 0; }
 .switch span { width: 30px; height: 30px; }
 .switch.on span { transform: translateX(18px); }
 .edit-product { min-height: 44px; min-width: 44px; top: 9px; right: 9px; padding: 10px; }
 .edit-product .icon { width: 20px; height: 20px; }
 .set-offer.compact { padding: 10px; }
 .set-offer.compact > div > span { font-size: 10px; }
 .set-offer.compact > div > strong { font-size: 12px; }
 .set-offer.compact .set-total > small { font-size: 9px; }
 .set-offer.compact .set-total > strong { font-size: 15px; }
 .tv-aside { display: block; scroll-margin-top: 90px; }
 .tv-aside > .hint-card { margin-top: 16px; }
 .tv-panel { padding: 22px 18px; }
 .tv-panel h3 { font-size: 18px; }
 .tv-panel > p, .hint-card p { font-size: 13px; line-height: 1.7; }
 .hint-card strong { font-size: 15px; }
 .screen-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .screen-card { padding: 16px; }
 .screen-card-top strong { font-size: 15px; line-height: 1.4; }
 .screen-card-top small { font-size: 12px; line-height: 1.5; }
 .screen-card code { font-size: 12px; line-height: 1.5; }
 .screen-card-actions { flex-wrap: wrap; }
 .screen-card-actions .btn { min-height: 44px; font-size: 13px; padding: 10px 12px; flex: 1; }
 .screen-card-actions .btn .icon { width: 17px; height: 17px; }
 .screen-card-actions .icon-btn { min-height: 44px; min-width: 44px; }
 .report-filters { padding: 18px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 10px; }
 .report-filters > select, .report-filters > button { grid-column: 1 / -1; width: 100%; max-width: 100%; }
 .report-filters label { min-width: 0; font-size: 13px; }
 .report-filters input { width: 100%; max-width: 100%; padding: 10px 7px; }
 .shift-grid { grid-template-columns: 1fr; gap: 18px; }
 .shift-main { padding: 30px 20px; }
 .shift-main h2 { font-size: 26px; }
 .shift-main > p { font-size: 14px; line-height: 1.8; }
 .shift-main .btn { width: 100%; min-height: 52px; font-size: 15px; }
 .shift-side { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; }
 .shift-side .panel { padding: 22px; }
 .shift-side p { font-size: 14px; line-height: 1.6; }
 .shift-side h3 { font-size: 20px; }
 .opening-total span { font-size: 13px; }
 .opening-total strong { font-size: 34px; }
 .info-bar { font-size: 12px; line-height: 1.65; padding: 14px; }
 .app-footer { font-size: 10px; line-height: 1.6; padding: 20px 18px; gap: 10px; }
 #toast { left: 50%; bottom: calc(var(--mobile-nav-height) + var(--safe-bottom) + 12px); width: max-content; max-width: calc(100vw - 32px); font-size: 13px; line-height: 1.6; padding: 13px 18px; }
 .help-wrap .context-help { width: 245px; font-size: 13px; line-height: 1.6; }
 .stats-grid > .stat-card:nth-child(odd) .context-help { right: auto; left: -90px; }
 .corporate-login { display: block; }
 .corporate-login .login-story { padding: calc(18px + var(--safe-top)) 24px 20px; }
 .corporate-login .login-story:after, .corporate-emblem, .company-features, .corporate-login .story-bottom { display: none; }
 .corporate-login .login-story > .brand { align-self: flex-start; padding: 8px 12px; }
 .corporate-login .login-story .skisun-logo { width: 150px; }
 .corporate-login .story-main { padding: 16px 0 0; margin: 0; }
 .corporate-login .story-main .eyebrow { display: none; }
 .corporate-login .story-main h1 { font-size: 25px; line-height: 1.25; letter-spacing: -.6px; margin: 0 0 8px; }
 .corporate-login .story-main h1 br { display: none; }
 .corporate-login .story-main p { font-size: 12px; line-height: 1.6; }
 .corporate-login .story-main p br { display: none; }
 .corporate-login .login-panel { padding: 22px max(18px, env(safe-area-inset-right)) calc(22px + var(--safe-bottom)) max(18px, env(safe-area-inset-left)); }
 .corporate-login .login-box { max-width: 480px; padding: 18px 0; }
 .corporate-login .demo-label { font-size: 10px; }
 .corporate-login .login-box h2 { font-size: 28px; }
 .corporate-login .login-box > p { font-size: 14px; }
 .segmented button { min-height: 46px; font-size: 14px; }
 .point-picker legend, .pin-label { font-size: 14px; }
 .point-choice > span { min-height: 54px; padding: 13px 10px; }
 .point-choice strong { font-size: 13px; }
 .point-choice .icon { width: 18px; height: 18px; }
 .pin-label input.pin-code { height: 60px; font-size: 26px; letter-spacing: 5px; padding-left: 19px; }
 .pin-help { font-size: 11px; line-height: 1.5; }
 .pin-keypad { max-width: 100%; gap: 10px; margin: 18px 0; }
 .pin-keypad button { min-height: 52px; font-size: 24px; border-radius: 11px; }
 .pin-keypad button[data-key='clear'] { font-size: 12px; }
 .corporate-login .login-box .btn.full { min-height: 52px; font-size: 15px; padding: 14px; }
 .compact-demo summary { min-height: 44px; font-size: 12px; padding: 10px 0; }
 .compact-demo p { font-size: 12px; }
 .login-foot { font-size: 11px; }
 .keyboard-open .sidebar nav { display: none; }
 .keyboard-open .pin-keypad { display: none; }
 body:not(.tv-body):not(.assembly-body) .product-art .thermal-effects,
 body:not(.tv-body):not(.assembly-body) .product-art .cheese-effects { display: none; }
 body:not(.tv-body):not(.assembly-body) .product-art .food-art { transition: none; }
}

@media (max-width: 600px) {
 .locations-grid, .product-grid, .screen-list, .shift-side { grid-template-columns: minmax(0, 1fr); }
 .location-card-head { align-items: center; }
 .product-card { display: grid; grid-template-columns: 104px minmax(0, 1fr); }
 .product-art { height: 100%; min-height: 180px; overflow: hidden; }
 .product-art > .food-art, .product-art > .burger-art, .product-art > .category-art { width: 100%; max-width: 104px; height: 110px; margin: 0; object-fit: contain; }
 .product-art > .product-photo { height: 130px; max-height: 130px; padding: 4px; }
 .product-art > .fries-art.category-art { width: 65px; padding: 5px; }
 .product-art > .hit-badge { left: 6px; top: 7px; right: 6px; max-width: 92px; font-size: 8px; padding: 5px; white-space: normal; gap: 3px; }
 .product-art > .edit-product { top: auto; bottom: 8px; right: 30px; min-width: 44px; height: 44px; background: #ffffffed; border: 1px solid #dce4ef; z-index: 4; }
 .product-art > .stock-label.compact { bottom: auto; top: 8px; left: 5px; right: 5px; transform: none; padding: 5px 3px; max-width: 94px; font-size: 8px; }
 .product-art > .stock-label.compact .icon { display: none; }
 .product-art > .stock-label.compact strong { font-size: 9px; }
 .product-body { padding: 16px 14px 0; }
 .product-title { display: block; }
 .product-title h3 { font-size: 17px; }
 .product-title strong { display: block; margin-top: 6px; }
 .product-category { line-height: 1.5; }
 .set-offer.compact > .fries-art { display: none; }
 .set-offer.compact .set-total { width: 100%; border-left: 0; border-top: 1px solid #efcad4; padding: 7px 0 0; display: flex; justify-content: space-between; align-items: center; gap: 6px; }
 .product-availability { flex-wrap: wrap; }
 .product-availability > span { flex: 1; min-width: 65px; }
 .table-scroll { overflow: visible; }
 .table-scroll table { display: block; width: 100%; }
 .table-scroll thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
 .table-scroll tbody { display: grid; gap: 14px; padding: 0 14px 16px; }
 .table-scroll tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 17px; border: 1px solid #dce5f1; border-radius: 13px; background: #fff; }
 .table-scroll td { display: block; padding: 0; border: 0; text-align: left; min-width: 0; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
 .table-scroll td[data-label]::before { content: attr(data-label); display: block; font-size: 11px; font-weight: 500; color: #8a9cb5; margin-bottom: 5px; }
 .table-scroll td:first-child, .table-scroll td:last-child { grid-column: 1 / -1; }
 .table-scroll td:first-child { padding-bottom: 11px; border-bottom: 1px solid #e7edf5; }
 .table-scroll td:first-child > strong { font-size: 16px; }
 .table-scroll td small { font-size: 12px; line-height: 1.6; margin-top: 5px; }
 .table-scroll td .badge { font-size: 10px; white-space: normal; line-height: 1.4; }
 .table-scroll td:last-child .icon-btn { width: 100%; border: 1px solid #e0e7f1; border-radius: 9px; padding: 12px; background: #f5f8fc; justify-content: center; display: flex; align-items: center; gap: 9px; }
 .mobile-row-label { display: inline; font-size: 13px; }
 .modal, .modal.wide { position: fixed; inset: 0; width: 100%; max-width: 100%; height: 100dvh; height: var(--dialog-height, 100dvh); max-height: 100dvh; margin: 0; border-radius: 0; border: 0; padding: calc(12px + var(--safe-top)) max(20px, env(safe-area-inset-right)) calc(26px + var(--safe-bottom)) max(20px, env(safe-area-inset-left)); box-shadow: none; scroll-padding-top: 80px; }
 .modal-header { position: sticky; top: calc(-12px - var(--safe-top)); background: #fff; z-index: 5; padding: calc(10px + var(--safe-top)) 0 14px; margin: calc(-12px - var(--safe-top)) 0 20px; border-bottom: 1px solid #e4eaf3; min-height: 64px; }
 .modal-header h2 { font-size: 20px; line-height: 1.35; }
 .modal-header > .icon-btn { min-height: 48px; min-width: 48px; flex-shrink: 0; background: #f1f5fa; border-radius: 12px; }
 .modal label { font-size: 14px; line-height: 1.5; margin-bottom: 20px; }
 .modal > p, .modal .small-text { font-size: 13px; line-height: 1.7; }
 .form-columns { grid-template-columns: minmax(0, 1fr); gap: 0; }
 .modal .btn { font-size: 15px; min-height: 50px; padding: 14px; }
 .modal form > button[type='submit'], .modal form > .btn:last-child { width: 100%; }
 .modal .button-row > .btn { flex: 1; }
 .modal .info-bar { font-size: 12px; padding: 14px; }
 .private-notes, .admin-settlement, .screen-product-picker, .photo-upload { padding: 14px; }
 .private-notes legend, .admin-settlement legend, .screen-product-picker legend, .photo-upload legend { font-size: 13px; line-height: 1.5; }
 .screen-product-picker { max-height: none; }
 .checkbox-option { gap: 12px; align-items: center; min-height: 48px; }
 .checkbox-option > input { width: 24px; height: 24px; }
 .checkbox-option strong { font-size: 14px; line-height: 1.5; }
 .checkbox-option small { font-size: 12px; line-height: 1.6; }
 .photo-preview { flex-basis: 105px; height: 120px; }
 .photo-upload-row { gap: 14px; }
 .photo-upload-controls .photo-picker { min-height: 48px; font-size: 13px; padding: 11px; line-height: 1.5; }
 .photo-name, .photo-upload .photo-help { font-size: 12px; }
 .photo-preview > span { font-size: 11px; }
 .slug-field { flex-wrap: wrap; }
 .slug-field > span { padding: 10px 12px 0; width: 100%; font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; }
 .slug-field input { width: 100%; background: transparent; }
 .receipt h3 { font-size: 24px; }
 .receipt > p, .receipt-lines > div { font-size: 14px; line-height: 1.6; }
 .receipt-lines > div { gap: 14px; padding: 14px 0; }
 .receipt-lines strong { text-align: right; }
 .receipt-note p { font-size: 14px; line-height: 1.7; }
 .receipt .help-wrap .context-help { left: max(-20px, -5vw); }
 .settlement-preview { padding: 15px; }
 .settlement-preview > div { font-size: 13px; gap: 12px; }
 .settlement-preview strong { font-size: 16px; }
 .audit-history, .audit-history p { font-size: 13px; }
 .audit-history summary { min-height: 44px; padding: 10px 0; }
 .app-notice { flex-direction: column; align-items: stretch; gap: 8px; padding: 13px 18px; }
 .app-notice button { align-self: flex-start; font-size: 13px; }
 .assembly-modal .modal-header { background: #081c3a; border-color: #284261; }
 .assembly-modal .modal-header > .icon-btn { background: #152e50; }
}

@media (max-width: 359px) {
 .page { padding-left: 14px; padding-right: 14px; }
 .sidebar .skisun-logo { width: 127px; }
 .sidebar { gap: 6px; padding-left: 14px; padding-right: 14px; }
 .stats-grid { grid-template-columns: minmax(0, 1fr); }
 .stats-grid > .stat-card:nth-child(odd) .context-help { right: 0; left: auto; }
 .product-card { grid-template-columns: 86px minmax(0, 1fr); }
 .product-art > .edit-product { right: 21px; }
 .product-art > .hit-badge { font-size: 7px; }
 .product-body { padding-left: 11px; padding-right: 11px; }
 .point-choice strong { font-size: 12px; }
 .point-choice .icon { width: 15px; height: 15px; }
 .nav-item { font-size: 10px; }
 .photo-upload-row { flex-direction: column; align-items: stretch; }
 .photo-preview { flex-basis: auto; width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
 *, *::before, *::after { scroll-behavior: auto !important; }
}
@media print {
 #app-notices, #install-root, [data-pwa-install], .mobile-menu-sections { display: none !important; }
 .modal, .modal.wide { height: auto; }
}
