:root{--brand:#467ebf;--brand-dark:#3a6ba8;--brand-light:#eaf2fa;--brand-selected:#d6e4f4;--brand-border:#91b1d8;color:#1f2937;font-synthesis:none;letter-spacing:0;text-rendering:optimizelegibility;background:#f1f5f9;font-family:Inter,Noto Sans JP,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;font-size:14px}button,input,textarea,select{font:inherit;letter-spacing:0}button{cursor:pointer}button:disabled,input:disabled,textarea:disabled,select:disabled{cursor:not-allowed;opacity:.58}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}input,textarea,select{color:#1f2937;background:#fff;border:1px solid #cbd5e1;border-radius:4px;width:100%;padding:8px 10px}textarea{resize:vertical;min-height:126px}svg{flex:none;width:18px;height:18px}.adminShell{background:#f1f5f9;flex-direction:column;min-height:100vh;display:flex}.adminHeader{background:#fff;border-bottom:1px solid #e2e8f0}.adminHeaderInner{justify-content:space-between;align-items:center;min-height:56px;padding:0 24px;display:flex}.adminLogo{color:var(--brand);font-size:18px;font-weight:700}.adminHeaderActions{color:#334155;align-items:center;gap:24px;font-size:14px;display:flex}.adminLogoutButton{min-height:32px;padding:6px 12px}.adminMain{flex:1;padding:32px 24px 40px}.adminContainer{width:min(1024px,100%);margin:0 auto}.adminBreadcrumb{background:#fff;border-bottom:1px solid #e2e8f0;padding:8px 24px}.adminBreadcrumb nav,.adminBreadcrumb ol{color:#64748b;align-items:center;gap:8px;width:min(1024px,100%);margin:0 auto;padding:0;font-size:13px;list-style:none;display:flex}.adminBreadcrumb a,.adminLink{color:var(--brand);background:0 0;border:0;padding:0}.adminPageTitle{color:#1e293b;margin-bottom:24px;font-size:24px;font-weight:700}.adminFooter{text-align:center;background:#fff;border-top:1px solid #e2e8f0;padding:16px 20px}.adminFooter p:first-child{color:#334155;font-size:13px}.adminFooter p+p{color:#64748b;margin-top:4px;font-size:12px}.buttonPrimary,.buttonSecondary,.buttonGhost,.iconButton,.topButton{border-radius:4px;justify-content:center;align-items:center;gap:8px;min-height:36px;padding:8px 18px;font-weight:700;line-height:1;display:inline-flex}.buttonPrimary{border:1px solid var(--brand);background:var(--brand);color:#fff}.buttonPrimary:hover{background:var(--brand-dark)}.memberLookupButton{white-space:nowrap;flex:none}.staffLookupControl{align-items:flex-start;gap:10px;display:flex}.staffLookupControl .adminField{flex:none;width:132px}.staffLookupControl .adminFieldError{width:max-content;max-width:260px}.staffLookupControl button{margin-top:1px}.staffLookupResult{gap:8px;display:grid}.staffLookupResult p{margin:0}.buttonSecondary{border:1px solid var(--brand);color:var(--brand);background:#fff}.buttonSecondary:hover,.buttonGhost:hover,.topButton:hover{background:var(--brand-light)}.buttonGhost{color:#334155;background:#fff;border:1px solid #cbd5e1}.iconButton{width:40px;padding:0}.topButton{border:1px solid var(--brand-border);width:40px;min-height:40px;color:var(--brand);background:#fff;padding:0;position:fixed;bottom:72px;right:24px;box-shadow:0 1px 3px #0f172a1f}.searchBox,.panel,.dataTableWrap,.formTableWrap,.transferPanel{background:#fff;border:1px solid #e2e8f0;border-radius:6px}.searchBox{margin-bottom:28px;padding:24px}.formRows{gap:16px;display:grid}.formRow{align-items:center;gap:16px;display:flex}.formLabel{color:#334155;flex:none;width:112px;font-size:14px;font-weight:700}.formActions,.pageActions{justify-content:center;align-items:center;gap:12px;display:flex}.adminField{flex-direction:column;flex:auto;gap:4px;min-width:0;display:flex}.adminFieldInput.isInvalid{background:#fef2f2;border-color:#dc2626}.adminFieldInput.isInvalid:focus{outline-color:#dc2626}.adminFieldError{color:#b91c1c;font-size:12px;line-height:1.5}.adminFieldHint,.adminFieldCount{color:#64748b;font-size:12px;line-height:1.5}.adminFieldCount{align-self:flex-end}button[aria-disabled=true]{cursor:not-allowed;opacity:.55}.termsBodyCell{overflow-wrap:anywhere;white-space:pre-wrap;max-width:0}.emptyTableCell{color:#64748b;text-align:center!important;padding:40px 16px!important}.dataTable button{white-space:nowrap}.resultHeader{color:#334155;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;font-size:14px;display:flex}.dataTable,.formTable,.memberTable{table-layout:fixed;border-collapse:collapse;width:100%;font-size:14px}.memberTableNoColumn{width:24%}.memberTableNameColumn{width:28%}.memberTableAddressColumn{width:48%}.dataTable th,.memberTable th,.formTable th{background:var(--brand);color:#fff;text-align:center;vertical-align:middle;border:1px solid #fff;padding:12px 14px;font-weight:700}.dataTable td,.memberTable td,.formTable td{color:#334155;vertical-align:middle;background:#fff;border:1px solid #e2e8f0;padding:11px 14px}.memberTable td{overflow-wrap:anywhere}.dataTable tbody tr:hover,.dataTable tbody tr:hover td{background:#f8fafc}.requiredBadge{color:#fff;background:#ef4444;border-radius:4px;margin-left:8px;padding:2px 6px;font-size:10px;font-weight:700;display:inline-block}.statusBadge{border-radius:4px;justify-content:center;align-items:center;min-width:52px;padding:4px 8px;font-size:12px;font-weight:700;display:inline-flex}.statusActive{color:#166534;background:#dcfce7}.statusPending{color:#92400e;background:#fef3c7}.statusStopped{color:#991b1b;background:#fee2e2}.inlineSuccess{color:#166534;margin:0 0 16px;font-weight:700}.contractFormActionArea{justify-items:center;gap:12px;display:grid}.groupingEditActionArea{justify-items:center;gap:12px;margin-top:24px;padding:16px;display:grid}.contractFormActionArea .inlineSuccess,.contractFormActionArea .inlineError,.groupingEditActionArea .inlineSuccess,.groupingEditActionArea .inlineError{margin:0}.dateField{display:inline-block;position:relative}.dateField input{width:176px;padding-right:34px}.dateField .adminFieldError{width:max-content;max-width:320px}.topGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-top:16px;display:grid}.menuCard{text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;justify-items:center;gap:12px;padding:32px;display:grid;box-shadow:0 1px 2px #0f172a0f}.menuIcon{background:var(--brand-light);width:56px;height:56px;color:var(--brand);border-radius:999px;place-items:center;display:grid}.menuCard:hover{border-color:var(--brand-border);box-shadow:0 4px 10px #0f172a1a}.menuCard:hover .menuIcon{background:var(--brand-selected)}.transferPanel{padding:24px}.transferSearch{align-items:center;gap:12px;margin-bottom:8px;display:flex}.transferSearch select{flex:none;width:176px}.transferSearchButton{flex:none;min-width:96px}.groupingSearchNote,.groupingSearchWarning{font-size:12px;line-height:1.6}.groupingSearchNote{color:#64748b}.groupingSearchWarning{color:#92400e;font-weight:700}.groupingSearchError{margin-top:6px}.transferGrid{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:16px;margin-top:20px;display:grid}.transferColumn{flex-direction:column;min-width:0;display:flex}.transferColumn h3{color:#334155;margin-bottom:8px;font-size:14px}.transferButtons{flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.transferActionButton{min-width:76px;padding:8px 12px}.memberTableBox{border:1px solid #e2e8f0;border-radius:4px;overflow:hidden}.memberTableScroll{max-height:288px;overflow:auto}.memberTableRow{cursor:pointer}.memberSelectionLabel{cursor:pointer;align-items:center;gap:8px;display:flex}.memberSelectionLabel input{flex:none;width:16px;height:16px;margin:0}.memberCurrentGrouping{color:#64748b;margin-top:4px;font-size:11px;font-weight:400;line-height:1.4;display:block}.memberTableRow[data-selected=true] td{background:var(--brand-selected);border-color:var(--brand-border);color:#1e3a5f;font-weight:700}.memberTableRow[data-selected=true] td:first-child{box-shadow:inset 4px 0 0 var(--brand)}.mutedText{color:#64748b;font-size:13px}.loginPage{background:#eef3f7;grid-template-rows:auto minmax(0,1fr);min-height:100vh;display:grid}.loginHeader{background:#fff;border-bottom:1px solid #e1e7ee;align-items:center;min-height:48px;padding:0 24px;display:flex;box-shadow:inset 0 -2px #315b9d}.loginBrand{align-items:center;gap:10px;min-width:0;display:flex}.loginBrandIcon{object-fit:contain;flex:none;width:28px;height:28px}.loginHeader h1{color:#315b9d;font-size:16px;font-weight:700}.loginSurface{background:#eef3f7;place-items:center;min-height:0;padding:48px 24px 36px;display:grid}.loginContent{justify-items:center;gap:28px;width:min(480px,100%);display:grid}.loginPanel{background:#fff;border:1px solid #d8e0ea;border-radius:8px;gap:20px;width:min(400px,100%);padding:38px 54px;display:grid}.loginHeading{text-align:center;gap:14px;display:grid}.loginHeading h2{color:#315b9d;font-size:18px;line-height:1.2}.loginHeading p{color:#5d6b7a;font-size:12px;line-height:1.8}.loginForm{border-top:1px solid #e3e8ee;gap:12px;padding-top:22px;display:grid}.loginForm input{border-color:#d8e0ea;border-radius:2px;min-height:40px;font-size:13px}.loginForm button{color:#fff;background:#315b9d;border:0;border-radius:2px;min-height:44px;font-weight:700}.loginForm button:disabled{color:#777;opacity:1;background:#c9c9c9}.loginForm .loginSecondaryButton{color:#315b9d;background:#fff;border:1px solid #ccd6e0}.loginBackyardNote{color:#6b7280;text-align:center;width:min(520px,100%);font-size:12px;line-height:1.75}.otpPanel{margin-top:2px}.brandMark{color:#17212b;background:#f0b429;border-radius:8px;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.formGrid,.field{gap:10px;display:grid}.buttonRow{gap:10px;display:flex}.groupingRowActions{flex-wrap:nowrap}.groupingRowActions button{white-space:nowrap;min-width:72px}.termsRowActions{flex-wrap:nowrap;justify-content:center}.termsRowActions button{white-space:nowrap}.inlineError{color:#b42318;font-size:13px}.statusBlock{background:#fff;border:1px dashed #b9c6d3;border-radius:8px;align-items:center;gap:10px;margin:16px;padding:16px;display:flex}.statusBlockError{color:#8a1f1f;background:#fff5f5;border-color:#e2aaaa}.modalBackdrop{z-index:50;background:#0f172a75;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border:1px solid #e2e8f0;border-radius:8px;gap:16px;width:min(640px,100%);max-height:min(720px,100vh - 40px);padding:20px;display:grid;box-shadow:0 18px 42px #0f172a3d}.termsPublicationModal{width:min(560px,100%)}.termsPublicationModal .formRow{grid-template-columns:120px minmax(0,1fr)}.sessionExpiredBackdrop{z-index:80;background:#0f172a9e}.sessionExpiredModal{text-align:center;justify-items:center;width:min(420px,100%);padding:28px}.sessionExpiredIcon{color:#b42318;background:#fff1f2;border-radius:999px;place-items:center;width:48px;height:48px;display:inline-grid}.sessionExpiredIcon svg{width:24px;height:24px}.sessionExpiredText{gap:8px;display:grid}.sessionExpiredText h2{color:#1e293b;font-size:20px}.sessionExpiredText p{color:#5d6b7a;line-height:1.7}.groupingContractWarningModal{width:min(480px,100%)}.groupingContractWarningModal h2{color:#1e293b;font-size:20px}.groupingContractWarningModal p{color:#5d6b7a;line-height:1.7}.groupingContractWarningModal .buttonRow{justify-content:flex-end}.groupingChangeModal{width:min(560px,100%)}.groupingChangeModal h2{color:#1e293b;font-size:20px}.groupingChangeModal>p{line-height:1.7}.groupingChangeWarning{color:#92400e;background:#fffbeb;border:1px solid #f5c26b;border-radius:4px;padding:10px 12px}.groupingChangeList{gap:8px;display:grid}.groupingChangeList h3{color:#334155;font-size:14px}.groupingChangeList ul{gap:6px;max-height:160px;margin:0;padding-left:20px;display:grid;overflow:auto}.groupingChangeList li span{color:#64748b;font-size:12px;display:block}.groupingChangeModal .buttonRow{justify-content:flex-end}.spinIcon{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=760px){.topGrid,.transferGrid{grid-template-columns:1fr}.formRow,.resultHeader,.adminHeaderInner{flex-direction:column;align-items:flex-start}.transferSearch{flex-direction:column;align-items:stretch}.transferSearch select,.transferSearchButton{width:100%}.transferButtons{flex-direction:row}}
