.react-grid-layout{transition:height .2s;position:relative}.react-grid-item{transition:left .2s,top .2s,width .2s,height .2s}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{z-index:1;will-change:width, height;transition:none}.react-grid-item.react-draggable-dragging{z-index:3;will-change:transform;transition:none}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{opacity:.2;z-index:2;-webkit-user-select:none;user-select:none;background:red;transition-duration:.1s}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{opacity:0;width:20px;height:20px;position:absolute}.react-grid-item:hover>.react-resizable-handle{opacity:1}.react-grid-item>.react-resizable-handle:after{content:"";border-bottom:2px solid #0006;border-right:2px solid #0006;width:5px;height:5px;position:absolute;bottom:3px;right:3px}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{cursor:sw-resize;bottom:0;left:0;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{cursor:se-resize;bottom:0;right:0}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{cursor:nw-resize;top:0;left:0;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{cursor:ne-resize;top:0;right:0;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{cursor:ew-resize;margin-top:-10px;top:50%}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{cursor:ns-resize;margin-left:-10px;left:50%}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+);background-position:100% 100%;background-repeat:no-repeat;background-origin:content-box;width:20px;height:20px;padding:0 3px 3px 0;position:absolute}.react-resizable-handle-sw{cursor:sw-resize;bottom:0;left:0;transform:rotate(90deg)}.react-resizable-handle-se{cursor:se-resize;bottom:0;right:0}.react-resizable-handle-nw{cursor:nw-resize;top:0;left:0;transform:rotate(180deg)}.react-resizable-handle-ne{cursor:ne-resize;top:0;right:0;transform:rotate(270deg)}.react-resizable-handle-w,.react-resizable-handle-e{cursor:ew-resize;margin-top:-10px;top:50%}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{cursor:ns-resize;margin-left:-10px;left:50%}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}:root{--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-primary-active:#1e40af;--color-primary-bg:#eff6ff;--color-primary-border:#bfdbfe;--color-success:#10b981;--color-success-bg:#d1fae5;--color-success-text:#047857;--color-warning:#f59e0b;--color-warning-bg:#fef3c7;--color-warning-text:#b45309;--color-danger:#ef4444;--color-danger-hover:#dc2626;--color-danger-bg:#fee2e2;--color-info:#0ea5e9;--color-text:#0f172a;--color-text-muted:#475569;--color-text-subtle:#94a3b8;--color-border:#e5e7eb;--color-border-strong:#d1d5db;--color-border-subtle:#f1f5f9;--color-bg:#fff;--color-bg-subtle:#f8fafc;--color-bg-muted:#f1f5f9;--color-header-bg:#0f172a;--color-header-text:#fff;--color-header-text-muted:#cbd5e1;--color-header-border:#334155;--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;--radius-sm:6px;--radius-md:8px;--radius-lg:10px;--radius-xl:12px;--radius-2xl:14px;--radius-full:9999px;--font-sans:"Pretendard", -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;--font-size-xs:11px;--font-size-sm:12px;--font-size-base:13px;--font-size-md:14px;--font-size-lg:16px;--font-size-xl:18px;--font-size-2xl:20px;--font-size-3xl:24px;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--line-height-tight:1.3;--line-height-normal:1.5;--letter-spacing-tight:-.01em;--shadow-xs:0 1px 2px #0f172a0a;--shadow-sm:0 1px 3px #0f172a0f;--shadow-md:0 4px 12px #0f172a14;--shadow-lg:0 10px 30px #0f172a1f;--shadow-xl:0 20px 50px #0f172a2e;--shadow-focus:0 0 0 3px #2563eb2e;--transition-fast:.12s ease;--transition-base:.18s ease;--transition-slow:.28s ease;--z-dropdown:100;--z-sticky:200;--z-overlay:800;--z-modal-backdrop:900;--z-modal:1000;--z-toast:1100;--z-tooltip:1200}*{box-sizing:border-box;margin:0;padding:0}body{color:#333;background:#f0f2f5;flex-direction:column;height:100dvh;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Segoe UI,Roboto,sans-serif;display:flex;overflow:hidden}#root{flex-direction:column;width:100%;height:100dvh;display:flex;overflow:hidden}body:has(.public-terms-page){height:auto;overflow:auto}body:has(.public-terms-page) #root{height:auto;overflow:auto}.app-shell{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.header{background:var(--color-header-bg);color:var(--color-header-text);height:52px;height:calc(52px + env(safe-area-inset-top));padding:0 var(--space-5);padding-top:env(safe-area-inset-top);padding-left:max(var(--space-5), env(safe-area-inset-left));padding-right:max(var(--space-5), env(safe-area-inset-right));flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.header-left{align-items:center;gap:var(--space-3);display:flex}.logo{align-items:center;gap:var(--space-2);font-family:var(--font-sans);display:flex}.logo-mark{border-radius:var(--radius-md);background:linear-gradient(135deg, #3b82f6 0%, var(--color-primary) 100%);color:#fff;width:28px;height:28px;font-size:15px;font-weight:var(--font-weight-extrabold);letter-spacing:0;flex-shrink:0;justify-content:center;align-items:center;display:flex}.logo-text{color:var(--color-header-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-extrabold);letter-spacing:1px}.header-right{align-items:center;gap:var(--space-4);font-size:var(--font-size-base);display:flex}.header-right .user-id{color:var(--color-header-text-muted);font-weight:var(--font-weight-semibold);align-items:center;gap:var(--space-2);display:flex}.header-right .user-id .user-nm{color:var(--color-header-text);font-weight:var(--font-weight-semibold)}.btn-logout{height:28px;padding:0 var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-header-border);color:var(--color-header-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);background:0 0;align-items:center;display:inline-flex}.btn-logout:hover{border-color:var(--color-header-text-muted);color:var(--color-header-text);background:#ffffff14}@media (width<=480px){.header-right{gap:var(--space-2);min-width:0}.header-right .user-id{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:50vw;overflow:hidden}.header-right .user-id .user-nm{flex-shrink:0}}.impersonation-banner{justify-content:center;align-items:center;gap:var(--space-4);color:#fff;padding:var(--space-2) var(--space-5);font-size:var(--font-size-base);background:linear-gradient(90deg,#d97706 0%,#f59e0b 100%);flex-wrap:wrap;flex-shrink:0;display:flex}.impersonation-banner-text{align-items:center;gap:var(--space-2);font-weight:var(--font-weight-medium);display:flex}.impersonation-icon{font-size:15px;line-height:1}.btn-impersonate{border:1px solid var(--color-warning);color:var(--color-warning);padding:3px var(--space-3);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);white-space:nowrap;transition:background var(--transition-fast), color var(--transition-fast);background:0 0}.btn-impersonate:hover:not(:disabled){background:var(--color-warning);color:#fff}.btn-impersonate:disabled{opacity:.5;cursor:not-allowed}.impersonate-self-label{font-size:var(--font-size-sm);color:var(--color-text-subtle)}.user-id--impersonating{color:var(--color-warning)!important}.menubar{background:var(--color-bg);height:44px;padding:0 var(--space-3);border-bottom:1px solid var(--color-border);align-items:center;gap:var(--space-1);flex-shrink:0;display:flex;position:relative}.menu-toggle{color:var(--color-text-muted);cursor:pointer;padding:0 var(--space-2);background:0 0;border:none;font-size:20px;line-height:1;display:none}.menu-toggle:hover{color:var(--color-primary)}.menu-list{align-items:center;gap:var(--space-1);height:100%;display:flex}.menu-item{height:32px;color:var(--color-text-muted);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;border-radius:var(--radius-md);transition:color var(--transition-fast), background var(--transition-fast);align-items:center;display:flex;position:relative}.menu-item-label{padding:0 var(--space-3);align-items:center;height:100%;display:flex}.menu-item:hover{color:var(--color-text);background:var(--color-bg-muted)}.menu-item.active{color:var(--color-primary);background:var(--color-primary-bg)}.menu-sub{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);min-width:200px;z-index:var(--z-dropdown);box-shadow:var(--shadow-md);padding:var(--space-1);display:none;position:absolute;top:calc(100% + 4px);left:0}.menu-item.sub-open .menu-sub{display:block}.menu-sub-item{padding:var(--space-2) var(--space-3);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-muted);cursor:pointer;white-space:nowrap;border-radius:var(--radius-md)}.menu-sub-item:hover{background:var(--color-primary-bg);color:var(--color-primary)}.menu-sub-expandable{position:relative}.menu-sub-expandable.sub-sub-open{background:var(--color-primary-bg);color:var(--color-primary)}.menu-sub-sub{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);min-width:180px;z-index:calc(var(--z-dropdown) + 1);box-shadow:var(--shadow-md);padding:var(--space-1);display:none;position:absolute;top:0;left:calc(100% + 4px)}.menu-sub-expandable.sub-sub-open .menu-sub-sub{display:block}.menu-sub-sub-item{padding:var(--space-2) var(--space-3);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-muted);cursor:pointer;white-space:nowrap;border-radius:var(--radius-md)}.menu-sub-sub-item:hover{background:var(--color-primary-bg);color:var(--color-primary)}.menu-sub-sub-expandable{position:relative}.menu-sub-sub-expandable.sub-sub-sub-open{background:var(--color-primary-bg);color:var(--color-primary)}.menu-sub-sub-sub{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);min-width:180px;z-index:calc(var(--z-dropdown) + 2);box-shadow:var(--shadow-md);padding:var(--space-1);display:none;position:absolute;top:0;left:calc(100% + 4px)}.menu-sub-sub-expandable.sub-sub-sub-open .menu-sub-sub-sub{display:block}.menu-sub-sub-sub-item{padding:var(--space-2) var(--space-3);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-muted);cursor:pointer;white-space:nowrap;border-radius:var(--radius-md)}.menu-sub-sub-sub-item:hover{background:var(--color-primary-bg);color:var(--color-primary)}.loading-bar{z-index:30;pointer-events:none;background:0 0;height:3px;position:absolute;top:0;left:0;right:0;overflow:hidden}.loading-bar-active{background:#0f172a8c}.loading-bar-track{display:none;position:absolute;inset:0}.loading-bar-active .loading-bar-track{display:block}.loading-bar-track:before{content:"";background:linear-gradient(90deg, transparent 0%, #2563eb66 40%, var(--color-primary) 75%, #bfdbfe 95%, #fff 100%);border-radius:0 2px 2px 0;width:120px;height:100%;animation:2s ease-in-out infinite comet-cyan;position:absolute;top:0;box-shadow:0 0 8px 2px #2563ebb3,0 0 20px 4px #2563eb4d}.loading-bar-track:after{content:"";background:linear-gradient(90deg, transparent 0%, #f59e0b66 40%, var(--color-warning) 75%, #fde68a 95%, #fff 100%);border-radius:0 2px 2px 0;width:80px;height:100%;animation:2s ease-in-out .9s infinite comet-orange;position:absolute;top:0;box-shadow:0 0 6px 2px #f59e0b99,0 0 14px 3px #f59e0b40}@keyframes comet-cyan{0%{opacity:0;left:-120px}8%{opacity:1}92%{opacity:1}to{opacity:0;left:calc(100% + 10px)}}@keyframes comet-orange{0%{opacity:0;left:-80px}8%{opacity:1}92%{opacity:1}to{opacity:0;left:calc(100% + 10px)}}.tabbar{background:var(--color-bg-subtle);border-bottom:1px solid var(--color-border);flex-shrink:0;align-items:center;height:36px;display:flex;position:relative}.tabbar-scroll{align-items:center;gap:var(--space-2);padding:0 var(--space-3);padding-right:var(--space-12);scroll-behavior:smooth;-webkit-overflow-scrolling:touch;flex:1;height:100%;display:flex;overflow:auto hidden}.tabbar-scroll::-webkit-scrollbar{height:0}.tabbar:after{content:"";width:var(--space-6);background:linear-gradient(to right, #f8fafc00, var(--color-bg-subtle));pointer-events:none;z-index:2;position:absolute;top:0;bottom:1px;right:36px}.tab{align-items:center;gap:var(--space-2);padding:0 var(--space-3);border-radius:var(--radius-md);height:26px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;transition:background var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);background:0 0;flex-shrink:0;display:flex}.tab:hover{background:var(--color-bg-muted);color:var(--color-text)}.tab.active{background:var(--color-bg);color:var(--color-primary);font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-sm)}.tab .tab-close{text-align:center;border-radius:var(--radius-full);width:16px;height:16px;color:var(--color-text-subtle);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);font-size:13px;line-height:16px}.tab .tab-close:hover{background:var(--color-danger);color:#fff}.tab.drag-over{box-shadow:inset 3px 0 0 var(--color-primary), var(--shadow-sm);border-left:none}.tab.press-hint{background:var(--color-bg-muted);transition:background .12s}.tab.reordering{background:var(--color-bg);color:var(--color-primary);z-index:5;transition:transform .12s,box-shadow .12s;position:relative;transform:scale(1.06);box-shadow:0 8px 20px #0f172a38}.content{background:#fff;flex:1;min-height:0;overflow:hidden}.tab-panel{height:100%;padding:16px 24px 24px;padding-bottom:max(24px, env(safe-area-inset-bottom));padding-left:max(24px, env(safe-area-inset-left));padding-right:max(24px, env(safe-area-inset-right));display:none;position:relative;overflow:auto}.tab-panel.active{display:block}.loading-overlay{-webkit-backdrop-filter:blur(2px);pointer-events:all;z-index:50;background:#ffffff73;position:absolute;inset:0}.content-empty{color:#aaa;justify-content:center;align-items:center;height:100%;font-size:14px;display:flex}.page-loading{color:#888;justify-content:center;align-items:center;height:100%;font-size:14px;display:flex}.splash-screen{background:var(--color-bg);z-index:9999;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.splash-screen-inline{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.splash-content{align-items:center;gap:var(--space-4);flex-direction:column;animation:.4s ease-out splash-fade-in;display:flex}.splash-logo{filter:drop-shadow(0 0 16px #2563eb80);animation:2s ease-in-out infinite splash-pulse}.splash-title{font-family:var(--font-sans);font-size:28px;font-weight:var(--font-weight-extrabold);letter-spacing:6px;color:var(--color-text)}.splash-bar-wrap{width:160px;height:3px;margin-top:var(--space-2);background:#2563eb26;border-radius:2px;overflow:hidden}.splash-bar-track{background:linear-gradient(90deg, transparent, var(--color-primary), #bfdbfe, var(--color-primary), transparent);border-radius:2px;width:50%;height:100%;animation:1.6s ease-in-out infinite splash-bar-slide}@keyframes splash-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes splash-pulse{0%,to{filter:drop-shadow(0 0 16px #2563eb80);transform:scale(1)}50%{filter:drop-shadow(0 0 28px #2563ebd9);transform:scale(1.06)}}@keyframes splash-bar-slide{0%{transform:translate(-150%)}to{transform:translate(300%)}}.login-page{font-family:var(--font-sans);background-color:#0f172a;background-image:radial-gradient(at 20% 30%,#60a5fa73 0%,#0000 55%),radial-gradient(at 80% 20%,#a78bfa66 0%,#0000 55%),radial-gradient(at 70% 90%,#38bdf859 0%,#0000 50%),radial-gradient(at 10% 90%,#3b82f659 0%,#0000 55%),linear-gradient(135deg,#0f172a 0%,#1e3a8a 100%);justify-content:center;align-items:center;min-height:100vh;padding-bottom:90px;display:flex}.login-box{background:var(--color-bg);border-radius:var(--radius-2xl);padding:var(--space-8) var(--space-8) var(--space-6);width:380px;box-shadow:var(--shadow-xl)}.login-brand{text-align:center;margin-bottom:var(--space-6);padding-bottom:var(--space-5);border-bottom:1px solid var(--color-border-subtle)}.login-logo-mark{border-radius:var(--radius-lg);background:linear-gradient(135deg, #3b82f6 0%, var(--color-primary) 100%);color:#fff;width:44px;height:44px;font-size:22px;font-weight:var(--font-weight-extrabold);margin:0 auto var(--space-3);justify-content:center;align-items:center;display:flex;box-shadow:0 8px 20px #2563eb40}.login-logo{font-family:var(--font-sans);font-size:26px;font-weight:var(--font-weight-extrabold);color:var(--color-text);letter-spacing:3px;margin:0 0 var(--space-1)}.login-tagline{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:var(--space-1) 0 0;letter-spacing:.3px}.login-tagline-en{font-size:var(--font-size-xs);color:var(--color-text-subtle);margin:3px 0 0}.login-box .form-row{margin-bottom:var(--space-3)}.login-box .form-row label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-1);color:var(--color-text-muted);display:block}.login-box .form-row input{width:100%;height:40px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-md);font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);transition:border-color var(--transition-fast), box-shadow var(--transition-fast)}.login-box .form-row input:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus);outline:none}.login-box .form-row--checkbox{margin-bottom:var(--space-2)}.login-box .form-row--checkbox label{align-items:center;gap:var(--space-2);font-weight:var(--font-weight-normal);cursor:pointer;color:var(--color-text-muted);display:flex}.login-box .form-row--checkbox input{cursor:pointer;border:none;width:auto;height:auto;padding:0}.btn-login{width:100%;margin-top:var(--space-2)}.login-error{color:var(--color-danger);font-size:var(--font-size-base);text-align:center;margin-top:var(--space-3)}.login-company{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--color-border-subtle);text-align:center;color:var(--color-text-subtle);letter-spacing:-.2px;white-space:nowrap;font-size:10.5px}.btn{justify-content:center;align-items:center;gap:var(--space-2);height:36px;padding:0 var(--space-4);font-family:var(--font-sans);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);border-radius:var(--radius-lg);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;line-height:1;display:inline-flex}.btn:focus-visible{box-shadow:var(--shadow-focus);outline:none}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-sm{height:28px;padding:0 var(--space-3);font-size:var(--font-size-sm);border-radius:var(--radius-md)}.btn-lg{height:44px;padding:0 var(--space-6);font-size:var(--font-size-md);border-radius:var(--radius-xl)}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-primary:active:not(:disabled){background:var(--color-primary-active)}.btn-secondary{background:var(--color-bg);color:var(--color-text);border-color:var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-muted);border-color:var(--color-border-strong)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--color-danger-hover)}.btn-ghost{color:var(--color-primary);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--color-primary-bg)}.btn-log{height:26px;padding:0 var(--space-2);font-size:var(--font-size-xs);background:var(--color-bg-muted);color:var(--color-text-muted);border-color:var(--color-border)}.btn-log:hover:not(:disabled){background:var(--color-bg-subtle);color:var(--color-text);border-color:var(--color-border-strong)}.btn-outline{background:var(--color-bg);color:var(--color-primary);border-color:var(--color-primary)}.btn-outline:hover:not(:disabled){background:var(--color-primary-bg)}.btn-on-dark{color:var(--color-header-text-muted);border-color:var(--color-header-border);background:0 0}.btn-on-dark:hover:not(:disabled){color:var(--color-header-text);border-color:var(--color-header-text-muted);background:#ffffff14}.btn-return-admin{color:#fff;background:#ffffff2e;border-color:#ffffff80}.btn-return-admin:hover:not(:disabled){color:#fff;background:#ffffff4d;border-color:#ffffffb3}.tabbar-clear-btn{right:var(--space-2);z-index:3;width:28px;color:var(--color-danger);flex-shrink:0;padding:0;position:absolute;top:50%;transform:translateY(-50%);background:var(--color-bg-subtle)!important}.tabbar-clear-btn:hover:not(:disabled){background:var(--color-danger-bg);color:var(--color-danger-hover)}.scroll-to-top{right:var(--space-5);bottom:calc(var(--space-6) + env(safe-area-inset-bottom));border-radius:var(--radius-full);background:var(--color-primary);width:44px;height:44px;color:var(--color-bg);cursor:pointer;font-size:var(--font-size-2xl);box-shadow:var(--shadow-md);z-index:var(--z-sticky);opacity:0;transition:opacity var(--transition-base), transform var(--transition-base);pointer-events:none;border:none;justify-content:center;align-items:center;line-height:1;display:flex;position:fixed;transform:translateY(12px)}.scroll-to-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.scroll-to-top:hover{background:var(--color-primary-hover)}.scroll-to-top:active{transform:scale(.92)}.site-footer{background:var(--color-header-bg);color:var(--color-header-text-muted);padding:var(--space-5) var(--space-4);text-align:center;flex-shrink:0}.site-footer-inner{gap:var(--space-1);flex-direction:column;max-width:900px;margin:0 auto;display:flex}.site-footer-info{font-size:var(--font-size-sm);margin:0;line-height:1.6}.site-footer-info a{color:var(--color-header-text-muted);text-decoration:none}.site-footer-info a:hover{color:var(--color-header-text);text-decoration:underline}.site-footer-copy{font-size:var(--font-size-xs);color:var(--color-text-subtle);margin:var(--space-1) 0 0}.login-page .site-footer{z-index:10;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding-bottom:max(var(--space-5), env(safe-area-inset-bottom));background:#050a12d9;position:fixed;bottom:0;left:0;right:0}@media (display-mode:standalone){body:has(.login-page){background:var(--color-header-bg)}body:has(.app-shell){background:var(--color-bg-subtle)}}@media (width<=767px){.site-footer-info{font-size:var(--font-size-xs)}.site-footer-copy{font-size:10px}.login-page .site-footer{padding:var(--space-3);padding-bottom:max(var(--space-3), env(safe-area-inset-bottom))}}.site-footer-links{font-size:var(--font-size-sm);flex-wrap:wrap;justify-content:center;gap:6px;margin:6px 0 0;line-height:1.6;display:inline-flex}.site-footer-links a,.site-footer-link-btn{color:var(--color-header-text-muted);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:none}.site-footer-links a:hover,.site-footer-link-btn:hover{color:var(--color-header-text);text-decoration:underline}.site-footer-links__sep{color:var(--color-header-border)}@media (width<=767px){.site-footer-links{font-size:var(--font-size-xs)}}.site-footer--compact{padding:6px var(--space-3);padding-bottom:max(6px, env(safe-area-inset-bottom));background:var(--color-bg-subtle);color:var(--color-text-muted);border-top:1px solid var(--color-border);flex-shrink:0}.site-footer--compact .site-footer-inner{flex-direction:row;justify-content:center;gap:0;max-width:none}.site-footer--compact .site-footer-links{font-size:var(--font-size-xs);margin:0}.site-footer--compact .site-footer-links a,.site-footer--compact .site-footer-link-btn{color:var(--color-text-muted)}.site-footer--compact .site-footer-links a:hover,.site-footer--compact .site-footer-link-btn:hover{color:var(--color-text)}.site-footer--compact .site-footer-links__sep{color:var(--color-border-strong)}.cookie-banner{z-index:var(--z-modal-backdrop);color:var(--color-header-text);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:14px var(--space-5);padding-bottom:max(14px, env(safe-area-inset-bottom));padding-left:max(var(--space-5), env(safe-area-inset-left));padding-right:max(var(--space-5), env(safe-area-inset-right));background:#0f172af5;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 18px #0f172a2e}.cookie-banner__inner{justify-content:space-between;align-items:center;gap:var(--space-5);max-width:1180px;margin:0 auto;display:flex}.cookie-banner__text{font-size:var(--font-size-base);flex:1;margin:0;line-height:1.55}.cookie-banner__text a{color:var(--color-primary);text-decoration:underline}.cookie-banner__text a:hover{color:var(--color-primary-hover)}.cookie-banner__buttons{gap:var(--space-2);flex-shrink:0;display:flex}.cookie-banner__btn{min-width:80px;padding:var(--space-2) 18px;border-radius:var(--radius-sm);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast);border:1px solid #0000}.cookie-banner__btn--ghost{color:var(--color-header-text);background:0 0;border-color:#ffffff4d}.cookie-banner__btn--ghost:hover{background:#ffffff14;border-color:#ffffff80}.cookie-banner__btn--primary{background:var(--color-primary);color:var(--color-bg)}.cookie-banner__btn--primary:hover{background:var(--color-primary-hover)}@media (width<=767px){.cookie-banner{padding:var(--space-3) 14px;padding-bottom:max(var(--space-3), env(safe-area-inset-bottom))}.cookie-banner__inner{flex-direction:column;align-items:stretch;gap:10px}.cookie-banner__text{font-size:var(--font-size-sm);line-height:1.5}.cookie-banner__buttons{width:100%}.cookie-banner__btn{flex:1;min-width:0;padding:10px 0}}.cookie-settings-modal{background:var(--color-bg);border-radius:var(--radius-lg);padding:var(--space-6);width:480px;max-width:92vw;max-height:90vh;box-shadow:var(--shadow-xl);overflow-y:auto}.cookie-settings__header{margin-bottom:var(--space-4)}.cookie-settings__title{font-size:var(--font-size-xl);color:var(--color-text);margin:0 0 6px}.cookie-settings__desc{font-size:var(--font-size-base);color:var(--color-text-muted);margin:0;line-height:1.55}.cookie-settings__list{margin:0 0 var(--space-5);border-top:1px solid var(--color-border);padding:0;list-style:none}.cookie-settings__item{justify-content:space-between;align-items:flex-start;gap:var(--space-4);border-bottom:1px solid var(--color-border);padding:14px 0;display:flex}.cookie-settings__item-info{flex:1;min-width:0}.cookie-settings__item-name{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text);margin-bottom:var(--space-1)}.cookie-settings__item-desc{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.5}.cookie-toggle{align-items:center;gap:var(--space-2);cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0;display:inline-flex}.cookie-toggle input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.cookie-toggle__slider{background:var(--color-border-strong);width:38px;height:22px;transition:background var(--transition-fast);border-radius:11px;position:relative}.cookie-toggle__slider:before{content:"";border-radius:var(--radius-full);background:var(--color-bg);width:18px;height:18px;transition:transform var(--transition-fast);position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0f172a40}.cookie-toggle input:checked+.cookie-toggle__slider{background:var(--color-primary)}.cookie-toggle input:checked+.cookie-toggle__slider:before{transform:translate(16px)}.cookie-toggle__label{font-size:var(--font-size-sm);color:var(--color-text-muted);min-width:32px}.cookie-toggle--disabled{cursor:not-allowed;opacity:.7}.cookie-toggle--disabled .cookie-toggle__slider{background:var(--color-text-subtle)}.cookie-settings__footer{justify-content:flex-end;gap:var(--space-2);display:flex}@media (width<=767px){.cookie-settings-modal{width:100%;max-width:94vw;padding:18px}.cookie-settings__item{flex-direction:column;align-items:stretch;gap:10px}.cookie-toggle{justify-content:space-between}}.page-agree{height:auto}.page-agree h1{font-size:var(--font-size-2xl);margin-bottom:var(--space-5);color:var(--color-primary)}.page-agree .top{gap:var(--space-5);margin-bottom:var(--space-5);justify-content:flex-start;align-items:flex-start;display:flex}.page-agree .panel{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-5);box-shadow:var(--shadow-xs)}.page-agree .panel h2{font-size:var(--font-size-md);color:var(--color-text-muted);margin-bottom:var(--space-3);border-bottom:1px solid var(--color-border);padding-bottom:var(--space-2);font-weight:var(--font-weight-semibold);align-items:center;gap:var(--space-2);display:flex}.page-agree .left{flex:0 0 420px}.page-agree .right{flex:none;min-width:280px}.page-agree .agree-split{margin-bottom:var(--space-5);align-items:flex-start;gap:0;display:flex}.page-agree .agree-col-left{gap:var(--space-5);flex-direction:column;min-width:280px;display:flex}.page-agree .agree-col-left .panel{margin-bottom:0}.page-agree .agree-col-right{flex:1 1 0;min-width:0}.page-agree .agree-col-right .panel{margin-bottom:0}.page-agree .agree-divider{cursor:col-resize;border-radius:var(--radius-full);background:0 0;flex:none;align-self:stretch;width:10px;margin:0 2px;position:relative}.page-agree .agree-divider:before{content:"";background:var(--color-border);border-radius:var(--radius-full);width:2px;transition:background var(--transition-fast), width var(--transition-fast);position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.page-agree .agree-divider:hover:before{background:var(--color-primary);width:4px}.page-agree .usage-stats{gap:var(--space-4);padding:var(--space-4);margin-bottom:var(--space-4);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xs);flex-direction:column;display:flex}.page-agree .usage-head{align-items:center;gap:var(--space-3);display:flex}.page-agree .usage-stats--collapsed{padding:var(--space-2) var(--space-4);gap:0}.page-agree .usage-collapse-btn{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);border-radius:var(--radius-md);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;align-items:center;gap:5px;margin-left:-6px;padding:4px 6px;display:inline-flex}.page-agree .usage-collapse-btn:hover{color:var(--color-text)}.page-agree .usage-chevron{transition:transform var(--transition-base)}.page-agree .usage-stats--collapsed .usage-chevron{transform:rotate(-90deg)}.page-agree .usage-summary{align-items:center;gap:var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-muted);display:inline-flex}.page-agree .usage-summary b{color:var(--color-primary);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums}.page-agree .usage-summary-dup b{color:var(--color-danger)}.page-agree .usage-range{margin-left:auto}.page-agree .usage-refresh-btn{width:26px;height:26px;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:color var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast);background:0 0;justify-content:center;align-items:center;padding:0;display:inline-flex}.page-agree .usage-refresh-btn:hover{color:var(--color-primary);background:var(--color-primary-bg);border-color:var(--color-primary-border)}.page-agree .usage-refresh-btn:active svg{transition:transform .3s;transform:rotate(-180deg)}.page-agree .usage-seg{background:var(--color-bg-muted);border-radius:var(--radius-full);gap:2px;padding:3px;display:inline-flex}.page-agree .usage-seg-btn{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted);border-radius:var(--radius-full);cursor:pointer;transition:color var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast);background:0 0;border:none;padding:5px 16px}.page-agree .usage-seg-btn:hover{color:var(--color-text)}.page-agree .usage-seg-btn.active{color:var(--color-primary);background:var(--color-bg);box-shadow:var(--shadow-sm);font-weight:var(--font-weight-semibold)}.page-agree .usage-range{font-size:var(--font-size-xs);color:var(--color-text-subtle);font-variant-numeric:tabular-nums}.page-agree .usage-grid{gap:var(--space-3);grid-template-columns:minmax(120px,1fr) minmax(120px,1fr) minmax(220px,2.2fr);align-items:stretch;display:grid}.page-agree .usage-kpi{justify-content:center;gap:var(--space-1);padding:var(--space-4);border-radius:var(--radius-lg);flex-direction:column;display:flex}.page-agree .usage-kpi--issue{background:linear-gradient(135deg, var(--color-primary-bg) 0%, var(--color-bg) 100%);border:1px solid var(--color-primary-border)}.page-agree .usage-kpi--dup{background:linear-gradient(135deg, var(--color-danger-bg) 0%, var(--color-bg) 100%);border:1px solid var(--color-danger-bg)}.page-agree .usage-kpi-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted)}.page-agree .usage-kpi-value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1}.page-agree .usage-kpi--issue .usage-kpi-value{color:var(--color-primary)}.page-agree .usage-kpi--dup .usage-kpi-value{color:var(--color-danger)}.page-agree .usage-breakdown{padding:var(--space-3) var(--space-4);background:var(--color-bg-muted);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;justify-content:center;gap:7px;display:flex}.page-agree .usage-bar-row{align-items:center;gap:var(--space-2);grid-template-columns:80px 1fr auto;display:grid}.page-agree .usage-bar-label{min-width:0;font-size:var(--font-size-xs);color:var(--color-text);align-items:center;gap:5px;display:inline-flex}.page-agree .usage-bar-label img{object-fit:contain;flex-shrink:0}.page-agree .usage-bar-label>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.page-agree .usage-bar-track{border-radius:var(--radius-full);background:var(--color-primary-bg);height:8px;overflow:hidden}.page-agree .usage-bar-fill{border-radius:var(--radius-full);background:linear-gradient(90deg, var(--color-primary) 0%, #60a5fa 100%);min-width:4px;height:100%;transition:width var(--transition-base);display:block}.page-agree .usage-bar-count{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text);font-variant-numeric:tabular-nums;text-align:right;min-width:26px}.page-agree .usage-bar-count em{font-style:normal;font-weight:var(--font-weight-medium);color:var(--color-danger);margin-left:3px}.page-agree .usage-insurers-empty{font-size:var(--font-size-xs);color:var(--color-text-subtle);align-self:center}@media (width<=767px){.page-agree .usage-grid{grid-template-columns:1fr 1fr}.page-agree .usage-breakdown{grid-column:1/-1}}@media (width<=1024px){.page-agree .agree-split{flex-direction:column}.page-agree .agree-col-left{flex:auto!important;width:100%!important}.page-agree .agree-col-right{width:100%}.page-agree .agree-divider{display:none}}@media (width>=1025px){.page-agree{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.page-agree .agree-split{flex:auto;align-items:stretch;min-height:0;margin-bottom:0}.page-agree .agree-col-left{overflow-y:auto}.page-agree .agree-col-right{flex-direction:column;min-height:0;display:flex}.page-agree .agree-col-right>.panel{flex-direction:column;flex:auto;min-height:0;display:flex}.page-agree .agree-col-right .table-scroll{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.page-agree .agree-col-right .dgr-root{flex:auto;min-height:0}.page-agree .agree-col-right .dgr-table-wrap{flex-direction:column;flex:auto;min-height:0;display:flex}.page-agree .agree-col-right .dgr-scroll{flex:auto;min-height:0}.page-agree .agree-col-right .dgr-thead{z-index:5;top:-1px}}.page-agree .form-row{margin-bottom:var(--space-2);flex-direction:row;align-items:center;width:100%;display:flex}.page-agree .form-row label{width:90px;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);text-align:left;flex-shrink:0}.page-agree .form-row input,.page-agree .form-row select{height:36px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);flex:1}.page-agree .form-row input:focus,.page-agree .form-row select:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus);outline:none}.page-agree .form-row input.readonly{background:var(--color-bg-muted);color:var(--color-text-muted);cursor:default}.page-agree .agent-row{gap:6px}.page-agree .agent-row select{flex:1}.page-agree .btn-sm{white-space:nowrap;flex-shrink:0;padding:4px 10px;font-size:11px}.page-agree .planner-insurers{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.page-agree .planner-insurer-badge{height:24px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-bg-muted);font-size:var(--font-size-sm);color:var(--color-text-muted);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast);align-items:center;gap:5px;display:flex}.page-agree .planner-insurer-badge:hover{background:var(--color-bg-muted);border-color:var(--color-border-strong)}.page-agree .planner-insurer-badge img{object-fit:contain;width:18px;height:18px}.page-agree .planner-insurer-badge--add{opacity:.7;background:0 0;border-style:dashed}.page-agree .planner-insurer-badge--add:hover{opacity:1;background:var(--color-bg-muted)}.page-agree .planner-insurer-badge--add img{filter:grayscale()}.page-agree .planner-insurer-add-mark{font-weight:var(--font-weight-bold);color:var(--color-primary)}.account-info-modal{background:var(--color-bg);border-radius:var(--radius-2xl);width:340px;box-shadow:var(--shadow-xl);overflow:hidden}.account-info-modal-header{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-bg-subtle);border-bottom:1px solid var(--color-border);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);display:flex}.account-info-modal-body{padding:var(--space-4);gap:var(--space-3);flex-direction:column;display:flex}.account-info-row{align-items:center;gap:12px;display:flex}.account-info-label{width:70px;font-size:var(--font-size-sm);color:var(--color-text-muted);flex-shrink:0}.account-info-value{font-size:var(--font-size-base);color:var(--color-text);word-break:break-all}.account-info-input{height:32px;font-size:var(--font-size-base);padding:0 var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);outline:none;flex:1;min-width:0}.account-info-input:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.account-info-input--error{border-color:var(--color-danger)}.account-info-input--error:focus{border-color:var(--color-danger);box-shadow:none}.account-info-error{font-size:var(--font-size-xs);color:var(--color-danger);margin-top:4px;padding-left:82px;line-height:1.4}.account-info-pw-wrap{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.account-info-pw-wrap .account-info-input{flex:1}.btn-pw-toggle{cursor:pointer;opacity:.6;background:0 0;border:none;flex-shrink:0;padding:2px 4px;font-size:14px;line-height:1}.btn-pw-toggle:hover{opacity:1}.account-info-modal-footer{justify-content:flex-end;gap:8px;padding:10px 18px 14px;display:flex}.page-agree .btn-start{background:var(--color-primary);color:#fff}.page-agree .btn-start:hover{background:var(--color-primary-hover)}.page-agree .btn-all{background:linear-gradient(135deg, #3b82f6, var(--color-primary));color:#fff;border-color:var(--color-primary-hover)}.page-agree .btn-all svg{filter:drop-shadow(0 1px 1px #0003)}.page-agree .btn-all:hover{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-hover));border-color:var(--color-primary-hover)}.page-agree .insurer-icons{align-items:center;gap:4px;display:flex}.page-agree .btn-insurer{background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-xs);color:var(--color-text-muted);transition:background var(--transition-fast), border-color var(--transition-fast);flex-direction:column;align-items:center;gap:2px;min-width:44px;padding:4px 6px;line-height:1.2;display:flex}.page-agree .btn-insurer:hover{background:var(--color-bg-muted);border-color:var(--color-border-strong)}.page-agree .btn-insurer img{object-fit:contain;width:20px;height:20px}.page-agree .btn-pause{color:var(--color-primary);border:1px solid var(--color-primary);background:0 0}.page-agree .btn-pause:hover{background:var(--color-primary-bg)}.page-agree .btn-stop{background:var(--color-danger);color:#fff}.page-agree .btn-stop:hover{background:var(--color-danger-hover)}.page-agree .btn-del{color:var(--color-danger);border:1px solid var(--color-danger);background:0 0}.page-agree .btn-del:hover{background:var(--color-danger-bg);color:var(--color-danger-hover)}.pdf-cell{justify-content:space-between;align-items:flex-start;gap:6px;display:flex}.pdf-cell-content{flex:1;min-width:0}.page-agree .btn-area{text-align:right;margin-top:6px}.page-agree table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.page-agree th{background:var(--color-bg-subtle);border:1px solid var(--color-border);padding:var(--space-2) var(--space-3);text-align:center;font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.page-agree td{border:1px solid var(--color-border-subtle);padding:var(--space-2) var(--space-3);text-align:center;vertical-align:middle;color:var(--color-text)}.page-agree .status-wait{color:var(--color-text-subtle)}.page-agree .status-ing{color:var(--color-primary)}.page-agree .status-ok{color:var(--color-success);font-weight:700}.page-agree .status-err{color:var(--color-danger)}.page-agree .status-paused{color:var(--color-warning);font-weight:700}.page-agree .pdf-link{color:var(--color-primary);cursor:pointer;text-decoration:underline}.pdf-list{flex-direction:column;gap:4px;display:flex}.pdf-list-item{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.pdf-insurer-name{font-size:var(--font-size-xs);color:var(--color-text-subtle);min-width:36px}.pdf-list-item a{cursor:pointer;color:var(--color-primary);font-size:var(--font-size-sm);white-space:nowrap}.pdf-list-item a:hover{text-decoration:underline}.pdf-date{font-size:var(--font-size-xs);color:var(--color-text-subtle);white-space:nowrap}.customer-info-modal{width:92vw;max-width:600px}.customer-modal-tabs{border-bottom:1px solid var(--color-border);background:var(--color-bg-subtle);display:flex}.customer-modal-tab{padding:var(--space-2) var(--space-5);font-size:var(--font-size-base);cursor:pointer;color:var(--color-text-muted);font-weight:var(--font-weight-medium);background:0 0;border:none;border-bottom:2px solid #0000}.customer-modal-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:var(--font-weight-semibold)}.customer-modal-body{max-height:420px;overflow-y:auto;padding:var(--space-4)!important}.customer-info-table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm);margin-bottom:var(--space-3)}.customer-info-table th,.customer-info-table td{border:1px solid var(--color-border-subtle);padding:var(--space-2) var(--space-3);text-align:left}.customer-info-table th{background:var(--color-bg-subtle);color:var(--color-text-muted);white-space:nowrap;font-weight:600}.customer-section-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);margin-bottom:6px}.customer-planner-table thead th,.customer-consent-table thead th{text-align:center}.customer-planner-table td,.customer-consent-table td{text-align:center;vertical-align:middle}.customer-consent-table .pdf-list-item{justify-content:center}.page-agree .empty{color:var(--color-text-subtle);padding:var(--space-6);text-align:center}.page-agree .ctrl-actions{gap:4px;margin-left:auto;display:flex}.page-agree .ctrl-btns{justify-content:flex-end;gap:4px;display:flex}.page-agree .search-bar{align-items:flex-end;gap:var(--space-3);padding:var(--space-3) 0 var(--space-3);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.page-agree .search-fields{flex-wrap:wrap;flex:1;align-items:center;gap:8px;display:flex}.page-agree .search-field-group{flex-direction:column;align-items:flex-start;gap:3px;display:flex}.page-agree .search-fields label{font-size:var(--font-size-sm);color:var(--color-text-muted);white-space:nowrap}.page-agree .search-fields input,.page-agree .search-fields select{padding:0 var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);height:30px}.page-agree .search-fields input[type=date]{width:130px}.page-agree .search-btns{flex-wrap:wrap;flex-shrink:0;gap:6px;display:flex}.page-agree .loading-more{text-align:center;padding:var(--space-3);color:var(--color-text-subtle);font-size:var(--font-size-sm)}.page-agree .btn-bulk{background:var(--color-primary);color:#fff;height:36px;font-size:var(--font-size-md);border-radius:var(--radius-lg);align-items:center;gap:6px;display:flex;position:relative}.page-agree .btn-bulk:hover{background:var(--color-primary-hover)}.page-agree .btn-bulk-active{background:var(--color-primary-active)}.bulk-running-dot{background:var(--color-success);border-radius:50%;width:8px;height:8px;animation:1s ease-in-out infinite bulkPulse;display:inline-block}@keyframes bulkPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.7)}}.page-agree .btn-bulk-download{background:var(--color-primary);color:#fff;border-radius:var(--radius-md);height:32px;padding:0 var(--space-3);font-size:var(--font-size-sm);cursor:pointer;white-space:nowrap;border:none}.page-agree .btn-bulk-download:hover{background:var(--color-primary-hover)}.page-agree .btn-bulk-download:disabled{background:var(--color-bg-muted);color:var(--color-text-subtle);cursor:default}.page-agree .btn-bulk-print{background:var(--color-success);color:#fff;border-radius:var(--radius-md);height:32px;padding:0 var(--space-3);font-size:var(--font-size-sm);cursor:pointer;white-space:nowrap;border:none}.page-agree .btn-bulk-print:hover{filter:brightness(.92)}.page-agree .btn-bulk-print:disabled{background:var(--color-bg-muted);color:var(--color-text-subtle);cursor:default}.bulk-modal-overlay{z-index:var(--z-modal-backdrop);background:#0f172a80;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.bulk-modal{background:var(--color-bg);border-radius:var(--radius-2xl);width:420px;max-width:95vw;box-shadow:var(--shadow-xl);overflow:hidden}.bulk-modal-header{background:var(--color-primary);color:#fff;padding:var(--space-3) var(--space-4);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);justify-content:space-between;align-items:center;display:flex}.bulk-modal-close{color:#fff;cursor:pointer;opacity:.8;background:0 0;border:none;font-size:18px;line-height:1}.bulk-modal-close:hover{opacity:1}.bulk-modal-body{padding:var(--space-4);gap:var(--space-3);flex-direction:column;display:flex}.bulk-config-row{flex-direction:column;gap:6px;display:flex}.bulk-config-row>label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.bulk-config-row select{height:36px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);background:var(--color-bg)}.bulk-config-row-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.bulk-concurrency-select{height:28px;padding:0 var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:var(--color-bg);color:var(--color-text-muted);cursor:pointer}.bulk-insurer-checks{flex-wrap:wrap;gap:8px;display:flex}.bulk-insurer-check{height:28px;font-size:var(--font-size-sm);cursor:pointer;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-full);transition:border-color var(--transition-fast), background var(--transition-fast);align-items:center;gap:5px;display:flex}.bulk-insurer-check:hover{border-color:var(--color-primary);background:var(--color-primary-bg)}.bulk-insurer-check input[type=checkbox]{cursor:pointer}.bulk-actions{gap:8px;padding-top:2px;display:flex}.bulk-actions .btn{font-weight:var(--font-weight-semibold);flex:1}.bulk-actions .btn:disabled{opacity:.4;cursor:not-allowed}.bulk-actions .btn-restart{background:var(--color-primary);color:#fff}.bulk-actions .btn-restart:not(:disabled):hover{background:var(--color-primary-hover)}.bulk-actions .btn-reset{background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border)}.bulk-actions .btn-reset:not(:disabled):hover{background:var(--color-bg-muted)}.bulk-progress-section{border-top:1px solid var(--color-border);padding:var(--space-3) var(--space-4);gap:var(--space-3);flex-direction:column;display:flex}.bulk-current-list{flex-direction:column;gap:4px;max-height:160px;display:flex;overflow-y:auto}.bulk-current-item{font-size:var(--font-size-sm);color:var(--color-text-muted);align-items:center;gap:8px;display:flex}.bulk-current-done{color:var(--color-success-text)}.bulk-current-failed{color:var(--color-danger)}.bulk-done-mark{color:var(--color-success);font-size:var(--font-size-xs);flex-shrink:0}.bulk-failed-mark{color:var(--color-danger);font-size:var(--font-size-xs);flex-shrink:0}.bulk-done-badge{height:20px;font-size:var(--font-size-xs);color:var(--color-success-text);background:var(--color-success-bg);border-radius:var(--radius-sm);padding:0 var(--space-2);flex-shrink:0;align-items:center;margin-left:auto;font-weight:600;display:inline-flex}.bulk-failed-badge{height:20px;font-size:var(--font-size-xs);color:var(--color-danger);background:var(--color-danger-bg);border-radius:var(--radius-sm);padding:0 var(--space-2);flex-shrink:0;align-items:center;margin-left:auto;font-weight:600;display:inline-flex}.bulk-spinner{border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;flex-shrink:0;width:10px;height:10px;animation:.7s linear infinite bulkSpin}@keyframes bulkSpin{to{transform:rotate(360deg)}}.bulk-progress-bar-wrap{align-items:center;gap:var(--space-3);display:flex}.bulk-progress-bar{background:var(--color-bg-muted);border-radius:5px;flex:1;height:10px;overflow:hidden}.bulk-progress-fill{background:linear-gradient(90deg, var(--color-primary), #60a5fa);border-radius:5px;height:100%;transition:width .3s}.bulk-progress-pct{font-size:var(--font-size-sm);color:var(--color-text-muted);text-align:right;min-width:36px}.bulk-progress-stats{gap:var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-muted);display:flex}.bulk-stat-ok{color:var(--color-success-text);font-weight:600}.bulk-stat-err{color:var(--color-danger);font-weight:600}.bulk-stat-total{color:var(--color-text-muted)}.bulk-stat-done{color:var(--color-primary);font-weight:600}.bulk-stat-stopped{color:var(--color-warning-text);font-weight:600}@media (width<=600px){.bulk-modal{border-radius:10px 10px 0 0;width:100%}.bulk-actions{flex-direction:column}}.btn-bulk-input{height:36px;padding:0 var(--space-4);font-size:var(--font-size-base);cursor:pointer;background:var(--color-primary);color:#fff;border-radius:var(--radius-md);margin-left:var(--space-2);font-weight:var(--font-weight-semibold);transition:background var(--transition-fast);border:none}.btn-bulk-input:hover{background:var(--color-primary-hover)}.bulk-input-overlay{z-index:var(--z-modal-backdrop);background:#0f172a80;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.bulk-input-modal{background:var(--color-bg);border-radius:var(--radius-2xl);width:600px;max-width:95vw;max-height:90vh;box-shadow:var(--shadow-xl);flex-direction:column;display:flex;overflow:hidden}.bulk-input-header{background:var(--color-primary);color:#fff;padding:var(--space-3) var(--space-4);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);justify-content:space-between;align-items:center;display:flex}.bulk-input-header h3{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0}.bulk-input-close{color:#fff;cursor:pointer;font-size:var(--font-size-xl);opacity:.8;background:0 0;border:none;line-height:1}.bulk-input-close:hover{opacity:1}.bulk-input-body{padding:var(--space-4);gap:var(--space-3);flex-direction:column;display:flex;overflow-y:auto}.bulk-input-tabs{border-bottom:1px solid var(--color-border);gap:0;display:flex}.bulk-input-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);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px}.bulk-input-tab:hover{color:var(--color-text)}.bulk-input-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:var(--font-weight-semibold)}.bulk-input-section{gap:var(--space-2);flex-direction:column;display:flex}.bulk-input-textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;min-height:160px;padding:var(--space-2) var(--space-3);font-size:var(--font-size-base);font-family:var(--font-mono);resize:vertical;line-height:var(--line-height-normal);box-sizing:border-box;color:var(--color-text);background:var(--color-bg)}.bulk-input-textarea:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus);outline:none}.bulk-input-parse-btn{height:32px;padding:0 var(--space-3);font-size:var(--font-size-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-muted);cursor:pointer;color:var(--color-text-muted);transition:background var(--transition-fast), border-color var(--transition-fast);align-self:flex-end}.bulk-input-parse-btn:hover{background:var(--color-bg-muted);border-color:var(--color-border-strong)}.bulk-input-dropzone{border:2px dashed var(--color-border-strong);border-radius:var(--radius-lg);padding:var(--space-6) var(--space-4);text-align:center;cursor:pointer;color:var(--color-text-muted);font-size:var(--font-size-base);background:var(--color-bg-subtle);transition:border-color var(--transition-fast), background var(--transition-fast)}.bulk-input-dropzone:hover,.bulk-input-dropzone-active{border-color:var(--color-primary);background:var(--color-primary-bg)}.bulk-input-hint{font-size:var(--font-size-sm);color:var(--color-text-subtle);margin-top:var(--space-1);display:inline-block}.bulk-input-filename{color:var(--color-success-text);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm)}.bulk-input-preview-wrap{border:1px solid var(--color-border);border-radius:var(--radius-md);max-height:240px;overflow-y:auto}.bulk-input-preview{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.bulk-input-preview th{background:var(--color-bg-subtle);padding:var(--space-2) var(--space-3);text-align:left;font-weight:var(--font-weight-semibold);color:var(--color-text-muted);border-bottom:1px solid var(--color-border-subtle);z-index:1;position:sticky;top:0}.bulk-input-preview td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border-subtle);color:var(--color-text)}.bulk-input-preview .mono{font-family:var(--font-mono);font-size:var(--font-size-sm)}.bulk-input-row-error{background:var(--color-danger-bg)}.bulk-input-badge{height:20px;padding:0 var(--space-2);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);justify-content:center;align-items:center;display:inline-flex}.bulk-input-badge.ok{background:var(--color-success-bg);color:var(--color-success-text)}.bulk-input-badge.err{background:var(--color-danger-bg);color:var(--color-danger)}.bulk-input-badge.dup{background:var(--color-warning-bg);color:var(--color-warning-text)}.bulk-input-summary{font-size:var(--font-size-sm);color:var(--color-text-muted);text-align:center;padding:var(--space-2) 0}.bulk-input-summary strong{color:var(--color-success-text)}.bulk-input-footer{justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);display:flex}.bulk-input-footer .btn-cancel{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);height:36px;padding:0 var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background var(--transition-fast)}.bulk-input-footer .btn-cancel:hover{background:var(--color-bg-muted)}.bulk-input-result{text-align:center;padding:var(--space-3) var(--space-4);align-items:center;gap:var(--space-3);background:var(--color-success-bg);color:var(--color-success-text);border-left:4px solid var(--color-success);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);flex-direction:column;display:flex}.bulk-input-result-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-success-text)}@media (width<=767px){.bulk-input-modal{border-radius:0;width:100%;max-width:100%;max-height:100vh}.bulk-input-textarea{min-height:120px}.bulk-input-dropzone{padding:24px 12px}}#logBox{color:#d4d4d4;white-space:pre-wrap;word-break:break-all;background:#1e1e1e;border-radius:4px;height:240px;padding:12px;font-family:Consolas,monospace;font-size:12px;overflow-y:auto}.log-time{color:#888}.log-info{color:#4fc1ff}.log-ok{color:#6a9955}.log-err{color:#f44747}.log-warn{color:#dcdcaa}.log-tag{border-radius:3px;padding:0 4px;font-size:11px;font-weight:700}.log-filter{align-items:center;gap:6px;margin-left:auto;font-size:12px;display:flex}.log-filter select{border:1px solid #ccc;border-radius:4px;padding:3px 8px;font-size:12px}.log-filter button{cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:20px;padding:3px 10px;font-size:12px}.log-filter button:hover{background:#f0f0f0}.log-entry{line-height:1.6}.page-admin .admin-section{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5);margin-bottom:var(--space-5)}.page-admin .admin-section h2{font-size:var(--font-size-lg);color:var(--color-text);margin-bottom:var(--space-4);padding-bottom:var(--space-2);border-bottom:2px solid var(--color-primary)}.page-admin .info-text{color:var(--color-text-subtle);font-size:var(--font-size-md);text-align:center;padding:40px}.page-role{flex-direction:column;gap:0;height:100%;padding:0;display:flex}.page-role>.page-header{margin-bottom:0;padding:16px 16px 0}.role-body{flex:1;min-height:0;display:flex;overflow:hidden}.role-left{border-right:1px solid var(--color-border);width:420px;padding:var(--space-4);flex-direction:column;flex-shrink:0;display:flex}.role-right{padding:var(--space-4);flex-direction:column;flex:1;display:flex}.role-toolbar{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.role-toolbar .role-title{font-size:15px;font-weight:var(--font-weight-bold);color:var(--color-text)}.role-toolbar .role-count{font-size:var(--font-size-sm);color:var(--color-text-subtle);margin-left:auto}.role-btn{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);cursor:pointer;background:var(--color-border);color:var(--color-text);border:none;border-radius:20px;padding:5px 14px}.role-btn:hover{background:var(--color-border-strong)}.role-btn-add{background:var(--color-primary);color:var(--color-bg)}.role-btn-add:hover{background:var(--color-primary-hover)}.role-btn-del{background:var(--color-danger);color:var(--color-bg)}.role-btn-del:hover{background:var(--color-danger-hover)}.role-btn-save{background:var(--color-success);color:var(--color-bg)}.role-btn-save:hover{background:var(--color-success-text)}.role-grid{border:1px solid var(--color-border);border-radius:var(--radius-sm);flex:1;overflow-y:auto}.role-grid table{border-collapse:collapse;width:100%;font-size:var(--font-size-base)}.role-grid th{background:var(--color-bg-subtle);border-bottom:2px solid var(--color-border);padding:var(--space-2) 10px;text-align:center;font-weight:var(--font-weight-bold);z-index:1;position:sticky;top:0}.role-grid td{border-bottom:1px solid var(--color-border-subtle);text-align:center;cursor:pointer;padding:7px 10px}.role-grid tr:hover td{background:var(--color-primary-bg)}.role-grid tr.selected td{background:var(--color-primary-bg);font-weight:var(--font-weight-bold)}.role-grid input[type=text]{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);width:100%;padding:var(--space-1) 6px;font-size:var(--font-size-sm)}.role-grid select{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:var(--font-size-sm);padding:3px 6px}.role-tabs{margin-bottom:var(--space-3);border-bottom:2px solid var(--color-border);gap:0;display:flex}.role-tab{padding:var(--space-2) var(--space-5);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text-subtle);cursor:pointer;border-bottom:2px solid #0000;margin-bottom:-2px}.role-tab:hover{color:var(--color-text)}.role-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.role-right-info{gap:var(--space-4);margin-bottom:var(--space-3);font-size:var(--font-size-base);color:var(--color-text-muted);display:flex}.role-right-info span{font-weight:var(--font-weight-bold);color:var(--color-text)}.user-grid{border:1px solid var(--color-border);border-radius:var(--radius-sm);flex:1;overflow-y:auto}.user-grid table{border-collapse:collapse;width:100%;font-size:var(--font-size-base)}.user-grid th{background:var(--color-bg-subtle);border-bottom:2px solid var(--color-border);padding:var(--space-2) 10px;text-align:center;font-weight:var(--font-weight-bold);z-index:1;position:sticky;top:0}.user-grid td{border-bottom:1px solid var(--color-border-subtle);text-align:center;padding:7px 10px}.user-grid .empty-msg{color:var(--color-text-subtle);text-align:center;padding:40px}.user-mgmt-search{align-items:flex-end;gap:var(--space-3);border-bottom:1px solid var(--color-border-subtle);margin-bottom:var(--space-3);flex-wrap:wrap;padding:10px 0 14px;display:flex}.user-mgmt-search-fields{align-items:center;gap:var(--space-2);flex-wrap:wrap;flex:1;display:flex}.user-mgmt-search-field-group{flex-direction:column;align-items:flex-start;gap:3px;display:flex}.user-mgmt-search-fields label{font-size:var(--font-size-base);color:var(--color-text-muted);white-space:nowrap}.user-mgmt-search-fields input{height:32px;padding:0 var(--space-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:var(--font-size-base);width:180px}.user-mgmt-search-btns{flex-shrink:0;gap:6px;display:flex}.user-mgmt-toolbar{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.user-mgmt-count{font-size:var(--font-size-base);color:var(--color-text-muted)}.user-mgmt-loading{font-size:var(--font-size-base);color:var(--color-text-subtle);margin-bottom:var(--space-2)}.user-role-tags{gap:var(--space-1);flex-wrap:wrap;justify-content:center;display:flex}.user-role-tag{padding:2px var(--space-2);background:var(--color-primary-bg);color:var(--color-primary-hover);border:1px solid var(--color-primary-border);border-radius:var(--radius-lg);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);white-space:nowrap;display:inline-block}@media (width<=767px){.user-grid table thead{display:none}.user-grid table,.user-grid tbody,.user-grid tr,.user-grid td{width:100%;display:block}.user-grid tr{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);margin-bottom:10px}.user-grid td{padding:var(--space-1) 0;text-align:left;font-size:var(--font-size-base);border:none}.user-grid td:before{content:attr(data-label) ": ";font-weight:var(--font-weight-semibold);color:var(--color-text-muted)}.user-role-tags{justify-content:flex-start}.user-mgmt-search{align-items:stretch;gap:var(--space-2);flex-direction:column}.user-mgmt-search-fields{gap:6px}.user-mgmt-search-fields input{width:100%}.user-mgmt-search-btns{justify-content:flex-end}}.status-ok{color:var(--color-success);font-weight:var(--font-weight-bold)}.status-err{color:var(--color-danger)}.status-ing{color:var(--color-primary)}.status-wait{color:var(--color-text-subtle)}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}@media (width<=1024px){.page-agree .left{flex:0 0 360px}.page-agree .right{flex:none;min-width:260px}.role-left{width:320px}.page-agree table,.role-grid table,.user-grid table{font-size:12px}.page-agree th,.page-agree td{padding:6px 8px}.tab-panel{padding:16px}}@supports (-webkit-touch-callout:none){input,select,textarea{font-size:max(16px,1em)!important}}@media (width<=768px){.header{height:calc(44px + env(safe-area-inset-top));padding:0 12px;padding-top:env(safe-area-inset-top);padding-left:max(12px, env(safe-area-inset-left));padding-right:max(12px, env(safe-area-inset-right))}.logo{font-size:15px}.header-right{gap:8px;font-size:12px}.header-right .btn-on-dark{padding:0 var(--space-2);font-size:var(--font-size-xs);height:24px}.impersonation-banner{gap:8px;padding:5px 12px;font-size:12px}.btn-return-admin{padding:3px 10px;font-size:11px}.menu-toggle{align-items:center;display:flex}.menu-chevron{display:none}.menubar{height:38px;position:relative}.menu-backdrop{-webkit-backdrop-filter:blur(2px);z-index:199;background:#0f172a73;animation:.2s ease-out menu-backdrop-fade;position:fixed;inset:0}@keyframes menu-backdrop-fade{0%{opacity:0}to{opacity:1}}.menu-list{background:var(--color-bg);width:300px;max-width:82vw;height:100%;padding:0;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);z-index:200;flex-direction:column;align-items:stretch;gap:0;transition:transform .25s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-100%);box-shadow:0 12px 32px #0f172a2e}.menubar.mobile-open .menu-list{transform:translate(0)}.menu-item{border-bottom:none;border-radius:0;height:auto;padding:0;display:block;position:static}.menu-item:hover{background:0 0}.menu-item.active:after{display:none}.menu-item .menu-item-label{color:var(--color-text);cursor:pointer;border-left:3px solid #0000;padding:12px 16px;font-size:14px;font-weight:600;display:block}.menu-item .menu-item-label:hover{background:var(--color-bg-muted);color:var(--color-primary)}.menu-item.sub-open>.menu-item-label{color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:.6px;cursor:default;border-left:none;padding:10px 16px 6px;font-size:11px;font-weight:700}.menu-item:has(.menu-sub)>.menu-item-label{color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:.6px;cursor:default;border-left:none;padding:10px 16px 6px;font-size:11px;font-weight:700}.menu-item:has(.menu-sub)>.menu-item-label:hover{color:var(--color-text-subtle);background:0 0}.menu-sub,.menu-sub-sub,.menu-sub-sub-sub{box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important;margin:0!important;padding:0!important;display:block!important;position:static!important}.menu-sub-item{color:var(--color-text);cursor:pointer;border-bottom:none;border-left:3px solid #0000;align-items:center;gap:10px;padding:11px 16px 11px 28px;font-size:13.5px;font-weight:500;display:flex}.menu-sub-item:before{content:"";background:var(--color-border);border-radius:50%;flex-shrink:0;width:4px;height:4px}.menu-sub-item:hover{background:var(--color-bg-muted);color:var(--color-primary)}.menu-sub-expandable{color:var(--color-text-subtle);cursor:default;border-left:none;padding:11px 16px 6px 28px;font-size:12px;font-weight:600;display:block}.menu-sub-expandable:before{display:none}.menu-sub-expandable:hover,.menu-sub-expandable.sub-sub-open{color:var(--color-text-subtle);background:0 0}.menu-sub-sub-item{color:var(--color-text-muted);cursor:pointer;border-left:3px solid #0000;align-items:center;gap:10px;padding:10px 16px 10px 44px;font-size:13px;font-weight:500;display:flex}.menu-sub-sub-item:before{content:"";background:var(--color-border);border-radius:50%;flex-shrink:0;width:4px;height:4px}.menu-sub-sub-item:hover{background:var(--color-bg-muted);color:var(--color-primary)}.menu-sub-sub-expandable{color:var(--color-text-subtle);cursor:default;padding:10px 16px 6px 44px;font-size:12px;font-weight:600;display:block}.menu-sub-sub-expandable:before{display:none}.menu-sub-sub-expandable:hover,.menu-sub-sub-expandable.sub-sub-sub-open{color:var(--color-text-subtle);background:0 0}.menu-sub-sub-sub-item{color:var(--color-text-subtle);cursor:pointer;align-items:center;gap:10px;padding:9px 16px 9px 60px;font-size:12.5px;font-weight:500;display:flex}.menu-sub-sub-sub-item:before{content:"";background:var(--color-border);border-radius:50%;flex-shrink:0;width:4px;height:4px}.menu-sub-sub-sub-item:hover{background:var(--color-bg-muted);color:var(--color-primary)}.tabbar{height:30px}.tab{height:26px;padding:0 10px;font-size:11px}.tab-panel{padding:12px}.login-box{width:90%;max-width:360px;padding:28px 20px 24px}.login-logo{font-size:22px}.page-agree h1{margin-bottom:14px;font-size:17px}.page-agree .top{flex-direction:column;align-items:stretch;gap:12px}.page-agree .left{flex:none;width:100%}.page-agree .right{flex:none;width:100%;height:auto}.page-agree .panel{margin-bottom:14px;padding:14px}.page-agree .form-row label{width:80px;font-size:12px}.page-agree .form-row input,.page-agree .form-row select{font-size:12px}.page-agree .table-scroll{overflow-x:visible}.page-agree table,.page-agree thead,.page-agree tbody,.page-agree th,.page-agree td,.page-agree tr{display:block}.page-agree thead tr{display:none}.page-agree tbody tr{border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-3);padding:var(--space-3);background:var(--color-bg);box-shadow:var(--shadow-sm);position:relative}.page-agree .ctrl-actions{gap:6px;position:absolute;top:4px;right:10px}.page-agree .ctrl-actions .btn{padding:5px 12px;font-size:12px}.page-agree td[data-label=No]{padding-right:140px}.page-agree td{text-align:left;border:none;align-items:center;gap:8px;padding:5px 0;font-size:13px;display:flex}.page-agree td:before{content:attr(data-label);font-weight:700;font-size:var(--font-size-xs);color:var(--color-text-subtle);flex-shrink:0;min-width:80px}.page-agree td[data-label=선택]{border:none;width:auto;padding:0;position:absolute;top:18px;left:10px}.page-agree td[data-label=선택]:before{display:none}.page-agree td[data-label=No]{font-size:var(--font-size-md);border-bottom:1px solid var(--color-border-subtle);padding-bottom:var(--space-2);margin-bottom:var(--space-1);padding-left:28px;font-weight:700}.page-agree td[data-label=No]:before,.page-agree td[data-label=제어]:before{display:none}.page-agree td[data-label=제어]{padding-top:var(--space-2);border-top:1px solid var(--color-border-subtle);margin-top:var(--space-1);justify-content:flex-end}.page-agree .ctrl-btns .btn{font-size:var(--font-size-base);padding:7px 18px}.page-agree td[data-empty]{display:none}.page-agree .empty{text-align:center;padding:var(--space-5);color:var(--color-text-subtle);display:block}.page-agree .search-bar{flex-direction:column;align-items:stretch;gap:8px}.page-agree .search-fields{flex-wrap:wrap;gap:6px}.page-agree .search-btns{flex-wrap:wrap;flex-shrink:1;gap:6px;width:100%}.page-agree .btn-bulk,.page-agree .btn-bulk-download,.page-agree .btn-bulk-print{white-space:nowrap;text-overflow:ellipsis;flex:auto;justify-content:center;min-width:0;padding:6px 10px;font-size:12px;overflow:hidden}.page-agree .search-btns .btn-primary,.page-agree .search-btns .btn{flex:auto;padding:6px 10px;font-size:12px}#logBox{height:160px;font-size:11px}.log-filter,.log-filter select,.log-filter button{font-size:11px}.page-role{flex-direction:column;height:auto}.role-left{border-right:none;border-bottom:1px solid var(--color-border);width:100%;padding:var(--space-3);max-height:40vh}.role-right{padding:12px}.role-toolbar .role-title{font-size:14px}.role-grid table,.user-grid table{font-size:12px}.role-grid th,.role-grid td,.user-grid th,.user-grid td{padding:6px}.role-tab{padding:6px 14px;font-size:12px}.page-admin .admin-section{padding:14px}.sysinfo-cards{grid-template-columns:1fr 1fr}.sysinfo-charts{grid-template-columns:1fr}}.page-sysinfo{padding:var(--space-5);height:100%;overflow-y:auto}.sysinfo-header{align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);display:flex}.sysinfo-header h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text)}.sysinfo-status{padding:3px var(--space-2) 3px var(--space-2);border-radius:var(--radius-xl);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px;display:inline-block}.sysinfo-status.connected{background:var(--color-success);color:var(--color-bg)}.sysinfo-status.connecting{background:var(--color-warning);color:var(--color-bg)}.sysinfo-status.error{background:var(--color-danger);color:var(--color-bg)}.sysinfo-cards{gap:var(--space-3);margin-bottom:var(--space-5);grid-template-columns:repeat(4,1fr);display:grid}.sysinfo-card{background:var(--color-bg);border-radius:var(--radius-lg);padding:var(--space-4) 18px;box-shadow:var(--shadow-sm);border-left:4px solid var(--color-border-strong)}.sysinfo-card.cpu{border-left-color:var(--color-danger)}.sysinfo-card.memory{border-left-color:var(--color-primary)}.sysinfo-card.network{border-left-color:var(--color-success)}.sysinfo-card.connections{border-left-color:var(--color-info)}.sysinfo-card-label{font-size:var(--font-size-sm);color:var(--color-text-subtle);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.sysinfo-card-value{font-size:28px;font-weight:var(--font-weight-bold);color:var(--color-text);line-height:1.2}.sysinfo-card-sub{font-size:var(--font-size-xs);color:var(--color-text-subtle);margin-top:var(--space-1);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sysinfo-charts{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.sysinfo-chart-box{background:var(--color-bg);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm)}.sysinfo-chart-box h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);margin-bottom:var(--space-2)}.sysinfo-info-grid{gap:var(--space-4);margin-top:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.sysinfo-info-box{background:var(--color-bg);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);box-shadow:var(--shadow-sm)}.sysinfo-info-box h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border-subtle)}.sysinfo-info-rows{gap:var(--space-2);flex-direction:column;display:flex}.sysinfo-info-row{align-items:center;gap:var(--space-3);display:flex}.sysinfo-info-label{font-size:var(--font-size-sm);color:var(--color-text-subtle);flex-shrink:0;min-width:80px}.sysinfo-info-value{font-size:var(--font-size-base);color:var(--color-text);word-break:break-all}.sysinfo-monospace{font-family:var(--font-mono);font-size:var(--font-size-sm);background:var(--color-bg-subtle);border-radius:var(--radius-sm);padding:2px 6px}.sysinfo-db-badge{padding:2px var(--space-2) 2px var(--space-2);border-radius:var(--radius-xl);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);display:inline-block}.sysinfo-db-badge.connected{background:var(--color-success-bg);color:var(--color-success-text)}.sysinfo-db-badge.error{background:var(--color-danger-bg);color:var(--color-danger-hover)}@media (width<=1024px){.sysinfo-cards{grid-template-columns:1fr 1fr}.sysinfo-charts,.sysinfo-info-grid{grid-template-columns:1fr}}.page-dashboard{max-width:1200px;padding:20px 24px}.dashboard-header{margin-bottom:var(--space-5)}.dashboard-panel{background:var(--color-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:var(--space-6);overflow:hidden}.dashboard-panel-header{padding:14px var(--space-5);border-bottom:1px solid var(--color-border);background:var(--color-bg-subtle);align-items:center;display:flex}.dashboard-panel-title{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text);text-transform:uppercase;letter-spacing:.5px}.dashboard-panel-body{padding:var(--space-5)}.dashboard-empty{padding:var(--space-8);text-align:center;color:var(--color-text-subtle);font-size:var(--font-size-base);background:var(--color-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.dashboard-view-modal{flex-direction:column;width:90%;max-width:680px;max-height:80vh;display:flex}@media (width<=767px){.page-dashboard,.dashboard-panel-body{padding:12px}.dashboard-view-modal{width:96vw;max-height:90vh}.page-dashboard .table-wrap{overflow-x:unset}.page-dashboard .data-table,.page-dashboard .data-table thead,.page-dashboard .data-table tbody,.page-dashboard .data-table th,.page-dashboard .data-table td,.page-dashboard .data-table tr{display:block}.page-dashboard .data-table{box-shadow:none;background:0 0;border-radius:0}.page-dashboard .data-table thead{display:none}.page-dashboard .data-table tbody tr{background:var(--color-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-3) 14px;border-bottom:none;grid-template-columns:1fr 1fr;margin-bottom:10px;display:grid}.page-dashboard .data-table td{font-size:var(--font-size-base);border-bottom:none;flex-direction:column;gap:2px;padding:3px 0;display:flex;text-align:left!important}.page-dashboard .data-table td:before{content:attr(data-label);font-weight:var(--font-weight-semibold);color:var(--color-text-subtle);font-size:var(--font-size-xs)}.page-dashboard .data-table td:first-child{display:none}.page-dashboard .data-table td:nth-child(2){font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text);padding-bottom:var(--space-2);margin-bottom:var(--space-1);border-bottom:1px solid var(--color-border-subtle);flex-direction:row;grid-column:1/3;align-items:center;gap:6px}.page-dashboard .data-table td:nth-child(2):before{display:none}.page-dashboard .data-table td:nth-child(3){flex-direction:row;grid-column:1/3;align-items:center}.page-dashboard .data-table td:nth-child(3):before{display:none}}.page-accesslog{padding:var(--space-5) var(--space-6);max-width:1200px}.accesslog-header h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text);margin-bottom:var(--space-4)}.accesslog-section{background:var(--color-bg);border-radius:var(--radius-lg);padding:18px var(--space-5);box-shadow:var(--shadow-sm);margin-bottom:var(--space-4)}.accesslog-section-header{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.accesslog-section-header h3{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--color-text-muted);align-items:center;gap:var(--space-2);display:flex}.accesslog-period-tabs{gap:var(--space-1);display:flex}.accesslog-period-btn{padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-bg);color:var(--color-text-subtle);cursor:pointer;transition:all var(--transition-fast)}.accesslog-period-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.accesslog-period-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-bg)}.accesslog-chart-wrap{margin-top:var(--space-1)}.accesslog-chart-hint{font-size:var(--font-size-xs);color:var(--color-text-subtle);text-align:center;margin-top:var(--space-2)}.accesslog-period-badge{padding:2px var(--space-2) 2px var(--space-2);background:var(--color-primary-bg);color:var(--color-primary);border-radius:var(--radius-xl);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);display:inline-block}.accesslog-empty{padding:var(--space-8);text-align:center;color:var(--color-text-subtle);font-size:var(--font-size-base)}.accesslog-sentinel{height:var(--space-8);justify-content:center;align-items:center;display:flex}.accesslog-loading-more{font-size:var(--font-size-sm);color:var(--color-text-subtle)}@media (width<=600px){.page-accesslog{padding:var(--space-3)}}.page-serverlog{background:var(--color-header-bg);height:100%;color:var(--color-header-text);font-family:var(--font-mono);flex-direction:column;display:flex;overflow:hidden}.serverlog-header{padding:var(--space-3) var(--space-4) var(--space-2);border-bottom:1px solid var(--color-header-border);background:#ffffff0a;flex-shrink:0}.serverlog-title-row{align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);display:flex}.serverlog-title-row h2{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--color-header-text);font-family:var(--font-sans);margin:0}.serverlog-toolbar{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.serverlog-filters{gap:var(--space-1);display:flex}.serverlog-filter-btn{padding:3px var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border:1px solid var(--color-header-border);border-radius:var(--radius-full);color:var(--color-header-text-muted);cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-mono);background:0 0}.serverlog-filter-btn:hover{color:var(--color-header-text);background:#ffffff14}.serverlog-filter-btn.active{color:var(--color-header-text);border-color:var(--color-primary);background:#ffffff14}.serverlog-search{min-width:160px;max-width:280px;padding:var(--space-1) var(--space-2);font-size:var(--font-size-sm);background:var(--color-header-bg);border:1px solid var(--color-header-border);border-radius:var(--radius-sm);color:var(--color-header-text);font-family:var(--font-sans);outline:none;flex:1}.serverlog-search:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.serverlog-actions{align-items:center;gap:6px;display:flex}.serverlog-btn{padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm);border:1px solid var(--color-header-border);border-radius:var(--radius-full);color:var(--color-header-text);cursor:pointer;transition:background var(--transition-fast);white-space:nowrap;font-family:var(--font-sans);background:#ffffff14;position:relative}.serverlog-btn:hover{background:#ffffff24}.serverlog-btn.paused{border-color:var(--color-warning);color:var(--color-warning)}.serverlog-btn-scroll{border-color:var(--color-primary);color:var(--color-primary)}.serverlog-pending-badge{background:var(--color-warning-bg);color:var(--color-warning-text);font-size:10px;font-weight:var(--font-weight-bold);padding:0 var(--space-1);border-radius:var(--radius-full);text-align:center;min-width:16px;line-height:16px;position:absolute;top:-6px;right:-6px}.serverlog-count{font-size:var(--font-size-xs);color:var(--color-header-text-muted);font-family:var(--font-sans);margin-top:6px}.serverlog-paused-label{color:var(--color-warning)}.serverlog-list{scroll-behavior:auto;flex:1;padding:6px 0;overflow-y:auto}.serverlog-list::-webkit-scrollbar{width:6px}.serverlog-list::-webkit-scrollbar-track{background:var(--color-header-bg)}.serverlog-list::-webkit-scrollbar-thumb{background:var(--color-header-border);border-radius:3px}.serverlog-row{align-items:baseline;gap:var(--space-2);padding:2px var(--space-4);font-size:var(--font-size-sm);line-height:1.6;transition:background .1s;display:flex}.serverlog-row:hover{background:#ffffff0a}.serverlog-row-error{background:#ef444414}.serverlog-row-warn{background:#f59e0b14}.serverlog-time{color:var(--color-header-text-muted);font-size:var(--font-size-xs);flex-shrink:0}.serverlog-level{font-weight:var(--font-weight-bold);font-size:var(--font-size-xs);flex-shrink:0;width:56px}.serverlog-context{color:var(--color-primary);font-size:var(--font-size-xs);flex-shrink:0}.serverlog-message{color:var(--color-header-text);word-break:break-all;white-space:pre-wrap}.serverlog-empty{padding:var(--space-8);text-align:center;color:var(--color-header-text-muted);font-family:var(--font-sans)}@media (width<=768px){.serverlog-toolbar{flex-direction:column;align-items:flex-start}.serverlog-search{width:100%;max-width:100%}}@media (width<=600px){.page-sysinfo{padding:var(--space-3)}.sysinfo-cards{grid-template-columns:1fr}.sysinfo-card-value{font-size:var(--font-size-3xl)}}.layer-popup-overlay{z-index:var(--z-dropdown);background:#0f172a80;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.layer-popup{background:var(--color-bg);border-radius:var(--radius-md);flex-direction:column;max-height:90vh;display:flex;position:relative;overflow:hidden}.layer-popup-movable{will-change:transform}.layer-popup-movable.modal-box{padding:0}.lp-rh{z-index:10;position:absolute}.lp-rh-nw{cursor:nw-resize;width:12px;height:12px;top:0;left:0}.lp-rh-ne{cursor:ne-resize;width:12px;height:12px;top:0;right:0}.lp-rh-sw{cursor:sw-resize;width:12px;height:12px;bottom:0;left:0}.lp-rh-se{cursor:se-resize;width:12px;height:12px;bottom:0;right:0}.lp-rh-n{cursor:n-resize;height:5px;top:0;left:12px;right:12px}.lp-rh-s{cursor:s-resize;height:5px;bottom:0;left:12px;right:12px}.lp-rh-w{cursor:w-resize;width:5px;top:12px;bottom:12px;left:0}.lp-rh-e{cursor:e-resize;width:5px;top:12px;bottom:12px;right:0}.layer-popup-titlebar{align-items:center;gap:var(--space-2);padding:11px var(--space-4) 11px var(--space-5);border-bottom:1px solid var(--color-border);background:var(--color-bg-subtle);cursor:grab;-webkit-user-select:none;user-select:none;border-radius:var(--radius-md) var(--radius-md) 0 0;flex-shrink:0;display:flex}.layer-popup-titlebar:active{cursor:grabbing}.layer-popup-titlebar-text{font-size:15px;font-weight:var(--font-weight-semibold);color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:1;overflow:hidden}.layer-popup-close{font-size:var(--font-size-lg);color:var(--color-text-subtle);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;padding:2px 6px;line-height:1}.layer-popup-close:hover{color:var(--color-text);background:var(--color-border)}.layer-popup-titlebar.bulk-title{border-radius:var(--radius-md) var(--radius-md) 0 0;background:#6c5ce7;border-bottom-color:#0000}.layer-popup-titlebar.bulk-title .layer-popup-titlebar-text{color:var(--color-bg)}.layer-popup-titlebar.bulk-title .layer-popup-close{color:#fffc}.layer-popup-titlebar.bulk-title .layer-popup-close:hover{color:var(--color-bg);background:#ffffff26}.layer-popup-titlebar.dark-title{background:var(--color-header-bg);border-radius:var(--radius-md) var(--radius-md) 0 0;border-bottom-color:#0000}.layer-popup-titlebar.dark-title .layer-popup-titlebar-text{color:var(--color-header-text-muted)}.layer-popup-titlebar.dark-title .layer-popup-close{color:#ffffffb3}.layer-popup-titlebar.dark-title .layer-popup-close:hover{color:var(--color-bg);background:#ffffff1f}.modal-overlay{z-index:9999;background:#0f172a80;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-box{background:var(--color-bg);border-radius:var(--radius-2xl);padding:var(--space-8) 28px var(--space-6);min-width:320px;max-width:90vw;box-shadow:var(--shadow-xl);text-align:center;animation:.15s slideUp}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.modal-message{color:var(--color-text);white-space:pre-line;margin-bottom:var(--space-6);font-size:15px;line-height:1.7}.modal-btns{justify-content:center;gap:10px;display:flex}.modal-btns .btn{min-width:80px}.pdf-modal-overlay{z-index:10000;background:#0f172ab3;justify-content:center;align-items:stretch;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.pdf-modal{width:100%;max-width:960px;margin:var(--space-6) auto;background:var(--color-header-bg);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);flex-direction:column;animation:.15s slideUp;display:flex;overflow:hidden}.pdf-modal-header{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-header-bg);border-bottom:1px solid var(--color-header-border);min-height:48px;display:flex}.pdf-modal-btn{border:1px solid var(--color-header-border);border-radius:var(--radius-md);color:var(--color-header-text);cursor:pointer;height:28px;padding:0 var(--space-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);background:0 0;flex-shrink:0;justify-content:center;align-items:center;display:flex}.pdf-modal-btn:hover{border-color:var(--color-header-text-muted);color:var(--color-header-text);background:#ffffff14}.pdf-modal-close-text{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);white-space:nowrap;color:var(--color-header-text)}.pdf-modal-actions{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.pdf-modal-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-header-text);text-align:center;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.pdf-modal-iframe-wrap{-webkit-overflow-scrolling:touch;background:var(--color-bg-muted);flex:1;min-height:0;overflow-y:auto}.pdf-modal-iframe{background:var(--color-bg);border:none;width:100%;height:100%;display:block}@media (width<=767px){.pdf-modal-overlay{align-items:stretch}.pdf-modal{border-radius:0;flex:1;margin:0}.pdf-modal-header{padding:var(--space-2) var(--space-3);min-height:44px}.pdf-modal-title{font-size:var(--font-size-sm)}}@media (display-mode:standalone){.pdf-modal-overlay{padding-top:env(safe-area-inset-top,50px)}}.card-only{display:none}@media (width<=767px){.card-only{display:inline-flex}}.log-modal-box{background:var(--color-header-bg);border-radius:var(--radius-2xl);width:92vw;max-width:480px;max-height:70vh;box-shadow:var(--shadow-xl);flex-direction:column;animation:.15s slideUp;display:flex;overflow:hidden}.log-modal-header{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-header-border);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-header-text);align-items:center;gap:var(--space-1);flex-shrink:0;display:flex}.log-modal-close{color:var(--color-header-text-muted);font-size:var(--font-size-lg);cursor:pointer;padding:var(--space-1) var(--space-2);transition:color var(--transition-fast);background:0 0;border:none;margin-left:auto;line-height:1}.log-modal-close:hover{color:var(--color-header-text)}.log-modal-body{padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);font-family:var(--font-mono);color:var(--color-header-text);flex:1;overflow:hidden auto}.log-modal-body .log-entry{padding:var(--space-1) 0;border-bottom:1px solid var(--color-header-border);word-break:break-all}.log-modal-empty{text-align:center;color:var(--color-header-text-muted);padding:var(--space-8) 0}.page-notice{padding:var(--space-5);gap:var(--space-3);flex-direction:column;height:100%;display:flex;overflow-y:auto}.page-notice-header{flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.page-header{align-items:center;gap:var(--space-2);flex-shrink:0;margin-bottom:10px;display:flex}.page-header-actions{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.page-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text);letter-spacing:var(--letter-spacing-tight);margin:0}.page-breadcrumb{font-size:var(--font-size-sm);color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:0;margin-left:auto;display:flex}.page-breadcrumb-bracket{color:var(--color-text-subtle);font-size:var(--font-size-sm);line-height:1}.page-breadcrumb-item{align-items:center;display:flex}.page-breadcrumb-sep{margin:0 var(--space-1);color:var(--color-text-subtle);font-size:var(--font-size-xs)}.page-breadcrumb-ancestor{color:var(--color-text-subtle)}.page-breadcrumb-current{color:var(--color-text-muted);font-weight:var(--font-weight-semibold)}@media (width<=768px){.page-header{flex-wrap:wrap}.page-title{flex:auto;order:1}.page-header-actions{flex-shrink:0;order:2}.page-breadcrumb{font-size:var(--font-size-xs);flex:0 0 100%;order:3;margin-left:0}}.menu-tree-node,.menu-tree-row-wrap{position:relative}.menu-tree-row-wrap.drop-before:before{content:"";top:-1px;left:var(--space-2);right:var(--space-2);background:var(--color-primary);z-index:2;pointer-events:none;border-radius:1px;height:2px;position:absolute}.menu-tree-row-wrap.drop-before:after{content:"";border-radius:var(--radius-full);background:var(--color-primary);z-index:3;pointer-events:none;width:6px;height:6px;position:absolute;top:-4px;left:6px}.menu-tree-row-wrap.drop-after:before{content:"";bottom:-1px;left:var(--space-2);right:var(--space-2);background:var(--color-primary);z-index:2;pointer-events:none;border-radius:1px;height:2px;position:absolute}.menu-tree-row-wrap.drop-after:after{content:"";border-radius:var(--radius-full);background:var(--color-primary);z-index:3;pointer-events:none;width:6px;height:6px;position:absolute;bottom:-4px;left:6px}.menu-tree-row-wrap.drop-inside .menu-tree-row{outline:2px solid var(--color-primary);outline-offset:-2px;border-radius:var(--radius-sm);background-color:var(--color-primary-bg)!important}.menu-tree-dragging{opacity:.35}.menu-tree-drag-handle{cursor:grab;color:var(--color-border-strong);font-size:var(--font-size-md);transition:color var(--transition-fast);flex-shrink:0;padding:0 2px;line-height:1}.menu-tree-row:hover .menu-tree-drag-handle{color:var(--color-text-subtle)}.menu-tree-drag-handle:active{cursor:grabbing}.menu-tree-expand-icon{font-size:var(--font-size-xs);color:var(--color-text-subtle);text-align:center;width:12px;display:inline-block}@keyframes expand-pulse{0%,to{color:var(--color-text-subtle);transform:scale(1)}50%{color:var(--color-primary);transform:scale(1.3)}}.menu-tree-expand-icon.pending-expand{animation:.5s ease-in-out infinite expand-pulse}.menu-tree-top-zone,.menu-tree-bottom-zone{height:32px;margin:2px var(--space-2);border-radius:var(--radius-sm);transition:background var(--transition-fast), border-color var(--transition-fast);pointer-events:none;border:2px solid #0000}.menu-tree-top-zone.visible,.menu-tree-bottom-zone.visible{pointer-events:auto}.menu-tree-top-zone.active,.menu-tree-bottom-zone.active{background:var(--color-primary-bg);border-color:var(--color-primary);border-style:dashed}.menu-tree-empty-zone{margin:3px var(--space-2) 3px 0;padding:5px var(--space-3);font-size:var(--font-size-xs);color:var(--color-text-subtle);border:1px dashed var(--color-border);border-radius:var(--radius-sm);text-align:center;transition:all var(--transition-fast);cursor:default}.menu-tree-empty-zone.drop-inside-active{border-color:var(--color-primary);background:var(--color-primary-bg);color:var(--color-primary);font-weight:var(--font-weight-medium)}.table-wrap{flex:1;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:var(--font-size-base);background:var(--color-bg);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.data-table th{background:var(--color-bg-subtle);color:var(--color-text-muted);font-weight:var(--font-weight-semibold);padding:10px var(--space-3);border-bottom:1px solid var(--color-border);white-space:nowrap}.data-table td{padding:9px var(--space-3);border-bottom:1px solid var(--color-border-subtle);vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.clickable-row{cursor:pointer;transition:background var(--transition-fast)}.clickable-row:hover{background:var(--color-primary-bg)}.notice-title-cell{text-overflow:ellipsis;white-space:nowrap;max-width:300px;overflow:hidden}@keyframes notice-blink{0%,to{opacity:1}50%{opacity:0}}.notice-new-badge{margin-left:var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-extrabold);color:var(--color-bg);background:var(--color-danger);border-radius:var(--radius-full);letter-spacing:.5px;vertical-align:middle;padding:1px 6px;animation:1.2s ease-in-out infinite notice-blink;display:inline-block}.badge{padding:2px var(--space-2);border-radius:var(--radius-lg);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);display:inline-block}.badge-popup{background:var(--color-primary-bg);color:var(--color-primary)}.badge-normal{color:var(--color-text-subtle);background:0 0}.modal-header{align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-5) var(--space-3);border-bottom:1px solid var(--color-border-subtle);flex-shrink:0;display:flex}.modal-header h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);flex:1;margin:0}.modal-close{font-size:var(--font-size-xl);color:var(--color-text-subtle);cursor:pointer;background:0 0;border:none;padding:2px 6px;line-height:1}.modal-close:hover{color:var(--color-text)}.modal-body{padding:var(--space-4) var(--space-5);gap:var(--space-3);flex-direction:column;flex:1;display:flex;overflow-y:auto}.modal-footer{padding:var(--space-3) var(--space-5);border-top:1px solid var(--color-border-subtle);justify-content:flex-end;gap:var(--space-2);flex-shrink:0;display:flex}.form-row{flex-direction:column;gap:6px;display:flex}.form-row-date{align-items:flex-end;gap:var(--space-3);flex-flow:wrap}.form-col{flex-direction:column;flex:1;gap:6px;min-width:140px;display:flex}.form-col-popup{flex:none;min-width:160px}.form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-align:left}.form-input{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:var(--font-size-base);width:100%;transition:border-color var(--transition-fast);padding:7px 10px}.form-input:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus);outline:none}.checkbox-label{font-size:var(--font-size-base);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;display:flex}.notice-form-modal{border-radius:var(--radius-lg);background:var(--color-bg);width:90vw;max-width:820px;max-height:90vh;box-shadow:var(--shadow-xl);flex-direction:column;display:flex}.tiptap-wrapper{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);overflow:hidden}.tiptap-toolbar{padding:6px var(--space-2);background:var(--color-bg-subtle);border-bottom:1px solid var(--color-border);flex-wrap:wrap;align-items:center;gap:2px;display:flex}.tb-btn{border-radius:var(--radius-md);font-size:var(--font-size-base);cursor:pointer;color:var(--color-text-muted);font-weight:var(--font-weight-semibold);transition:background var(--transition-fast), border-color var(--transition-fast);background:0 0;border:1px solid #0000;min-width:28px;padding:3px 7px;line-height:1.4}.tb-btn:hover{background:var(--color-bg-muted);border-color:var(--color-border-strong)}.tb-btn.active{background:var(--color-primary-bg);border-color:var(--color-primary-border);color:var(--color-primary-hover)}.tb-italic{font-style:italic}.tb-underline{text-decoration:underline}.tb-divider{background:var(--color-border);width:1px;height:18px;margin:0 3px}.tiptap-editor{padding:10px var(--space-3);min-height:200px;max-height:340px;font-size:var(--font-size-base);cursor:text;outline:none;line-height:1.7;overflow-y:auto}.tiptap-editor .ProseMirror{text-align:left;outline:none}.tiptap-editor .ProseMirror p{margin-bottom:6px}.tiptap-editor .ProseMirror h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin:10px 0 6px}.tiptap-editor .ProseMirror h3{font-size:15px;font-weight:var(--font-weight-bold);margin:var(--space-2) 0 var(--space-1)}.tiptap-editor .ProseMirror ul,.tiptap-editor .ProseMirror ol{padding-left:var(--space-5);margin-bottom:6px}.tiptap-editor .ProseMirror img{border-radius:var(--radius-md);max-width:100%;margin:var(--space-1) 0}.tiptap-editor .ProseMirror blockquote{border-left:3px solid var(--color-border);padding-left:var(--space-3);color:var(--color-text-muted)}.tiptap-editor .ProseMirror code{background:var(--color-bg-subtle);padding:1px var(--space-1);font-size:var(--font-size-sm);border-radius:3px}.tiptap-hint{padding:var(--space-1) 10px;font-size:var(--font-size-xs);color:var(--color-text-subtle);background:var(--color-bg-subtle);border-top:1px solid var(--color-border-subtle)}.tiptap-view{line-height:1.7;font-size:var(--font-size-md)}.tiptap-view p{margin-bottom:6px}.tiptap-view h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin:10px 0 6px}.tiptap-view h3{font-size:15px;font-weight:var(--font-weight-bold);margin:var(--space-2) 0 var(--space-1)}.tiptap-view ul,.tiptap-view ol{padding-left:var(--space-5);margin-bottom:6px}.tiptap-view img{border-radius:var(--radius-md);max-width:100%;margin:var(--space-1) 0}.tiptap-view blockquote{border-left:3px solid var(--color-border);padding-left:var(--space-3);color:var(--color-text-muted)}.tiptap-view code{background:var(--color-bg-subtle);padding:1px var(--space-1);font-size:var(--font-size-sm);border-radius:3px}.notice-popup-overlay{z-index:2000;background:#0f172a80;align-items:center}.notice-popup-modal{border-radius:var(--radius-lg);background:var(--color-bg);width:92vw;max-width:600px;max-height:85vh;box-shadow:var(--shadow-xl);flex-direction:column;display:flex;overflow:hidden}.notice-popup-header{background:var(--color-header-bg);padding:var(--space-3) 18px;align-items:flex-start;gap:var(--space-1);border-bottom:none;flex-direction:column;position:relative}.notice-popup-badge{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-primary-border);letter-spacing:.5px;text-transform:uppercase}.notice-popup-title{flex:1;line-height:1.4;color:var(--color-bg)!important;font-size:17px!important;font-weight:var(--font-weight-bold)!important}.notice-popup-counter{top:var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-subtle);position:absolute;right:18px}.notice-popup-meta{gap:6px var(--space-4);background:var(--color-bg-subtle);border-bottom:1px solid var(--color-border-subtle);font-size:var(--font-size-sm);color:var(--color-text-muted);flex-shrink:0;grid-template-columns:1fr 1fr;padding:10px 18px;display:grid}.notice-popup-meta b{font-weight:var(--font-weight-semibold);color:var(--color-text-muted);margin-right:var(--space-1)}.notice-popup-content{padding:var(--space-4) 18px;flex:1;overflow-y:auto}.notice-popup-footer{padding:var(--space-3) 18px;border-top:1px solid var(--color-border-subtle);background:var(--color-bg-subtle);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.hide-today-label{font-size:var(--font-size-sm);color:var(--color-text-muted)}@media (width<=768px){.page-notice{padding:var(--space-3)}.page-notice .table-wrap{overflow-x:unset}.page-notice .data-table,.page-notice .data-table thead,.page-notice .data-table tbody,.page-notice .data-table th,.page-notice .data-table td,.page-notice .data-table tr{display:block}.page-notice .data-table{box-shadow:none;background:0 0;border-radius:0}.page-notice .data-table thead{display:none}.page-notice .data-table tbody tr{background:var(--color-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-3) var(--space-3);border-bottom:none;grid-template-columns:1fr 1fr;margin-bottom:10px;display:grid}.page-notice .data-table td{font-size:var(--font-size-base);border-bottom:none;flex-direction:column;gap:2px;padding:3px 0;display:flex;text-align:left!important}.page-notice .data-table td:before{content:attr(data-label);font-weight:var(--font-weight-semibold);color:var(--color-text-subtle);font-size:var(--font-size-xs)}.page-notice .data-table td:first-child{display:none}.page-notice .data-table td:nth-child(2){font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text);padding-bottom:var(--space-2);margin-bottom:var(--space-1);border-bottom:1px solid var(--color-border-subtle);flex-direction:row;grid-column:1/3;align-items:center;gap:6px}.page-notice .data-table td:nth-child(2):before{display:none}.page-notice .data-table td:nth-child(3){flex-direction:row;grid-column:1/3;align-items:center}.page-notice .data-table td:nth-child(3):before{display:none}.page-notice .data-table td:nth-child(8){padding-top:var(--space-2);margin-top:var(--space-1);border-top:1px solid var(--color-border-subtle);flex-direction:row;grid-column:1/3;justify-content:flex-end}.page-notice .data-table td:nth-child(8):before{display:none}.notice-form-modal{width:98vw;max-height:96vh;margin:var(--space-1)}.form-row-date{flex-direction:column;align-items:stretch}.form-col{min-width:unset}.tiptap-editor{min-height:150px;max-height:240px}.notice-popup-modal{width:96vw;max-height:90vh}.notice-popup-meta{gap:6px}}@media (width<=480px){.tiptap-toolbar{gap:1px}.tb-btn{font-size:var(--font-size-sm);min-width:24px;padding:3px 5px}.notice-popup-meta{grid-template-columns:1fr}}.page-insurer{padding:var(--space-5);gap:var(--space-4);flex-direction:column;height:100%;display:flex;overflow-y:auto}.insurer-header{flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.insurer-empty{text-align:center;color:var(--color-text-subtle);font-size:var(--font-size-md);padding:60px 0}.insurer-cards{gap:var(--space-4);flex-wrap:wrap;align-content:flex-start;display:flex}.insurer-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);width:220px;box-shadow:var(--shadow-xs);gap:var(--space-2);transition:box-shadow var(--transition-fast);flex-direction:column;display:flex}.insurer-card:hover{box-shadow:var(--shadow-md)}.insurer-card-header{align-items:center;gap:var(--space-2);display:flex}.insurer-card-favicon{object-fit:contain;flex-shrink:0;width:24px;height:24px}.insurer-card-name{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text)}.insurer-card-url{font-size:var(--font-size-sm);color:var(--color-text-subtle);word-break:break-all;flex:1}.insurer-card-actions{margin-top:var(--space-2);gap:6px;display:flex}.insurer-form-modal{width:420px;max-width:96vw}.grid-link{color:var(--color-primary);font-weight:var(--font-weight-semibold);cursor:pointer;transition:color var(--transition-fast)}.grid-link:hover{color:var(--color-primary-hover);text-decoration:underline}.user-edit-modal{text-align:left;flex-direction:column;width:680px;max-width:96vw;height:640px;max-height:92dvh;display:flex}.user-edit-roles-row{align-items:flex-start}.user-edit-roles{gap:var(--space-2);flex-direction:column;display:flex}.user-edit-role-item{align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--font-size-md);display:flex}.user-edit-role-nm{color:var(--color-text-subtle);font-size:var(--font-size-base)}.pw-form-row{align-items:flex-start}.pw-input-wrap{flex-direction:column;flex:1;gap:6px;display:flex}.pw-policy-list{background:var(--color-bg-subtle);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);flex-direction:column;gap:3px;margin:0;padding:6px 10px;list-style:none;display:flex}.pw-policy-list li{font-size:var(--font-size-sm)}.pw-ok{color:var(--color-success)}.pw-fail{color:var(--color-danger)}.tel-input-group{align-items:center;gap:var(--space-1);flex:1;display:flex}.tel-prefix-select{flex-shrink:0;width:72px}.tel-separator{color:var(--color-text-subtle);font-size:var(--font-size-lg)}.tel-number-input{flex:1}.insurer-icon-row{align-items:flex-start}.insurer-icon-upload{align-items:center;gap:var(--space-3);display:flex}.insurer-icon-preview{border-radius:var(--radius-sm);cursor:pointer;background:var(--color-bg-subtle);border:2px solid var(--color-border-strong);flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex;overflow:hidden}.insurer-icon-preview img{object-fit:contain;width:100%;height:100%}.insurer-icon-empty{border:2px dashed var(--color-border-strong);background:var(--color-bg-subtle)}.insurer-icon-placeholder{font-size:var(--font-size-xs);color:var(--color-text-subtle);text-align:center;padding:var(--space-1);line-height:1.2}.insurer-icon-btn{flex-shrink:0}.insurer-features-row{align-items:flex-start}.insurer-features-list{gap:var(--space-2);padding-top:var(--space-1);flex-direction:column;display:flex}.insurer-feature-checkbox{align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--font-size-md);color:var(--color-text);-webkit-user-select:none;user-select:none;display:flex}.insurer-feature-checkbox input[type=checkbox]{cursor:pointer;width:16px;height:16px;accent-color:var(--color-primary);flex-shrink:0}.modal-tabs{border-bottom:1px solid var(--color-border);margin:0 var(--space-6) 0;flex-shrink:0;display:flex}.modal-tab-btn{padding:10px var(--space-5);cursor:pointer;font-size:var(--font-size-md);color:var(--color-text-muted);transition:color var(--transition-fast), border-color var(--transition-fast);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px}.modal-tab-btn.active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:var(--font-weight-semibold)}.modal-tab-btn:hover:not(.active){color:var(--color-text)}.email-check-group{align-items:center;gap:var(--space-2);flex-wrap:wrap;flex:1;display:flex}.email-check-group .form-input{flex:1;min-width:0}.email-check-btn{white-space:nowrap;flex-shrink:0}.email-check-msg{font-size:var(--font-size-sm);width:100%}.email-check-msg.ok{color:var(--color-success-text)}.email-check-msg.fail{color:var(--color-danger-hover)}.insurer-accounts-empty{text-align:center;color:var(--color-text-subtle);padding:var(--space-8) 0;font-size:var(--font-size-md)}.insurer-accounts-list{flex-direction:column;gap:0;display:flex}.insurer-account-header{gap:var(--space-2);padding:6px 0 var(--space-2);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-1);grid-template-columns:120px 1fr 1fr 100px;display:grid}.insurer-account-field-label{font-size:var(--font-size-sm);color:var(--color-text-subtle);font-weight:var(--font-weight-medium)}.insurer-account-name-col{font-size:var(--font-size-sm);color:var(--color-text-subtle);font-weight:var(--font-weight-medium);align-items:center;gap:6px;display:flex}.insurer-account-row{gap:var(--space-2);border-bottom:1px solid var(--color-bg-subtle);grid-template-columns:120px 1fr 1fr 100px;align-items:center;padding:6px 0;display:grid}.insurer-account-row:last-child{border-bottom:none}.insurer-account-row .insurer-account-name-col{font-size:var(--font-size-base);color:var(--color-text);font-weight:var(--font-weight-medium)}.insurer-account-favicon{object-fit:contain;flex-shrink:0;width:16px;height:16px}.insurer-account-name{font-size:var(--font-size-base)}.insurer-account-input{font-size:var(--font-size-base);padding:5px var(--space-2);height:32px}@media (width<=767px){.page-insurer{padding:var(--space-3);gap:var(--space-3)}.insurer-cards{gap:var(--space-3)}.insurer-card{width:100%}.insurer-form-modal{width:98vw}.user-edit-modal{width:98vw;height:85dvh}.modal-tabs{margin:0 var(--space-3)}.email-check-group{flex-flow:wrap}.email-check-btn{font-size:var(--font-size-base);padding:6px 10px}.insurer-account-header,.insurer-account-row{gap:var(--space-1);grid-template-columns:90px 1fr 1fr 80px}}#sw-update-banner{bottom:var(--space-6);background:var(--color-header-bg);color:var(--color-border-subtle);border:1px solid var(--color-primary);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-5);align-items:center;gap:var(--space-3);box-shadow:var(--shadow-lg);z-index:99999;font-size:var(--font-size-md);white-space:nowrap;display:flex;position:fixed;left:50%;transform:translate(-50%)}#sw-update-banner button:first-of-type{background:var(--color-primary);color:var(--color-bg);border-radius:var(--radius-sm);padding:6px var(--space-3);cursor:pointer;font-size:var(--font-size-base);border:none}#sw-update-banner button:last-of-type{color:var(--color-text-subtle);cursor:pointer;font-size:var(--font-size-base);background:0 0;border:none}.login-footer-links{justify-content:center;align-items:center;gap:var(--space-2);margin-top:var(--space-3);font-size:var(--font-size-sm);display:flex}.login-footer-links a{color:var(--color-text-subtle);transition:color var(--transition-fast);text-decoration:none}.login-footer-links a:hover{color:var(--color-primary);text-decoration:underline}.login-footer-links__sep{color:var(--color-border-strong)}.page-terms-management{padding:var(--space-4)}.page-terms-management__header{margin-bottom:var(--space-3)}.terms-type-tabs{border-bottom:2px solid var(--color-border);margin-bottom:var(--space-4);gap:0;display:flex}.terms-type-tab{padding:var(--space-2) var(--space-5);cursor:pointer;font-size:var(--font-size-md);color:var(--color-text-muted);transition:color var(--transition-fast), border-color var(--transition-fast);background:0 0;border:none;border-bottom:2px solid #0000;min-height:44px;margin-bottom:-2px}.terms-type-tab:hover{color:var(--color-primary)}.terms-type-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:var(--font-weight-semibold)}.terms-badge{padding:2px var(--space-2);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);white-space:nowrap;display:inline-block}.terms-badge--active{background:var(--color-success-bg);color:var(--color-success-text)}.terms-badge--upcoming{background:var(--color-primary-bg);color:var(--color-primary-hover)}.terms-badge--past{background:var(--color-bg-subtle);color:var(--color-text-subtle)}.terms-form-modal{flex-direction:column;width:90vw;height:85vh;display:flex;overflow:hidden}.terms-form-modal__body{min-height:0;padding:var(--space-3) var(--space-4) 0;flex-direction:column;flex:1;display:flex;overflow:hidden}.terms-form-modal__dates{gap:var(--space-4);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.terms-form-date-field{gap:var(--space-1);flex-direction:column;display:flex}.terms-form-date-field .form-label{font-size:var(--font-size-base);color:var(--color-text-muted);font-weight:var(--font-weight-semibold)}.terms-form-date-field .form-input{width:160px}.terms-form-date-field--tz .form-input{width:130px}.terms-version-text{font-size:var(--font-size-base);color:var(--color-text-muted);font-weight:var(--font-weight-medium)}@media (width<=767px){.terms-table thead{display:none}.terms-table tbody tr{background:var(--color-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-3) var(--space-4);margin-bottom:10px;display:block}.terms-table td{font-size:var(--font-size-md);border:none;justify-content:space-between;align-items:center;padding:5px 0;display:flex}.terms-table td:before{content:attr(data-label);color:var(--color-text-subtle);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-right:var(--space-2);flex-shrink:0}.terms-table td[data-label=액션]{border-top:1px solid var(--color-border-subtle);justify-content:flex-end;gap:6px;margin-top:6px;padding-top:10px}.terms-table td[data-label=액션]:before{display:none}.terms-table td[data-label=상태]{gap:var(--space-2)}}.terms-form-modal__mobile-tabs{border-bottom:2px solid var(--color-border);margin-bottom:var(--space-2);gap:0;display:none}.terms-mobile-tab{padding:var(--space-2) var(--space-3);cursor:pointer;font-size:var(--font-size-md);color:var(--color-text-muted);background:0 0;border:none;border-bottom:2px solid #0000;flex:1;min-height:44px;margin-bottom:-2px}.terms-mobile-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:var(--font-weight-semibold)}.terms-form-modal__panels{border:1px solid var(--color-border);border-radius:var(--radius-md);flex:1;gap:0;min-height:0;display:flex;overflow:hidden}.terms-panel{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.terms-panel--source{border-right:1px solid var(--color-border)}.terms-panel__label{padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-subtle);background:var(--color-bg-subtle);border-bottom:1px solid var(--color-border-subtle);font-weight:var(--font-weight-semibold);letter-spacing:.3px}.terms-codemirror{min-height:0;font-size:var(--font-size-base);flex:1;overflow:auto}.terms-codemirror .cm-editor{height:100%}.terms-codemirror .cm-scroller{overflow:auto}.terms-preview-iframe{background:var(--color-bg);border:none;flex:1;width:100%;height:100%}@media (width<=767px){.terms-form-modal{border-radius:0;width:100vw;height:100dvh;max-height:100dvh;margin:0}.terms-form-modal__mobile-tabs{display:flex}.terms-form-modal__panels{flex-direction:column}.terms-panel--source{border-right:none;border-bottom:1px solid var(--color-border)}.terms-panel.mobile-hidden{display:none}.terms-panel.mobile-visible{display:flex}}@media (width>=768px){.terms-panel.mobile-hidden,.terms-panel.mobile-visible{display:flex}.terms-panel{flex:1}}@media (width<=1023px) and (width>=768px){.terms-form-modal{width:95vw}}.public-terms-page{background:var(--color-bg);min-height:100vh;font-family:inherit}.public-terms-header{padding:var(--space-4) var(--space-5);padding-top:max(var(--space-4), env(safe-area-inset-top));border-bottom:1px solid var(--color-border-subtle);background:var(--color-bg);z-index:10;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.public-terms-close-btn{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:6px var(--space-3);font-size:var(--font-size-base);color:var(--color-text-muted);cursor:pointer;white-space:nowrap;background:0 0;flex-shrink:0}.public-terms-close-btn:hover{background:var(--color-bg-subtle);color:var(--color-text)}.public-terms-logo{font-size:var(--font-size-2xl);font-weight:var(--font-weight-extrabold);color:var(--color-primary);letter-spacing:-.5px}.public-terms-main{max-width:800px;padding:var(--space-6) var(--space-5) 60px;margin:0 auto}.public-terms-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text);margin-bottom:var(--space-3)}.public-terms-version-row{margin-bottom:6px}.public-terms-version-badge{background:var(--color-bg-muted);color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:2px var(--space-2);border-radius:var(--radius-sm);letter-spacing:.03em;display:inline-block}.public-terms-accordion-version{background:var(--color-bg-muted);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);margin-right:var(--space-1);vertical-align:middle;border-radius:3px;padding:1px 6px;display:inline-block}.public-terms-meta{gap:var(--space-2);font-size:var(--font-size-md);color:var(--color-text-muted);margin-bottom:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.public-terms-meta-sep{color:var(--color-border-strong)}.public-terms-divider{border:none;border-top:1px solid var(--color-border-subtle);margin:var(--space-4) 0}.public-terms-content{font-size:var(--font-size-lg);color:var(--color-text);word-break:keep-all;overflow-wrap:break-word;line-height:1.75}.public-terms-content img{max-width:100%;height:auto}.public-terms-loading,.public-terms-empty{text-align:center;color:var(--color-text-subtle);padding:40px 0;font-size:15px}.public-terms-previous{margin-top:var(--space-2)}.public-terms-previous-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-muted);margin-bottom:var(--space-3)}.public-terms-accordion-list{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.public-terms-accordion-item{border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);overflow:hidden}.public-terms-accordion-trigger{width:100%;padding:var(--space-3) var(--space-4);background:var(--color-bg-subtle);cursor:pointer;font-size:var(--font-size-md);color:var(--color-text-muted);text-align:left;min-height:44px;transition:background var(--transition-fast);border:none;justify-content:space-between;align-items:center;display:flex}.public-terms-accordion-trigger:hover{background:var(--color-bg-muted)}.public-terms-accordion-sub{margin-left:var(--space-2);color:var(--color-text-subtle);font-size:var(--font-size-base)}.public-terms-accordion-arrow{font-size:var(--font-size-md);color:var(--color-text-subtle);flex-shrink:0}.public-terms-accordion-body{padding:var(--space-4);color:var(--color-text);border-top:1px solid var(--color-border-subtle);word-break:keep-all;overflow-wrap:break-word;font-size:15px;line-height:1.75}.public-terms-accordion-body img{max-width:100%;height:auto}@media (width<=767px){.public-terms-main{padding:16px 16px 48px}.public-terms-title{font-size:20px}.public-terms-content{font-size:16px}.public-terms-accordion-trigger{padding:14px 16px;font-size:14px}}@media (width<=1023px) and (width>=768px){.public-terms-main{padding:20px 24px 48px}}.page-dashboard{flex-direction:column;width:100%;max-width:none;height:100%;min-height:0;padding:0;display:flex}.dashboard-header{flex:none}.dashboard-error{margin:var(--space-2) var(--space-6);background:var(--color-danger-bg);border:1px solid var(--color-danger-bg);color:var(--color-danger-hover);border-radius:var(--radius-md);font-size:var(--font-size-md);padding:10px 14px}.dashboard-grid-wrap{min-height:0;padding:var(--space-2) var(--space-4) var(--space-4);gap:var(--space-4);flex:auto;display:flex;overflow:hidden}.dashboard-grid-area{flex:auto;min-width:0;overflow:auto}.dashboard-edit-mode .dashboard-grid-area{border-radius:var(--radius-md);background:linear-gradient(45deg,#f8fafc 25%,#f1f5f9 25% 50%,#f8fafc 50% 75%,#f1f5f9 75%) 0 0/16px 16px}.dashboard-empty{min-height:240px;padding:var(--space-8);color:var(--color-text-muted);font-size:var(--font-size-md);text-align:center;justify-content:center;align-items:center;display:flex}.react-grid-item.cssTransforms{transition:transform .22s cubic-bezier(.2,.8,.2,1),width .22s cubic-bezier(.2,.8,.2,1),height .22s cubic-bezier(.2,.8,.2,1)}.react-grid-item.react-grid-placeholder{background:var(--color-primary);opacity:.18;border-radius:var(--radius-xl);border:2px dashed var(--color-primary)}.widget-card{background:var(--color-bg);border-radius:var(--radius-xl);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);flex-direction:column;height:100%;display:flex;overflow:hidden}.widget-card.widget-edit{border-color:var(--color-primary);border-style:dashed}.widget-header{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-bg-subtle);border-bottom:1px solid var(--color-border);cursor:default;-webkit-user-select:none;user-select:none;display:flex}.widget-card.widget-edit .widget-header{cursor:grab}.widget-card.widget-edit .widget-header:active{cursor:grabbing}.widget-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.widget-header-actions{align-items:center;gap:var(--space-1);display:flex}.widget-locked-icon{font-size:var(--font-size-base);color:var(--color-text-muted);cursor:help}.widget-remove-btn{border-radius:var(--radius-sm);width:22px;height:22px;color:var(--color-text-muted);font-size:var(--font-size-xl);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;line-height:1;display:flex}.widget-remove-btn:hover{background:var(--color-danger-bg);color:var(--color-danger-hover)}.widget-body{padding:var(--space-3);flex:auto;overflow:auto}.widget-loading,.widget-empty,.widget-empty-state{height:100%;color:var(--color-text-subtle);font-size:var(--font-size-base);justify-content:center;align-items:center;display:flex}.widget-error{padding:var(--space-2) var(--space-3);background:var(--color-danger-bg);color:var(--color-danger-hover);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.widget-notice-list{margin:0;padding:0;list-style:none}.widget-notice-item{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-1);border-bottom:1px solid var(--color-border-subtle);cursor:pointer;font-size:var(--font-size-base);display:flex}.widget-notice-item:hover{background:var(--color-bg-subtle)}.widget-notice-item:last-child{border-bottom:none}.widget-notice-title{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;flex:1;align-items:center;gap:6px;display:flex;overflow:hidden}.widget-notice-date{font-size:var(--font-size-xs);color:var(--color-text-subtle);white-space:nowrap}.widget-stats{gap:var(--space-2);flex-direction:column;height:100%;display:flex}.widget-stats-toolbar{font-size:var(--font-size-sm);color:var(--color-text-muted);justify-content:space-between;align-items:center;display:flex}.widget-stats-date{font-weight:var(--font-weight-medium)}.widget-stats-scope,.widget-login-period,.widget-login-scope{gap:var(--space-1);display:flex}.widget-stats-grid{gap:var(--space-2);flex:auto;grid-template-columns:repeat(4,1fr);display:grid}.stat-card{background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:60px;padding:10px;display:flex}.stat-card-label{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-bottom:var(--space-1)}.stat-card-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text)}.stat-card-idle{background:var(--color-bg-muted)}.stat-card-running{background:var(--color-primary-bg)}.stat-card-done{background:var(--color-success-bg)}.stat-card-fail{background:var(--color-danger-bg)}.widget-stats-total{font-size:var(--font-size-sm);color:var(--color-text-muted);text-align:right}.widget-sysinfo{gap:var(--space-2);flex-direction:column;height:100%;display:flex}.widget-sysinfo-status{font-size:var(--font-size-sm);color:var(--color-text-muted);align-items:center;gap:6px;display:flex}.status-dot{width:var(--space-2);height:var(--space-2);border-radius:var(--radius-full);background:var(--color-border-strong)}.status-dot.status-connected{background:var(--color-success)}.status-dot.status-error{background:var(--color-danger)}.status-dot.status-connecting{background:var(--color-warning);animation:1.5s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.widget-sysinfo-grid{gap:var(--space-2);flex:auto;grid-template-columns:repeat(4,1fr);display:grid}.sysinfo-card{background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:center;flex-direction:column;justify-content:center;padding:10px;display:flex}.sysinfo-label{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-bottom:var(--space-1)}.sysinfo-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text)}.sysinfo-value.sysinfo-value-sm{font-size:var(--font-size-base)}.sysinfo-card-clickable{cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast)}.sysinfo-card-clickable:hover{background:var(--color-primary-bg);border-color:var(--color-primary-border)}.sysinfo-card-clickable:active{transform:scale(.98)}.sysinfo-sub{font-size:var(--font-size-xs);color:var(--color-text-subtle);margin-top:2px}.widget-recent-consent{margin:0;padding:0;list-style:none}.widget-recent-consent-item{gap:var(--space-2);padding:var(--space-2) var(--space-1);border-bottom:1px solid var(--color-border-subtle);font-size:var(--font-size-base);grid-template-columns:1fr auto auto;align-items:center;display:grid}.widget-recent-consent-item:last-child{border-bottom:none}.widget-recent-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.widget-recent-date{font-size:var(--font-size-xs);color:var(--color-text-subtle)}.widget-login-count{gap:var(--space-2);flex-direction:column;height:100%;display:flex}.widget-login-toolbar{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.widget-login-chart{flex:auto;min-height:120px}.widget-palette{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-xl);flex-direction:column;flex:0 0 280px;max-width:320px;display:flex;overflow:hidden}.widget-palette-header{padding:var(--space-3) var(--space-4);background:var(--color-bg-subtle);border-bottom:1px solid var(--color-border)}.widget-palette-header h3{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0}.widget-palette-body{padding:var(--space-2);flex:auto;overflow:auto}.widget-palette-empty{padding:var(--space-4);text-align:center;color:var(--color-text-subtle);font-size:var(--font-size-base)}.widget-palette-list{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.widget-palette-item{align-items:center;gap:var(--space-2);padding:var(--space-2);background:var(--color-bg-subtle);border-radius:var(--radius-sm);display:flex}.widget-palette-info{flex:auto;min-width:0}.widget-palette-name{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text)}.widget-palette-desc{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:2px}@media (width<=1023px){.widget-stats-grid,.widget-sysinfo-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=767px){.dashboard-grid-wrap{padding:var(--space-2);flex-direction:column}.widget-palette{flex:none;max-width:100%}.widget-sysinfo-grid{grid-template-columns:repeat(2,1fr)}}.widget-settings-btn{border-radius:var(--radius-sm);width:22px;height:22px;color:var(--color-text-muted);font-size:var(--font-size-md);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;line-height:1;display:flex}.widget-settings-btn:hover{background:var(--color-primary-bg);color:var(--color-primary-hover)}.widget-permission-modal{background:var(--color-bg);border-radius:var(--radius-xl);width:min(900px,95vw);max-height:90vh;box-shadow:var(--shadow-xl);flex-direction:column;display:flex;overflow:hidden}.widget-permission-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);background:var(--color-bg-subtle)}.widget-permission-header h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0}.widget-permission-subtitle{font-size:var(--font-size-base);color:var(--color-text-muted);margin-top:var(--space-1)}.widget-permission-key{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-subtle)}.widget-permission-tabs{border-bottom:1px solid var(--color-border);background:var(--color-bg);padding:0 var(--space-4);display:flex}.widget-permission-tabs .tab-btn{padding:10px var(--space-4);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000}.widget-permission-tabs .tab-btn.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.widget-permission-error{margin:var(--space-3) var(--space-4) 0;padding:var(--space-2) var(--space-3);background:var(--color-danger-bg);border:1px solid var(--color-danger-bg);color:var(--color-danger-hover);border-radius:var(--radius-sm);font-size:var(--font-size-base)}.widget-permission-body{padding:var(--space-4);flex:auto;overflow:auto}.widget-permission-loading{padding:var(--space-10);text-align:center;color:var(--color-text-subtle)}.widget-permission-table-wrap{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.widget-permission-table{border-collapse:collapse;width:100%;font-size:var(--font-size-base)}.widget-permission-table th,.widget-permission-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border-subtle);text-align:left}.widget-permission-table thead th{background:var(--color-bg-subtle);font-weight:var(--font-weight-semibold);color:var(--color-text);font-size:var(--font-size-sm)}.widget-permission-table tbody tr:last-child td{border-bottom:none}.widget-permission-table .row-disabled{background:var(--color-bg-subtle);color:var(--color-text-subtle)}.widget-permission-table select{width:100%;padding:var(--space-1) var(--space-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:var(--font-size-sm);background:var(--color-bg)}.text-muted{color:var(--color-text-subtle);font-size:var(--font-size-sm)}.widget-permission-user-section{gap:var(--space-3);flex-direction:column;display:flex}.widget-permission-user-toolbar{justify-content:flex-end;display:flex}.widget-permission-user-picker{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);padding:var(--space-3);background:var(--color-bg-subtle)}.widget-permission-user-picker input{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);width:100%;font-size:var(--font-size-base);margin-bottom:var(--space-2);padding:6px 10px}.user-picker-list{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);max-height:240px;margin:0;padding:0;list-style:none;overflow-y:auto}.user-picker-list li{cursor:pointer;border-bottom:1px solid var(--color-border-subtle);font-size:var(--font-size-base);padding:6px 10px}.user-picker-list li:hover{background:var(--color-primary-bg)}.user-picker-list li:last-child{border-bottom:none}.widget-permission-footer{justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-top:1px solid var(--color-border);background:var(--color-bg-subtle);display:flex}.widget-permission-table .help-icon{margin-left:var(--space-1);color:var(--color-text-subtle);cursor:help;font-size:var(--font-size-sm);font-weight:400;display:inline-block}.widget-permission-table .help-icon:hover{color:var(--color-primary)}.widget-consent-stats{gap:var(--space-2);flex-direction:column;height:100%;display:flex}.widget-consent-toolbar{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.widget-consent-date{padding:var(--space-1) var(--space-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:var(--font-size-sm);background:var(--color-bg)}.widget-consent-scope{gap:var(--space-1);margin-left:auto;display:flex}.widget-consent-table-wrap{border:1px solid var(--color-border);border-radius:var(--radius-sm);flex:auto;overflow:auto}.widget-consent-stats .dgr-th:not(:first-child),.widget-consent-stats .dgr-td:not(:first-child),.widget-consent-stats .dgr-tf:not(:first-child){text-align:center}.widget-consent-table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.widget-consent-table th,.widget-consent-table td{border-bottom:1px solid var(--color-border-subtle);text-align:left;padding:6px 10px}.widget-consent-table thead th{background:var(--color-bg-subtle);color:var(--color-text);font-weight:var(--font-weight-semibold);z-index:1;position:sticky;top:0}.widget-consent-table th.num,.widget-consent-table td.num{text-align:right;font-variant-numeric:tabular-nums}.widget-consent-table td.num.total{font-weight:var(--font-weight-bold);color:var(--color-text)}.widget-consent-table .planner-name{font-weight:var(--font-weight-medium);color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;max-width:200px;overflow:hidden}.widget-consent-table tfoot td{background:var(--color-bg-subtle);font-weight:var(--font-weight-semibold);border-bottom:none}.widget-consent-empty{color:var(--color-text-subtle);text-align:center!important;padding:var(--space-4)!important}.widget-consent-daterange{align-items:center;gap:var(--space-1);display:inline-flex}.widget-consent-date-sep{color:var(--color-text-subtle);font-size:var(--font-size-sm)}.layout-toolbar{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);margin:0 var(--space-4) var(--space-2);background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-wrap:wrap;display:flex}.layout-toolbar-group{align-items:center;gap:var(--space-1);display:inline-flex}.layout-toolbar-label{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-right:2px}.layout-toolbar-divider{background:var(--color-border-strong);width:1px;height:20px}.layout-toolbar .btn[disabled]{opacity:.4;cursor:not-allowed}@media (width<=767px){.layout-toolbar{margin:0 var(--space-2) var(--space-2);padding:6px var(--space-2)}.layout-toolbar-divider{display:none}}.layout-toolbar .btn.btn-icon{padding:var(--space-1) 6px;justify-content:center;align-items:center;min-width:32px;height:26px;line-height:1;display:inline-flex}.layout-toolbar .btn.btn-icon svg{display:block}.layout-toolbar .btn[data-tooltip]{position:relative}.layout-toolbar .btn[data-tooltip]:hover:after{content:attr(data-tooltip);bottom:calc(100% + var(--space-2));background:var(--color-text);color:var(--color-bg);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-sm);white-space:nowrap;pointer-events:none;z-index:var(--z-modal);box-shadow:var(--shadow-md);padding:5px 9px;line-height:1.3;animation:80ms ease-out tooltip-fade-in;position:absolute;left:50%;transform:translate(-50%)}.layout-toolbar .btn[data-tooltip]:hover:before{content:"";border:var(--space-1) solid transparent;border-top-color:var(--color-text);pointer-events:none;z-index:var(--z-modal);position:absolute;bottom:calc(100% + 2px);left:50%;transform:translate(-50%)}.layout-toolbar .btn[disabled][data-tooltip]:hover:after,.layout-toolbar .btn[disabled][data-tooltip]:hover:before{display:none}@keyframes tooltip-fade-in{0%{opacity:0;transform:translate(-50%)translateY(2px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.credit-badge{align-items:center;display:inline-flex;position:relative}.credit-badge-chip{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);color:var(--color-header-text-muted);border:1px solid var(--color-header-border);border-radius:var(--radius-full);font-size:var(--font-size-sm);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);background:0 0;line-height:1.6;display:inline-flex}.credit-badge-chip:hover{color:var(--color-header-text);border-color:var(--color-header-text-muted);background:#ffffff14}.credit-badge--low .credit-badge-chip{color:var(--color-warning);border-color:var(--color-warning)}.credit-badge--low .credit-badge-chip:hover{background:var(--color-warning-bg)}.credit-badge-text b{font-weight:var(--font-weight-bold);color:var(--color-header-text)}.credit-badge--low .credit-badge-text b{color:var(--color-warning)}.credit-badge-icon{line-height:1}.credit-dropdown{top:calc(100% + var(--space-2));z-index:var(--z-dropdown);min-width:240px;padding:var(--space-3);background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);position:absolute;right:0}.credit-dropdown-row{padding:var(--space-1) 0;font-size:var(--font-size-sm);justify-content:space-between;align-items:center;display:flex}.credit-dropdown-row--avail{color:var(--color-primary);font-weight:var(--font-weight-bold)}.credit-dropdown-sep{background:var(--color-border);height:1px;margin:var(--space-2) 0}.credit-dropdown-usage{font-size:var(--font-size-xs);color:var(--color-text-muted);justify-content:space-between;padding:2px 0;display:flex}.credit-dropdown-flat{font-size:var(--font-size-sm);color:var(--color-text-muted);padding:var(--space-1) 0}.credit-dropdown-link{margin-top:var(--space-2);text-align:right;width:100%;color:var(--color-primary);font-size:var(--font-size-sm);cursor:pointer;padding:var(--space-1) 0;background:0 0;border:none}.credit-dropdown-link:hover{text-decoration:underline}@media (width<=640px){.credit-badge-text{display:none}.credit-dropdown{min-width:200px}}
