:root{--color-text: #0f172a;--color-text-muted: #475569;--color-text-subtle: #64748b;--color-text-hint: #94a3b8;--color-bg: #f3f6fb;--color-bg-card: #ffffff;--color-bg-card-glass: rgba(255, 255, 255, .92);--color-bg-input: #eef2f7;--color-border: #e2e8f0;--color-border-input: #cbd5e1;--color-primary: #1f2937;--color-primary-accent: #0ea5e9;--color-error-bg: #fff1f2;--color-error-border: #fecdd3;--color-error-text: #9f1239;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--radius-sm: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 14px;--radius-2xl: 18px;--radius-full: 999px;--shadow-card: 0 1px 2px rgba(2, 6, 23, .04);--shadow-card-elevated: 0 18px 40px rgba(2, 6, 23, .08);--shadow-btn: 0 10px 18px rgba(2, 6, 23, .16);--shadow-focus: 0 0 0 4px rgba(15, 23, 42, .08);--font-sans: "Noto Sans JP", ui-sans-serif, system-ui, -apple-system, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Meiryo", sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--font-size-xs: 12px;--font-size-sm: 13px;--font-size-base: 14px;--font-size-md: 15px;--font-size-lg: 17px;--font-size-xl: 19px;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--font-weight-black: 900}*,*:before,*:after{box-sizing:border-box}html,body{font-family:var(--font-sans)}body{margin:0;min-height:100vh;font-size:var(--font-size-base);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}#app{min-height:100vh}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}input,select{font-family:inherit;font-size:inherit}.g-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--shadow-card)}.g-card--elevated{border-radius:var(--radius-2xl);padding:var(--space-6) var(--space-6) var(--space-4);box-shadow:var(--shadow-card-elevated);backdrop-filter:blur(10px)}.g-card--glass{background:var(--color-bg-card-glass)}.g-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:none;border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-weight:var(--font-weight-semibold);cursor:pointer;transition:opacity .15s}.g-btn:disabled{opacity:.65;cursor:not-allowed}.g-btn--primary{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-btn)}.g-btn--primary-full{width:100%;border-radius:var(--radius-full);padding:var(--space-3) var(--space-4);font-weight:var(--font-weight-black)}.g-btn--secondary{border:1px solid var(--color-border-input);background:var(--color-bg-card);color:var(--color-text)}.g-field{display:grid;gap:var(--space-1)}.g-field__label{font-size:var(--font-size-xs);color:var(--color-text-hint);font-weight:var(--font-weight-extrabold);letter-spacing:.02em}.g-input-wrap{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;border-radius:var(--radius-lg);background:var(--color-bg-input);box-shadow:inset 0 1px #fff9}.g-input-wrap:focus-within{box-shadow:var(--shadow-focus)}.g-input-wrap .g-input{width:100%;border:0;background:transparent;padding:var(--space-2) var(--space-2);outline:none;font-size:var(--font-size-base);color:var(--color-text)}.g-input-wrap .g-input::placeholder{color:var(--color-text-hint)}.g-msg--error{background:var(--color-error-bg);border:1px solid var(--color-error-border);color:var(--color-error-text);border-radius:var(--radius-lg);padding:var(--space-2) var(--space-3);font-weight:var(--font-weight-extrabold);font-size:var(--font-size-sm)}.g-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.g-icon-stroke{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.g-page-center{min-height:100vh;display:grid;place-items:center;padding:40px var(--space-4)}.g-main{max-width:980px;margin:0 auto;padding:var(--space-5)}.g-main--full{max-width:none;padding:0}.g-view-header{padding:var(--space-3) var(--space-4);background:var(--color-bg-input);border-bottom:1px solid var(--color-border);flex-shrink:0}.g-view-header__title{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--color-text);margin:0}.g-filter-bar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-bg-card);font-size:var(--font-size-xs)}.g-filter-bar__label{color:var(--color-text-muted);font-weight:var(--font-weight-semibold)}.g-filter-bar .g-select,.g-filter-bar .g-input{border:1px solid var(--color-border-input);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);background:var(--color-bg-card);font-size:inherit}.g-filter-bar .g-select:focus,.g-filter-bar .g-input:focus{outline:none;box-shadow:var(--shadow-focus)}.g-table-wrap{overflow:auto;scrollbar-gutter:stable both-edges;overscroll-behavior:contain;border:1px solid var(--color-border);border-radius:var(--radius-lg)}.g-table{width:100%;border-collapse:collapse;text-align:center;table-layout:fixed}table thead th,table thead td{font-size:var(--font-size-md)}table tbody th,table tbody td{font-size:var(--font-size-base)}table tbody td :where(input,select,textarea){font-size:inherit}.g-table th,.g-table td{border:1px solid var(--color-border);padding:var(--space-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.g-table thead th{position:sticky;top:0;z-index:10;backface-visibility:hidden;transform:translateZ(0);background:#1e3a5f;color:#fff;font-weight:var(--font-weight-bold)}.g-table tbody tr:hover{background:var(--color-bg-input)}.g-modal-overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:rgba(0,0,0,.5);backdrop-filter:blur(4px)}.g-modal-panel{background:var(--color-bg-card);border-radius:var(--radius-xl);box-shadow:0 25px 50px -12px #00000040;overflow:hidden;max-height:90vh;display:flex;flex-direction:column}.g-modal-panel__header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.g-modal-panel__body{flex:1;overflow:auto;padding:var(--space-5)}.g-modal-panel__footer{padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border);flex-shrink:0}.g-btn--primary-orange{background:#de6666;border-color:#de6666;color:#fff;font-weight:var(--font-weight-bold);padding:var(--space-2) var(--space-6);border-radius:var(--radius-sm);cursor:pointer;transition:opacity .15s}.g-btn--primary-orange:disabled{background:var(--color-border-input);cursor:not-allowed}.g-btn--primary-orange:hover:not(:disabled){background:#ce5555;border:#ce5555}.top-message[data-v-4b0bc1b8]{position:fixed;bottom:12px;right:12px;z-index:1000;min-width:320px;max-width:min(520px,calc(100vw - 24px));padding:12px 14px;border-radius:12px;border:1px solid;box-shadow:0 10px 25px #0f172a2e}.top-message--error[data-v-4b0bc1b8]{background:#fee2e2;border-color:#fecaca;color:#991b1b}.top-message--warning[data-v-4b0bc1b8]{background:#fef9c3;border-color:#fde047;color:#854d0e}.top-message__body[data-v-4b0bc1b8]{display:flex;flex-direction:column;gap:4px}.top-message__title[data-v-4b0bc1b8]{font-weight:800;font-size:15px}.top-message__text[data-v-4b0bc1b8]{font-weight:600;font-size:14px;opacity:.95;word-break:break-word}.app[data-v-af30cbe0]{min-height:100vh;background:var(--color-bg)}.logout-confirm-modal[data-v-31d92491]{z-index:120}.logout-confirm-modal__panel[data-v-31d92491]{width:460px;max-width:95vw;background:#ffffff;border-radius:18px;box-shadow:0 25px 50px -12px #00000040;overflow:hidden;display:flex;flex-direction:column}.logout-confirm-modal__body[data-v-31d92491]{padding:36px 32px 28px;text-align:center}.logout-confirm-modal__icon[data-v-31d92491]{width:64px;height:64px;margin:0 auto 20px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#ffe9d6;color:#f97316}.logout-confirm-modal__icon svg[data-v-31d92491]{width:32px;height:32px}.logout-confirm-modal__title[data-v-31d92491]{font-size:20px;font-weight:700;color:#0f172a;margin:0;line-height:1.4}.logout-confirm-modal__message[data-v-31d92491]{margin:10px 0 0;color:#94a3b8;font-size:14px;line-height:1.6}.logout-confirm-modal__actions[data-v-31d92491]{display:flex;align-items:center;gap:16px;padding:16px 24px 24px;background:#f8fafc}.logout-confirm-modal__btn[data-v-31d92491]{flex:1;height:48px;border-radius:12px;font-size:16px;font-weight:700;border:none;cursor:pointer;transition:background .15s,transform .1s}.logout-confirm-modal__btn--no[data-v-31d92491]{color:#64748b;background:transparent}.logout-confirm-modal__btn--no[data-v-31d92491]:hover{background:#eef2f7}.logout-confirm-modal__btn--yes[data-v-31d92491]{color:#fff;background:#de6666;box-shadow:var(--shadow-btn)}.logout-confirm-modal__btn--yes[data-v-31d92491]:hover{background:#ce5555}.logout-confirm-modal__btn--yes[data-v-31d92491]:active{transform:translateY(1px)}.icon-svg[data-v-2c662532],.icon-svg[data-v-91e1fb5a]{display:block;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.icon-svg[data-v-7235518c],.icon-svg[data-v-949c8b4c],.icon-svg[data-v-f74f8fb0]{display:block;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.user-avatar[data-v-2f7a49de]{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;vertical-align:middle;border-radius:50%;overflow:hidden}.user-avatar__svg[data-v-2f7a49de]{width:100%;height:100%;display:block}.icon-svg[data-v-2932f7fe]{display:block}.login-logo[data-v-70159e04]{width:56px;height:56px;border-radius:var(--radius-2xl);background:#2d333d;margin:0 auto var(--space-3);position:relative;display:flex;align-items:center;justify-content:center;box-shadow:0 16px 30px #0206172e}.login-logo__eye[data-v-70159e04]{transform:translateY(.5px) scale(1.25);color:#fff}.login-logo--compact[data-v-70159e04]{width:28px;height:28px;margin:0;background:transparent;position:relative;display:flex;align-items:center;justify-content:center;box-shadow:none}.login-logo__logout-icon[data-v-70159e04]{width:100%;height:100%;display:block;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.app-sidebar[data-v-806544de]{width:224px;min-width:224px;background:#2d333d;color:#fff;display:flex;flex-direction:column;overflow:visible;transition:width .22s ease,min-width .22s ease;position:relative;z-index:20}.app-sidebar--collapsed[data-v-806544de]{width:64px;min-width:64px;overflow:hidden}.app-sidebar__user[data-v-806544de]{min-height:56px;padding:var(--space-3) var(--space-2);display:flex;align-items:flex-start;gap:var(--space-2);border-bottom:1px solid rgba(148,163,184,.2);flex-shrink:0}.app-sidebar--collapsed .app-sidebar__user[data-v-806544de]{flex-direction:column;height:auto;min-height:56px;padding:var(--space-2);gap:var(--space-2)}.app-sidebar__avatar[data-v-806544de]{flex-shrink:0}.app-sidebar__user-info[data-v-806544de]{display:flex;flex-direction:column;min-width:0;flex:1}.app-sidebar--collapsed .app-sidebar__user-info[data-v-806544de]{display:none}.app-sidebar__user-name[data-v-806544de]{font-size:15px;font-weight:var(--font-weight-bold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-sidebar__role-text[data-v-806544de]{margin-top:2px;font-size:15px;line-height:1.3;color:#cbd5e1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-sidebar__collapse-btn[data-v-806544de]{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;border-radius:8px;background:rgba(255,255,255,.08);color:#cbd5e1;cursor:pointer;transition:background .15s,color .15s}.app-sidebar--collapsed .app-sidebar__collapse-btn[data-v-806544de]{margin-top:0}.app-sidebar__collapse-btn[data-v-806544de]:hover{background:rgba(255,255,255,.14);color:#fff}.app-sidebar__collapse-icon[data-v-806544de]{width:18px;height:18px;transition:transform .22s ease}.app-sidebar__collapse-icon--open[data-v-806544de]{transform:rotate(180deg)}.app-sidebar__nav[data-v-806544de]{flex:1;padding:var(--space-2) 0;overflow-y:auto;overflow-x:hidden}.app-sidebar__item[data-v-806544de]{width:100%;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);font-size:17px;color:#94a3b8;background:transparent;border:none;cursor:pointer;text-align:left;transition:color .2s,background .2s}.app-sidebar--collapsed .app-sidebar__item[data-v-806544de]{justify-content:center;padding:var(--space-3) var(--space-2);gap:0}.app-sidebar__item[data-v-806544de]:hover{background:#1e293b;color:#fff}.app-sidebar__item--active[data-v-806544de]{background:rgba(59,130,246,.25);color:#93c5fd;border-right:2px solid #60a5fa}.app-sidebar--collapsed .app-sidebar__item--active[data-v-806544de]{border-right:none;border-left:3px solid #60a5fa}.app-sidebar__item--parent[data-v-806544de]{justify-content:flex-start}.app-sidebar--collapsed .app-sidebar__item--parent[data-v-806544de]{justify-content:center}.app-sidebar__item-icon[data-v-806544de]{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.app-sidebar__item-label[data-v-806544de]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-sidebar__item-label--grow[data-v-806544de]{flex:1;min-width:0}.app-sidebar--collapsed .app-sidebar__item-label[data-v-806544de]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-sidebar__chevron[data-v-806544de]{display:flex;align-items:center;justify-content:center;color:#64748b;flex-shrink:0}.app-sidebar__sub[data-v-806544de]{background:rgba(0,0,0,.2);padding:var(--space-1) 0}.app-sidebar__sub-item[data-v-806544de]{display:block;width:100%;padding:var(--space-3) var(--space-4) var(--space-3) 3rem;font-size:15px;color:#94a3b8;text-decoration:none;transition:color .2s,background .2s}.app-sidebar__sub-item[data-v-806544de]:hover{color:#fff;background:rgba(255,255,255,.05)}.app-sidebar__sub-item--active[data-v-806544de]{color:#93c5fd;font-weight:var(--font-weight-semibold)}.app-sidebar__footer[data-v-806544de]{padding:var(--space-4);border-top:1px solid rgba(148,163,184,.2);flex-shrink:0}.app-sidebar--collapsed .app-sidebar__footer[data-v-806544de]{padding:var(--space-2)}.app-sidebar__logout[data-v-806544de]{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) 0;font-size:15px;color:#94a3b8;background:none;border:none;cursor:pointer;text-align:left;justify-content:flex-start}.app-sidebar--collapsed .app-sidebar__logout[data-v-806544de]{justify-content:center;padding:var(--space-2)}.app-sidebar__logout[data-v-806544de]:hover{color:#fff}.app-sidebar__logout-label[data-v-806544de]{white-space:nowrap}.app-sidebar--collapsed .app-sidebar__logout-label[data-v-806544de]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.app-sidebar__flyout-root{position:fixed;inset:0;z-index:100;pointer-events:none}.app-sidebar__flyout-backdrop{position:fixed;inset:0;z-index:101;background:transparent;pointer-events:auto}.app-sidebar__flyout{position:fixed;z-index:102;pointer-events:auto;min-width:200px;max-width:280px;padding:var(--space-2) 0;background:#2d333d;border:1px solid rgba(148,163,184,.25);border-radius:10px;box-shadow:0 12px 40px #00000059}.app-sidebar__flyout-title{padding:var(--space-2) var(--space-4) var(--space-3);font-size:14px;font-weight:var(--font-weight-bold);color:#64748b;text-transform:uppercase;letter-spacing:.04em}.app-sidebar__flyout-item{display:block;padding:var(--space-3) var(--space-4);font-size:15px;color:#cbd5e1;text-decoration:none;transition:background .15s,color .15s}.app-sidebar__flyout-item:hover{background:rgba(255,255,255,.06);color:#fff}.app-sidebar__flyout-item--active{color:#93c5fd;font-weight:var(--font-weight-semibold);background:rgba(59,130,246,.15)}.app-sidebar__flyout-item--muted{color:#64748b;cursor:default}.app-header[data-v-66f58a77]{height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-6);background:#2d333d;color:#fff;flex-shrink:0;box-shadow:0 1px 3px #0003;z-index:10}.app-header__left[data-v-66f58a77],.app-header__right[data-v-66f58a77]{display:flex;align-items:center;gap:var(--space-4)}.app-header__title[data-v-66f58a77]{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin:0;letter-spacing:.02em}.app-header__btn[data-v-66f58a77]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:#94a3b8;background:transparent;border:0;cursor:pointer}.app-header__btn[data-v-66f58a77]:hover{color:#fff;background:#475569}.main-layout[data-v-fe7f46f0]{display:flex;height:100vh;background:#f0f2f5;color:var(--color-text);overflow:hidden}.main-layout__main[data-v-fe7f46f0]{flex:1;display:flex;flex-direction:column;min-width:0;overflow:visible}.main-layout__content[data-v-fe7f46f0]{flex:1;min-height:0;display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto}
