:root{--color-bg: #f5f5f5;--color-surface: #ffffff;--color-border: #cccccc;--color-border-strong: #999999;--color-text: #222222;--color-text-sub: #888888;--color-text-muted: #999999;--color-warning: #e0a800;--color-warning-text: #8a6100;--color-warning-bg: #fff7e0;--color-error: #d14343;--color-error-text: #b02222;--color-error-bg: #fdecec;--color-info-bg: #eaf2fd;--color-info-text: #25518f;--color-info: #25518f;--color-disabled-bg: #f0f0f0;--color-disabled-text: #999999;--color-disabled-border: #cccccc;--color-sub: #888888;--color-primary: #222222;--color-primary-text: #ffffff;--color-secondary-bg: #ffffff;--color-secondary-border: #999999;--color-danger: #d14343;--font-family: "Noto Sans JP", system-ui, "Segoe UI", "Hiragino Sans", sans-serif;--font-size: 14px;--font-size-small: 12px;--font-size-title: 24px;--font-size-section: 16px;--font-size-value: 24px;--radius: 4px;--header-height: 56px;--page-padding: 24px;--page-max-width: 1440px;--control-height: 40px;--font-size-badge: 12px;--font-size-heading: 18px;--line-height: 1.6;--line-height-tight: 1.4;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--control-height-sm: 32px;--tap-min: 44px;--tap-min-compact: 36px;--focus-color: #25518f;--focus-width: 2px;--focus-offset: 2px}html{font-family:var(--font-family);font-size:var(--font-size);line-height:1.6;color:var(--color-text);background-color:var(--color-bg)}body{margin:0}h1{font-size:var(--font-size-title);font-weight:500;margin:0}h2{font-size:var(--font-size-section);font-weight:700;margin:0 0 12px}h3{font-size:var(--font-size);font-weight:700;margin:0 0 8px}a{color:inherit}code{font-family:Consolas,Courier New,monospace}.note{color:var(--color-text-sub);font-size:var(--font-size-small);margin:4px 0}.subtitle{color:var(--color-text-sub);font-size:var(--font-size);margin-left:12px;font-weight:400}.lead{color:var(--color-text-sub);font-size:var(--font-size-small);margin:8px 0 0}.chip{display:inline-block;font-size:11px;line-height:18px;padding:0 8px;border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-sub);background:var(--color-surface);vertical-align:middle}.figma-pending{display:none}.design-note{display:inline-block;margin-left:8px;font-family:ui-monospace,Consolas,monospace;font-size:11px;color:var(--color-text-muted)}.badge{display:inline-block;font-size:11px;line-height:18px;padding:0 8px;border-radius:10px;border:1px solid var(--color-text);background:var(--color-surface);color:var(--color-text);vertical-align:middle;margin-left:8px}.badge--selected{background:var(--color-text);color:var(--color-surface)}.badge--neutral{border-color:var(--color-border)}.badge--warning,.badge--action{border-color:var(--color-warning);background:var(--color-warning-bg);color:var(--color-warning-text)}.badge--error{border-color:var(--color-error);background:var(--color-error-bg);color:var(--color-error-text)}.badge--info{border-color:var(--color-info-text);background:var(--color-info-bg);color:var(--color-info-text)}.badge--required{border-radius:var(--radius);border-color:var(--color-error);color:var(--color-error-text);background:var(--color-surface);margin-left:6px}.badge--loading{border-color:var(--color-border);color:var(--color-text-sub)}.app-header{height:var(--header-height);box-sizing:border-box;display:flex;align-items:center;gap:40px;padding:0 var(--page-padding);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.app-header__brand{font-weight:700;font-size:15px;white-space:nowrap}.global-nav{display:flex;gap:24px}.global-nav__item{color:var(--color-text);text-decoration:none;padding:16px 0;border-bottom:2px solid transparent;font-size:var(--font-size)}.global-nav__item.is-active{border-bottom-color:var(--color-text);font-weight:700}.app-header__user{margin-left:auto;display:flex;align-items:center;gap:16px;font-size:var(--font-size)}.app-header__notice-link{color:var(--color-text);text-decoration:none}.avatar{width:28px;height:28px;border-radius:50%;border:1px solid var(--color-border);background:var(--color-surface);display:inline-block}.app-header__user .button--link{color:var(--color-text-sub);text-decoration:none;padding:0}.app-header--login{gap:0}.sp-header{height:48px;box-sizing:border-box;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 16px;background:var(--color-surface);border-bottom:1px solid var(--color-border);font-size:var(--font-size-small);color:var(--color-text-sub)}.sp-header__title{font-weight:700;font-size:var(--font-size);color:var(--color-text);text-align:center;margin:0}.sp-header__user{text-align:right;color:var(--color-text)}.breadcrumb{padding:16px var(--page-padding) 0;font-size:var(--font-size-small);color:var(--color-text-sub);background:var(--color-surface)}.breadcrumb a{color:var(--color-text-sub);text-decoration:none}.app-main{padding-bottom:48px}.page-title-band{background:var(--color-surface);padding:16px var(--page-padding) 20px;display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.page-title-band__text{min-width:0}.band{padding:20px var(--page-padding) 24px}.band--gray{background:var(--color-bg)}.band--white{background:var(--color-surface)}.band__title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.band__title h2{margin:0;display:flex;align-items:center}.band__hint{color:var(--color-text-sub);font-size:var(--font-size-small);margin-left:12px;font-weight:400}.app-shell--staff .app-main{max-width:390px;margin:0 auto;padding-bottom:80px;background:var(--color-bg)}.app-shell--staff .band{padding:16px}.app-shell--staff .breadcrumb{max-width:390px;margin:0 auto;padding:12px 16px 0;box-sizing:border-box}.app-shell--staff .table-scroll .table{min-width:640px;white-space:nowrap}.app-shell--staff .kv{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.app-shell--staff .page-title-band{padding:12px 16px}.card,.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius)}.panel{padding:16px;margin:12px 0 0}.panel__title{display:flex;align-items:baseline;gap:12px;margin:24px 0 12px}.panel__title h2{margin:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--control-height);padding:0 20px;border:1px solid var(--color-primary);border-radius:var(--radius);background:var(--color-primary);color:var(--color-primary-text);font:inherit;cursor:pointer;text-decoration:none;box-sizing:border-box}.button--secondary{background:var(--color-secondary-bg);color:var(--color-text);border-color:var(--color-secondary-border)}.button--danger{background:var(--color-danger);border-color:var(--color-danger);color:var(--color-primary-text)}.button--link.button--link-danger{color:var(--color-error-text)}.button--link{min-height:0;background:none;border:0;color:var(--color-text);padding:2px 4px;text-decoration:underline;font-size:var(--font-size-small)}.button:disabled{background:var(--color-disabled-bg);border-color:var(--color-disabled-border);color:var(--color-disabled-text);cursor:not-allowed}.button--link:disabled{background:none;border:0}.button--block{width:100%}.button-wrap{display:inline-flex;flex-direction:column;gap:4px}.button-reason{font-size:11px;color:var(--color-text-sub)}.spinner{width:12px;height:12px;border:2px solid rgba(255,255,255,.5);border-top-color:currentColor;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.form-actions{display:flex;gap:12px;align-items:center;margin-top:16px}.arrow{color:var(--color-text-sub);margin-left:auto;padding-left:12px}.field{display:flex;flex-direction:column;gap:6px;margin:0 0 16px}.field__label{font-size:var(--font-size-small);color:var(--color-text-sub)}.field input,.field select,.field textarea{font:inherit;min-height:var(--control-height);padding:0 12px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);box-sizing:border-box;max-width:100%}.field textarea{padding:8px 12px}.field input::placeholder,.field textarea::placeholder{color:var(--color-text-muted)}.field input:disabled,.field select:disabled{background:var(--color-disabled-bg);color:var(--color-text-sub)}.field input[aria-invalid=true]{border-color:var(--color-error)}.field__readonly{min-height:var(--control-height);display:flex;align-items:center;padding:0 12px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-disabled-bg);color:var(--color-text-sub);box-sizing:border-box}.field__hint{font-size:var(--font-size-small);color:var(--color-text-sub)}.field__error{font-size:var(--font-size-small);color:var(--color-error-text)}.field--inline{flex-direction:row;align-items:center;gap:12px;margin:0}.field-row{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap}.field-row .field{margin:0;flex:1 1 200px}.checkbox{display:inline-flex;gap:6px;align-items:center;font-size:var(--font-size-small);color:var(--color-text-sub)}.input-with-action{position:relative}.input-with-action input{width:100%;padding-right:56px}.input-with-action .button--link{position:absolute;right:8px;top:50%;transform:translateY(-50%);color:var(--color-text-sub);text-decoration:none}.store-selector{display:flex;align-items:flex-end;gap:16px}.store-selector .field{margin:0;min-width:280px}.store-selector select{min-width:280px}.banner{padding:12px 16px;border-radius:var(--radius);margin:12px 0;font-size:var(--font-size-small)}.banner--warning{background:var(--color-warning-bg);border:1px solid var(--color-warning);color:var(--color-warning-text)}.banner--info{background:var(--color-info-bg);border:1px solid var(--color-info-text);color:var(--color-info-text)}.error-band{padding:12px 16px;border-radius:var(--radius);margin:12px 0;background:var(--color-error-bg);border:1px solid var(--color-error);color:var(--color-error-text);font-size:var(--font-size-small)}.error-band__message{margin:0 0 6px;font-weight:700}.error-band__actions{display:flex;gap:8px;align-items:center}.error-band .button{min-height:32px;padding:0 12px;font-size:var(--font-size-small)}.error-band .button--link{color:var(--color-error-text)}.request-id{font-size:var(--font-size-small);margin:0 0 6px}.toast-area{position:fixed;top:calc(var(--header-height) + 12px);left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;z-index:100}body:has(.sp-header) .toast-area{top:60px}.toast{background:var(--color-text);color:var(--color-surface);padding:10px 16px;border-radius:var(--radius);display:flex;gap:12px;align-items:center}.toast p{margin:0}.toast .button--link{color:var(--color-surface)}.dialog-backdrop{position:fixed;inset:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:50}.dialog{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);width:960px;max-width:calc(100vw - 48px);max-height:90vh;overflow:auto}.dialog__title{margin:0;padding:16px 20px;border-bottom:1px solid var(--color-border);font-size:var(--font-size-section)}.dialog__body{padding:16px 20px}.dialog__description{margin-bottom:12px}.dialog__actions{display:flex;justify-content:flex-end;gap:12px;padding:0 20px 20px}.skeleton__row{height:14px;background:#e5e5e5;border-radius:3px;margin:10px 0;animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{opacity:.5}}.empty-state{padding:24px;text-align:center;color:var(--color-text-sub);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius)}.empty-state p{margin:0}.empty-state__hint{font-size:var(--font-size-small)}.common-error{max-width:560px;margin:48px auto;padding:24px;background:var(--color-surface);border:1px solid var(--color-error);border-radius:var(--radius)}.common-error__actions{display:flex;gap:12px}.table{width:100%;border-collapse:collapse;background:var(--color-surface);border:1px solid var(--color-border);font-size:var(--font-size)}@media(max-width:900px){.app-shell--hq_admin .band,.app-shell--store_manager .band,.app-shell--hq_admin .page-title-band,.app-shell--store_manager .page-title-band{padding-left:16px;padding-right:16px}.app-shell--hq_admin .page-title-band,.app-shell--store_manager .page-title-band{flex-direction:column;align-items:stretch;gap:12px}.page-title-band h1,.band__title h2,.panel__title h2,.table th,.table td{white-space:nowrap}.page-title-band h1{white-space:normal;word-break:keep-all;overflow-wrap:anywhere}.app-shell--hq_admin .band>.table,.app-shell--store_manager .band>.table,.app-shell--hq_admin .card>.table,.app-shell--store_manager .card>.table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.app-header{height:auto;min-height:var(--header-height);flex-wrap:wrap;gap:8px 24px;padding-top:8px;padding-bottom:8px}.global-nav{flex-wrap:wrap;gap:4px 16px}.global-nav__item{padding:8px 0}.status-row{flex-wrap:wrap;gap:8px 16px}.counter-row,.card-grid{grid-template-columns:1fr}}.table th,.table td{border-top:1px solid var(--color-border);padding:10px 12px;text-align:left;vertical-align:middle}.table thead th{background:var(--color-bg);color:var(--color-text-sub);font-weight:400;font-size:var(--font-size-small);border-top:0;border-right:1px solid var(--color-border)}.table thead th:last-child{border-right:0}.table--bordered td,.table--bordered th{border-right:1px solid var(--color-border)}.table--bordered td:last-child,.table--bordered th:last-child{border-right:0}.table__category th{background:var(--color-bg);color:var(--color-text);font-weight:700;font-size:var(--font-size-small)}.text-ok{color:var(--color-text)}.text-ng{color:var(--color-error)}.text-muted{color:var(--color-text-muted)}.login-page{min-height:100vh;background:var(--color-bg)}.login-card{width:420px;max-width:calc(100% - 32px);margin:80px auto 0;background:var(--color-surface);padding:24px;border:1px solid var(--color-border);border-radius:var(--radius);box-sizing:border-box}.login-card h1{font-size:20px;font-weight:700;margin:0 0 16px}.login-card .button--primary{width:100%;min-height:44px;margin-top:4px}.login-card .field{margin-bottom:20px}.login-notes{margin:16px 0 0;padding:0;list-style:none;color:var(--color-text-sub);font-size:var(--font-size-small);line-height:1.7}.login-notes+.login-notes{margin-top:16px}.counter-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.counter{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:8px;min-height:84px;box-sizing:border-box}.counter__label{font-size:var(--font-size-small);color:var(--color-text-sub)}.counter__value{display:flex;align-items:baseline;gap:6px;font-size:var(--font-size-value);font-weight:500}.counter__unit{font-size:var(--font-size-small);color:var(--color-text-sub)}.counter__arrow{margin-left:auto;color:var(--color-text-sub);font-size:var(--font-size)}.counter__note{font-size:11px;color:var(--color-text-sub)}.notice-list{list-style:none;padding:0;margin:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius)}.notice+.notice{border-top:1px solid var(--color-border)}.notice__button{width:100%;text-align:left;background:none;border:0;padding:8px 16px;font:inherit;cursor:pointer;display:flex;align-items:center;gap:12px;color:var(--color-text-sub)}.notice--unread .notice__button{color:var(--color-text);font-weight:700}.notice--unread .notice__button:before{content:"●";font-size:10px}.notice__title{flex:1}.notice__main{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.notice__body{font-weight:400;font-size:var(--font-size-small);color:var(--color-text);white-space:pre-wrap}.notice__meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.notice__link{font-size:var(--font-size-small);font-weight:400;color:var(--color-text);text-decoration:underline}.notice__date{font-size:var(--font-size-small);font-weight:400;color:var(--color-text-sub)}.sheet{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:12px 16px;margin-top:12px}.sheet__header{display:flex;justify-content:space-between;align-items:center}.dashboard__lower{display:grid;grid-template-columns:390px 1fr;gap:24px;align-items:start}.self-block__label{font-size:var(--font-size-small);color:var(--color-text-sub);margin:12px 0 4px}.self-block__label:first-child{margin-top:0}.self-block__line{display:flex;align-items:center;gap:12px}.self-block__actions{display:flex;gap:12px;margin-top:16px}.self-block__actions .button{flex:1}.banner--inline{display:flex;align-items:center;justify-content:space-between;gap:12px}.banner--inline .button{min-height:28px;padding:0 12px;font-size:var(--font-size-small)}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}.menu-row{display:flex;align-items:center;gap:12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:8px 16px;color:var(--color-text);text-decoration:none;min-height:36px}.menu-row__title{flex:1}.menu-row__code{font-size:var(--font-size-small);color:var(--color-text-sub)}.status-rows{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius)}.status-row{display:flex;align-items:center;gap:24px;padding:8px 16px}.status-row+.status-row{border-top:1px solid var(--color-border)}.bottom-tabs{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:390px;max-width:100%;display:flex;background:var(--color-surface);border-top:1px solid var(--color-border)}.bottom-tabs__item{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 0;color:var(--color-text-sub);text-decoration:none;background:none;border:0;font:inherit;font-size:var(--font-size-small)}.bottom-tabs__item:before{content:"";width:22px;height:22px;border-radius:3px;border:1px solid var(--color-border);background:var(--color-surface)}.bottom-tabs__item.is-active{color:var(--color-text);font-weight:700}.bottom-tabs__item.is-active:before{background:var(--color-text);border-color:var(--color-text)}.bottom-tabs__menu{position:absolute;bottom:100%;right:0;background:var(--color-surface);border:1px solid var(--color-border);padding:8px 16px;display:flex;flex-direction:column;gap:6px}.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card-grid--single{grid-template-columns:1fr 3fr}.card--menu{display:flex;flex-direction:column;gap:6px;padding:12px 16px 14px;min-height:124px;box-sizing:border-box;color:inherit;text-decoration:none;position:relative}.card--menu .card__head{display:flex;justify-content:space-between;align-items:center}.card--menu .card__title{font-size:var(--font-size-section);font-weight:700;display:flex;align-items:center}.card--menu .card__arrow{margin-left:auto;color:var(--color-text-sub)}.card--menu p,.card--menu small{margin:0;color:var(--color-text-sub);font-size:var(--font-size-small)}.card-section__note{color:var(--color-text-sub);font-size:var(--font-size-small);align-self:center}.status-panel{display:grid;grid-template-columns:auto 1fr 1fr auto;gap:24px;align-items:end}.status-panel .field{margin:0}.current-status{display:flex;align-items:center;gap:16px;min-height:var(--control-height)}.condition-table td:nth-child(1){width:60px}.legend-card{display:flex;align-items:center;gap:24px;padding:12px 16px}.legend-card__item{display:inline-flex;align-items:center;gap:8px;font-size:var(--font-size-small);color:var(--color-text-sub)}.legend-card__note{margin-left:auto;color:var(--color-warning-text);font-size:var(--font-size-small)}.scope-cell--denied{color:var(--color-text-muted)}.button-wrap:has(>.button--block){display:flex}.band>h2,.band__title h2{font-weight:400}.legend-card .badge{border-radius:4px;padding:6px 12px;font-weight:700;border-color:var(--color-text);color:var(--color-text);background:var(--color-surface)}.legend-card__note{font-weight:700}.matrix tbody td,.matrix tbody th{border-right:0}.sp-header__user{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filter-card{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px 16px;align-items:end}.filter-card .field{margin:0}.filter-card>.store-selector{grid-column:span 2;display:flex;align-items:flex-end;gap:12px}.filter-card>.store-selector .field{flex:1 1 auto}.filter-card>.store-selector .checkbox{white-space:nowrap;margin:0 0 10px}.filter-card__row{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:16px}.filter-card__row .note{flex:1 1 auto}.tabs{display:flex;gap:12px;margin:8px 0 24px}.tab{min-width:100px;height:36px;padding:0 20px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-surface);color:var(--color-text);font-weight:700;cursor:pointer}.tab.is-active{background:var(--color-text);color:#fff;border-color:var(--color-text)}.row-link{cursor:pointer}.row-link:hover{background:var(--color-bg)}.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.status-line{display:flex;align-items:center;gap:16px;margin-bottom:12px}.status-line .field__label{margin:0}.button-row{display:flex;flex-wrap:wrap;gap:12px}.secret-dialog__value{display:flex;align-items:center;gap:16px;margin:8px 0}.secret-dialog__value code{flex:1 1 auto;padding:12px 16px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg);font-size:22px;font-weight:700;letter-spacing:.04em}.secret-dialog__caution{color:var(--color-error);font-size:var(--font-size-small);margin:4px 0 0}.wage-current{font-weight:700;margin:16px 0 8px}.check-list{display:flex;flex-wrap:wrap;gap:8px 16px;margin:0;padding:0;list-style:none}.check-list .checkbox{margin:0}.pin-block{padding:16px;border-top:1px solid var(--color-border)}.pin-block__title{font-weight:700;margin:0 0 12px}.pin-block__row{display:flex;align-items:center;justify-content:space-between;gap:12px}.pin-block__row .badge{white-space:nowrap}.pin-block__row .button-wrap{min-width:0;flex:1;align-items:flex-end}.pin-block__row .button-reason{text-align:right;white-space:normal}.sp-clock{padding:16px}.sp-clock__date{color:var(--color-sub);font-size:var(--font-size-small)}.sp-clock__time{font-size:32px;font-weight:700}.sp-pending{padding:16px;color:var(--color-sub);font-size:var(--font-size-small);border-top:1px solid var(--color-border)}@media(max-width:900px){.filter-card,.two-col{grid-template-columns:1fr}}.week-tabs{display:flex;gap:4px;flex-wrap:wrap;margin-top:8px}.filter-card>.field--date-nav{grid-column:span 3}.button-row--nowrap{flex-wrap:nowrap}.button-row--nowrap input[type=date]{min-width:0}@media(max-width:900px){.filter-card>.field--date-nav{grid-column:auto}}.week-tabs__item{font:inherit;font-size:var(--font-size-small);padding:4px 10px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);cursor:pointer}.week-tabs__item.is-current{background:var(--color-text);border-color:var(--color-text);color:var(--color-surface);font-weight:700}.step-bar{display:flex;gap:8px;flex-wrap:wrap;padding:8px var(--page-padding);font-size:var(--font-size-small);color:var(--color-text-sub)}.step-bar__item{padding:4px 10px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:inherit;text-decoration:none}.step-bar__item.is-current{background:var(--color-text);color:#fff;border-color:var(--color-text)}.text-warn{color:var(--color-warning-text)}.sp-section{padding:16px;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.sp-heading{font-size:18px;margin:0 0 8px}.calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.month-calendar{width:100%;border-collapse:collapse;table-layout:fixed}.month-calendar th,.month-calendar td{border:1px solid var(--color-border);vertical-align:top;padding:2px;height:56px;font-size:var(--font-size-small)}.month-calendar__day{display:block;color:var(--color-text-sub)}.month-calendar__shift{display:block;background:var(--color-info-bg);color:var(--color-info-text);border-radius:var(--radius);padding:1px 2px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.week-panel{margin-top:8px}.week-panel__head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.request-day{border:1px solid var(--color-border);border-radius:var(--radius);padding:8px;margin:0 0 8px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.request-day legend{font-weight:700}.request-day select,.request-day input[type=text]{min-width:96px}.request-matrix th,.request-matrix td{text-align:center;white-space:nowrap}.request-matrix th:first-child,.request-matrix td:first-child{text-align:left}.request-matrix__counts td{background:var(--color-bg);font-size:var(--font-size-small)}.dialog--wide{max-width:880px;width:calc(100% - 48px)}.headcount-grid th,.headcount-grid td{text-align:center;padding:2px 4px}.headcount-grid input{width:48px;height:32px;text-align:center}.headcount-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:6px}.headcount-slots__item{display:flex;flex-direction:column;font-size:var(--font-size-small)}.headcount-slots__item input{height:32px;text-align:center}.headcount-table th,.headcount-table td{text-align:center;padding:4px 6px}.board{border:1px solid var(--color-border);background:var(--color-surface);overflow-x:auto}.board__header,.board__row{display:grid;grid-template-columns:200px minmax(560px,1fr);border-bottom:1px solid var(--color-border);min-height:44px}.board__header{background:var(--color-bg);font-size:var(--font-size-small);color:var(--color-text-sub)}.board__row--helper{background:#fbfbfb}.board__label{padding:4px 8px;border-right:1px solid var(--color-border);font-size:var(--font-size-small);display:flex;flex-direction:column;justify-content:center}.board__axis{position:relative;height:24px}.board__hour{position:absolute;top:4px;transform:translate(-50%)}.board__lane{position:relative;height:44px;touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair;background-image:linear-gradient(to right,var(--color-border) 1px,transparent 1px);background-size:calc(100% / 14) 100%}.board__request{position:absolute;top:2px;height:12px;font-size:10px;line-height:12px;color:var(--color-info-text);background:var(--color-info-bg);border-radius:2px;padding:0 4px;white-space:nowrap;overflow:hidden;pointer-events:none}.board__request--none{left:4px;background:transparent;color:var(--color-text-muted)}.board__bar{position:absolute;top:16px;height:24px;line-height:24px;background:var(--color-text);color:#fff;border-radius:var(--radius);font-size:var(--font-size-small);padding:0 8px;white-space:nowrap;overflow:hidden;cursor:pointer;box-sizing:border-box}.board__bar--warn{background:var(--color-warning-text)}.board__bar--locked{background:var(--color-disabled-bg);color:var(--color-text-muted);cursor:not-allowed;border:1px dashed var(--color-border-strong)}.board__bar--draft{background:transparent;color:var(--color-text);border:1px dashed var(--color-text);pointer-events:none}.board__bar-text{pointer-events:none}.board__handle{position:absolute;top:0;width:8px;height:100%;cursor:ew-resize}.board__handle--start{left:0}.board__handle--end{right:0}.board-footer{display:flex;flex-direction:column;gap:8px}.warning-list{margin:0;padding-left:20px}.warning-list li{margin:4px 0}.candidate{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px;border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:6px}.candidate--warn{background:var(--color-warning-bg)}.sp-clock{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}.sp-clock__store{min-width:160px;margin:0}.state-card__main{font-size:18px;font-weight:700;margin-bottom:6px}.stepper{display:flex;gap:6px;margin:12px 0 8px;padding:0;list-style:none;font-size:var(--font-size-small)}.stepper__item{flex:1;text-align:center;padding:6px 4px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-sub)}.stepper__item.is-current{background:var(--color-text);color:#fff;border-color:var(--color-text);font-weight:700}.punch-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:8px 0}.punch-button{min-height:64px;font-size:18px;font-weight:700;border-radius:var(--radius);border:1px solid var(--color-border);background:#e6e6e6;color:var(--color-sub);cursor:not-allowed}.punch-button.is-active{background:var(--color-primary);color:#fff;border-color:transparent;cursor:pointer}.punch-button:disabled.is-active{opacity:.6}.record-line{padding:6px 0;border-bottom:1px dashed var(--color-border)}.record-line:last-of-type{border-bottom:none}.row--clickable{cursor:pointer}.row--clickable:hover td{background:var(--color-bg)}.row--clickable:focus-visible{outline:2px solid var(--color-text);outline-offset:-2px}.row--muted td{color:var(--color-sub);background:#fafafa}.kv{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0}.kv dt{color:var(--color-sub);font-size:var(--font-size-small)}.kv dd{margin:0}.kiosk{min-height:100vh;display:flex;flex-direction:column;background:var(--color-bg);color:var(--color-text)}.kiosk__header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;border-bottom:1px solid var(--color-border);background:var(--color-surface);font-size:18px;font-weight:700}.kiosk__body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px;gap:16px}.kiosk__form{width:100%;max-width:420px;display:flex;flex-direction:column;gap:12px}.kiosk__display{font-size:40px;letter-spacing:12px;text-align:center;min-height:56px;padding:8px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.kiosk__keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.kiosk__key{min-height:64px;font-size:24px;font-weight:700;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);cursor:pointer}.kiosk__key:active{background:#e6e6e6}.kiosk__actions{display:flex;gap:10px;justify-content:space-between}.kiosk__primary,.kiosk__secondary,.kiosk__return{min-height:56px;font-size:18px;font-weight:700;border-radius:var(--radius);border:1px solid var(--color-border);padding:0 20px;cursor:pointer}.kiosk__primary{background:var(--color-primary);color:#fff;border-color:transparent;flex:1}.kiosk__primary:disabled{opacity:.5;cursor:not-allowed}.kiosk__secondary,.kiosk__return{background:var(--color-surface)}.kiosk__menu{width:100%;max-width:480px;display:flex;flex-direction:column;gap:14px}.kiosk__staff{font-size:22px;font-weight:700;text-align:center}.kiosk__label{color:var(--color-sub);font-size:var(--font-size-small);text-align:center}.kiosk__punch-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.kiosk__punch{min-height:96px;font-size:22px;font-weight:700;border-radius:var(--radius);border:1px solid var(--color-border);background:#e6e6e6;color:var(--color-sub);cursor:not-allowed}.kiosk__punch.is-active{background:var(--color-primary);color:#fff;border-color:transparent;cursor:pointer}.kiosk__remaining{text-align:center;color:var(--color-sub);font-size:var(--font-size-small)}.kiosk__complete{text-align:center;display:flex;flex-direction:column;gap:12px;align-items:center}.kiosk__check{font-size:64px;color:var(--color-text)}.kiosk__error{text-align:center;display:flex;flex-direction:column;gap:12px;align-items:center;max-width:480px}.kiosk__error-message{font-size:18px;font-weight:700;color:var(--color-error-text)}.kiosk__request-id{color:var(--color-sub);font-size:var(--font-size-small)}.kiosk__inline-error{color:var(--color-error-text);text-align:center}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width:600px){.table-scroll .table{min-width:720px}}.job-card{margin:12px 0;padding:12px 16px;border-left:4px solid var(--color-info-text)}.job-card--warning{border-left-color:var(--color-warning);background:var(--color-warning-bg)}.job-card--error{border-left-color:var(--color-error);background:var(--color-error-bg)}.job-card__head{display:flex;justify-content:space-between;align-items:center;gap:8px}.detail-card{border:1px solid var(--color-border);border-radius:var(--radius);padding:12px;margin:8px 0;background:var(--color-surface)}.detail-card__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.detail-card .field{margin:8px 0}.split-pane{display:grid;grid-template-columns:minmax(320px,1fr) minmax(360px,1.2fr);gap:16px;padding:0 var(--page-padding) 16px}.split-pane__list .table tbody tr{cursor:pointer}.split-pane__list .table tbody tr.is-selected td{background:var(--color-info-bg)}.split-pane__detail{align-self:start;position:sticky;top:8px}.compare-table td.is-changed{font-weight:700}@media(max-width:900px){.split-pane{grid-template-columns:1fr}.split-pane__detail{position:static}}@media(max-width:900px){:is(.app-shell--hq_admin,.app-shell--store_manager) .dashboard__lower,:is(.app-shell--hq_admin,.app-shell--store_manager) .menu-grid,:is(.app-shell--hq_admin,.app-shell--store_manager) .card-grid,:is(.app-shell--hq_admin,.app-shell--store_manager) .status-panel,:is(.app-shell--hq_admin,.app-shell--store_manager) .filter-card,:is(.app-shell--hq_admin,.app-shell--store_manager) .split-pane{grid-template-columns:minmax(0,1fr)}:is(.app-shell--hq_admin,.app-shell--store_manager) .filter-card>.store-selector,:is(.app-shell--hq_admin,.app-shell--store_manager) .filter-card>.field--date-nav{grid-column:1 / -1}:is(.app-shell--hq_admin,.app-shell--store_manager) .store-selector{flex-wrap:wrap;gap:8px 16px}:is(.app-shell--hq_admin,.app-shell--store_manager) .store-selector .field{flex:1 1 240px;min-width:0}:is(.app-shell--hq_admin,.app-shell--store_manager) .store-selector select{min-width:0;width:100%}:is(.app-shell--hq_admin,.app-shell--store_manager) .store-selector .checkbox{white-space:nowrap}:is(.app-shell--hq_admin,.app-shell--store_manager) .filter-card select,:is(.app-shell--hq_admin,.app-shell--store_manager) .filter-card input:not([type=checkbox]):not([type=radio]){min-width:0;max-width:100%}:is(.app-shell--hq_admin,.app-shell--store_manager) .button-row--nowrap{flex-wrap:wrap}:is(.app-shell--hq_admin,.app-shell--store_manager) .band__title h2,:is(.app-shell--hq_admin,.app-shell--store_manager) .panel__title h2,:is(.app-shell--hq_admin,.app-shell--store_manager) .menu-row__title,:is(.app-shell--hq_admin,.app-shell--store_manager) .card--menu .card__title{white-space:normal;word-break:keep-all;overflow-wrap:anywhere}:is(.app-shell--hq_admin,.app-shell--store_manager) .legend-card{flex-wrap:wrap;gap:8px 16px}:is(.app-shell--hq_admin,.app-shell--store_manager) .legend-card__note{margin-left:0}:is(.app-shell--hq_admin,.app-shell--store_manager) .badge{white-space:nowrap}}.split-pane__list .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.split-pane__list .table-wrap>.table{min-width:720px}.split-pane__list .table-wrap>.table th,.split-pane__list .table-wrap>.table td{white-space:nowrap}.app-shell--staff .status-row{flex-wrap:wrap;gap:8px 16px}@media(max-width:900px){:is(.app-shell--hq_admin,.app-shell--store_manager) .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}:is(.app-shell--hq_admin,.app-shell--store_manager) .form-actions{flex-wrap:wrap}:is(.app-shell--hq_admin,.app-shell--store_manager) .form-actions>.note,:is(.app-shell--hq_admin,.app-shell--store_manager) .form-actions>.button-wrap{flex:1 1 100%}:is(.app-shell--hq_admin,.app-shell--store_manager) .form-actions>.button-wrap>.button{width:100%;min-height:44px;white-space:nowrap}}.split-pane--list-only{grid-template-columns:minmax(0,1fr)}.detail-actions{padding-top:0}@media(max-width:900px){:is(.app-shell--hq_admin,.app-shell--store_manager) input[type=checkbox]:not(.bottom-tabs input){width:20px;height:20px;margin:12px}:is(.app-shell--hq_admin,.app-shell--store_manager) .table th input[type=checkbox],:is(.app-shell--hq_admin,.app-shell--store_manager) .table td input[type=checkbox]{margin:12px}:is(.app-shell--hq_admin,.app-shell--store_manager) .pagination a,:is(.app-shell--hq_admin,.app-shell--store_manager) .pagination button{min-width:36px;min-height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0 8px}:is(.app-shell--hq_admin,.app-shell--store_manager) .table .button{min-height:36px}:is(.app-shell--hq_admin,.app-shell--store_manager) .global-nav__item{padding:12px 4px;min-height:44px;display:inline-flex;align-items:center}:is(.app-shell--hq_admin,.app-shell--store_manager) .app-header__notice-link{min-height:44px;display:inline-flex;align-items:center}}.code-block{margin:4px 0 0;padding:8px;max-height:320px;overflow:auto;background:#f5f5f5;border:1px solid #ddd;border-radius:4px;font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-all}.badge,.chip,.button-reason,.counter__note,.board__request,.notice--unread .notice__button:before{font-size:var(--font-size-badge)}.badge,.chip{line-height:var(--line-height-tight);padding:2px 8px}.badge,.chip,.button,.field__label,.table thead th,.global-nav__item,.app-header__notice-link,.breadcrumb a,.step-bar__item{white-space:nowrap}.page-title-band h1,.band__title h2,.panel__title h2{line-height:var(--line-height-tight)}.sp-heading,.state-card__main{font-size:var(--font-size-heading)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:var(--focus-width) solid var(--focus-color);outline-offset:var(--focus-offset)}.button--sm,.error-band .button{min-height:var(--control-height-sm);padding:0 var(--space-3);font-size:var(--font-size-small)}.field__error:before{content:"● "}.field__readonly{background:var(--color-surface);border-style:dashed;color:var(--color-text)}.field input:disabled,.field select:disabled,.field textarea:disabled{background:var(--color-disabled-bg);color:var(--color-disabled-text);border-color:var(--color-disabled-border);cursor:not-allowed}.table td.num,.table th.num{text-align:right;font-variant-numeric:tabular-nums}.table-scroll,.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}.pagination{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2) var(--space-3);margin-top:var(--space-3);font-size:var(--font-size-small);color:var(--color-text-sub)}.pagination .button{min-height:var(--tap-min-compact);padding:0 var(--space-3);font-size:var(--font-size-small)}.empty-state{color:var(--color-text-sub);background:var(--color-surface);border:1px dashed var(--color-border)}@media(max-width:900px){:is(.app-shell--hq_admin,.app-shell--store_manager) .checkbox{min-height:var(--tap-min);align-items:center}:is(.app-shell--hq_admin,.app-shell--store_manager) .button:not(.button--link):not(.button--sm):not(.error-band .button){min-height:var(--tap-min)}:is(.app-shell--hq_admin,.app-shell--store_manager) .pagination .button{min-width:var(--tap-min-compact);min-height:var(--tap-min-compact)}.status-line{flex-wrap:wrap;gap:var(--space-2) var(--space-3)}}@media(max-width:600px){.col-optional{display:none}}.col-narrow-only{display:none}@media(max-width:600px){.col-narrow-only{display:inline}}.button-row--end{justify-content:flex-end}.sp-today{font-size:var(--font-size-heading);font-weight:700;line-height:var(--line-height-tight);margin:0}@media(max-width:900px){.self-block__actions{flex-wrap:wrap}.self-block__actions .button{flex:1 1 100%}}.band__title,.panel__title{flex-wrap:wrap}.comm-status{padding:var(--space-2) var(--page-padding);font-size:var(--font-size-small);line-height:var(--line-height);border-bottom:1px solid var(--color-border)}.comm-status--offline{background:var(--color-warning-bg);color:var(--color-warning-text);border-bottom-color:var(--color-warning)}.comm-status--info{background:var(--color-info-bg);color:var(--color-info-text);border-bottom-color:var(--color-info-text)}.comm-status--ok{background:var(--color-bg);color:var(--color-text-sub)}@media(max-width:900px){.comm-status{padding-left:var(--space-4);padding-right:var(--space-4)}}
