*{margin:0;padding:0;box-sizing:border-box}.app{min-height:100vh;background:#f5f5f5;font-family:var(--font-sans, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);display:flex}.app.no-layout{background:transparent;display:block}.sidebar{width:240px;min-height:100vh;background:#fff;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;position:sticky;top:0;flex-shrink:0}.sidebar-brand{padding:1.25rem 1.5rem;border-bottom:1px solid #f3f4f6;display:flex;align-items:baseline;gap:.4rem}.sidebar-brand h1{font-size:1.25rem;color:#111;font-weight:700;letter-spacing:-.01em}.brand-suffix{font-size:.75rem;color:#6b7280;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.sidebar-nav{flex:1;padding:.75rem .5rem;overflow-y:auto}.nav-group{margin-bottom:1rem}.nav-group:last-child{margin-bottom:0}.nav-group-title{padding:.5rem .75rem .25rem;font-size:.6875rem;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.06em}.nav-link{display:block;padding:.5rem .75rem;border-radius:6px;font-size:.875rem;font-weight:500;color:#374151;text-decoration:none;transition:background .15s,color .15s;margin-bottom:2px}.nav-link:hover{background:#f3f4f6}.nav-link.is-active{background:#eff6ff;color:#2563eb}[data-env=dev] .sidebar{background:var(--env-dev-bg);border-right:2px solid var(--env-dev-accent)}[data-env=dev] .sidebar-brand{border-bottom-color:var(--env-dev-border)}[data-env=dev] .sidebar-brand:after{content:"DEV";margin-left:auto;padding:2px 7px;border-radius:6px;background:var(--env-dev-accent);color:#fff;font-size:.625rem;font-weight:700;letter-spacing:.08em;align-self:center}.sidebar-footer{padding:1rem;border-top:1px solid #f3f4f6;display:flex;flex-direction:column;gap:.625rem}.user-info{display:flex;flex-direction:column;gap:2px}.user-name{font-size:.875rem;font-weight:600;color:#111}.user-role{font-size:.6875rem;color:#6b7280;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.btn-logout{padding:.45rem .75rem;background:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:6px;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-logout:hover{background:#e5e7eb;border-color:#9ca3af}.main-content{flex:1;min-width:0;padding:2rem;max-width:1400px}:root{--primary-50: #EEF6FF;--primary-100: #DAEAFF;--primary-200: #B1D5FF;--primary-300: #7EBFFF;--primary-400: #4BA8FF;--primary-500: #1B73C9;--primary-600: #0D5499;--primary-700: #0A4380;--primary-800: #072B52;--primary-900: #031730;--secondary-50: #FAF3E8;--secondary-100: #F4E5CC;--secondary-200: #E9CB99;--secondary-300: #DEB166;--secondary-400: #C99A5C;--secondary-500: #A87F47;--secondary-600: #7E5F35;--secondary-700: #5C452A;--secondary-800: #3A2C1A;--secondary-900: #2A2011;--success-50: #E8F1ED;--success-100: #D1E4DA;--success-200: #A3C9B5;--success-300: #75AE90;--success-400: #5B9B7F;--success-500: #3F6E55;--success-600: #2D5340;--success-700: #1F3B2E;--warning-50: #FAF1DC;--warning-100: #F4E0AE;--warning-200: #E9C26C;--warning-300: #D4A055;--warning-400: #A87F37;--warning-500: #7D5E28;--warning-600: #5F471E;--error-50: #F8E8E2;--error-100: #EFCFC2;--error-200: #DEA084;--error-300: #CC8266;--error-400: #B5634A;--error-500: #9A4F38;--error-600: #7E3F2C;--info-100: #D1E1E9;--info-400: #4A8AA8;--info-500: #3A6E87;--env-dev-accent: #7C3AED;--env-dev-bg: #F5F3FF;--env-dev-border: #C4B5FD;--env-dev-text: #5B21B6;--neutral-0: #FFFFFF;--neutral-50: #FAF7F2;--neutral-100: #F2EEE6;--neutral-200: #E5DFD3;--neutral-300: #C9C0AE;--neutral-400: #8F8676;--neutral-500: #787064;--neutral-600: #5E5648;--neutral-700: #3F3A30;--neutral-800: #2A2620;--neutral-900: #1A1812;--color-bg-canvas: var(--neutral-50);--color-bg-surface: var(--neutral-100);--color-bg-elevated: var(--neutral-0);--color-bg-inverse: var(--neutral-800);--color-bg-overlay: rgba(42, 38, 32, .5);--color-text-primary: var(--neutral-800);--color-text-secondary: var(--neutral-600);--color-text-tertiary: var(--neutral-500);--color-text-disabled: var(--neutral-400);--color-text-on-primary: var(--neutral-0);--color-text-on-inverse: var(--neutral-50);--color-text-link: var(--primary-600);--color-text-link-hover: var(--primary-700);--color-border-subtle: var(--neutral-200);--color-border-default: var(--neutral-300);--color-border-strong: var(--neutral-400);--color-border-focus: var(--primary-500);--color-border-error: var(--error-500);--color-brand-primary: var(--primary-400);--color-brand-primary-functional: var(--primary-600);--color-brand-secondary: var(--secondary-400);--color-status-success: var(--success-500);--color-status-warning: var(--warning-500);--color-status-error: var(--error-500);--color-status-info: var(--info-500);--color-status-success-bg: var(--success-100);--color-status-warning-bg: var(--warning-100);--color-status-error-bg: var(--error-100);--color-status-info-bg: var(--info-100);--font-family-base: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Noto Sans KR", "Helvetica Neue", "Segoe UI", sans-serif;--font-family-mono: "JetBrains Mono", "SF Mono", Consolas, monospace;--font-sans: var(--font-family-base);--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--letter-spacing-tight: -.02em;--letter-spacing-normal: 0;--letter-spacing-wide: .02em;--letter-spacing-button: .01em;--font-caregiver-display: 700 32px/40px var(--font-family-base);--font-caregiver-h1: 700 24px/32px var(--font-family-base);--font-caregiver-h2: 600 20px/28px var(--font-family-base);--font-caregiver-h3: 600 18px/26px var(--font-family-base);--font-caregiver-body: 400 16px/24px var(--font-family-base);--font-caregiver-body-sm: 400 14px/20px var(--font-family-base);--font-caregiver-button: 600 16px/24px var(--font-family-base);--font-caregiver-caption: 500 12px/16px var(--font-family-base);--font-elderly-display: 700 36px/44px var(--font-family-base);--font-elderly-h1: 700 28px/36px var(--font-family-base);--font-elderly-h2: 600 24px/32px var(--font-family-base);--font-elderly-body-lg: 400 22px/32px var(--font-family-base);--font-elderly-body: 400 20px/28px var(--font-family-base);--font-elderly-button: 600 22px/28px var(--font-family-base);--font-elderly-caption: 400 18px/26px var(--font-family-base);--font-size-sm: .875rem;--font-size-base: 1rem;--space-0: 0;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--space-24: 96px;--spacing-2: var(--space-2);--spacing-3: var(--space-3);--spacing-4: var(--space-4);--spacing-6: var(--space-6);--radius-none: 0;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--radius-3xl: 32px;--radius-full: 9999px;--shadow-none: none;--shadow-xs: 0 1px 2px rgba(42,38,32,.06);--shadow-sm: 0 2px 4px rgba(42,38,32,.08), 0 1px 2px rgba(42,38,32,.04);--shadow-md: 0 4px 8px rgba(42,38,32,.1), 0 2px 4px rgba(42,38,32,.06);--shadow-lg: 0 8px 16px rgba(42,38,32,.12), 0 4px 8px rgba(42,38,32,.08);--shadow-xl: 0 16px 32px rgba(42,38,32,.16), 0 8px 16px rgba(42,38,32,.1);--shadow-focus: 0 0 0 4px rgba(75,168,255,.35);--duration-instant: 0ms;--duration-fast: .15s;--duration-medium: .25s;--duration-slow: .35s;--duration-deliberate: .5s;--ease-out: cubic-bezier(0,0,.2,1);--ease-in-out: cubic-bezier(.4,0,.2,1);--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 300;--z-modal: 400;--z-popover: 500;--z-toast: 600;--z-tooltip: 700;--z-skip-link: 999;--color-primary: var(--primary-600);--color-primary-dark: var(--primary-700);--color-success: var(--success-500);--color-error: var(--error-500)}.caregiver-mode,.care-staff-mode{--mode-page-padding: var(--space-4);--mode-stack-gap: var(--space-3);--mode-section-gap: var(--space-8);--mode-default-radius: var(--radius-lg);--mode-default-duration: var(--duration-medium);--mode-default-ease: var(--ease-out);--mode-action-primary-bg: var(--primary-600);--mode-action-primary-bg-pressed: var(--primary-700)}*{box-sizing:border-box}.button[data-v-207464ed]{display:inline-flex;align-items:center;justify-content:center;font-weight:500;border-radius:var(--radius-md);cursor:pointer;border:none;font-family:var(--font-sans);transition:all .2s}.button--primary[data-v-207464ed]{background-color:var(--color-primary);color:#fff}.button--primary[data-v-207464ed]:hover:not(:disabled){background-color:var(--color-primary-dark)}.button--secondary[data-v-207464ed]{background-color:transparent;color:var(--color-primary);border:1px solid var(--color-primary)}.button--sm[data-v-207464ed]{padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-sm)}.button--md[data-v-207464ed]{padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-base)}.button--lg[data-v-207464ed]{padding:var(--spacing-4) var(--spacing-6)}.button[data-v-207464ed]:disabled{opacity:.5;cursor:not-allowed}.row-action-menu[data-v-5632b245]{position:relative;display:inline-flex;align-items:center}.row-action-menu__trigger[data-v-5632b245]{width:28px;height:28px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;color:var(--neutral-500);border:1px solid transparent;background:transparent;cursor:pointer;transition:background var(--duration-fast, .15s) var(--ease-out, ease-out)}.row-action-menu__trigger[data-v-5632b245]:hover{background:var(--neutral-100);color:var(--neutral-800)}.row-action-menu__trigger[data-v-5632b245]:focus-visible{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px #4ba8ff38}.row-action-menu__pop{z-index:var(--z-popover, 500);min-width:180px;margin:0;padding:4px;list-style:none;background:var(--neutral-0);border:1px solid var(--neutral-200);border-radius:var(--radius-md);box-shadow:0 8px 16px #2a26201f,0 4px 8px #2a262014}.row-action-menu__item{display:flex;align-items:center;gap:8px;width:100%;height:36px;padding:0 12px;border:none;background:transparent;border-radius:6px;font:500 13px/18px var(--font-family-base);color:var(--neutral-700);cursor:pointer;text-align:left;white-space:nowrap}.row-action-menu__item:hover:not(:disabled){background:var(--neutral-50);color:var(--neutral-800)}.row-action-menu__item:disabled{color:var(--neutral-400);cursor:not-allowed}.row-action-menu__item--danger{color:var(--error-500)}.row-action-menu__item--danger:hover:not(:disabled){background:var(--error-50);color:var(--error-600)}.portal-topbar[data-v-83c91581]{height:64px;padding:0 var(--space-8);background:var(--color-bg-elevated);border-bottom:1px solid var(--color-border-subtle);display:flex;align-items:center;gap:var(--space-4);flex-shrink:0}.portal-topbar__breadcrumb[data-v-83c91581]{display:inline-flex;align-items:center;gap:8px;font:500 13px/18px var(--font-family-base);color:var(--neutral-500);margin:0}.portal-topbar__sep[data-v-83c91581]{color:var(--neutral-300)}.portal-topbar__item[data-v-83c91581]{display:inline-flex;align-items:center;gap:4px;color:inherit;text-decoration:none}a.portal-topbar__item[data-v-83c91581]:hover{color:var(--neutral-700)}.portal-topbar__item--back[data-v-83c91581]{color:var(--primary-700);font-weight:var(--font-weight-medium)}a.portal-topbar__item--back[data-v-83c91581]:hover{color:var(--primary-800)}.portal-topbar__item--now[data-v-83c91581]{color:var(--neutral-800);font-weight:var(--font-weight-semibold)}.portal-topbar__item--error[data-v-83c91581]{color:var(--error-500);font-weight:var(--font-weight-semibold)}.portal-topbar__spacer[data-v-83c91581]{flex:1}.portal-topbar__actions[data-v-83c91581]{display:inline-flex;align-items:center;gap:var(--space-2)}.portal-topbar__actions[data-v-83c91581]:empty{display:none}.portal-topbar__bell[data-v-83c91581]{width:36px;height:36px;border-radius:var(--radius-md);background:transparent;border:1px solid var(--color-border-subtle);color:var(--color-text-primary);display:inline-flex;align-items:center;justify-content:center;position:relative;cursor:pointer;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.portal-topbar__bell[data-v-83c91581]:hover:not(:disabled){background:var(--neutral-50);border-color:var(--neutral-300)}.portal-topbar__bell[data-v-83c91581]:disabled{color:var(--neutral-400);cursor:not-allowed;background:transparent}.portal-topbar__bell-dot[data-v-83c91581]{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%;background:var(--color-status-error, var(--error-500));border:2px solid var(--color-bg-elevated)}.pagination[data-v-fbe137f6]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;font:500 13px/18px var(--font-family-base);color:var(--neutral-600);border-top:1px solid var(--neutral-100)}.pagination__meta[data-v-fbe137f6]{color:var(--neutral-600)}.pagination__nav[data-v-fbe137f6]{display:inline-flex;align-items:center;gap:8px}.pagination__btn[data-v-fbe137f6]{width:28px;height:28px;padding:0;border-radius:6px;border:1px solid var(--neutral-300);background:var(--neutral-0);color:var(--neutral-700);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background var(--duration-fast, .15s) var(--ease-out, ease-out),border-color var(--duration-fast, .15s) var(--ease-out, ease-out)}.pagination__btn[data-v-fbe137f6]:hover:not(:disabled){background:var(--neutral-50);border-color:var(--neutral-400)}.pagination__btn[data-v-fbe137f6]:disabled{color:var(--neutral-300);cursor:not-allowed;opacity:.5}.pagination__counter[data-v-fbe137f6]{display:inline-flex;align-items:baseline;gap:4px;padding:0 4px}.pagination__counter-cur[data-v-fbe137f6]{font:600 13px/18px var(--font-family-base);color:var(--neutral-800)}.pagination__counter-sep[data-v-fbe137f6]{font:400 13px/18px var(--font-family-base);color:var(--neutral-400)}
