:root{--color-primary: #5E3BA3;--color-primary-hover: #4D3085;--color-primary-active: #3B1772;--color-primary-disabled: #C4B5E0;--color-primary-subtle: #F3EEFA;--color-primary-muted: #7B5CB8;--color-text-primary: #1D1F23;--color-text-secondary: #334155;--color-text-muted: #7A7E84;--color-text-faint: #94A3B8;--color-text-disabled: #CBD5E1;--color-text-inverse: #FFFFFF;--color-bg-canvas: #F6F7F9;--color-bg-surface: #FFFFFF;--color-bg-offset: #F1F5F9;--color-bg-muted: #F3EEFA;--color-border-default: #DFE1E4;--color-border-strong: #CBD5E1;--color-border-focus: #5E3BA3;--color-border-error: #EF4444;--color-success-bg: #ECFDF5;--color-success-border: #A7F3D0;--color-success-text: #065F46;--color-success-icon: #10B981;--color-warning-bg: #FFFBEB;--color-warning-border: #FDE68A;--color-warning-text: #92400E;--color-warning-icon: #F59E0B;--color-error-bg: #FEF2F2;--color-error-border: #FECACA;--color-error-text: #991B1B;--color-error-icon: #EF4444;--color-info-bg: #F3EEFA;--color-info-border: #D4C4EF;--color-info-text: #3B1772;--color-info-icon: #5E3BA3;--color-badge-gray-bg: #F1F5F9;--color-badge-gray-text: #334155;--color-badge-green-bg: #D1FAE5;--color-badge-green-text: #065F46;--color-badge-red-bg: #FEE2E2;--color-badge-red-text: #991B1B;--color-badge-yellow-bg: #FEF3C7;--color-badge-yellow-text: #92400E;--color-badge-blue-bg: #F3EEFA;--color-badge-blue-text: #3B1772;--color-sidebar-bg: #270253;--color-sidebar-text: rgba(247, 245, 255, .82);--color-sidebar-text-active: #F7F5FF;--color-sidebar-item-hover: rgba(255,255,255,.06);--color-sidebar-item-active: #3B1772;--color-sidebar-border: rgba(255,255,255,.08);--color-sidebar-icon: rgba(247, 245, 255, .7);--color-sidebar-icon-active: #F7F5FF;--font-family-body: "Inter", "Noto Sans KR", "Pretendard", -apple-system, sans-serif;--font-family-heading: "Archivo", "Noto Sans KR", "Inter", sans-serif;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 14px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 20px;--font-size-3xl: 24px;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-base: 1.5;--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;--radius-xs: 6px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full:9999px;--shadow-xs: 0 1px 2px rgba(15,23,42,.04);--shadow-sm: 0 1px 3px rgba(15,23,42,.06), 0 1px 2px rgba(15,23,42,.04);--shadow-md: 0 8px 24px rgba(15,23,42,.08), 0 2px 6px rgba(15,23,42,.04);--shadow-lg: 0 16px 40px rgba(15,23,42,.12), 0 4px 12px rgba(15,23,42,.06);--shadow-focus: 0 0 0 3px rgba(94,59,163,.22);--shadow-focus-error: 0 0 0 3px rgba(239,68,68,.22);--sidebar-width: 248px;--sidebar-collapsed-width: 68px;--header-height: 64px;--content-max-width: 1280px;--content-padding: var(--space-6);--transition-fast: .12s ease;--transition-base: .18s ease;--transition-layout: .24s cubic-bezier(.16,1,.3,1);--z-sidebar:100;--z-header:200;--z-dropdown:300;--z-modal:400;--z-toast:500}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth}body{min-height:100dvh;font-family:var(--font-family-body);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text-primary);background-color:var(--color-bg-canvas)}img,svg,video{display:block;max-width:100%}ul,ol{list-style:none}button{cursor:pointer;background:none;border:none;font:inherit;color:inherit}input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}table{border-collapse:collapse;width:100%}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading, var(--font-family-body));line-height:var(--line-height-tight);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);letter-spacing:-.02em}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-xs)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-full)}::selection{background:var(--color-primary-subtle);color:var(--color-primary)}.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}.app-shell{display:grid;grid-template-columns:var(--sidebar-width) 1fr;grid-template-rows:var(--header-height) 1fr;grid-template-areas:"sidebar header" "sidebar content";height:100dvh;overflow:hidden;transition:grid-template-columns var(--transition-layout)}.app-shell.sidebar-collapsed{grid-template-columns:var(--sidebar-collapsed-width) 1fr}.sidebar{grid-area:sidebar;position:sticky;top:0;height:100dvh;background-color:var(--color-sidebar-bg);border-right:1px solid var(--color-sidebar-border);display:flex;flex-direction:column;overflow:hidden;z-index:var(--z-sidebar);width:var(--sidebar-width);transition:width var(--transition-layout)}.sidebar-collapsed .sidebar{width:var(--sidebar-collapsed-width)}.sidebar-logo{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);height:var(--header-height);border-bottom:1px solid var(--color-sidebar-border);flex-shrink:0;overflow:hidden}.sidebar-logo-icon{width:32px;height:32px;border-radius:var(--radius-md);background-color:var(--color-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);overflow:hidden}.sidebar-logo-icon img{width:20px;height:20px;object-fit:contain;display:block}.sidebar-logo-text{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-inverse);white-space:nowrap;overflow:hidden}.sidebar-logo-text span{color:var(--color-primary-disabled)}.sidebar-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--space-3) var(--space-2);display:flex;flex-direction:column;gap:2px}.sidebar-item{display:flex;align-items:center;gap:var(--space-3);padding:10px var(--space-3);border-radius:var(--radius-md);color:var(--color-sidebar-text);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;white-space:nowrap;overflow:hidden;transition:background var(--transition-fast),color var(--transition-fast)}.sidebar-item:hover{background-color:var(--color-sidebar-item-hover);color:var(--color-sidebar-text-active)}.sidebar-item.active{background-color:var(--color-sidebar-item-active);color:var(--color-sidebar-text-active);box-shadow:inset 3px 0 0 var(--color-primary-muted)}.sidebar-item-icon{width:20px;height:20px;flex-shrink:0;color:var(--color-sidebar-icon);transition:color var(--transition-fast);display:inline-flex;align-items:center;justify-content:center}.sidebar-item-icon .sidebar-design-icon{display:block;width:20px;height:20px;object-fit:contain;opacity:.85}.sidebar-item:hover .sidebar-item-icon,.sidebar-item.active .sidebar-item-icon{color:var(--color-sidebar-icon-active)}.sidebar-item:hover .sidebar-item-icon .sidebar-design-icon,.sidebar-item.active .sidebar-item-icon .sidebar-design-icon{opacity:1}.sidebar-item-label{overflow:hidden;transition:opacity var(--transition-layout),width var(--transition-layout)}.sidebar-collapsed .sidebar-item-label{opacity:0;width:0;pointer-events:none}.sidebar-item-badge{margin-left:auto;transition:opacity var(--transition-layout)}.sidebar-collapsed .sidebar-item-badge{opacity:0}.sidebar-item-caret{margin-left:auto;font-size:var(--font-size-xs);color:var(--color-sidebar-icon);transition:opacity var(--transition-layout)}.sidebar-collapsed .sidebar-item-caret{opacity:0}.sidebar-subnav{display:flex;flex-direction:column;gap:2px;padding-left:var(--space-4)}.sidebar-collapsed .sidebar-subnav{display:none}.sidebar-subitem{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm)}.sidebar-subnav .sidebar-subnav{padding-left:var(--space-3)}.sidebar-footer{padding:var(--space-3) var(--space-2);border-top:1px solid var(--color-sidebar-border);flex-shrink:0}.sidebar-footer-links{display:flex;flex-direction:column;gap:2px;margin-bottom:var(--space-2)}.sidebar-footer-link{text-decoration:none}.sidebar-toggle-btn{width:100%;display:flex;align-items:center;justify-content:center;padding:var(--space-2);border-radius:var(--radius-md);color:var(--color-sidebar-icon);transition:background var(--transition-fast),color var(--transition-fast)}.sidebar-toggle-btn:hover{background-color:var(--color-sidebar-item-hover);color:var(--color-sidebar-text-active)}.header{grid-area:header;position:sticky;top:0;height:var(--header-height);background-color:var(--color-bg-surface);border-bottom:1px solid var(--color-border-default);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-6);z-index:var(--z-header);gap:var(--space-4)}.header-left{display:flex;align-items:center;gap:var(--space-3);flex:1;min-width:0}.header-breadcrumb{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-muted)}.header-breadcrumb-sep{color:var(--color-border-strong)}.header-breadcrumb-current{color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.header-right{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.header-icon-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);color:var(--color-text-muted);background:transparent;transition:background var(--transition-fast),color var(--transition-fast);position:relative}.header-icon-btn:hover{background-color:var(--color-bg-offset);color:var(--color-text-primary)}.header-notification-dot{position:absolute;top:8px;right:8px;width:8px;height:8px;background-color:var(--color-error-icon);border-radius:var(--radius-full);border:2px solid var(--color-bg-surface)}.header-bell{position:relative}.header-notification-badge{position:absolute;top:4px;right:2px;min-width:16px;height:16px;padding:0 4px;display:inline-flex;align-items:center;justify-content:center;background-color:var(--color-error-icon);color:#fff;border-radius:var(--radius-full);font-size:10px;font-weight:var(--font-weight-bold);line-height:1;border:2px solid var(--color-bg-surface);pointer-events:none}.header-notify-dropdown{position:absolute;top:calc(100% + 8px);right:0;z-index:40;width:min(360px,92vw);background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.header-notify-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-default)}.header-notify-list{max-height:360px;overflow-y:auto}.header-notify-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;text-align:left;padding:var(--space-3) var(--space-4);border:none;border-bottom:1px solid var(--color-border-default);background:transparent;cursor:pointer;font-family:inherit}.header-notify-item:hover{background:var(--color-bg-offset)}.header-notify-item.is-unread{background:var(--color-primary-subtle)}.header-notify-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.header-notify-body{font-size:var(--font-size-sm);color:var(--color-text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.header-notify-time{font-size:var(--font-size-xs);color:var(--color-text-faint);margin-top:2px}.header-avatar{width:36px;height:36px;border-radius:var(--radius-full);background-color:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast);border:none;padding:0;font-family:inherit}.header-avatar:hover{transform:scale(1.04);box-shadow:var(--shadow-sm)}.header-avatar:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.header-divider{width:1px;height:20px;background:var(--color-border-default);flex-shrink:0}.main-content{grid-area:content;overflow-y:auto;background-color:var(--color-bg-canvas)}.page-wrapper{padding:var(--content-padding);max-width:var(--content-max-width);margin:0 auto}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6)}.page-header-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:-.02em}.page-header-subtitle{margin-top:var(--space-1);font-size:var(--font-size-base);color:var(--color-text-muted)}.page-header-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.master-detail{display:grid;grid-template-columns:minmax(280px,1fr) minmax(320px,1.4fr);gap:var(--space-4);align-items:start}.master-detail-panel{display:flex;flex-direction:column;min-width:0}.master-detail-head{display:flex;flex-direction:column;justify-content:flex-start;gap:var(--space-1);min-height:3.25rem;margin-bottom:var(--space-3)}.master-detail-head-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:2rem;margin-bottom:var(--space-3)}.master-detail-title{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:1.3}.master-detail-subtitle{margin:0;font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:1.4em}.master-detail .table-toolbar{min-height:44px;flex-wrap:nowrap;margin-bottom:var(--space-3);align-items:center}.master-detail .table-toolbar .form-input{height:36px;min-height:36px}@media (max-width: 900px){.master-detail{grid-template-columns:1fr}}.card{background-color:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card-header{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border-default);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.card-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.card-body{padding:var(--space-6)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.stat-card{background-color:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-6);box-shadow:var(--shadow-xs)}.stat-label{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:var(--font-weight-medium);margin-bottom:var(--space-2)}.stat-value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);line-height:1}.stat-delta{margin-top:var(--space-2);font-size:var(--font-size-sm);color:var(--color-success-text)}.stat-delta.negative{color:var(--color-error-text)}.login-shell{min-height:100dvh;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-canvas);padding:var(--space-6)}.login-card{width:100%;max-width:420px;background-color:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--space-10) var(--space-8)}.login-logo-area{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);margin-bottom:var(--space-8)}.login-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);font-family:var(--font-family-heading, var(--font-family-body))}.login-subtitle{font-size:var(--font-size-base);color:var(--color-text-muted);text-align:center}.login-shell--visily{position:relative;isolation:isolate;overflow:hidden}.login-visily-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;background:radial-gradient(120% 80% at 20% 10%,rgba(94,59,163,.55),transparent 55%),radial-gradient(90% 70% at 90% 80%,rgba(39,2,83,.75),transparent 50%),linear-gradient(145deg,#3b1772,#270253 45%,#1a0338)}.login-visily-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:#27025359;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.login-card--glass{max-width:440px;background:#f6f7f9f2;border:1px solid rgba(223,225,228,.8);box-shadow:0 20px 25px #27025333;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:0;overflow:hidden}.login-card--glass .login-logo-area{padding:var(--space-8) var(--space-8) 0;margin-bottom:var(--space-6);gap:var(--space-2)}.login-card--glass .login-title{color:#1d1f23;letter-spacing:-.025em;margin:0}.login-card--glass .login-subtitle{margin:0;color:#7a7e84}.login-card--glass .login-form{display:flex;flex-direction:column;gap:var(--space-4);padding:0 var(--space-8) var(--space-8)}.login-submit{width:100%;margin-top:var(--space-2);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2)}.login-pw-toggle{border:0;background:transparent;padding:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.login-security-footer{border-top:1px solid var(--color-border-default);padding:var(--space-4) var(--space-8);font-size:var(--font-size-sm);color:var(--color-text-muted);text-align:center;line-height:1.45;background:#ffffff8c}.login-security-footer a{color:var(--color-primary);text-decoration:underline}.header-breadcrumb-sep-icon{width:12px;height:12px;opacity:.55;vertical-align:middle;margin:0 2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-family-body);font-weight:var(--font-weight-semibold);border-radius:var(--radius-md);cursor:pointer;border:1px solid transparent;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none;line-height:1}.btn:focus-visible{box-shadow:var(--shadow-focus);outline:none}.btn:disabled{pointer-events:none;cursor:not-allowed;opacity:.55}.btn-sm{padding:6px var(--space-3);font-size:var(--font-size-sm);height:32px}.btn-md{padding:8px var(--space-5);font-size:var(--font-size-base);height:40px}.btn-lg{padding:10px var(--space-6);font-size:var(--font-size-lg);height:48px}.btn-primary{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-primary:active{background-color:var(--color-primary-active)}.btn-primary:disabled{background-color:var(--color-primary-disabled);border-color:var(--color-primary-disabled);opacity:1}.btn-secondary{background-color:var(--color-bg-surface);color:var(--color-primary);border-color:var(--color-border-strong)}.btn-secondary:hover{background-color:var(--color-primary-subtle);border-color:var(--color-primary-muted)}.btn-secondary:disabled{color:var(--color-primary-disabled);border-color:var(--color-border-default)}.btn-ghost{background-color:var(--color-bg-offset);color:var(--color-text-secondary);border-color:transparent}.btn-ghost:hover{background-color:var(--color-bg-muted);color:var(--color-text-primary)}.btn-ghost:disabled{color:var(--color-text-disabled)}.btn-link{background:transparent;color:var(--color-primary);border-color:transparent;padding-left:0;padding-right:0;border-radius:var(--radius-sm)}.btn-link:hover{color:var(--color-primary-hover);text-decoration:underline}.btn-danger{background-color:var(--color-error-icon);color:#fff;border-color:var(--color-error-icon)}.btn-danger:hover{background-color:#dc2626}.btn-outline{background-color:var(--color-bg-surface);color:var(--color-text-primary);border-color:var(--color-border-strong)}.btn-outline:hover{background-color:var(--color-primary-subtle);border-color:var(--color-primary-muted);color:var(--color-primary)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:1.4;white-space:nowrap}.badge-lg{padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm)}.badge-gray{background-color:var(--color-badge-gray-bg);color:var(--color-badge-gray-text)}.badge-green{background-color:var(--color-badge-green-bg);color:var(--color-badge-green-text)}.badge-red{background-color:var(--color-badge-red-bg);color:var(--color-badge-red-text)}.badge-yellow{background-color:var(--color-badge-yellow-bg);color:var(--color-badge-yellow-text)}.badge-blue{background-color:var(--color-badge-blue-bg);color:var(--color-badge-blue-text)}.alert{display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid transparent;font-size:var(--font-size-base)}.alert-title{font-weight:var(--font-weight-semibold);margin-bottom:var(--space-1)}.alert-success{background-color:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success-text)}.alert-warning{background-color:var(--color-warning-bg);border-color:var(--color-warning-border);color:var(--color-warning-text)}.alert-error{background-color:var(--color-error-bg);border-color:var(--color-error-border);color:var(--color-error-text)}.alert-info{background-color:var(--color-info-bg);border-color:var(--color-info-border);color:var(--color-info-text)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.form-label-required:after{content:" *";color:var(--color-error-icon)}.form-input{width:100%;height:44px;padding:0 var(--space-4);background-color:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md);font-size:var(--font-size-base);color:var(--color-text-primary);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.form-input::placeholder{color:var(--color-text-faint)}.form-input:hover{border-color:var(--color-border-strong)}.form-input:focus{border-color:var(--color-border-focus);box-shadow:var(--shadow-focus)}.form-input:disabled{background-color:var(--color-bg-offset);color:var(--color-text-muted);cursor:not-allowed}.form-input.input-error{border-color:var(--color-border-error)}.form-input.input-error:focus{box-shadow:var(--shadow-focus-error)}.form-hint{font-size:var(--font-size-sm);color:var(--color-text-muted)}.form-error{font-size:var(--font-size-sm);color:var(--color-error-text)}.input-wrapper{position:relative}.input-icon-left{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);color:var(--color-text-faint);pointer-events:none}.input-icon-right{position:absolute;right:var(--space-3);top:50%;transform:translateY(-50%);color:var(--color-text-faint)}.form-input.has-icon-left{padding-left:40px}.form-input.has-icon-right{padding-right:40px}.form-select{width:100%;height:44px;padding:0 var(--space-4);background-color:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md);font-size:var(--font-size-base);color:var(--color-text-primary);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-select:hover{border-color:var(--color-border-strong)}.form-select:focus{border-color:var(--color-border-focus);box-shadow:var(--shadow-focus)}.form-select:disabled{background-color:var(--color-bg-offset);color:var(--color-text-muted);cursor:not-allowed}textarea.form-input{height:auto;min-height:96px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);resize:vertical;line-height:var(--line-height-base)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f223873;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:var(--space-6);z-index:var(--z-modal)}.modal-panel{width:100%;max-width:520px;max-height:90vh;overflow-y:auto;background-color:var(--color-bg-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:1px solid var(--color-border-default)}.modal-header{padding:var(--space-5) var(--space-6) var(--space-4);border-bottom:none;display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.modal-header-text{display:flex;flex-direction:column;gap:4px;min-width:0}.modal-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);letter-spacing:-.02em}.modal-subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal-body{padding:var(--space-2) var(--space-6) var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.modal-footer{padding:var(--space-4) var(--space-6) var(--space-5);border-top:1px solid var(--color-border-default);display:flex;justify-content:flex-end;gap:var(--space-3)}.modal-footer-center{justify-content:center}.user-profile-panel{max-width:420px}.user-profile-hero{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-2) 0 var(--space-4);border-bottom:1px solid var(--color-border-default);margin-bottom:var(--space-2)}.user-profile-avatar{width:72px;height:72px;border-radius:var(--radius-full);background:var(--color-primary-subtle);color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold)}.user-profile-name{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.user-profile-sub{font-size:var(--font-size-sm);color:var(--color-text-muted)}.user-profile-dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.user-profile-row{display:flex;flex-direction:column;gap:4px;padding:0;border-bottom:none}.user-profile-row.span-2{grid-column:1 / -1}.user-profile-row dt{margin:0;color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.04em}.user-profile-row dd{margin:0;color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);word-break:break-all}.modal-close-btn{width:36px;height:36px;background:var(--color-bg-offset);border:none;cursor:pointer;color:var(--color-text-muted);padding:0;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;transition:background var(--transition-fast),color var(--transition-fast)}.modal-close-btn:hover{background-color:var(--color-bg-muted);color:var(--color-text-primary)}.checkbox-wrapper{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-input{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:16px;height:16px;border:1.5px solid var(--color-border-strong);border-radius:var(--radius-xs);background-color:var(--color-bg-surface);cursor:pointer;flex-shrink:0;position:relative;transition:border-color var(--transition-fast),background var(--transition-fast)}.checkbox-input:hover{border-color:var(--color-primary)}.checkbox-input:focus-visible{box-shadow:var(--shadow-focus);outline:none}.checkbox-input:checked{background-color:var(--color-primary);border-color:var(--color-primary)}.checkbox-input:checked:after{content:"";position:absolute;top:2px;left:4px;width:5px;height:8px;border:2px solid #fff;border-top:none;border-left:none;transform:rotate(45deg)}.checkbox-input:disabled{cursor:not-allowed;background-color:var(--color-bg-offset)}.checkbox-label{font-size:var(--font-size-base);color:var(--color-text-primary)}.toggle-track{position:relative;width:40px;height:22px;border-radius:var(--radius-full);background-color:var(--color-border-strong);border:none;cursor:pointer;flex-shrink:0;transition:background var(--transition-fast)}.toggle-track:focus-visible{box-shadow:var(--shadow-focus);outline:none}.toggle-track.active{background-color:var(--color-primary)}.toggle-thumb{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:var(--radius-full);background-color:#fff;box-shadow:var(--shadow-xs);transition:transform var(--transition-base)}.toggle-track.active .toggle-thumb{transform:translate(18px)}.table-wrapper{width:100%;overflow-x:auto;border-radius:var(--radius-xl);border:1px solid var(--color-border-default);background-color:var(--color-bg-surface);box-shadow:var(--shadow-sm)}.data-table{width:100%;border-collapse:collapse;font-size:var(--font-size-base)}.data-table thead tr{background-color:var(--color-bg-offset);border-bottom:1px solid var(--color-border-default)}.data-table th{position:relative;padding:var(--space-3) var(--space-4);text-align:left;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);white-space:nowrap;-webkit-user-select:none;user-select:none}.data-table-sort-btn{display:inline-flex;align-items:center;gap:4px;max-width:100%;margin:0;padding:0;border:none;background:transparent;font:inherit;font-weight:inherit;color:inherit;cursor:pointer;text-align:inherit}.data-table-sort-btn:hover,.data-table-sort-btn.is-active{color:var(--color-primary)}.data-table-sort-icon{font-size:10px;line-height:1;opacity:.55;flex-shrink:0}.data-table-sort-btn.is-active .data-table-sort-icon{opacity:1}.data-table-col-resize{position:absolute;top:0;right:0;width:6px;height:100%;cursor:col-resize;touch-action:none;z-index:1}.data-table-col-resize:hover,.data-table.is-resizing .data-table-col-resize:hover{background-color:var(--color-primary, #2563eb);opacity:.35}body.datagrid-resizing,body.datagrid-resizing *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.data-table tbody tr{border-bottom:1px solid var(--color-border-default);transition:background var(--transition-fast)}.data-table tbody tr:last-child{border-bottom:none}.data-table tbody tr:hover{background-color:var(--color-bg-offset)}.data-table tbody tr.selected{background-color:var(--color-primary-subtle)}.data-table td{padding:var(--space-3) var(--space-4);vertical-align:middle}.mtg-meeting-tree-title{display:flex;align-items:flex-start;gap:6px;line-height:1.4}.mtg-meeting-tree-toggle{flex:0 0 22px;width:22px;height:22px;padding:0;border:none;background:transparent;color:var(--color-text-muted);font-size:10px;line-height:22px;cursor:pointer}.mtg-meeting-tree-toggle:hover{color:var(--color-primary)}.mtg-meeting-tree-toggle-spacer{flex:0 0 22px;width:22px;display:inline-block}.data-table td.text-right{text-align:right}.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap}.table-toolbar-left,.table-toolbar-right{display:flex;align-items:center;gap:var(--space-2)}.pagination{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border-default);font-size:var(--font-size-sm);color:var(--color-text-muted)}.pagination-controls{display:flex;align-items:center;gap:var(--space-1)}.pagination-btn{min-width:32px;height:32px;padding:0 var(--space-2);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-text-muted);transition:background var(--transition-fast),color var(--transition-fast)}.pagination-btn:hover{background-color:var(--color-bg-offset);color:var(--color-text-primary)}.pagination-btn.active{background-color:var(--color-primary);color:#fff;pointer-events:none}.pagination-btn:disabled{opacity:.4;pointer-events:none}.avatar{display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);font-weight:var(--font-weight-semibold);flex-shrink:0;background-color:var(--color-primary-subtle);color:var(--color-primary)}.avatar-sm{width:32px;height:32px;font-size:var(--font-size-sm)}.avatar-md{width:40px;height:40px;font-size:var(--font-size-base)}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-16) var(--space-8);color:var(--color-text-muted)}.empty-state-icon{width:48px;height:48px;color:var(--color-text-faint);margin-bottom:var(--space-4)}.empty-state h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-2)}.empty-state p{font-size:var(--font-size-base);max-width:36ch;margin-bottom:var(--space-6)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--color-border-default) 25%,var(--color-bg-offset) 50%,var(--color-border-default) 75%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite;border-radius:var(--radius-sm)}.skeleton-text{height:1em;margin-bottom:var(--space-2)}.skeleton-heading{height:1.5em;width:40%;margin-bottom:var(--space-4)}.schedule-toolbar{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);overflow-x:auto}.schedule-toolbar-nav{display:flex;align-items:center;gap:var(--space-2);flex:0 0 auto}.schedule-month-label{min-width:7.5rem;text-align:center;font-size:var(--font-size-lg)}.schedule-cal{border:1px solid var(--color-border-default);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-bg-surface);box-shadow:var(--shadow-xs)}.schedule-cal-head,.schedule-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.schedule-cal-head-cell{padding:var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);background:var(--color-bg-surface);border-bottom:1px solid var(--color-border-default);text-align:center;text-transform:uppercase;letter-spacing:.04em}.schedule-cal-cell{min-height:118px;padding:var(--space-2);border-right:1px solid var(--color-border-default);border-bottom:1px solid var(--color-border-default);background:var(--color-bg-surface);display:flex;flex-direction:column}.schedule-cal-cell:nth-child(7n){border-right:none}.schedule-cal-cell.is-outside{background:var(--color-bg-offset);opacity:.65}.schedule-cal-cell.is-today{background:linear-gradient(180deg,var(--color-primary-subtle) 0%,var(--color-bg-surface) 48%)}.schedule-cal-daynum{display:inline-flex;align-items:center;justify-content:center;align-self:flex-end;width:28px;height:28px;border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);margin:0 0 var(--space-1) 0}.schedule-cal-cell.is-today .schedule-cal-daynum{background:var(--color-primary);color:#fff}.schedule-cal-daynum:hover{background:var(--color-primary-subtle);color:var(--color-primary)}.schedule-cal-cell.is-today .schedule-cal-daynum:hover{background:var(--color-primary-hover);color:#fff}.schedule-cal-events{display:flex;flex-direction:column;gap:3px;flex:1;min-height:0}.schedule-cal-chip{display:flex;gap:4px;align-items:center;width:100%;padding:3px 8px;border-radius:var(--radius-sm);font-size:11px;line-height:1.3;text-align:left;background:var(--color-primary-subtle);color:var(--color-primary);overflow:hidden;border:none}.schedule-cal-chip.status-done{background:var(--color-bg-offset);color:var(--color-text-muted)}.schedule-cal-chip.status-canceled{background:var(--color-bg-offset);color:var(--color-text-faint);text-decoration:line-through}.schedule-cal-chip.is-recur:before{content:"↻";margin-right:2px;opacity:.7}.schedule-cal-chip-time{flex:0 0 auto;opacity:.85}.schedule-cal-chip-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-cal-more{font-size:11px;color:var(--color-text-muted);padding-left:4px}.schedule-recur-box{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-offset)}.schedule-attach-list{list-style:none;margin:0 0 var(--space-2);padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.clearable-time-field{display:flex;align-items:center;gap:var(--space-1)}.clearable-time-field .form-input{flex:1 1 auto;min-width:0}.clearable-time-clear{flex:0 0 auto;color:var(--color-text-muted);white-space:nowrap}.clearable-time-clear:hover:not(:disabled){color:var(--color-danger, #b42318)}.file-upload-btn{display:inline-flex;align-items:center}.file-upload-btn-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.file-upload-btn-trigger{display:inline-flex;flex-direction:column;align-items:center;gap:2px;padding:var(--space-1) var(--space-2);border:1px dashed var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-surface);cursor:pointer;color:var(--color-text-secondary);transition:border-color .15s ease,background .15s ease,opacity .15s ease}.file-upload-btn-trigger:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-bg-offset)}.file-upload-btn-trigger:disabled,.file-upload-btn.is-disabled .file-upload-btn-trigger{opacity:.5;cursor:not-allowed}.file-upload-btn-icon{width:40px;height:40px;object-fit:contain;display:block;pointer-events:none;-webkit-user-select:none;user-select:none}.file-upload-btn-label{font-size:var(--font-size-xs);line-height:1.2;font-weight:500}.schedule-attach-list li{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);font-size:var(--font-size-sm)}.schedule-time-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.schedule-time-row .form-input[type=date]{width:10.5rem;flex:0 0 auto}.schedule-time-row .form-select{width:auto;min-width:5.5rem;flex:0 0 auto}.schedule-cal-cell.is-past{opacity:.65;background:var(--color-bg-offset)}.schedule-cal-cell.is-past .schedule-cal-daynum{cursor:default;color:var(--color-text-muted)}.schedule-cal-cell.is-past .schedule-cal-daynum:hover{background:transparent}.schedule-view-toggle{display:flex;align-items:center;gap:var(--space-1);flex:0 0 auto}.schedule-week-grid .schedule-cal-cell{min-height:180px}.schedule-list-table .schedule-list-row{cursor:pointer}.org-workspace{display:grid;grid-template-columns:minmax(280px,320px) minmax(0,1fr);gap:var(--space-4);align-items:stretch;min-height:calc(100dvh - 180px)}.org-panel{display:flex;flex-direction:column;min-width:0;min-height:420px;background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);overflow:hidden}.org-panel-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:52px;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-default);flex-shrink:0}.org-panel-header-title{display:flex;align-items:center;gap:var(--space-2);margin:0;font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:1.3;min-width:0}.org-panel-header-title-icon{display:inline-flex;color:var(--color-text-muted);flex-shrink:0}.org-panel-header-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.org-panel-body{flex:1;min-height:0;overflow:auto;padding:var(--space-3) var(--space-4) var(--space-4)}.org-panel-toolbar{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-default);overflow-x:auto;flex-shrink:0;min-height:52px}.org-search{margin-bottom:var(--space-3)}.org-search .form-input{height:36px;min-height:36px;font-size:var(--font-size-sm)}.org-segmented{display:inline-flex;align-items:center;gap:0;padding:2px;background:var(--color-bg-offset);border-radius:var(--radius-md);flex-shrink:0}.org-segmented-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--color-text-muted);font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:6px 12px;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap}.org-segmented-btn.is-active{background:var(--color-bg-surface);color:var(--color-text-primary);font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-xs)}.org-switch{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary);white-space:nowrap;flex-shrink:0;-webkit-user-select:none;user-select:none;cursor:pointer}.org-switch input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:36px;height:20px;border-radius:var(--radius-full);background:var(--color-border-strong);position:relative;cursor:pointer;transition:background var(--transition-fast);flex-shrink:0}.org-switch input:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform var(--transition-fast);box-shadow:var(--shadow-xs)}.org-switch input:checked{background:var(--color-primary)}.org-switch input:checked:after{transform:translate(16px)}.org-icon-btn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--color-text-muted);border-radius:var(--radius-md);cursor:pointer;flex-shrink:0}.org-icon-btn:hover{background:var(--color-bg-offset);color:var(--color-text-primary)}.org-menu{position:relative}.org-menu-dropdown{position:absolute;top:calc(100% + 4px);right:0;z-index:20;min-width:140px;padding:var(--space-1);background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.org-menu-item{display:block;width:100%;text-align:left;padding:8px 10px;border:none;background:transparent;border-radius:var(--radius-sm);font-family:inherit;font-size:var(--font-size-sm);color:var(--color-text-primary);cursor:pointer}.org-menu-item:hover{background:var(--color-bg-offset)}.org-menu-item.is-danger{color:var(--color-error-text)}.org-menu-item:disabled{opacity:.45;cursor:not-allowed}.org-tree{display:flex;flex-direction:column;gap:2px}.org-tree-item{display:flex;align-items:center;gap:var(--space-1);width:100%;min-height:36px;padding:6px 8px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-primary);font-family:inherit;font-size:var(--font-size-sm);text-align:left;cursor:pointer;transition:background var(--transition-fast)}.org-tree-item:hover{background:var(--color-bg-offset)}.org-tree-item.is-selected{background:var(--color-primary-subtle);font-weight:var(--font-weight-semibold)}.org-tree-toggle{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-text-faint);border:none;background:transparent;padding:0;cursor:pointer}.org-tree-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.org-tree-count{color:var(--color-text-muted);font-weight:var(--font-weight-regular);flex-shrink:0}.org-member-name{display:inline-flex;align-items:center;gap:var(--space-2);min-width:0}.org-avatar{width:32px;height:32px;border-radius:var(--radius-full);display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:var(--font-weight-semibold);color:#fff;flex-shrink:0}.org-status-dot{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.org-status-dot:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;flex-shrink:0}.org-status-dot.is-active{color:var(--color-success-icon)}.org-status-dot.is-inactive{color:var(--color-text-faint)}.org-status-dot.is-leave{color:var(--color-warning-icon)}.org-status-dot>span{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.org-workspace .table-toolbar{margin-bottom:var(--space-3)}.org-workspace .org-panel-body .table-wrapper{border:none;border-radius:0;box-shadow:none}@media (max-width: 960px){.org-workspace{grid-template-columns:1fr;min-height:0}}.mtg-create-page{max-width:920px;padding-bottom:var(--space-8)}.mtg-create-section{margin-bottom:var(--space-6);padding-bottom:var(--space-5);border-bottom:1px solid var(--color-border)}.mtg-create-section-title{margin:0 0 var(--space-4);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.mtg-create-footer{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding-top:var(--space-2)}.mtg-chip-row{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2);min-height:28px}.mtg-chip{gap:6px}.mtg-chip-remove{border:none;background:transparent;cursor:pointer;padding:0;line-height:1;font-size:14px;color:inherit;opacity:.75}.mtg-chip-remove:hover{opacity:1}.mtg-picker-list{display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-surface);margin-top:var(--space-2);overflow:hidden}.mtg-picker-item{text-align:left;border:none;background:transparent;padding:10px var(--space-3);cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-primary)}.mtg-picker-item:hover{background:var(--color-bg-offset)}.mtg-agenda-row{margin-bottom:var(--space-4);padding:var(--space-3);background:var(--color-bg-offset);border-radius:var(--radius-md)}.mtg-workspace{display:grid;grid-template-columns:220px minmax(0,1fr);gap:var(--space-4);align-items:start;min-height:480px}.mtg-workspace-nav{position:sticky;top:0;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-3);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.mtg-workspace-nav-group-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 var(--space-2)}.mtg-workspace-nav-item{display:block;width:100%;text-align:left;border:none;background:transparent;border-radius:var(--radius-sm);padding:8px 10px;margin-bottom:2px;cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.mtg-workspace-nav-item:hover{background:var(--color-bg-offset);color:var(--color-text-primary)}.mtg-workspace-nav-item.is-active{background:var(--color-primary-subtle);color:var(--color-primary);font-weight:var(--font-weight-semibold)}.mtg-workspace-main{min-width:0}.mtg-workspace-placeholder{padding:var(--space-6);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-bg-offset);color:var(--color-text-muted)}.mtg-overview-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:var(--space-4)}.mtg-todo-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.mtg-todo-list li{display:flex;align-items:flex-start;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.mtg-todo-list li.is-done{color:var(--color-text-muted);text-decoration:line-through}@media (max-width: 960px){.mtg-workspace{grid-template-columns:1fr}.mtg-workspace-nav{position:static}.mtg-overview-grid{grid-template-columns:1fr}}.mtg-bookings-tabs{display:flex;gap:var(--space-1);margin-bottom:var(--space-4);border-bottom:1px solid var(--color-border-default)}.mtg-bookings-tab{padding:var(--space-2) var(--space-4);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-muted);background:transparent;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;transition:color .15s,border-color .15s}.mtg-bookings-tab:hover{color:var(--color-text-primary)}.mtg-bookings-tab.is-active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.mtg-booking-timeline{margin-bottom:var(--space-5);padding:var(--space-4);background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-lg)}.mtg-booking-timeline-toolbar{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap}.mtg-booking-timeline-date{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.mtg-booking-timeline-date input{width:160px}.mtg-booking-timeline-scroll{overflow-x:auto}.mtg-booking-timeline-grid{display:grid;min-width:720px;gap:0}.mtg-booking-timeline-corner,.mtg-booking-timeline-hour,.mtg-booking-timeline-room{padding:var(--space-2);font-size:var(--font-size-xs);border-bottom:1px solid var(--color-border-default)}.mtg-booking-timeline-hour{text-align:center;color:var(--color-text-muted);background:var(--color-bg-offset);border-left:1px solid var(--color-border-default)}.mtg-booking-timeline-room{font-weight:var(--font-weight-semibold);color:var(--color-text-primary);background:var(--color-bg-offset);display:flex;align-items:center}.mtg-booking-timeline-track{position:relative;display:grid;grid-template-columns:repeat(var(--mtg-timeline-cols, 13),1fr);min-height:52px;border-bottom:1px solid var(--color-border-default);background:repeating-linear-gradient(to right,transparent,transparent calc(100% / var(--mtg-timeline-cols, 13) - 1px),var(--color-border-default) calc(100% / var(--mtg-timeline-cols, 13) - 1px),var(--color-border-default) calc(100% / var(--mtg-timeline-cols, 13)))}.mtg-booking-timeline-cell{min-height:52px;margin:0;padding:0;border:none;background:transparent;cursor:pointer}.mtg-booking-timeline-cell:hover{background:color-mix(in srgb,var(--color-primary) 10%,transparent)}.mtg-booking-timeline-block{position:absolute;top:6px;bottom:6px;min-width:4px;padding:2px 6px;border-radius:var(--radius-sm);border:1px solid var(--color-primary-muted);background:var(--color-primary-subtle);color:var(--color-info-text);font-size:var(--font-size-xs);overflow:hidden;display:flex;flex-direction:column;justify-content:center;line-height:var(--line-height-tight);z-index:1;pointer-events:none}.mtg-booking-timeline-block-title{font-weight:var(--font-weight-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mtg-booking-timeline-block-status{opacity:.85;font-size:10px}.mtg-booking-timeline-block--requested{background:var(--color-warning-bg);border-color:var(--color-warning-border);color:var(--color-warning-text)}.mtg-booking-timeline-block--confirmed{background:var(--color-primary-subtle);border-color:var(--color-primary-muted);color:var(--color-info-text)}.mtg-booking-timeline-block--change_requested{background:var(--color-info-bg);border-color:var(--color-info-border);color:var(--color-info-text)}.mtg-booking-timeline-block--rejected{background:var(--color-error-bg);border-color:var(--color-error-border);color:var(--color-error-text)}.mtg-booking-timeline-block--cancelled{background:var(--color-bg-muted);border-color:var(--color-border-strong);color:var(--color-text-muted);opacity:.75}.mtg-booking-timeline-empty{padding:var(--space-4);text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm)}.form-textarea.input-error{border-color:var(--color-border-error)}.form-textarea.input-error:focus{box-shadow:var(--shadow-focus-error)}.rich-editor{border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-surface);overflow:hidden}.rich-editor.is-disabled{opacity:.7}.rte-toolbar{display:flex;flex-direction:column;gap:2px;padding:6px 8px;border-bottom:1px solid var(--color-border);background:var(--color-bg-surface)}.rte-toolbar-row{display:flex;flex-wrap:wrap;align-items:center;gap:2px;min-height:34px}.rte-toolbar-group{display:inline-flex;align-items:center;gap:1px}.rte-divider{width:1px;align-self:stretch;margin:4px 6px;background:var(--color-border)}.rte-spacer{flex:1;min-width:8px}.rte-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid transparent;border-radius:4px;background:transparent;color:#3f3f46;cursor:pointer}.rte-icon-btn:hover:not(:disabled){background:var(--color-bg-offset);border-color:var(--color-border)}.rte-icon-btn.is-active{background:var(--color-primary-subtle);color:var(--color-primary);border-color:color-mix(in srgb,var(--color-primary) 35%,transparent)}.rte-icon-btn.is-accent{color:#2563eb}.rte-icon-btn:disabled{opacity:.4;cursor:not-allowed}.rte-select{height:28px;min-width:84px;margin:0 2px;padding:0 6px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg-surface);font-size:12px;color:var(--color-text-secondary)}.rte-source-panel{margin-top:4px;padding-top:6px;border-top:1px dashed var(--color-border)}.rte-source-textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.rte-source-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}.rich-editor--full .ProseMirror table{border-collapse:collapse;width:100%;margin:.6em 0}.rich-editor--full .ProseMirror th,.rich-editor--full .ProseMirror td{border:1px solid var(--color-border);padding:6px 8px;vertical-align:top}.rich-editor--full .ProseMirror ul[data-type=taskList]{list-style:none;padding-left:.2em}.rich-editor--full .ProseMirror ul[data-type=taskList] li{display:flex;gap:.5em;align-items:flex-start}.rich-editor--full .ProseMirror mark{border-radius:2px;padding:0 .1em}.rich-editor-content .ProseMirror{min-height:inherit;padding:var(--space-3) var(--space-4);outline:none;font-size:var(--font-size-base);line-height:1.55;color:var(--color-text-primary)}.rich-editor-content .ProseMirror p{margin:0 0 .6em}.rich-editor-content .ProseMirror h1{font-size:1.6em;margin:.4em 0 .5em;font-weight:var(--font-weight-bold)}.rich-editor-content .ProseMirror h2{font-size:1.35em;margin:.4em 0 .45em;font-weight:var(--font-weight-bold)}.rich-editor-content .ProseMirror h3{font-size:1.2em;margin:.35em 0 .4em;font-weight:var(--font-weight-semibold)}.rich-editor-content .ProseMirror h4{font-size:1.1em;margin:.3em 0 .35em;font-weight:var(--font-weight-semibold)}.rich-editor-content .ProseMirror h5,.rich-editor-content .ProseMirror h6{font-size:1em;margin:.3em 0;font-weight:var(--font-weight-semibold)}.rich-editor-content .ProseMirror ul,.rich-editor-content .ProseMirror ol{padding-left:1.4em;margin:0 0 .6em}.rich-editor-content .ProseMirror blockquote{margin:0 0 .6em;padding:.2em 0 .2em .9em;border-left:3px solid var(--color-border-strong);color:var(--color-text-secondary)}.rich-editor-content .ProseMirror pre{margin:0 0 .6em;padding:.7em .9em;border-radius:var(--radius-sm);background:var(--color-bg-offset);overflow-x:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em}.rich-editor-content .ProseMirror code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em;background:var(--color-bg-offset);padding:.1em .35em;border-radius:3px}.rich-editor-content .ProseMirror pre code{background:transparent;padding:0}.rich-editor-content .ProseMirror hr{border:none;border-top:1px solid var(--color-border);margin:.9em 0}.rich-editor-content .ProseMirror img{max-width:100%;height:auto;border-radius:var(--radius-sm)}.rich-editor-content .ProseMirror a{color:var(--color-primary);text-decoration:underline}.rich-content{font-size:var(--font-size-base);line-height:1.55;color:var(--color-text-primary)}.rich-content p{margin:0 0 .6em}.rich-content ul,.rich-content ol{padding-left:1.4em;margin:0 0 .6em}.rich-content img{max-width:min(100%,480px);height:auto;border-radius:var(--radius-sm)}.rich-content-readonly{min-height:72px;padding:var(--space-3) var(--space-4);background:var(--color-bg-offset);border:1px solid var(--color-border-default);border-radius:var(--radius-md)}.rich-editor-content .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--color-text-faint);pointer-events:none;height:0}.dash{display:flex;flex-direction:column;gap:var(--space-6)}.dash-hero{position:relative;border-radius:var(--radius-lg);overflow:hidden;min-height:200px;background:linear-gradient(135deg,#270253eb,#5e3ba3e0 55%,#3d1772e6),radial-gradient(ellipse at 20% 20%,rgba(110,198,219,.25),transparent 50%);color:#fff;box-shadow:var(--shadow-md)}.dash-hero-inner{padding:var(--space-8) var(--space-8) var(--space-6);max-width:720px}.dash-hero-pill{display:inline-flex;align-items:center;padding:4px var(--space-3);border-radius:var(--radius-full);background:#f7f5ff29;border:1px solid rgba(247,245,255,.28);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:#f7f5ff}.dash-hero-title{margin:var(--space-3) 0 var(--space-2);font-family:var(--font-family-display);font-size:clamp(1.5rem,2.5vw,2rem);font-weight:var(--font-weight-bold);letter-spacing:-.02em;line-height:1.2;color:#fff}.dash-hero-desc{margin:0 0 var(--space-5);font-size:var(--font-size-base);color:#f7f5ffd1;line-height:1.5}.dash-hero-desc strong{color:#fff;font-weight:var(--font-weight-bold)}.dash-hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.dash-hero-actions .btn-primary{box-shadow:var(--shadow-primary-btn)}.dash-hero-date-btn{background:transparent!important;color:#f7f5ff!important;border-color:#f7f5ff73!important;opacity:1!important;cursor:default}.dash-hero-date-btn img{filter:brightness(0) invert(1);opacity:.9}.dash-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5)}@media (max-width: 960px){.dash-grid{grid-template-columns:1fr}}.dash-card{background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-5);display:flex;flex-direction:column;min-height:320px}.dash-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.dash-card-title{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.dash-card-sub{margin:2px 0 0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.dash-card-link{border:none;background:none;cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-primary);white-space:nowrap;padding:0}.dash-card-link:hover{color:var(--color-primary-hover);text-decoration:underline}.dash-att-stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-bottom:var(--space-4)}.dash-att-stat{background:var(--color-bg-canvas);border-radius:var(--radius-md);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-1)}.dash-att-stat-value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-primary);line-height:1}.dash-att-stat-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase}.dash-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;flex:1}.dash-list-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid color-mix(in srgb,var(--color-border-default) 50%,transparent)}.dash-list-row:last-child{border-bottom:none}.dash-avatar{width:36px;height:36px;border-radius:var(--radius-full);background:var(--color-primary-subtle);color:var(--color-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.dash-list-main{flex:1;min-width:0}.dash-list-name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-list-meta{font-size:var(--font-size-sm);color:var(--color-text-muted)}.dash-empty{padding:var(--space-6) var(--space-2);text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm);list-style:none}.dash-notice-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3);flex:1}.dash-notice-card{padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-bg-canvas);border:1px solid color-mix(in srgb,var(--color-border-default) 60%,transparent)}.dash-notice-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2)}.dash-notice-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:4px}.dash-card-footer-btn{width:100%;margin-top:var(--space-4)}.dash-room-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);flex:1}.dash-room-card{padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border-default);background:var(--color-bg-canvas);display:flex;flex-direction:column;gap:6px}.dash-room-name{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-text-primary)}.dash-progress{height:6px;border-radius:var(--radius-full);background:var(--color-bg-muted);overflow:hidden}.dash-progress-bar{height:100%;border-radius:var(--radius-full);background:var(--color-primary)}.dash-floor-bar{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-bg-canvas);display:flex;align-items:center;justify-content:space-between;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.dash-floor-bar strong{color:var(--color-primary);font-size:var(--font-size-lg)}.dash-timeline{list-style:none;margin:0;padding:0;flex:1;display:flex;flex-direction:column;gap:var(--space-3)}.dash-timeline-item{display:grid;grid-template-columns:12px 1fr auto;gap:var(--space-3);align-items:start;position:relative}.dash-timeline-dot{width:10px;height:10px;margin-top:6px;border-radius:var(--radius-full);background:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-subtle)}.dash-timeline-body{min-width:0}.dash-card-footer-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-top:var(--space-4)}.list-filter-panel{background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-4);box-shadow:var(--shadow-xs)}.list-filter-panel-body{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3)}.list-filter-panel-footer{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border-default);display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.list-filter-field{display:flex;flex-direction:column;gap:6px;min-width:0}.list-filter-field--sm{flex:0 0 120px;max-width:160px}.list-filter-field--md{flex:1 1 180px;max-width:260px}.list-filter-field--lg{flex:1 1 280px;max-width:420px;min-width:280px}.list-filter-field--auto{flex:1 1 140px}.list-filter-field--date{flex:1 1 320px;max-width:380px;min-width:300px}.list-filter-date-range{display:flex;align-items:center;gap:var(--space-2);min-width:0;width:100%}.list-filter-date-range .form-input{flex:1 1 0;min-width:0;width:auto}.list-filter-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted)}.list-filter-control{min-width:0;width:100%}.list-filter-actions{display:flex;align-items:center;gap:var(--space-2);margin-left:auto}.page-header-action-icon{display:block;flex-shrink:0}.status-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:1.4;border:1px solid var(--color-border-default);background:var(--color-bg-surface);color:var(--color-text-secondary);white-space:nowrap}.status-pill-icon{display:block}.status-pill--success{background:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success-text)}.status-pill--info{background:var(--color-info-bg);border-color:var(--color-info-border);color:var(--color-info-text)}.status-pill--warning{background:var(--color-warning-bg);border-color:var(--color-warning-border);color:var(--color-warning-text)}.status-pill--danger{background:var(--color-error-bg);border-color:var(--color-error-border);color:var(--color-error-text)}.status-pill--neutral{background:var(--color-bg-offset);border-color:var(--color-border-default);color:var(--color-text-secondary)}.stat-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:var(--space-2);margin-bottom:var(--space-4)}.stat-strip-item{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-surface);box-shadow:var(--shadow-xs)}.stat-strip-label{font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.stat-strip-value{margin-top:4px;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);font-family:var(--font-family-heading, var(--font-family-body));letter-spacing:-.02em}.stat-strip-hint{margin-top:2px;font-size:11px;color:var(--color-text-faint)}
