:root{--color-bg: #f4f6f8;--color-surface: #ffffff;--color-surface-subtle: #f8fafc;--color-border: #d8dee7;--color-border-strong: #b8c1cf;--color-text: #1f2937;--color-text-muted: #667085;--color-brand-primary: #1f7a8c;--color-brand-primary-hover: #16616f;--color-brand-primary-soft: #e6f3f6;--color-brand-secondary: #253244;--color-brand-secondary-hover: #324154;--color-brand-accent: #f6c453;--color-brand-accent-soft: #fff7df;--color-primary: var(--color-brand-primary);--color-primary-hover: var(--color-brand-primary-hover);--color-primary-soft: var(--color-brand-primary-soft);--color-accent: var(--color-brand-accent);--color-accent-soft: var(--color-brand-accent-soft);--color-danger: #dc2626;--color-danger-hover: #b91c1c;--color-success: #15803d;--color-warning: #8a5a00;--color-nav: var(--color-brand-secondary);--color-nav-hover: var(--color-brand-secondary-hover);--color-nav-active: var(--color-brand-primary-soft);--shadow-sm: 0 1px 2px rgba(16, 24, 40, .06);--shadow-md: 0 12px 24px rgba(16, 24, 40, .08);--radius-sm: 6px;--radius-md: 8px}*{box-sizing:border-box}html,body{margin:0;min-width:320px;height:100%;background:var(--color-bg);color:var(--color-text);font-family:Meiryo,メイリオ,Hiragino Sans,Yu Gothic,system-ui,sans-serif}body{overflow:hidden}#app{width:100%;height:100vh;height:100dvh;min-height:100vh}a{color:inherit;text-decoration:none}a:hover,.router-link-exact-active{text-decoration:none}.app-toaster{font-family:inherit}[data-sonner-toaster]{--width: min(360px, calc(100vw - 32px) );position:fixed;width:var(--width);padding:0;margin:0;list-style:none;outline:none;box-sizing:border-box;z-index:999999999}[data-sonner-toaster][data-x-position=right]{right:max(var(--offset, 16px),env(safe-area-inset-right))}[data-sonner-toaster][data-x-position=left]{left:max(var(--offset, 16px),env(safe-area-inset-left))}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translate(-50%)}[data-sonner-toaster][data-y-position=top]{top:max(var(--offset, 16px),env(safe-area-inset-top))}[data-sonner-toaster][data-y-position=bottom]{bottom:max(var(--offset, 16px),env(safe-area-inset-bottom))}[data-sonner-toast]{box-sizing:border-box}[data-sonner-toast][data-styled=true]{border-radius:var(--radius-sm);box-shadow:0 16px 40px #0f172a29;font-family:inherit}[data-sonner-toast] [data-title]{font-size:13px;font-weight:800;letter-spacing:0}[data-sonner-toast] [data-description]{font-size:12px;line-height:1.5}@media(max-width:600px){[data-sonner-toaster]{--mobile-offset: 16px;right:var(--mobile-offset);left:var(--mobile-offset);width:calc(100% - var(--mobile-offset) * 2)}[data-sonner-toaster][data-x-position=center]{transform:none}}.toast-live-region{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:8px 14px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:14px;font-weight:700;line-height:1.2;outline:none;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease,transform .16s ease}.button:hover:not(:disabled){border-color:var(--color-border-strong);background:var(--color-surface-subtle);box-shadow:var(--shadow-sm)}.button:active:not(:disabled){transform:translateY(1px);box-shadow:none}.button:focus-visible{box-shadow:0 0 0 3px #2563eb2e}.button:disabled{opacity:.56;cursor:not-allowed;box-shadow:none}.button-primary{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.button-primary:hover:not(:disabled){border-color:var(--color-primary-hover);background:var(--color-primary-hover)}.button-danger{border-color:var(--color-danger);background:var(--color-danger);color:#fff}.button-danger:hover:not(:disabled){border-color:var(--color-danger-hover);background:var(--color-danger-hover)}.button-success{border-color:#bbf7d0;background:#f0fdf4;color:var(--color-success)}.button-secondary{border-color:var(--color-border);background:#eef2f7;color:#344054}.button-warning{border-color:#fde68a;background:#fffbeb;color:var(--color-warning)}.button-info{border-color:#b7dfe6;background:var(--color-primary-soft);color:var(--color-primary-hover)}.button-light{border-color:var(--color-border);background:var(--color-surface);color:var(--color-text)}.button-dark{border-color:#111827;background:#111827;color:#fff}.readonly-chip{display:inline-flex;align-items:center;min-height:26px;padding:4px 10px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface-subtle);color:var(--color-text-muted);font-size:12px;font-weight:800;white-space:nowrap}.form-control{max-width:100%;min-height:40px;padding:8px 10px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:inherit;transition:border-color .16s ease,box-shadow .16s ease;margin:0}.form-control:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #2563eb24}.form-label{margin-bottom:5px;font-weight:700;font-size:14px;display:inline-block;color:var(--color-text)}.form-control:not([type=checkbox]):not(textarea):not(select){width:min(200px,100%)}.input-text{background-color:var(--color-surface);color:var(--color-text)}input:disabled{background-color:#eef2f7;cursor:not-allowed}.textarea{background-color:var(--color-surface);color:var(--color-text);height:100px;resize:vertical}.select{background-color:var(--color-surface);color:var(--color-text);width:min(245px,100%)}.radio,.checkbox{margin-right:10px}.boxed-section{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:20px;margin-bottom:20px;box-shadow:var(--shadow-sm)}.table-container{max-height:600px;overflow:auto;margin-top:20px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid var(--color-border);padding:10px 12px;text-align:left}th{font-weight:700;color:#344054;background-color:#eef2f7;position:sticky;top:0;z-index:1}tr:nth-child(2n){background-color:var(--color-surface-subtle)}.hr{border:0;border-top:1px solid var(--color-border);margin:20px 0}.section-title{width:fit-content;display:inline-block;font-size:1.2rem;background:linear-gradient(to right,#365fc7,#5c85e0);color:#fff;padding:2px 8px;border-radius:4px}.pop-table{width:80%;border-collapse:collapse;margin-top:20px}.pop-form-container{display:flex;flex-direction:column;gap:1rem}.pop-form-group{align-items:flex-start;display:flex;gap:100px}.pop-form-label{margin-right:1rem;padding-top:.5rem}.pop-form-control{flex:1;width:100%}.pop-font-heading{font-weight:700}.pop-font-item{display:flex;gap:15px}.pop-work-details{width:70%;border-collapse:collapse;margin-top:20px}.app-shell{display:flex;flex-direction:column;height:100vh;height:100dvh;min-height:100vh;overflow:hidden;background:var(--color-bg)}.app-header{flex:0 0 auto;display:flex;align-items:stretch;border-bottom:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm)}.header-container{flex:1 1 auto;display:flex;align-items:center;min-height:64px;min-width:0;padding:0 10px;gap:18px}.app-nav-toggle{flex:0 0 auto;align-self:center;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;margin-left:10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);cursor:pointer}.app-nav-toggle:hover,.app-nav-toggle:focus-visible{outline:none;border-color:var(--color-border-strong);background:var(--color-surface-subtle)}.app-nav-toggle-icon{width:22px;height:22px}.app-nav-backdrop{display:none}.blank-layout{height:100vh;height:100dvh;overflow-y:auto;-webkit-overflow-scrolling:touch}.view-mode-switch{margin-left:auto;display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-subtle)}.view-mode-button{min-width:58px;min-height:32px;padding:6px 10px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);cursor:pointer;font:inherit;font-size:13px;font-weight:800;line-height:1.2}.view-mode-button:hover,.view-mode-button:focus-visible{outline:none;background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm)}.view-mode-button.is-active{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm)}.view-mode-button.is-pending{cursor:progress}.view-mode-button:disabled{cursor:not-allowed;opacity:.55}.tenant-header{flex:0 1 170px;display:flex;align-items:center;gap:8px;width:min(170px,100%);min-width:0}.tenant-header-current{flex:1 1 auto;min-width:0;display:grid;gap:2px}.tenant-header-label{color:var(--color-text-muted);font-size:11px;font-weight:700;line-height:1}.tenant-header-current strong{overflow:hidden;color:var(--color-text);font-size:18px;font-weight:800;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.tenant-switch-button{flex:0 0 36px;width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}.tenant-switch-button:hover,.tenant-switch-button[aria-expanded=true]{border-color:var(--color-border-strong);background:var(--color-surface-subtle);color:var(--color-text)}.tenant-switch-button:focus-visible{outline:none;box-shadow:0 0 0 3px #2563eb2e}.tenant-switch-icon{width:20px;height:20px;stroke-width:2.2}.tenant-switch-popover{position:fixed;left:12px;top:70px;z-index:70;width:min(220px,calc(100vw - 24px));max-height:min(360px,calc(100vh - 88px));padding:6px;overflow-y:auto;display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-md)}.tenant-switch-option{width:100%;min-height:42px;padding:9px 10px;display:flex;align-items:center;gap:3px;border:0;border-left:3px solid transparent;border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);cursor:pointer;text-align:left}.tenant-switch-option:hover,.tenant-switch-option:focus-visible{outline:none;background:var(--color-surface-subtle)}.tenant-switch-option.is-selected{border-left-color:var(--color-primary);background:#eff6ff}.tenant-option-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tenant-option-name{font-size:14px;font-weight:800}.tenant-switch-divider{height:1px;margin:6px 4px;background:var(--color-border)}.tenant-create-menu-button{width:100%;min-height:42px;padding:9px 10px;display:flex;align-items:center;gap:8px;border:0;border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-primary);cursor:pointer;font:inherit;font-size:14px;font-weight:800;text-align:left}.tenant-create-menu-button:hover,.tenant-create-menu-button:focus-visible{outline:none;background:#eff6ff}.tenant-create-icon{position:relative;flex:0 0 18px;width:18px;height:18px;border:1px solid currentColor;border-radius:50%}.tenant-create-icon:before,.tenant-create-icon:after{position:absolute;inset:50% auto auto 50%;width:9px;height:2px;background:currentColor;border-radius:999px;content:"";transform:translate(-50%,-50%)}.tenant-create-icon:after{transform:translate(-50%,-50%) rotate(90deg)}.shortcut-help-backdrop{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;padding:24px;background:#0f172a6b}.shortcut-help-modal{width:min(640px,100%);max-height:min(560px,calc(100vh - 48px));overflow:hidden auto;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-md)}.shortcut-help-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:20px 22px 16px;border-bottom:1px solid var(--color-border)}.shortcut-help-eyebrow,.shortcut-help-header h2{margin:0}.shortcut-help-eyebrow{margin-bottom:4px;color:var(--color-primary);font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}.shortcut-help-header h2{color:var(--color-text);font-size:20px;line-height:1.35}.shortcut-help-close{width:32px;height:32px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;font-size:22px;line-height:1}.shortcut-help-close:hover,.shortcut-help-close:focus-visible{outline:none;background:var(--color-surface-subtle);color:var(--color-text)}.shortcut-help-list{display:grid;gap:0;margin:0;padding:8px 22px 22px}.shortcut-help-row{display:grid;grid-template-columns:minmax(330px,1.25fr) minmax(180px,1fr);align-items:center;gap:20px;padding:14px 0;border-bottom:1px solid var(--color-border)}.shortcut-help-row:last-child{border-bottom:0}.shortcut-help-row dt,.shortcut-help-row dd{margin:0}.shortcut-help-row dd{color:var(--color-text);font-size:14px;font-weight:700;line-height:1.5}.shortcut-key-group{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;white-space:nowrap}.shortcut-key-group kbd{min-width:28px;min-height:28px;padding:5px 8px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-border);border-bottom-color:var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface-subtle);color:var(--color-text);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;font-weight:800;line-height:1;box-shadow:inset 0 -1px #0f172a14}.shortcut-key-separator{color:var(--color-text-muted);font-size:12px;font-weight:800}.tenant-create-backdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;background:#0f172a7a}.tenant-create-modal{width:min(520px,100%);max-height:min(640px,calc(100vh - 48px));overflow:hidden auto;border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-md)}.tenant-create-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:20px 22px 16px;border-bottom:1px solid var(--color-border)}.tenant-create-modal-eyebrow,.tenant-create-modal-header h2{margin:0}.tenant-create-modal-eyebrow{margin-bottom:4px;color:var(--color-primary);font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}.tenant-create-modal-header h2{color:var(--color-text);font-size:20px;line-height:1.35}.tenant-create-modal-close{width:32px;height:32px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;font-size:22px;line-height:1}.tenant-create-modal-close:hover,.tenant-create-modal-close:focus-visible{outline:none;background:var(--color-surface-subtle);color:var(--color-text)}.tenant-create-form{display:grid;gap:16px;padding:20px 22px 22px}.tenant-create-field{display:grid;gap:8px}.tenant-create-field label{color:var(--color-text);font-size:14px;font-weight:700}.tenant-create-field .form-control:not([type=checkbox]):not(textarea):not(select),.tenant-create-field select.form-control{width:100%}.tenant-create-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:2px}.app-body{display:flex;flex:1 1 auto;min-height:0;overflow:hidden}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#f4f6f87a;color:var(--color-text);display:flex;justify-content:center;align-items:center;z-index:9999;cursor:wait}.main-content{flex:1 1 auto;min-width:0;overflow-y:auto;background:var(--color-bg)}.main-content-inner{width:100%;max-width:none;height:100%;min-height:0;padding:24px}.main-content-inner.is-normal-mode{max-width:none;padding:18px 20px 18px 16px}.main-content-inner.is-admin-mode{padding:0}.app-boot{display:grid;place-items:center;height:100vh;background:var(--color-bg)}.app-boot-panel{display:grid;place-items:center;width:56px;height:56px}.app-boot-spinner{width:36px;height:36px;border:4px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:app-boot-spin .8s linear infinite}@keyframes app-boot-spin{to{transform:rotate(360deg)}}@media(max-width:760px){.header-container{min-height:56px;padding:0 12px;gap:10px}.tenant-header{max-width:calc(100vw - 24px)}.tenant-header-label{font-size:10px}.tenant-header-current strong{max-width:calc(100vw - 98px);font-size:16px}.tenant-switch-popover{left:8px;top:auto;bottom:12px}.tenant-create-backdrop,.shortcut-help-backdrop{padding:16px}.shortcut-help-modal{max-height:calc(100vh - 32px)}.shortcut-help-header,.shortcut-help-list{padding-inline:18px}.shortcut-help-row{grid-template-columns:1fr;gap:8px}.shortcut-key-group{flex-wrap:wrap;white-space:normal}.tenant-create-modal{max-height:calc(100vh - 32px)}.tenant-create-modal-header,.tenant-create-form{padding-inline:18px}.tenant-create-actions{flex-direction:column-reverse}.tenant-create-actions .button{width:100%}.main-content-inner{padding:16px}.main-content-inner.is-normal-mode{padding:12px}}@media(max-width:620px){.header-container{display:grid;grid-template-columns:minmax(0,1fr) auto;padding-block:8px}.tenant-header{width:min(170px,100%)}.tenant-header-current strong{max-width:none}.view-mode-switch{margin-left:0}}@media(max-width:480px){.header-container{grid-template-columns:1fr;align-items:stretch}.view-mode-switch{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.view-mode-button{width:100%;min-width:0}.main-content-inner,.main-content-inner.is-normal-mode{padding:10px}}@media(max-width:640px){.app-nav-toggle{margin-left:8px}.app-nav-backdrop{display:block;position:fixed;inset:0;z-index:190;background:#0f172a73}}
