*{box-sizing:border-box;margin:0;padding:0}body{color:#333;background:#f0f2f5;flex-direction:column;height:100dvh;font-family:Malgun Gothic,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{color:#fff;height:48px;height:calc(48px + env(safe-area-inset-top));padding:0 20px;padding-top:env(safe-area-inset-top);padding-left:max(20px, env(safe-area-inset-left));padding-right:max(20px, env(safe-area-inset-right));background:#1a1a2e;flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.header-left{align-items:center;gap:12px;display:flex}.logo{color:#4da8da;letter-spacing:1px;font-size:18px;font-weight:700}.logo span{color:#4da8da;font-weight:800}.header-right{align-items:center;gap:16px;font-size:13px;display:flex}.header-right .user-id{color:#4da8da;font-weight:700}.btn-logout{color:#ccc;cursor:pointer;background:0 0;border:1px solid #666;border-radius:20px;padding:4px 12px;font-size:12px}.btn-logout:hover{color:#4da8da;border-color:#4da8da}.impersonation-banner{color:#fff;background:linear-gradient(90deg,#d4500a 0%,#e67e22 100%);flex-wrap:wrap;flex-shrink:0;justify-content:center;align-items:center;gap:16px;padding:6px 20px;font-size:13px;display:flex}.impersonation-banner-text{align-items:center;gap:6px;display:flex}.impersonation-icon{font-size:15px;line-height:1}.btn-return-admin{color:#fff;cursor:pointer;white-space:nowrap;background:#fff3;border:1px solid #fff9;border-radius:20px;padding:3px 12px;font-size:12px;font-weight:600;transition:background .15s}.btn-return-admin:hover{background:#ffffff59}.btn-impersonate{color:#e67e22;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #e67e22;border-radius:4px;padding:3px 10px;font-size:12px;font-weight:600;transition:background .15s,color .15s}.btn-impersonate:hover:not(:disabled){color:#fff;background:#e67e22}.btn-impersonate:disabled{opacity:.5;cursor:not-allowed}.impersonate-self-label{color:#aaa;font-size:12px}.user-id--impersonating{color:#f39c12!important}.menubar{background:#16213e;border-bottom:2px solid #4da8da;flex-shrink:0;align-items:center;height:38px;padding:0 12px;display:flex;position:relative}.menu-toggle{color:#ccc;cursor:pointer;background:0 0;border:none;padding:0 8px;font-size:20px;line-height:1;display:none}.menu-toggle:hover{color:#4da8da}.menu-list{align-items:center;height:100%;display:flex}.menu-item{color:#ccc;cursor:pointer;align-items:center;height:100%;font-size:13px;font-weight:700;transition:color .15s,background .15s;display:flex;position:relative}.menu-item-label{align-items:center;height:100%;padding:0 18px;display:flex}.menu-item:hover{color:#fff;background:#ffffff0d}.menu-item.active{color:#4da8da}.menu-item.active:after{content:"";background:#4da8da;height:2px;position:absolute;bottom:-2px;left:0;right:0}.menu-sub{z-index:100;background:#1a1a2e;border:1px solid #333;border-radius:0 0 6px 6px;min-width:200px;display:none;position:absolute;top:100%;left:0;box-shadow:0 4px 12px #0000004d}.menu-item.sub-open .menu-sub{display:block}.menu-sub-item{color:#ccc;cursor:pointer;white-space:nowrap;padding:10px 18px;font-size:13px;font-weight:400}.menu-sub-item:hover{color:#fff;background:#4da8da}.menu-sub-expandable{position:relative}.menu-sub-expandable.sub-sub-open{color:#4da8da}.menu-sub-expandable.sub-sub-open:hover{color:#fff}.menu-sub-sub{z-index:200;background:#1a1a2e;border:1px solid #333;border-radius:0 6px 6px;min-width:180px;display:none;position:absolute;top:0;left:100%;box-shadow:4px 4px 12px #0000004d}.menu-sub-expandable.sub-sub-open .menu-sub-sub{display:block}.menu-sub-sub-item{color:#ccc;cursor:pointer;white-space:nowrap;padding:10px 18px;font-size:13px;font-weight:400}.menu-sub-sub-item:hover{color:#fff;background:#4da8da}.menu-sub-sub-expandable{position:relative}.menu-sub-sub-expandable.sub-sub-sub-open{color:#4da8da}.menu-sub-sub-expandable.sub-sub-sub-open:hover{color:#fff}.menu-sub-sub-sub{z-index:300;background:#1a1a2e;border:1px solid #333;border-radius:0 6px 6px;min-width:180px;display:none;position:absolute;top:0;left:100%;box-shadow:4px 4px 12px #0000004d}.menu-sub-sub-expandable.sub-sub-sub-open .menu-sub-sub-sub{display:block}.menu-sub-sub-sub-item{color:#ccc;cursor:pointer;white-space:nowrap;padding:10px 18px;font-size:13px;font-weight:400}.menu-sub-sub-sub-item:hover{color:#fff;background:#4da8da}.loading-bar{background:0 0;flex-shrink:0;width:100%;height:4px;position:relative;overflow:hidden}.loading-bar-active{background:#0d193299}.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,#0000 0%,#4da8da66 40%,#4da8da 75%,#c8eaf8 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 #4da8dab3,0 0 20px 4px #4da8da4d}.loading-bar-track:after{content:"";background:linear-gradient(90deg,#0000 0%,#e6a66a66 40%,#e6a66a 75%,#fde3c4 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 #e6a66a99,0 0 14px 3px #e6a66a40}@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:#e8ecf1;flex-shrink:0;align-items:flex-end;gap:2px;height:34px;padding:0 8px;display:flex;overflow-x:auto}.tabbar::-webkit-scrollbar{height:0}.tab{color:#555;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;background:#d5dbe3;border-radius:6px 6px 0 0;flex-shrink:0;align-items:center;gap:6px;height:30px;padding:0 14px;font-size:12px;transition:background .15s;display:flex}.tab:hover{background:#c8cfd8}.tab.active{color:#333;background:#fff;font-weight:700;box-shadow:0 -1px 3px #0000000f}.tab .tab-close{text-align:center;color:#999;cursor:pointer;border-radius:50%;width:16px;height:16px;font-size:13px;line-height:16px}.tab .tab-close:hover{color:#fff;background:#e74c3c}.tab.drag-over{border-left:3px solid #4da8da}.tabbar-clear-btn{color:#e74c3c;cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-self:center;align-items:center;width:26px;height:26px;margin-left:auto;font-size:14px;font-weight:700;transition:background .15s;display:flex}.tabbar-clear-btn:hover{color:#fff;background:#e74c3c}.content{background:#fff;flex:1;min-height:0;overflow:hidden}.tab-panel{height:100%;padding: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{z-index:9999;background:#fff;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{flex-direction:column;align-items:center;gap:16px;animation:.4s ease-out splash-fade-in;display:flex}.splash-logo{filter:drop-shadow(0 0 16px #4da8da80);animation:2s ease-in-out infinite splash-pulse}.splash-title{letter-spacing:6px;color:#1a3a5c;font-family:Arial,Helvetica,sans-serif;font-size:28px;font-weight:800}.splash-bar-wrap{background:#4da8da26;border-radius:2px;width:160px;height:3px;margin-top:8px;overflow:hidden}.splash-bar-track{background:linear-gradient(90deg,#0000,#4da8da,#c8eaf8,#4da8da,#0000);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 #4da8da80);transform:scale(1)}50%{filter:drop-shadow(0 0 28px #4da8dad9);transform:scale(1.06)}}@keyframes splash-bar-slide{0%{transform:translate(-150%)}to{transform:translate(300%)}}.login-page{background-color:#1e4a7a;background-image:radial-gradient(at 15% 30%,#78c8f047 0%,#0000 50%),radial-gradient(at 85% 70%,#4da8da38 0%,#0000 50%),radial-gradient(at 50% 100%,#78c8f026 0%,#0000 40%),url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='1' cy='1' r='1.1' fill='%23ffffff' fill-opacity='0.12'/%3E%3C/svg%3E");justify-content:center;align-items:center;min-height:100vh;padding-bottom:90px;font-family:Malgun Gothic,sans-serif;display:flex}.login-box{background:#fffffff7;border:1px solid #ffffff40;border-radius:14px;width:360px;padding:40px 36px 32px;box-shadow:0 24px 64px #00000073,0 0 0 1px #4da8da1f}.login-brand{text-align:center;border-bottom:1px solid #f0f0f0;margin-bottom:28px;padding-bottom:20px}.login-logo{color:#4da8da;letter-spacing:3px;margin:0 0 6px;font-size:28px;font-weight:800}.login-tagline{color:#666;letter-spacing:.3px;margin:4px 0 0;font-size:12px}.login-tagline-en{color:#999;margin:3px 0 0;font-size:11px}.login-box .form-row{margin-bottom:14px}.login-box .form-row label{color:#555;margin-bottom:4px;font-size:13px;font-weight:700;display:block}.login-box .form-row input{border:1px solid #ccc;border-radius:4px;width:100%;padding:9px 12px;font-size:14px}.login-box .form-row input:focus{border-color:#4da8da;outline:none}.login-box .form-row--checkbox{margin-bottom:6px}.login-box .form-row--checkbox label{cursor:pointer;align-items:center;gap:6px;font-weight:400;display:flex}.login-box .form-row--checkbox input{cursor:pointer;border:none;width:auto;padding:0}.btn-login{color:#fff;cursor:pointer;background:#4da8da;border:none;border-radius:20px;width:100%;margin-top:8px;padding:10px;font-size:15px;font-weight:700}.btn-login:hover{background:#2980b9}.btn-login:disabled{cursor:not-allowed;background:#ccc}.btn{cursor:pointer;border:none;border-radius:20px;justify-content:center;align-items:center;padding:6px 18px;font-size:13px;font-weight:700;transition:background .15s,opacity .15s;display:inline-flex}.btn:disabled{cursor:not-allowed;opacity:.7;background:#ccc!important}.btn-primary{color:#fff;background:#4da8da}.btn-primary:hover:not(:disabled){background:#2980b9}.btn-secondary{color:#333;background:#e0e0e0}.btn-secondary:hover:not(:disabled){background:#c8c8c8}.btn-danger{color:#fff;background:#e74c3c}.btn-danger:hover:not(:disabled){background:#c0392b}.btn-sm{padding:4px 12px;font-size:12px}.login-error{color:#e74c3c;text-align:center;margin-top:12px;font-size:13px}.login-company{text-align:center;color:#aaa;letter-spacing:-.2px;white-space:nowrap;border-top:1px solid #f0f0f0;margin-top:24px;padding-top:16px;font-size:10.5px}.scroll-to-top{right:20px;bottom:calc(24px + env(safe-area-inset-bottom));color:#fff;cursor:pointer;z-index:200;opacity:0;pointer-events:none;background:#4da8da;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;line-height:1;transition:opacity .2s,transform .2s;display:flex;position:fixed;transform:translateY(12px);box-shadow:0 3px 12px #00000040}.scroll-to-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.scroll-to-top:hover{background:#2980b9}.scroll-to-top:active{transform:scale(.92)}.site-footer{color:#aab4be;text-align:center;background:#2c3e50;flex-shrink:0;padding:20px 16px}.site-footer-inner{flex-direction:column;gap:4px;max-width:900px;margin:0 auto;display:flex}.site-footer-info{margin:0;font-size:12px;line-height:1.6}.site-footer-info a{color:#aab4be;text-decoration:none}.site-footer-info a:hover{color:#fff;text-decoration:underline}.site-footer-copy{color:#7f8c8d;margin:4px 0 0;font-size:11px}.login-page .site-footer{z-index:10;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#050a12d9;position:fixed;bottom:0;left:0;right:0}@media (width<=767px){.site-footer-info{font-size:11px}.site-footer-copy{font-size:10px}.login-page .site-footer{padding:12px}}.page-agree{height:auto}.page-agree h1{color:#4da8da;margin-bottom:20px;font-size:20px}.page-agree .top{justify-content:flex-start;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.page-agree .panel{background:#fff;border:1px solid #ddd;border-radius:8px;margin-bottom:20px;padding:20px}.page-agree .panel h2{color:#666;border-bottom:2px solid #4da8da;align-items:center;gap:10px;margin-bottom:12px;padding-bottom:6px;font-size:14px;display:flex}.page-agree .left{flex:0 0 420px}.page-agree .right{flex:none;min-width:280px}.page-agree .form-row{flex-direction:row;align-items:center;width:100%;margin-bottom:8px;display:flex}.page-agree .form-row label{text-align:left;flex-shrink:0;width:90px;font-size:13px;font-weight:700}.page-agree .form-row input,.page-agree .form-row select{border:1px solid #ccc;border-radius:4px;flex:1;padding:6px 10px;font-size:13px}.page-agree .form-row input.readonly{color:#666;cursor:default;background:#f5f5f5}.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{color:#495057;cursor:pointer;background:#f8f9fa;border:1px solid #dee2e6;border-radius:20px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;transition:background .15s,border-color .15s;display:flex}.page-agree .planner-insurer-badge:hover{background:#e9ecef;border-color:#adb5bd}.page-agree .planner-insurer-badge img{object-fit:contain;width:18px;height:18px}.account-info-modal{background:#fff;border-radius:10px;width:340px;overflow:hidden;box-shadow:0 8px 32px #0000002e}.account-info-modal-header{background:#f8f9fa;border-bottom:1px solid #dee2e6;align-items:center;gap:8px;padding:14px 18px;font-size:14px;font-weight:600;display:flex}.account-info-modal-body{flex-direction:column;gap:10px;padding:16px 18px;display:flex}.account-info-row{align-items:center;gap:12px;display:flex}.account-info-label{color:#868e96;flex-shrink:0;width:70px;font-size:12px}.account-info-value{color:#212529;word-break:break-all;font-size:13px}.account-info-input{border:1px solid #ced4da;border-radius:4px;outline:none;flex:1;min-width:0;padding:4px 8px;font-size:13px}.account-info-input:focus{border-color:#4dabf7;box-shadow:0 0 0 2px #4dabf733}.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{padding:5px 14px}.page-agree .btn-primary{color:#fff;background:#4da8da;padding:8px 24px;font-size:14px}.page-agree .btn-primary:hover{background:#2980b9}.page-agree .btn-start{color:#fff;background:#27ae60}.page-agree .btn-start:hover{background:#1e8449}.page-agree .btn-all{color:#fff;background:linear-gradient(135deg,#4da8da,#5dade2);border-color:#2980b9}.page-agree .btn-all svg{filter:drop-shadow(0 1px 1px #0003)}.page-agree .btn-all:hover{background:linear-gradient(135deg,#2980b9,#4da8da);border-color:#2471a3}.page-agree .insurer-icons{align-items:center;gap:4px;display:flex}.page-agree .btn-insurer{cursor:pointer;color:#495057;background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;flex-direction:column;align-items:center;gap:2px;min-width:44px;padding:4px 6px;font-size:10px;line-height:1.2;transition:background .15s,border-color .15s;display:flex}.page-agree .btn-insurer:hover{background:#e9ecef;border-color:#adb5bd}.page-agree .btn-insurer img{object-fit:contain;width:20px;height:20px}.page-agree .btn-pause{color:#fff;background:#5dade2}.page-agree .btn-pause:hover{background:#2980b9}.page-agree .btn-stop{color:#fff;background:#e74c3c}.page-agree .btn-stop:hover{background:#c0392b}.page-agree .btn-del{color:#fff;background:#95a5a6}.page-agree .btn-del:hover{background:#7f8c8d}.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-pdf-history{color:#555;cursor:pointer;background:#ecf0f1;border:1px solid #bdc3c7;border-radius:4px;flex-shrink:0;align-self:flex-start;padding:2px 7px;font-size:11px;line-height:1.4}.page-agree .btn-pdf-history:hover{background:#d5dbdb}.page-agree .btn:disabled{cursor:not-allowed;background:#ccc}.page-agree .btn-area{text-align:right;margin-top:6px}.page-agree table{border-collapse:collapse;width:100%;font-size:13px}.page-agree th{text-align:center;background:#f8f8f8;border:1px solid #ddd;padding:8px 12px;font-weight:700}.page-agree td{text-align:center;vertical-align:middle;border:1px solid #ddd;padding:8px 12px}.page-agree .status-wait{color:#999}.page-agree .status-ing{color:#2980b9}.page-agree .status-ok{color:#27ae60;font-weight:700}.page-agree .status-err{color:#e74c3c}.page-agree .status-paused{color:#f39c12;font-weight:700}.page-agree .pdf-link{color:#2980b9;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{color:#888;min-width:36px;font-size:11px}.pdf-list-item a{cursor:pointer;color:#2980b9;white-space:nowrap;font-size:12px}.pdf-list-item a:hover{text-decoration:underline}.pdf-date{color:#888;white-space:nowrap;font-size:11px}.customer-info-modal{width:92vw;max-width:600px}.customer-modal-tabs{background:#fafafa;border-bottom:1px solid #ddd;display:flex}.customer-modal-tab{cursor:pointer;color:#666;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 20px;font-size:13px;font-weight:500}.customer-modal-tab.active{color:#2980b9;border-bottom-color:#2980b9;font-weight:700}.customer-modal-body{max-height:420px;overflow-y:auto;padding:16px!important}.customer-info-table{border-collapse:collapse;width:100%;margin-bottom:12px;font-size:12px}.customer-info-table th,.customer-info-table td{text-align:left;border:1px solid #e0e0e0;padding:6px 10px}.customer-info-table th{color:#555;white-space:nowrap;background:#f5f5f5;font-weight:600}.customer-section-title{color:#555;margin-bottom:6px;font-size:12px;font-weight:700}.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:#aaa;text-align:center;padding:24px}.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{border-bottom:1px solid #eee;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:10px;padding:10px 0 14px;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{color:#555;white-space:nowrap;font-size:12px}.page-agree .search-fields input,.page-agree .search-fields select{border:1px solid #ccc;border-radius:4px;height:30px;padding:5px 8px;font-size:12px}.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;color:#888;padding:10px;font-size:13px}.page-agree .btn-bulk{color:#fff;background:#6c5ce7;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:14px;display:flex;position:relative}.page-agree .btn-bulk:hover,.page-agree .btn-bulk-active{background:#5541d6}.bulk-running-dot{background:#55efc4;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{color:#fff;cursor:pointer;white-space:nowrap;background:#2980b9;border:none;border-radius:4px;padding:6px 14px;font-size:13px}.page-agree .btn-bulk-download:hover{background:#2471a3}.page-agree .btn-bulk-download:disabled{cursor:default;background:#bdc3c7}.page-agree .btn-bulk-print{color:#fff;cursor:pointer;white-space:nowrap;background:#27ae60;border:none;border-radius:4px;padding:6px 14px;font-size:13px}.page-agree .btn-bulk-print:hover{background:#219a52}.page-agree .btn-bulk-print:disabled{cursor:default;background:#bdc3c7}.bulk-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.bulk-modal{background:#fff;border-radius:10px;width:420px;max-width:95vw;overflow:hidden;box-shadow:0 8px 32px #0000002e}.bulk-modal-header{color:#fff;background:#6c5ce7;justify-content:space-between;align-items:center;padding:12px 16px;font-size:15px;font-weight:600;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{flex-direction:column;gap:14px;padding:16px 18px;display:flex}.bulk-config-row{flex-direction:column;gap:6px;display:flex}.bulk-config-row>label{color:#555;text-transform:uppercase;letter-spacing:.03em;font-size:12px;font-weight:600}.bulk-config-row select{background:#fff;border:1px solid #ddd;border-radius:6px;padding:7px 10px;font-size:13px}.bulk-config-row-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.bulk-concurrency-select{color:#555;cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:6px;padding:4px 8px;font-size:12px}.bulk-insurer-checks{flex-wrap:wrap;gap:8px;display:flex}.bulk-insurer-check{cursor:pointer;border:1px solid #ddd;border-radius:20px;align-items:center;gap:5px;padding:4px 10px;font-size:13px;transition:border-color .15s,background .15s;display:flex}.bulk-insurer-check:hover{background:#f8f7ff;border-color:#6c5ce7}.bulk-insurer-check input[type=checkbox]{cursor:pointer}.bulk-actions{gap:8px;padding-top:2px;display:flex}.bulk-actions .btn{flex:1;padding:9px;font-size:14px;font-weight:600}.bulk-actions .btn:disabled{opacity:.4;cursor:not-allowed}.bulk-actions .btn-restart{color:#fff;background:#27ae60}.bulk-actions .btn-restart:not(:disabled):hover{background:#219a52}.bulk-actions .btn-reset{color:#fff;background:#95a5a6}.bulk-actions .btn-reset:not(:disabled):hover{background:#7f8c8d}.bulk-progress-section{border-top:1px solid #eee;flex-direction:column;gap:10px;padding:14px 18px;display:flex}.bulk-current-list{flex-direction:column;gap:4px;max-height:160px;display:flex;overflow-y:auto}.bulk-current-item{color:#555;align-items:center;gap:8px;font-size:12px;display:flex}.bulk-current-done{color:#27ae60}.bulk-current-failed{color:#e74c3c}.bulk-done-mark{color:#27ae60;flex-shrink:0;font-size:11px}.bulk-failed-mark{color:#e74c3c;flex-shrink:0;font-size:11px}.bulk-done-badge{color:#27ae60;background:#eafaf1;border-radius:3px;flex-shrink:0;margin-left:auto;padding:1px 5px;font-size:10px;font-weight:600}.bulk-failed-badge{color:#e74c3c;background:#fdecea;border-radius:3px;flex-shrink:0;margin-left:auto;padding:1px 5px;font-size:10px;font-weight:600}.bulk-spinner{border:2px solid #ddd;border-top-color:#6c5ce7;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:10px;display:flex}.bulk-progress-bar{background:#eee;border-radius:5px;flex:1;height:10px;overflow:hidden}.bulk-progress-fill{background:linear-gradient(90deg,#6c5ce7,#a29bfe);border-radius:5px;height:100%;transition:width .3s}.bulk-progress-pct{color:#666;text-align:right;min-width:36px;font-size:12px}.bulk-progress-stats{color:#777;gap:12px;font-size:12px;display:flex}.bulk-stat-ok{color:#27ae60;font-weight:600}.bulk-stat-err{color:#e74c3c;font-weight:600}.bulk-stat-total{color:#555}.bulk-stat-done{color:#6c5ce7;font-weight:600}.bulk-stat-stopped{color:#f39c12;font-weight:600}@media (width<=600px){.bulk-modal{border-radius:10px 10px 0 0;width:100%}.bulk-actions{flex-direction:column}}.btn-bulk-input{cursor:pointer;color:#fff;background:#6c5ce7;border:none;border-radius:4px;margin-left:6px;padding:6px 14px;font-size:13px;font-weight:500}.btn-bulk-input:hover{background:#5a4bd1}.bulk-input-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.bulk-input-modal{background:#fff;border-radius:10px;flex-direction:column;width:600px;max-width:95vw;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 8px 32px #0000002e}.bulk-input-header{color:#fff;background:#6c5ce7;justify-content:space-between;align-items:center;padding:12px 16px;font-size:15px;font-weight:600;display:flex}.bulk-input-header h3{margin:0;font-size:15px}.bulk-input-close{color:#fff;cursor:pointer;opacity:.8;background:0 0;border:none;font-size:20px;line-height:1}.bulk-input-close:hover{opacity:1}.bulk-input-body{flex-direction:column;gap:12px;padding:16px 18px;display:flex;overflow-y:auto}.bulk-input-tabs{border-bottom:2px solid #eee;gap:0;display:flex}.bulk-input-tab{color:#999;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:8px 18px;font-size:13px;font-weight:500;transition:color .15s,border-color .15s}.bulk-input-tab:hover{color:#555}.bulk-input-tab.active{color:#6c5ce7;border-bottom-color:#6c5ce7;font-weight:600}.bulk-input-section{flex-direction:column;gap:8px;display:flex}.bulk-input-textarea{resize:vertical;box-sizing:border-box;border:1px solid #ddd;border-radius:6px;width:100%;min-height:160px;padding:10px 12px;font-family:Consolas,Courier New,monospace;font-size:13px;line-height:1.6}.bulk-input-textarea:focus{border-color:#6c5ce7;outline:none;box-shadow:0 0 0 2px #6c5ce726}.bulk-input-parse-btn{cursor:pointer;color:#333;background:#f8f9fa;border:1px solid #ddd;border-radius:4px;align-self:flex-end;padding:6px 16px;font-size:13px}.bulk-input-parse-btn:hover{background:#e9ecef}.bulk-input-dropzone{text-align:center;cursor:pointer;color:#999;border:2px dashed #ccc;border-radius:8px;padding:32px 16px;font-size:13px;transition:border-color .2s,background .2s}.bulk-input-dropzone:hover,.bulk-input-dropzone-active{background:#6c5ce70a;border-color:#6c5ce7}.bulk-input-hint{color:#bbb;margin-top:4px;font-size:11px;display:inline-block}.bulk-input-filename{color:#6c5ce7;font-size:14px;font-weight:600}.bulk-input-preview-wrap{border:1px solid #eee;border-radius:6px;max-height:240px;overflow-y:auto}.bulk-input-preview{border-collapse:collapse;width:100%;font-size:12px}.bulk-input-preview th{text-align:left;color:#555;z-index:1;background:#f8f9fa;border-bottom:1px solid #eee;padding:6px 10px;font-weight:600;position:sticky;top:0}.bulk-input-preview td{border-bottom:1px solid #f5f5f5;padding:5px 10px}.bulk-input-preview .mono{font-family:Consolas,monospace;font-size:12px}.bulk-input-row-error{background:#fff8f8}.bulk-input-badge{border-radius:10px;padding:1px 8px;font-size:11px;font-weight:500;display:inline-block}.bulk-input-badge.ok{color:#27ae60;background:#eafaf1}.bulk-input-badge.err{color:#e74c3c;background:#fdecea}.bulk-input-badge.dup{color:#f39c12;background:#fef9e7}.bulk-input-summary{color:#777;text-align:center;padding:6px 0;font-size:12px}.bulk-input-summary strong{color:#27ae60}.bulk-input-footer{justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.bulk-input-footer .btn-primary{color:#fff;cursor:pointer;background:#6c5ce7;border:none;border-radius:6px;padding:8px 20px;font-size:13px;font-weight:500}.bulk-input-footer .btn-primary:hover{background:#5a4bd1}.bulk-input-footer .btn-primary:disabled{cursor:not-allowed;background:#ccc}.bulk-input-footer .btn-cancel{color:#777;cursor:pointer;background:0 0;border:1px solid #ddd;border-radius:6px;padding:8px 16px;font-size:13px}.bulk-input-footer .btn-cancel:hover{background:#f8f9fa}.bulk-input-result{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:24px 0;display:flex}.bulk-input-result-title{color:#27ae60;font-size:18px;font-weight:600}@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:#fff;border:1px solid #ddd;border-radius:8px;margin-bottom:20px;padding:20px}.page-admin .admin-section h2{color:#333;border-bottom:2px solid #4da8da;margin-bottom:16px;padding-bottom:8px;font-size:16px}.page-admin .info-text{color:#888;text-align:center;padding:40px;font-size:14px}.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 #ddd;flex-direction:column;flex-shrink:0;width:420px;padding:16px;display:flex}.role-right{flex-direction:column;flex:1;padding:16px;display:flex}.role-toolbar{align-items:center;gap:8px;margin-bottom:12px;display:flex}.role-toolbar .role-title{color:#333;font-size:15px;font-weight:700}.role-toolbar .role-count{color:#888;margin-left:auto;font-size:12px}.role-btn{cursor:pointer;color:#333;background:#e0e0e0;border:none;border-radius:20px;padding:5px 14px;font-size:12px;font-weight:700}.role-btn:hover{background:#c8c8c8}.role-btn-add{color:#fff;background:#4da8da}.role-btn-add:hover{background:#2980b9}.role-btn-del{color:#fff;background:#e74c3c}.role-btn-del:hover{background:#c0392b}.role-btn-save{color:#fff;background:#27ae60}.role-btn-save:hover{background:#1e8449}.role-grid{border:1px solid #ddd;border-radius:4px;flex:1;overflow-y:auto}.role-grid table{border-collapse:collapse;width:100%;font-size:13px}.role-grid th{text-align:center;z-index:1;background:#f5f6f8;border-bottom:2px solid #ddd;padding:8px 10px;font-weight:700;position:sticky;top:0}.role-grid td{text-align:center;cursor:pointer;border-bottom:1px solid #eee;padding:7px 10px}.role-grid tr:hover td{background:#f0f4ff}.role-grid tr.selected td{background:#dbeafe;font-weight:700}.role-grid input[type=text]{border:1px solid #ccc;border-radius:3px;width:100%;padding:4px 6px;font-size:12px}.role-grid select{border:1px solid #ccc;border-radius:3px;padding:3px 6px;font-size:12px}.role-tabs{border-bottom:2px solid #ddd;gap:0;margin-bottom:12px;display:flex}.role-tab{color:#888;cursor:pointer;border-bottom:2px solid #0000;margin-bottom:-2px;padding:8px 20px;font-size:13px;font-weight:700}.role-tab:hover{color:#333}.role-tab.active{color:#3498db;border-bottom-color:#3498db}.role-right-info{color:#555;gap:16px;margin-bottom:12px;font-size:13px;display:flex}.role-right-info span{color:#333;font-weight:700}.user-grid{border:1px solid #ddd;border-radius:4px;flex:1;overflow-y:auto}.user-grid table{border-collapse:collapse;width:100%;font-size:13px}.user-grid th{text-align:center;z-index:1;background:#f5f6f8;border-bottom:2px solid #ddd;padding:8px 10px;font-weight:700;position:sticky;top:0}.user-grid td{text-align:center;border-bottom:1px solid #eee;padding:7px 10px}.user-grid .empty-msg{color:#aaa;text-align:center;padding:40px}.user-mgmt-search{border-bottom:1px solid #eee;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:12px;padding:10px 0 14px;display:flex}.user-mgmt-search-fields{flex-wrap:wrap;flex:1;align-items:center;gap:8px;display:flex}.user-mgmt-search-field-group{flex-direction:column;align-items:flex-start;gap:3px;display:flex}.user-mgmt-search-fields label{color:#555;white-space:nowrap;font-size:13px}.user-mgmt-search-fields input{border:1px solid #ccc;border-radius:4px;width:180px;height:32px;padding:0 8px;font-size:13px}.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{color:#666;font-size:13px}.user-mgmt-loading{color:#888;margin-bottom:8px;font-size:13px}.user-role-tags{flex-wrap:wrap;justify-content:center;gap:4px;display:flex}.user-role-tag{color:#2980b9;white-space:nowrap;background:#e8f4fd;border:1px solid #aed6f1;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600;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 #e0e0e0;border-radius:6px;margin-bottom:10px;padding:8px 12px}.user-grid td{text-align:left;border:none;padding:4px 0;font-size:13px}.user-grid td:before{content:attr(data-label) ": ";color:#555;font-weight:600}.user-role-tags{justify-content:flex-start}.user-mgmt-search{flex-direction:column;align-items:stretch;gap:8px}.user-mgmt-search-fields{gap:6px}.user-mgmt-search-fields input{width:100%}.user-mgmt-search-btns{justify-content:flex-end}}.status-ok{color:#27ae60;font-weight:700}.status-err{color:#e74c3c}.status-ing{color:#2980b9}.status-wait{color:#999}.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}.btn-logout{padding:3px 8px;font-size:11px}.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}.menubar{height:38px;position:relative}.menu-list{z-index:200;background:#16213e;border:1px solid #333;border-radius:0 0 8px 8px;flex-direction:column;align-items:stretch;height:auto;display:none;position:absolute;top:100%;left:0;right:0;box-shadow:0 8px 24px #00000059}.menubar.mobile-open .menu-list{display:flex}.menu-item{border-bottom:1px solid #ffffff14;height:auto;padding:0;display:block;position:static}.menu-item-label{cursor:pointer;color:#ccc;padding:12px 18px;font-size:13px;font-weight:700;display:block}.menu-item-label:hover{color:#fff;background:#ffffff0d}.menu-item.active:after{display:none}.menu-item.sub-open>.menu-item-label{color:#4da8da}.menu-sub{box-shadow:none;background:#0f1a30;border:none;border-radius:0;display:none;position:static}.menu-item.sub-open .menu-sub{display:block}.menu-sub-item{border-bottom:1px solid #ffffff08;padding:10px 32px}.menu-sub-item:hover{background:#ffffff0d}.menu-sub-expandable.sub-sub-open{color:#e6a66a;background:#4da8da14}.menu-sub-sub{box-shadow:none;background:0 0;border:none;border-left:2px solid #4da8da59;border-radius:0;margin:4px 0 4px 32px;display:none;position:static}.menu-sub-expandable.sub-sub-open .menu-sub-sub{display:block}.menu-sub-sub-item{color:#aaa;border-bottom:none;padding:9px 16px;font-size:12px}.menu-sub-sub-item:hover{color:#fff;background:#ffffff0d}.menu-sub-sub-expandable.sub-sub-sub-open{color:#e6a66a;background:#4da8da0f}.menu-sub-sub-sub{box-shadow:none;background:0 0;border:none;border-left:2px solid #4da8da33;border-radius:0;margin:4px 0 4px 48px;display:none;position:static}.menu-sub-sub-expandable.sub-sub-sub-open .menu-sub-sub-sub{display:block}.menu-sub-sub-sub-item{color:#999;padding:8px 16px;font-size:11px}.menu-sub-sub-sub-item:hover{color:#fff;background:#ffffff0d}.tabbar{height:30px;padding:0 4px}.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{background:#fff;border:1px solid #ddd;border-radius:8px;margin-bottom:12px;padding:12px;position:relative;box-shadow:0 1px 4px #0000000f}.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);color:#888;flex-shrink:0;min-width:80px;font-size:11px;font-weight:700}.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]{border-bottom:1px solid #f0f0f0;margin-bottom:4px;padding-bottom:8px;padding-left:28px;font-size:14px;font-weight:700}.page-agree td[data-label=No]:before,.page-agree td[data-label=제어]:before{display:none}.page-agree td[data-label=제어]{border-top:1px solid #f0f0f0;justify-content:flex-end;margin-top:4px;padding-top:8px}.page-agree .ctrl-btns .btn{padding:7px 18px;font-size:13px}.page-agree td[data-empty]{display:none}.page-agree .empty{text-align:center;color:#aaa;padding:20px;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-bottom:1px solid #ddd;border-right:none;width:100%;max-height:40vh;padding:12px}.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{height:100%;padding:20px;overflow-y:auto}.sysinfo-header{align-items:center;gap:12px;margin-bottom:20px;display:flex}.sysinfo-header h2{color:#1a1a2e;font-size:18px;font-weight:700}.sysinfo-status{text-transform:uppercase;letter-spacing:.5px;border-radius:12px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-block}.sysinfo-status.connected{color:#fff;background:#27ae60}.sysinfo-status.connecting{color:#fff;background:#f39c12}.sysinfo-status.error{color:#fff;background:#e74c3c}.sysinfo-cards{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px;display:grid}.sysinfo-card{background:#fff;border-left:4px solid #ccc;border-radius:10px;padding:16px 18px;box-shadow:0 2px 8px #0000000f}.sysinfo-card.cpu{border-left-color:#e74c3c}.sysinfo-card.memory{border-left-color:#2980b9}.sysinfo-card.network{border-left-color:#27ae60}.sysinfo-card.connections{border-left-color:#8e44ad}.sysinfo-card-label{color:#888;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:12px;font-weight:600}.sysinfo-card-value{color:#1a1a2e;font-size:28px;font-weight:700;line-height:1.2}.sysinfo-card-sub{color:#aaa;white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:11px;overflow:hidden}.sysinfo-charts{grid-template-columns:1fr 1fr;gap:16px;display:grid}.sysinfo-chart-box{background:#fff;border-radius:10px;padding:16px;box-shadow:0 2px 8px #0000000f}.sysinfo-chart-box h3{color:#555;margin-bottom:10px;font-size:13px;font-weight:600}.sysinfo-info-grid{grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;display:grid}.sysinfo-info-box{background:#fff;border-radius:10px;padding:16px 20px;box-shadow:0 2px 8px #0000000f}.sysinfo-info-box h3{color:#555;border-bottom:1px solid #eee;margin-bottom:12px;padding-bottom:8px;font-size:13px;font-weight:600}.sysinfo-info-rows{flex-direction:column;gap:8px;display:flex}.sysinfo-info-row{align-items:center;gap:12px;display:flex}.sysinfo-info-label{color:#888;flex-shrink:0;min-width:80px;font-size:12px}.sysinfo-info-value{color:#222;word-break:break-all;font-size:13px}.sysinfo-monospace{background:#f5f5f5;border-radius:4px;padding:2px 6px;font-family:Courier New,monospace;font-size:12px}.sysinfo-db-badge{border-radius:12px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.sysinfo-db-badge.connected{color:#1a7a45;background:#d4f5e2}.sysinfo-db-badge.error{color:#c0392b;background:#fde8e8}@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:20px}.dashboard-panel{background:#fff;border-radius:10px;margin-bottom:24px;overflow:hidden;box-shadow:0 2px 8px #00000012}.dashboard-panel-header{background:#f8f9fb;border-bottom:1px solid #f0f0f0;align-items:center;padding:14px 20px;display:flex}.dashboard-panel-title{color:#444;text-transform:uppercase;letter-spacing:.5px;font-size:13px;font-weight:700}.dashboard-panel-body{padding:20px}.dashboard-empty{text-align:center;color:#bbb;background:#fff;border-radius:10px;padding:32px;font-size:13px;box-shadow:0 2px 8px #0000000f}.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:#fff;border-bottom:none;border-radius:10px;grid-template-columns:1fr 1fr;margin-bottom:10px;padding:12px 14px;display:grid;box-shadow:0 1px 5px #00000017}.page-dashboard .data-table td{border-bottom:none;flex-direction:column;gap:2px;padding:3px 0;font-size:13px;display:flex;text-align:left!important}.page-dashboard .data-table td:before{content:attr(data-label);color:#999;font-size:11px;font-weight:600}.page-dashboard .data-table td:first-child{display:none}.page-dashboard .data-table td:nth-child(2){color:#1a1a2e;border-bottom:1px solid #f0f0f0;flex-direction:row;grid-column:1/3;align-items:center;gap:6px;margin-bottom:4px;padding-bottom:8px;font-size:14px;font-weight:600}.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{max-width:1200px;padding:20px 24px}.accesslog-header h2{color:#1a1a2e;margin-bottom:16px;font-size:18px;font-weight:700}.accesslog-section{background:#fff;border-radius:10px;margin-bottom:16px;padding:18px 20px;box-shadow:0 2px 8px #0000000f}.accesslog-section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.accesslog-section-header h3{color:#333;align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.accesslog-period-tabs{gap:4px;display:flex}.accesslog-period-btn{color:#888;cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:20px;padding:4px 14px;font-size:12px;font-weight:600;transition:all .15s}.accesslog-period-btn:hover{color:#3498db;border-color:#3498db}.accesslog-period-btn.active{color:#fff;background:#3498db;border-color:#3498db}.accesslog-chart-wrap{margin-top:4px}.accesslog-chart-hint{color:#bbb;text-align:center;margin-top:8px;font-size:11px}.accesslog-period-badge{color:#2980b9;background:#ebf5fb;border-radius:12px;padding:2px 10px;font-size:12px;font-weight:700;display:inline-block}.accesslog-empty{text-align:center;color:#bbb;padding:32px;font-size:13px}.accesslog-sentinel{justify-content:center;align-items:center;height:32px;display:flex}.accesslog-loading-more{color:#aaa;font-size:12px}@media (width<=600px){.page-accesslog{padding:12px}}.page-serverlog{color:#e6edf3;background:#0d1117;flex-direction:column;height:100%;font-family:Courier New,Consolas,monospace;display:flex;overflow:hidden}.serverlog-header{background:#161b22;border-bottom:1px solid #30363d;flex-shrink:0;padding:14px 16px 10px}.serverlog-title-row{align-items:center;gap:12px;margin-bottom:10px;display:flex}.serverlog-title-row h2{color:#e6edf3;margin:0;font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:15px;font-weight:700}.serverlog-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.serverlog-filters{gap:4px;display:flex}.serverlog-filter-btn{color:#8b949e;cursor:pointer;background:0 0;border:1px solid #30363d;border-radius:20px;padding:3px 10px;font-family:Courier New,monospace;font-size:11px;font-weight:600;transition:all .15s}.serverlog-filter-btn:hover{color:#e6edf3;background:#21262d}.serverlog-filter-btn.active{color:#e6edf3;background:#21262d;border-color:#58a6ff}.serverlog-search{color:#e6edf3;background:#0d1117;border:1px solid #30363d;border-radius:4px;outline:none;flex:1;min-width:160px;max-width:280px;padding:4px 10px;font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:12px}.serverlog-search:focus{border-color:#58a6ff}.serverlog-actions{align-items:center;gap:6px;display:flex}.serverlog-btn{color:#e6edf3;cursor:pointer;white-space:nowrap;background:#21262d;border:1px solid #30363d;border-radius:20px;padding:4px 12px;font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:12px;transition:background .15s;position:relative}.serverlog-btn:hover{background:#30363d}.serverlog-btn.paused{color:#ffd93d;border-color:#ffd93d}.serverlog-btn-scroll{color:#58a6ff;border-color:#58a6ff}.serverlog-pending-badge{color:#fff;text-align:center;background:#4da8da;border-radius:8px;min-width:16px;padding:0 4px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:-6px;right:-6px}.serverlog-count{color:#8b949e;margin-top:6px;font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:11px}.serverlog-paused-label{color:#ffd93d}.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:#0d1117}.serverlog-list::-webkit-scrollbar-thumb{background:#30363d;border-radius:3px}.serverlog-row{align-items:baseline;gap:8px;padding:2px 16px;font-size:12px;line-height:1.6;transition:background .1s;display:flex}.serverlog-row:hover{background:#161b22}.serverlog-row-error{background:#ff6b6b0d}.serverlog-row-warn{background:#ffd93d0a}.serverlog-time{color:#484f58;flex-shrink:0;font-size:11px}.serverlog-level{flex-shrink:0;width:56px;font-size:11px;font-weight:700}.serverlog-context{color:#58a6ff;flex-shrink:0;font-size:11px}.serverlog-message{color:#e6edf3;word-break:break-all;white-space:pre-wrap}.serverlog-empty{text-align:center;color:#484f58;padding:32px;font-family:-apple-system,BlinkMacSystemFont,sans-serif}@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:12px}.sysinfo-cards{grid-template-columns:1fr}.sysinfo-card-value{font-size:22px}}.layer-popup-overlay{z-index:100;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.layer-popup{background:#fff;border-radius:8px;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{cursor:grab;-webkit-user-select:none;user-select:none;background:#f8f9fa;border-bottom:1px solid #e9ecef;border-radius:8px 8px 0 0;flex-shrink:0;align-items:center;gap:8px;padding:11px 16px 11px 20px;display:flex}.layer-popup-titlebar:active{cursor:grabbing}.layer-popup-titlebar-text{color:#1a1a2e;text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:1;font-size:15px;font-weight:600;overflow:hidden}.layer-popup-close{color:#888;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:16px;line-height:1}.layer-popup-close:hover{color:#333;background:#e9ecef}.layer-popup-titlebar.bulk-title{background:#6c5ce7;border-bottom-color:#0000;border-radius:8px 8px 0 0}.layer-popup-titlebar.bulk-title .layer-popup-titlebar-text{color:#fff}.layer-popup-titlebar.bulk-title .layer-popup-close{color:#fffc}.layer-popup-titlebar.bulk-title .layer-popup-close:hover{color:#fff;background:#ffffff26}.layer-popup-titlebar.dark-title{background:#1a1a2e;border-bottom-color:#0000;border-radius:8px 8px 0 0}.layer-popup-titlebar.dark-title .layer-popup-titlebar-text{color:#e0e0e0}.layer-popup-titlebar.dark-title .layer-popup-close{color:#ffffffb3}.layer-popup-titlebar.dark-title .layer-popup-close:hover{color:#fff;background:#ffffff1f}.modal-overlay{z-index:9999;background:#00000073;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{text-align:center;background:#fff;border-radius:10px;min-width:320px;max-width:90vw;padding:32px 28px 24px;animation:.15s slideUp;box-shadow:0 8px 32px #0000002e}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.modal-message{color:#222;white-space:pre-line;margin-bottom:24px;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:#000000b8;justify-content:center;align-items:stretch;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.pdf-modal{background:#1e1e1e;border-radius:10px;flex-direction:column;width:100%;max-width:960px;margin:24px auto;animation:.15s slideUp;display:flex;overflow:hidden;box-shadow:0 16px 48px #00000080}.pdf-modal-header{background:#2b2b2b;border-bottom:1px solid #3a3a3a;align-items:center;gap:8px;min-height:48px;padding:10px 14px;display:flex}.pdf-modal-btn{color:#ccc;cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:6px 10px;transition:background .15s,color .15s;display:flex}.pdf-modal-btn:hover{color:#fff;background:#ffffff1a}.pdf-modal-close-text{white-space:nowrap;font-size:13px;font-weight:500}.pdf-modal-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.pdf-modal-title{color:#bbb;text-align:center;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;overflow:hidden}.pdf-modal-iframe-wrap{-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-y:auto}.pdf-modal-iframe{background:#fff;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{min-height:44px;padding:8px 10px}.pdf-modal-title{font-size:12px}}@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}.btn-log{color:#fff;background:#546e7a}.btn-log:hover{background:#37474f}}.log-modal-box{background:#1a1a2e;border-radius:10px;flex-direction:column;width:92vw;max-width:480px;max-height:70vh;animation:.15s slideUp;display:flex;overflow:hidden;box-shadow:0 8px 32px #0006}.log-modal-header{color:#eee;border-bottom:1px solid #333;flex-shrink:0;align-items:center;gap:4px;padding:14px 16px;font-size:14px;display:flex}.log-modal-close{color:#aaa;cursor:pointer;background:0 0;border:none;margin-left:auto;padding:2px 6px;font-size:16px;line-height:1}.log-modal-close:hover{color:#fff}.log-modal-body{flex:1;padding:10px 14px;font-family:monospace;font-size:12px;overflow:hidden auto}.log-modal-body .log-entry{word-break:break-all;border-bottom:1px solid #222;padding:3px 0}.log-modal-empty{text-align:center;color:#666;padding:30px 0}.page-notice{flex-direction:column;gap:14px;height:100%;padding:20px;display:flex;overflow-y:auto}.page-notice-header{flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.page-header{flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.page-header-actions{align-items:center;gap:8px;display:flex}.page-title{color:#1a1a2e;margin:0;font-size:18px;font-weight:600}.table-wrap{flex:1;overflow-x:auto}.data-table{border-collapse:collapse;background:#fff;border-radius:8px;width:100%;font-size:13px;overflow:hidden;box-shadow:0 1px 4px #00000014}.data-table th{color:#555;white-space:nowrap;background:#f5f6fa;border-bottom:1px solid #e0e0e0;padding:10px 12px;font-weight:600}.data-table td{vertical-align:middle;border-bottom:1px solid #f0f0f0;padding:9px 12px}.data-table tr:last-child td{border-bottom:none}.clickable-row{cursor:pointer;transition:background .15s}.clickable-row:hover{background:#f0f4ff}.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{color:#fff;letter-spacing:.5px;vertical-align:middle;background:#e74c3c;border-radius:4px;margin-left:8px;padding:1px 6px;font-size:10px;font-weight:800;animation:1.2s ease-in-out infinite notice-blink;display:inline-block}.badge{border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.badge-popup{color:#1a73e8;background:#e8f0fe}.badge-normal{color:#aaa;background:0 0}.modal-header{border-bottom:1px solid #eee;flex-shrink:0;align-items:center;gap:8px;padding:16px 20px 12px;display:flex}.modal-header h3{color:#1a1a2e;flex:1;margin:0;font-size:16px;font-weight:600}.modal-close{color:#888;cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:18px;line-height:1}.modal-close:hover{color:#333}.modal-body{flex-direction:column;flex:1;gap:14px;padding:16px 20px;display:flex;overflow-y:auto}.modal-footer{border-top:1px solid #eee;flex-shrink:0;justify-content:flex-end;gap:8px;padding:12px 20px;display:flex}.form-row{flex-direction:column;gap:6px;display:flex}.form-row-date{flex-flow:wrap;align-items:flex-end;gap:12px}.form-col{flex-direction:column;flex:1;gap:6px;min-width:140px;display:flex}.form-col-popup{flex:none;min-width:160px}.form-label{color:#555;text-align:left;font-size:12px;font-weight:600}.form-input{border:1px solid #d0d0d0;border-radius:5px;width:100%;padding:7px 10px;font-size:13px;transition:border-color .15s}.form-input:focus{border-color:#1a73e8;outline:none;box-shadow:0 0 0 2px #1a73e81f}.checkbox-label{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:13px;display:flex}.notice-form-modal{background:#fff;border-radius:10px;flex-direction:column;width:90vw;max-width:820px;max-height:90vh;display:flex;box-shadow:0 8px 32px #0000002e}.tiptap-wrapper{border:1px solid #d0d0d0;border-radius:6px;overflow:hidden}.tiptap-toolbar{background:#f8f8f8;border-bottom:1px solid #e0e0e0;flex-wrap:wrap;align-items:center;gap:2px;padding:6px 8px;display:flex}.tb-btn{cursor:pointer;color:#444;background:0 0;border:1px solid #0000;border-radius:4px;min-width:28px;padding:3px 7px;font-size:13px;font-weight:600;line-height:1.4;transition:background .12s,border-color .12s}.tb-btn:hover{background:#e8e8e8;border-color:#ccc}.tb-btn.active{color:#1d4ed8;background:#dbeafe;border-color:#93c5fd}.tb-italic{font-style:italic}.tb-underline{text-decoration:underline}.tb-divider{background:#ddd;width:1px;height:18px;margin:0 3px}.tiptap-editor{cursor:text;outline:none;min-height:200px;max-height:340px;padding:10px 14px;font-size:13px;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{margin:10px 0 6px;font-size:18px;font-weight:700}.tiptap-editor .ProseMirror h3{margin:8px 0 4px;font-size:15px;font-weight:700}.tiptap-editor .ProseMirror ul,.tiptap-editor .ProseMirror ol{margin-bottom:6px;padding-left:20px}.tiptap-editor .ProseMirror img{border-radius:4px;max-width:100%;margin:4px 0}.tiptap-editor .ProseMirror blockquote{color:#666;border-left:3px solid #ddd;padding-left:12px}.tiptap-editor .ProseMirror code{background:#f4f4f4;border-radius:3px;padding:1px 4px;font-size:12px}.tiptap-hint{color:#999;background:#fafafa;border-top:1px solid #eee;padding:4px 10px;font-size:11px}.tiptap-view{font-size:14px;line-height:1.7}.tiptap-view p{margin-bottom:6px}.tiptap-view h2{margin:10px 0 6px;font-size:18px;font-weight:700}.tiptap-view h3{margin:8px 0 4px;font-size:15px;font-weight:700}.tiptap-view ul,.tiptap-view ol{margin-bottom:6px;padding-left:20px}.tiptap-view img{border-radius:4px;max-width:100%;margin:4px 0}.tiptap-view blockquote{color:#666;border-left:3px solid #ddd;padding-left:12px}.tiptap-view code{background:#f4f4f4;border-radius:3px;padding:1px 4px;font-size:12px}.notice-popup-overlay{z-index:2000;background:#0000008c;align-items:center}.notice-popup-modal{background:#fff;border-radius:10px;flex-direction:column;width:92vw;max-width:600px;max-height:85vh;display:flex;overflow:hidden;box-shadow:0 12px 40px #00000038}.notice-popup-header{background:#1a1a2e;border-bottom:none;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 18px;position:relative}.notice-popup-badge{color:#7ebdf7;letter-spacing:.5px;text-transform:uppercase;font-size:11px;font-weight:700}.notice-popup-title{flex:1;line-height:1.4;color:#fff!important;font-size:17px!important;font-weight:700!important}.notice-popup-counter{color:#aaa;font-size:12px;position:absolute;top:14px;right:18px}.notice-popup-meta{color:#666;background:#f8f8f8;border-bottom:1px solid #eee;flex-shrink:0;grid-template-columns:1fr 1fr;gap:6px 16px;padding:10px 18px;font-size:12px;display:grid}.notice-popup-meta b{color:#444;margin-right:4px;font-weight:600}.notice-popup-content{flex:1;padding:16px 18px;overflow-y:auto}.notice-popup-footer{background:#fafafa;border-top:1px solid #eee;flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 18px;display:flex}.hide-today-label{color:#666;font-size:12px}@media (width<=768px){.page-notice{padding:12px}.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:#fff;border-bottom:none;border-radius:10px;grid-template-columns:1fr 1fr;margin-bottom:10px;padding:12px 14px;display:grid;box-shadow:0 1px 5px #00000017}.page-notice .data-table td{border-bottom:none;flex-direction:column;gap:2px;padding:3px 0;font-size:13px;display:flex;text-align:left!important}.page-notice .data-table td:before{content:attr(data-label);color:#999;font-size:11px;font-weight:600}.page-notice .data-table td:first-child{display:none}.page-notice .data-table td:nth-child(2){color:#1a1a2e;border-bottom:1px solid #f0f0f0;flex-direction:row;grid-column:1/3;align-items:center;gap:6px;margin-bottom:4px;padding-bottom:8px;font-size:14px;font-weight:600}.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){border-top:1px solid #f0f0f0;flex-direction:row;grid-column:1/3;justify-content:flex-end;margin-top:4px;padding-top:8px}.page-notice .data-table td:nth-child(8):before{display:none}.notice-form-modal{width:98vw;max-height:96vh;margin:4px}.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{min-width:24px;padding:3px 5px;font-size:12px}.notice-popup-meta{grid-template-columns:1fr}}.page-insurer{flex-direction:column;gap:16px;height:100%;padding:20px;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:#aaa;padding:60px 0;font-size:14px}.insurer-cards{flex-wrap:wrap;align-content:flex-start;gap:16px;display:flex}.insurer-card{background:#fff;border:1px solid #dde1e7;border-radius:10px;flex-direction:column;gap:8px;width:220px;padding:20px;transition:box-shadow .15s;display:flex;box-shadow:0 2px 6px #0000000f}.insurer-card:hover{box-shadow:0 4px 14px #0000001c}.insurer-card-header{align-items:center;gap:8px;display:flex}.insurer-card-favicon{object-fit:contain;flex-shrink:0;width:24px;height:24px}.insurer-card-name{color:#1a2233;font-size:16px;font-weight:700}.insurer-card-url{color:#888;word-break:break-all;flex:1;font-size:12px}.insurer-card-actions{gap:6px;margin-top:8px;display:flex}.insurer-form-modal{width:420px;max-width:96vw}.grid-link{color:#5b9bd5;cursor:pointer;font-weight:600;transition:color .15s}.grid-link:hover{color:#2e6fad;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{flex-direction:column;gap:8px;display:flex}.user-edit-role-item{cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}.user-edit-role-nm{color:#888;font-size:13px}.pw-form-row{align-items:flex-start}.pw-input-wrap{flex-direction:column;flex:1;gap:6px;display:flex}.pw-policy-list{background:#f8f8f8;border:1px solid #eee;border-radius:6px;flex-direction:column;gap:3px;margin:0;padding:6px 10px;list-style:none;display:flex}.pw-policy-list li{font-size:12px}.pw-ok{color:#22c55e}.pw-fail{color:#ef4444}.tel-input-group{flex:1;align-items:center;gap:4px;display:flex}.tel-prefix-select{flex-shrink:0;width:72px}.tel-separator{color:#999;font-size:16px}.tel-number-input{flex:1}.insurer-icon-row{align-items:flex-start}.insurer-icon-upload{align-items:center;gap:12px;display:flex}.insurer-icon-preview{cursor:pointer;background:var(--bg-secondary,#f5f5f5);border:2px solid #d0d0d0;border-radius:6px;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{background:#fafafa;border:2px dashed #bbb}.insurer-icon-placeholder{color:#aaa;text-align:center;padding:4px;font-size:10px;line-height:1.2}.insurer-icon-btn{flex-shrink:0}.insurer-features-row{align-items:flex-start}.insurer-features-list{flex-direction:column;gap:8px;padding-top:4px;display:flex}.insurer-feature-checkbox{cursor:pointer;color:var(--text-primary,#333);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:14px;display:flex}.insurer-feature-checkbox input[type=checkbox]{cursor:pointer;width:16px;height:16px;accent-color:var(--primary,#4a90d9);flex-shrink:0}.modal-tabs{border-bottom:1px solid #e0e0e0;flex-shrink:0;margin:0 24px;display:flex}.modal-tab-btn{cursor:pointer;color:#666;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 20px;font-size:14px;transition:color .15s,border-color .15s}.modal-tab-btn.active{color:#1976d2;border-bottom-color:#1976d2;font-weight:600}.modal-tab-btn:hover:not(.active){color:#333}.email-check-group{flex-wrap:wrap;flex:1;align-items:center;gap:8px;display:flex}.email-check-group .form-input{flex:1;min-width:0}.email-check-btn{white-space:nowrap;flex-shrink:0}.email-check-msg{width:100%;font-size:12px}.email-check-msg.ok{color:#2e7d32}.email-check-msg.fail{color:#c62828}.insurer-accounts-empty{text-align:center;color:#999;padding:32px 0;font-size:14px}.insurer-accounts-list{flex-direction:column;gap:0;display:flex}.insurer-account-header{border-bottom:1px solid #ddd;grid-template-columns:120px 1fr 1fr 100px;gap:8px;margin-bottom:4px;padding:6px 0 8px;display:grid}.insurer-account-field-label{color:#888;font-size:12px;font-weight:500}.insurer-account-name-col{color:#888;align-items:center;gap:6px;font-size:12px;font-weight:500;display:flex}.insurer-account-row{border-bottom:1px solid #f5f5f5;grid-template-columns:120px 1fr 1fr 100px;align-items:center;gap:8px;padding:6px 0;display:grid}.insurer-account-row:last-child{border-bottom:none}.insurer-account-row .insurer-account-name-col{color:#333;font-size:13px;font-weight:500}.insurer-account-favicon{object-fit:contain;flex-shrink:0;width:16px;height:16px}.insurer-account-name{font-size:13px}.insurer-account-input{height:32px;padding:5px 8px;font-size:13px}@media (width<=767px){.page-insurer{gap:12px;padding:12px}.insurer-cards{gap:12px}.insurer-card{width:100%}.insurer-form-modal{width:98vw}.user-edit-modal{width:98vw;height:85dvh}.modal-tabs{margin:0 12px}.email-check-group{flex-flow:wrap}.email-check-btn{padding:6px 10px;font-size:13px}.insurer-account-header,.insurer-account-row{grid-template-columns:90px 1fr 1fr 80px;gap:4px}}#sw-update-banner{color:#f1f5f9;z-index:99999;white-space:nowrap;background:#1e293b;border:1px solid #3b82f6;border-radius:10px;align-items:center;gap:12px;padding:12px 20px;font-size:14px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 4px 24px #0006}#sw-update-banner button:first-of-type{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:6px;padding:6px 14px;font-size:13px}#sw-update-banner button:last-of-type{color:#94a3b8;cursor:pointer;background:0 0;border:none;font-size:13px}.login-footer-links{justify-content:center;align-items:center;gap:8px;margin-top:12px;font-size:12px;display:flex}.login-footer-links a{color:#999;text-decoration:none}.login-footer-links a:hover{color:#4da8da;text-decoration:underline}.login-footer-links__sep{color:#ccc}.page-terms-management{padding:16px}.page-terms-management__header{margin-bottom:12px}.terms-type-tabs{border-bottom:2px solid #e0e0e0;gap:0;margin-bottom:16px;display:flex}.terms-type-tab{cursor:pointer;color:#666;background:0 0;border:none;border-bottom:2px solid #0000;min-height:44px;margin-bottom:-2px;padding:8px 20px;font-size:14px;transition:color .15s,border-color .15s}.terms-type-tab:hover{color:#4da8da}.terms-type-tab.active{color:#4da8da;border-bottom-color:#4da8da;font-weight:600}.terms-badge{white-space:nowrap;border-radius:10px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.terms-badge--active{color:#1a7a45;background:#e6f7ee}.terms-badge--upcoming{color:#1a56c8;background:#e8f0fe}.terms-badge--past{color:#888;background:#f5f5f5}.terms-form-modal{flex-direction:column;width:90vw;height:85vh;display:flex;overflow:hidden}.terms-form-modal__body{flex-direction:column;flex:1;min-height:0;padding:12px 16px 0;display:flex;overflow:hidden}.terms-form-modal__dates{flex-wrap:wrap;gap:16px;margin-bottom:12px;display:flex}.terms-form-date-field{flex-direction:column;gap:4px;display:flex}.terms-form-date-field .form-label{color:#555;font-size:13px;font-weight:600}.terms-form-date-field .form-input{width:160px}.terms-form-date-field--tz .form-input{width:130px}.terms-version-text{color:#555;font-size:13px;font-weight:500}@media (width<=767px){.terms-table thead{display:none}.terms-table tbody tr{background:#fff;border-radius:10px;margin-bottom:10px;padding:14px 16px;display:block;box-shadow:0 1px 6px #00000014}.terms-table td{border:none;justify-content:space-between;align-items:center;padding:5px 0;font-size:14px;display:flex}.terms-table td:before{content:attr(data-label);color:#888;flex-shrink:0;margin-right:8px;font-size:12px;font-weight:500}.terms-table td[data-label=액션]{border-top:1px solid #f0f0f0;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:8px}}.terms-form-modal__mobile-tabs{border-bottom:2px solid #e0e0e0;gap:0;margin-bottom:8px;display:none}.terms-mobile-tab{cursor:pointer;color:#666;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;min-height:44px;margin-bottom:-2px;padding:8px 12px;font-size:14px}.terms-mobile-tab.active{color:#4da8da;border-bottom-color:#4da8da;font-weight:600}.terms-form-modal__panels{border:1px solid #e0e0e0;border-radius:4px;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 #e0e0e0}.terms-panel__label{color:#888;letter-spacing:.3px;background:#fafafa;border-bottom:1px solid #eee;padding:4px 8px;font-size:11px;font-weight:600}.terms-codemirror{flex:1;min-height:0;font-size:13px;overflow:auto}.terms-codemirror .cm-editor{height:100%}.terms-codemirror .cm-scroller{overflow:auto}.terms-preview-iframe{background:#fff;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-bottom:1px solid #e0e0e0;border-right:none}.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:#fff;min-height:100vh;font-family:inherit}.public-terms-header{z-index:10;background:#fff;border-bottom:1px solid #eee;padding:16px 20px;position:sticky;top:0}.public-terms-logo{color:#4da8da;letter-spacing:-.5px;font-size:20px;font-weight:800}.public-terms-main{max-width:800px;margin:0 auto;padding:24px 20px 60px}.public-terms-title{color:#222;margin-bottom:12px;font-size:24px;font-weight:700}.public-terms-version-row{margin-bottom:6px}.public-terms-version-badge{color:#555;letter-spacing:.03em;background:#f0f0f0;border-radius:4px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.public-terms-accordion-version{color:#555;vertical-align:middle;background:#f0f0f0;border-radius:3px;margin-right:4px;padding:1px 6px;font-size:11px;font-weight:600;display:inline-block}.public-terms-meta{color:#666;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;font-size:14px;display:flex}.public-terms-meta-sep{color:#ccc}.public-terms-divider{border:none;border-top:1px solid #eee;margin:16px 0}.public-terms-content{color:#333;word-break:keep-all;overflow-wrap:break-word;font-size:16px;line-height:1.75}.public-terms-content img{max-width:100%;height:auto}.public-terms-loading,.public-terms-empty{text-align:center;color:#888;padding:40px 0;font-size:15px}.public-terms-previous{margin-top:8px}.public-terms-previous-title{color:#444;margin-bottom:12px;font-size:16px;font-weight:700}.public-terms-accordion-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.public-terms-accordion-item{border:1px solid #eee;border-radius:6px;overflow:hidden}.public-terms-accordion-trigger{cursor:pointer;color:#444;text-align:left;background:#fafafa;border:none;justify-content:space-between;align-items:center;width:100%;min-height:44px;padding:12px 16px;font-size:14px;transition:background .15s;display:flex}.public-terms-accordion-trigger:hover{background:#f0f4f8}.public-terms-accordion-sub{color:#888;margin-left:8px;font-size:13px}.public-terms-accordion-arrow{color:#888;flex-shrink:0;font-size:14px}.public-terms-accordion-body{color:#333;word-break:keep-all;overflow-wrap:break-word;border-top:1px solid #eee;padding:16px;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}}
