/* SkiSun Gastro: corporate access, independent screens and private administration. */
.skisun-logo { aspect-ratio: 3.35; }
.skisun-logo img { width: 106%; max-width: none; height: auto; left: -3%; top: -27%; }
.corporate-login { grid-template-columns: minmax(340px, .95fr) minmax(450px, 1.05fr); }
.corporate-login .login-story { background: radial-gradient(ellipse at 10% 100%, #35213d, transparent 55%), #061735; padding: 40px clamp(28px, 5vw, 80px) 28px; }
.corporate-login .login-story:after { width: 560px; height: 560px; border-color: #ee3a4c22; box-shadow: 0 0 0 65px #ee3a4c04, 0 0 0 130px #ee3a4c04; top: 30%; right: -300px; }
.corporate-login .story-main { padding: 65px 0 50px; }
.corporate-login .story-main h1 { font-size: clamp(40px, 4.6vw, 66px); color: #fff; letter-spacing: -2.8px; }
.corporate-login .story-main p { color: #adbcd4; }
.corporate-login .story-main .eyebrow { color: #ff8293; }
.corporate-login .story-bottom { color: #93a6c3; border-color: #ffffff14; }
.company-features { display: grid; gap: 16px; margin-top: 30px; color: #c2d0e5; font-size: 12px; }
.company-features > span { display: flex; align-items: center; gap: 12px; }
.company-features .icon { color: #ee6579; height: 20px; width: 20px; }
.corporate-emblem { margin: 48px 0 0; display: flex; gap: 20px; align-items: center; color: #aebed8; opacity: .8; }
.corporate-emblem > .icon { width: 60px; height: 60px; stroke-width: 1; color: #ee6c82; }
.corporate-emblem > span { font-size: 18px; line-height: 1.65; letter-spacing: 4px; }
.corporate-emblem b { font-size: 10px; letter-spacing: 7px; font-weight: 500; }
.corporate-login .login-panel { background: #f8faff; padding: 24px clamp(25px, 5vw, 70px); }
.corporate-login .login-box { max-width: 460px; padding: 28px 0; }
.corporate-login .login-box h2 { font-size: 32px; }
.corporate-login .segmented { margin-top: 20px; }
.point-picker { border: 0; margin: 22px 0; padding: 0; min-width: 0; }
.point-picker legend { color: #536882; font-size: 11px; font-weight: 650; margin-bottom: 10px; }
.point-picker > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.point-choice { display: block; position: relative; margin: 0; }
.point-choice > input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.point-choice > span { border: 1px solid #dce3ef; border-radius: 9px; padding: 12px 10px; display: flex; align-items: center; gap: 7px; background: #fff; color: #657994; cursor: pointer; min-height: 45px; }
.point-choice strong { font-size: 11px; line-height: 1.4; font-weight: 600; }
.point-choice .icon { width: 16px; height: 16px; flex-shrink: 0; }
.point-choice i { margin-left: auto; color: #ee3a4c; display: none; }
.point-choice:has(input:checked) > span { background: #fff3f5; border-color: #ee3a4c; color: #061735; box-shadow: 0 0 0 1px #ee3a4c10; }
.point-choice:has(input:checked) i { display: flex; }
.point-choice:has(input:focus-visible) > span { outline: 3px solid #ffa4b0; outline-offset: 2px; }
.pin-label { color: #536882; font-size: 11px; margin-bottom: 4px; }
.pin-label .pin-code { height: 58px; font-size: 29px; text-align: center; letter-spacing: 9px; padding: 10px 14px 10px 23px; color: #061735; font-variant-numeric: tabular-nums; background: #fff; border: 1px solid #ccd6e5; }
.pin-code::placeholder { color: #c0cbdc; }
.pin-help { display: block; text-align: center; color: #8b9bb2; font-size: 9px; margin-top: 7px; }
.pin-keypad { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; margin: 15px auto 20px; max-width: 310px; }
.pin-keypad button { height: 40px; background: #fff; border: 1px solid #e1e7f0; border-radius: 8px; font-size: 20px; font-weight: 600; color: #203e65; cursor: pointer; }
.pin-keypad button:hover { background: #edf2fa; border-color: #afbed3; }
.pin-keypad button:active { background: #ffe7ec; border-color: #ee3a4c; }
.pin-keypad button[data-key='clear'] { font-size: 10px; color: #8b9bb2; }
.compact-demo { display: block; margin-top: 20px; padding-top: 16px; }
.compact-demo summary { font-size: 10px; color: #8193ad; cursor: pointer; }
.compact-demo p { font-size: 10px; }
.point-symbol { width: 88px; height: 88px; margin: 25px auto 20px; display: grid; place-items: center; background: #edf2fa; border: 1px solid #d8e1ef; border-radius: 23px; color: #b92f4c; }
.point-symbol > .icon { width: 44px; height: 44px; stroke-width: 1.3; }
.point-menu-summary { text-align: center; }
.screen-list { display: grid; gap: 12px; margin: 18px 0; }
.screen-card { border: 1px solid #dfe6f0; border-radius: 10px; padding: 13px; background: #fcfdff; }
.screen-card-top { display: flex; align-items: center; gap: 10px; }
.screen-card-top strong { display: block; font-size: 12px; color: #294264; }
.screen-card-top small { display: block; margin-top: 5px; font-size: 9px; color: #8a9ab1; }
.screen-symbol { display: grid; place-items: center; width: 34px; height: 34px; flex-shrink: 0; border-radius: 8px; background: #edf2fa; color: #657fa3; }
.screen-symbol.portrait .icon { transform: rotate(90deg); }
.screen-card code { display: block; background: #f0f4fa; border-radius: 5px; padding: 8px; font-size: 10px; color: #778da9; overflow-wrap: anywhere; margin: 11px 0; }
.screen-card-actions { display: flex; gap: 6px; align-items: center; }
.screen-card-actions .btn { padding: 8px 9px; font-size: 10px; gap: 5px; }
.screen-card-actions .btn .icon { width: 13px; height: 13px; }
.screen-card-actions .icon-btn { margin-left: auto; flex-shrink: 0; }
.slug-field { display: flex; border: 1px solid #e2e8f1; border-radius: 8px; margin-top: 8px; overflow: hidden; align-items: center; background: #f3f6fb; }
.slug-field > span { padding-left: 12px; color: #8598b2; font-size: 11px; }
.slug-field input { min-width: 0; border: 0; margin: 0; border-radius: 0; }
.private-notes, .admin-settlement, .screen-product-picker { border: 1px solid #dfe6f0; border-radius: 10px; padding: 15px; margin: 20px 0; min-width: 0; }
.private-notes { background: #f7f9fe; }
.private-notes legend, .admin-settlement legend, .screen-product-picker legend { padding: 0 7px; font-size: 11px; color: #536b90; font-weight: 650; }
.private-notes legend .icon { vertical-align: middle; width: 15px; height: 15px; }
.screen-product-picker { max-height: 340px; overflow: auto; }
.screen-product-picker[hidden], .admin-settlement[hidden] { display: none; }
.screen-product-picker .checkbox-option { padding: 9px 0; border-bottom: 1px solid #edf0f6; margin: 0; }
.screen-product-picker .checkbox-option:last-child { border: 0; }
.shift-account-field { display: none; }
.active-shift-reports { margin-top: 22px; }
.clickable-shift { cursor: pointer; }
.shift-admin-actions { margin: 20px 0; }
.btn.danger { background: #fff0f3; color: #b12d4a; border-color: #efbdc9; }
.btn.danger:hover { background: #ffe3e9; }
.audit-history { margin: 15px 0 20px; font-size: 11px; color: #8193af; }
.audit-history summary { cursor: pointer; color: #5a7192; }
.audit-history p { border-left: 2px solid #e2e9f3; padding: 6px 12px; line-height: 1.7; }
.audit-history small, .audit-history p > span { display: block; }
.help-wrap { position: relative; display: inline-flex; vertical-align: middle; margin-left: 5px; }
.help-trigger { display: inline-grid; place-items: center; height: 17px; width: 17px; font-size: 10px; border: 1px solid #c7d2e3; border-radius: 50%; color: #8296b2; background: transparent; padding: 0; cursor: help; line-height: 1; }
.help-trigger:focus-visible { outline: 2px solid #ee3a4c; outline-offset: 2px; }
.help-wrap .context-help { position: absolute; display: block; pointer-events: none; visibility: hidden; opacity: 0; bottom: calc(100% + 9px); left: 0; z-index: 100; width: 240px; max-width: 65vw; padding: 12px 14px; border-radius: 9px; background: #102746; box-shadow: 0 6px 24px #06173526; color: #eff5ff; font-weight: 400; font-size: 11px; line-height: 1.6; text-transform: none; letter-spacing: 0; text-align: left; white-space: normal; }
.help-wrap:hover .context-help, .help-wrap:focus-within .context-help { visibility: visible; opacity: 1; }
.help-wrap.stat-icon { margin-left: 0; }
.stat-icon .help-trigger { width: 100%; height: 100%; border: 0; border-radius: 7px; color: inherit; }
.stat-icon .context-help { left: auto; right: 0; }
.stat-card { overflow: visible; }
.table-scroll .context-help { bottom: auto; top: calc(100% + 5px); }
.location-card-foot { gap: 6px; }
.location-card-foot > span { margin-right: auto; }
@media (max-width: 950px) {
 .corporate-login { grid-template-columns: minmax(270px,.85fr) minmax(400px,1.15fr); }
 .corporate-login .login-story { padding: 35px 28px; }
 .corporate-login .login-panel { padding: 24px; }
 .corporate-login .story-main h1 { font-size: 43px; }
}
@media (max-width: 700px) {
 .corporate-login { grid-template-columns: 1fr; }
 .corporate-login .login-story { padding: 22px 25px; }
 .corporate-login .login-story > .brand { align-self: flex-start; }
 .corporate-login .story-main { padding: 25px 0 0; }
 .corporate-login .story-main h1 { font-size: 34px; letter-spacing: -1px; margin: 12px 0; }
 .corporate-login .story-main h1 br { display: none; }
 .corporate-login .story-main p { font-size: 12px; }
 .corporate-emblem, .company-features, .corporate-login .story-bottom { display: none; }
 .corporate-login .login-panel { padding: 24px; }
 .corporate-login .login-box { padding: 10px 0 25px; }
 .shift-admin-actions { flex-wrap: wrap; }
 .slug-field > span { font-size: 10px; }
}
@media print { .help-wrap, .audit-history, .shift-admin-actions { display: none !important; } }
