@charset "UTF-8";

.org-body { font-size: 16px; }
.org-body .btn { min-height: 44px; font-size: 14px; }
.org-body .field label, .org-body .field-label { font-size: 14px; }
.org-body .field input, .org-body .field select { min-height: 48px; font-size: 16px; }
.org-body .field-hint, .org-body .form-error, .org-body .notice { font-size: 13px; }
.org-brand { display: flex; align-items: center; gap: 12px; }
.org-brand strong { display: block; font-size: 20px; letter-spacing: .08em; }
.org-brand span { display: block; font-size: 11px; letter-spacing: .08em; color: var(--muted); }
.org-header { background: white; border-bottom: 1px solid var(--line); }
.org-header-inner { max-width: 1120px; margin: auto; padding: 20px 28px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.org-user { display: flex; align-items: center; gap: 16px; }
.org-user-info { text-align: right; }
.org-user-info strong { display: block; font-size: 14px; }
.org-user-info span { display: block; color: var(--muted); font-size: 12px; }
.org-shell { max-width: 1120px; margin: 0 auto; padding: 32px 28px 64px; }
.org-hero { border: 1px solid var(--teal-dark); background: var(--teal-dark); border-radius: 22px; color: white; padding: 28px 30px; display: flex; gap: 28px; justify-content: space-between; align-items: center; }
.org-hero .eyebrow { color: #d6c095; font-size: 12px; margin-bottom: 8px; }
.org-hero p { color: #d1dfd8; font-size: 14px; margin-top: 12px; }
.org-counts { display: flex; gap: 26px; flex: 0 0 auto; }
.org-counts div { text-align: center; }
.org-counts strong { display: block; font-size: 32px; line-height: 1.25; font-weight: 650; font-variant-numeric: tabular-nums; }
.org-counts span { font-size: 12px; color: #cadbd2; }
.org-tools { display: flex; gap: 12px; align-items: center; margin: 24px 0; }
.org-search { position: relative; flex: 1; }
.org-search input { padding: 14px 44px 14px 16px; width: 100%; border: 1px solid #d7dfd7; border-radius: 12px; background: white; min-height: 50px; font-size: 16px; color: var(--ink); }
.org-search-clear { position: absolute; right: 4px; top: 3px; width: 44px; height: 44px; border: 0; background: transparent; border-radius: 8px; color: var(--muted); font-size: 22px; }
.org-management { display: flex; gap: 8px; flex-wrap: wrap; }
.org-breadcrumb { display: flex; align-items: center; gap: 5px; flex-wrap: wrap; list-style: none; padding: 0; margin: 0 0 18px; font-size: 14px; }
.org-breadcrumb li { display: flex; align-items: center; min-width: 0; }
.org-breadcrumb li + li::before { content: "›"; color: #95a198; padding: 0 9px 0 3px; }
.org-breadcrumb button { min-height: 44px; border: 0; background: transparent; padding: 5px 2px; color: var(--teal); text-decoration: underline; text-underline-offset: 5px; }
.org-breadcrumb span { overflow-wrap: anywhere; }
.org-section-heading { display: flex; gap: 14px; align-items: baseline; justify-content: space-between; margin-bottom: 17px; }
.org-section-heading h2 { font-size: 21px; }
.org-section-heading p { font-size: 13px; color: var(--muted); }
.org-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.org-node { background: white; border: 1px solid var(--line); border-radius: 17px; padding: 22px; color: var(--ink); text-align: left; display: flex; align-items: center; gap: 15px; min-height: 128px; box-shadow: 0 4px 20px #213d3505; }
.org-node:hover { border-color: #9ebeb0; background: #fbfdf9; box-shadow: var(--shadow); }
.org-node > div { min-width: 0; flex: 1; }
.org-node-kicker { color: var(--coral); font-size: 12px; display: block; margin-bottom: 5px; }
.org-node strong { display: block; font-size: 18px; overflow-wrap: anywhere; }
.org-node small { display: block; font-size: 13px; color: var(--muted); margin-top: 7px; }
.org-node-arrow { color: #9bb1a5; font-size: 27px; }
.org-stores { display: grid; gap: 10px; }
.org-store { background: white; padding: 18px 21px; border: 1px solid var(--line); border-radius: 14px; text-decoration: none; color: var(--ink); display: flex; gap: 16px; align-items: center; }
.org-store:hover { border-color: #9ebeb0; color: var(--ink); background: #fbfdf9; }
.org-store-code { color: var(--muted); font-size: 13px; border-right: 1px solid var(--line); padding-right: 16px; width: 76px; flex: 0 0 auto; font-variant-numeric: tabular-nums; }
.org-store-name { flex: 1; min-width: 0; }
.org-store-name strong { display: block; font-size: 17px; overflow-wrap: anywhere; }
.org-store-name small { display: block; color: var(--muted); font-size: 12px; margin-top: 4px; }
.org-store-state { font-size: 12px; padding: 5px 9px; border-radius: 6px; background: var(--teal-soft); color: var(--teal); flex: 0 0 auto; }
.org-store-state.is-new { background: #f1f2ed; color: #697a70; }
.org-empty { border: 1px dashed #cdd9cf; border-radius: 17px; padding: 36px 24px; background: #fbfcf7; text-align: center; color: var(--muted); }
.org-empty strong { display: block; color: var(--ink); margin-bottom: 8px; }
.org-source-note { margin-top: 26px; color: var(--muted); font-size: 12px; }
.org-insights { display: flex; gap: 12px; margin-bottom: 26px; }
.org-insight { flex: 1; min-width: 0; display: flex; align-items: center; gap: 14px; text-align: left; padding: 17px 19px; border: 1px solid #cfdbce; border-radius: 14px; background: #f7faf3; color: var(--ink); }
.org-insight:hover { background: white; border-color: #9ebeb0; }
.org-insight > span:nth-child(2) { flex: 1; min-width: 0; }
.org-insight strong, .org-insight small { display: block; }
.org-insight strong { font-size: 16px; }
.org-insight small { margin-top: 4px; font-size: 12px; line-height: 1.55; color: var(--muted); }
.org-insight-icon { width: 42px; height: 42px; border-radius: 12px; background: #e4ede1; color: #466845; display: grid; place-items: center; flex-shrink: 0; font-size: 22px; font-weight: 650; }
.org-insight-icon.is-staffing { background: #f1e9d8; color: #836735; }
.org-login { max-width: 480px; padding: 58px 20px; margin: auto; }
.org-login > .org-brand { justify-content: center; margin-bottom: 34px; }
.org-login-card { background: white; border: 1px solid var(--line); border-radius: 22px; padding: 32px; box-shadow: var(--shadow); }
.org-login-card h1 { font-size: 25px; }
.org-login-card > p { color: var(--muted); font-size: 14px; margin: 10px 0 26px; }
.org-login-card form { display: grid; gap: 18px; }
.org-login-note { font-size: 13px; color: var(--muted); margin-top: 20px; text-align: center; }
.org-dialog { border: 1px solid var(--line); border-radius: 20px; padding: 0; color: var(--ink); background: var(--cream); width: min(760px, calc(100% - 28px)); max-height: calc(100dvh - 40px); }
.org-dialog::backdrop { background: #102d2cb3; backdrop-filter: blur(3px); }
.org-dialog-head { position: sticky; top: 0; z-index: 2; padding: 20px 24px; background: white; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.org-dialog-head h2 { font-size: 21px; }
.org-dialog-close { min-width: 44px; min-height: 44px; border-radius: 9px; border: 1px solid var(--line); background: white; color: var(--ink); font-size: 24px; }
.org-dialog-body { padding: 24px; }
.org-dialog-body h3 { font-size: 17px; margin-bottom: 16px; }
.org-dialog-section + .org-dialog-section { margin-top: 26px; border-top: 1px solid var(--line); padding-top: 24px; }
.org-form { display: grid; gap: 16px; }
.org-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.org-form-actions { display: flex; gap: 10px; justify-content: flex-end; flex-wrap: wrap; }
.org-account-list { display: grid; gap: 12px; }
.org-account { padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: white; }
.org-account-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; }
.org-account-head strong, .org-account-head small { display: block; overflow-wrap: anywhere; }
.org-account-head small { font-size: 12px; color: var(--muted); margin-top: 3px; }
.org-account-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
.org-account-disabled { background: #eeefeb; color: var(--muted); padding: 4px 8px; border-radius: 6px; font-size: 12px; }
.org-form-notice { padding: 13px 15px; font-size: 14px; border-radius: 10px; background: var(--teal-soft); color: var(--teal); }
.org-tabs { display: flex; padding: 4px; gap: 5px; border: 1px solid var(--line); border-radius: 12px; background: white; margin-bottom: 20px; }
.org-tabs button { flex: 1; min-height: 44px; border-radius: 8px; border: 0; background: transparent; color: var(--muted); }
.org-tabs button[aria-pressed="true"] { background: var(--teal-soft); color: var(--teal); font-weight: 650; }
.org-report-scope { font-size: 14px; color: var(--teal); font-weight: 650; margin: 0 0 18px; overflow-wrap: anywhere; }
.org-report-filter { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; margin-bottom: 20px; }
.org-report-filter .field { flex: 1; min-width: 150px; }
.org-report-filter .field input, .org-report-filter .field select { width: 100%; }
.org-report-filter > .btn { margin-bottom: 0; min-height: 48px; }
.org-report-filter > .form-error { flex-basis: 100%; }
.org-report-filter > .form-error:empty { display: none; }
.org-month-total { display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: 20px; padding: 22px; border-radius: 15px; color: white; background: var(--teal-dark); }
.org-month-total span { display: block; font-size: 13px; color: #d5e1d8; }
.org-month-total > div > strong { display: block; font-size: 31px; font-weight: 650; font-variant-numeric: tabular-nums; margin-top: 4px; overflow-wrap: anywhere; }
.org-month-total p { font-size: 12px; color: #d5e1d8; margin: 8px 0 0; }
.org-month-total .org-known-total { padding-left: 20px; border-left: 1px solid #597a65; }
.org-month-total .org-known-total strong { font-size: 23px; }
.org-month-breadcrumb { margin: 0 0 20px; flex-wrap: wrap; row-gap: 8px; }
.org-month-heading { margin: 8px 0 18px; }
.org-month-heading h3 { margin: 0; font-size: 20px; }
.org-month-heading p { margin: 7px 0 0; font-size: 13px; line-height: 1.7; color: var(--muted); }
.org-cost-nodes { display: grid; gap: 10px; }
.org-cost-node { display: grid; grid-template-columns: minmax(0, 1fr) auto 15px; align-items: center; gap: 16px; width: 100%; padding: 20px; border: 1px solid var(--line); border-radius: 13px; background: white; color: var(--ink); text-align: left; cursor: pointer; }
.org-cost-node:hover { background: #f4f8f0; border-color: #9eafa1; }
.org-cost-node:focus-visible { outline: 3px solid var(--teal); outline-offset: 3px; }
.org-cost-node-name { min-width: 0; }
.org-cost-node-name > strong { display: block; font-size: 17px; line-height: 1.5; overflow-wrap: anywhere; }
.org-cost-node-name > small { display: block; color: var(--muted); font-size: 12px; line-height: 1.6; margin-top: 5px; }
.org-cost-node-amount { text-align: right; font-variant-numeric: tabular-nums; min-width: 0; }
.org-cost-node-amount > strong { display: block; color: var(--teal-dark); font-size: 23px; font-weight: 650; overflow-wrap: anywhere; }
.org-cost-node-amount > small { display: block; font-size: 12px; color: var(--muted); line-height: 1.6; }
.org-month-rollup { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 14px; margin-top: 24px; padding: 18px 20px; background: #eef2eb; border-radius: 12px; }
.org-month-rollup > div:first-child > span { display: block; font-size: 15px; font-weight: 650; }
.org-month-rollup > div:first-child > small { display: block; margin-top: 5px; color: var(--muted); font-size: 12px; }
.org-month-rollup .org-cost-node-amount > strong { font-size: 21px; }
.org-known-total small { display: block; font-size: 11px; color: #d5e1d8; margin-top: 3px; }
.org-half-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.org-month-halves { margin-top: 12px; }
.org-half-cost { border: 1px solid var(--line); border-radius: 12px; padding: 16px; background: white; }
.org-half-cost span { color: var(--muted); font-size: 12px; }
.org-half-cost strong { display: block; font-size: 23px; font-weight: 650; margin-top: 7px; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.org-half-cost small { display: block; color: var(--muted); font-size: 11px; margin-top: 4px; }
.org-cost-lines { margin: 14px 0; }
.org-cost-lines > div { display: flex; justify-content: space-between; align-items: baseline; gap: 15px; padding: 9px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
.org-cost-lines dt { color: var(--muted); }
.org-cost-lines dd { margin: 0; text-align: right; font-weight: 650; font-variant-numeric: tabular-nums; }
.org-cost-lines dd small { display: block; font-size: 11px; color: var(--muted); font-weight: 400; margin-top: 3px; }
.org-report-note { font-size: 13px; line-height: 1.8; color: var(--muted); margin: 12px 0; }
.org-report-caution { color: #8d6225; font-size: 12px; line-height: 1.65; margin: 10px 0; }
.org-report-stores { display: grid; gap: 10px; }
.org-report-store, .org-shortage-store { border: 1px solid var(--line); border-radius: 12px; background: white; overflow: hidden; }
.org-report-store > summary, .org-shortage-store > summary { display: flex; gap: 15px; align-items: center; justify-content: space-between; cursor: pointer; padding: 16px; list-style: none; }
.org-report-store > summary::-webkit-details-marker, .org-shortage-store > summary::-webkit-details-marker { display: none; }
.org-report-store > summary::after, .org-shortage-store > summary::after { content: '+'; color: var(--muted); font-size: 21px; flex-shrink: 0; }
.org-report-store[open] > summary::after, .org-shortage-store[open] > summary::after { content: '−'; }
.org-report-store summary > span:first-child, .org-shortage-store summary > span:first-child { flex: 1; min-width: 0; }
.org-report-store summary strong, .org-shortage-store summary strong { display: block; font-size: 14px; overflow-wrap: anywhere; }
.org-report-store summary small, .org-shortage-store summary small { display: block; font-size: 11px; color: var(--muted); margin-top: 5px; }
.org-report-store-total { text-align: right; font-variant-numeric: tabular-nums; }
.org-report-store-body, .org-shortage-body { padding: 0 16px 16px; border-top: 1px solid var(--line); }
.org-report-store-body > .org-half-grid { margin-top: 14px; }
.org-report-store-body .org-half-cost { background: #fbfcf8; padding: 13px; }
.org-report-store-body .org-half-cost strong { font-size: 19px; }
.org-unready-list { font-size: 13px; margin-top: 16px; color: var(--muted); }
.org-unready-list > summary { cursor: pointer; min-height: 44px; padding: 12px 0; }
.org-report-unready { display: flex; justify-content: space-between; gap: 14px; padding: 10px 0; border-bottom: 1px solid var(--line); font-size: 12px; }
.org-report-unready strong { font-weight: 500; }
.org-report-unready span { flex-shrink: 0; }
.org-shortage-summary { display: flex; flex-wrap: wrap; align-items: baseline; gap: 12px; padding: 15px 18px; border: 1px solid #e6d8b8; border-radius: 12px; background: #fbf5e9; }
.org-shortage-summary strong { font-size: 20px; color: #896127; }
.org-shortage-summary span { color: var(--muted); font-size: 12px; }
.org-shortage-count { font-size: 12px; color: var(--muted); text-align: right; }
.has-shortage .org-shortage-count { color: #9b5c24; font-weight: 650; }
.has-shortage { border-color: #ddcaa9; }
.org-own-store { display: inline-block; font-size: 10px; font-weight: 500; margin-left: 6px; border-radius: 4px; padding: 2px 5px; color: var(--teal); background: var(--teal-soft); vertical-align: middle; }
.org-shortage-slots { list-style: none; padding: 0; margin: 6px 0 12px; }
.org-shortage-slots li { display: flex; gap: 15px; align-items: center; border-bottom: 1px solid var(--line); padding: 12px 0; font-size: 12px; }
.org-shortage-slots li > span:first-child { min-width: 84px; flex-shrink: 0; }
.org-shortage-slots strong { display: block; font-size: 14px; }
.org-shortage-slots small { display: block; color: var(--muted); margin-top: 2px; }
.org-shortage-open { display: inline-flex; margin-top: 6px; text-decoration: none; }
.org-catalog-archive { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--line); }
.org-catalog-archive > span { font-size: 12px; color: var(--muted); }
.org-archive-action { margin-right: auto; color: #995343; }
.org-archive-back { margin-top: 20px; }
.org-store-management-section { margin-top: 22px; }
.org-fixed-scope { margin: 0; padding: 13px 15px; border: 1px solid var(--line); border-radius: 10px; background: #f1f5ed; font-size: 16px; }
.org-toast { position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%); z-index: 20; max-width: calc(100% - 32px); border-radius: 12px; padding: 13px 20px; background: var(--teal-dark); color: white; box-shadow: var(--shadow); font-size: 14px; }
.org-toast:empty { display: none; }
[hidden] { display: none !important; }

@media (max-width: 850px) {
  .org-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .org-hero { align-items: flex-start; flex-direction: column; gap: 22px; }
  .org-counts { gap: 32px; }
  .org-tools { flex-wrap: wrap; }
  .org-search { flex-basis: 100%; }
  .org-management { margin-left: auto; }
}
@media (max-width: 520px) {
  .org-cost-node { grid-template-columns: minmax(0, 1fr) 14px; gap: 9px 12px; padding: 16px; }
  .org-cost-node-name { grid-column: 1; }
  .org-cost-node-amount { grid-column: 1; text-align: left; }
  .org-cost-node > .org-node-arrow { grid-column: 2; grid-row: 1 / 3; }
  .org-cost-node-amount > strong { font-size: 22px; }
  .org-month-rollup .org-cost-node-amount { flex-basis: 100%; }
  .org-header-inner { padding: 16px; gap: 12px; align-items: flex-start; }
  .org-brand strong { font-size: 18px; }
  .org-brand span { font-size: 10px; }
  .org-user { gap: 3px; flex-direction: column; align-items: flex-end; }
  .org-user-info strong { max-width: 150px; overflow-wrap: anywhere; font-size: 12px; }
  .org-user-info span { font-size: 11px; }
  .org-user > .btn { min-height: 44px; padding: 8px; font-size: 12px; }
  .org-shell { padding: 22px 16px 40px; }
  .org-hero { border-radius: 18px; padding: 23px; }
  .org-hero h1 { font-size: 25px; }
  .org-hero p { font-size: 13px; }
  .org-counts { width: 100%; justify-content: space-between; gap: 20px; }
  .org-counts strong { font-size: 28px; }
  .org-counts span { font-size: 11px; }
  .org-grid { gap: 10px; }
  .org-node { padding: 17px 14px; min-height: 126px; gap: 5px; }
  .org-node strong { font-size: 16px; }
  .org-node small { font-size: 12px; }
  .org-node-arrow { font-size: 20px; }
  .org-management { width: 100%; }
  .org-management .btn { flex: 1; }
  .org-insights { flex-direction: column; margin-bottom: 22px; }
  .org-insight { padding: 15px; gap: 12px; }
  .org-breadcrumb { font-size: 13px; margin-bottom: 12px; }
  .org-section-heading { flex-wrap: wrap; gap: 4px; }
  .org-section-heading h2 { font-size: 19px; }
  .org-store { padding: 16px 14px; gap: 11px; flex-wrap: wrap; }
  .org-store-code { width: 53px; padding-right: 10px; font-size: 12px; }
  .org-store-name { flex-basis: calc(100% - 84px); }
  .org-store-name strong { font-size: 16px; }
  .org-store-state { margin-left: 64px; }
  .org-store > .org-node-arrow { margin-left: auto; }
  .org-login { padding-top: 35px; }
  .org-login-card { padding: 25px; }
  .org-dialog { max-height: calc(100dvh - 20px); width: calc(100% - 20px); }
  .org-dialog-head { padding: 15px 17px; }
  .org-dialog-body { padding: 20px 17px; }
  .org-form-grid { grid-template-columns: 1fr; }
  .org-form-actions .btn { flex: 1; }
  .org-report-filter .field { min-width: 130px; }
  .org-report-filter > .btn { flex: 1; }
  .org-month-total { padding: 19px; gap: 18px; }
  .org-month-total > div > strong { font-size: 28px; }
  .org-month-total .org-known-total { border-left: 0; padding: 15px 0 0; border-top: 1px solid #597a65; width: 100%; }
  .org-half-grid { gap: 9px; }
  .org-half-cost { padding: 13px; }
  .org-half-cost strong { font-size: 20px; }
  .org-report-store > summary, .org-shortage-store > summary { padding: 14px 12px; gap: 10px; }
  .org-report-store summary strong, .org-shortage-store summary strong { font-size: 13px; }
  .org-report-store-total { max-width: 105px; }
  .org-report-store-body, .org-shortage-body { padding-left: 12px; padding-right: 12px; }
  .org-shortage-count { max-width: 85px; }
  .org-report-unready { flex-direction: column; gap: 3px; }
}
@media (prefers-reduced-motion: reduce) {
  .org-body * { scroll-behavior: auto; transition: none; }
}
.org-publication-progress { display: flex; flex-wrap: wrap; gap: 4px 10px; margin-top: 8px; color: #69758a; font-size: 11px; font-weight: 400; line-height: 1.7; }
.org-publication-progress .is-confirmed { color: #26734c; }
.org-publication-progress .is-changed { color: #986217; }
.org-publication-status { display: inline-block; margin-top: 6px; color: #536377; }
.org-body .org-operations-entry { font-size: 13px; padding-inline: 12px; }
.org-operation-status { display: flex; align-items: center; gap: 10px; padding: 15px 17px; border-radius: 12px; background: #edf2f4; color: #49606c; }
.org-operation-dot { width: 9px; height: 9px; flex-shrink: 0; border-radius: 50%; background: currentColor; }
.org-operation-status.is-ready { color: #26704e; background: #eaf5ed; }
.org-operation-status.is-running { color: #315a8b; background: #edf3fc; }
.org-operation-status.is-failed { color: #965b20; background: #fff3df; }
.org-operation-facts { margin: 20px 0; }
.org-operation-facts > div { display: grid; grid-template-columns: minmax(140px, .85fr) minmax(0, 1.2fr); gap: 18px; padding: 15px 0; border-bottom: 1px solid #e6ecef; }
.org-operation-facts dt { font-size: 13px; color: #647481; }
.org-operation-facts dd { margin: 0; font-size: 15px; font-weight: 600; overflow-wrap: anywhere; }
.org-operation-facts dd small { display: block; margin-top: 7px; font-size: 12px; font-weight: 400; line-height: 1.7; color: #647481; }
.org-operation-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0 10px; }
.org-operation-help, .org-operation-notice { font-size: 13px; line-height: 1.8; color: #536877; }
.org-operation-help { margin: 17px 0 0; }
.org-operation-notice { margin: 15px 0; }
@media (max-width: 540px) {
  .org-operation-facts > div { grid-template-columns: minmax(0, 1fr); gap: 7px; }
  .org-operation-actions > .btn { flex: 1 1 130px; }
}
