@charset "UTF-8";.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:9999}.idle-timeout-popup{background:#fff;border-radius:12px;padding:32px;text-align:center;width:390px;max-width:90vw;box-shadow:0 8px 32px #0003;position:relative}.idle-timeout-popup h2{margin:0 0 20px;font-size:24px;font-weight:600;color:#f59e0b}.idle-timeout-popup p{margin:0 0 24px;font-size:16px;line-height:1.6;color:#666}.idle-timeout-popup strong{color:#ef4444;font-size:1.5rem;font-weight:700}.modal-actions{display:flex;gap:12px;justify-content:center;margin-top:24px}.modal-actions button{padding:12px 24px;border:none;border-radius:6px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s;flex:1}.spinner-container{display:flex;justify-content:center;align-items:center;min-height:150px}.spinner{border:4px solid rgba(0,0,0,.1)!important;border-left-color:#007bff!important;border-radius:50%!important;width:30px!important;height:30px!important;animation:spin 1s linear infinite!important}.btn-primary{background-color:#3b82f6;color:#fff}.btn-primary:hover{background-color:#2563eb}.btn-secondary{background-color:#6b7280;color:#fff}.btn-secondary:hover{background-color:#4b5563}.auto-logout-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:10000}.auto-logout-modal{background:#fff;border-radius:12px;padding:32px;max-width:460px;width:90%;box-shadow:0 8px 32px #0003;text-align:center}.auto-logout-icon{font-size:48px;margin-bottom:16px}.auto-logout-title{font-size:24px;font-weight:600;color:#333;margin-bottom:16px}.auto-logout-message{font-size:16px;color:#666;line-height:1.6;margin-bottom:24px;white-space:pre-line}.auto-logout-button{background-color:#007bff;color:#fff;border:none;border-radius:6px;padding:12px 32px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .2s}.auto-logout-button:hover{background-color:#0056b3}.access-denied-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000d9;display:flex;align-items:center;justify-content:center;z-index:99999;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.access-denied-modal{background:#fff;border-radius:12px;padding:40px;max-width:500px;width:90%;box-shadow:0 10px 40px #00000080;text-align:center;border-top:6px solid #dc3545}.access-denied-icon{font-size:64px;margin-bottom:20px}.access-denied-title{font-size:26px;font-weight:700;color:#dc3545;margin-bottom:16px}.access-denied-message{font-size:16px;color:#333;line-height:1.6;margin-bottom:24px;white-space:pre-line}.access-denied-info{font-size:14px;color:#666;background-color:#f8f9fa;padding:10px;border-radius:6px;margin-top:10px;font-family:monospace}.access-denied-logout-button{margin-top:24px;padding:12px 24px;background-color:#007bff;color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #007bff4d}.access-denied-logout-button:hover{background-color:#0056b3;box-shadow:0 4px 12px #007bff66;transform:translateY(-1px)}.access-denied-logout-button:active{background-color:#004085;transform:translateY(0);box-shadow:0 2px 6px #007bff4d}.toast-container{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:12px;pointer-events:none;max-width:400px}.toast{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;pointer-events:auto;animation:toastSlideIn .3s ease-out;border-left:4px solid transparent;min-width:300px}.toast-exit{animation:toastSlideOut .3s ease-in forwards}.toast-success{border-left-color:#10b981;background:linear-gradient(to right,#ecfdf5,#fff)}.toast-error{border-left-color:#ef4444;background:linear-gradient(to right,#fef2f2,#fff)}.toast-warning{border-left-color:#f59e0b;background:linear-gradient(to right,#fffbeb,#fff)}.toast-info{border-left-color:#3b82f6;background:linear-gradient(to right,#eff6ff,#fff)}.toast-icon{font-size:1.25rem;flex-shrink:0}.toast-message{flex:1;font-size:.95rem;color:#374151;line-height:1.4}.toast-close{flex-shrink:0;width:24px;height:24px;border:none;background:transparent;color:#9ca3af;font-size:1.25rem;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.toast-close:hover{background:#0000000d;color:#4b5563}.toast-close:focus{outline:2px solid #3b82f6;outline-offset:2px}@keyframes toastSlideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes toastSlideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}@media (max-width: 480px){.toast-container{top:auto;bottom:20px;right:10px;left:10px;max-width:none}.toast{min-width:auto}}@media (prefers-color-scheme: dark){.toast{background:#1f2937;box-shadow:0 4px 12px #0000004d}.toast-success{background:linear-gradient(to right,#064e3b,#1f2937)}.toast-error{background:linear-gradient(to right,#7f1d1d,#1f2937)}.toast-warning{background:linear-gradient(to right,#78350f,#1f2937)}.toast-info{background:linear-gradient(to right,#1e3a8a,#1f2937)}.toast-message{color:#f3f4f6}.toast-close{color:#6b7280}.toast-close:hover{background:#ffffff1a;color:#d1d5db}}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;animation:confirmFadeIn .2s ease-out}.confirm-modal{background:#fff;border-radius:12px;padding:24px;max-width:400px;width:100%;box-shadow:0 20px 40px #0003;animation:confirmSlideUp .3s ease-out}.confirm-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.confirm-icon{font-size:1.5rem}.confirm-title{font-size:1.25rem;font-weight:600;color:#1f2937;margin:0}.confirm-message{font-size:1rem;color:#4b5563;line-height:1.6;margin:0 0 24px}.confirm-actions{display:flex;justify-content:flex-end;gap:12px}.confirm-info .confirm-icon{color:#3b82f6}.confirm-warning .confirm-icon{color:#f59e0b}.confirm-danger .confirm-icon{color:#ef4444}.confirm-modal .btn{padding:10px 20px;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.confirm-modal .btn-secondary{background:#f3f4f6;color:#4b5563}.confirm-modal .btn-secondary:hover{background:#e5e7eb}.confirm-modal .btn-primary{background:#3b82f6;color:#fff}.confirm-modal .btn-primary:hover{background:#2563eb}.confirm-modal .btn-danger{background:#ef4444;color:#fff}.confirm-modal .btn-danger:hover{background:#dc2626}.confirm-modal .btn:focus{outline:2px solid #3b82f6;outline-offset:2px}@keyframes confirmFadeIn{0%{opacity:0}to{opacity:1}}@keyframes confirmSlideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 480px){.confirm-modal{padding:20px}.confirm-actions{flex-direction:column-reverse}.confirm-actions .btn{width:100%}}@media (prefers-color-scheme: dark){.confirm-modal{background:#1f2937}.confirm-title{color:#f3f4f6}.confirm-message{color:#d1d5db}.confirm-modal .btn-secondary{background:#374151;color:#f3f4f6}.confirm-modal .btn-secondary:hover{background:#4b5563}}.layout{display:flex;flex-direction:column;height:100vh;background-color:#f5f5f5}.header{background-color:#2c3e50;color:#fff;padding:0 20px;height:60px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 4px #0000001a;z-index:1000;position:relative}.header-left{display:flex;align-items:center;gap:15px;flex-wrap:nowrap}.sidebar-toggle{background:none;border:none;color:#fff;font-size:18px;cursor:pointer;padding:0;border-radius:4px;transition:background-color .2s;display:inline-flex;align-items:center;justify-content:center;line-height:1;height:32px;width:32px;transform:translateY(-2px)}.sidebar-toggle:hover{background-color:#ffffff1a}.header-title{font-size:20px;font-weight:600;margin:0!important;padding:0!important;line-height:32px;color:#64b5f6;flex-shrink:0;white-space:nowrap}.header-nav{display:flex;align-items:center;gap:6px;margin-left:180px}.header-nav-link{display:inline-flex;align-items:center;color:#ffffffbf;text-decoration:none;font-size:15px;font-weight:500;padding:5px 14px;border-radius:4px;transition:all .2s;white-space:nowrap}.header-nav-link:hover{color:#fff;background-color:#ffffff1a}.header-nav-link.active{color:#fff;background-color:#ffffff26}.header-nav-icon{margin-right:5px;font-size:14px}.header-nav-badge{margin-left:6px;background-color:#ef4444;color:#fff;font-size:11px;padding:1px 6px;border-radius:10px;font-weight:600}.header-right{display:flex;align-items:center;gap:15px}.user-info{font-size:14px;color:#ecf0f1}.logout-btn{background-color:#e74c3c;color:#fff;border:none;padding:8px 16px;border-radius:4px;font-size:14px;cursor:pointer;transition:background-color .2s}.logout-btn:hover{background-color:#c0392b}.main-container{display:flex;flex:1;overflow:hidden}.sidebar{background-color:#34495e;color:#fff;transition:width .3s ease;overflow-y:auto;box-shadow:2px 0 4px #0000001a}.sidebar.open{width:280px}.sidebar.closed{width:60px}.sidebar-nav{display:flex;flex-direction:column;height:100%;padding:0}.nav-section{flex:1;display:flex;flex-direction:column}.nav-section-top{border-bottom:2px solid rgba(255,255,255,.1)}.nav-section-bottom{background-color:#0000001a}.sidebar-section-header{background-color:#f8f9fa;color:#333;padding:10px 15px;margin:10px 10px 5px;font-size:18px;font-weight:700;border-radius:4px;text-align:center}.nav-divider{height:2px;background:linear-gradient(to right,transparent,rgba(255,255,255,.2),transparent);margin:10px 0}.nav-divider-item{list-style:none;height:36px}.nav-list{list-style:none;padding:0;margin:0}.nav-item{border-bottom:1px solid rgba(255,255,255,.05)}.nav-link,.nav-button{display:flex;align-items:center;padding:12px 20px;color:#ecf0f1;text-decoration:none;transition:all .2s;cursor:pointer;border:none;background:none;width:100%;text-align:left;font-size:14px}.nav-link:hover,.nav-button:hover{background-color:#ffffff1a}.nav-link.active,.nav-button.active{background-color:#2c3e50;border-left:3px solid #3498db}.nav-icon{margin-right:12px;font-size:16px;min-width:20px;text-align:center}.nav-text{flex:1}.nav-approval-badge{background-color:#ef5350;color:#fff;font-size:11px;font-weight:700;padding:1px 7px;border-radius:10px;min-width:18px;text-align:center;margin-left:6px;line-height:16px}.nav-arrow{font-size:10px;transition:transform .2s}.nav-arrow.expanded{transform:rotate(180deg)}.sub-nav-list{list-style:none;padding:0;margin:0;background-color:#0003}.sub-nav-item{border:none}.sub-nav-link{display:block;padding:10px 20px 10px 52px;color:#bdc3c7;text-decoration:none;transition:all .2s;font-size:13px}.sub-nav-button{width:100%;text-align:left;background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;color:inherit;font-family:inherit}.sub-nav-arrow{font-size:10px;margin-left:8px;transition:transform .2s}.sub-nav-arrow.expanded{transform:rotate(180deg)}.sub-nav-link:hover{background-color:#ffffff0d;color:#ecf0f1}.sub-nav-link.active{background-color:#3498db33;color:#3498db;border-left:2px solid #3498db;padding-left:50px}.sub-nav-list.nested{background-color:#00000026}.sub-nav-list.nested .sub-nav-link{padding-left:72px;font-size:12px}.sub-nav-list.nested .sub-nav-link.active{padding-left:70px}.content{flex:1;padding:24px;background-color:#f8f9fa;overflow-y:auto}.content.dept-dashboard-active{background-color:#151726;padding:0}.sidebar.closed .sub-nav-list,.sidebar.closed .nav-arrow,.sidebar.closed .section-title{display:none}@media (max-width: 768px){.sidebar.open{width:100%;position:absolute;height:calc(100vh - 60px);z-index:999}.sidebar.closed{width:0;overflow:hidden}.content{padding:16px}.header-title{font-size:16px;line-height:32px;flex:1}.user-info{display:none}.logout-btn{padding:6px 12px;font-size:12px}}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:#2c3e50}.sidebar::-webkit-scrollbar-thumb{background:#34495e;border-radius:3px}.sidebar::-webkit-scrollbar-thumb:hover{background:#3d566e}.nav-section{display:flex;flex-direction:column}.nav-section-main{flex:1}.nav-section-admin{background-color:#00000026;border-top:2px solid rgba(255,255,255,.1);margin-top:auto}.section-header{padding:12px 20px 8px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:5px}.section-title{font-size:11px;font-weight:600;color:#95a5a6;text-transform:uppercase;letter-spacing:.5px}.nav-divider{height:2px;background:linear-gradient(to right,transparent,rgba(255,255,255,.2),transparent);margin:10px 0;flex-shrink:0}.nav-section-admin .nav-link,.nav-section-admin .nav-button{background-color:#0000001a;border-left:3px solid transparent}.nav-section-admin .nav-link:hover,.nav-section-admin .nav-button:hover{background-color:#ffffff26;border-left-color:#e67e22}.nav-section-admin .nav-link.active,.nav-section-admin .nav-button.active{background-color:#e67e22;border-left-color:#f39c12}.nav-section-admin .sub-nav-list{background-color:#0000004d}.nav-section-admin .sub-nav-link.active{background-color:#e67e2233;color:#f39c12;border-left-color:#f39c12}.sidebar.closed .section-title,.sidebar.closed .section-header{display:none}.user-info-clickable{cursor:pointer;text-decoration:underline;text-underline-offset:4px}.user-info-clickable:hover{color:#007bff}.notice-btn{background-color:#1890ff;color:#fff;border:none;padding:8px 16px;border-radius:4px;font-size:14px;cursor:pointer;transition:background-color .2s;display:flex;align-items:center;gap:4px}.notice-btn:hover{background-color:#0070d9}.help-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:8px 16px;border-radius:4px;font-size:14px;cursor:pointer;transition:all .3s;display:flex;align-items:center;gap:4px}.help-btn:hover{background:linear-gradient(135deg,#5568d3,#63408b);transform:translateY(-1px);box-shadow:0 2px 8px #667eea4d}.help-btn:active{transform:translateY(0)}@media (max-width: 768px){.nav-section-admin{background-color:#0003}.nav-divider{margin:5px 0}}.notice-modal{background:#fff;border-radius:12px;max-width:700px;width:90%;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0000004d}.notice-header{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;border-bottom:2px solid #f0f0f0}.notice-header h2{margin:0;font-size:24px;color:#333}.notice-close-btn{background:none;border:none;font-size:32px;cursor:pointer;color:#999;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.notice-close-btn:hover{background-color:#f5f5f5;color:#333}.notice-body{padding:20px 28px;overflow-y:auto;flex:1}.notice-item{margin-bottom:24px;padding:16px;border-left:4px solid #1890ff;background-color:#f8f9fa;border-radius:4px}.notice-item:last-child{margin-bottom:0}.notice-item h3{margin:0 0 8px;font-size:18px;color:#333}.notice-date{font-size:13px;color:#999;margin:0 0 12px}.notice-content{font-size:15px;line-height:1.6;color:#666;margin:0}.notice-guide-images{display:flex;flex-direction:column;gap:12px;margin-top:16px}.guide-image{width:100%;height:auto;border:1px solid #e0e0e0;border-radius:6px;object-fit:contain}.notice-footer{display:flex;justify-content:space-between;align-items:center;padding:20px 28px;border-top:1px solid #f0f0f0}.notice-checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#666}.notice-checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.notice-footer .btn-primary{padding:10px 32px;font-size:15px}.notice-indented-section{padding-left:20px;border-left:2px dashed #ccc;margin-left:10px;padding-top:5px;padding-bottom:5px}.notice-tabs{display:flex;border-bottom:1px solid #e0e0e0;background-color:#fafafa}.notice-tab-btn{flex:1;padding:16px;font-size:16px;font-weight:500;color:#666;background:none;border:none;cursor:pointer;transition:all .2s;border-bottom:2px solid transparent}.notice-tab-btn:hover{background-color:#f0f0f0;color:#333}.notice-tab-btn.active{color:#1890ff;border-bottom:2px solid #1890ff;background-color:#fff;font-weight:600}.notification-list{display:flex;flex-direction:column;gap:12px}.notification-item{padding:16px;border:1px solid #eee;border-radius:8px;background-color:#fff;display:flex;align-items:flex-start;gap:12px}.notification-item.unread{background-color:#f0f7ff;border-color:#d6e4ff}.notification-icon{font-size:20px}.notification-content-wrapper{flex:1}.notification-title{font-size:15px;font-weight:600;color:#333;margin:0 0 4px}.notification-message{font-size:14px;color:#666;margin:0 0 8px;line-height:1.4}.notification-time{font-size:12px;color:#999}.notice-loading-container{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:40px;height:100%;min-height:200px}.notice-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #1890ff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.notice-loading-text{color:#666;font-size:14px}.help-modal{background:#fff;border-radius:12px;max-width:800px;width:90%;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0000004d}.help-header{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;border-bottom:2px solid #f0f0f0;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:12px 12px 0 0}.help-header h2{margin:0;font-size:24px}.help-close-btn{background:#fff3;border:none;font-size:32px;cursor:pointer;color:#fff;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.help-close-btn:hover{background-color:#ffffff4d}.help-body{padding:28px;overflow-y:auto;flex:1;line-height:1.8}.help-section{margin-bottom:28px}.help-section:last-child{margin-bottom:0}.help-section h3{color:#667eea;font-size:20px;margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid #e0e0e0}.help-section p{color:#555;font-size:15px;margin-bottom:12px}.help-section ul{padding-left:24px;margin:12px 0}.help-section li{color:#666;font-size:15px;margin-bottom:8px}.help-section strong{color:#333;font-weight:600}.help-section code{background-color:#f5f5f5;padding:2px 6px;border-radius:3px;font-family:Courier New,monospace;color:#d63384;font-size:14px}.help-tip{background-color:#fff3cd;border-left:4px solid #ffc107;padding:12px 16px;margin:16px 0;border-radius:4px}.help-tip strong{color:#856404}.help-warning{background-color:#f8d7da;border-left:4px solid #dc3545;padding:12px 16px;margin:16px 0;border-radius:4px}.help-warning strong{color:#721c24}.help-footer{display:flex;justify-content:center;padding:20px 28px;border-top:1px solid #f0f0f0}.help-footer .btn-primary{padding:10px 40px;font-size:16px}.slide-down-button{position:fixed;top:0;z-index:2000;padding:12px 20px;border:none;border-radius:0 0 8px 8px;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 4px 8px #0000004d;display:flex;align-items:center;gap:6px;transition:transform .3s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none;min-width:110px}.slide-down-button.collapsed{transform:translateY(-85%)}.slide-down-button.expanded{transform:translateY(0)}.button-icon{font-size:16px}.button-label{color:#fff;font-weight:600}.notification-dot{position:absolute;top:4px;right:6px;color:gold;font-size:10px;animation:pulse-notification 1.5s infinite}@keyframes pulse-notification{0%,to{opacity:1}50%{opacity:.5}}.slide-down-button.notice{background:linear-gradient(135deg,#3498db,#2980b9)}.slide-down-button.notice:hover{background:linear-gradient(135deg,#2980b9,#1f6391)}.slide-down-button.notice:active{transform:translateY(0) scale(.98)}.slide-down-button.logout{background:linear-gradient(135deg,#e74c3c,#c0392b)}.slide-down-button.logout:hover{background:linear-gradient(135deg,#c0392b,#a93226)}.slide-down-button.logout:active{transform:translateY(0) scale(.98)}@media (min-width: 769px){.slide-down-button{display:none}}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.login-box{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 10px 25px #0000001a;width:100%;max-width:400px}.login-title{text-align:center;color:#333;margin-bottom:2rem;font-size:1.5rem}.login-form{display:flex;flex-direction:column}.form-group label{display:block;margin-bottom:.5rem;color:#666;font-size:.9rem}.login-input{width:100%;height:48px;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;box-sizing:border-box;display:block;transition:border-color .3s}.login-input:focus{outline:none;border-color:#667eea}.error-message{background:#fee;color:#c33;padding:.75rem;border-radius:4px;margin-bottom:1rem;font-size:.9rem}.login-button{background:#667eea;color:#fff;border:none;padding:.75rem;border-radius:4px;font-size:1rem;cursor:pointer;transition:background .3s}.login-button:hover:not(:disabled){background:#5a67d8}.login-button:disabled{opacity:.6;cursor:not-allowed}.loading-container{display:flex;justify-content:center;align-items:center;height:100vh}.spinner{color:#667eea;font-size:1.2rem}.mode-switch-link{margin-top:16px;color:#007bff;text-decoration:underline;cursor:pointer;text-align:center;font-size:14px}.mode-switch-link:hover{color:#0056b3}.close-button{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:2rem;color:#666;cursor:pointer;line-height:1;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.login-box{position:relative;background:#fff;padding:2rem;border-radius:8px;box-shadow:0 10px 25px #0000001a;width:100%;max-width:400px}.change-password-container{display:flex;justify-content:center;padding-top:50px}.form-box{position:relative;width:100%;max-width:400px;padding:30px;border-radius:8px;box-shadow:0 4px 12px #0000001a;background:linear-gradient(145deg,#f8f9fa,#eef4ff)}.form-box h2{text-align:center;margin-bottom:24px;color:#333}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#555}.form-group input{width:100%;padding:10px;border:1px solid #ccc;border-radius:4px;font-size:16px;box-sizing:border-box}.submit-button{width:100%;padding:12px;border:none;border-radius:4px;background-color:#007bff;color:#fff;font-size:16px;font-weight:700;cursor:pointer;transition:background-color .2s}.submit-button:hover{background-color:#0056b3}.submit-button:disabled{background-color:#ccc;cursor:not-allowed}.error-message{color:#d32f2f;background-color:#ffcdd2;border:1px solid #ef9a9a;padding:10px;border-radius:4px;text-align:center;margin-bottom:15px}.success-message{color:green;background-color:#e8f5e9;border:1px solid #c8e6c9;padding:10px;border-radius:4px;text-align:center;margin-bottom:15px}.close-button{position:absolute;top:15px;right:15px;background:none;border:none;font-size:24px;font-weight:700;color:#888;cursor:pointer;line-height:1;padding:0}.tabs{display:flex;border-bottom:1px solid #ddd;margin-bottom:24px}.tab{flex:1;padding:12px;text-align:center;cursor:pointer;background:none;border:none;font-size:16px;color:#666;border-bottom:2px solid transparent;transition:all .3s ease}.tab:hover{background-color:#0000000d}.tab.active{color:#007bff;border-bottom:2px solid #007bff;font-weight:700}.form-header{display:flex;justify-content:center;align-items:center;position:relative;margin-bottom:24px}.form-header h2{margin:0;color:#333}.help-emoji-btn{position:absolute;right:0;background-color:#fff;border:1px solid #ccc;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;cursor:pointer;line-height:1;transition:all .2s;box-shadow:0 1px 3px #0000001a}.help-emoji-btn:hover{background-color:#f0f8ff;border-color:#007bff;transform:scale(1.05)}.checkbox-group label{display:flex;align-items:center;cursor:pointer;font-weight:400;gap:10px}.checkbox-group input[type=checkbox]{width:auto;margin:0}.form-group select{width:100%;padding:10px;border:1px solid #ccc;border-radius:4px;font-size:16px;background-color:#fff}.dashboard-tabs{display:flex;gap:2px;margin-bottom:16px;border-bottom:2px solid #e0e0e0}.dashboard-tab{padding:8px 20px;font-size:14px;font-weight:500;color:#666;text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s}.dashboard-tab:hover{color:#333;background-color:#f5f5f5}.dashboard-tab.active{color:#1976d2;border-bottom-color:#1976d2;font-weight:600}.main-dashboard{padding:0 24px 24px;max-width:1400px;margin:0 auto}.md-urgent-banner{background:linear-gradient(90deg,#e74c3c,#c0392b);color:#fff;padding:10px 20px;border-radius:8px;margin-bottom:20px;font-size:14px;font-weight:600}.md-urgent-item{padding:4px 0}.md-action-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.md-action-card{display:flex;align-items:center;gap:16px;padding:20px 24px;border-radius:12px;cursor:pointer;transition:all .2s;border:1px solid #e0e0e0;background:#fff}.md-action-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.md-action-icon{font-size:32px}.md-action-label{font-size:13px;color:#888;margin-bottom:4px}.md-action-count{font-size:24px;font-weight:700}.md-card-approval .md-action-count{color:#3498db}.md-card-notification .md-action-count{color:#f39c12}.md-card-warning .md-action-count{color:#e74c3c}.md-card-done .md-action-count{color:#2ecc71;font-size:18px}.md-content{display:grid;grid-template-columns:1fr 360px;gap:20px;margin-bottom:20px}.md-section{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:20px}.md-section-title{font-size:16px;font-weight:600;color:#333;margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid #f0f0f0}.md-sidebar{display:flex;flex-direction:column;gap:20px}.md-empty{text-align:center;color:#aaa;font-size:14px;padding:24px 0}.md-loading{text-align:center;color:#888;padding:60px 0;font-size:15px}.md-project-list{display:flex;flex-direction:column;gap:10px;max-height:400px;overflow-y:auto}.md-project-card{padding:14px 16px;border:1px solid #eee;border-radius:8px;cursor:pointer;transition:all .15s}.md-project-card:hover{border-color:#3498db;background:#f8fbff}.md-project-header{display:flex;align-items:center;gap:10px;margin-bottom:6px}.md-project-status{font-size:11px;color:#fff;padding:2px 8px;border-radius:4px;font-weight:600;white-space:nowrap}.md-project-name{font-size:14px;font-weight:600;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.md-project-detail{display:flex;justify-content:space-between;font-size:12px;color:#888}.md-team-list{display:flex;flex-direction:column;gap:6px}.md-team-member{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:6px;font-size:13px}.md-team-member:hover{background:#f8f8f8}.md-team-member.md-on-leave{opacity:.5}.md-member-name{font-weight:600;color:#333;min-width:60px}.md-member-position{color:#888;flex:1}.md-member-status{font-size:11px;color:#e74c3c;background:#fde8e8;padding:2px 6px;border-radius:4px}.md-stats-grid{display:flex;flex-direction:column;gap:8px}.md-stats-item{display:flex;align-items:center;gap:8px;font-size:13px}.md-stats-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.md-stats-label{flex:1;color:#555}.md-stats-count{font-weight:700;color:#333}.md-notices{margin-bottom:0}.md-notice-list{display:flex;flex-direction:column;gap:4px}.md-notice-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #f5f5f5;font-size:14px}.md-notice-item:last-child{border-bottom:none}.md-notice-badge{font-size:11px;padding:2px 6px;border-radius:4px;font-weight:600;white-space:nowrap}.md-notice-badge.urgent{background:#fde8e8;color:#e74c3c}.md-notice-badge.system{background:#e8f4fd;color:#3498db}.md-notice-title{flex:1;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.md-notice-date{font-size:12px;color:#aaa;white-space:nowrap}@media (max-width: 900px){.md-action-cards,.md-content{grid-template-columns:1fr}}.dept-dashboard{--dd-page-bg: linear-gradient(180deg, #151726 0%, #1B1D2E 100%);--dd-surface-primary: #222540;--dd-surface-secondary: #2A2D4A;--dd-surface-tertiary: #1E2038;--dd-surface-hover: #2F3255;--dd-surface-hover-strong: #383B5E;--dd-surface-modal: #252840;--dd-text-primary: #E8E6F0;--dd-text-secondary: #A8A4BE;--dd-text-disabled: #6B6880;--dd-border-primary: #3A3D58;--dd-border-secondary: #2E3150;--dd-border-strong: #4E5175;--dd-border-divider: #33365A;--dd-brand-primary: #7C6FB8;--dd-brand-primary-hover: #8E82C8;--dd-brand-secondary: #6A5FA6;--dd-brand-tertiary: #9B8FD0;--dd-toggle-bg: #2A2D4A;--dd-toggle-border: #3A3D58;--dd-toggle-text: #A8A4BE;--dd-toggle-hover-bg: #33365A;--dd-toggle-hover-text: #9B8FD0;--dd-toggle-selected-bg: #7C6FB8;--dd-toggle-selected-text: #FFFFFF;--dd-toggle-selected-hover-bg: #6A5FA6;--dd-gantt-header-bg: #252840;--dd-gantt-row-bg: #222540;--dd-gantt-row-hover: #2F3255;--dd-gantt-team-header-bg: #282B48;--dd-gantt-team-header-hover: #2F3255;--dd-gantt-bar-bg: #1E2038;--dd-gantt-bar-hover-bg: #383B5E;--dd-gantt-tick-line: #33365A;--dd-gantt-tick-text: #6B6880;--dd-surface-overlay: rgba(21, 23, 38, .75);--dd-today-color: #E87070;--dd-today-chip-bg: #4A2030;--dd-filter-bg: #252840;--dd-filter-track-bg: #1E2038;--dd-filter-active-bg: #2A2D4A;--dd-error-bg: #3A1E1E;--dd-error-text: #E87070;--dd-shadow-card: 0 2px 8px rgba(0, 0, 0, .3);--dd-shadow-dropdown: 0 4px 12px rgba(0, 0, 0, .4);--dd-shadow-modal: 0 20px 60px rgba(0, 0, 0, .6);color-scheme:dark;padding:32px 40px;max-width:1800px;margin:0 auto;background:var(--dd-page-bg);min-height:100vh;color:var(--dd-text-primary)}.dept-dashboard.light-theme{--dd-page-bg: linear-gradient(180deg, #F0F2F8 0%, #FFFFFF 100%);--dd-surface-primary: #FFFFFF;--dd-surface-secondary: #F5F6FA;--dd-surface-tertiary: #EEF0F5;--dd-surface-hover: #E8EBF2;--dd-surface-hover-strong: #DDE1EA;--dd-surface-modal: #FFFFFF;--dd-text-primary: #1A1A2E;--dd-text-secondary: #5A6178;--dd-text-disabled: #A0A8BE;--dd-border-primary: #D8DCE8;--dd-border-secondary: #E8ECF2;--dd-border-strong: #B8BED0;--dd-border-divider: #E0E4F0;--dd-brand-primary: #6A5FA6;--dd-brand-primary-hover: #7C72B8;--dd-brand-secondary: #5B50A0;--dd-brand-tertiary: #8B80C8;--dd-toggle-bg: #F0F2F8;--dd-toggle-border: #D8DCE8;--dd-toggle-text: #5A6178;--dd-toggle-hover-bg: #E8EBF2;--dd-toggle-hover-text: #6A5FA6;--dd-toggle-selected-bg: #6A5FA6;--dd-toggle-selected-text: #FFFFFF;--dd-toggle-selected-hover-bg: #5B50A0;--dd-gantt-header-bg: #F0F2F8;--dd-gantt-row-bg: #FFFFFF;--dd-gantt-row-hover: #F5F6FA;--dd-gantt-team-header-bg: #F0F2F8;--dd-gantt-team-header-hover: #E8EBF2;--dd-gantt-bar-bg: #F5F6FA;--dd-gantt-bar-hover-bg: #E8EBF2;--dd-gantt-tick-line: #E0E4F0;--dd-gantt-tick-text: #A0A8BE;--dd-surface-overlay: rgba(0, 0, 0, .4);--dd-today-color: #D04040;--dd-today-chip-bg: #FDEAEA;--dd-filter-bg: #F0F2F8;--dd-filter-track-bg: #E8EBF2;--dd-filter-active-bg: #F5F6FA;--dd-error-bg: #FEF2F2;--dd-error-text: #DC2626;--dd-shadow-card: 0 2px 8px rgba(0, 0, 0, .08);--dd-shadow-dropdown: 0 4px 12px rgba(0, 0, 0, .12);--dd-shadow-modal: 0 20px 60px rgba(0, 0, 0, .15);color-scheme:light}.content.dept-dashboard-light{background-color:#f0f2f8!important}.dept-dashboard-loading,.dept-dashboard-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px}.loading-spinner{width:40px;height:40px;border:3px solid var(--dd-border-primary);border-top-color:var(--dd-brand-primary);border-radius:50%;animation:spin 1s linear infinite}.spinning{display:inline-block;animation:spin 1s linear infinite}.error-icon{width:48px;height:48px;background:var(--dd-error-bg);color:var(--dd-error-text);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700}.btn-retry{padding:10px 20px;background:var(--dd-brand-primary);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px}.btn-retry:hover{background:var(--dd-brand-secondary)}.dept-dashboard .dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--dd-border-primary)}.dept-dashboard .header-left h1{font-size:26px;font-weight:700;color:var(--dd-text-primary);margin:0 0 4px}.dept-dashboard .header-subtitle{font-size:13px;color:var(--dd-text-secondary)}.dept-dashboard .header-right{display:flex;align-items:center;gap:12px}.dept-dashboard .btn-refresh{display:flex;align-items:center;gap:8px;padding:10px 18px;background:var(--dd-surface-primary);border:1px solid var(--dd-border-primary);border-radius:8px;font-size:13px;font-weight:500;color:var(--dd-text-primary);cursor:pointer;transition:all .2s ease}.dept-dashboard .btn-refresh:hover{background:var(--dd-surface-hover);border-color:var(--dd-brand-primary);color:var(--dd-brand-primary)}.dept-dashboard .btn-refresh:disabled{opacity:.6;cursor:not-allowed}.dept-dashboard .btn-refresh span{font-size:16px}.filter-section{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--dd-filter-bg);border-radius:12px;box-shadow:var(--dd-shadow-card)}.filter-section.filter-combined{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:16px}.filter-row{display:flex;align-items:center;gap:0}.filter-row-second{display:flex;align-items:center;gap:6px;padding-top:8px;border-top:1px solid var(--dd-border-primary)}.filter-row-second .period-select{padding:8px 28px;min-width:auto;width:auto;font-size:12px}.filter-row-second .period-date-range{margin-left:6px;padding:4px 10px;font-size:12px}.filter-left{display:flex;align-items:center;gap:0}.filter-divider{width:1px;height:28px;background:var(--dd-border-primary);margin:0 16px}.period-selects-row{display:flex;align-items:center;gap:12px}.period-date-range{font-size:13px;color:var(--dd-text-secondary);padding:8px 16px;background:var(--dd-filter-track-bg);border-radius:6px;margin-left:12px}.period-select{padding:8px 12px;border:1px solid var(--dd-border-primary);border-radius:6px;font-size:13px;color:var(--dd-text-primary);background:var(--dd-surface-primary);cursor:pointer;transition:all .2s ease}.period-select:hover{border-color:var(--dd-brand-primary)}.period-select:focus{outline:none;border-color:var(--dd-brand-primary);box-shadow:0 0 0 2px #7c6fb833}.period-tabs{display:flex;background:var(--dd-filter-track-bg);border-radius:8px;padding:4px}.status-summary-tabs{display:flex;align-items:center;background:var(--dd-filter-track-bg);border-radius:8px;padding:4px}.status-tab-item{display:flex;align-items:center;gap:6px;padding:8px 14px;border:none;background:transparent;border-radius:6px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.status-tab-item:hover{color:var(--dd-brand-primary)}.status-tab-item.active{background:var(--dd-filter-active-bg);box-shadow:0 1px 3px #0000004d}.status-tab-item .status-label{font-size:12px;color:var(--dd-text-secondary);font-weight:500}.status-tab-item.active .status-label{color:var(--dd-brand-primary);font-weight:600}.status-tab-item .status-count{font-size:12px;font-weight:700}.status-tab-item.active .status-count{color:var(--dd-brand-primary)}.period-tab{padding:10px 20px;border:none;background:transparent;color:var(--dd-text-secondary);font-size:13px;font-weight:500;cursor:pointer;border-radius:6px;transition:all .2s ease}.period-tab:hover{color:var(--dd-brand-primary)}.period-tab.active{background:var(--dd-filter-active-bg);color:var(--dd-brand-primary);box-shadow:0 1px 3px #0000004d}.sort-tabs{display:flex;background:var(--dd-filter-track-bg);border-radius:8px;padding:4px}.sort-tab{padding:8px 16px;border:none;background:transparent;color:var(--dd-text-secondary);font-size:13px;font-weight:500;cursor:pointer;border-radius:6px;transition:all .2s ease}.sort-tab:hover{color:var(--dd-brand-primary)}.sort-tab.active{background:var(--dd-filter-active-bg);color:var(--dd-brand-primary);box-shadow:0 1px 3px #0000004d}.division-toggle-group.MuiToggleButtonGroup-root{display:flex;flex-wrap:wrap;width:100%;justify-content:flex-start;gap:6px}.division-toggle-group .division-toggle-btn.MuiToggleButton-root{padding:6px 20px;font-size:.9rem;font-weight:600;border:1.5px solid var(--dd-toggle-border)!important;border-radius:10px!important;background:var(--dd-toggle-bg);color:var(--dd-toggle-text);text-transform:none;transition:all .2s ease}.division-toggle-group .division-toggle-btn.MuiToggleButton-root:hover{border-color:var(--dd-brand-primary)!important;color:var(--dd-toggle-hover-text);background:var(--dd-toggle-hover-bg)}.division-toggle-group .division-toggle-btn.MuiToggleButton-root.Mui-selected{background:var(--dd-toggle-selected-bg);border-color:var(--dd-toggle-selected-bg)!important;color:var(--dd-toggle-selected-text)}.division-toggle-group .division-toggle-btn.MuiToggleButton-root.Mui-selected:hover{background:var(--dd-toggle-selected-hover-bg)}.division-toggle-group .division-toggle-btn.MuiToggleButton-root:first-child{margin-right:28px;position:relative}.division-toggle-group .division-toggle-btn.MuiToggleButton-root:first-child:after{content:"";position:absolute;right:-18px;top:15%;height:70%;width:1.5px;background:var(--dd-border-primary);pointer-events:none}.period-toggle-group.MuiToggleButtonGroup-root{display:flex;flex-wrap:wrap;gap:6px}.period-toggle-group .period-toggle-btn.MuiToggleButton-root{padding:6px 20px;font-size:.9rem;font-weight:600;border:1.5px solid var(--dd-toggle-border)!important;border-radius:10px!important;background:var(--dd-toggle-bg);color:var(--dd-toggle-text);text-transform:none;transition:all .2s ease}.period-toggle-group .period-toggle-btn.MuiToggleButton-root:hover{border-color:var(--dd-brand-primary)!important;color:var(--dd-toggle-hover-text);background:var(--dd-toggle-hover-bg)}.period-toggle-group .period-toggle-btn.MuiToggleButton-root.Mui-selected{background:var(--dd-toggle-selected-bg);border-color:var(--dd-toggle-selected-bg)!important;color:var(--dd-toggle-selected-text)}.period-toggle-group .period-toggle-btn.MuiToggleButton-root.Mui-selected:hover{background:var(--dd-toggle-selected-hover-bg)}.period-toggle-group .period-toggle-btn.MuiToggleButton-root:nth-child(2),.period-toggle-group .period-toggle-btn.MuiToggleButton-root:nth-child(4){margin-left:24px!important}.division-tabs{display:flex;gap:8px;margin-bottom:20px;padding:0 4px;overflow-x:auto}.division-tab{padding:12px 24px;border:2px solid var(--dd-border-primary);background:var(--dd-surface-primary);color:var(--dd-text-primary);font-size:14px;font-weight:600;cursor:pointer;border-radius:10px;transition:all .2s ease;white-space:nowrap}.division-tab:hover{border-color:var(--dd-brand-primary);color:var(--dd-brand-primary)}.division-tab.active{background:var(--dd-brand-primary);border-color:var(--dd-brand-primary);color:#fff}.division-tab-wrapper{position:relative;display:inline-flex}.division-tab-dropdown{display:flex;position:relative}.division-tab-dropdown .division-tab{border-top-right-radius:0;border-bottom-right-radius:0;border-right:none}.dropdown-toggle{padding:12px 10px;border:2px solid var(--dd-border-primary);border-left:1px solid var(--dd-border-primary);background:var(--dd-surface-primary);color:var(--dd-text-primary);font-size:10px;border-radius:0 8px 8px 0;cursor:pointer;transition:all .2s ease}.dropdown-toggle:hover{border-color:var(--dd-brand-primary);color:var(--dd-brand-primary)}.dropdown-toggle.open{background:var(--dd-surface-hover);border-color:var(--dd-brand-primary);color:var(--dd-brand-primary)}.division-tab-dropdown .division-tab.active+.dropdown-toggle{border-color:var(--dd-brand-primary);border-left-color:var(--dd-brand-secondary)}.dropdown-menu{position:absolute;top:100%;left:0;min-width:160px;background:var(--dd-surface-modal);border:1px solid var(--dd-border-primary);border-radius:8px;box-shadow:var(--dd-shadow-dropdown);z-index:100;margin-top:4px;padding:4px 0}.dropdown-item{display:block;width:100%;padding:10px 16px;border:none;background:none;color:var(--dd-text-primary);font-size:14px;text-align:left;cursor:pointer;transition:all .15s ease}.dropdown-item:hover{background:var(--dd-surface-hover);color:var(--dd-brand-primary)}.dropdown-item.active{background:var(--dd-brand-primary);color:#fff}.main-content{display:flex;flex-direction:column;gap:20px}.gantt-area{width:100%}.gantt-area.full-width{max-width:100%}.gantt-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.gantt-title{font-size:16px;font-weight:600;color:var(--dd-text-primary);display:flex;align-items:center;gap:12px}.gantt-title:before{content:"";width:4px;height:18px;background:var(--dd-brand-primary);border-radius:2px}.project-total{font-size:13px;font-weight:500;color:var(--dd-text-secondary);padding:4px 12px;background:var(--dd-filter-track-bg);border-radius:12px}.gantt-actions{display:flex;gap:8px}.btn-expand,.btn-collapse{padding:8px 14px;border:1px solid var(--dd-border-primary);background:var(--dd-surface-primary);color:var(--dd-text-primary);font-size:12px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s ease}.btn-expand:hover,.btn-collapse:hover{border-color:var(--dd-brand-primary);color:var(--dd-brand-primary)}.gantt-container{position:relative;background:var(--dd-surface-primary);border-radius:12px;box-shadow:var(--dd-shadow-card);overflow:hidden}.gantt-header{display:flex;background:var(--dd-gantt-header-bg);border-bottom:1px solid var(--dd-border-primary);position:sticky;top:0;z-index:10}.gantt-header-label{width:280px;flex-shrink:0;padding:14px 16px;font-size:12px;font-weight:600;color:var(--dd-text-secondary);text-transform:uppercase;letter-spacing:.05em;border-right:1px solid var(--dd-border-primary)}.gantt-header-timeline{flex:1;position:relative;height:44px}.gantt-tick{position:absolute;top:0;height:100%;border-left:1px dashed var(--dd-gantt-tick-line);padding-left:8px;display:flex;align-items:center}.gantt-tick span{font-size:11px;color:var(--dd-gantt-tick-text)}.gantt-today-line{position:absolute;top:0;height:100%;width:2px;background:var(--dd-today-color);z-index:5}.gantt-today-line-full{position:absolute;top:0;bottom:0;width:2px;background:transparent;z-index:10;pointer-events:none}.gantt-today-line-full:before{content:"";position:absolute;top:0;left:0;width:2px;height:44px;background:var(--dd-today-color)}.gantt-today-line-full:after{content:"";position:absolute;top:44px;left:0;width:2px;bottom:0;background:repeating-linear-gradient(to bottom,var(--dd-today-color) 0px,var(--dd-today-color) 4px,transparent 4px,transparent 8px)}.today-label{position:absolute;top:4px;left:4px;font-size:10px;color:var(--dd-today-color);font-weight:600;background:var(--dd-today-chip-bg);padding:2px 6px;border-radius:4px;white-space:nowrap}.gantt-body{max-height:calc(100vh - 400px);overflow-y:auto}.team-gantt-section{border-bottom:1px solid var(--dd-border-secondary)}.team-gantt-section:last-child{border-bottom:none}.team-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--dd-gantt-team-header-bg);cursor:pointer;transition:background .15s ease}.team-header:hover{background:var(--dd-gantt-team-header-hover)}.team-header-left{display:flex;align-items:center;gap:10px}.expand-icon{font-size:10px;color:var(--dd-text-disabled);transition:transform .2s ease}.expand-icon.expanded{color:var(--dd-brand-primary)}.team-header .team-name{font-size:14px;font-weight:600;color:var(--dd-text-primary)}.team-header .team-count{font-size:12px;color:var(--dd-text-secondary);background:var(--dd-filter-track-bg);padding:2px 10px;border-radius:10px}.team-status-summary{font-size:12px;color:var(--dd-text-secondary)}.team-gantt-content{background:var(--dd-gantt-row-bg)}.team-no-projects{padding:24px;text-align:center;color:var(--dd-text-disabled);font-size:13px}.gantt-row{display:flex;border-bottom:1px solid var(--dd-border-secondary);transition:background .15s ease}.gantt-row:hover{background:var(--dd-gantt-row-hover)}.gantt-row:last-child{border-bottom:none}.gantt-project-info{width:280px;flex-shrink:0;padding:12px 16px;display:flex;align-items:center;gap:10px;border-right:1px solid var(--dd-border-secondary)}.project-name{flex:1;font-size:13px;color:var(--dd-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-status{font-size:10px;font-weight:600;padding:3px 8px;border-radius:4px;white-space:nowrap}.gantt-bar-container{flex:1;position:relative;height:44px}.gantt-bar{position:absolute;top:50%;transform:translateY(-50%);height:22px;border-radius:4px;min-width:8px;opacity:.85;transition:opacity .2s ease}.gantt-bar:hover{opacity:1}.gantt-no-data{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--dd-text-disabled)}.gantt-no-data span{font-size:48px;margin-bottom:16px}.gantt-no-data p{font-size:14px;margin:0}@media (max-width: 1400px){.filter-section,.filter-left{flex-wrap:wrap;gap:12px}.filter-divider{display:none}.status-summary-tabs{flex-wrap:wrap;gap:12px}}@media (max-width: 1200px){.status-summary-tabs{gap:8px}.status-tab-item{gap:4px}.status-tab-item .status-label{font-size:11px}.status-tab-item .status-count{font-size:12px}}@media (max-width: 768px){.dept-dashboard{padding:20px}.dept-dashboard .dashboard-header{flex-direction:column;gap:16px;align-items:flex-start}.filter-section{flex-direction:column;gap:12px;align-items:stretch}.filter-left{flex-direction:column;align-items:stretch}.period-tabs{width:100%;justify-content:space-between}.period-tab{flex:1;padding:10px 8px;font-size:12px}.status-summary-tabs{justify-content:space-between;padding:8px 0}.division-tabs{flex-wrap:nowrap}.division-tab{padding:10px 16px;font-size:13px}.gantt-header-label,.gantt-project-info{width:180px}.gantt-body{max-height:calc(100vh - 500px)}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--dd-surface-modal);border-radius:12px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:var(--dd-shadow-modal)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--dd-border-primary)}.modal-header h2{margin:0;font-size:18px;font-weight:600;color:var(--dd-text-primary)}.modal-close{background:none;border:none;font-size:28px;color:var(--dd-text-disabled);cursor:pointer;line-height:1;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.modal-close:hover{background:var(--dd-surface-hover);color:var(--dd-text-primary)}.modal-body{padding:24px}.detail-row{display:flex;padding:12px 0;border-bottom:1px solid var(--dd-border-secondary)}.detail-label{width:100px;flex-shrink:0;font-size:13px;color:var(--dd-text-secondary);font-weight:500}.detail-value{flex:1;font-size:14px;color:var(--dd-text-primary);word-break:break-word}.status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.modal-content.kickoff-modal{max-width:600px}.modal-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;gap:16px}.modal-loading p{color:var(--dd-text-secondary);font-size:14px;margin:0}.dept-dashboard .gantt-sticky-col{flex-shrink:0;display:flex;align-items:center;gap:8px;padding:4px 8px;position:sticky;left:0;z-index:20;border-right:1px solid var(--dd-border-primary);background:var(--dd-gantt-row-bg);color:var(--dd-text-primary);transition:background-color .2s}.gantt-row:hover .gantt-sticky-col{background:var(--dd-gantt-row-hover)}.gantt-project-name{flex:1;color:var(--dd-text-primary);transition:color .15s ease;cursor:pointer}.gantt-row:hover .gantt-project-name{color:#93c5fd;text-decoration:underline;text-underline-offset:2px}.dept-dashboard .gantt-team-badge{font-size:10px;padding:2px 4px;border-radius:4px;min-width:45px;text-align:center;flex-shrink:0;background:var(--dd-surface-secondary);color:var(--dd-text-secondary)}.dept-dashboard .gantt-timeline-area{flex:1;position:relative;height:40px;padding:4px 0;background:var(--dd-gantt-bar-bg);background-clip:content-box;transition:all .2s}.gantt-row:hover .gantt-timeline-area{background:var(--dd-gantt-bar-hover-bg)}.dept-dashboard .gantt-bar-position{position:absolute;height:20px;top:50%;transform:translateY(-50%);z-index:2}.dept-dashboard .gantt-bar-position:hover{transform:translateY(-50%) scaleY(1.1);transition:all .2s}.dept-dashboard .gantt-bar-past{position:absolute;left:0;height:100%;opacity:.9}.dept-dashboard .gantt-bar-future{position:absolute;height:100%;opacity:.7}.dept-dashboard .gantt-marker{position:absolute;bottom:6px;transform:translate(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;z-index:3;cursor:pointer}.dept-dashboard .gantt-marker-pt{border-bottom:8px solid #1E88E5}.dept-dashboard .gantt-marker-proposal{border-bottom:8px solid #5B8AC5}.dept-dashboard .gantt-marker-ot{border-bottom:8px solid #FFD54F}.dept-dashboard .gantt-marker-execution{border-bottom:8px solid #76FF03}.dept-dashboard .gantt-header-bar{display:flex;border-bottom:2px solid var(--dd-border-primary);position:sticky;top:0;z-index:30;background:var(--dd-gantt-header-bg)}.dept-dashboard .gantt-header-col{flex-shrink:0;padding:8px;display:flex;align-items:center;gap:8px;position:sticky;left:0;z-index:31;border-right:1px solid var(--dd-border-primary);background:var(--dd-gantt-header-bg)}.dept-dashboard .gantt-header-timeline{flex:1;position:relative;height:48px}.dept-dashboard .gantt-tick{position:absolute;transform:translate(-50%);top:60%;margin-top:-8px;z-index:2}.dept-dashboard .gantt-today-line{position:absolute;top:0;bottom:0;width:2px;z-index:3;pointer-events:none;background:var(--dd-today-color)}.dept-dashboard .gantt-today-chip{position:absolute;top:2px;transform:translate(-50%);z-index:25}.dept-dashboard .gantt-today-chip.MuiChip-root{font-size:10px;height:18px;background-color:var(--dd-today-chip-bg);color:var(--dd-today-color)}.dept-dashboard .team-sticky-col{flex-shrink:0;padding:8px;display:flex;align-items:center;position:sticky;left:0;z-index:25;border-right:1px solid var(--dd-border-primary);background:var(--dd-gantt-team-header-bg);transition:background-color .2s}.dept-dashboard .team-content-col{flex:1;padding:8px;display:flex;align-items:center;justify-content:flex-end;background:var(--dd-gantt-bar-bg);transition:background-color .2s}.dept-dashboard .gantt-scroll-container{border:1px solid var(--dd-border-primary);border-radius:4px;overflow:auto;max-height:650px;width:100%;max-width:100%}.dept-dashboard .gantt-today-dashline{position:absolute;top:48px;bottom:0;width:2px;z-index:20;pointer-events:none}.dept-dashboard .acq-header-label{font-weight:700;color:#fff;min-width:200px;border-right:2px solid var(--dd-border-primary);background:var(--dd-brand-primary)}.dept-dashboard .acq-header-status{font-weight:700;min-width:80px;text-align:center}.dept-dashboard .acq-col-scrapping.acq-header-status{background-color:#6b5a2a!important}.dept-dashboard td.acq-col-scrapping{background-color:#4e4320!important}.dept-dashboard .acq-status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.dept-dashboard .legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.dept-dashboard .dark-paper{background-color:var(--dd-surface-primary)!important;background-image:none!important}.dept-dashboard .loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;z-index:50;display:flex;align-items:center;justify-content:center;border-radius:4px;background:var(--dd-surface-overlay, rgba(21, 23, 38, .75))}.dept-dashboard .expanding-placeholder{display:flex;align-items:center;justify-content:center;padding:64px 0;border-radius:4px;border:1px solid var(--dd-border-primary);background:var(--dd-surface-secondary)}.dept-dashboard .sort-toggle-btn{padding:2px 8px!important;font-size:.75rem!important;color:var(--dd-text-secondary)!important;border-color:var(--dd-border-primary)!important}.dept-dashboard .sort-toggle-btn.Mui-selected{color:var(--dd-toggle-selected-text)!important;background-color:var(--dd-toggle-selected-bg)!important}.dept-dashboard .team-row:hover .team-sticky-col,.dept-dashboard .team-row:hover .team-content-col{background-color:var(--dd-gantt-team-header-hover)}.dept-dashboard .modal-table-header{font-weight:700!important;background-color:var(--dd-gantt-header-bg)!important;color:var(--dd-text-primary)!important}.dept-dashboard .modal-table-row{cursor:pointer;color:var(--dd-text-primary)}.dept-dashboard .modal-table-row:hover{background-color:var(--dd-surface-hover)!important}.clickable-project-name{color:var(--dd-text-primary);transition:color .15s ease;cursor:pointer}.dept-dashboard .modal-table-row:hover .clickable-project-name{color:#93c5fd;text-decoration:underline;text-underline-offset:2px}.dept-dashboard ::-webkit-scrollbar{width:8px;height:8px}.dept-dashboard ::-webkit-scrollbar-track{background:var(--dd-surface-tertiary)}.dept-dashboard ::-webkit-scrollbar-thumb{background:var(--dd-border-primary);border-radius:4px}.dept-dashboard ::-webkit-scrollbar-thumb:hover{background:var(--dd-border-strong)}.approval-list-page{padding:20px 30px;max-width:1100px}.approval-list-page .page-title{font-size:22px;font-weight:700;margin-bottom:20px;color:#333}.approval-tabs{display:flex;gap:0;border-bottom:2px solid #e0e0e0;margin-bottom:20px}.approval-tab-btn{display:flex;align-items:center;gap:6px;padding:10px 20px;border:none;background:none;font-size:14px;font-weight:500;color:#888;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s ease}.approval-tab-btn:hover{color:#555}.approval-tab-btn.active{color:#1565c0;border-bottom-color:#1565c0;font-weight:600}.tab-icon{font-size:16px}.tab-badge{background-color:#ef5350;color:#fff;font-size:11px;font-weight:700;padding:1px 7px;border-radius:10px;min-width:18px;text-align:center}.approval-tab-btn.active .tab-badge{background-color:#ef5350;color:#fff}.tab-badge-blue{background-color:#1565c0}.approval-tab-btn.active .tab-badge-blue{background-color:#1565c0;color:#fff}.approval-table{width:100%;border-collapse:collapse;font-size:13px}.approval-table th{background-color:#f5f5f5;padding:10px 14px;text-align:left;font-weight:600;color:#555;border-bottom:1px solid #ddd;white-space:nowrap}.approval-table td{padding:10px 14px;border-bottom:1px solid #eee;color:#333}.clickable-row{cursor:pointer;transition:background-color .15s}.clickable-row:hover{background-color:#f0f7ff}.status-badge{display:inline-flex;align-items:center;gap:3px;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600;white-space:nowrap}.status-pending{background-color:#fff8e1;color:#f57f17}.status-approved{background-color:#e8f5e9;color:#2e7d32}.status-rejected{background-color:#ffebee;color:#c62828}.status-returned{background-color:#fff3e0;color:#e65100}.status-canceled{background-color:#f5f5f5;color:#999}.delegate-section{border:1px solid #e0e7ff;border-radius:10px;margin-bottom:20px;background:#f8faff;overflow:visible}.delegate-header{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.delegate-header:hover{background:#eef2ff}.delegate-title{font-size:14px;font-weight:600;color:#4338ca;display:flex;align-items:center;gap:10px}.delegate-current-badge{font-size:12px;font-weight:500;color:#6366f1;background:#e0e7ff;padding:2px 10px;border-radius:12px}.delegate-toggle{font-size:12px;color:#6366f1}.delegate-body{padding:0 18px 14px;border-top:1px solid #e0e7ff}.delegate-form{display:flex;align-items:center;gap:10px;margin-top:12px}.delegate-select-wrapper{flex:1;position:relative}.delegate-select{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border:1px solid #c7d2fe;border-radius:6px;font-size:13px;background:#fff;color:#333;cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .15s}.delegate-select:hover{border-color:#a5b4fc}.delegate-select.open{border-color:#6366f1;box-shadow:0 0 0 2px #6366f126}.delegate-select-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.delegate-select-arrow{margin-left:8px;color:#6366f1;font-size:12px;flex-shrink:0}.delegate-dropdown-list{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:#fff;border:1px solid #c7d2fe;border-radius:6px;box-shadow:0 4px 16px #0000001f;z-index:100;max-height:240px;overflow-y:auto}.delegate-dropdown-item{padding:8px 12px;font-size:13px;cursor:pointer;display:flex;align-items:center;gap:6px;white-space:nowrap;transition:background-color .1s}.delegate-dropdown-item:first-child{border-radius:6px 6px 0 0}.delegate-dropdown-item:last-child{border-radius:0 0 6px 6px}.delegate-dropdown-item:hover{background-color:#f0f0ff}.delegate-dropdown-item.active{background-color:#e0e7ff;font-weight:600;color:#4338ca}.delegate-set-btn{padding:8px 20px;background:#4f46e5;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s}.delegate-set-btn:hover:not(:disabled){background:#4338ca}.delegate-set-btn:disabled{opacity:.5;cursor:not-allowed}.delegate-remove-btn{padding:8px 16px;background:#fff;color:#dc2626;border:1px solid #fca5a5;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s}.delegate-remove-btn:hover:not(:disabled){background:#fef2f2;border-color:#ef4444}.delegate-remove-btn:disabled{opacity:.5;cursor:not-allowed}.delegate-info{margin-top:10px;font-size:13px;font-weight:600;color:#92400e;padding:10px 14px;background:#fef9c3;border-radius:6px;border:1px solid #fde047}.delegate-badge{display:inline-block;font-size:11px;font-weight:600;color:#4338ca;background:#e0e7ff;padding:1px 6px;border-radius:4px;margin-right:6px}.empty-state,.loading-indicator{text-align:center;padding:60px 20px;color:#999;font-size:14px}.approval-detail-modal{max-width:700px;max-height:85vh;overflow-y:auto}.approval-meta{background-color:#f8f9fa;border-radius:8px;padding:14px 18px;margin-bottom:20px}.meta-row{display:flex;align-items:center;padding:5px 0}.meta-label{font-weight:600;color:#555;min-width:80px;font-size:13px}.meta-value{color:#333;font-size:13px}.document-content{margin-bottom:20px}.approval-detail-modal .section-title{font-size:15px;font-weight:700;color:#111827;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid #d1d5db}.document-table{width:100%;border-collapse:collapse;font-size:13px}.document-table td{padding:8px 12px;border-bottom:1px solid #f0f0f0;vertical-align:top}.doc-label{font-weight:600;color:#555;width:100px;white-space:nowrap;background-color:#fafafa}.resolve-section{border-top:1px solid #eee;padding-top:16px}.resolve-comment{width:100%;min-height:60px;padding:10px;border:1px solid #ddd;border-radius:6px;font-size:13px;resize:vertical;margin-bottom:12px;box-sizing:border-box}.resolve-comment:focus{outline:none;border-color:#90caf9}.resolve-actions{display:flex;gap:10px;justify-content:flex-end}.resolve-btn{padding:8px 24px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .2s}.resolve-btn:disabled{opacity:.5;cursor:not-allowed}.approve-btn{background-color:#4caf50;color:#fff}.approve-btn:hover:not(:disabled){background-color:#43a047}.return-btn{background-color:#ff9800;color:#fff}.return-btn:hover:not(:disabled){background-color:#f57c00}.reject-btn{background-color:#ef5350;color:#fff}.reject-btn:hover:not(:disabled){background-color:#e53935}.revoke-btn{background-color:#ff9800;color:#fff}.revoke-btn:hover:not(:disabled){background-color:#f57c00}.revoke-section{border-top:2px solid #ff9800}.status-revoked{color:#ff9800}.status-withdrawn{background-color:#eceff1;color:#546e7a}.withdraw-btn{background-color:#78909c;color:#fff}.withdraw-btn:hover:not(:disabled){background-color:#607d8b}.withdraw-section{border-top:2px solid #90a4ae}.rerequest-btn{background-color:#ff9800;color:#fff}.rerequest-btn:hover:not(:disabled){background-color:#f57c00}.rerequest-section{border-top:2px solid #ff9800}.payload-actions-section{margin-top:16px;padding:12px;background-color:#fff3e0;border:1px solid #ffcc80;border-radius:6px}.payload-actions-title{font-size:13px;font-weight:600;color:#e65100;margin:0 0 8px}.payload-actions-list{list-style:none;padding:0;margin:0}.payload-action-item{padding:6px 0;font-size:13px;border-bottom:1px solid #ffe0b2}.payload-action-item:last-child{border-bottom:none}.action-delete-contact{color:#c62828}.action-delete-contact:before{content:"🗑️ "}@media (max-width: 768px){.approval-list-page{padding:12px 14px}.approval-list-page .page-title{font-size:18px;margin-bottom:14px}.approval-tabs{border-bottom:none;gap:8px;margin-bottom:14px}.approval-tab-btn{flex:1;justify-content:center;padding:10px 8px;border-radius:20px;border-bottom:none;margin-bottom:0;background:#f3f4f6;font-size:13px}.approval-tab-btn.active{background:#1565c0;color:#fff;border-bottom-color:transparent}.approval-tab-btn.active .tab-badge{background-color:#ef5350;color:#fff}.approval-tab-btn.active .tab-badge-blue{background-color:#1565c0;color:#fff}.tab-icon{display:none}.approval-card-list{display:flex;flex-direction:column;gap:10px}.approval-card{border:1px solid #e5e7eb;border-radius:10px;padding:14px 16px;background:#fff;box-shadow:0 1px 3px #0000000f;cursor:pointer;transition:transform .1s ease}.approval-card:active{transform:scale(.98)}.approval-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.approval-card-doctype{font-weight:600;font-size:14px;color:#1f2937}.approval-card-body{display:flex;flex-direction:column;gap:4px}.approval-card-row{display:flex;justify-content:space-between;align-items:center;font-size:13px}.approval-card-label{color:#6b7280;font-weight:500}.approval-card-value{color:#374151}.approval-card-period{justify-content:center;color:#059669;font-weight:500;font-size:12px;margin-top:4px;padding-top:6px;border-top:1px dashed #d1fae5}.approval-detail-modal{width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important;border-radius:0!important;margin:0!important}.approval-detail-modal .modal-header{position:sticky;top:0;background:#fff;z-index:10;border-bottom:1px solid #e5e7eb;padding:14px 16px}.approval-detail-modal .modal-body{padding:16px}.resolve-actions{flex-direction:column;gap:8px}.resolve-btn{width:100%;padding:14px;font-size:16px;border-radius:10px}.status-badge{font-size:13px;padding:4px 12px}.meta-row{flex-direction:column;align-items:flex-start;gap:2px;padding:6px 0}.meta-label{min-width:unset;font-size:12px;color:#9ca3af}.meta-value{font-size:14px}.document-table td{padding:6px 8px;font-size:13px}.doc-label{width:80px;font-size:12px}.resolve-comment{font-size:16px;min-height:80px}.delegate-form{flex-direction:column;gap:8px}.delegate-select-wrapper{width:100%}.delegate-set-btn,.delegate-remove-btn{width:100%;padding:12px;font-size:15px;border-radius:10px}.delegate-current-badge{display:none}}.company-list{max-width:1400px;margin:0 auto}.company-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:24px}.company-card{background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000014;overflow:hidden;transition:all .3s ease;border:1px solid #f1f3f4}.company-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.company-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 16px;border-bottom:1px solid #f1f3f4}.company-header h3{color:#333;font-size:20px;font-weight:700;margin:0 16px 0 0;flex:1}.company-actions{display:flex;gap:8px}.company-details{padding:16px 24px}.company-details p{margin:10px 0;font-size:14px;color:#555;line-height:1.5}.company-details strong{color:#333;font-weight:600}.company-meta{padding:16px 24px;background-color:#f8f9fa;border-top:1px solid #f1f3f4}.company-meta small{color:#666;font-size:13px;font-weight:500}@media (max-width: 768px){.company-grid{grid-template-columns:1fr}.company-header{flex-direction:column;align-items:flex-start;gap:16px}.company-header h3{margin-right:0}.company-actions{width:100%;justify-content:flex-end}}.company-form{max-width:1000px;margin:0 auto;padding:20px;background-color:#fff;border-radius:12px;box-shadow:0 4px 16px #00000014}.page-header{margin-bottom:32px;border-bottom:3px solid #f8f9fa;padding-bottom:24px}.page-header h1{margin:0 0 12px;color:#1a202c;font-size:32px;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.breadcrumb{font-size:14px;color:#718096;font-weight:500}.breadcrumb-link{color:#4299e1;cursor:pointer;text-decoration:none;transition:color .2s ease}.breadcrumb-link:hover{color:#3182ce;text-decoration:underline}.breadcrumb-separator{margin:0 10px;color:#cbd5e0;font-weight:400}.breadcrumb-current{color:#2d3748;font-weight:600}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center}.loading-spinner{width:48px;height:48px;border:4px solid #f7fafc;border-top:4px solid #4299e1;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.error-message{display:flex;align-items:flex-start;gap:14px;padding:18px;margin-bottom:28px;background:linear-gradient(135deg,#fff5f5,#fed7d7);border:2px solid #fc8181;border-radius:8px;color:#c53030;font-weight:500}.error-icon{font-size:20px;flex-shrink:0;margin-top:2px}.error-content{flex:1;line-height:1.6}.form{display:flex;flex-direction:column;gap:36px}.form-section{border:2px solid #e2e8f0;border-radius:12px;padding:28px;background:linear-gradient(135deg,#fff,#f8fafc);transition:all .3s ease}.form-section:hover{border-color:#cbd5e0;box-shadow:0 4px 12px #0000000d}.section-title{margin:0 0 24px;color:#2d3748;font-size:20px;font-weight:700;padding-bottom:12px;border-bottom:3px solid #e2e8f0;position:relative}.section-title:after{content:"";position:absolute;bottom:-3px;left:0;width:60px;height:3px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:2px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.form-group{display:flex;flex-direction:column;gap:8px}label{font-weight:600;color:#2d3748;font-size:15px;display:flex;align-items:center;gap:6px;margin-bottom:4px}label.required:after{content:"*";color:#e53e3e;font-weight:700;font-size:16px}input[type=text],input[type=email],input[type=tel],input[type=url],input[type=date],textarea,select{padding:14px 18px;border:2px solid #e2e8f0;border-radius:8px;font-size:15px;font-family:inherit;transition:all .3s ease;background-color:#fff;color:#2d3748;line-height:1.5}input:focus,textarea:focus,select:focus{outline:none;border-color:#4299e1;box-shadow:0 0 0 4px #4299e11a;transform:translateY(-1px)}input:disabled,textarea:disabled,select:disabled{background-color:#f7fafc;color:#a0aec0;cursor:not-allowed;border-color:#e2e8f0}input.error,textarea.error,select.error{border-color:#e53e3e;background-color:#fff5f5}input.error:focus,textarea.error:focus,select.error:focus{border-color:#e53e3e;box-shadow:0 0 0 4px #e53e3e1a}select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;padding-right:44px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}select:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%234299e1' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e")}textarea{resize:vertical;min-height:120px;line-height:1.6;font-family:inherit}.field-help{font-size:13px;color:#718096;margin-top:4px;font-weight:500}.field-error{font-size:13px;color:#e53e3e;font-weight:600;margin-top:4px;display:flex;align-items:center;gap:6px}.field-error:before{content:"⚠";font-size:12px}.company-summary{background:linear-gradient(135deg,#f7fafc,#edf2f7);border-radius:8px;padding:20px;border:1px solid #e2e8f0}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background-color:#fff;border-radius:6px;border:1px solid #e2e8f0;transition:all .2s ease}.summary-item:hover{border-color:#cbd5e0;transform:translateY(-1px)}.summary-item .label{font-weight:600;color:#4a5568;font-size:14px}.summary-item .value{font-weight:700;color:#2d3748;font-size:14px;text-align:right}.form-actions{display:flex;justify-content:flex-end;gap:16px;padding-top:32px;border-top:2px solid #e2e8f0;margin-top:40px}.btn{padding:14px 28px;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:10px;min-width:140px;justify-content:center;text-decoration:none;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.btn:hover:before{left:100%}.btn:disabled:before{display:none}.btn-primary{background:linear-gradient(135deg,#4299e1,#3182ce);color:#fff;box-shadow:0 4px 12px #4299e14d}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#3182ce,#2c5282);transform:translateY(-2px);box-shadow:0 6px 20px #4299e166}.btn-secondary{background:linear-gradient(135deg,#718096,#4a5568);color:#fff;box-shadow:0 4px 12px #7180964d}.btn-secondary:hover:not(:disabled){background:linear-gradient(135deg,#4a5568,#2d3748);transform:translateY(-2px);box-shadow:0 6px 20px #71809666}.btn-outline{background-color:transparent;color:#4a5568;border:2px solid #e2e8f0;box-shadow:0 2px 8px #7180961a}.btn-outline:hover:not(:disabled){background-color:#f7fafc;border-color:#cbd5e0;color:#2d3748;transform:translateY(-2px);box-shadow:0 4px 16px #71809633}.spinner{width:18px;height:18px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.dev-info{margin-top:48px;padding:20px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px solid #dee2e6;border-radius:8px;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace}.dev-info summary{cursor:pointer;font-weight:700;color:#6c757d;margin-bottom:12px;padding:8px 12px;background-color:#fff;border-radius:4px;transition:background-color .2s ease}.dev-info summary:hover{background-color:#f8f9fa}.dev-info pre{font-size:12px;background-color:#fff;padding:16px;border-radius:6px;overflow-x:auto;white-space:pre-wrap;word-wrap:break-word;border:1px solid #e9ecef;line-height:1.4}@media (max-width: 1024px){.company-form{max-width:100%;margin:10px;padding:20px}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}}@media (max-width: 768px){.company-form{margin:8px;padding:16px;border-radius:8px}.page-header{margin-bottom:24px;padding-bottom:16px}.page-header h1{font-size:28px}.form-row{grid-template-columns:1fr;gap:16px}.form-section{padding:20px;gap:28px}.section-title{font-size:18px;margin-bottom:20px}.form-actions{flex-direction:column-reverse;gap:12px}.btn{width:100%;min-width:unset;padding:16px 24px;font-size:16px}.breadcrumb{font-size:13px}.summary-grid{grid-template-columns:1fr;gap:10px}.summary-item{flex-direction:column;align-items:flex-start;gap:4px;padding:12px}.summary-item .value{text-align:left;font-size:15px}}@media (max-width: 480px){.company-form{margin:4px;padding:12px}.page-header{margin-bottom:20px;padding-bottom:12px}.page-header h1{font-size:24px}.form-section{padding:16px}.section-title{font-size:16px;margin-bottom:16px}input[type=text],input[type=email],input[type=tel],input[type=url],input[type=date],textarea,select{padding:12px 16px;font-size:16px}.btn{padding:16px 20px;font-size:16px}.form-actions{padding-top:24px;margin-top:32px}}@media (prefers-color-scheme: dark){.company-form{background-color:#1a202c;color:#e2e8f0}.form-section{background:linear-gradient(135deg,#2d3748,#1a202c);border-color:#4a5568}.section-title{color:#e2e8f0;border-color:#4a5568}input[type=text],input[type=email],input[type=tel],input[type=url],input[type=date],textarea,select{background-color:#2d3748;border-color:#4a5568;color:#e2e8f0}input:focus,textarea:focus,select:focus{border-color:#63b3ed;background-color:#2d3748}.company-summary{background:linear-gradient(135deg,#2d3748,#1a202c);border-color:#4a5568}.summary-item{background-color:#1a202c;border-color:#4a5568}}.btn:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #4299e1;outline-offset:2px}@media print{.company-form{box-shadow:none;border:2px solid #000;max-width:100%;margin:0}.form-actions,.dev-info,.breadcrumb{display:none}.error-message{border:2px solid #000;background-color:#f0f0f0;color:#000}.page-header h1{color:#000;-webkit-text-fill-color:#000}.form-section{background:#fff;border:1px solid #ccc;break-inside:avoid}.section-title{color:#000;border-color:#ccc}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.company-regist-form{max-width:1000px;margin:0 auto;padding:20px;background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}input[type=text],select,textarea{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:4px;font-size:14px;font-family:inherit;transition:all .2s ease;background-color:#fff}input[type=text]:focus,select:focus,textarea:focus{outline:none;border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a}input[type=text]:disabled,select:disabled,textarea:disabled{background-color:#f7fafc;color:#a0aec0;cursor:not-allowed}select{cursor:pointer;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 8px center;background-repeat:no-repeat;background-size:16px;padding-right:32px;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (max-width: 768px){.company-regist-form{margin:10px;padding:16px}.page-header h1{font-size:24px}.form-row{flex-direction:column;min-height:auto}.form-label{min-width:auto;max-width:none;border-right:none;border-bottom:1px solid #e0e0e0;padding:12px 16px 8px}.form-content{padding:8px 16px 16px}.form-actions{flex-direction:column-reverse}.btn{width:100%;min-width:unset}.breadcrumb{font-size:12px}}@media (max-width: 480px){.company-regist-form{margin:5px;padding:12px}.page-header{margin-bottom:20px;padding-bottom:16px}.page-header h1{font-size:20px}.form-label{padding:10px 12px 6px;font-size:13px}.form-content{padding:6px 12px 14px}input[type=text],select,textarea{padding:8px 10px;font-size:16px}.btn{padding:14px 20px}}.form-row:nth-child(3) .form-label{background-color:#fff2e8;font-weight:700}.form-row:nth-child(4) .form-content,.form-row:nth-child(6) .form-content,.form-row:nth-child(7) .form-content,.form-row:nth-child(8) .form-content{background-color:#fafbfc}.form-table .form-row:first-child{background-color:#f1f5f9;border-bottom:2px solid #2c3e50}.form-table .form-row:first-child .form-label{background-color:#e2e8f0;font-weight:700;color:#1e293b}textarea[name=contact_info]{min-height:100px}textarea[name=history]{min-height:120px}textarea[name=contact_report]{min-height:150px}textarea[name=memo]{min-height:80px}@media print{.company-regist-form{box-shadow:none;border:1px solid #000}.form-actions,.dev-info,.breadcrumb{display:none}.error-message{border:1px solid #000;background-color:#f0f0f0}.form-table{border:2px solid #000}.form-row{border-bottom:1px solid #000;page-break-inside:avoid}.form-label{background-color:#f5f5f5!important;border-right:1px solid #000}textarea{min-height:60px}}.company-profile-container{font-family:Malgun Gothic,맑은 고딕,sans-serif;max-width:1200px;margin:0 auto;padding:20px;background-color:#f9f9f9;min-height:100vh}.profile-writer{margin-top:10px;display:flex;justify-content:flex-end;padding-right:15px}.writer-form{display:flex;gap:30px;flex-wrap:wrap}.writer-form>div{text-align:right}.section-header-attached{margin-bottom:0;border-bottom:none;border-radius:4px 4px 0 0}.contact-detail-section .profile-table,.contact-report-section .profile-table{margin-top:0;border-top:none}.contact-detail-section .profile-table:first-of-type{border-top:1px solid #333}.profile-input{width:100%;border:none;outline:none;font-size:13px;color:#333!important}.profile-input.input-required{box-shadow:0 0 0 2px #ff6b6b inset}.client-company-table{table-layout:fixed}.client-company-table .col-label{width:10%}.client-company-table .col-input{width:40%}.client-company-table .table-cell-label{width:auto}.profile-textarea{width:100%;border:none;outline:none;resize:vertical;font-size:13px;font-family:inherit;color:#333!important}.profile-date-input{width:100%;border:none;outline:none;font-size:13px;color:#333!important}.search-btn{background:#f8f9fa;border:1px solid #ddd;border-radius:4px;width:32px;height:32px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.search-btn:hover{background:#007bff;color:#fff;border-color:#007bff;transform:scale(1.05)}.search-btn:active{transform:scale(.95)}.contact-section{width:100%;min-height:150px}.contact-search-field{margin-bottom:15px;padding:10px;background-color:#f8f9fa;border-radius:5px;border:1px solid #e9ecef}.contact-search-field .profile-input{background-color:#fff}.contact-search-visible{display:block;animation:fadeIn .3s ease-in-out}.contact-search-hidden{display:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.contact-item{padding:12px 16px;background-color:#f8f9fa;border-radius:6px;border:2px solid #e9ecef;font-size:13px;line-height:1.4;cursor:pointer;transition:all .2s ease}.contact-item.selected{background-color:#e3f2fd;border-color:#007bff;box-shadow:0 2px 4px #007bff26}.contact-separator{color:#ddd;font-weight:700}.contact-name{font-weight:600;color:#333;display:flex;align-items:center}.primary-badge{background-color:#007bff;color:#fff;padding:2px 6px;border-radius:10px;font-size:11px;font-weight:500;margin-left:6px}.contact-position{color:#666;font-weight:500}.contact-department{color:#888}.contact-phone{color:#007bff;font-weight:500}.no-contacts{color:#999;font-style:italic;padding:16px;text-align:center;background-color:#f8f9fa;border-radius:4px;border:1px dashed #ddd;margin-bottom:15px}.add-contact-section{display:flex;justify-content:center;align-items:center;padding:12px 0;border-top:2px solid #e9ecef;margin-top:5px}.add-contact-btn{padding:10px 20px;background-color:#28a745;color:#fff;border:none;border-radius:5px;font-size:13px;font-weight:600;cursor:pointer;transition:background-color .3s}.add-contact-btn:hover:not(:disabled){background-color:#218838}.add-contact-btn:disabled{background-color:#6c757d;cursor:not-allowed;opacity:.5}.readonly-field{background-color:#f8f9fa!important;color:#6c757d!important;cursor:not-allowed}.readonly-field:focus{background-color:#f8f9fa!important;box-shadow:none}.existing-reports{margin-bottom:20px}.existing-reports h4{margin-bottom:10px;color:#333;font-size:14px}.report-item{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;padding:12px;margin-bottom:8px}.report-date{font-weight:700;color:#007bff;margin-bottom:4px}.report-content{line-height:1.4;white-space:pre-line;color:#333}.report-actions{display:flex;justify-content:center;margin-top:15px}.add-report-btn{background-color:#28a745;color:#fff;border:none;padding:8px 16px;border-radius:4px;font-size:13px;cursor:pointer;transition:background-color .3s}.add-report-btn:hover:not(:disabled){background-color:#218838}.add-report-btn:disabled{background-color:#6c757d;cursor:not-allowed;opacity:.5}.profile-actions{display:flex;flex-direction:column;align-items:center;gap:15px;margin-top:30px;padding-top:20px;border-top:2px solid #e9ecef}.action-group{display:flex;justify-content:center;gap:20px}.action-btn{padding:12px 24px;font-size:14px;font-weight:700;border:none;border-radius:5px;cursor:pointer;transition:all .3s ease;min-width:100px}.save-btn{background-color:#007bff;color:#fff}.save-btn:hover:not(:disabled){background-color:#0056b3;transform:translateY(-1px)}.cancel-btn{background-color:#6c757d;color:#fff}.cancel-btn:hover:not(:disabled){background-color:#5a6268;transform:translateY(-1px)}.print-btn:hover:not(:disabled){background-color:#218838;transform:translateY(-1px)}.action-btn:disabled{opacity:.5;cursor:not-allowed}.action-btn:disabled:hover{transform:none}.dirty-indicator{background-color:#fff3cd;color:#856404;padding:8px 16px;border-radius:4px;border:1px solid #ffeaa7;font-size:13px;font-weight:500}.company-profile-container .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.company-profile-container .modal-content{background:#fff;border-radius:8px;width:90%;max-width:800px;max-height:80vh;overflow:hidden;box-shadow:0 4px 20px #00000026}.company-profile-container .modal-content.modal-content-wide{max-width:1100px!important}.modal-close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:#6c757d;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.modal-close-btn:hover{background-color:#e9ecef}.search-info{margin-bottom:20px;padding:10px;background:#e3f2fd;border-radius:4px;border-left:4px solid #007bff}.search-info p{margin:0;font-weight:500;color:#0056b3}.search-table{width:100%;border-collapse:collapse;margin-bottom:20px;border:1px solid #e9ecef}.search-table th,.search-table td{padding:12px;text-align:left;border-bottom:1px solid #e9ecef}.search-table th{background:#f8f9fa;font-weight:600;font-size:13px;color:#333}.search-table td{font-size:13px}.search-table tr:hover{background-color:#f8f9fa}.select-btn{background:#007bff;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px;transition:background-color .2s}.pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:20px}.page-btn{padding:8px 12px;border:1px solid #ddd;background:#fff;cursor:pointer;border-radius:4px;font-size:13px;transition:all .2s}.page-btn:hover:not(:disabled){background:#f8f9fa;border-color:#007bff}.page-btn.active{background:#007bff;color:#fff;border-color:#007bff}.page-btn:disabled{opacity:.5;cursor:not-allowed}.loading,.no-results{text-align:center;padding:40px;color:#666;font-style:italic}@media (max-width: 768px){.company-profile-container{padding:10px}.profile-header{flex-direction:column;gap:10px;text-align:center}.action-group{flex-direction:column;gap:10px}.action-btn{width:100%}.modal-content{width:95%;margin:10px}.search-table{font-size:12px}.search-table th,.search-table td{padding:8px}}@media (max-width: 480px){.profile-title{font-size:20px}.profile-subtitle{font-size:18px}.table-cell-label{width:80px;font-size:12px}.contact-item{padding:8px 12px;font-size:12px}}.search-table .primary-badge{background-color:#007bff;color:#fff;padding:2px 6px;border-radius:10px;font-size:10px;font-weight:500;margin-left:6px}.search-table tbody tr:hover{background-color:#f8f9fa}.search-table td strong{color:#007bff}.search-info{margin-bottom:20px;padding:12px;background:#e3f2fd;border-radius:6px;border-left:4px solid #007bff}.search-info p{margin:0;font-weight:600;color:#0056b3}.profile-input.input-modified,.profile-textarea.input-modified{border:1px solid #e53e3e;background-color:#fff5f5}.profile-input.input-modified:focus,.profile-textarea.input-modified:focus{border-color:#c53030;box-shadow:0 0 0 1px #c53030;outline:none}.form-section h3{color:#2c3e50;border-bottom:2px solid #3498db;padding-bottom:8px;margin-bottom:16px}.finance-access-denied{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:16px;margin:16px 0;text-align:center}.finance-access-denied p{color:#6c757d;margin:0;font-style:italic}.form-group input:disabled{background-color:#f8f9fa;color:#6c757d;cursor:not-allowed;border-color:#dee2e6}.finance-field{position:relative}.finance-field:after{content:"🔒";position:absolute;right:8px;top:50%;transform:translateY(-50%);pointer-events:none;opacity:.5}@media print{.company-profile-container{background-color:#fff;box-shadow:none;padding:0}.profile-actions,.modal-overlay,.search-btn,.add-contact-btn{display:none!important}.profile-table,.contact-item{break-inside:avoid}}.approval-status-badge{display:inline-flex;align-items:center;padding:6px 14px;border-radius:20px;font-size:13px;font-weight:600;margin:12px 0}.approval-status-badge.status-approved{background-color:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7}.approval-status-badge.status-pending{background-color:#fff8e1;color:#f57f17;border:1px solid #ffcc02}.approval-status-badge.status-rejected{background-color:#ffebee;color:#c62828;border:1px solid #ef9a9a}.approval-section{background-color:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:12px 16px;margin:12px 0}.approval-row{display:flex;align-items:center;gap:12px;margin-bottom:8px}.approval-row:last-child{margin-bottom:0}.approval-label{font-size:13px;font-weight:600;color:#555;min-width:70px;flex-shrink:0}.approval-selector{display:flex;align-items:center;flex-wrap:wrap;gap:6px;flex:1}.approval-selector-required{border:2px solid #dc2626;border-radius:6px;padding:4px 8px}.selected-user-chip{display:inline-flex;align-items:center;gap:4px;background-color:#e3f2fd;color:#1565c0;padding:4px 10px;border-radius:16px;font-size:12px;font-weight:500}.chip-remove{background:none;border:none;color:#1565c0;cursor:pointer;font-size:14px;padding:0 2px;line-height:1}.chip-remove:hover{color:#c62828}.placeholder-text{color:#aaa;font-size:12px;font-style:italic}.pending-delete-badge{background-color:#ff9800;color:#fff;padding:2px 6px;border-radius:10px;font-size:10px;font-weight:500;margin-left:6px}.contact-item.pending-delete{background-color:#fff8e1;border-color:#ff9800;opacity:.85}.contact-item.pending-delete:hover{border-color:#f57c00}.contact-delete-request-btn{margin-left:auto;padding:2px 8px;font-size:11px;background-color:#ef5350;color:#fff;border:none;border-radius:4px;cursor:pointer;flex-shrink:0}.contact-delete-request-btn:hover{background-color:#e53935}.contact-delete-cancel-btn{margin-left:auto;padding:2px 8px;font-size:11px;background-color:#9e9e9e;color:#fff;border:none;border-radius:4px;cursor:pointer;flex-shrink:0}.contact-delete-cancel-btn:hover{background-color:#757575}.employee-list{max-width:1400px;margin:0 auto}.employee-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:24px}.employee-card{background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000014;overflow:hidden;transition:all .3s ease;border:1px solid #f1f3f4}.employee-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.employee-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 16px;border-bottom:1px solid #f1f3f4}.employee-name{flex:1}.employee-name h3{color:#333;font-size:20px;font-weight:700;margin:0 0 4px}.employee-id{color:#666;font-size:14px;font-weight:500;font-family:monospace}.employee-status{flex-shrink:0}.employee-details{padding:16px 24px}.employee-details p{margin:10px 0;font-size:14px;color:#555;line-height:1.5}.employee-details strong{color:#333;font-weight:600}.employee-actions{padding:16px 24px;background-color:#f8f9fa;border-top:1px solid #f1f3f4;text-align:right}@media (max-width: 768px){.employee-grid{grid-template-columns:1fr}.employee-header{flex-direction:column;align-items:flex-start;gap:12px}.employee-status{align-self:flex-end}}.employee-form{max-width:800px;margin:0 auto;padding:20px;background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.form{display:flex;flex-direction:column;gap:32px}.form-section{border:1px solid #e2e8f0;border-radius:8px;padding:24px;background-color:#fafafa}.section-title{margin:0 0 20px;color:#2d3748;font-size:18px;font-weight:600;padding-bottom:8px;border-bottom:2px solid #e2e8f0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.form-row:last-child{margin-bottom:0}.form-group{display:flex;flex-direction:column;gap:6px}.form-group.full-width{grid-column:1 / -1}label{font-weight:600;color:#374151;font-size:14px;display:flex;align-items:center;gap:4px}label.required:after{content:"*";color:#e53e3e;font-weight:700}input[type=text],input[type=email],input[type=tel],input[type=date],select,textarea{padding:12px 16px;border:2px solid #e2e8f0;border-radius:6px;font-size:14px;font-family:inherit;transition:all .2s ease;background-color:#fff}input:focus,select:focus,textarea:focus{outline:none;border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a}input:disabled,select:disabled,textarea:disabled{background-color:#f7fafc;color:#a0aec0;cursor:not-allowed}input.error,select.error,textarea.error{border-color:#e53e3e;background-color:#fff5f5}input.error:focus,select.error:focus,textarea.error:focus{border-color:#e53e3e;box-shadow:0 0 0 3px #e53e3e1a}select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;padding-right:40px}select:disabled{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%9ca3af' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e")}textarea{resize:vertical;min-height:80px;line-height:1.5}.field-help{font-size:12px;color:#718096;margin-top:2px}.field-help.highlight{color:#3182ce;font-weight:500}.field-error{font-size:12px;color:#e53e3e;font-weight:500;margin-top:2px;display:flex;align-items:center;gap:4px}.employee-summary{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;padding:16px}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.summary-item .label{font-weight:500;color:#495057}.summary-item .value{font-weight:700;color:#212529}.status-active{color:#28a745}.status-inactive{color:#ffc107}.status-terminated{color:#dc3545}@media (max-width: 768px){.employee-form{margin:10px;padding:16px}.page-header h1{font-size:24px}.form-row{grid-template-columns:1fr;gap:16px}.form-section{padding:16px}.section-title{font-size:16px}.form-actions{flex-direction:column-reverse}.btn{width:100%;min-width:unset}.breadcrumb{font-size:12px}.summary-grid{grid-template-columns:1fr}}@media (max-width: 480px){.employee-form{margin:5px;padding:12px}.page-header{margin-bottom:20px;padding-bottom:16px}.page-header h1{font-size:20px}.form-section{padding:12px}.section-title{font-size:14px;margin-bottom:16px}input[type=text],input[type=email],input[type=tel],input[type=date],select,textarea{padding:10px 12px;font-size:16px}.btn{padding:14px 20px}.summary-item{flex-direction:column;align-items:flex-start;gap:2px}}input[type=date]{position:relative}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;border-radius:4px;margin-right:2px;opacity:.6;filter:invert(.8)}input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #3182ce;outline-offset:2px}@media print{.employee-form{box-shadow:none;border:1px solid #000}.form-actions,.dev-info{display:none}.error-message{border:1px solid #000;background-color:#f0f0f0}.form-section{break-inside:avoid}.page-header{break-after:avoid}}@media (prefers-color-scheme: dark){.employee-form{background-color:#2d3748;color:#e2e8f0}.form-section{background-color:#4a5568;border-color:#718096}.section-title{color:#e2e8f0;border-color:#718096}input[type=text],input[type=email],input[type=tel],input[type=date],select,textarea{background-color:#2d3748;border-color:#718096;color:#e2e8f0}input:focus,select:focus,textarea:focus{border-color:#63b3ed}.field-help{color:#a0aec0}.employee-summary{background-color:#4a5568;border-color:#718096}.summary-item .label{color:#a0aec0}.summary-item .value{color:#e2e8f0}}.hr-management-container{padding:20px;max-width:1400px;margin:0 auto}.page-header{margin-bottom:30px}.page-header h1{font-size:28px;font-weight:700;color:#2c3e50;margin:0 0 8px}.page-header .subtitle{color:#7f8c8d;font-size:14px}.organization-section{margin-bottom:40px;background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 8px #0000001a}.management-section{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 8px #0000001a}.tab-navigation{display:flex;gap:10px;border-bottom:2px solid #e0e0e0;margin-bottom:30px}.tab-button{display:flex;align-items:center;gap:8px;padding:12px 24px;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:15px;font-weight:500;color:#7f8c8d;transition:all .3s}.tab-button:disabled{opacity:.5;cursor:not-allowed}.tab-button:hover{color:#2c3e50;background-color:#f8f9fa}.tab-button.active{color:#007bff;border-bottom-color:#007bff}.tab-icon{font-size:18px}.tab-content{animation:fadeIn .3s}.organization-chart{background:#fff;border-radius:8px;padding:24px;box-shadow:0 1px 3px #0000001a}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #e0e0e0}.chart-header h2{font-size:20px;font-weight:700;color:#2c3e50;margin:0}.chart-stats{display:flex;gap:16px}.chart-stats span{padding:6px 12px;background-color:#f0f0f0;border-radius:4px;font-size:13px;color:#555}.chart-content{display:grid;grid-template-columns:1fr 350px;gap:24px}.tree-view{overflow-x:auto}.tree-root{min-width:400px}.company-node{display:flex;align-items:center;gap:8px;padding:12px 16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:8px;font-weight:700;font-size:16px;margin-bottom:16px}.tree-node{margin-left:24px}.tree-node-content{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:6px;margin:4px 0;cursor:pointer;transition:all .2s}.tree-node-content:hover{background-color:#f8f9fa}.tree-node-content.division{background-color:#e3f2fd;font-weight:600;color:#1976d2}.tree-node-content.team{background-color:#fff3e0;font-weight:500;color:#f57c00}.tree-node-content.employee{background-color:#f5f5f5;color:#424242}.tree-icon{font-size:16px}.tree-children{margin-left:20px;border-left:2px dashed #ddd;padding-left:12px}.employee-detail-panel{background:#fff;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden;height:fit-content;position:sticky;top:20px}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#f8f9fa;border-bottom:1px solid #e0e0e0}.panel-header h3{font-size:16px;font-weight:600;color:#2c3e50;margin:0}.close-button{background:none;border:none;font-size:20px;color:#999;cursor:pointer;padding:4px 8px}.close-button:hover{color:#333}.panel-content{padding:16px}.detail-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #f0f0f0}.detail-row:last-child{border-bottom:none}.detail-row .label{font-weight:500;color:#666;font-size:13px}.detail-row .value{color:#2c3e50;font-size:14px}.employee-management-tab,.department-management-tab{background:#fff;border-radius:8px;padding:24px;box-shadow:0 1px 3px #0000001a}.tab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #e0e0e0}.tab-header h2{font-size:20px;font-weight:700;color:#2c3e50;margin:0}.filters{display:flex;gap:12px;margin-bottom:20px}.search-input,.filter-select{padding:10px 14px;border:1px solid #ddd;border-radius:6px;font-size:14px;outline:none}.search-input{flex:1;min-width:250px}.search-input:focus,.filter-select:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.filter-select{min-width:150px;cursor:pointer}.btn-primary,.btn-secondary,.btn-edit{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-edit{background-color:#17a2b8;color:#fff;padding:6px 12px;font-size:13px}.btn-edit:hover{background-color:#138496}.table-container{overflow-x:auto;border:1px solid #e0e0e0;border-radius:8px}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table thead{background-color:#f8f9fa}.data-table th{padding:12px;text-align:left;font-weight:600;color:#495057;border-bottom:2px solid #dee2e6}.data-table td{padding:12px;border-bottom:1px solid #e9ecef}.data-table tbody tr:hover{background-color:#f8f9fa}.status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.status-badge.active{background-color:#d4edda;color:#155724}.status-badge.inactive{background-color:#f8d7da;color:#721c24}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s}.modal-content{background:#fff;border-radius:12px;width:90%;max-width:700px;max-height:90vh;overflow-y:auto;animation:slideUp .3s}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e0e0e0}.modal-header h3{font-size:18px;font-weight:600;color:#2c3e50;margin:0}.modal-close{background:none;border:none;font-size:24px;color:#999;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px}.modal-close:hover{background-color:#f0f0f0;color:#333}.modal-content form{padding:24px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px}.form-group{display:flex;flex-direction:column}.form-group label{font-size:13px;font-weight:500;color:#495057;margin-bottom:6px}.form-group input,.form-group select{padding:10px 12px;border:1px solid #ced4da;border-radius:6px;font-size:14px;outline:none}.form-group input:focus,.form-group select:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.modal-actions{display:flex;justify-content:flex-end;gap:12px}.department-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-bottom:30px}.department-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:20px;cursor:pointer;transition:all .3s}.department-card:hover{border-color:#007bff;box-shadow:0 4px 12px #007bff26;transform:translateY(-2px)}.department-card.selected{border-color:#007bff;background-color:#f0f7ff}.department-card .card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.department-card .card-header h3{font-size:18px;font-weight:700;color:#2c3e50;margin:0}.department-card .total-count{font-size:20px;font-weight:700;color:#007bff}.department-card .stat-row{display:flex;justify-content:space-between;padding:8px 0;font-size:14px}.stat-label{color:#666}.stat-value{font-weight:600;color:#2c3e50}.stat-value.active{color:#28a745}.stat-value.inactive{color:#dc3545}.department-card .card-footer{margin-top:16px;padding-top:16px;border-top:1px solid #e0e0e0}.teams{display:flex;flex-wrap:wrap;gap:6px}.team-badge{display:inline-block;padding:4px 10px;background-color:#e3f2fd;color:#1976d2;border-radius:12px;font-size:12px;font-weight:500}.division-detail{margin-top:30px}.division-detail h3{font-size:18px;font-weight:700;color:#2c3e50;margin-bottom:16px}.overall-stats{margin-top:40px;padding:24px;background:#f8f9fa;border-radius:12px}.overall-stats h3{font-size:18px;font-weight:700;color:#2c3e50;margin-bottom:20px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.stat-box{display:flex;align-items:center;gap:16px;padding:20px;background:#fff;border-radius:10px;box-shadow:0 2px 4px #0000000d}.stat-icon{font-size:36px}.stat-info .stat-value{font-size:28px;font-weight:700;color:#2c3e50}.stat-info .stat-label{font-size:13px;color:#7f8c8d;margin-top:4px}.loading{text-align:center;padding:60px 20px;color:#7f8c8d;font-size:16px}.project-list{max-width:1400px;margin:0 auto}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:24px}.project-card{background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000014;overflow:hidden;transition:all .3s ease;border:1px solid #f1f3f4}.project-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.project-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 16px;border-bottom:1px solid #f1f3f4}.project-title{flex:1}.project-title h3{color:#333;font-size:20px;font-weight:700;margin:0 0 4px}.project-code{color:#666;font-size:14px;font-weight:500;font-family:monospace}.project-status{flex-shrink:0}.project-details{padding:16px 24px}.project-description{margin:0 0 16px;font-size:14px;color:#666;line-height:1.6;font-style:italic}.project-details p{margin:10px 0;font-size:14px;color:#555;line-height:1.5}.project-details strong{color:#333;font-weight:600}.project-dates{display:flex;gap:20px;margin-top:12px;font-size:13px}.project-dates span{color:#666}.project-actions{padding:16px 24px;background-color:#f8f9fa;border-top:1px solid #f1f3f4;text-align:right}.project-search-bar{margin-bottom:16px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.date-filter-toggle{display:flex;align-items:center;gap:8px;font-size:13px;color:#495057;cursor:pointer;white-space:nowrap;margin-left:auto}.date-filter-toggle input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#4a6cf7}.date-filter-label{font-weight:500}.date-filter-input{padding:6px 10px!important;font-size:13px!important;border:1px solid #dee2e6!important;border-radius:6px;outline:none;background-color:#fff!important;color:#333!important;transition:border-color .2s}.date-filter-input:focus{border-color:#4a6cf7!important;box-shadow:0 0 0 2px #4a6cf726}.date-filter-input:disabled{opacity:.4;cursor:not-allowed}.date-filter-separator{color:#868e96;font-weight:500}.project-search-input{width:100%;max-width:400px;padding:10px 14px;font-size:14px;border:1px solid #dee2e6;border-radius:6px;outline:none;transition:border-color .2s}.project-search-input:focus{border-color:#4a6cf7;box-shadow:0 0 0 3px #4a6cf71a}.project-search-input::placeholder{color:#adb5bd}.project-table-wrapper{overflow-x:auto;background:#fff;border-radius:10px;box-shadow:0 1px 4px #0000000a,0 4px 16px #0000000f;border:1px solid #e2e5e9;position:relative}.table-loading-bar{position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#4a6cf7,#7c9cff,#4a6cf7);background-size:200% 100%;animation:loading-slide 1.2s ease-in-out infinite;border-radius:10px 10px 0 0;z-index:2}@keyframes loading-slide{0%{background-position:200% 0}to{background-position:-200% 0}}.project-mgmt-table{width:100%;border-collapse:collapse;min-width:860px;table-layout:fixed}.project-mgmt-table thead{position:sticky;top:0;z-index:1}.project-mgmt-table th{background:#fff;border-bottom:2px solid #e2e5e9;padding:0;font-weight:600;font-size:13px;color:#3d4551;text-align:left;white-space:nowrap;letter-spacing:-.01em;-webkit-user-select:none;user-select:none;position:relative}.project-mgmt-table th+th:before{content:"";position:absolute;left:0;top:25%;height:50%;width:1px;background:#d5d9e0}.th-filter{position:relative;display:flex;align-items:center}.th-filter:after{content:"";position:absolute;right:12px;top:50%;transform:translateY(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid #8b95a5;pointer-events:none;transition:border-top-color .2s}.th-filter:hover:after{border-top-color:#4a6cf7}.th-filter:has(.status-multi-btn):after{display:none}.project-mgmt-table th select{width:100%;padding:11px 28px 11px 14px;border:none;background:transparent;font-size:13px;font-weight:600;color:#3d4551;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;outline:none;letter-spacing:-.01em;transition:color .2s}.project-mgmt-table th select:hover{color:#4a6cf7}.project-mgmt-table th select:focus{color:#4a6cf7}.project-mgmt-table th select.filter-active{color:#4a6cf7}.th-filter:has(select.filter-active):after{border-top-color:#4a6cf7}.project-mgmt-table th:has(select.filter-active):after{content:"";position:absolute;bottom:0;left:14px;right:14px;height:2px;background:#4a6cf7;border-radius:2px 2px 0 0}.sort-btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:0;background:none;border:none;cursor:pointer;padding:2px 4px;line-height:1;flex-shrink:0;border-radius:3px;transition:background .15s}.sort-btn:hover{background:#4a6cf714}.sort-arrow{display:block;font-size:20px;line-height:14px;color:#c5cad3;transition:color .15s}.sort-arrow.active{color:#4a6cf7}.sort-btn:hover .sort-arrow:not(.active){color:#8b95a5}.th-filter.has-sort{position:relative}.th-filter.has-sort>.sort-btn{position:absolute;right:4px;top:50%;transform:translateY(-50%);z-index:2}.th-filter.has-sort>select{padding-right:36px}.th-filter.has-sort:after{display:none}.th-sortable{display:flex;align-items:center;padding:11px 14px;font-size:13px;font-weight:600;color:#3d4551;letter-spacing:-.01em;cursor:pointer;gap:4px;-webkit-user-select:none;user-select:none;transition:color .15s}.th-sortable:hover{color:#4a6cf7}.th-label{display:block;padding:11px 14px;font-size:13px;font-weight:600;color:#3d4551;letter-spacing:-.01em}.project-mgmt-table td{padding:11px 14px;border-bottom:1px solid #f0f1f3;font-size:13.5px;color:#333;vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-mgmt-table tbody tr{transition:background .15s ease}.project-mgmt-table tbody tr:hover{background:#f0f3ff;cursor:pointer}.project-mgmt-table tbody tr:active{background:#e6eaff}.project-mgmt-table tbody tr:nth-child(2n){background:#fafafb}.project-mgmt-table tbody tr:nth-child(2n):hover{background:#f0f3ff}.project-mgmt-table .project-code{font-family:SF Mono,Monaco,Menlo,Consolas,monospace;font-size:12px;color:#5a6370;background:#eef0f4;padding:3px 8px;border-radius:4px;letter-spacing:.02em}.col-year{width:76px}.col-company{width:150px}.col-dept{width:200px}.col-code{width:234px}.col-status{width:140px}.status-multi-btn{width:100%;padding:6px 10px;font-size:12px;font-weight:500;color:#6b7280;background:transparent;border:none;cursor:pointer;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-multi-btn.filter-active{color:#4a6cf7;font-weight:600}.status-dropdown{z-index:9999;min-width:160px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 8px 24px #0000001f;padding:6px 0;display:flex;flex-direction:column}.status-dropdown-item{display:flex;align-items:center;gap:8px;padding:6px 12px;font-size:12px;color:#374151;cursor:pointer;transition:background .1s;white-space:nowrap}.status-dropdown-item:hover{background:#f3f4f6}.status-dropdown-item input[type=checkbox]{accent-color:#4a6cf7;margin:0}.status-apply-btn{margin:6px 8px 4px;padding:6px 0;font-size:12px;font-weight:600;color:#fff;background:#4a6cf7;border:none;border-radius:6px;cursor:pointer;transition:background .15s}.status-apply-btn:hover{background:#3b5de7}.table-message{text-align:center;padding:48px 12px!important;color:#868e96;font-size:14px;background:transparent!important}.table-footer{display:flex;justify-content:flex-end;padding:12px 4px}.result-count{font-size:13px;color:#868e96}@media (max-width: 768px){.project-grid{grid-template-columns:1fr}.project-header{flex-direction:column;align-items:flex-start;gap:12px}.project-status{align-self:flex-end}.project-dates{flex-direction:column;gap:8px}.project-mgmt-table th select{font-size:12px;padding:9px 22px 9px 8px}.th-label,.project-mgmt-table td{padding:9px 8px;font-size:12px}.project-search-input{max-width:100%}}.pdm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;animation:pdm-fade-in .2s ease}@keyframes pdm-fade-in{0%{opacity:0}to{opacity:1}}.pdm-container{background:#fff;border-radius:12px;box-shadow:0 8px 40px #0000002e;width:100%;max-width:1100px;max-height:90vh;display:flex;flex-direction:column;animation:pdm-slide-up .25s ease}@keyframes pdm-slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.pdm-header{display:flex;align-items:center;justify-content:space-between;padding:20px 28px;border-bottom:1px solid #e8eaed;flex-shrink:0}.pdm-title{font-size:18px;font-weight:700;color:#1a1a2e;margin:0}.pdm-close-btn{width:36px;height:36px;border:none;background:#f1f3f5;border-radius:50%;font-size:20px;color:#555;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.pdm-close-btn:hover{background:#e2e5e9;color:#222}.pdm-body{overflow-y:auto;padding:24px 28px 32px;flex:1}.pdm-loading{display:flex;flex-direction:column;align-items:center;gap:16px;padding:48px 0;color:#868e96;font-size:14px}.pdm-loading-bar{width:200px;height:3px;background:linear-gradient(90deg,#4a6cf7,#7c9cff,#4a6cf7);background-size:200% 100%;animation:pdm-loading-slide 1.2s ease-in-out infinite;border-radius:2px}@keyframes pdm-loading-slide{0%{background-position:200% 0}to{background-position:-200% 0}}.pdm-error{text-align:center;padding:48px 0;color:#dc3545;font-size:14px}.pdm-name-row{display:flex;align-items:center;gap:12px;margin-bottom:8px}.pdm-project-name{font-size:20px;font-weight:700;color:#1a1a2e;margin:0}.pdm-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;white-space:nowrap}.pdm-badge-planning{background:#e3f2fd;color:#1976d2}.pdm-badge-active{background:#e8f5e9;color:#2e7d32}.pdm-badge-completed{background:#f3e5f5;color:#7b1fa2}.pdm-badge-cancelled{background:#ffebee;color:#c62828}.pdm-writer-bar{display:flex;gap:24px;flex-wrap:wrap;padding:10px 14px;background:#f8f9fa;border-radius:6px;margin-bottom:20px;font-size:13px;color:#495057}.pdm-section{margin-bottom:24px}.pdm-section-title{font-size:14px;font-weight:700;color:#333;margin:0 0 10px}.pdm-table{width:100%;border-collapse:collapse;border:1px solid #dee2e6;font-size:13px}.pdm-table th{background:#f8f9fa;border:1px solid #dee2e6;padding:8px 12px;font-weight:600;color:#495057;text-align:center}.pdm-cell-label{background:#f8f9fa;border:1px solid #dee2e6;padding:8px 12px;font-weight:600;color:#495057;white-space:nowrap;vertical-align:top}.pdm-cell-value{border:1px solid #dee2e6;padding:8px 12px;color:#333;vertical-align:top;line-height:1.6}.pdm-table-basic .pdm-col-label{width:120px}.pdm-table:not(.pdm-table-basic) .pdm-col-label{width:140px}.pdm-blue{background:#e8f0fe!important;color:#1a73e8!important}.pdm-pre{white-space:pre-wrap;word-break:break-word}.pdm-code{font-family:SF Mono,Monaco,Menlo,Consolas,monospace;font-size:12px;color:#5a6370;background:#eef0f4;padding:3px 8px;border-radius:4px;letter-spacing:.02em}.pdm-empty{color:#adb5bd;font-style:italic}.pdm-score-table{width:100%;border-collapse:collapse;border:1px solid #dee2e6;margin-bottom:12px;font-size:13px}.pdm-score-table th{background:#f1f3f5;border:1px solid #dee2e6;padding:7px 10px;font-weight:600;color:#495057;text-align:center;font-size:12px}.pdm-score-table td{border:1px solid #dee2e6;padding:7px 10px;vertical-align:middle}.pdm-score-label{font-weight:600;color:#333;white-space:nowrap;text-align:center}.pdm-score-desc{font-size:12px;color:#666;line-height:1.5}.pdm-score-weight{text-align:center;font-weight:600;color:#495057;width:50px}.pdm-score-val{text-align:center;font-weight:700;color:#333;width:60px}.pdm-score-total-row td{background:#f8f9fa;font-weight:700;text-align:center}.pdm-score-grade-row td{background:#f8f9fa;font-weight:600;text-align:center;font-size:12px}.pdm-grade{display:inline-block;width:28px;height:28px;line-height:28px;border-radius:50%;font-size:14px;font-weight:800;text-align:center;color:#fff}.pdm-grade-a{background:#2e7d32}.pdm-grade-b{background:#f57c00}.pdm-grade-c{background:#c62828}.pdm-opinion{margin-top:8px;padding:10px 12px;background:#fafafa;border-radius:4px;border:1px solid #eee}.pdm-decision{display:inline-block;padding:8px 16px;border-radius:6px;font-weight:700;font-size:15px}.pdm-decision-proceed{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.pdm-decision-reject{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.pdm-decision-reason{margin-top:10px;padding:10px 12px;background:#fafafa;border-radius:4px;border:1px solid #eee}.pdm-report-date-th{width:110px}.pdm-report-date{text-align:center;white-space:nowrap;font-size:13px;color:#555;border:1px solid #dee2e6;padding:8px 12px;vertical-align:top}@media (max-width: 768px){.pdm-overlay{padding:8px}.pdm-container{max-height:95vh;border-radius:8px}.pdm-header{padding:14px 16px}.pdm-body{padding:16px}.pdm-title{font-size:16px}.pdm-project-name{font-size:17px}.pdm-writer-bar{flex-direction:column;gap:4px}.pdm-table-basic .pdm-col-label{width:90px}.pdm-table{font-size:12px}.pdm-score-table{font-size:11px}.pdm-score-desc{display:none}}.pdm-admin-edit{margin-top:24px;padding-top:16px;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:10px}.pdm-admin-edit-btn{padding:8px 20px;background:#4f46e5;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s}.pdm-admin-edit-btn:hover{background:#4338ca}.pdm-edit-request-btn{padding:8px 20px;background:#fff;color:#4f46e5;border:1px solid #4f46e5;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.pdm-edit-request-btn:hover{background:#f0edff}.pdm-edit-request-section{margin-top:16px}.pdm-edit-request-title{font-size:14px;font-weight:700;color:#333;margin:0 0 8px}.pdm-edit-request-wrap{position:relative}.pdm-edit-request-textarea{width:100%;padding:10px 12px 40px;font-size:13px;line-height:1.6;border:1px solid #dee2e6;border-radius:6px;resize:vertical;outline:none;transition:border-color .2s;box-sizing:border-box;min-height:120px}.pdm-edit-request-textarea:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.pdm-edit-request-submit-btn{position:absolute;right:8px;bottom:8px;padding:5px 14px;background:#4f46e5;color:#fff;border:none;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;transition:background .2s}.pdm-edit-request-submit-btn:hover{background:#4338ca}.pdm-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1100;display:flex;align-items:center;justify-content:center;padding:24px}.pdm-confirm-box{background:#fff;border-radius:10px;box-shadow:0 8px 32px #0003;width:100%;max-width:520px;padding:24px 28px}.pdm-confirm-title{font-size:16px;font-weight:700;color:#1a1a2e;margin:0 0 16px}.pdm-confirm-table{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:12px}.pdm-confirm-label{background:#f8f9fa;border:1px solid #dee2e6;padding:8px 12px;font-weight:600;color:#495057;white-space:nowrap;width:80px;vertical-align:top}.pdm-confirm-value{border:1px solid #dee2e6;padding:8px 12px;color:#333;line-height:1.6;vertical-align:top}.pdm-confirm-note{font-size:12px;color:#868e96;margin:8px 0 16px}.pdm-confirm-actions{display:flex;justify-content:flex-end;gap:8px}.pdm-confirm-cancel-btn{padding:8px 20px;background:#fff;color:#555;border:1px solid #dee2e6;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s}.pdm-confirm-cancel-btn:hover{background:#f1f3f5}.pdm-confirm-ok-btn{padding:8px 20px;background:#4f46e5;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s}.pdm-confirm-ok-btn:hover{background:#4338ca}.pdm-confirm-ok-btn:disabled,.pdm-confirm-cancel-btn:disabled{opacity:.6;cursor:not-allowed}.pdm-file-status-section{margin-top:28px;padding:20px;background:#f8fafc;border-radius:10px;border:1px solid #e2e8f0}.pdm-file-tables{display:flex;flex-direction:column;gap:28px}.pdm-file-cat-label{font-size:12px;font-weight:700;color:#475569;margin-bottom:6px;padding-left:4px;letter-spacing:.3px}.pdm-file-table{width:100%;border-collapse:collapse;border-radius:6px;overflow:hidden;border:1px solid #e2e8f0}.pdm-file-table th{background:#eef2ff;color:#4338ca;font-size:11px;font-weight:600;padding:7px 6px;text-align:center;border:1px solid #e2e8f0;word-break:keep-all}.pdm-file-table td{background:#fff;text-align:center;padding:10px 6px;border:1px solid #e2e8f0}.pdm-file-ok{color:#10b981;font-weight:800;font-size:17px;cursor:pointer;transition:transform .15s;display:inline-block}.pdm-file-ok:hover{transform:scale(1.3);color:#059669}.pdm-file-count{color:#10b981;font-weight:800;font-size:17px;cursor:pointer;transition:transform .15s;display:inline-block}.pdm-file-count:hover{transform:scale(1.3);color:#059669}.pdm-file-missing{color:#cbd5e1;font-weight:700;font-size:17px}.pdm-file-summary{margin-top:10px;padding:6px 10px;font-size:12px;color:#94a3b8;text-align:right}.pdm-file-list-modal{background:#fff;border-radius:10px;box-shadow:0 8px 30px #0003;width:100%;max-width:600px;max-height:60vh;display:flex;flex-direction:column;overflow:hidden}.pdm-file-list-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid #e2e8f0}.pdm-file-list-header h4{margin:0;font-size:14px;color:#334155}.pdm-file-list-body{overflow-y:auto;padding:8px 0}.pdm-file-list-item{display:flex;justify-content:space-between;align-items:center;padding:10px 18px;cursor:pointer;transition:background .15s}.pdm-file-list-item:hover{background:#f0f4ff}.pdm-file-list-name{font-size:13px;color:#334155;word-break:break-all}.pdm-file-list-name:before{content:"•";color:#94a3b8;margin-right:8px;font-size:16px}.pdm-file-list-size{font-size:12px;color:#94a3b8;white-space:nowrap;margin-left:12px}.project-form{max-width:1000px;margin:0 auto}.project-form .form{margin-top:0}.project-form .form-group label[for=project_code]:after,.project-form .form-group label[for=project_name]:after{content:" *";color:#dc3545;font-weight:700}.project-form .form-group input[name=project_code]{font-family:Courier New,Monaco,monospace;font-weight:600;text-transform:uppercase}.project-form .form-group input[name=budget]{font-family:Courier New,Monaco,monospace;text-align:right}.field-help{display:block;margin-top:4px;font-size:12px;color:#666;font-style:italic}.project-summary{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #dee2e6;border-radius:8px;padding:20px;margin-top:10px}.project-summary h4{color:#333;margin:0 0 16px;font-size:16px;font-weight:600;display:flex;align-items:center}.project-summary h4:before{content:"📊";margin-right:8px;font-size:18px}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#fff;border-radius:6px;border:1px solid #e9ecef}.summary-item .label{font-weight:500;color:#555;font-size:14px}.summary-item .value{font-weight:700;color:#333;font-size:14px}.project-form .form-group textarea{resize:vertical;min-height:100px;font-family:inherit}.project-form .form-group select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right 8px center;background-repeat:no-repeat;background-size:16px;padding-right:32px}.project-form .form-group input[type=date]{font-family:inherit}.project-form .form-group select[name=status]{font-weight:500}.project-form .form-group select[name=status][value=planning]{color:#06c}.project-form .form-group select[name=status][value=active]{color:#28a745}.project-form .form-group select[name=status][value=completed]{color:#6f42c1}.project-form .form-group select[name=status][value=cancelled]{color:#dc3545}.project-form .loading{display:flex;justify-content:center;align-items:center;min-height:200px;font-size:16px;color:#666}.project-form .error-message{background:linear-gradient(135deg,#f8d7da,#f5c6cb);border:1px solid #f5c6cb;color:#721c24;padding:16px;border-radius:8px;margin-bottom:24px;display:flex;align-items:center}.project-form .error-message:before{content:"⚠️";margin-right:8px;font-size:18px}.project-form .form-actions{background:#f8f9fa;margin:32px -30px -30px;padding:24px 30px;border-top:2px solid #e9ecef;border-radius:0 0 8px 8px}.project-form .btn{min-width:120px;font-weight:600;padding:12px 24px}.project-form .btn-primary{background:linear-gradient(135deg,#007bff,#0056b3);border:none;box-shadow:0 2px 4px #007bff4d}.project-form .btn-primary:hover{box-shadow:0 4px 8px #007bff66;transform:translateY(-1px)}.project-form .btn-secondary{background:linear-gradient(135deg,#6c757d,#545b62);border:none;color:#fff}.project-form .btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}@media (max-width: 768px){.project-form{margin:0 16px}.project-form .form{padding:20px}.summary-grid{grid-template-columns:1fr}.summary-item{flex-direction:column;align-items:flex-start;gap:4px}.project-form .form-actions{margin:24px -20px -20px;padding:20px}.project-form .form-actions{flex-direction:column;gap:12px}.project-form .btn{width:100%;min-width:unset}}@media (max-width: 480px){.project-summary{padding:16px}.project-summary h4{font-size:14px}.summary-item{padding:6px 10px}.summary-item .label,.summary-item .value{font-size:13px}}.project-regist-form{max-width:1200px;margin:0 auto;padding:20px;background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.page-header{margin-bottom:30px;border-bottom:2px solid #f5f5f5;padding-bottom:20px}.page-header h1{margin:0 0 10px;color:#2c3e50;font-size:28px;font-weight:600}.breadcrumb{font-size:14px;color:#7f8c8d}.breadcrumb-link{color:#3498db;cursor:pointer;text-decoration:none}.breadcrumb-link:hover{text-decoration:underline}.breadcrumb-separator{margin:0 8px;color:#bdc3c7}.breadcrumb-current{color:#2c3e50;font-weight:500}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.error-message{display:flex;align-items:flex-start;gap:12px;padding:16px;margin-bottom:24px;background-color:#fff5f5;border:1px solid #fed7d7;border-radius:6px;color:#c53030}.error-icon{font-size:18px;flex-shrink:0;margin-top:1px}.error-content{flex:1;line-height:1.5}.regist-form{display:flex;flex-direction:column;gap:32px}.form-table{border:2px solid #2c3e50;border-radius:8px;overflow:hidden;background-color:#fff}.form-row{display:flex;border-bottom:1px solid #e0e0e0;min-height:60px}.form-row:last-child{border-bottom:none}.form-label{background-color:#f8f9fa;border-right:1px solid #e0e0e0;padding:15px 20px;min-width:200px;max-width:200px;display:flex;align-items:center;font-weight:600;color:#2c3e50;font-size:14px;line-height:1.4}.form-label.required{position:relative}.form-label.required:after{content:"*";color:#e53e3e;font-weight:700;margin-left:4px}.form-content{flex:1;padding:15px 20px;display:flex;flex-direction:column;justify-content:center;gap:8px;background-color:#fff}.form-content.multi-line{align-items:stretch}.form-content.date-range{flex-direction:row;align-items:center;gap:12px;flex-wrap:wrap}.date-separator{font-weight:600;color:#6b7280;margin:0 4px}.form-content.date-range input[type=date]{flex:1;min-width:150px}input[type=text],input[type=date],select,textarea{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:4px;font-size:14px;font-family:inherit;transition:all .2s ease;background-color:#fff}input[type=text]:focus,input[type=date]:focus,select:focus,textarea:focus{outline:none;border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a}input[type=text]:disabled,input[type=date]:disabled,select:disabled,textarea:disabled{background-color:#f7fafc;color:#a0aec0;cursor:not-allowed}input.error,textarea.error{border-color:#e53e3e;background-color:#fff5f5}input.error:focus,textarea.error:focus{border-color:#e53e3e;box-shadow:0 0 0 3px #e53e3e1a}textarea{resize:vertical;line-height:1.5;min-height:80px}select{cursor:pointer;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 8px center;background-repeat:no-repeat;background-size:16px;padding-right:32px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.field-help{font-size:12px;color:#718096;margin-top:4px;line-height:1.4}.field-error{font-size:12px;color:#e53e3e;font-weight:500;margin-top:4px;display:flex;align-items:center;gap:4px}.field-error:before{content:"⚠";font-size:10px}.project-summary{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:20px;margin-top:20px}.project-summary h3{margin:0 0 16px;color:#2c3e50;font-size:18px;font-weight:600;border-bottom:2px solid #e9ecef;padding-bottom:8px}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #e9ecef}.summary-item:last-child{border-bottom:none}.summary-item .label{font-weight:600;color:#495057;min-width:100px}.summary-item .value{font-weight:500;color:#212529;text-align:right;flex:1}.form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:24px;border-top:1px solid #e2e8f0;margin-top:32px}.btn{padding:12px 24px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px;min-width:120px;justify-content:center}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-primary{background-color:#3182ce;color:#fff}.btn-primary:hover:not(:disabled){background-color:#2c5282;transform:translateY(-1px);box-shadow:0 4px 8px #3182ce4d}.btn-secondary{background-color:#718096;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#4a5568;transform:translateY(-1px)}.btn-outline{background-color:transparent;color:#4a5568;border:2px solid #e2e8f0}.btn-outline:hover:not(:disabled){background-color:#f7fafc;border-color:#cbd5e0;transform:translateY(-1px)}.spinner{width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.dev-info{margin-top:40px;padding:16px;background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;font-family:Courier New,monospace}.dev-info summary{cursor:pointer;font-weight:700;color:#6c757d;margin-bottom:8px}.dev-info pre{font-size:12px;background-color:#fff;padding:12px;border-radius:4px;overflow-x:auto;white-space:pre-wrap;word-wrap:break-word}.form-row:nth-child(1) .form-label{background-color:#e8f4fd;font-weight:700}.form-row:nth-child(2) .form-label{background-color:#fff2e8;font-weight:700}.form-row:nth-child(4) .form-label{background-color:#f0f9ff;font-weight:700}.form-row:nth-child(7) .form-content,.form-row:nth-child(8) .form-content,.form-row:nth-child(9) .form-content,.form-row:nth-child(10) .form-content,.form-row:nth-child(11) .form-content,.form-row:nth-child(12) .form-content{background-color:#fafbfc}.form-label.required{background-color:#fef7f0!important}textarea[name=project_scope]{min-height:120px}textarea[name=key_deliverables]{min-height:100px}textarea[name=stakeholders],textarea[name=risk_factors],textarea[name=success_criteria],textarea[name=memo]{min-height:80px}@media (max-width: 768px){.project-regist-form{margin:10px;padding:16px}.page-header h1{font-size:24px}.form-row{flex-direction:column;min-height:auto}.form-label{min-width:auto;max-width:none;border-right:none;border-bottom:1px solid #e0e0e0;padding:12px 16px 8px}.form-content{padding:8px 16px 16px}.form-content.date-range{flex-direction:column;align-items:stretch}.date-separator{display:none}.form-content.date-range input[type=date]{min-width:auto}.summary-grid{grid-template-columns:1fr}.summary-item{flex-direction:column;align-items:flex-start;gap:4px}.summary-item .value{text-align:left}.form-actions{flex-direction:column-reverse}.btn{width:100%;min-width:unset}.breadcrumb{font-size:12px}}@media (max-width: 480px){.project-regist-form{margin:5px;padding:12px}.page-header{margin-bottom:20px;padding-bottom:16px}.page-header h1{font-size:20px}.form-label{padding:10px 12px 6px;font-size:13px}.form-content{padding:6px 12px 14px}input[type=text],input[type=date],select,textarea{padding:8px 10px;font-size:16px}.btn{padding:14px 20px}.project-summary{padding:16px}.project-summary h3{font-size:16px}}.btn:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #3182ce;outline-offset:2px}input::placeholder,textarea::placeholder{color:#9ca3af;font-style:italic}@media print{.project-regist-form{box-shadow:none;border:1px solid #000}.form-actions,.dev-info,.breadcrumb{display:none}.error-message{border:1px solid #000;background-color:#f0f0f0}.form-table{border:2px solid #000}.form-row{border-bottom:1px solid #000;page-break-inside:avoid}.form-label{background-color:#f5f5f5!important;border-right:1px solid #000}.project-summary{border:1px solid #000;background-color:#f9f9f9;page-break-inside:avoid}textarea{min-height:60px}}.project-info-container{font-family:Malgun Gothic,맑은 고딕,sans-serif;max-width:1200px;margin:0 auto;padding:20px;background-color:#f9f9f9;position:relative}.project-auto-load-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#fffc;z-index:9999;display:flex;align-items:center;justify-content:center}.project-auto-load-spinner{width:36px;height:36px;border:3px solid #e2e5e9;border-top-color:#4a6cf7;border-radius:50%;animation:auto-load-spin .8s linear infinite}@keyframes auto-load-spin{to {transform: rotate(360deg);} min-height: 100vh;}.project-header{background-color:#fff;padding:20px;margin-bottom:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;align-items:center}.project-title{margin:0;font-size:24px;font-weight:700}.project-logo{font-size:18px;font-weight:700}.project-main{background-color:#fff;padding:20px;margin-bottom:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.project-title-section{text-align:center;margin-bottom:20px;padding:15px;background-color:#f8f9fa;border-radius:6px}.project-subtitle{margin:0;font-size:20px;font-weight:700}.project-writer{margin-top:10px}.project-section{margin-bottom:30px}.project-table{width:100%;border-collapse:collapse;border:1px solid #333}.contact-date-header{width:120px}.table-cell-input{padding:8px 12px;border:1px solid #ddd;vertical-align:middle}.project-info-container .progress-status-cell,.project-info-container .progress-status-cell .project-input{background-color:#edf9f1}.project-input.input-required{box-shadow:0 0 0 2px #ff6b6b inset}.basic-info-table{table-layout:fixed}.basic-info-table .col-label{width:10%}.basic-info-table .col-input{width:40%}.basic-info-table .table-cell-label{width:auto}.search-prefix{color:#007bff;font-weight:700;white-space:nowrap;margin-right:8px}.input-with-search{display:flex;align-items:center}.input-with-button{display:flex;gap:8px;align-items:center}.input-with-btn{flex:1}.profile-btn{padding:4px 12px;background-color:#007bff;color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer;white-space:nowrap;transition:background-color .3s}.profile-btn:hover{background-color:#0056b3}.profile-btn:focus{outline:none;box-shadow:0 0 0 2px #007bff40}.project-input,.project-textarea,.project-date-input{color:#333!important}.project-input{width:100%;border:none;outline:none;font-size:13px}.project-input[type=email]{background-color:#fff!important;border-color:#dcdcdc!important}.project-input:-webkit-autofill,.project-input:-webkit-autofill:hover,.project-input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px white inset!important;-webkit-text-fill-color:#333!important;background-color:#fff!important;border-color:transparent!important}.project-textarea{width:100%;border:none;outline:none;resize:vertical;font-size:13px;font-family:inherit}.project-date-input{width:100%;border:none;outline:none;font-size:13px}.new-info-row{background-color:#fafafa}.info-content-container{position:relative}.modal-content{background:#fff;border-radius:8px;width:90%;max-width:800px;max-height:80vh;overflow:hidden}.modal-content.search-modal{max-width:1430px;width:95%}.modal-body{padding:20px;max-height:60vh;overflow-y:auto}.pagination{display:flex;justify-content:center;align-items:center;gap:8px}.pagination button{padding:8px 12px;border:1px solid #ddd;background:#fff;cursor:pointer;border-radius:4px}.pagination button:disabled{opacity:.5;cursor:not-allowed}.pagination button:hover:not(:disabled){background:#f8f9fa}.page-info{margin:0 16px;font-weight:500}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;border-radius:8px;max-width:800px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 4px 6px #0000001a}.modal-header h3{margin:0;color:#333}.modal-header button{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.modal-header button:hover{color:#333;background-color:#f8f9fa;border-radius:4px}.modal-body{padding:20px}.search-input-container{margin-bottom:16px}.search-input-container input{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.search-input-container input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.search-results{max-height:400px;overflow-y:auto;border:1px solid #ddd;border-radius:4px}.select-btn{background-color:#007bff;color:#fff;border:none;padding:4px 12px;border-radius:4px;cursor:pointer;font-size:12px}.select-btn:hover{background-color:#0056b3}.input-with-inner-btn{width:100%;padding-right:90px}.status-badge{padding:4px 8px;border-radius:12px;font-size:11px;font-weight:500}.status-planning{background:#e3f2fd;color:#1976d2}.status-active{background:#e8f5e8;color:#2e7d32}.status-completed{background:#f3e5f5;color:#7b1fa2}.status-cancelled{background:#ffebee;color:#c62828}.writer-info-display{background-color:#f8f9fa;padding:12px;border-radius:6px;border:1px solid #e9ecef;margin-bottom:16px}.writer-info-display h4{margin:0 0 8px;color:#495057;font-size:14px}.writer-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;font-size:13px}.input-with-inner-btn{padding-right:80px}.writer-field-input.readonly-input{background-color:#f8f9fa;color:#6c757d}.writer-result-item{padding:8px 12px;border-bottom:1px solid #eee;cursor:pointer;display:flex;justify-content:space-between}.writer-result-item:hover{background-color:#f8f9fa}.inner-checklist-container{width:100%;margin-bottom:15px}.inner-checklist-table{width:100%;border-collapse:collapse;border:1px solid #333;font-size:12px;table-layout:fixed}.inner-table-header:nth-child(1){width:25%}.inner-table-header:nth-child(2){width:45%}.inner-table-header:nth-child(3){width:15%}.inner-table-header:nth-child(4){width:15%}.inner-table-cell:nth-child(1){width:25%}.inner-table-cell:nth-child(2){width:45%}.inner-table-cell:nth-child(3){width:15%}.inner-table-cell:nth-child(4){width:15%}.inner-table-header{background-color:#aae;color:#fff;padding:8px 12px;font-size:13px;font-weight:700;border:1px solid #77e;text-align:center}.inner-table-cell{padding:8px 12px;border:1px solid #aae;font-size:12px;vertical-align:middle}.inner-table-cell-label{background-color:#eef;text-align:center;font-weight:500}.inner-table-cell-content{padding:12px;line-height:1.4;text-align:left!important}.inner-table-cell-content .bullet-content{text-align:left;line-height:1.5}.inner-table-cell-weight{background-color:#dedeff;text-align:center;font-weight:700}.inner-table-cell-input{text-align:center}.inner-table-cell-merged{background-color:#ceceff;text-align:center;font-weight:700}.inner-table-cell-total{background-color:#fff3cd;text-align:center;font-weight:700;font-size:14px;color:#856404}.inner-table-cell-dash{background-color:#f8f9fa;text-align:center;color:#666}.inner-table-cell-grade{background-color:#f8f9fa;text-align:center;padding:8px}.writer-opinion-section{width:100%}.checklist-score-input{width:60px;border:1px solid #ddd;border-radius:4px;padding:4px 8px;text-align:center;font-size:12px;background-color:#fff;-moz-appearance:textfield}.checklist-score-input::-webkit-outer-spin-button,.checklist-score-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.checklist-score-input::placeholder{color:#999;font-style:italic}@media print{.project-info-container{background-color:#fff;padding:0;margin:0;max-width:none}.project-header,.project-main{box-shadow:none;border-radius:0}.button-section{display:none}.project-table{page-break-inside:avoid}.project-section{page-break-inside:avoid;margin-bottom:20px}}.writer-display{font-size:13px;color:#555;text-align:right;padding:10px 15px 0 0;height:42px;display:flex;justify-content:flex-end;align-items:center}.writer-display span:first-child{font-weight:700;margin-right:5px}.contact-section{width:100%}.contact-list{display:flex;flex-direction:column;gap:8px;margin-bottom:15px}.contact-item{padding:12px 16px;background-color:#f8f9fa;border-radius:6px;border:2px solid #e9ecef;font-size:13px;cursor:pointer;transition:all .2s ease}.contact-item:hover{background-color:#e9ecef;border-color:#007bff}.contact-item.selected{background-color:#e3f2fd;border-color:#007bff}.contact-info-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.contact-separator{color:#ddd}.contact-name{font-weight:600}.primary-badge{background-color:#007bff;color:#fff;padding:2px 6px;border-radius:10px;font-size:11px;margin-left:6px}.contact-position{color:#666}.contact-phone{color:#007bff}.no-contacts{color:#999;padding:16px;text-align:center;background-color:#f8f9fa;border-radius:4px;margin-bottom:15px}.add-contact-section{display:flex;justify-content:center;padding-top:12px;border-top:1px solid #e9ecef}.add-contact-btn{padding:10px 20px;background-color:#28a745;color:#fff;border:none;border-radius:5px;cursor:pointer}.add-contact-btn:disabled{background-color:#6c757d;cursor:not-allowed}.input-with-search .search-btn{flex-shrink:0}.selected-contact-btn{width:100%;padding:6px 10px;background-color:#e3f2fd;border:1px solid #007bff;color:#0056b3;border-radius:4px;text-align:left;font-weight:500;cursor:pointer;transition:background-color .2s}.selected-contact-btn:hover{background-color:#d1eaff}.detail-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.detail-section h4{margin-top:0;margin-bottom:12px;font-size:16px;border-left:3px solid #007bff;padding-left:8px;color:#333}.detail-section p{margin:6px 0;font-size:14px;line-height:1.5}.report-list{max-height:200px;overflow-y:auto;border:1px solid #f0f0f0;border-radius:4px;padding:10px}.contact-search-placeholder{display:flex;align-items:center;justify-content:center;min-height:35px}.selected-contact-container{display:flex;align-items:center;min-height:35px;padding:2px 0}.contact-badge{background:#e3f2fd;color:#1976d2;font-weight:500;border:1px solid #bde0fe;cursor:pointer;transition:background-color .2s;padding:6px 12px;font-size:13px}.contact-badge:hover{background-color:#d1eaff}/*!* 담당자 항목의 새 컨테이너 스타일 *!*/.modal-content.wide-modal{max-width:800px}.detail-section{margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #eee}.detail-section:last-child{border-bottom:none}.detail-section h4{margin-top:0;margin-bottom:12px;font-size:16px;border-left:3px solid #007bff;padding-left:8px}.detail-section p{margin:6px 0;font-size:14px}.report-list{max-height:200px;overflow-y:auto;border:1px solid #f0f0f0;padding:10px;border-radius:4px}.report-item{padding:8px 0;border-bottom:1px solid #f0f0f0;font-size:13px}.report-item:last-child{border-bottom:none}.company-badge{background:#d4edda;color:#155724;border:1px solid #c3e6cb;cursor:pointer;font-weight:500;padding:6px 12px;font-size:13px;transition:background-color .2s;border-radius:16px}.company-badge:hover{background-color:#c3e6cb}.search-btn:disabled{cursor:not-allowed;opacity:.5}.readonly-field,.project-input.readonly-field,.project-input:disabled,.project-input[readonly]{background-color:#f0f0f0!important;color:#999!important;-webkit-text-fill-color:#999!important;cursor:not-allowed}.badge-container{display:flex;align-items:center;gap:6px}.reset-badge-btn{background:#6c757d;color:#fff;border:none;border-radius:50%;width:20px;height:20px;font-size:14px;font-weight:700;line-height:20px;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.reset-badge-btn:hover{background-color:#dc3545}.company-badge.with-reset{display:flex;justify-content:space-between;align-items:center;width:auto;min-width:120px;padding:6px 8px 6px 12px}.badge-text{margin-right:8px}.badge-reset-icon{background:#0000001a;border-radius:50%;width:18px;height:18px;font-size:14px;font-weight:700;line-height:18px;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.badge-reset-icon:hover{background-color:#dc3545cc;color:#fff}.search-results-table{width:100%;border-collapse:collapse;table-layout:fixed;border:1px solid #ddd}.search-results-table th,.search-results-table td{padding:8px 12px;border-bottom:1px solid #eee;border-right:1px solid #eee;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-results-table th:last-child,.search-results-table td:last-child{border-right:none}.search-results-table .col-project{width:30%}.search-results-table .col-client{width:20%}.search-results-table .col-status{width:10%}.search-results-table .col-writer,.search-results-table .col-dept{width:12%}.search-results-table .col-created{width:10%}.search-results-table .col-select{width:6%}.search-results-table thead th{background-color:#f8f9fa;font-weight:600;text-align:center}.search-results-table td:nth-last-child(1){text-align:center}@media (max-width: 768px){.project-info-container{padding:10px}.project-header{flex-direction:column;text-align:center;gap:10px}.writer-form{flex-direction:column;gap:15px}.writer-field{justify-content:center}.writer-field-input{width:200px}.project-table{font-size:12px}.table-cell-label,.contact-date-cell{width:100px}.button-section{flex-direction:column;align-items:center}.submit-btn,.print-btn{width:200px}}.kickoff-checklist-container{font-family:Malgun Gothic,맑은 고딕,sans-serif;max-width:1200px;margin:0 auto;padding:20px;background-color:#f9f9f9;min-height:100vh}.checklist-table{width:100%;border-collapse:collapse;border:1px solid #333}.weight-header,.score-header{width:80px}.table-cell{padding:8px 12px;border:1px solid #ddd;font-size:13px;vertical-align:middle}.table-cell-label{background-color:#f8f9fa;width:120px;text-align:center;font-weight:500}.table-cell-content{padding:12px;line-height:1.4}.table-cell-weight{background-color:#f0f0f0;text-align:center;font-weight:700;width:80px}.table-cell-input{padding:8px 12px;border:1px solid #ddd;text-align:center}.table-cell-merged{background-color:#e9ecef;text-align:center;font-weight:700}.table-cell-total{background-color:#fff3cd;text-align:center;font-weight:700;font-size:16px;color:#856404}.table-cell-dash{background-color:#f8f9fa;text-align:center;color:#666}.table-cell-grade{background-color:#f8f9fa;text-align:center;padding:8px}.bullet-content{font-size:13px;line-height:1.5}.checklist-score-input{width:60px;border:1px solid #ddd;border-radius:4px;padding:4px 8px;text-align:center;font-size:14px}.checklist-score-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.total-row,.grade-row{background-color:#f8f9fa;font-weight:700}.grade-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-weight:700;font-size:16px;min-width:30px;text-align:center}.grade-a{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.grade-b{background-color:#fff3cd;color:#856404;border:1px solid #ffeaa7}.grade-c{background-color:#f8d7da;color:#721c24;border:1px solid #f1b0b7}.opinion-table{margin-top:15px}.opinion-label{width:150px}.checklist-textarea{width:100%;border:none;outline:none;resize:vertical;font-size:13px;font-family:inherit;padding:8px;border:1px solid #ddd;border-radius:4px}.checklist-textarea:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40}@media print{.kickoff-checklist-container{background-color:#fff;padding:0;margin:0;max-width:none}.checklist-header,.checklist-main{box-shadow:none;border-radius:0}.button-section{display:none}.checklist-table{page-break-inside:avoid}.checklist-section{page-break-inside:avoid;margin-bottom:20px}.grade-badge{border:1px solid #333!important}}@media (max-width: 768px){.kickoff-checklist-container{padding:10px}.checklist-header{flex-direction:column;text-align:center;gap:10px}.writer-form{flex-direction:column;gap:15px}.writer-field{justify-content:center}.writer-field-input{width:200px}.checklist-table{font-size:11px}.table-cell-label{width:80px}.weight-header,.score-header,.table-cell-weight{width:60px}.checklist-score-input{width:50px;font-size:12px}.bullet-content{font-size:11px}.opinion-label{width:100px}.button-section{flex-direction:column;align-items:center}.submit-btn,.print-btn{width:200px}.grade-badge{font-size:14px;padding:3px 10px}}.readonly-mode{background-color:#f8f9fa;border-radius:5px;padding:5px}.readonly-mode input[readOnly],.readonly-mode textarea[readOnly]{background-color:#e9ecef!important;color:#495057;cursor:not-allowed;border-color:#ced4da}.readonly-mode .section-header{color:#6c757d}.toggle-profile-btn.active{background-color:#0056b3}.toggle-profile-btn.inactive{background-color:#6c757d}.toggle-profile-btn.active:hover{background-color:#00408f}.toggle-profile-btn.inactive:hover{background-color:#5a6268}.scroll-up-wrapper{text-align:right;padding:10px}.scroll-up-btn{background-color:#e9ecef;color:#495057;border:1px solid #ced4da;width:40px;height:40px;border-radius:50%;font-size:20px;line-height:1;cursor:pointer;transition:background-color .2s,box-shadow .2s}.scroll-up-btn:hover{background-color:#dee2e6;box-shadow:0 2px 4px #0000001a}.modal-content{background:#fff;border-radius:8px;width:90%;max-width:800px;max-height:80vh;overflow:hidden;box-shadow:0 4px 20px #00000026}.modal-content.modal-content-wide{max-width:1100px!important}/*!* ProjectKickoff.css *!*//*!* 메인 컨테이너 *!*//*!* 헤더 *!*//*!* 메인 착수서 섹션 *!*//*!* 착수서 타이틀 영역 *!*//*!* 섹션 *!*//*!* 섹션 헤더 *!*//*!* 테이블 스타일 *!*//*!* 테이블 헤더 *!*//*!* 테이블 셀 *!*//*!* 입력 필드 *!*//*!* 입력 필드 안에 버튼이 있는 컨테이너 *!*//*!* 날짜 입력 필드 *!*//*!* bullet point가 자동으로 추가되는 텍스트 영역 *!*//*!* 부가 정보 섹션 *!*//*!* 컨택 리포트 특별 스타일 *!*//*!* 토글 애니메이션 효과 *!*//*!* 파일 업로드 섹션 *!*//*!* 반응형 파일 업로드 *!*//*!* 테이블 액션 버튼 섹션 *!*//*!* 버튼 섹션 *!*//*!* 파일 업로드 관련 추가 CSS - ProjectKickoff.css에 추가 *!*//*!* 파일 섹션 헤더 *!*//*!* 파일 업로드 컴포넌트 *!*//*!* 빈 상태 메시지 *!*//*!* 파일 리스트 *!*//*!* 업로드 액션 버튼 *!*//*!* 업로드된 파일 목록 *!*//*!* 파일 요약 섹션 *!*//*!* 업로드된 파일과 대기 중 파일 구분 *!*//*!* 파일 다운로드 링크 *!*//*!* 읽기전용 배지 *!*//*!* 파일 타입 배지 *!*//*!* 업로드 진행 상태 *!*//*!* RFP 첨부 버튼 비활성화 상태 *!*//*!* 파일 삭제 버튼 스타일 개선 *!*//*!* 파일 목록 스크롤 *!*//*!* 업로드 날짜 스타일 *!*//*!* 인쇄 스타일 *!*//*!* 반응형 디자인 *!*//*!* 특별한 텍스트 스타일 *!*//*!* 텍스트 영역 플레이스홀더 스타일 *!*//*!* 포커스 상태 *!*//*!* 프로젝트 경험 배지 *!*//*!* 추가 스타일링 *!*//*!* 멀티라인 라벨을 위한 특별 스타일 *!*//*!* ProjectKickoff.css에 추가할 스타일 *!*//*!* 섹션 헤더의 상하 마진 완전 제거 *!*//*!* kickoff-table의 상단 마진도 제거 *!*//*!* 토글 영역 내부의 섹션 헤더와 테이블 간격 제거 *!*//*!* kickoff-section 내부의 헤더와 테이블 사이 간격 제거 *!*//*!* h3 태그 자체의 기본 마진 제거 *!*//*!* 로컬 파일 (업로드 대기중) *!*//*!* 서버 파일 (업로드 완료) *!*//*!* 파일 상태 배지 *!*//*!* 업로드 안내 메시지 *!*/.project-kickoff-container{font-family:Malgun Gothic,맑은 고딕,sans-serif;max-width:1200px;margin:0 auto;padding:20px;background-color:#f9f9f9;min-height:100vh}.kickoff-header{background-color:#fff;padding:20px;margin-bottom:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;align-items:center}.kickoff-title{margin:0;font-size:24px;font-weight:700}.kickoff-logo{font-size:18px;font-weight:700}.kickoff-main{background-color:#fff;padding:20px;margin-bottom:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.kickoff-title-section{text-align:center;margin-bottom:20px;padding:15px;background-color:#f8f9fa;border-radius:6px}.kickoff-subtitle{margin:0;font-size:20px;font-weight:700}.kickoff-section{margin-bottom:30px}.section-header{background-color:#f8f9fa;color:#333;padding:8px 12px;margin:0!important;font-size:14px;font-weight:700}.kickoff-table{width:100%;border-collapse:collapse;border:1px solid #333;margin-top:0!important}.kickoff-input,.kickoff-textarea{color:#333!important;font-size:13px;width:100%;border:none;outline:none}.kickoff-textarea{resize:vertical;font-family:inherit}.kickoff-input::placeholder,.kickoff-textarea::placeholder{color:#999;font-style:italic}.kickoff-textarea::placeholder{line-height:1.4}.kickoff-input:focus,.kickoff-textarea:focus{background-color:#fff!important;outline:none;border:none}.file-upload-section{margin:20px 0;padding:0 10px}.file-drop-zone{border:2px dashed #ddd;border-radius:8px;padding:20px;min-height:200px;max-height:400px;overflow-y:auto;background-color:#fafafa;cursor:pointer;transition:all .3s ease;position:relative}.file-drop-zone:hover{border-color:#007bff;background-color:#f0f8ff}.file-drop-zone.drag-over{border-color:#007bff;background-color:#e3f2fd;transform:scale(1.02)}.file-drop-zone.has-files{max-height:400px;overflow-y:auto}.drop-zone-message{display:flex;flex-direction:column;align-items:center;justify-content:center;height:160px;text-align:center}.drop-zone-icon{font-size:48px;margin-bottom:16px;opacity:.6}.drop-zone-text p{margin:4px 0;color:#666}.drop-zone-hint{font-size:12px;color:#999}.file-list{display:flex;flex-direction:column;gap:12px}.file-item{display:flex;justify-content:space-between;align-items:flex-start;padding:12px;background-color:#fff;border:1px solid #e0e0e0;border-radius:6px;transition:box-shadow .2s ease}.file-item:hover{box-shadow:0 2px 8px #0000001a}.file-info{flex:1;display:flex;flex-direction:column;gap:4px}.file-name{font-weight:700;font-size:14px;color:#333;word-break:break-all}.file-details{display:flex;gap:16px;font-size:12px;color:#666;flex-wrap:wrap}.file-size{font-weight:500}.file-date{font-size:11px;color:#999}.file-item.local-file{background-color:#fff9e6;border-left:4px solid #ffc107}.file-item.server-file{background-color:#f0f8ff;border-left:4px solid #28a745}.file-status{margin-left:8px;padding:2px 8px;border-radius:3px;font-size:11px;font-weight:600}.file-status.pending{background-color:#ffc107;color:#856404}.file-status.uploaded{background-color:#28a745;color:#fff}.file-remove-btn{background:none;border:none;color:#dc3545;font-size:16px;cursor:pointer;padding:4px;border-radius:4px;transition:background-color .2s ease;flex-shrink:0}.file-remove-btn:hover{background-color:#f8d7da}.drop-zone-add-more{display:flex;align-items:center;justify-content:center;padding:12px;border:1px dashed #007bff;border-radius:6px;background-color:#f8f9ff;color:#007bff;font-size:13px;cursor:pointer;transition:all .2s ease}.drop-zone-add-more:hover{background-color:#e3f2fd;border-color:#0056b3}.upload-progress{display:flex;align-items:center;justify-content:center;gap:10px;padding:15px;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;margin-top:10px;color:#495057;font-size:14px}.upload-spinner{animation:spin 1s linear infinite}.upload-info{margin-top:10px;padding:12px;background-color:#e3f2fd;border:1px solid #90caf9;border-radius:4px;color:#1565c0;font-size:14px;text-align:center}.table-action-section{display:flex;justify-content:flex-end;margin:15px 0;padding:0 10px}.submit-btn{padding:10px 30px;font-size:16px;font-weight:700;border:none;border-radius:5px;cursor:pointer;transition:background-color .3s;background-color:#007bff;color:#fff}@media print{.project-kickoff-container{background-color:#fff;padding:0;margin:0;max-width:none}.kickoff-header,.kickoff-main{box-shadow:none;border-radius:0}.button-section{display:none}.kickoff-table,.kickoff-section{page-break-inside:avoid}.kickoff-section{margin-bottom:20px}}@media (max-width: 768px){.project-kickoff-container{padding:10px}.kickoff-header{flex-direction:column;text-align:center;gap:10px}.writer-form{flex-direction:column;gap:15px}.kickoff-table{font-size:12px}.table-cell-label{width:100px;font-size:11px}.kickoff-input,.kickoff-textarea{font-size:12px}.textarea-small{height:35px}.textarea-medium{height:50px}.textarea-large{height:70px}.textarea-xlarge{height:90px}.button-section{flex-direction:column;align-items:center}.submit-btn{width:200px}.drop-zone-icon{font-size:36px}.drop-zone-message{height:120px}}.pt-postmortem-container{font-family:Malgun Gothic,맑은 고딕,sans-serif;max-width:1200px;margin:0 auto;padding:20px;background-color:#f9f9f9;min-height:100vh}.table-cell-label{background-color:#f8f9fa;padding:8px 12px;font-size:13px;font-weight:700;width:150px;text-align:center;line-height:1.3}.table-action-section{display:flex;justify-content:flex-end;gap:10px;margin:15px 0;padding:0 10px}.toggle-profile-btn{padding:8px 20px;background-color:#007bff;color:#fff;border:none;border-radius:5px;font-size:14px;font-weight:700;cursor:pointer;transition:background-color .3s;white-space:nowrap}@media print{.pt-postmortem-container{background-color:#fff;padding:0;margin:0;max-width:none}.postmortem-header,.table-action-section,.button-section{display:none}.postmortem-main{padding:0;box-shadow:none;background-color:#fff}.postmortem-table{border:2px solid #000}.table-header,.table-cell{border:1px solid #000}.section-header{background-color:#f0f0f0!important;-webkit-print-color-adjust:exact}.table-cell-label{background-color:#f8f8f8!important;-webkit-print-color-adjust:exact}}@media (max-width: 768px){.pt-postmortem-container{padding:10px}.postmortem-header{flex-direction:column;gap:10px;text-align:center}.writer-form{flex-direction:column;gap:15px}.writer-field{justify-content:center}.table-action-section{flex-direction:column;gap:10px}.toggle-profile-btn{width:100%}.button-section{flex-direction:column;gap:10px}.submit-btn,.print-btn{width:100%}.postmortem-table{font-size:12px}.table-cell-label{width:120px;padding:6px 8px}.postmortem-input,.postmortem-textarea{font-size:12px}}@media (max-width: 576px){.postmortem-section{overflow-x:auto}.postmortem-table{min-width:600px}}.project-postmortem-container{font-family:Malgun Gothic,맑은 고딕,sans-serif;max-width:1200px;margin:0 auto;padding:20px;background-color:#f9f9f9;min-height:100vh}.postmortem-header{background-color:#fff;padding:20px;margin-bottom:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;align-items:center}.postmortem-title{margin:0;font-size:24px;font-weight:700}.postmortem-logo{font-size:18px;font-weight:700}.postmortem-main{background-color:#fff;padding:20px;margin-bottom:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.postmortem-title-section{text-align:center;margin-bottom:20px;padding:15px;background-color:#f8f9fa;border-radius:6px}.postmortem-subtitle{margin:0;font-size:20px;font-weight:700}.postmortem-writer{margin-top:10px}.postmortem-section{margin-bottom:30px}.section-header-margin{margin-top:15px}.table-header-empty{background-color:#333;width:15%}.postmortem-table{width:100%;border-collapse:collapse;border:1px solid #333}.postmortem-table-customized{width:100%;border-collapse:collapse;border:1px solid #333;table-layout:fixed}.postmortem-table .dropdown-cell{width:50px!important}.table-cell{border:1px solid #333;vertical-align:top}.table-cell-label{background-color:#f8f9fa;padding:8px 12px;font-size:13px;font-weight:700;width:80px;text-align:center;line-height:1.3}.table-cell-input{padding:4px;background-color:#fff}.table-cell-rowspan{vertical-align:middle;text-align:center;font-weight:700;background-color:#f0f0f0;width:100px}.dropdown-cell{width:20px}.add-button-cell,.input-with-button{position:relative}.postmortem-select{width:100%;padding:6px 8px;border:1px solid #ddd;border-radius:4px;font-size:13px;background-color:#fff;color:#333}.postmortem-select:focus{outline:none;border-color:#007bff}.add-row-btn{position:absolute;top:5px;right:5px;background-color:#28a745;color:#fff;border:none;padding:4px 8px;border-radius:4px;font-size:12px;cursor:pointer;font-weight:500;z-index:1}.add-row-btn:hover{background-color:#218838}.add-row-btn:disabled{background-color:#6c757d;cursor:not-allowed}.postmortem-input{width:100%;border:none;outline:none;font-size:13px;padding:4px;background-color:#fff!important;color:#333!important}.postmortem-input:focus{background-color:#fff!important;color:#333!important}.postmortem-textarea{width:100%;border:none;outline:none;resize:vertical;font-size:13px;padding:4px;line-height:1.4;background-color:#fff!important;color:#333!important}.postmortem-textarea:focus{background-color:#fff!important;color:#333!important}.textarea-small{height:30px;min-height:30px}.textarea-medium{height:60px;min-height:60px}.textarea-large{height:100px;min-height:100px}.postmortem-date-input{width:100%;border:none;outline:none;font-size:13px}.table-action-section{display:flex;justify-content:flex-end;gap:10px;margin:15px 0;padding:0 10px;flex-wrap:wrap}.toggle-profile-btn{padding:8px 20px;background-color:#007bff;color:#fff;border:none;border-radius:5px;font-size:14px;font-weight:700;cursor:pointer;transition:background-color .3s;white-space:nowrap;min-width:140px}.toggle-profile-btn:hover{background-color:#0056b3}.profile-tables-container{transition:all 1s ease-in-out;overflow:hidden}.profile-tables-enter{opacity:0;max-height:0;transform:translateY(-20px)}.profile-tables-enter-active,.profile-tables-exit{opacity:1;max-height:2000px;transform:translateY(0)}.profile-tables-exit-active{opacity:0;max-height:0;transform:translateY(-20px)}.postmortem-section .dropdown-cell{width:50px}@media print{.project-postmortem-container{background-color:#fff;padding:0;margin:0;max-width:none}.postmortem-header,.table-action-section,.button-section{display:none}.postmortem-main{padding:0;box-shadow:none;background-color:#fff}.postmortem-table{border:2px solid #000}.table-header,.table-cell{border:1px solid #000}.section-header{background-color:#f0f0f0!important;-webkit-print-color-adjust:exact}.table-cell-label{background-color:#f8f8f8!important;-webkit-print-color-adjust:exact}}@media (max-width: 1024px){.table-action-section{justify-content:center}}@media (max-width: 768px){.project-postmortem-container{padding:10px}.postmortem-header{flex-direction:column;gap:10px;text-align:center}.writer-form{flex-direction:column;gap:15px}.writer-field{justify-content:center}.table-action-section{flex-direction:column;gap:10px;align-items:center}.toggle-profile-btn{width:200px;min-width:auto}.button-section{flex-direction:column;gap:10px}.submit-btn,.print-btn{width:100%}.postmortem-table{font-size:12px}.table-cell-label{width:120px;padding:6px 8px}.postmortem-input,.postmortem-textarea{font-size:12px}}@media (max-width: 576px){.postmortem-section{overflow-x:auto}.postmortem-table{min-width:600px}.table-action-section{padding:0 5px}.toggle-profile-btn{font-size:12px;padding:6px 15px;width:180px}}.contribution-container{max-width:1200px;margin:0 auto;padding:20px}.contribution-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.contribution-header h2{margin:0;font-size:18px;font-weight:700}.year-selector{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-bottom:16px}.year-selector label{font-weight:700;font-size:14px;color:#333}.year-selector select{width:110px;padding:6px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.contribution-table{width:100%;border-collapse:collapse;margin-bottom:12px;font-size:14px}.contribution-table th{background-color:#f0f4f8;padding:10px 8px;text-align:center;font-weight:700;border:1px solid #ddd;font-size:13px;color:#333}.contribution-table td{padding:6px 8px;border:1px solid #ddd;text-align:center;vertical-align:middle}.contribution-table select,.contribution-table input[type=number]{width:100%;padding:6px 8px;border:1px solid #ddd;border-radius:4px;font-size:13px;box-sizing:border-box}.contribution-table input[type=number]{text-align:right}.primary-star{cursor:pointer;font-size:18px;color:#ccc;transition:color .2s;background:none;border:none;padding:4px}.primary-star.active,.primary-star:hover{color:#f5a623}.delete-row-btn{background:none;border:none;cursor:pointer;font-size:16px;color:#999;padding:4px 8px;border-radius:4px;transition:all .2s}.delete-row-btn:hover{color:#dc3545;background-color:#fff5f5}.contribution-add-row-btn{width:100%;padding:10px;background-color:#f8f9fa;border:1px dashed #ccc;border-radius:4px;cursor:pointer;font-size:14px;color:#666;transition:all .2s;margin-bottom:16px}.contribution-add-row-btn:hover{background-color:#e9ecef;border-color:#999;color:#333}.quarter-summary{display:flex;flex-wrap:wrap;gap:12px;padding:12px 16px;background-color:#f8f9fa;border-radius:4px;margin-bottom:20px;font-size:13px}.quarter-summary-item{display:flex;align-items:center;gap:4px}.quarter-summary-item.valid{color:#28a745}.quarter-summary-item.invalid{color:#dc3545;font-weight:700}.quarter-summary-item.empty{color:#999}.contribution-actions{display:flex;justify-content:center;gap:12px;margin-top:20px}.contribution-save-btn{padding:12px 40px;background-color:#007bff;color:#fff;border:none;border-radius:4px;font-size:16px;font-weight:700;cursor:pointer;transition:background-color .2s}.contribution-save-btn:hover{background-color:#0056b3}.contribution-save-btn:disabled{background-color:#ccc;cursor:not-allowed}.contribution-empty-msg{text-align:center;padding:40px;color:#999;font-size:14px}.mismatch-section{background-color:#fff8e1;border:1px solid #ffcc02;border-radius:8px;margin-bottom:20px;overflow:hidden}.mismatch-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;cursor:pointer;font-weight:700;font-size:14px;color:#856404;-webkit-user-select:none;user-select:none}.mismatch-header:hover{background-color:#fff3cd}.mismatch-table{width:100%;border-collapse:collapse;font-size:13px}.mismatch-table th{background-color:#fff3cd;padding:8px 12px;text-align:center;font-weight:700;border-top:1px solid #ffcc02;border-bottom:1px solid #ffcc02;color:#856404}.mismatch-table td{padding:8px 12px;text-align:center;border-bottom:1px solid #f0e6c0}.mismatch-table tbody tr:hover{background-color:#fff9e6}.mismatch-check-btn{padding:4px 12px;background-color:#ffc107;color:#333;border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:700;transition:background-color .2s}.mismatch-check-btn:hover{background-color:#e0a800}.contribution-section{background-color:#fff;padding:20px;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-top:20px}.contribution-section .section-header{font-size:16px;font-weight:700;color:#333;margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid #007bff}.pt-checklist-container{font-family:Malgun Gothic,맑은 고딕,sans-serif;max-width:1200px;margin:0 auto;padding:20px;background-color:#f9f9f9;min-height:100vh}.checklist-header{background-color:#fff;padding:20px;margin-bottom:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;align-items:center}.checklist-title{margin:0;font-size:24px;font-weight:700}.checklist-logo{font-size:18px;font-weight:700}.checklist-main{background-color:#fff;padding:20px;margin-bottom:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.checklist-title-section{text-align:center;margin-bottom:20px;padding:15px;background-color:#f8f9fa;border-radius:6px}.checklist-subtitle{margin:0;font-size:20px;font-weight:700}.checklist-writer{margin-top:10px}.checklist-section{margin-bottom:30px}.checklist-table{width:100%;border-collapse:collapse;border:1px solid #333;margin-top:0}.checklist-item-cell{padding:12px}.checklist-item{display:flex;flex-direction:column;gap:8px}.checklist-label{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.4;font-weight:500;cursor:pointer;color:#333}.checklist-checkbox{margin:0;flex-shrink:0;width:16px;height:16px;cursor:pointer;accent-color:#007bff}.checklist-checkbox:checked{background-color:#007bff}.checklist-input{width:100%;border:none;outline:none;font-size:13px;color:#333!important}.checklist-input:focus{background-color:#fff!important;color:#333!important}.checklist-textarea{width:100%;border:1px solid #ddd;border-radius:4px;padding:6px 8px;font-size:13px;font-family:inherit;color:#333!important;line-height:1.4;resize:vertical;min-height:40px;background-color:#fafafa}.checklist-textarea:focus{background-color:#fff!important;color:#333!important;outline:2px solid #007bff;outline-offset:-2px;border-color:#007bff}.checklist-textarea::placeholder{color:#999;font-style:italic}.checklist-actions{display:flex;justify-content:center;gap:15px;margin-top:30px;padding-top:20px;border-top:1px solid #eee}@media print{.pt-checklist-container{background-color:#fff;box-shadow:none;padding:0}.checklist-header,.checklist-main{box-shadow:none;border-radius:0}.checklist-actions{display:none}.checklist-textarea{background-color:#fff!important;border:1px solid #ddd}}.checklist-input:-webkit-autofill,.checklist-input:-webkit-autofill:hover,.checklist-input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px white inset!important;-webkit-text-fill-color:#333!important;background-color:#fff!important;border-color:transparent!important}.checklist-textarea:-webkit-autofill,.checklist-textarea:-webkit-autofill:hover,.checklist-textarea:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px white inset!important;-webkit-text-fill-color:#333!important;background-color:#fff!important}.checklist-checkbox{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:16px;height:16px;border:2px solid #007bff;border-radius:3px;background-color:#fff;position:relative;cursor:pointer}.checklist-checkbox:checked{background-color:#007bff;border-color:#007bff}.checklist-checkbox:checked:after{content:"✓";position:absolute;top:-2px;left:1px;color:#fff;font-size:12px;font-weight:700}.checklist-checkbox:hover{border-color:#0056b3}.checklist-checkbox:focus{outline:2px solid #007bff;outline-offset:2px}.checklist-checkbox:checked+.checklist-label{color:#007bff}.checklist-label{-webkit-user-select:none;user-select:none;transition:color .2s ease}.checklist-label:hover{color:#007bff}.checklist-label br{line-height:1.6}@media (max-width: 768px){.pt-checklist-container{padding:10px}.writer-form{flex-direction:column;gap:15px}.checklist-table{font-size:12px}.table-cell{padding:6px 8px}.checklist-item-cell{padding:8px}.checklist-label{font-size:12px}.checklist-textarea{min-height:35px;font-size:12px}.table-cell-rowspan{writing-mode:vertical-rl;text-orientation:mixed;width:60px}}.checklist-item.completed{background-color:#f8f9fa;border-left:4px solid #28a745;padding-left:12px}.checklist-textarea{transition:border-color .2s ease,box-shadow .2s ease}.checklist-textarea:focus{box-shadow:0 0 0 3px #007bff1a}.checklist-checkbox:focus-visible{outline:2px solid #007bff;outline-offset:2px}.checklist-label:focus-within{background-color:#007bff0d;border-radius:4px;padding:2px}.checklist-label{align-items:flex-start;margin-top:2px}.checklist-checkbox{margin-top:2px}.checklist-table tbody tr{border-bottom:1px solid #eee}.checklist-table tbody tr:last-child{border-bottom:none}.checklist-textarea::-webkit-scrollbar{width:8px}.checklist-textarea::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.checklist-textarea::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.checklist-textarea::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.loading{display:flex;flex-direction:column;align-items:center;gap:12px}.spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #007bff;border-radius:50%;animation:spin 1s linear infinite}.project-profile-container{font-family:Malgun Gothic,맑은 고딕,sans-serif;max-width:1200px;margin:0 auto;padding:20px;background-color:#f9f9fa;min-height:100vh}.profile-header{background-color:#fff;padding:20px;margin-bottom:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;align-items:center}.profile-title{margin:0;font-size:24px;font-weight:700}.profile-logo{font-size:18px;font-weight:700}.profile-main{background-color:#fff;padding:20px;margin-bottom:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.profile-title-section{text-align:center;margin-bottom:20px;padding:15px;background-color:#f8f9fa;border-radius:6px}.profile-subtitle{margin:0;font-size:20px;font-weight:700}.profile-writer{margin-top:10px}.writer-form{display:flex;justify-content:center;gap:30px;flex-wrap:wrap}.writer-field-label{font-size:14px;font-weight:700;min-width:80px}.profile-section{margin-bottom:30px}.section-header-margin{margin-top:20px}.profile-table{width:100%;border-collapse:collapse;border:1px solid #333}.section-table{margin-top:15px}.table-header-category{width:120px}.table-header-empty{background-color:#333}.table-cell-label{background-color:#f8f9fa;width:120px;text-align:center;vertical-align:middle;font-weight:500;line-height:1.3}.blue-highlight-label{color:#00f;font-weight:900;text-shadow:1px 1px 1px rgba(0,0,0,.3)}.table-cell-rowspan{vertical-align:middle;text-align:center;font-weight:700;background-color:#f0f0f0}.table-cell-top{vertical-align:middle}.table-cell-input{padding:8px 12px;border:1px solid #ddd}.input-container{position:relative;display:flex;align-items:center}.input-with-inner-btn{width:100%;padding-right:120px}.inner-profile-btn{position:absolute;right:4px;top:50%;transform:translateY(-50%);padding:3px 8px;background-color:#007bff;color:#fff;border:none;border-radius:3px;font-size:11px;cursor:pointer;white-space:nowrap;transition:background-color .3s;z-index:1}.inner-profile-btn:hover{background-color:#0056b3}.inner-profile-btn:focus{outline:none;box-shadow:0 0 0 2px #007bff40}.profile-input,.profile-textarea,.profile-date-input{color:#333!important}.profile-input{width:100%;border:none;outline:none;font-size:13px}.profile-input[type=email]{background-color:#fff!important;border-color:#dcdcdc!important}.profile-input:-webkit-autofill,.profile-input:-webkit-autofill:hover,.profile-input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px white inset!important;-webkit-text-fill-color:#333!important;background-color:#fff!important;border-color:transparent!important}.profile-textarea{width:100%;border:none;outline:none;resize:vertical;font-size:13px;font-family:inherit}.textarea-small{height:40px}.textarea-medium{height:60px}.textarea-large{height:80px}.textarea-xlarge{height:100px}.bullet-textarea{line-height:1.4}.profile-date-input{width:100%;border:none;outline:none;font-size:13px}.additional-info{margin-bottom:10px}.info-label{font-size:12px;margin-bottom:5px;font-weight:700}.info-textarea{width:100%;height:40px;border:1px solid #ddd;resize:vertical;font-size:13px;padding:4px;background-color:#fff!important;color:#333!important}.info-textarea:focus{background-color:#fff!important;color:#333!important;outline:none}.contact-date-cell{width:120px;text-align:center;vertical-align:middle}.contact-date{font-weight:700;color:#333}.contact-content{line-height:1.4;white-space:pre-line}.new-report-row{background-color:#fafafa}.new-report-container{position:relative}.button-section{display:flex;justify-content:center;gap:20px;margin-top:30px;padding-top:20px;border-top:1px solid #ddd}.submit-btn,.print-btn{padding:10px 30px;font-size:16px;font-weight:700;border:none;border-radius:5px;cursor:pointer;transition:background-color .3s}.submit-btn{background-color:#007bff;color:#fff}.submit-btn:hover{background-color:#0056b3}.print-btn{background-color:#28a745;color:#fff}.print-btn:hover{background-color:#218838}@media print{.project-profile-container{background-color:#fff;padding:0;margin:0;max-width:none}.profile-header,.profile-main{box-shadow:none;border-radius:0}.button-section{display:none}.profile-table{page-break-inside:avoid}.profile-section{page-break-inside:avoid;margin-bottom:20px}}@media (max-width: 768px){.project-profile-container{padding:10px}.profile-header{flex-direction:column;text-align:center;gap:10px}.writer-form{flex-direction:column;gap:15px}.writer-field{justify-content:center}.writer-field-input{width:200px}.profile-table{font-size:12px}.table-cell-label{width:100px;font-size:11px;font-weight:700;color:#00f}.profile-input,.profile-textarea{font-size:12px}.textarea-small{height:35px}.textarea-medium{height:50px}.textarea-large{height:70px}.textarea-xlarge{height:90px}.button-section{flex-direction:column;align-items:center}.submit-btn,.print-btn{width:200px}}.multi-line-label{line-height:1.2;font-size:12px}.profile-textarea::placeholder{color:#999;font-style:italic;line-height:1.4}.profile-input:focus,.profile-textarea:focus{background-color:#fff!important;outline:none;border:none}.writer-field-input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.project-profile-container .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.project-profile-container .modal-content{background:#fff;border-radius:8px;width:90%;max-width:800px!important;max-height:80vh;overflow:hidden;box-shadow:0 4px 20px #00000026}.project-profile-container .modal-content.modal-content-wide{max-width:1100px!important}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #eee;background-color:#f8f9fa}.modal-header h3{margin:0;font-size:18px;font-weight:700}.modal-close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:#6c757d}.modal-close-btn:hover{color:#495057}.modal-body{padding:20px;overflow-y:auto;max-height:calc(80vh - 140px)}.search-input-container{margin-bottom:15px}.search-input{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px}.search-input:focus{outline:none;border-color:#007bff}.search-table{width:100%;border-collapse:collapse}.search-table th,.search-table td{padding:10px;text-align:left;border-bottom:1px solid #eee}.search-table th{background-color:#f8f9fa;font-weight:700;font-size:14px}.search-table tbody tr{cursor:pointer;transition:background-color .2s}.search-table tbody tr:hover{background-color:#f0f0f0}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 20px;border-top:1px solid #eee;background-color:#f8f9fa}.modal-btn{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s}.modal-btn-primary{background-color:#007bff;color:#fff}.modal-btn-primary:hover{background-color:#0056b3}.modal-btn-secondary{background-color:#6c757d;color:#fff}.modal-btn-secondary:hover{background-color:#545b62}._noticeManagementContainer_13sxl_3{max-width:1400px;margin:0 auto;padding:24px;display:flex;flex-direction:column;gap:24px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;position:relative}._noticeHeader_13sxl_15{display:flex;justify-content:space-between;align-items:flex-end;padding-bottom:16px;border-bottom:1px solid #e5e7eb}._noticeHeaderTitle_13sxl_23 h1{font-size:24px;font-weight:700;color:#111827;margin:0}._noticeBreadcrumb_13sxl_30{margin:4px 0 0;color:#6b7280;font-size:14px}._noticeAuthorInfo_13sxl_36{color:#6b7280;font-size:14px;font-weight:500}._editorLayout_13sxl_43{display:flex;gap:32px;align-items:flex-start;flex-wrap:wrap}@media (max-width: 1200px){._editorLayout_13sxl_43{flex-direction:column}._simulatedModal_13sxl_54{width:100%!important;max-width:700px!important;margin:0 auto}._controlPanel_13sxl_59{width:100%}}._simulatedModal_13sxl_54{width:700px;flex:none;max-width:100%;background:#fff;border-radius:12px;box-shadow:0 8px 32px #00000026;border:1px solid #e5e7eb;display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .3s ease}._simulatedModal_13sxl_54:focus-within{box-shadow:0 12px 40px #00000040;border-color:#3b82f6}._simulatedHeader_13sxl_84{padding:20px 24px;border-bottom:2px solid #f0f0f0;background-color:#fff;display:flex;justify-content:space-between;align-items:center}._simulatedHeaderTitle_13sxl_93{margin:0;font-size:18px;font-weight:700;color:#333}._simulatedBody_13sxl_100{padding:20px 24px;background-color:#fff;display:flex;flex-direction:column;gap:16px;min-height:300px}._simulatedNoticeItem_13sxl_110{padding:16px;border-left:4px solid #1890ff;background-color:#f8f9fa;border-radius:4px;display:flex;flex-direction:column;gap:12px}._simulatedTitleRow_13sxl_121{display:flex;align-items:center;gap:8px}._simulatedEmoji_13sxl_127{font-size:20px;line-height:1}._invisibleInput_13sxl_133{width:100%;border:1px dashed transparent;background:transparent;font-size:18px;font-weight:600;color:#333;padding:4px;border-radius:4px;outline:none;transition:all .2s}._invisibleInput_13sxl_133:hover{border-color:#d1d5db}._invisibleInput_13sxl_133:focus{background-color:#fff;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}._invisibleTextarea_13sxl_156{width:100%;border:1px dashed transparent;background:transparent;font-size:15px;line-height:1.6;color:#666;padding:4px;border-radius:4px;outline:none;resize:none;min-height:150px;font-family:inherit;transition:all .2s}._invisibleTextarea_13sxl_156:hover{border-color:#d1d5db}._invisibleTextarea_13sxl_156:focus{background-color:#fff;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}._simulatedMeta_13sxl_182{font-size:13px;color:#999;display:flex;align-items:center;gap:8px}._controlPanel_13sxl_59{flex:1;background:#fff;padding:24px;border-radius:12px;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000d;display:flex;flex-direction:column;gap:24px;height:fit-content}._controlSectionTitle_13sxl_204{font-size:16px;font-weight:600;color:#111827;margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid #f3f4f6}._noticeFormGroup_13sxl_214{display:flex;flex-direction:column;gap:6px}._noticeFormLabel_13sxl_220{font-size:14px;font-weight:500;color:#374151}._noticeInput_13sxl_226,._noticeSelect_13sxl_227{padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;transition:border-color .2s}._noticeInput_13sxl_226:focus,._noticeSelect_13sxl_227:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}._noticeCheckboxWrapper_13sxl_242{display:flex;align-items:center;gap:8px;padding:12px;background-color:#f9fafb;border-radius:6px;border:1px solid #f3f4f6}._noticeCheckboxLabel_13sxl_252{font-size:14px;color:#374151;font-weight:500;cursor:pointer;-webkit-user-select:none;user-select:none}._noticeFormActions_13sxl_260{display:flex;gap:12px;margin-top:auto}._btn_13sxl_266{padding:12px 20px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;border:none;transition:all .2s;flex:1}._btnPrimary_13sxl_277{background-color:#2563eb;color:#fff;box-shadow:0 4px 6px -1px #2563eb33}._btnPrimary_13sxl_277:hover{background-color:#1d4ed8;transform:translateY(-1px)}._btnSecondary_13sxl_288{background-color:#f3f4f6;color:#374151}._btnSecondary_13sxl_288:hover{background-color:#e5e7eb}._formErrorMessage_13sxl_297{color:#dc2626;font-size:14px;margin-top:12px;padding:10px;background-color:#fef2f2;border-radius:6px;border:1px solid #fee2e2}._noticeListCard_13sxl_308{background:#fff;border-radius:12px;box-shadow:0 4px 6px -1px #0000000d;border:1px solid #e5e7eb;overflow:hidden;position:relative;min-height:200px}._noticeListHeader_13sxl_318{padding:20px 24px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}._noticeListTitle_13sxl_326{font-size:18px;font-weight:600;color:#111827;margin:0}._noticeTableContainer_13sxl_333{overflow-x:auto}._noticeTable_13sxl_333{width:100%;border-collapse:collapse;font-size:14px}._noticeTable_13sxl_333 th{background-color:#f9fafb;color:#4b5563;font-weight:600;text-align:left;padding:12px 24px;border-bottom:1px solid #e5e7eb;white-space:nowrap}._thSelect_13sxl_354{padding:4px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:13px;margin-left:8px;color:#374151;background-color:#fff;cursor:pointer;width:100px}._thCheckboxWrapper_13sxl_366{display:inline-flex;align-items:center;gap:6px;margin-left:8px;font-weight:500;color:#374151;cursor:pointer}._noticeTable_13sxl_333 td{padding:16px 24px;border-bottom:1px solid #f3f4f6;color:#374151;vertical-align:middle}._noticeTable_13sxl_333 tr:last-child td{border-bottom:none}._noticeTable_13sxl_333 tr:hover td{background-color:#f9fafb}._selectedRow_13sxl_391{background-color:#e0f2fe!important;border-left:4px solid #2563eb}._statusBadge_13sxl_396{display:inline-flex;align-items:center;padding:4px 10px;border-radius:9999px;font-size:12px;font-weight:500}._statusActive_13sxl_405{background-color:#e0f2fe;color:#0369a1}._statusInactive_13sxl_410{background-color:#f3f4f6;color:#4b5563}._statusExpired_13sxl_415{background-color:#e5e5e5;color:#333}._actionButtons_13sxl_420{display:flex;gap:8px}._btnSm_13sxl_425{padding:6px 12px;font-size:12px;border-radius:4px;border:none;cursor:pointer;transition:background-color .2s}._btnEdit_13sxl_434{background-color:#eff6ff;color:#1d4ed8}._btnEdit_13sxl_434:hover{background-color:#dbeafe}._btnDelete_13sxl_440{background-color:#fef2f2;color:#dc2626}._btnDelete_13sxl_440:hover{background-color:#fee2e2}._btnPreview_13sxl_446{background-color:#fffbeb;color:#b45309;border:1px solid #fcd34d}._btnPreview_13sxl_446:hover{background-color:#fef3c7}._emptyState_13sxl_453{text-align:center;padding:48px 0;color:#6b7280}._loadingOverlay_13sxl_460{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#ffffffb3;display:flex;justify-content:center;align-items:center;z-index:50;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);border-radius:12px}._spinner_13sxl_475{width:40px;height:40px;border:4px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:_spin_13sxl_475 .8s linear infinite}@keyframes _spin_13sxl_475{to{transform:rotate(360deg)}}._paginationContainer_13sxl_489{display:flex;justify-content:center;align-items:center;padding:20px;gap:12px;border-top:1px solid #e5e7eb;background-color:#fff;border-bottom-left-radius:12px;border-bottom-right-radius:12px}._pageInfo_13sxl_501{font-size:14px;font-weight:500;color:#4b5563}._previewModalOverlay_13sxl_508{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}._previewModalContent_13sxl_522{background:#fff;width:90%;max-width:600px;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;display:flex;flex-direction:column;max-height:85vh;animation:_modalSlideIn_13sxl_1 .3s ease-out}._previewModalHeader_13sxl_534{padding:20px 24px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}._previewCloseBtn_13sxl_542{background:transparent;border:none;font-size:24px;color:#9ca3af;cursor:pointer;padding:0;line-height:1}._previewCloseBtn_13sxl_542:hover{color:#4b5563}._previewModalBody_13sxl_554{padding:24px;overflow-y:auto;line-height:1.6}._previewNoticeMeta_13sxl_560{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #f3f4f6;font-size:14px;color:#6b7280}._previewNoticeContent_13sxl_571{white-space:pre-wrap;color:#374151}@keyframes _modalSlideIn_13sxl_1{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.react-datepicker-wrapper{display:inline-block;padding:0;border:0}.react-datepicker{font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;background-color:#fff;color:#000;border:1px solid #aeaeae;border-radius:.3rem;display:inline-block;position:relative;line-height:initial}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker-popper{z-index:1;line-height:0}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker__header{text-align:center;background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select){border-top-right-radius:.3rem}.react-datepicker__year-dropdown-container--select,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--scroll{display:inline-block;margin:0 15px}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header{margin-top:0;color:#000;font-weight:700;font-size:.944rem}h2.react-datepicker__current-month{padding:0;margin:0}.react-datepicker-time__header{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.react-datepicker__navigation{align-items:center;background:none;display:flex;justify-content:center;text-align:center;cursor:pointer;position:absolute;top:2px;padding:0;border:none;z-index:1;height:32px;width:32px;text-indent:-999em;overflow:hidden}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{position:relative;top:0;display:block;margin-left:auto;margin-right:auto}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover *:before{border-color:#a6a6a6}.react-datepicker__navigation-icon{position:relative;top:-1px;font-size:20px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{transform:rotate(45deg);left:-7px}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{transform:rotate(225deg);right:-7px}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.4rem;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;width:4rem;margin:2px}.react-datepicker__month{margin:.4rem;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;width:4rem;margin:2px}.react-datepicker__input-time-container{clear:both;width:100%;float:left;margin:5px 0 10px 15px;text-align:left}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{margin-left:5px;display:inline-block}.react-datepicker__time-container{float:right;border-left:1px solid #aeaeae;width:85px}.react-datepicker__time-container--with-today-button{display:inline;border:1px solid #aeaeae;border-radius:.3rem;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{position:relative;background:#fff;border-bottom-right-radius:.3rem}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{width:85px;overflow-x:hidden;margin:0 auto;text-align:center;border-bottom-right-radius:.3rem}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{list-style:none;margin:0;height:calc(195px + .85rem);overflow-y:scroll;padding-right:0;padding-left:0;width:100%;box-sizing:content-box}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{cursor:pointer;background-color:#f0f0f0}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{cursor:default;background-color:transparent}.react-datepicker__week-number{color:#ccc;display:inline-block;width:1.7rem;line-height:1.7rem;text-align:center;margin:.166rem}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__week-number--selected{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{text-align:center;white-space:nowrap;margin-bottom:-8px}.react-datepicker__week{white-space:nowrap}.react-datepicker__day-name,.react-datepicker__day,.react-datepicker__time-name{color:#000;display:inline-block;width:1.7rem;line-height:1.7rem;text-align:center;margin:.166rem}.react-datepicker__day-name--disabled,.react-datepicker__day--disabled,.react-datepicker__time-name--disabled{cursor:default;color:#ccc}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{border-radius:.3rem;background-color:#3dcc4a;color:#fff}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{position:relative;border-radius:.3rem;background-color:#ff6803;color:#fff}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{visibility:visible;opacity:1}.react-datepicker__day--selected,.react-datepicker__day--in-selecting-range,.react-datepicker__day--in-range,.react-datepicker__month-text--selected,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--selected,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--selected,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--in-range{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{border-radius:.3rem;background-color:#bad9f1;color:#000}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{cursor:default;color:#ccc}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{position:absolute;bottom:70%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__input-container{position:relative;display:inline-block;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{position:absolute;padding:.5rem;box-sizing:content-box}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__year-read-view,.react-datepicker__month-read-view,.react-datepicker__month-year-read-view{border:1px solid transparent;border-radius:.3rem;position:relative}.react-datepicker__year-read-view:hover,.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover{cursor:pointer}.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{transform:rotate(135deg);right:-16px;top:0}.react-datepicker__year-dropdown,.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown{background-color:#f0f0f0;position:absolute;width:50%;left:25%;top:30px;z-index:1;text-align:center;border-radius:.3rem;border:1px solid #aeaeae}.react-datepicker__year-dropdown:hover,.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover{cursor:pointer}.react-datepicker__year-dropdown--scrollable,.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__year-option,.react-datepicker__month-option,.react-datepicker__month-year-option{line-height:20px;width:100%;display:block;margin-left:auto;margin-right:auto}.react-datepicker__year-option:first-of-type,.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__year-option:last-of-type,.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker__year-option:hover,.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover{background-color:#ccc}.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__year-option--selected,.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected{position:absolute;left:15px}.react-datepicker__close-icon{cursor:pointer;background-color:transparent;border:0;outline:0;padding:0 6px 0 0;position:absolute;top:0;right:0;height:100%;display:table-cell;vertical-align:middle}.react-datepicker__close-icon:after{cursor:pointer;background-color:#216ba5;color:#fff;border-radius:50%;height:16px;width:16px;padding:2px;font-size:12px;line-height:1;text-align:center;display:table-cell;vertical-align:middle;content:"×"}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{cursor:default;background-color:#ccc}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;cursor:pointer;text-align:center;font-weight:700;padding:5px 0;clear:left}.react-datepicker__portal{position:fixed;width:100vw;height:100vh;background-color:#000c;left:0;top:0;justify-content:center;align-items:center;display:flex;z-index:2147483647}.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__time-name{width:3rem;line-height:3rem}@media (max-width: 400px),(max-height: 550px){.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__time-name{width:2rem;line-height:2rem}}.react-datepicker__portal .react-datepicker__current-month,.react-datepicker__portal .react-datepicker-time__header{font-size:1.44rem}.react-datepicker__children-container{width:13.8rem;margin:.4rem;padding-right:.2rem;padding-left:.2rem;height:auto}.react-datepicker__aria-live{position:absolute;clip-path:circle(0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;width:1px;white-space:nowrap}.react-datepicker__calendar-icon{width:1em;height:1em;vertical-align:-.125em}.log-viewer-page{max-width:1400px;margin:0 auto;padding:24px}.log-viewer-page .log-tabs{display:flex;gap:8px;margin-bottom:24px;border-bottom:2px solid #e5e7eb;padding-bottom:0}.log-viewer-page .log-tabs .tab-btn{padding:12px 24px;border:none;background:transparent;color:#6b7280;font-size:1rem;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s ease}.log-viewer-page .log-tabs .tab-btn:hover{color:#374151}.log-viewer-page .log-tabs .tab-btn.active{color:#3b82f6;border-bottom-color:#3b82f6}.log-viewer-page .log-filters{margin-bottom:24px}.log-viewer-page .filter-row{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end}.log-viewer-page .filter-group{display:flex;flex-direction:column;gap:6px;min-width:150px}.log-viewer-page .filter-group label{font-size:.85rem;font-weight:500;color:#374151}.log-viewer-page .filter-group select,.log-viewer-page .filter-group input,.log-viewer-page .filter-group .react-datepicker-wrapper{width:100%}.log-viewer-page .filter-group select,.log-viewer-page .filter-group input{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;background:#fff}.log-viewer-page .filter-group select:focus,.log-viewer-page .filter-group input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.log-viewer-page .filter-actions{display:flex;align-items:flex-end}.log-viewer-page .error-message{background:#fef2f2;color:#dc2626;padding:12px 16px;border-radius:8px;margin-bottom:24px;border:1px solid #fecaca}.log-viewer-page .stats-content{display:flex;flex-direction:column;gap:24px}.log-viewer-page .summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.log-viewer-page .summary-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;text-align:center}.log-viewer-page .summary-value{font-size:2rem;font-weight:700;color:#1f2937;margin-bottom:8px}.log-viewer-page .summary-label{font-size:.9rem;color:#6b7280}.log-viewer-page .chart-card{min-height:300px}.log-viewer-page .chart-row{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.log-viewer-page .chart-card.half{min-height:280px}.log-viewer-page .data-table .empty-row{text-align:center;color:#9ca3af;padding:24px}.log-viewer-page .top-contributors{display:flex;flex-direction:column;gap:12px}.log-viewer-page .contributor-item{display:flex;align-items:center;padding:12px;background:#f9fafb;border-radius:8px}.log-viewer-page .contributor-item .rank{font-weight:700;color:#3b82f6;width:40px}.log-viewer-page .contributor-item .name{flex:1;font-weight:500;color:#374151}.log-viewer-page .contributor-item .count{font-weight:600;color:#10b981}@media (max-width: 768px){.log-viewer-page{padding:16px}.log-viewer-page .chart-row{grid-template-columns:1fr}.log-viewer-page .filter-row{flex-direction:column}.log-viewer-page .filter-group{width:100%}.log-viewer-page .log-tabs .tab-btn{padding:10px 16px;font-size:.9rem}.log-viewer-page .summary-cards{grid-template-columns:1fr}}@media (prefers-color-scheme: dark){.log-viewer-page .log-tabs{border-bottom-color:#374151}.log-viewer-page .log-tabs .tab-btn{color:#9ca3af}.log-viewer-page .log-tabs .tab-btn:hover{color:#d1d5db}.log-viewer-page .log-tabs .tab-btn.active{color:#60a5fa;border-bottom-color:#60a5fa}.log-viewer-page .summary-card{background:#1f2937}.log-viewer-page .summary-value{color:#f3f4f6}.log-viewer-page .summary-label{color:#9ca3af}.log-viewer-page .filter-group label{color:#d1d5db}.log-viewer-page .filter-group select,.log-viewer-page .filter-group input{background:#374151;border-color:#4b5563;color:#f3f4f6}.log-viewer-page .error-message{background:#450a0a;border-color:#7f1d1d;color:#fca5a5}.log-viewer-page .contributor-item{background:#374151}.log-viewer-page .contributor-item .name{color:#f3f4f6}}.bx-lecture-feedback{max-width:1400px;margin:0 auto;padding:24px}.bx-lecture-feedback .page-header{margin-bottom:24px}.bx-lecture-feedback .page-header h1{font-size:1.75rem;font-weight:600;color:#1f2937;margin:0 0 8px}.bx-lecture-feedback .page-description{color:#6b7280;margin:0;font-size:.95rem}.bx-lecture-feedback .tab-navigation{display:flex;gap:4px;background:#f3f4f6;padding:4px;border-radius:12px;margin-bottom:24px;overflow-x:auto}.bx-lecture-feedback .tab-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;border:none;background:transparent;border-radius:8px;font-size:.95rem;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s ease;white-space:nowrap}.bx-lecture-feedback .tab-btn:hover{background:#ffffff80;color:#374151}.bx-lecture-feedback .tab-btn.active{background:#fff;color:#3b82f6;box-shadow:0 1px 3px #0000001a}.bx-lecture-feedback .tab-icon{font-size:1.1rem}.bx-lecture-feedback .tab-content{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:24px}.bx-lecture-feedback .tab-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.bx-lecture-feedback .tab-title h2{font-size:1.25rem;font-weight:600;color:#1f2937;margin:0 0 4px}.bx-lecture-feedback .tab-title p{font-size:.9rem;color:#6b7280;margin:0}.bx-lecture-feedback .btn{padding:10px 20px;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;background:#e5e7eb;color:#374151}.bx-lecture-feedback .btn-primary{background:#3b82f6;color:#fff}.bx-lecture-feedback .btn-primary:hover{background:#2563eb}.bx-lecture-feedback .btn-secondary{background:#6b7280;color:#fff}.bx-lecture-feedback .btn-secondary:hover{background:#4b5563}.bx-lecture-feedback .btn-outline{background:transparent;color:#6b7280;border:1px solid #d1d5db}.bx-lecture-feedback .btn-outline:hover{background:#f3f4f6;color:#374151}.bx-lecture-feedback .btn-sm{padding:6px 12px;font-size:.85rem}.bx-lecture-feedback .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 24px;color:#6b7280}.bx-lecture-feedback .empty-state.small{padding:24px}.bx-lecture-feedback .empty-icon{font-size:64px;margin-bottom:16px}.bx-lecture-feedback .empty-state h3{font-size:1.25rem;font-weight:600;color:#374151;margin:0 0 8px}.bx-lecture-feedback .empty-state p{margin:0 0 20px;font-size:.95rem}.materials-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.material-card{display:flex;flex-direction:column;padding:20px;background:#f9fafb;border-radius:12px;border:1px solid #e5e7eb;transition:all .2s ease}.material-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f61a}.material-icon{font-size:48px;margin-bottom:12px}.material-info h4{font-size:1.1rem;font-weight:600;color:#1f2937;margin:0 0 8px}.material-meta{font-size:.85rem;color:#6b7280;margin:0 0 12px}.material-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.bx-lecture-feedback .tag{padding:4px 10px;background:#e0e7ff;color:#4338ca;border-radius:20px;font-size:.75rem;font-weight:500}.material-actions{display:flex;gap:8px;margin-top:auto}.sessions-table-wrapper{overflow-x:auto}.sessions-table{width:100%;border-collapse:collapse}.sessions-table th,.sessions-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #e5e7eb}.sessions-table th{background:#f9fafb;font-weight:600;color:#374151;font-size:.85rem}.sessions-table td{color:#4b5563;font-size:.9rem}.sessions-table tbody tr:hover{background:#f9fafb}.audio-info{color:#059669;font-size:.85rem}.no-audio{color:#9ca3af;font-size:.85rem}.bx-lecture-feedback .status-badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:500}.bx-lecture-feedback .status-pending{background:#fef3c7;color:#d97706}.bx-lecture-feedback .status-analyzing{background:#dbeafe;color:#2563eb}.bx-lecture-feedback .status-completed{background:#d1fae5;color:#059669}.bx-lecture-feedback .status-failed{background:#fee2e2;color:#dc2626}.bx-lecture-feedback .grade-badge{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;font-size:.9rem;font-weight:700}.bx-lecture-feedback .grade-a{background:#d1fae5;color:#059669}.bx-lecture-feedback .grade-b{background:#dbeafe;color:#2563eb}.bx-lecture-feedback .grade-c{background:#fef3c7;color:#d97706}.bx-lecture-feedback .grade-d{background:#fed7aa;color:#ea580c}.bx-lecture-feedback .grade-f{background:#fee2e2;color:#dc2626}.bx-lecture-feedback .score-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 10px;border-radius:8px;font-size:.85rem;font-weight:700;min-width:44px}.score-high{background:#d1fae5;color:#059669}.score-mid{background:#dbeafe;color:#2563eb}.score-low{background:#fee2e2;color:#dc2626}.overall-score-display{width:90px;height:90px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:2.2rem;font-weight:700;flex-shrink:0}.overall-score-display .score-unit{font-size:1rem;font-weight:400;margin-left:2px}.weight-hint{font-size:.75rem;font-weight:400;color:#9ca3af;margin-left:4px}.score-legend{display:flex;flex-direction:column;gap:10px;margin-top:12px}.score-legend-item{display:flex;align-items:center;gap:12px;font-size:.9rem}.instructors-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.instructor-card{display:flex;flex-direction:column;padding:20px;background:#f9fafb;border-radius:12px;border:1px solid #e5e7eb;transition:all .2s ease}.instructor-card:hover{border-color:#3b82f6}.instructor-avatar{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:600;margin-bottom:12px}.instructor-info h4{font-size:1.1rem;font-weight:600;color:#1f2937;margin:0 0 4px}.instructor-dept{font-size:.85rem;color:#6b7280;margin:0 0 12px}.instructor-specialties{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.specialty-tag{padding:4px 10px;background:#fef3c7;color:#d97706;border-radius:20px;font-size:.75rem;font-weight:500}.instructor-stats{display:flex;gap:24px;padding:12px 0;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;margin-bottom:16px}.bx-lecture-feedback .stat{display:flex;flex-direction:column;align-items:center}.bx-lecture-feedback .stat-value{font-size:1.25rem;font-weight:700;color:#1f2937}.bx-lecture-feedback .stat-label{font-size:.75rem;color:#6b7280}.instructor-actions{display:flex;gap:8px;margin-top:auto}.analysis-layout{display:grid;grid-template-columns:280px 1fr;gap:24px;min-height:500px}.analysis-sidebar{background:#f9fafb;border-radius:12px;padding:16px}.analysis-sidebar h3{font-size:.95rem;font-weight:600;color:#374151;margin:0 0 16px}.session-list{display:flex;flex-direction:column;gap:8px}.analysis-main{min-height:400px}.analysis-result{display:flex;flex-direction:column;gap:24px}.result-header{display:flex;align-items:center;gap:20px;padding:20px;background:#f9fafb;border-radius:12px}.overall-grade{width:80px;height:80px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:2.5rem;font-weight:700}.result-summary h3{font-size:1.25rem;font-weight:600;color:#1f2937;margin:0 0 4px}.result-summary p{font-size:.9rem;color:#6b7280;margin:0}.scores-section h4,.swot-section h4,.feedback-section h4,.suggestions-section h4,.meta-feedback-section h4{font-size:1.1rem;font-weight:600;color:#1f2937;margin:0 0 16px}.scores-grid{display:flex;flex-direction:column;gap:12px}.score-item{display:grid;grid-template-columns:120px 1fr 60px;align-items:center;gap:12px}.score-label{font-size:.9rem;color:#4b5563}.score-bar{height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.score-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:4px;transition:width .5s ease}.score-value{font-size:.9rem;font-weight:600;color:#1f2937;text-align:right}.swot-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.swot-item{padding:16px;border-radius:12px}.swot-item h5{font-size:.95rem;font-weight:600;margin:0 0 12px}.swot-item ul{margin:0;padding-left:20px}.swot-item li{font-size:.9rem;margin-bottom:6px}.swot-item.strengths{background:#d1fae5;color:#065f46}.swot-item.weaknesses{background:#fee2e2;color:#991b1b}.swot-item.opportunities{background:#dbeafe;color:#1e40af}.swot-item.threats{background:#fef3c7;color:#92400e}.feedback-content{padding:16px;background:#f9fafb;border-radius:12px;font-size:.95rem;line-height:1.6;color:#374151}.suggestions-list{margin:0;padding-left:20px}.suggestions-list li{font-size:.95rem;color:#374151;margin-bottom:8px;line-height:1.5}.page-analyses-list{display:flex;flex-direction:column;gap:12px}.page-analysis-card{padding:16px;background:#f9fafb;border-radius:12px;border:1px solid #e5e7eb}.page-analysis-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.page-number{font-size:.95rem;font-weight:700;color:#3b82f6}.page-score{font-size:.9rem;font-weight:600;padding:2px 10px;border-radius:12px}.page-score.high{background:#d1fae5;color:#065f46}.page-score.mid{background:#fef3c7;color:#92400e}.page-score.low{background:#fee2e2;color:#991b1b}.page-summary{font-size:.9rem;color:#6b7280;margin:0 0 12px;line-height:1.5;padding-bottom:10px;border-bottom:1px solid #e5e7eb}.page-feedback{display:flex;flex-direction:column;gap:8px}.page-strengths,.page-improvements{font-size:.9rem;line-height:1.5}.page-strengths .label,.page-improvements .label{font-weight:600;font-size:.85rem;margin-right:6px}.page-strengths p,.page-improvements p{margin:4px 0 0;color:#374151}.meta-feedback-section{padding:20px;background:#f0f9ff;border-radius:12px;border:1px solid #bae6fd}.meta-feedback-desc{font-size:.9rem;color:#0369a1;margin:0 0 12px}.meta-feedback-section textarea{width:100%;padding:12px;border:1px solid #bae6fd;border-radius:8px;font-size:.9rem;resize:vertical;margin-bottom:12px}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;margin-bottom:24px}.settings-card{padding:20px;background:#f9fafb;border-radius:12px;border:1px solid #e5e7eb}.settings-card.full-width{grid-column:1 / -1}.settings-card h3{font-size:1.1rem;font-weight:600;color:#1f2937;margin:0 0 8px}.settings-desc{font-size:.85rem;color:#6b7280;margin:0 0 16px}.weight-settings{display:flex;flex-direction:column;gap:12px}.weight-item{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:12px;border:1px solid #e5e7eb;border-radius:8px;background:transparent}.weight-item label{font-size:.9rem;color:#374151}.weight-item-input{padding:6px 10px;border-radius:6px;border:1px solid #d1d5db!important;font-size:.9rem;color:#1f2937!important;background-color:transparent!important;outline:none;transition:border-color .2s;font-family:inherit;line-height:1.4}textarea.weight-item-input{min-height:0;height:auto;overflow:hidden}.weight-item-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}.weight-item-input::placeholder{color:#9ca3af}.weight-item input[type=range]{accent-color:#3b82f6}.weight-item span{font-size:.9rem;font-weight:600;color:#3b82f6;text-align:right}.weight-item-add-form{padding:12px;background:#f0f4ff;border-radius:8px;margin-bottom:12px;display:flex;flex-direction:column;gap:8px}.grade-settings{display:flex;flex-direction:column;gap:12px}.grade-item{display:flex;align-items:center;gap:12px}.grade-item input[type=number]{width:70px;padding:8px;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;text-align:center}.grade-item span:last-child{font-size:.9rem;color:#6b7280}.grade-label{font-size:.9rem;color:#6b7280}.analysis-settings{display:flex;flex-direction:column;gap:12px}.setting-item label{display:flex;align-items:center;gap:8px;font-size:.9rem;color:#374151;cursor:pointer}.setting-item input[type=checkbox]{width:18px;height:18px;accent-color:#3b82f6}.feedback-history{min-height:100px}.settings-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid #e5e7eb}.bx-lecture-feedback *,.bx-lecture-feedback *:before,.bx-lecture-feedback *:after{box-sizing:border-box}.bx-lecture-feedback .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1100;padding:20px}.bx-lecture-feedback .modal-content{background:#fff;border-radius:16px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #0003}.bx-lecture-feedback .modal-content.modal-large{max-width:700px}.bx-lecture-feedback .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb;background:transparent}.bx-lecture-feedback .modal-header h3{font-size:1.25rem;font-weight:600;color:#111827;margin:0}.bx-lecture-feedback .modal-close{width:32px;height:32px;border:none;background:#f3f4f6;border-radius:8px;font-size:1.25rem;color:#6b7280;cursor:pointer;transition:all .2s ease}.bx-lecture-feedback .modal-close:hover{background:#e5e7eb;color:#374151}.bx-lecture-feedback .modal-body{padding:24px}.bx-lecture-feedback .modal-footer{display:flex;justify-content:center;gap:12px;padding:16px 24px;border-top:1px solid #e5e7eb;background:transparent;border-radius:0 0 16px 16px}.bx-lecture-feedback .form-group{margin-bottom:20px}.bx-lecture-feedback .form-group:last-child{margin-bottom:0}.bx-lecture-feedback .form-group label{display:block;font-size:.9rem;font-weight:500;color:#374151;margin-bottom:8px}.bx-lecture-feedback .form-group input[type=text],.bx-lecture-feedback .form-group input[type=number],.bx-lecture-feedback .form-group select,.bx-lecture-feedback .form-group textarea{width:100%;padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:.95rem;transition:border-color .2s ease}.bx-lecture-feedback .form-group input:focus,.bx-lecture-feedback .form-group select:focus,.bx-lecture-feedback .form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.bx-lecture-feedback .form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.bx-lecture-feedback .upload-zone,.bx-lecture-feedback .audio-upload-zone{padding:40px;border:2px dashed #475569;border-radius:12px;text-align:center;cursor:pointer;transition:all .2s ease;margin-bottom:20px}.bx-lecture-feedback .upload-zone:hover,.bx-lecture-feedback .audio-upload-zone:hover{border-color:#3b82f6;background:#3b82f614}.bx-lecture-feedback .upload-zone.dragging,.bx-lecture-feedback .audio-upload-zone.dragging{border-color:#2563eb;background:#2563eb26}.bx-lecture-feedback .tab-content.drag-active{outline:2px dashed #3b82f6;outline-offset:-4px;background:#f0f9ff;border-radius:8px}.bx-lecture-feedback .upload-icon{font-size:48px;margin-bottom:12px}.bx-lecture-feedback .upload-zone p,.bx-lecture-feedback .audio-upload-zone p{font-size:.95rem;color:#e2e8f0;margin:0 0 8px}.bx-lecture-feedback .upload-filename{color:#60a5fa!important;font-weight:700;font-size:1rem;word-break:break-all}.bx-lecture-feedback .upload-hint{font-size:.85rem;color:#9ca3af}@media (max-width: 1024px){.analysis-layout{grid-template-columns:1fr}.analysis-sidebar{order:2}}@media (max-width: 768px){.bx-lecture-feedback{padding:16px}.bx-lecture-feedback .page-header h1{font-size:1.5rem}.bx-lecture-feedback .tab-navigation{overflow-x:auto;-webkit-overflow-scrolling:touch}.bx-lecture-feedback .tab-btn{padding:10px 16px}.bx-lecture-feedback .tab-label{display:none}.bx-lecture-feedback .tab-icon{font-size:1.25rem}.bx-lecture-feedback .tab-header{flex-direction:column;gap:16px}.bx-lecture-feedback .swot-grid{grid-template-columns:1fr}.bx-lecture-feedback .score-item{grid-template-columns:1fr;gap:4px}.bx-lecture-feedback .form-row{grid-template-columns:1fr}.bx-lecture-feedback .modal-content{max-height:80vh}}@media (prefers-color-scheme: dark){.bx-lecture-feedback .page-header h1{color:#f3f4f6}.bx-lecture-feedback .page-description{color:#9ca3af}.bx-lecture-feedback .tab-navigation{background:#1f2937}.bx-lecture-feedback .tab-btn{color:#9ca3af}.bx-lecture-feedback .tab-btn:hover{background:#ffffff1a;color:#f3f4f6}.bx-lecture-feedback .tab-btn.active{background:#374151;color:#60a5fa}.bx-lecture-feedback .tab-content{background:#1f2937}.bx-lecture-feedback .tab-title h2{color:#f3f4f6}.bx-lecture-feedback .tab-header{border-color:#374151}.bx-lecture-feedback .empty-state h3{color:#f3f4f6}.bx-lecture-feedback .material-card,.bx-lecture-feedback .instructor-card,.bx-lecture-feedback .settings-card{background:#111827;border-color:#374151}.bx-lecture-feedback .material-info h4,.bx-lecture-feedback .instructor-info h4,.bx-lecture-feedback .settings-card h3{color:#f3f4f6}.bx-lecture-feedback .sessions-table th{background:#111827;color:#f3f4f6}.bx-lecture-feedback .sessions-table td{color:#d1d5db;border-color:#374151}.bx-lecture-feedback .sessions-table tbody tr:hover{background:#374151}.bx-lecture-feedback .modal-content{background:#1f2937}.bx-lecture-feedback .modal-header{border-color:#374151}.bx-lecture-feedback .modal-header h3{color:#f3f4f6}.bx-lecture-feedback .modal-footer{background:#111827;border-color:#374151}.bx-lecture-feedback .form-group label{color:#d1d5db}.bx-lecture-feedback .form-group input,.bx-lecture-feedback .form-group select,.bx-lecture-feedback .form-group textarea{background:#111827;border-color:#374151;color:#f3f4f6}.bx-lecture-feedback .result-header{background:#111827}.bx-lecture-feedback .result-summary h3{color:#f3f4f6}.bx-lecture-feedback .result-summary p{color:#9ca3af}.bx-lecture-feedback .scores-section h4,.bx-lecture-feedback .swot-section h4,.bx-lecture-feedback .feedback-section h4,.bx-lecture-feedback .suggestions-section h4,.bx-lecture-feedback .meta-feedback-section h4{color:#f3f4f6}.bx-lecture-feedback .score-label{color:#d1d5db}.bx-lecture-feedback .score-value{color:#f3f4f6}.bx-lecture-feedback .score-bar{background:#374151}.bx-lecture-feedback .swot-item.strengths{background:#064e3b;color:#a7f3d0}.bx-lecture-feedback .swot-item.weaknesses{background:#7f1d1d;color:#fecaca}.bx-lecture-feedback .swot-item.opportunities{background:#1e3a5f;color:#bfdbfe}.bx-lecture-feedback .swot-item.threats{background:#78350f;color:#fde68a}.bx-lecture-feedback .feedback-content{background:#111827;color:#e5e7eb}.bx-lecture-feedback .suggestions-list li{color:#e5e7eb}.bx-lecture-feedback .meta-feedback-section{background:#0c2d48;border-color:#1e3a5f}.bx-lecture-feedback .meta-feedback-desc{color:#7dd3fc}.bx-lecture-feedback .meta-feedback-section textarea{background:#111827;border-color:#374151;color:#f3f4f6}.bx-lecture-feedback .page-analyses-section h4{color:#f3f4f6}.bx-lecture-feedback .page-analysis-card{background:#111827;border-color:#374151}.bx-lecture-feedback .page-number{color:#60a5fa}.bx-lecture-feedback .page-score.high{background:#064e3b;color:#a7f3d0}.bx-lecture-feedback .page-score.mid{background:#78350f;color:#fde68a}.bx-lecture-feedback .page-score.low{background:#7f1d1d;color:#fecaca}.bx-lecture-feedback .page-summary{color:#9ca3af;border-color:#374151}.bx-lecture-feedback .page-strengths .label{color:#6ee7b7}.bx-lecture-feedback .page-improvements .label{color:#fde68a}.bx-lecture-feedback .page-strengths p,.bx-lecture-feedback .page-improvements p{color:#e5e7eb}.bx-lecture-feedback .btn-outline{color:#9ca3af;border-color:#4b5563}.bx-lecture-feedback .btn-outline:hover{background:#374151;color:#f3f4f6}.bx-lecture-feedback .settings-desc{color:#9ca3af}.bx-lecture-feedback .weight-item{border-color:#374151}.bx-lecture-feedback .weight-item label{color:#d1d5db}.bx-lecture-feedback .weight-item span{color:#60a5fa}.bx-lecture-feedback .weight-item-input{border-color:#4b5563!important;color:#f3f4f6!important;background-color:transparent!important}.bx-lecture-feedback .weight-item-input:focus{border-color:#60a5fa!important;box-shadow:0 0 0 2px #60a5fa33}.bx-lecture-feedback .weight-item-input::placeholder{color:#6b7280!important}.bx-lecture-feedback .weight-item-add-form{background:#1e293b}.bx-lecture-feedback .grade-item span:last-child{color:#9ca3af}.bx-lecture-feedback .grade-label{color:#9ca3af}.bx-lecture-feedback .grade-item input[type=number]{background:#1f2937;border-color:#4b5563;color:#f3f4f6}.bx-lecture-feedback .setting-item label{color:#d1d5db}.bx-lecture-feedback .settings-actions{border-color:#374151}.bx-lecture-feedback .btn{background:#374151;color:#d1d5db}.bx-lecture-feedback .btn-primary{background:#3b82f6;color:#fff}.bx-lecture-feedback .btn-secondary{background:#6b7280;color:#fff}.bx-lecture-feedback .system-info p{color:#d1d5db}.bx-lecture-feedback .system-info strong{color:#f3f4f6}}.bx-lecture-feedback .merge-file-list h3{font-size:14px;margin-bottom:8px;color:#333}.bx-lecture-feedback .merge-file-table{width:100%;border-collapse:collapse;font-size:13px}.bx-lecture-feedback .merge-file-table thead tr{background-color:#f8f9fa;border-bottom:2px solid #dee2e6}.bx-lecture-feedback .merge-file-table th{padding:8px;color:#495057;font-weight:600}.bx-lecture-feedback .merge-file-table tbody tr{border-bottom:1px solid #eee}.bx-lecture-feedback .merge-file-table td{padding:8px;color:inherit}.bx-lecture-feedback .merge-file-table .col-order{font-weight:600;color:#6c757d}.bx-lecture-feedback .merge-file-table .col-size{color:#666}.bx-lecture-feedback .merge-file-table .btn-order,.bx-lecture-feedback .merge-file-table .btn-remove{border:none;background:none;font-size:16px;padding:2px 6px;cursor:pointer;color:inherit}.bx-lecture-feedback .merge-file-table .btn-remove{color:#dc3545}.bx-lecture-feedback .merge-output-section{padding:16px;background-color:#f8f9fa;border-radius:8px;border:1px solid #dee2e6;margin-bottom:20px}.bx-lecture-feedback .merge-output-section h3{font-size:14px;margin-bottom:12px;color:#333}.bx-lecture-feedback .merge-output-section label{font-size:13px;color:inherit}.bx-lecture-feedback .merge-output-section .suggested-name{color:#495057}.bx-lecture-feedback .merge-output-section input[type=text]{padding:8px 12px;border:1px solid #ced4da;border-radius:4px;font-size:13px;width:400px;background:inherit;color:inherit}.bx-lecture-feedback .merge-status-text{font-size:12px;color:#666}@media (prefers-color-scheme: dark){.bx-lecture-feedback .merge-file-list h3{color:#f3f4f6}.bx-lecture-feedback .merge-file-table thead tr{background-color:#111827;border-bottom-color:#374151}.bx-lecture-feedback .merge-file-table th{color:#d1d5db}.bx-lecture-feedback .merge-file-table tbody tr{border-bottom-color:#374151}.bx-lecture-feedback .merge-file-table td{color:#e5e7eb}.bx-lecture-feedback .merge-file-table .btn-order{color:#d1d5db}.bx-lecture-feedback .merge-file-table .col-order,.bx-lecture-feedback .merge-file-table .col-size{color:#9ca3af}.bx-lecture-feedback .merge-file-table .btn-remove{color:#f87171}.bx-lecture-feedback .merge-output-section{background-color:#111827;border-color:#374151}.bx-lecture-feedback .merge-output-section h3{color:#f3f4f6}.bx-lecture-feedback .merge-output-section label{color:#e5e7eb}.bx-lecture-feedback .merge-output-section .suggested-name{color:#d1d5db}.bx-lecture-feedback .merge-output-section input[type=text]{background:#1f2937;border-color:#4b5563;color:#f3f4f6}.bx-lecture-feedback .merge-status-text{color:#9ca3af}}.bx-lecture-feedback .loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#94a3b8;font-size:15px}.bx-lecture-feedback .loading-state:before{content:"";width:36px;height:36px;border:3px solid #334155;border-top-color:#60a5fa;border-radius:50%;animation:bx-spin .8s linear infinite;margin-bottom:12px}@keyframes bx-spin{to{transform:rotate(360deg)}}@media (prefers-color-scheme: dark){.score-high{background:#064e3b;color:#6ee7b7}.score-mid{background:#1e3a5f;color:#93c5fd}.score-low{background:#7f1d1d;color:#fca5a5}.score-legend-item{color:#d1d5db}.overall-score-display.score-high{background:#064e3b;color:#6ee7b7}.overall-score-display.score-mid{background:#1e3a5f;color:#93c5fd}.overall-score-display.score-low{background:#7f1d1d;color:#fca5a5}}.operations-page{max-width:1400px;margin:0 auto;padding:24px}.operations-page .page-header{margin-bottom:24px}.operations-page .page-header h1{font-size:1.75rem;font-weight:600;color:#1f2937;margin:0 0 8px}.operations-page .page-description{color:#6b7280;margin:0;font-size:.95rem}.operations-page .page-content{display:flex;flex-direction:column;gap:24px}.operations-page .content-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.operations-page .card-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.operations-page .card-header h2{font-size:1.1rem;font-weight:600;color:#374151;margin:0}.operations-page .card-body{padding:24px}.operations-page .btn{padding:8px 16px;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.operations-page .btn-primary{background:#3b82f6;color:#fff}.operations-page .btn-primary:hover{background:#2563eb}.operations-page .btn-secondary{background:#6b7280;color:#fff}.operations-page .btn-secondary:hover{background:#4b5563}.operations-page .btn-sm{padding:6px 12px;font-size:.85rem}.operations-page .loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;color:#6b7280}.operations-page .loading-state .spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.operations-page .empty-state{text-align:center;padding:48px 24px;color:#6b7280}.operations-page .empty-icon{font-size:48px;margin-bottom:16px}.operations-page .empty-state h3{font-size:1.25rem;font-weight:600;color:#374151;margin:0 0 8px}.operations-page .empty-state p{margin:0;font-size:.9rem}.operations-page .data-table{width:100%;border-collapse:collapse}.operations-page .data-table th,.operations-page .data-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #e5e7eb}.operations-page .data-table th{background:#f9fafb;font-weight:600;color:#374151;font-size:.85rem}.operations-page .data-table td{color:#4b5563;font-size:.9rem}.operations-page .data-table tbody tr:hover{background:#f9fafb}@media (max-width: 768px){.operations-page{padding:16px}.operations-page .page-header h1{font-size:1.5rem}.operations-page .card-header{flex-direction:column;gap:12px;align-items:flex-start}.operations-page .data-table{display:block;overflow-x:auto}}@media (prefers-color-scheme: dark){.operations-page .page-header h1{color:#f3f4f6}.operations-page .page-description{color:#9ca3af}.operations-page .content-card{background:#1f2937}.operations-page .card-header{background:#111827;border-color:#374151}.operations-page .card-header h2{color:#f3f4f6}.operations-page .data-table th{background:#111827;color:#f3f4f6}.operations-page .data-table td{color:#d1d5db;border-color:#374151}.operations-page .data-table tbody tr:hover{background:#374151}.operations-page .empty-state h3{color:#f3f4f6}}.action-log-page .category-selector{display:flex;align-items:center;gap:12px;margin-bottom:24px}.action-log-page .category-selector label{font-size:.9rem;font-weight:600;color:#374151;white-space:nowrap}.action-log-page .category-selector select{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;color:#374151;background:#fff;min-width:200px;cursor:pointer}.action-log-page .category-selector select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.action-log-page .tab-nav{display:flex;border-bottom:2px solid #e5e7eb;margin-bottom:0}.action-log-page .tab-btn{padding:12px 24px;border:none;background:none;font-size:.95rem;font-weight:500;color:#6b7280;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s ease}.action-log-page .tab-btn:hover{color:#374151;background:#f9fafb}.action-log-page .tab-btn.active{color:#3b82f6;border-bottom-color:#3b82f6;font-weight:600}.action-log-page .tab-content{padding:24px}.action-log-page .log-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.action-log-page .log-total{font-size:.85rem;color:#6b7280}.action-log-page .user-filter-select{padding:5px 8px;border:1px solid #d1d5db;border-radius:5px;font-size:.8rem;color:#374151;background:#fff;max-width:130px;cursor:pointer}.action-log-page .user-filter-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.action-log-page .search-query-cell{font-weight:600;color:#1f2937}.action-log-page .search-filters-cell{font-size:.8rem;color:#6b7280}.action-log-page .search-stats{display:inline-flex;gap:8px;align-items:center}.action-log-page .stat-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:.78rem;font-weight:500}.action-log-page .stat-badge.files{background:#dbeafe;color:#1d4ed8}.action-log-page .stat-badge.chunks{background:#e0e7ff;color:#4338ca}.action-log-page .file-name-cell{font-weight:500;color:#1f2937;word-break:break-all}.action-log-page .file-size-cell{color:#6b7280;font-size:.85rem}.action-log-page .file-type-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.78rem;font-weight:600;text-transform:uppercase}.action-log-page .file-type-badge.pdf{background:#fef2f2;color:#dc2626}.action-log-page .file-type-badge.pptx{background:#fff7ed;color:#ea580c}.action-log-page .file-type-badge.docx{background:#eff6ff;color:#2563eb}.action-log-page .file-type-badge.xlsx{background:#f0fdf4;color:#16a34a}.action-log-page .pagination{display:flex;justify-content:center;align-items:center;gap:8px;padding:16px 0}.action-log-page .pagination button{padding:6px 12px;border:1px solid #d1d5db;background:#fff;border-radius:6px;font-size:.85rem;color:#374151;cursor:pointer;transition:all .15s ease}.action-log-page .pagination button:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.action-log-page .pagination button:disabled{opacity:.4;cursor:not-allowed}.action-log-page .pagination .page-info{font-size:.85rem;color:#6b7280;padding:0 8px}.action-log-page .data-table td.timestamp{white-space:nowrap;font-size:.83rem;color:#6b7280}.action-log-page .data-table td.emp-info{white-space:nowrap}.action-log-page .emp-team{display:block;font-size:.78rem;color:#9ca3af}.action-log-page .meeting-action-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.78rem;font-weight:600;white-space:nowrap}.action-log-page .meeting-action-badge.action-create{background:#dcfce7;color:#15803d}.action-log-page .meeting-action-badge.action-view{background:#f3f4f6;color:#4b5563}.action-log-page .meeting-action-badge.action-stt{background:#fef3c7;color:#b45309}.action-log-page .meeting-action-badge.action-llm{background:#ede9fe;color:#6d28d9}.action-log-page .meeting-action-badge.action-copy{background:#dbeafe;color:#1d4ed8}.action-log-page .meeting-action-badge.action-save{background:#e0e7ff;color:#4338ca}.action-log-page .meeting-detail-cell{font-size:.88rem;color:#374151;word-break:break-all}.action-log-page .meeting-action-badge.action-generate{background:#fef3c7;color:#b45309}.action-log-page .meeting-action-badge.action-download{background:#dbeafe;color:#1d4ed8}.action-log-page .stat-badge.pt-success{background:#dcfce7;color:#15803d}.action-log-page .stat-badge.pt-failed{background:#fef2f2;color:#dc2626}.action-log-page .meeting-action-badge.action-upload{background:#dcfce7;color:#15803d}.action-log-page .meeting-action-badge.action-delete{background:#fef2f2;color:#dc2626}.action-log-page .meeting-action-badge.action-login{background:#dcfce7;color:#15803d}.action-log-page .meeting-action-badge.action-logout{background:#f3f4f6;color:#4b5563}.action-log-page .meeting-action-badge.action-logout-auto{background:#fef3c7;color:#b45309}.action-log-page .meeting-action-badge.action-approval-request{background:#dbeafe;color:#1d4ed8}.action-log-page .meeting-action-badge.action-approval-approve{background:#dcfce7;color:#15803d}.action-log-page .meeting-action-badge.action-approval-reject{background:#fef2f2;color:#dc2626}@media (max-width: 768px){.action-log-page .category-selector{flex-direction:column;align-items:flex-start}.action-log-page .category-selector select{width:100%}.action-log-page .tab-btn{padding:10px 16px;font-size:.85rem}}.mobile-meeting-list{padding:15px;max-width:100%;overflow-x:hidden}.mobile-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:10px;border-bottom:2px solid #e9ecef}.mobile-list-header h2{margin:0;font-size:20px;font-weight:700;color:#333}.mobile-btn-new{background-color:#007bff;color:#fff;border:none;border-radius:8px;padding:10px 20px;font-size:16px;font-weight:600;cursor:pointer;box-shadow:0 2px 4px #007bff4d;transition:all .2s}.mobile-btn-new:active{transform:scale(.95);box-shadow:0 1px 2px #007bff4d}.mobile-tab-nav{display:flex;gap:8px;margin-bottom:15px;overflow-x:auto;-webkit-overflow-scrolling:touch}.mobile-tab-btn{flex:1;min-width:100px;padding:10px 15px;background-color:#f8f9fa;color:#666;border:1px solid #dee2e6;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.mobile-tab-btn.active{background-color:#007bff;color:#fff;border-color:#007bff;font-weight:600}.mobile-tab-btn:active{transform:scale(.98)}.mobile-list-content{min-height:200px}.mobile-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#666}.mobile-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #007bff;border-radius:50%;animation:mobile-spin 1s linear infinite;margin-bottom:15px}.mobile-loading p{margin:0;font-size:14px}.mobile-error{text-align:center;padding:40px 20px;color:#dc3545}.mobile-error p{margin:0 0 15px;font-size:14px}.mobile-btn-retry{background-color:#dc3545;color:#fff;border:none;border-radius:6px;padding:8px 20px;font-size:14px;cursor:pointer}.mobile-empty{text-align:center;padding:60px 20px;color:#999}.mobile-empty p{margin:0;font-size:16px;font-style:italic}.mobile-meeting-cards{display:flex;flex-direction:column;gap:12px}.mobile-meeting-card{background-color:#fff;border:1px solid #e9ecef;border-radius:12px;padding:15px;box-shadow:0 2px 4px #0000000d;cursor:pointer;transition:all .2s}.mobile-meeting-card:active{transform:scale(.98);box-shadow:0 4px 8px #0000001a;background-color:#f8f9fa}.mobile-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:10px}.mobile-card-title{margin:0;font-size:16px;font-weight:600;color:#333;flex:1;word-break:break-word}.mobile-status-badge{display:inline-block;padding:4px 8px;border-radius:6px;font-size:11px;font-weight:600;white-space:nowrap;flex-shrink:0}.status-file-uploaded{background-color:#e3f2fd;color:#0d47a1}.status-stt-processing{background-color:#fff3cd;color:#856404}.status-stt-completed{background-color:#d4edda;color:#155724}.status-stt-failed{background-color:#f8d7da;color:#721c24}.status-ai-generating{background-color:#e2e3f5;color:#383d41;animation:pulse 1.5s infinite}.status-ai-completed{background-color:#c3e6cb;color:#155724}.status-ai-failed{background-color:#f5c6cb;color:#721c24}.mobile-card-body{display:flex;flex-direction:column;gap:8px}.mobile-card-info{display:flex;align-items:center;gap:8px;font-size:13px;color:#666}.mobile-info-label{font-size:14px;flex-shrink:0}.mobile-info-value{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.mobile-tag{display:inline-block;background-color:#e9ecef;color:#495057;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:500}.mobile-pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px}.mobile-pagination-btn{background-color:#f1f3f5;border:1px solid #ced4da;border-radius:8px;color:#333;cursor:pointer;font-size:13px;font-weight:600;padding:8px 14px}.mobile-pagination-btn:disabled{color:#999;cursor:not-allowed}.mobile-pagination-label{font-size:13px;color:#555;font-weight:500}.mobile-meeting-detail{display:flex;flex-direction:column;height:100%;background-color:#f8f9fa}.mobile-detail-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;padding:20px}.mobile-detail-loading p{margin-top:15px;color:#666;font-size:14px}.mobile-detail-loading .mobile-spinner{border:5px solid rgba(0,123,255,.2);border-top:5px solid #007bff}.mobile-detail-header{display:flex;align-items:center;justify-content:space-between;padding:15px;background-color:#fff;border-bottom:1px solid #e9ecef;position:sticky;top:0;z-index:10}.mobile-detail-header h2{margin:0;font-size:18px;font-weight:600;flex:1;text-align:center}.mobile-btn-back,.mobile-btn-save{background:none;border:none;color:#007bff;font-size:16px;font-weight:600;cursor:pointer;padding:5px 10px}.mobile-btn-back{color:#333}.mobile-btn-save:disabled{color:#ccc;cursor:not-allowed}.mobile-detail-content{flex:1;overflow-y:auto;padding:15px 15px 30px}.mobile-section{background-color:#fff;border-radius:12px;padding:20px;margin-bottom:15px;box-shadow:0 2px 4px #0000000d}.mobile-section-title{margin:0 0 15px;font-size:16px;font-weight:600;color:#333;padding-bottom:10px;border-bottom:2px solid #e9ecef}.mobile-form-group{margin-bottom:20px}.mobile-form-group:last-child{margin-bottom:0}.mobile-llm-group{margin-top:42px}.mobile-label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:#333}.mobile-input,.mobile-textarea,.mobile-datepicker{width:100%;padding:12px;border:1px solid #dee2e6;border-radius:8px;font-size:15px;color:#333;background-color:#fff;box-sizing:border-box;transition:border-color .2s}.mobile-input:focus,.mobile-textarea:focus,.mobile-datepicker:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.mobile-input-with-button{display:flex;align-items:center;gap:8px}.mobile-input-with-button .mobile-input{flex:1}.mobile-btn-secondary{background-color:#f1f3f5;border:1px solid #ced4da;border-radius:8px;color:#333;cursor:pointer;font-size:13px;font-weight:600;padding:10px 12px;white-space:nowrap}.mobile-btn-secondary:disabled{color:#999;cursor:not-allowed}.mobile-btn-link{background:none;border:none;color:#6c757d;cursor:pointer;font-size:12px;padding:6px 0 0;text-align:left}.mobile-pagination{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:12px}.mobile-pagination-label{font-size:13px;color:#555}.mobile-input[readonly]{background-color:#f8f9fa;color:#666}.mobile-textarea{resize:vertical;min-height:80px;font-family:inherit}.mobile-hint{display:block;margin-top:5px;font-size:12px;color:#999;font-style:italic}.mobile-checkbox-group{display:flex;gap:20px}.mobile-checkbox-label{display:flex;align-items:center;gap:8px;font-size:14px;color:#333;cursor:pointer}.mobile-checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.mobile-radio-group{display:flex;flex-direction:column;gap:12px}.mobile-radio-group.horizontal{flex-direction:row;flex-wrap:wrap;gap:10px}.mobile-radio-label{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #dee2e6;border-radius:8px;font-size:15px;color:#333;cursor:pointer;transition:all .2s;width:100%}.mobile-radio-label:has(input:checked){border-color:#007bff;background-color:#e3f2fd}.mobile-radio-label input[type=radio]{width:20px;height:20px;cursor:pointer}.mobile-file-list{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.mobile-file-item{display:flex;align-items:center;justify-content:space-between;gap:10px;background-color:#f8f9fa;border-radius:8px;padding:10px 12px}.mobile-file-info{display:flex;flex-direction:column;gap:4px;min-width:0}.mobile-file-name{margin:0;font-size:14px;font-weight:600;color:#333;word-break:break-all}.mobile-file-actions{display:flex;gap:8px}.mobile-btn-upload{width:100%;padding:15px;background-color:#007bff;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .2s}.mobile-btn-upload:active{background-color:#0056b3}.mobile-file-selected{margin-top:10px;padding:12px;background-color:#e3f2fd;border-radius:8px;border:1px solid #2196f3}.mobile-file-selected p{margin:0 0 5px;font-size:14px;color:#0d47a1;font-weight:500}.mobile-file-selected small{font-size:12px;color:#666}.mobile-file-uploaded{padding:15px;background-color:#d4edda;border-radius:8px;border:1px solid #28a745}.mobile-file-uploaded p{margin:0 0 10px;font-size:14px;color:#155724;font-weight:500}.mobile-audio-player{width:100%;margin-top:10px}.mobile-btn-convert{width:100%;padding:15px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:18px;font-weight:600;cursor:pointer;transition:all .3s;margin-top:15px}.mobile-btn-convert:active{transform:scale(.98)}.mobile-btn-convert:disabled{background:linear-gradient(135deg,#ccc,#999);cursor:not-allowed}.mobile-btn-save-results{width:100%;padding:12px;margin-top:12px;background-color:#2563eb;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer}.mobile-btn-save-results:active{transform:scale(.98)}.mobile-processing{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.mobile-processing p{margin:20px 0 0;font-size:16px;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}.mobile-spinner{width:50px;height:50px;border:5px solid rgba(255,255,255,.3);border-top:5px solid white;border-radius:50%;animation:mobile-spin 1s linear infinite}@keyframes mobile-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mobile-section-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#fffc;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:5;border-radius:12px}.mobile-section-overlay p{margin:0;padding:15px 20px;font-size:14px;color:#495057;font-weight:500;background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;text-align:center;line-height:1.6;max-width:280px}.mobile-result-item{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:15px;margin-bottom:12px}.mobile-result-item:last-child{margin-bottom:0}.mobile-result-title{margin:0 0 10px;font-size:15px;font-weight:600;color:#007bff}.mobile-result-content{font-size:14px;line-height:1.6;color:#333;white-space:pre-wrap;word-break:break-word;max-height:300px;overflow-y:auto;padding:10px;background-color:#fff;border-radius:6px}.react-datepicker-wrapper,.react-datepicker__input-container{width:100%}.mobile-datepicker{width:100%!important}.bidding-page-wrapper .form-page{max-width:1200px;margin:0 auto;padding:0}.bidding-page-wrapper .page-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2rem;margin-bottom:2rem;border-radius:12px;box-shadow:0 4px 6px #0000001a}.bidding-page-wrapper .page-header h1{background:none;-webkit-background-clip:initial;background-clip:initial;-webkit-text-fill-color:initial;color:#fff!important;margin:0 0 .5rem;font-size:2rem;font-weight:600}.bidding-page-wrapper .page-header p{margin:0;font-size:1.1rem;opacity:.9;color:#fff!important}.bidding-page-wrapper .registrant-info{display:flex;flex-direction:column;align-items:flex-end;gap:.75rem;margin:0 0 2rem auto;width:fit-content;padding:1rem 1.5rem;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.bidding-page-wrapper .registrant-input-group{display:flex;align-items:center;gap:.75rem;width:100%;justify-content:space-between}.bidding-page-wrapper .registrant-input-group label{margin:0;font-weight:500;color:#2c3e50;font-size:.95rem;flex-shrink:0}.bidding-page-wrapper label.required:after{content:"*";color:#e53e3e;font-weight:700;font-size:1rem;margin-left:4px}.bidding-page-wrapper .registrant-input,.bidding-page-wrapper .registrant-select{width:220px;flex-shrink:0;padding:.75rem;border:2px solid #e53e3e;border-radius:6px;font-size:1rem;transition:border-color .2s,box-shadow .2s;font-family:inherit;box-sizing:border-box}.bidding-page-wrapper .registrant-input:focus,.bidding-page-wrapper .registrant-select:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.bidding-page-wrapper .registrant-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right .75rem center;background-repeat:no-repeat;background-size:1em;padding-right:2.5rem;cursor:pointer}.bidding-page-wrapper .form-container{background:transparent;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.bidding-page-wrapper .form-section{padding:2rem;border-bottom:1px solid #e9ecef;margin-bottom:1.5rem;background:#fff}.bidding-page-wrapper .form-section:last-of-type{border-bottom:none;margin-bottom:0}.bidding-page-wrapper .form-section h2{margin:0 0 1.5rem;font-size:1.4rem;font-weight:600;color:#2c3e50;border-bottom:2px solid #3498db;padding-bottom:.5rem}.bidding-page-wrapper .form-section h3{margin:1.5rem 0 1rem;font-size:1.2rem;font-weight:500;color:#34495e}.bidding-page-wrapper .form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.bidding-page-wrapper .form-group{margin-bottom:1.5rem}.bidding-page-wrapper .form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#2c3e50;font-size:.95rem}.bidding-page-wrapper .form-group input,.bidding-page-wrapper .form-group select,.bidding-page-wrapper .form-group textarea{width:100%;padding:.75rem;border:2px solid #e9ecef;border-radius:6px;font-size:1rem;transition:border-color .2s,box-shadow .2s;font-family:inherit;box-sizing:border-box}.bidding-page-wrapper .form-group input:focus,.bidding-page-wrapper .form-group select:focus,.bidding-page-wrapper .form-group textarea:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.bidding-page-wrapper .form-group input:invalid{border-color:#e74c3c}.bidding-page-wrapper .form-group textarea{resize:vertical;min-height:100px}.bidding-page-wrapper .form-actions{padding:2rem;background:#f8f9fa;display:flex;justify-content:flex-end;gap:1rem;border-top:1px solid #e9ecef}.bidding-page-wrapper .btn-primary,.bidding-page-wrapper .btn-secondary{padding:.75rem 2rem;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;min-width:120px}.bidding-page-wrapper .btn-primary{background:#3498db;color:#fff}.bidding-page-wrapper .btn-primary:hover{background:#2980b9;transform:translateY(-1px);box-shadow:0 4px 8px #3498db4d}.bidding-page-wrapper .btn-secondary{background:#95a5a6;color:#fff}.bidding-page-wrapper .btn-secondary:hover{background:#7f8c8d;transform:translateY(-1px);box-shadow:0 4px 8px #95a5a64d}@media (max-width: 768px){.bidding-page-wrapper .form-page{padding:0 1rem}.bidding-page-wrapper .page-header{padding:1.5rem;margin-bottom:1.5rem}.bidding-page-wrapper .page-header h1{font-size:1.5rem}.bidding-page-wrapper .registrant-info{width:100%;margin:0 auto 2rem;padding:1rem;box-sizing:border-box;align-items:stretch}.bidding-page-wrapper .registrant-input-group{flex-direction:column;align-items:flex-start;gap:.5rem}.bidding-page-wrapper .registrant-input,.bidding-page-wrapper .registrant-select{width:100%}.bidding-page-wrapper .form-section{padding:1.5rem}.bidding-page-wrapper .form-grid{grid-template-columns:1fr;gap:1rem}.bidding-page-wrapper .form-actions{padding:1.5rem;flex-direction:column}.bidding-page-wrapper .btn-primary,.bidding-page-wrapper .btn-secondary{width:100%}}@media (max-width: 480px){.bidding-page-wrapper .page-header{padding:1rem}.bidding-page-wrapper .page-header h1{font-size:1.3rem}.bidding-page-wrapper .form-section{padding:1rem}.bidding-page-wrapper .form-section h2{font-size:1.2rem}}@media (prefers-color-scheme: dark){.bidding-page-wrapper .registrant-info{background-color:#34495e;border-color:#495057}.bidding-page-wrapper .registrant-input-group label{color:#ecf0f1}.bidding-page-wrapper .form-section{background:#2c3e50;border-bottom-color:#34495e}.bidding-page-wrapper .form-section h2{color:#ecf0f1;border-bottom-color:#3498db}.bidding-page-wrapper .form-group label{color:#ecf0f1}.bidding-page-wrapper .form-group input,.bidding-page-wrapper .form-group select,.bidding-page-wrapper .form-group textarea,.bidding-page-wrapper .registrant-input,.bidding-page-wrapper .registrant-select{background:#34495e;border-color:#495057;color:#ecf0f1}.bidding-page-wrapper .form-group input:focus,.bidding-page-wrapper .form-group select:focus,.bidding-page-wrapper .form-group textarea:focus,.bidding-page-wrapper .registrant-input:focus,.bidding-page-wrapper .registrant-select:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db33}.bidding-page-wrapper .form-actions{background:#34495e;border-top-color:#495057}}.progress-bar-container.indeterminate{position:relative;background-color:#e9ecef}.progress-bar-loading-animation{position:absolute;top:0;left:0;height:100%;width:30%;background:linear-gradient(90deg,#007bff,#4facfe);border-radius:15px;animation:indeterminate-progress 1.5s infinite ease-in-out}@keyframes indeterminate-progress{0%{left:-30%;width:30%}50%{left:35%;width:40%}to{left:100%;width:30%}}.meeting-minutes-container{font-family:Malgun Gothic,맑은 고딕,sans-serif;max-width:1200px;margin:0 auto;padding:20px;background-color:#f9f9f9;min-height:100vh}.meeting-minutes-header{background-color:#fff;padding:20px;margin-bottom:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;align-items:center}.meeting-minutes-title{margin:0;font-size:24px;font-weight:700}.meeting-minutes-logo{font-size:18px;font-weight:700}.meeting-minutes-main{background-color:#fff;padding:20px;margin-bottom:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.meeting-minutes-title-section{text-align:center;margin-bottom:20px;padding:15px;background-color:#f8f9fa;border-radius:6px}.meeting-minutes-subtitle{margin:0;font-size:20px;font-weight:700}.meeting-minutes-writer{margin-top:10px}.writer-field-label-title{font-weight:800;color:#000;font-size:15px}.meeting-minutes-section{background-color:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 4px 12px #0000000a;margin-bottom:2.5rem;overflow:hidden}.section-header-meetingminutes{margin:0;padding:1.25rem 1.75rem;background-color:#f8f9fa;border-bottom:1px solid #e9ecef;font-size:1.15rem;font-weight:600;color:#212529}.tab-navigation{display:flex;padding:0 15px;margin-bottom:-1px;position:relative;z-index:2;margin-top:5px}.tab-button{padding:10px 20px;font-size:16px;font-weight:600;border:1px solid #ddd;border-bottom:none;background-color:#f0f0f0;cursor:pointer;color:#888;border-top-left-radius:6px;border-top-right-radius:6px;margin-right:5px;transition:all .2s ease}.tab-button.active{color:#1890ff;border-color:#ddd;border-bottom:1px solid white;background-color:#fff;z-index:3;font-weight:700}.tab-button:hover:not(.active){color:#333;background-color:#e9e9e9}.tab-content{padding:15px;min-height:100px;border-top:1px solid #ddd;position:relative;z-index:1;background-color:#fff;border-radius:0 8px 8px}.tab-pane{display:none}.tab-pane.active{display:block}.meeting-minutes-table{width:100%;border-collapse:collapse;border:1px solid #333;margin-top:0}.meeting-minutes-table tbody tr{border-bottom:1px solid #eee}.meeting-minutes-table tbody tr:last-child{border-bottom:none}.meeting-minutes-item-cell{padding:12px}.meeting-minutes-item{display:flex;flex-direction:column;gap:8px}.meeting-minutes-item.completed{background-color:#f8f9fa;border-left:4px solid #28a745;padding-left:12px}.meeting-minutes-label{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.4;font-weight:500;cursor:pointer;color:#333;-webkit-user-select:none;user-select:none;transition:color .2s ease;margin-top:2px}.meeting-minutes-label:hover{color:#007bff}.meeting-minutes-label br{line-height:1.6}.meeting-minutes-label:focus-within{background-color:#007bff0d;border-radius:4px;padding:2px}.meeting-minutes-input{width:100%;border:none;outline:none;font-size:13px;color:#333!important}.meeting-minutes-input:focus{background-color:#fff!important;color:#333!important}.meeting-minutes-input:-webkit-autofill,.meeting-minutes-input:-webkit-autofill:hover,.meeting-minutes-input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px white inset!important;-webkit-text-fill-color:#333!important;background-color:#fff!important;border-color:transparent!important}.meeting-minutes-textarea{width:100%;border:1px solid #ddd;border-radius:4px;padding:6px 8px;font-size:13px;font-family:inherit;color:#333!important;line-height:1.4;resize:vertical;min-height:40px;background-color:#fafafa;transition:border-color .2s ease,box-shadow .2s ease}.meeting-minutes-textarea:focus{background-color:#fff!important;color:#333!important;outline:2px solid #007bff;outline-offset:-2px;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.meeting-minutes-textarea::placeholder{color:#90392b;font-style:italic}.meeting-minutes-textarea:-webkit-autofill,.meeting-minutes-textarea:-webkit-autofill:hover,.meeting-minutes-textarea:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px white inset!important;-webkit-text-fill-color:#333!important;background-color:#fff!important}.meeting-minutes-textarea::-webkit-scrollbar{width:8px}.meeting-minutes-textarea::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.meeting-minutes-textarea::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.meeting-minutes-textarea::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.meeting-minutes-checkbox{appearance:none;-webkit-appearance:none;-moz-appearance:none;position:relative;cursor:pointer;background-color:#fff;width:16px;height:16px;border:2px solid #007bff;border-radius:3px;margin-top:2px}.meeting-minutes-checkbox:checked{background-color:#007bff;border-color:#007bff}.meeting-minutes-checkbox:checked:after{content:"✓";position:absolute;color:#fff;font-size:12px;font-weight:700;top:-2px;left:1px}.meeting-minutes-checkbox:hover{border-color:#0056b3}.meeting-minutes-checkbox:focus,.meeting-minutes-checkbox:focus-visible{outline:2px solid #007bff;outline-offset:2px}.meeting-minutes-checkbox:checked+.meeting-minutes-label{color:#007bff}.checkbox-medium{width:16px;height:16px}.checkbox-medium:checked{display:flex;align-items:center;justify-content:center}.checkbox-medium:checked:after{font-size:14px;line-height:1;font-weight:700;color:#fff;content:"✓"}.checkbox-large{width:24px;height:24px}.checkbox-large:checked{display:flex;align-items:center;justify-content:center}.checkbox-large:checked:after{font-size:22px;line-height:1;font-weight:700;color:#fff;content:"✓"}.meeting-minutes-radio{appearance:none;-webkit-appearance:none;-moz-appearance:none;position:relative;cursor:pointer;background-color:#fff;border-radius:50%;width:16px;height:16px;border:2px solid #007bff;margin-top:2px}.meeting-minutes-radio:checked{border-color:#007bff}.meeting-minutes-radio:checked:after{content:"";position:absolute;background-color:#007bff;border-radius:50%;width:8px;height:8px;top:50%;left:50%;transform:translate(-50%,-50%)}.radio-large{width:24px;height:24px}.radio-large:checked:after{width:12px;height:12px}.loading,.no-results,.meeting-list-loading{text-align:center;padding:40px;color:#666}.circle-spinner{display:inline-block;width:14px;height:14px;margin-right:8px;border:2px solid #f3f3f3;border-top:2px solid #007bff;border-radius:50%;animation:meeting-spinner-spin .6s linear infinite;vertical-align:middle}@keyframes meeting-spinner-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.upload-status{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px;background-color:#f0f7ff;border-radius:6px;margin-top:10px;color:#0056b3;font-weight:600}.upload-spinner{width:20px;height:20px;border:3px solid rgba(0,86,179,.2);border-top:3px solid #0056b3;border-radius:50%;animation:spin 1s linear infinite}.meeting-minutes-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:30px;padding-top:20px;border-top:1px solid #eee}.meeting-minutes-actions .btn-primary{background-color:#007bff!important;color:#fff;border:none;border-radius:5px;cursor:pointer;font-weight:600;padding:12px 32px;font-size:16px!important}.meeting-minutes-actions .btn-primary:hover{background-color:#0056b3!important}.generation-panel{display:flex;justify-content:space-between;align-items:center;padding:20px;background-color:#fff;border-radius:6px;margin-top:30px;margin-bottom:30px}.generation-panel .btn-secondary{background-color:#007bff!important;color:#fff;border:none;border-radius:5px;cursor:pointer;font-weight:600;padding:12px 32px;font-size:2rem}.generation-panel .btn-secondary:hover{background-color:#0056b3!important}.generation-options .meeting-minutes-label{display:flex;align-items:center;gap:12px;font-size:16px;margin-bottom:15px}.generation-options .meeting-minutes-label:last-child{margin-bottom:0}.llm-result-label{display:flex;align-items:center;gap:10px;font-size:15px}.file-drop-zone{border:2px dashed #ccc;border-radius:8px;padding:4rem!important;text-align:center;cursor:pointer;transition:background-color .2s ease}.share-method-label{font-size:16px;line-height:24px;padding:2px 5px;margin-right:15px;display:flex;align-items:center;gap:12px}.project-selection-display{flex-grow:1;display:flex;align-items:center;gap:10px;border:1px solid #ddd;border-radius:4px;padding:5px;min-height:38px;box-sizing:border-box}.filter-bar{display:flex;justify-content:flex-end;margin-bottom:10px}.filter-bar select{padding:6px 10px;border:1px solid #ccc;border-radius:4px;font-size:13px;cursor:pointer;min-width:150px}.meeting-list-table{width:100%;border-collapse:collapse;margin-top:10px;font-size:13px;table-layout:fixed}.meeting-list-table th,.meeting-list-table td{border:1px solid #eee;padding:10px 12px;text-align:left;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meeting-list-table th{background-color:#f8f9fa;font-weight:600;white-space:normal}.meeting-list-table th:nth-child(1){width:30%}.meeting-list-table th:nth-child(2){width:18%}.meeting-list-table th:nth-child(3){width:20%}.meeting-list-table th:nth-child(4){width:10%}.meeting-list-table th:nth-child(5){width:12%}.meeting-list-table th:nth-child(6){width:10%}.meeting-list-item{cursor:pointer;transition:background-color .2s ease}.meeting-list-item:hover{background-color:#f0f8ff}.meeting-title-cell{font-weight:600}.meeting-link{color:#007bff;text-decoration:none;cursor:pointer}.tag-badge{background-color:#e9ecef;color:#495057;padding:2px 6px;border-radius:4px;font-size:11px;margin-right:4px;white-space:nowrap}.tab-content .loading,.tab-content .no-results{text-align:center;padding:40px;color:#666;font-style:italic}.tab-content .error{text-align:center;padding:40px;color:#d93025}.no-results{text-align:center;color:#888;padding:20px;font-style:italic}.generation-progress{background:#f0f8ff;padding:20px;border-radius:8px;margin:20px 0}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.progress-header h4{margin:0;color:#007bff}.abort-button{background:#dc3545;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px}.abort-button:hover:not(:disabled){background:#c82333}.abort-button:disabled{background:#ccc;cursor:not-allowed}.progress-bar-container{width:100%;height:30px;background:#e9ecef;border-radius:15px;overflow:hidden;margin-bottom:10px}.progress-bar{height:100%;background:linear-gradient(90deg,#007bff,#0056b3);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;transition:width .3s ease}.progress-message{color:#666;font-size:14px;margin:5px 0}.progress-info{color:#999;font-size:12px}.meeting-minutes-actions .btn-primary:disabled{background-color:#6c757d!important;cursor:not-allowed!important;opacity:.6}.meeting-minutes-actions .btn-primary:disabled:hover{background-color:#6c757d!important}.meeting-source-container{display:flex;gap:20px;padding:15px}.meeting-source-panel{flex:1;display:flex;flex-direction:column;gap:10px}.meeting-source-panel.full-width{width:100%}.meeting-source-header{display:flex;align-items:center;gap:10px}.meeting-source-header input[type=radio]{transform:scale(1.5);cursor:pointer}.meeting-source-header h4{margin:0;font-size:16px;font-weight:700}.meeting-source-textarea{height:305px;text-align:center}.meeting-source-textarea:placeholder-shown{padding-top:18%;text-align:center;white-space:pre-line;font-size:1.2rem;color:#90392b;opacity:1;font-style:italic}.meeting-source-textarea:not(:placeholder-shown){text-align:left;padding-top:8px}.meeting-source-textarea::placeholder,.meeting-source-textarea::-webkit-input-placeholder,.meeting-source-textarea:-ms-input-placeholder,.meeting-source-textarea::-ms-input-placeholder{text-align:center;white-space:pre-line;font-size:1.2rem;color:#90392b;opacity:1;font-style:italic}.meeting-source-textarea:focus::placeholder{color:#6b778c;opacity:1}.meeting-source-hint{font-size:12px;color:#667}.meeting-stt-results{display:flex;flex-direction:column;gap:15px}.meeting-stt-item-label{display:inline-flex;align-items:center;gap:8px;margin-top:10px;margin-bottom:6px}.meeting-stt-item-label.block{display:flex;width:100%;margin-top:12px;margin-bottom:8px}.meeting-stt-content{border:1px solid #ddd;border-radius:8px;padding:15px;min-height:21ch;height:305px;max-height:360px;overflow-y:auto;background-color:#e8e8e8;white-space:pre-wrap;word-break:break-word;font-size:14px;line-height:1.6}.meeting-stt-empty{border:1px dashed #ddd;border-radius:8px;padding:40px;text-align:center;font-size:1.2rem;font-style:italic;color:#90392b;background-color:#fafafa;height:305px;min-height:305px;max-height:305px;display:flex;align-items:center;justify-content:center}.meeting-source-panel>input[type=radio]{transform:scale(2.5);cursor:pointer;margin:2rem 12px 2rem 0}.meeting-source-header{display:flex;flex-direction:column;align-items:stretch;gap:0}.recording-method-top{display:flex;justify-content:center;align-items:center;padding:10px 0 8px}.meeting-source-title{margin:8px 0 0;font-size:16px;font-weight:700}.meeting-minutes-radio.radio-xl{width:32px;height:32px;border-width:3px}.meeting-minutes-radio.radio-xl:checked:after{width:16px;height:16px}.recording-method-top input[type=radio]{transform:scale(2.5)}.recording-method-top{padding:2rem 0}.meeting-source-panel>input[type=radio]{display:none}.meeting-source-header h4{margin:8px 0 0}.meeting-item{padding:12px;border:1px solid #ddd;border-radius:4px;margin-bottom:8px;transition:background-color .2s}.meeting-item:hover{background-color:#f5f5f5}.meeting-item.selected{background-color:#e3f2fd;border-color:#2196f3}.btn-delete-small{background:none;border:none;cursor:pointer;font-size:18px;padding:4px 8px;border-radius:4px;transition:background-color .2s;flex-shrink:0}.meeting-title{font-weight:600;margin-bottom:4px;color:#333}.meeting-date{font-size:.875rem;color:#666;margin-bottom:2px}.meeting-project{font-size:.75rem;color:#888;font-style:italic}.empty-message{text-align:center;color:#999;padding:20px;font-style:italic}.btn-delete-small{background:none;border:none;cursor:pointer;font-size:16px;padding:2px 6px;border-radius:4px;transition:background-color .2s;flex-shrink:0}.btn-delete-small:hover{background-color:#ffebee}.btn-delete-small:active{transform:scale(.95)}.meeting-title-cell{max-width:300px}.meeting-link{text-decoration:none;color:#1976d2}.meeting-link:hover{text-decoration:underline}.file-list-container{padding:15px}.file-list-items{display:flex;flex-direction:column;gap:10px}.file-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border:1px solid #e0e0e0;border-radius:8px;background-color:#f9f9f9}.file-item-info{flex:1}.file-item-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.file-icon{font-size:16px}.file-name{font-weight:500}.file-status-badge{padding:2px 8px;background-color:#e8f5e9;color:#2e7d32;border-radius:4px;font-size:12px}.file-item-meta{font-size:13px;color:#666;display:flex;gap:12px}.file-actions{display:flex;gap:8px}.btn-file-download{padding:6px 12px;background-color:#1890ff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s}.btn-file-download:hover{background-color:#096dd9}.btn-file-delete{padding:6px 12px;background-color:#ff4d4f;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s}.btn-file-delete:hover{background-color:#d9363e}.btn-file-download:active,.btn-file-delete:active{transform:scale(.95)}.file-list-empty{padding:30px;text-align:center;color:#999;font-size:14px}.pagination-container{display:flex;justify-content:center;align-items:center;padding:15px 0;gap:5px}.pagination-button{padding:8px 12px;border:1px solid #ddd;background-color:#fff;cursor:pointer;transition:background-color .2s;border-radius:4px}.pagination-button:hover:not(:disabled){background-color:#f0f0f0}.pagination-button.active{background-color:#007bff;color:#fff;border-color:#007bff;font-weight:700}.pagination-button:disabled{color:#ccc;cursor:not-allowed;background-color:#f8f9fa}.writer-field input.writer-field-input[readOnly]{background-color:#e9ecef!important;pointer-events:none;cursor:not-allowed}.dot-cursor-spinner{width:24px;height:24px;position:relative;border:2px solid transparent;border-radius:4px;margin-right:10px;flex-shrink:0}.dot-cursor-spinner:before{content:"";position:absolute;width:8px;height:8px;background-color:#007bff;border-radius:50%;animation:dot-travel 1.5s infinite ease-in-out}@keyframes dot-travel{0%{top:-4px;left:-4px;transform:scale(1)}25%{top:-4px;left:calc(100% - 4px);transform:scale(.8)}50%{top:calc(100% - 4px);left:calc(100% - 4px);transform:scale(1)}75%{top:calc(100% - 4px);left:-4px;transform:scale(.8)}to{top:-4px;left:-4px;transform:scale(1)}}.stt-warning-box{background-color:#fff0f0;border:1px solid #ff4d4f;border-radius:6px;padding:12px 15px;margin-top:20px;font-size:13px;line-height:1.5;color:#cf1322;word-break:keep-all}.stt-warning-box strong{font-weight:700}.status-cell{font-weight:600;padding:6px 10px;border-radius:4px;display:inline-block;font-size:12px}.status-created{background-color:#e9ecef;color:#495057}.status-file_uploaded{background-color:#e3f2fd;color:#0d47a1}.status-stt_processing{background-color:#fff3cd;color:#856404}.status-stt_completed{background-color:#d4edda;color:#155724}.status-stt_failed{background-color:#f8d7da;color:#721c24}.status-ai_generating{background-color:#e2e3f5;color:#383d41;animation:pulse 1.5s infinite}.status-ai_completed{background-color:#c3e6cb;color:#155724;font-weight:700}.status-ai_failed{background-color:#f5c6cb;color:#721c24;font-weight:700}@keyframes pulse{0%{opacity:1}50%{opacity:.6}to{opacity:1}}.markdown-preview{border:1px solid #ddd;border-radius:8px;padding:20px;background-color:#fff;min-height:100px;max-height:600px;overflow-y:auto;line-height:1.6;color:#333;font-size:15px}.markdown-preview h1,.markdown-preview h2,.markdown-preview h3,.markdown-preview h4{margin-top:1.5em;margin-bottom:.8em;font-weight:600;color:#24292f}.markdown-preview h1,.markdown-preview h2{border-bottom:1px solid #eaecef;padding-bottom:.3em}.markdown-preview ul,.markdown-preview ol{padding-left:2em;margin-bottom:1em;list-style-position:inside}.markdown-preview li{margin-bottom:.4em}.markdown-preview p{margin-bottom:1.2em}.markdown-preview table{width:100%;border-collapse:collapse;margin-bottom:1.5em;display:block;overflow-x:auto}.markdown-preview th,.markdown-preview td{border:1px solid #dfe2e5;padding:8px 16px;text-align:left}.markdown-preview th{background-color:#f6f8fa;font-weight:600}.markdown-preview tr:nth-child(2n){background-color:#f6f8fa}.markdown-preview blockquote{border-left:4px solid #dfe2e5;color:#6a737d;margin:0 0 16px;padding:0 1em}.markdown-preview code{background-color:#afb8c133;padding:.2em .4em;border-radius:6px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:85%}.markdown-preview pre{background-color:#f6f8fa;padding:16px;overflow:auto;border-radius:6px;margin-bottom:1.5em}.markdown-preview pre code{background-color:transparent;padding:0;font-size:100%}.markdown-preview hr{height:.25em;padding:0;margin:24px 0;background-color:#e1e4e8;border:0}.project-execution-container{font-family:Malgun Gothic,맑은 고딕,sans-serif;max-width:1200px;margin:0 auto;padding:20px;background-color:#f9f9f9;min-height:10vh}.project-execution-main{background-color:#fff;padding:20px;margin-bottom:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.project-execution-header{background-color:#fff;padding:20px;margin-bottom:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;align-items:center}.project-execution-title{margin:0;font-size:24px;font-weight:700}.project-execution-logo{font-size:18px;font-weight:700}.project-execution-title-section{text-align:center;margin-bottom:20px;padding:15px;background-color:#f8f9fa;border-radius:6px}.project-execution-subtitle{margin:0;font-size:20px;font-weight:700}.project-execution-section{margin-bottom:30px}.section-header{background-color:#f8f9fa;color:#333;padding:8px 12px;margin:0 0 15px;font-size:14px;font-weight:700}.project-execution-main .execution-file-list-table{width:100%;border-collapse:collapse;margin-bottom:30px;border:1px solid #ddd}.project-execution-main .execution-file-list-table th,.project-execution-main .execution-file-list-table td{padding:12px 15px;border:1px solid #ddd;text-align:left;vertical-align:middle}.project-execution-main .execution-file-list-table th{background-color:#000;color:#fff;font-weight:600;text-align:center;font-size:14px}.project-execution-main .execution-file-list-table .category-cell{text-align:center;font-weight:500;font-size:14px;background-color:#f7f7f7}.project-execution-main .execution-file-list-table .file-list-cell{padding:15px;vertical-align:top}.project-execution-main .file-items-container{display:flex;flex-direction:column;gap:8px}.project-execution-main .no-files-message{color:#888;font-size:13px;padding:10px 0}.project-execution-main .execution-file-list-table .file-item{display:flex;justify-content:space-between;align-items:center;padding:8px;background-color:#f8f9fa;border-radius:4px}.project-execution-main .execution-file-list-table .file-info{display:flex;flex-direction:column;align-items:flex-start}.project-execution-main .execution-file-list-table .file-details{margin-top:4px;font-size:12px;color:#666}.project-execution-main .file-actions{display:flex;gap:8px}.project-execution-main .file-pt-script-btn{background-color:#2d7ff9;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:4px 8px;transition:background-color .2s}.project-execution-main .file-pt-script-btn:disabled{background-color:#9bbcf5;cursor:not-allowed}.project-execution-main .file-pt-script-btn:hover:not(:disabled){background-color:#1f66d1}.project-execution-main .file-download-btn,.project-execution-main .execution-file-list-table .file-remove-btn{background:none;border:none;cursor:pointer;font-size:16px;color:#555;transition:color .2s;display:flex;align-items:center;justify-content:center}.project-execution-main .file-download-btn:hover,.project-execution-main .execution-file-list-table .file-remove-btn:hover{color:#000}.pt-script-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000073;display:flex;align-items:center;justify-content:center;z-index:1200}.pt-script-modal{background-color:#fff;border-radius:8px;width:min(720px,90vw);max-height:90vh;overflow:auto;padding:24px;box-shadow:0 16px 40px #0003}.pt-script-modal h3{margin:0;font-size:20px}.pt-script-modal-subtitle{margin:6px 0 18px;color:#666;font-size:13px}.pt-script-modal-body{display:flex;flex-direction:column;gap:12px}.pt-script-modal-field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#444}.pt-script-modal-field.left-align{align-items:flex-start}.pt-script-modal-field.left-align span{text-align:left;width:100%}.pt-script-modal-field.left-align textarea,.pt-script-modal-field.left-align input{width:100%}.pt-script-modal-field.center-align{align-items:center}.pt-script-modal-field.center-align span{text-align:center;width:100%}.pt-script-modal-field.center-align input{text-align:center;width:100px}.pt-script-modal-field textarea,.pt-script-modal-field input{border:1px solid #ddd;border-radius:6px;padding:10px;font-size:13px;font-family:inherit}.pt-script-modal-field textarea{min-height:70px;resize:vertical}.pt-script-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.pt-script-modal-cancel,.pt-script-modal-submit{border:none;border-radius:6px;padding:8px 16px;font-size:13px;cursor:pointer}.pt-script-modal-cancel{background-color:#e0e0e0;color:#333}.pt-script-modal-submit{background-color:#2d7ff9;color:#fff}.pt-script-modal-submit:hover{background-color:#1f66d1}.pt-script-modal-advanced{border:none;border-radius:6px;padding:8px 16px;font-size:13px;cursor:pointer;background-color:#6c757d;color:#fff;margin-right:auto}.pt-script-modal-advanced:hover{background-color:#5a6268}.file-drop-zone{border:2px dashed #ccc;border-radius:8px;padding:20px;text-align:center;cursor:pointer;transition:background-color .2s ease;min-height:150px}.drop-zone-message,.drop-zone-add-more{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#888}.drop-zone-icon{font-size:48px;margin-bottom:10px}.drop-zone-text p{margin:5px 0}.drop-zone-hint{font-size:12px;color:#aaa}.drop-zone-add-more{padding:15px;border-top:1px dashed #ccc;margin-top:10px;color:#007bff;font-weight:500}.staged-file-list{text-align:left}.file-item.staged-file{background-color:#f8f9fa;border-bottom:none}.staged-file .file-info{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.staged-file .file-details{display:flex;align-items:center;gap:8px}.file-category-badge{background-color:#e9ecef;color:#495057;padding:3px 8px;border-radius:4px;font-size:12px;font-weight:500}.upload-actions,.button-section{text-align:right;margin-top:20px}.button-section{padding-top:20px;border-top:1px solid #eee}.submit-btn{padding:12px 25px;background-color:#3498db;color:#fff;border:none;border-radius:5px;font-size:16px;cursor:pointer;font-weight:500;transition:background-color .2s ease}.submit-btn:hover{background-color:#2980b9}.submit-btn:disabled{background-color:#bdc3c7;cursor:not-allowed}.modal-content{background:#fff;border-radius:8px;overflow:hidden;display:flex;flex-direction:column}.modal-content.file-category-modal{width:90%;max-width:450px}.modal-header h3{margin:0;font-size:18px}.modal-body .radio-group{display:flex;flex-direction:column;gap:10px;margin-top:15px}.category-group strong{display:block;margin-bottom:8px;font-size:14px;color:#888}.radio-label{display:flex;align-items:center;gap:12px;font-size:16px;cursor:pointer;padding:12px;border-radius:4px;transition:background-color .2s}.radio-label span{color:#333;font-weight:600}.radio-label input[type=radio]{width:20px;height:20px;cursor:pointer}.radio-label:hover{background-color:#f8f9fa}.modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:16px 20px;border-top:1px solid #eee}.execution-file-list-table .project-code-cell{text-align:center!important;font-weight:700;font-size:3em;color:#0548f3}.project-default-profile-section{background-color:#f3f0ff;padding:20px;margin-bottom:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;transition:box-shadow .3s ease}.project-default-profile-section:hover{box-shadow:0 4px 10px #00000026}.project-execution-main .execution-file-list-table .add-file-btn{position:absolute;bottom:2px;right:2px;width:28px;height:28px;border-radius:4px;border:1px solid #3498db;background-color:#3498db;color:#fff;font-size:18px;font-weight:700;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background-color .2s,opacity .2s,transform .2s;box-shadow:0 2px 4px #0003;z-index:10}.project-execution-main .execution-file-list-table .add-file-btn:hover:not(:disabled){background-color:#2980b9;border-color:#2980b9;transform:scale(1.05)}.project-execution-main .execution-file-list-table .add-file-btn:disabled{background-color:#e0e0e0;border-color:#ccc;color:#a0a0a0;cursor:not-allowed;opacity:.7;box-shadow:none;transform:none}.loading-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(0,0,0,.1);border-left-color:#3498db;border-radius:50%;animation:spin 1s linear infinite;vertical-align:middle}.loading-spinner.large{width:40px;height:40px;border-width:4px}@keyframes spin{to{transform:rotate(360deg)}}.loading-container{display:flex;justify-content:center;align-items:center;padding:40px;flex-direction:column;gap:10px;color:#666}.table-wrapper{position:relative;min-height:200px}.table-loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#ffffffb3;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:50;border-radius:4px}.execution-file-list-table.is-loading{opacity:.5;pointer-events:none}.project-execution-main .file-preview-btn{background:none;border:none;cursor:pointer;font-size:16px;color:#555;transition:color .2s;display:flex;align-items:center;justify-content:center}.project-execution-main .file-preview-btn:hover:not(:disabled){color:#2d7ff9}.project-execution-main .file-preview-btn:disabled{color:#ccc;cursor:not-allowed}.text-preview-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1200}.text-preview-modal{background-color:#fff;border-radius:8px;width:min(900px,90vw);max-height:85vh;display:flex;flex-direction:column;box-shadow:0 16px 40px #00000040}.text-preview-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid #eee;background-color:#f8f9fa;border-radius:8px 8px 0 0}.text-preview-modal-header h3{margin:0;font-size:16px;color:#333;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 40px)}.text-preview-modal-close{background:none;border:none;font-size:18px;cursor:pointer;color:#666;padding:4px 8px;border-radius:4px;transition:background-color .2s,color .2s}.text-preview-modal-close:hover{background-color:#e9ecef;color:#333}.text-preview-modal-body{flex:1;overflow:auto;padding:20px 24px;min-height:300px;max-height:60vh}.text-preview-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;color:#666}.text-preview-loading p{margin-top:12px;font-size:14px}.text-preview-content{margin:0;white-space:pre-wrap;word-wrap:break-word;font-family:Consolas,Monaco,Courier New,monospace;font-size:13px;line-height:1.6;color:#333;background-color:#f8f9fa;padding:16px;border-radius:6px;border:1px solid #e9ecef}.text-preview-modal-actions{display:flex;justify-content:flex-end;padding:12px 24px;border-top:1px solid #eee;background-color:#fafafa;border-radius:0 0 8px 8px}.text-preview-modal-close-btn{background-color:#6c757d;color:#fff;border:none;border-radius:6px;padding:8px 20px;font-size:14px;cursor:pointer;transition:background-color .2s}.text-preview-modal-close-btn:hover{background-color:#5a6268}:root{--fms-primary: #1a365d;--fms-primary-light: #2c5282;--fms-primary-dark: #0d1b2a;--fms-accent: #3182ce;--fms-accent-light: #63b3ed;--fms-accent-hover: #2b6cb0;--fms-success: #38a169;--fms-success-light: #c6f6d5;--fms-warning: #d69e2e;--fms-warning-light: #fefcbf;--fms-error: #e53e3e;--fms-error-light: #fed7d7;--fms-gray-50: #f7fafc;--fms-gray-100: #edf2f7;--fms-gray-200: #e2e8f0;--fms-gray-300: #cbd5e0;--fms-gray-400: #a0aec0;--fms-gray-500: #718096;--fms-gray-600: #4a5568;--fms-gray-700: #2d3748;--fms-gray-800: #1a202c;--fms-font: -apple-system, BlinkMacSystemFont, "Segoe UI", "Malgun Gothic", sans-serif;--fms-space-xs: 4px;--fms-space-sm: 8px;--fms-space-md: 12px;--fms-space-lg: 16px;--fms-space-xl: 24px;--fms-radius-sm: 4px;--fms-radius-md: 6px;--fms-radius-lg: 8px;--fms-shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--fms-shadow-md: 0 2px 4px rgba(0, 0, 0, .06), 0 4px 6px rgba(0, 0, 0, .04);--fms-shadow-lg: 0 4px 6px rgba(0, 0, 0, .05), 0 10px 15px rgba(0, 0, 0, .08)}.file-management-system-container{font-family:var(--fms-font);max-width:1400px;margin:0 auto;padding:var(--fms-space-lg);background-color:var(--fms-gray-50);min-height:100vh}.file-management-system-header{background:linear-gradient(135deg,var(--fms-primary) 0%,var(--fms-primary-light) 100%);color:#fff;padding:var(--fms-space-lg) var(--fms-space-xl);margin-bottom:var(--fms-space-lg);border-radius:var(--fms-radius-lg);box-shadow:var(--fms-shadow-lg);display:flex;justify-content:space-between;align-items:center}.file-management-system-title{margin:0;font-size:1.5rem;font-weight:600;color:#fff!important;letter-spacing:-.02em}.file-management-system-logo{font-size:.95rem;font-weight:500;color:#ffffffd9;padding:var(--fms-space-xs) var(--fms-space-md);background:#ffffff1a;border-radius:var(--fms-radius-sm)}.file-management-system-main{background:transparent;padding:0;display:flex;flex-direction:column;gap:var(--fms-space-md)}.file-management-system-section{background:#fff;border-radius:var(--fms-radius-lg);box-shadow:var(--fms-shadow-md);overflow:hidden;margin-bottom:0}.section-header{margin:0;padding:var(--fms-space-md) var(--fms-space-lg);font-size:.9rem;font-weight:600;color:var(--fms-gray-700);background:var(--fms-gray-50);border-bottom:1px solid var(--fms-gray-200);display:flex;align-items:center;gap:var(--fms-space-sm)}.section-header:before{content:"";width:3px;height:16px;background:var(--fms-accent);border-radius:2px}.file-management-system-table,.file-list-table,.search-table{width:100%;border-collapse:collapse;font-size:.8rem}.file-management-system-table th,.file-list-table th,.search-table th{background:var(--fms-gray-50);padding:var(--fms-space-sm) var(--fms-space-md);text-align:left;font-weight:600;font-size:.75rem;color:var(--fms-gray-600);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--fms-gray-200)}.file-management-system-table td,.file-list-table td,.search-table td{padding:var(--fms-space-sm) var(--fms-space-md);border-bottom:1px solid var(--fms-gray-100);color:var(--fms-gray-700);vertical-align:middle}.file-management-system-table tr:hover td,.file-list-table tr:hover td,.search-table tr:hover td{background:var(--fms-gray-50)}.file-management-system-table tr:last-child td,.file-list-table tr:last-child td{border-bottom:none}.table-header{background:var(--fms-primary);color:#fff;padding:var(--fms-space-sm) var(--fms-space-md);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.btn-primary,.submit-btn{background:var(--fms-accent);color:#fff;border:none;padding:var(--fms-space-sm) var(--fms-space-lg);border-radius:var(--fms-radius-md);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;justify-content:center;gap:var(--fms-space-xs)}.btn-primary:hover,.submit-btn:hover{background:var(--fms-accent-hover);transform:translateY(-1px);box-shadow:0 2px 8px #3182ce4d}.btn-primary:disabled,.submit-btn:disabled{background:var(--fms-gray-400);cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{background:#fff;color:var(--fms-gray-700);border:1px solid var(--fms-gray-300);padding:var(--fms-space-sm) var(--fms-space-lg);border-radius:var(--fms-radius-md);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-secondary:hover{background:var(--fms-gray-50);border-color:var(--fms-gray-400)}.btn-sm{padding:var(--fms-space-xs) var(--fms-space-md);font-size:.75rem}.btn-danger{background:var(--fms-error);color:#fff;border:none;padding:var(--fms-space-sm) var(--fms-space-lg);border-radius:var(--fms-radius-md);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-danger:hover{background:#c53030}.file-management-system-actions{display:flex;justify-content:flex-end;gap:var(--fms-space-sm);padding:var(--fms-space-md) var(--fms-space-lg);background:var(--fms-gray-50);border-top:1px solid var(--fms-gray-200)}.button-section{padding:var(--fms-space-md) var(--fms-space-lg);background:var(--fms-gray-50);display:flex;justify-content:flex-end;gap:var(--fms-space-sm);border-top:1px solid var(--fms-gray-200)}.file-upload-section{padding:var(--fms-space-md) var(--fms-space-lg)}.file-drop-zone{border:2px dashed var(--fms-gray-300);border-radius:var(--fms-radius-md);padding:var(--fms-space-lg);text-align:center;cursor:pointer;transition:all .2s ease;background:var(--fms-gray-50)}.file-drop-zone:hover{border-color:var(--fms-accent);background:#3182ce05}.file-drop-zone.drag-over{border-color:var(--fms-accent);background:#3182ce0d;border-style:solid}.drop-zone-message{display:flex;flex-direction:column;align-items:center;gap:var(--fms-space-sm)}.drop-zone-icon{font-size:2rem;color:var(--fms-gray-400)}.drop-zone-text p{margin:0;font-size:.85rem;color:var(--fms-gray-600)}.drop-zone-hint{font-size:.75rem!important;color:var(--fms-gray-400)!important}.file-list{text-align:left}.file-item{display:flex;justify-content:space-between;align-items:center;padding:var(--fms-space-sm) var(--fms-space-md);margin-bottom:var(--fms-space-xs);background:#fff;border-radius:var(--fms-radius-sm);border:1px solid var(--fms-gray-200)}.file-item:last-child{margin-bottom:0}.file-info{display:flex;flex-direction:column;gap:2px}.file-name{font-size:.8rem;color:var(--fms-gray-700);font-weight:500}.file-details{display:flex;gap:var(--fms-space-sm);align-items:center}.file-category-badge{font-size:.65rem;padding:2px 6px;background:var(--fms-accent-light);color:var(--fms-primary);border-radius:10px;font-weight:500}.file-size{font-size:.7rem;color:var(--fms-gray-400)}.file-remove-btn{background:none;border:none;cursor:pointer;font-size:.85rem;padding:var(--fms-space-xs);opacity:.5;transition:opacity .15s;color:var(--fms-gray-500)}.file-remove-btn:hover{opacity:1;color:var(--fms-error)}.drop-zone-add-more{padding:var(--fms-space-sm);text-align:center;color:var(--fms-accent);font-size:.8rem;cursor:pointer;border-top:1px dashed var(--fms-gray-200);margin-top:var(--fms-space-sm);transition:background .15s}.drop-zone-add-more:hover{background:#3182ce0d}.upload-actions{margin-top:var(--fms-space-md);text-align:right}.btn-preview,.btn-download{display:inline-flex;align-items:center;gap:4px;background:#fff;border:1px solid var(--fms-gray-200);padding:4px 8px;border-radius:var(--fms-radius-sm);cursor:pointer;font-size:.7rem;color:var(--fms-gray-600);text-decoration:none;transition:all .15s}.btn-preview:hover{background:var(--fms-accent-light);border-color:var(--fms-accent);color:var(--fms-primary)}.btn-download:hover{background:var(--fms-success-light);border-color:var(--fms-success);color:var(--fms-success)}.btn-close-preview{background:var(--fms-error-light);border:1px solid var(--fms-error);padding:4px 10px;border-radius:var(--fms-radius-sm);cursor:pointer;font-size:.7rem;color:var(--fms-error);transition:all .15s}.btn-close-preview:hover{background:var(--fms-error);color:#fff}.file-type-badge{display:inline-block;padding:2px 8px;background:var(--fms-gray-100);color:var(--fms-gray-600);border-radius:10px;font-size:.65rem;font-weight:500;text-transform:uppercase}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:var(--fms-radius-lg);width:90%;max-width:700px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 40px #00000026}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--fms-space-md) var(--fms-space-lg);border-bottom:1px solid var(--fms-gray-200);background:var(--fms-gray-50)}.modal-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--fms-gray-800)}.modal-close-btn{background:none;border:none;font-size:1.25rem;cursor:pointer;color:var(--fms-gray-400);padding:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--fms-radius-sm);transition:all .15s}.modal-close-btn:hover{background:var(--fms-gray-200);color:var(--fms-gray-700)}.modal-body{padding:var(--fms-space-lg);max-height:60vh;overflow-y:auto}.modal-actions{display:flex;justify-content:flex-end;gap:var(--fms-space-sm);margin-top:var(--fms-space-lg);padding-top:var(--fms-space-lg);border-top:1px solid var(--fms-gray-200)}.btn-secondary{padding:var(--fms-space-sm) var(--fms-space-lg);background:var(--fms-gray-100);color:var(--fms-gray-600);border:1px solid var(--fms-gray-300);border-radius:var(--fms-radius-md);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-secondary:hover{background:var(--fms-gray-200);border-color:var(--fms-gray-400)}.input-with-search{display:flex;align-items:center;gap:var(--fms-space-sm)}.search-btn{background:var(--fms-gray-100);border:1px solid var(--fms-gray-200);border-radius:var(--fms-radius-sm);width:28px;height:28px;cursor:pointer;font-size:.85rem;display:flex;align-items:center;justify-content:center;transition:all .15s}.search-btn:hover{background:var(--fms-gray-200)}.search-info{margin-bottom:var(--fms-space-md);padding:var(--fms-space-md);background:var(--fms-accent-light);border-radius:var(--fms-radius-sm);border-left:3px solid var(--fms-accent)}.search-info p{margin:0;font-weight:500;font-size:.85rem;color:var(--fms-primary)}.select-btn{background:var(--fms-accent);color:#fff;border:none;padding:4px 10px;border-radius:var(--fms-radius-sm);cursor:pointer;font-size:.7rem;font-weight:500;transition:all .15s}.select-btn:hover{background:var(--fms-accent-hover)}.file-management-system-input,.file-management-system-textarea,.writer-field-input{width:100%;border:1px solid var(--fms-gray-200);border-radius:var(--fms-radius-sm);padding:var(--fms-space-sm) var(--fms-space-md);font-size:.85rem;font-family:var(--fms-font);color:var(--fms-gray-700);background:#fff;transition:all .15s}.file-management-system-input:focus,.file-management-system-textarea:focus,.writer-field-input:focus{outline:none;border-color:var(--fms-accent);box-shadow:0 0 0 3px #3182ce1a}.file-management-system-textarea{min-height:60px;resize:vertical;line-height:1.5}.file-management-system-textarea::placeholder{color:var(--fms-gray-400)}.file-management-system-checkbox{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:16px;height:16px;border:2px solid var(--fms-gray-300);border-radius:3px;background:#fff;cursor:pointer;position:relative;transition:all .15s}.file-management-system-checkbox:checked{background:var(--fms-accent);border-color:var(--fms-accent)}.file-management-system-checkbox:checked:after{content:"";position:absolute;top:2px;left:5px;width:4px;height:8px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.file-management-system-checkbox:hover{border-color:var(--fms-accent)}.file-management-system-label{display:flex;align-items:flex-start;gap:var(--fms-space-sm);font-size:.85rem;color:var(--fms-gray-700);cursor:pointer;-webkit-user-select:none;user-select:none}.pagination{display:flex;justify-content:center;align-items:center;gap:var(--fms-space-xs);margin-top:var(--fms-space-lg)}.page-btn{padding:var(--fms-space-xs) var(--fms-space-md);border:1px solid var(--fms-gray-200);background:#fff;cursor:pointer;border-radius:var(--fms-radius-sm);font-size:.8rem;transition:all .15s;color:var(--fms-gray-600)}.page-btn:hover:not(:disabled){background:var(--fms-gray-50);border-color:var(--fms-accent);color:var(--fms-accent)}.page-btn.active{background:var(--fms-accent);color:#fff;border-color:var(--fms-accent)}.page-btn:disabled{opacity:.4;cursor:not-allowed}.loading,.loading-indicator{display:flex;align-items:center;justify-content:center;padding:var(--fms-space-xl);color:var(--fms-gray-500);font-size:.85rem}.no-results,.empty-state{text-align:center;padding:var(--fms-space-xl);color:var(--fms-gray-400)}.empty-state-icon{font-size:2rem;margin-bottom:var(--fms-space-sm)}.file-management-system-item.completed{background:var(--fms-success-light);border-left:3px solid var(--fms-success);padding-left:var(--fms-space-md);border-radius:var(--fms-radius-sm)}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:var(--fms-gray-400)}.text-success{color:var(--fms-success)}.text-error{color:var(--fms-error)}.modal-body::-webkit-scrollbar,.file-management-system-textarea::-webkit-scrollbar{width:6px}.modal-body::-webkit-scrollbar-track,.file-management-system-textarea::-webkit-scrollbar-track{background:var(--fms-gray-100);border-radius:3px}.modal-body::-webkit-scrollbar-thumb,.file-management-system-textarea::-webkit-scrollbar-thumb{background:var(--fms-gray-300);border-radius:3px}.modal-body::-webkit-scrollbar-thumb:hover,.file-management-system-textarea::-webkit-scrollbar-thumb:hover{background:var(--fms-gray-400)}.preview-container{background:var(--fms-gray-50);border:1px solid var(--fms-gray-200);border-radius:var(--fms-radius-md);padding:var(--fms-space-md);margin:var(--fms-space-md)}.preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--fms-space-md);padding-bottom:var(--fms-space-sm);border-bottom:1px solid var(--fms-gray-200)}.preview-title{font-size:.9rem;font-weight:600;color:var(--fms-gray-700)}.gcs-file-list{max-height:200px;overflow-y:auto;border:1px solid var(--fms-gray-200);border-radius:var(--fms-radius-sm)}.gcs-file-item{display:flex;justify-content:space-between;align-items:center;padding:var(--fms-space-sm) var(--fms-space-md);border-bottom:1px solid var(--fms-gray-100);cursor:pointer;transition:background .15s}.gcs-file-item:last-child{border-bottom:none}.gcs-file-item:hover{background:var(--fms-gray-50)}.gcs-file-item.selected{background:var(--fms-accent-light);border-left:3px solid var(--fms-accent)}.comparison-table{font-size:.8rem}.comparison-table th{position:sticky;top:0;background:var(--fms-gray-100);z-index:1}.match-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:10px;font-size:.7rem;font-weight:500}.match-badge.success{background:var(--fms-success-light);color:var(--fms-success)}.match-badge.error{background:var(--fms-error-light);color:var(--fms-error)}@media (max-width: 768px){.file-management-system-container{padding:var(--fms-space-sm)}.file-management-system-header{padding:var(--fms-space-md);flex-direction:column;gap:var(--fms-space-sm);text-align:center}.file-management-system-title{font-size:1.2rem}.section-header{padding:var(--fms-space-sm) var(--fms-space-md);font-size:.85rem}.file-management-system-actions,.button-section{flex-direction:column}.btn-primary,.btn-secondary,.submit-btn{width:100%}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.file-management-system-section{animation:fadeIn .2s ease-out}.generation-panel{display:flex;justify-content:space-between;align-items:center;padding:var(--fms-space-md) var(--fms-space-lg);background:var(--fms-gray-50);border-radius:var(--fms-radius-md)}.generation-options{display:flex;align-items:center;gap:var(--fms-space-xl)}.pdf-preview-wrapper{margin-top:var(--fms-space-sm);border-radius:var(--fms-radius-md);overflow:hidden;box-shadow:var(--fms-shadow-md);border:1px solid var(--fms-primary-light)}.pdf-preview-header{display:flex;justify-content:space-between;align-items:center;padding:6px 12px;background:linear-gradient(135deg,var(--fms-primary) 0%,var(--fms-primary-light) 100%)}.pdf-preview-title{display:flex;align-items:center;gap:6px;font-size:.75rem;font-weight:500;color:#fff;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-preview-title:before{content:"📄";font-size:.85rem}.pdf-preview-actions{display:flex;gap:6px}.pdf-preview-actions .btn-action{padding:3px 8px;font-size:.65rem;border-radius:var(--fms-radius-sm);border:none;cursor:pointer;transition:all .15s;text-decoration:none}.pdf-preview-actions .btn-new-tab{background:#ffffffe6;color:var(--fms-primary)}.pdf-preview-actions .btn-new-tab:hover{background:#fff}.pdf-preview-actions .btn-close{background:#fff3;color:#fff}.pdf-preview-actions .btn-close:hover{background:var(--fms-error)}.pdf-preview-frame{width:100%;height:320px;border:none;display:block}.saved-results-table{width:100%;border-collapse:collapse;font-size:.8rem}.saved-results-table thead tr{background:linear-gradient(135deg,var(--fms-gray-100) 0%,var(--fms-gray-50) 100%)}.saved-results-table th{padding:8px 10px;font-weight:600;font-size:.75rem;color:var(--fms-gray-700);text-align:left;border-bottom:2px solid var(--fms-gray-200)}.saved-results-table th:first-child,.saved-results-table th:nth-child(3){text-align:center}.saved-results-table td{padding:6px 10px;border-bottom:1px solid var(--fms-gray-100);vertical-align:middle}.saved-results-table tbody tr{transition:background .15s}.saved-results-table tbody tr:hover{background:var(--fms-gray-50)}.saved-results-table tbody tr.matched{background:#38a1690d}.saved-results-table tbody tr.unmatched{background:#e53e3e08}.match-status-cell{text-align:center}.match-indicator{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:12px;font-size:.7rem;font-weight:600;gap:4px}.match-indicator.matched{background:var(--fms-success);color:#fff;box-shadow:0 2px 4px #38a1694d}.match-indicator.unmatched{background:var(--fms-gray-300);color:var(--fms-gray-600)}.results-summary-bar{display:flex;align-items:center;gap:var(--fms-space-lg);padding:var(--fms-space-sm) var(--fms-space-md);background:var(--fms-gray-50);border-radius:var(--fms-radius-sm);margin-top:var(--fms-space-md);font-size:.8rem}.results-summary-bar .stat-item{display:flex;align-items:center;gap:4px}.results-summary-bar .stat-value{font-weight:600}.results-summary-bar .stat-value.success{color:var(--fms-success)}.results-summary-bar .stat-value.error{color:var(--fms-error)}.saved-results-empty{padding:var(--fms-space-xl);text-align:center;color:var(--fms-gray-400);font-size:.85rem}.policies-container{font-family:Malgun Gothic,맑은 고딕,sans-serif;max-width:1200px;margin:0 auto;padding:20px;background-color:#f9f9f9;min-height:100vh}.policies-header{background-color:#fff;padding:20px;margin-bottom:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;align-items:center}.policies-title{margin:0;font-size:24px;font-weight:700}.policies-logo{font-size:18px;font-weight:700}.policies-main{background-color:#fff;padding:20px;margin-bottom:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.policies-title-section{text-align:center;margin-bottom:20px;padding:15px;background-color:#f8f9fa;border-radius:6px}.policies-subtitle{margin:0;font-size:20px;font-weight:700}.policies-writer{margin-top:10px}.writer-form{display:flex;justify-content:center;gap:30px}.writer-field{display:flex;align-items:center;gap:8px}.writer-field-label{font-size:14px;font-weight:500;min-width:80px}.writer-field-input{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;width:150px}.policies-section{margin-bottom:30px}.section-header{background-color:#f8f9fa;color:#333;padding:8px 12px;margin:0;font-size:14px;font-weight:700}.policies-table{width:100%;border-collapse:collapse;border:1px solid #333;margin-top:0}.table-header{background-color:#333;color:#fff;padding:8px 12px;font-size:14px;font-weight:700;border:1px solid #333;text-align:center}.table-cell{padding:8px 12px;border:1px solid #ddd;font-size:13px}.table-cell-label{background-color:#f8f9fa;width:120px;text-align:center;vertical-align:middle;font-weight:500}.table-cell-rowspan{vertical-align:middle;text-align:center;font-weight:700;background-color:#f0f0f0;width:100px;writing-mode:horizontal-tb}.table-cell-input{padding:8px 12px;border:1px solid #ddd;vertical-align:top}.policies-item-cell{padding:12px}.policies-item{display:flex;flex-direction:column;gap:8px}.policies-label{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.4;font-weight:500;cursor:pointer;color:#333}.policies-checkbox{margin:0;flex-shrink:0;width:16px;height:16px;cursor:pointer;accent-color:#007bff}.policies-checkbox:checked{background-color:#007bff}.policies-input{width:100%;border:none;outline:none;font-size:13px;color:#333!important}.policies-input:focus{background-color:#fff!important;color:#333!important}.policies-textarea{width:100%;border:1px solid #ddd;border-radius:4px;padding:6px 8px;font-size:13px;font-family:inherit;color:#333!important;line-height:1.4;resize:vertical;min-height:40px;background-color:#fafafa}.policies-textarea:focus{background-color:#fff!important;color:#333!important;outline:2px solid #007bff;outline-offset:-2px;border-color:#007bff}.policies-textarea::placeholder{color:#999;font-style:italic}.policies-actions{display:flex;justify-content:center;gap:15px;margin-top:30px;padding-top:20px;border-top:1px solid #eee}.btn-primary{background-color:#007bff;color:#fff;border:none;padding:10px 20px;border-radius:4px;font-size:14px;cursor:pointer;font-weight:500}.btn-primary:hover{background-color:#0056b3}.btn-secondary{background-color:#6c757d;color:#fff;border:none;padding:10px 20px;border-radius:4px;font-size:14px;cursor:pointer;font-weight:500}.btn-secondary:hover{background-color:#545b62}.policies-input:-webkit-autofill,.policies-input:-webkit-autofill:hover,.policies-input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px white inset!important;-webkit-text-fill-color:#333!important;background-color:#fff!important;border-color:transparent!important}.policies-textarea:-webkit-autofill,.policies-textarea:-webkit-autofill:hover,.policies-textarea:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px white inset!important;-webkit-text-fill-color:#333!important;background-color:#fff!important}.policies-checkbox{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:16px;height:16px;border:2px solid #007bff;border-radius:3px;background-color:#fff;position:relative;cursor:pointer}.policies-checkbox:checked{background-color:#007bff;border-color:#007bff}.policies-checkbox:checked:after{content:"✓";position:absolute;top:-2px;left:1px;color:#fff;font-size:12px;font-weight:700}.policies-checkbox:hover{border-color:#0056b3}.policies-checkbox:focus{outline:2px solid #007bff;outline-offset:2px}.policies-checkbox:checked+.policies-label{color:#007bff}.policies-label{-webkit-user-select:none;user-select:none;transition:color .2s ease}.policies-label:hover{color:#007bff}.policies-label br{line-height:1.6}.policies-item.completed{background-color:#f8f9fa;border-left:4px solid #28a745;padding-left:12px}.policies-textarea{transition:border-color .2s ease,box-shadow .2s ease}.policies-textarea:focus{box-shadow:0 0 0 3px #007bff1a}.policies-checkbox:focus-visible{outline:2px solid #007bff;outline-offset:2px}.policies-label:focus-within{background-color:#007bff0d;border-radius:4px;padding:2px}.policies-label{align-items:flex-start;margin-top:2px}.policies-checkbox{margin-top:2px}.policies-table tbody tr{border-bottom:1px solid #eee}.policies-table tbody tr:last-child{border-bottom:none}.policies-textarea::-webkit-scrollbar{width:8px}.policies-textarea::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.policies-textarea::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.policies-textarea::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.input-with-search{display:flex;align-items:center;gap:8px}.search-btn{background:#f8f9fa;border:1px solid #ddd;border-radius:4px;width:32px;height:32px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center}.search-btn:hover{background:#e9ecef}.modal-content{background:#fff;border-radius:8px;width:90%;max-width:800px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #eee}.modal-header h3{margin:0}.modal-close-btn{background:none;border:none;font-size:24px;cursor:pointer}.modal-body{padding:20px;overflow-y:auto}.search-table{width:100%;border-collapse:collapse;margin-bottom:20px}.search-table th,.search-table td{padding:12px;text-align:left;border-bottom:1px solid #eee}.search-table th{background:#f8f9fa;font-weight:600}.select-btn{background:#007bff;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px}.select-btn:hover{background:#0056b3}.loading,.no-results{text-align:center;padding:40px;color:#666}.generation-panel{display:flex;justify-content:space-between;align-items:center;padding:20px;background-color:#f8f9fa;border-radius:6px;margin-top:30px;margin-bottom:30px}.generation-options{display:flex;align-items:center;gap:30px}.policies-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:30px;padding-top:20px;border-top:1px solid #eee}.file-upload-section{margin-top:15px;margin-bottom:20px}.file-drop-zone{border:2px dashed #ccc;border-radius:8px;padding:20px;text-align:center;cursor:pointer;transition:background-color .2s ease}.file-drop-zone.drag-over{background-color:#e9ecef;border-color:#007bff}.file-item{display:flex;justify-content:space-between;align-items:center;padding:10px;border-bottom:1px solid #eee}.access-control-container{padding:2rem;background-color:#f9f9f9;min-height:100vh}.access-control-header{margin-bottom:2rem;text-align:center}.access-control-header h1{font-size:2.5rem;color:#333;margin-bottom:.5rem}.access-control-header p{font-size:1.1rem;color:#666}.access-control-tabs{display:flex;justify-content:flex-start;margin-bottom:2rem;border-bottom:2px solid #e0e0e0;padding-bottom:0}.tab-button{padding:1rem 2rem;font-size:1.2rem;font-weight:700;color:#666;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;transition:all .3s ease}.tab-button:hover{color:#007bff;background-color:#007bff0d}.tab-button.active{color:#007bff;border-bottom:3px solid #007bff}.access-control-content{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000d;padding:2rem;min-height:500px}.rbac-builder-container{height:100%;display:flex;flex-direction:column;background-color:#f8f9fa;overflow-y:auto;position:relative}.rbac-saving-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#fffc;z-index:1500;text-align:center}.rbac-saving-overlay .spinner{width:48px;height:48px;border:4px solid #eef2f7;border-top:4px solid #007bff;border-radius:50%;animation:spin .9s linear infinite}.rbac-saving-overlay p{margin:0;color:#3c4257;font-weight:600}.role-list-loading{display:flex;align-items:center;justify-content:center;padding:40px 20px}.role-list-loading .spinner{width:30px;height:30px;border:3px solid #f3f3f3;border-top:3px solid #007bff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.badge-new{background-color:#28a745;color:#fff;font-size:.7rem;padding:2px 6px;border-radius:4px;margin-left:8px;font-weight:700;vertical-align:middle}.tree-node.virtual{border-left:4px solid #ffc107;background-color:#fffbf2}.tree-node.virtual .node-header{background-color:#fff8e1}.page-permission-manager{display:none}.rbac-divider{height:1px;background:#ddd;margin:20px}.rbac-layout-bottom-header{padding:0 20px;margin-bottom:10px}.rbac-layout-bottom-header h2{font-size:1.2rem;margin:0 0 5px;color:#333}.rbac-layout-bottom-header p{margin:0;color:#666;font-size:.9rem}.rbac-layout{display:flex;gap:20px;padding:20px;min-height:500px}.role-sidebar{width:300px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;display:flex;flex-direction:column;overflow:hidden;flex-shrink:0}.sidebar-header{padding:15px;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center}.sidebar-header h3{margin:0;font-size:1.1rem}.sidebar-header button{background:#007bff;color:#fff;border:none;padding:5px 10px;border-radius:4px;cursor:pointer;font-size:.8rem}.role-mini-form{padding:10px;background:#f1f8ff;border-bottom:1px solid #eee;display:flex;flex-direction:column;gap:8px}.role-mini-form input{padding:6px;border:1px solid #ccc;border-radius:4px;background-color:#fff;color:#333;transition:border-color .2s,box-shadow .2s}.role-mini-form input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40;background-color:#fff;color:#333}.role-mini-form .form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px;align-self:stretch}.role-mini-form .form-actions button{background:#007bff;color:#fff;border:none;padding:8px 12px;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background-color .15s ease,transform .1s ease}.role-mini-form .form-actions button:hover{background:#0069d9;transform:translateY(-1px)}.role-mini-form .form-actions button:active{transform:translateY(0)}.role-mini-form .form-actions button+button{background:#6c757d}.role-list{list-style:none;padding:0;margin:0;overflow-y:auto;flex:1}.role-list li{padding:12px 15px;border-bottom:1px solid #f5f5f5;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background .2s}.role-list li:hover{background-color:#fafafa}.role-list li.active{background-color:#e7f3ff;border-left:4px solid #007bff}.role-info{display:flex;flex-direction:column}.role-name{font-weight:500}.role-code{font-size:.8rem;color:#888}.role-actions{display:flex;gap:5px;opacity:0;transition:opacity .2s}.role-list li:hover .role-actions{opacity:1}.permission-content{flex:1;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;display:flex;flex-direction:column;overflow:hidden}.content-header{padding:15px 20px;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center;background:#fff}.header-actions{display:flex;gap:10px}.btn-primary{background:#28a745;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-weight:500}.btn-secondary{background:#6c757d;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer}.permission-tree-container{padding:20px;overflow-y:auto;flex:1}.tree-node{margin-bottom:15px;border:1px solid #eee;border-radius:6px;background:#fff}.page-node{border-left:4px solid #28a745}.orphan-node{border-left:4px solid #6c757d;opacity:.8}.node-header{padding:10px 15px;background:#f8f9fa;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #eee}.node-header label{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:600;font-size:1.05rem}.node-code{font-weight:400;font-size:.8rem;color:#888;margin-left:5px}.node-actions{display:flex;gap:8px}.node-actions button{font-size:.8rem;padding:4px 8px;background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer}.node-actions button:hover{background:#eee}.node-children{padding:15px}.children-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}.child-node{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#fff;border:1px solid #eee;border-radius:4px;transition:all .2s}.child-node:hover{border-color:#b8daff;background:#f0f8ff}.child-node label{display:flex;align-items:center;gap:8px;cursor:pointer;flex:1;font-size:.95rem}.child-type-badge{font-size:.7rem;padding:2px 4px;border-radius:3px;font-weight:700;min-width:15px;text-align:center}.section-node .child-type-badge{background:#e3f2fd;color:#007bff}.action-node .child-type-badge{background:#fff3cd;color:#856404}.unknown-node .child-type-badge{background:#e2e3e5;color:#383d41}.child-actions{opacity:.2;transition:opacity .2s}.child-node:hover .child-actions{opacity:1}.icon-btn{border:none;background:none;cursor:pointer;font-size:1rem;padding:2px 5px}.icon-btn.delete{color:#dc3545}.icon-btn:hover{transform:scale(1.2)}.empty-children{color:#aaa;font-style:italic;font-size:.9rem}.role-members-section{margin-top:30px;border:1px solid #eee;border-radius:6px;padding:15px}.role-members-section .section-header{display:flex;justify-content:space-between;margin-bottom:15px}.add-member-button{background:linear-gradient(135deg,#4f8ef7,#2f6fe4);color:#fff;border:none;padding:8px 12px;border-radius:6px;cursor:pointer;font-weight:600;box-shadow:0 2px 6px #2f6fe440;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.add-member-button:hover{transform:translateY(-1px);box-shadow:0 4px 10px #2f6fe440;filter:brightness(1.05)}.add-member-button:active{transform:translateY(0);box-shadow:0 2px 6px #2f6fe440}.members-loading{display:flex;align-items:center;gap:10px;padding:14px;background:#f8f9fa;border:1px dashed #d1d9e0;border-radius:6px;color:#4a5568;font-size:.95rem}.members-loading .spinner{width:22px;height:22px;border:3px solid #eef2f7;border-top:3px solid #007bff;border-radius:50%;animation:spin .9s linear infinite}.members-list{display:flex;flex-wrap:wrap;gap:8px}.member-chip{background:#e9ecef;padding:5px 10px;border-radius:20px;display:flex;align-items:center;gap:8px;font-size:.9rem}.member-chip button{border:none;background:#6c757d;color:#fff;border-radius:50%;width:18px;height:18px;font-size:12px;display:flex;align-items:center;justify-content:center;cursor:pointer}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;padding:25px;border-radius:8px;width:500px;max-width:90%;box-shadow:0 4px 12px #00000026}.permission-modal h3{margin-top:0;margin-bottom:20px;border-bottom:1px solid #eee;padding-bottom:10px}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:5px;font-weight:500}.form-group input,.form-group select,.form-group textarea{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px;font-size:1rem;background-color:#fff;color:#333}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40;background-color:#fff;color:#333}.input-group{display:flex;align-items:center}.input-group .prefix{background:#eee;padding:8px;border:1px solid #ddd;border-right:none;border-radius:4px 0 0 4px;font-family:monospace}.input-group input{border-radius:0 4px 4px 0}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.empty-state{display:flex;align-items:center;justify-content:center;height:100%;color:#999;font-size:1.2rem}.policy-builder-container{padding:2rem;background-color:#f9fafb;height:100%}.policy-builder-header{border-bottom:1px solid #e5e7eb;padding-bottom:1rem;margin-bottom:2rem}.policy-builder-header h1{font-size:1.8rem;font-weight:600;color:#111827}.policy-builder-header p{font-size:1rem;color:#6b7280}.policy-form{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:2rem;box-shadow:0 1px 3px #0000000d}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-weight:500;margin-bottom:.5rem;color:#374151}.form-group input[type=text]{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:1rem}.rules-engine{border-top:1px solid #e5e7eb;padding-top:1.5rem;margin-top:2rem}.rules-engine h2{font-size:1.5rem;font-weight:600;margin-bottom:.25rem}.rules-engine p{color:#6b7280;margin-top:0;margin-bottom:1.5rem}.rules-list{display:flex;flex-direction:column;gap:1rem}.no-rules-text{color:#9ca3af;font-style:italic;text-align:center;padding:2rem;border:2px dashed #e5e7eb;border-radius:6px}.add-rule-btn{background-color:#eff6ff;color:#1d4ed8;border:1px dashed #93c5fd;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;font-weight:500;transition:background-color .2s;margin-top:1rem}.add-rule-btn:hover{background-color:#dbeafe}.policy-actions{border-top:1px solid #e5e7eb;padding-top:1.5rem;margin-top:2rem;text-align:right}.save-policy-btn{background-color:#2563eb;color:#fff;padding:.75rem 2rem;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s}.save-policy-btn:hover{background-color:#1d4ed8}.save-policy-btn:disabled{background-color:#9ca3af;cursor:not-allowed}.rule-placeholder{background-color:#f3f4f6;border:1px solid #e5e7eb;padding:1rem;border-radius:6px;display:flex;justify-content:space-between;align-items:center}.remove-rule-btn{background:none;border:none;color:#9ca3af;font-size:1.5rem;cursor:pointer;padding:0 .5rem}.remove-rule-btn:hover{color:#ef4444}.rule-builder{display:flex;align-items:center;gap:1rem;background-color:#f9fafb;padding:1rem;border:1px solid #e5e7eb;border-radius:6px}.rule-select,.rule-input{padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:1rem;background-color:#fff}.rule-select{flex:2}.rule-input{flex:3}.rule-builder .remove-rule-btn{background:none;border:none;color:#9ca3af;font-size:1.5rem;cursor:pointer;padding:0 .5rem;margin-left:auto;transition:color .2s}.rule-builder .remove-rule-btn:hover{color:#ef4444}.perm-overview-container{padding:0}.perm-overview-mode-tabs{display:flex;gap:8px;margin-bottom:20px}.mode-tab-button{padding:8px 20px;border:1px solid #dee2e6;border-radius:6px;background:#f8f9fa;color:#495057;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}.mode-tab-button:hover{background:#e9ecef}.mode-tab-button.active{background:#007bff;color:#fff;border-color:#007bff}.perm-overview-layout{display:flex;gap:20px;min-height:600px}.perm-overview-sidebar{width:320px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;display:flex;flex-direction:column;overflow:hidden;flex-shrink:0;border:1px solid #e9ecef}.sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e9ecef;background:#f8f9fa}.sidebar-header h3{margin:0;font-size:1rem;font-weight:600;color:#212529}.sidebar-count{font-size:.85rem;color:#6c757d;background:#e9ecef;padding:2px 8px;border-radius:10px}.sidebar-search{padding:12px 16px;border-bottom:1px solid #e9ecef;display:flex;gap:8px}.sidebar-search input{flex:1;padding:8px 12px;border:1px solid #dee2e6;border-radius:4px;font-size:.9rem;outline:none}.sidebar-search input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff1a}.search-button{padding:8px 16px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;white-space:nowrap}.search-button:hover{background:#0056b3}.sidebar-list{flex:1;overflow-y:auto;padding:8px}.sidebar-item{padding:12px 14px;border-radius:6px;cursor:pointer;transition:all .15s;margin-bottom:4px;border:1px solid transparent}.sidebar-item:hover{background:#f0f4ff;border-color:#c8d6e5}.sidebar-item.selected{background:#e7f1ff;border-color:#007bff}.sidebar-item-name{font-size:.95rem;font-weight:500;color:#212529;margin-bottom:2px}.sidebar-item-code{display:flex;align-items:center;gap:8px;font-size:.8rem;color:#6c757d;font-family:Courier New,monospace}.sidebar-item-perm-count{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.75rem;color:#007bff;background:#e7f1ff;padding:1px 6px;border-radius:8px}.sidebar-empty,.sidebar-loading{padding:30px 20px;text-align:center;color:#adb5bd;font-size:.9rem}.perm-overview-content{flex:1;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;border:1px solid #e9ecef;overflow-y:auto}.content-loading{display:flex;align-items:center;justify-content:center;height:300px;color:#6c757d;font-size:1rem}.content-placeholder{display:flex;align-items:center;justify-content:center;height:100%;min-height:400px}.content-placeholder p{color:#adb5bd;font-size:1rem}.content-detail{padding:24px}.perm-info-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:20px 24px;margin-bottom:24px}.perm-info-card h2{margin:0 0 16px;font-size:1.3rem;color:#212529}.perm-info-grid{display:flex;gap:24px;flex-wrap:wrap}.info-item{display:flex;flex-direction:column;gap:4px}.info-label{font-size:.8rem;color:#6c757d;font-weight:500}.info-value{font-size:.95rem;color:#212529}.perm-description{margin-top:12px;padding-top:12px;border-top:1px solid #dee2e6;color:#495057;font-size:.9rem;line-height:1.5}.badge-resource{display:inline-block;background:#e3f2fd;color:#1565c0;padding:2px 8px;border-radius:4px;font-size:.8rem;font-weight:500}.badge-action{display:inline-block;background:#fff3cd;color:#856404;padding:2px 8px;border-radius:4px;font-size:.8rem;font-weight:500}.role-badge{display:inline-block;background:#d4edda;color:#155724;padding:3px 10px;border-radius:4px;font-size:.85rem;font-weight:500}.assigned-section{margin-top:8px}.assigned-section>h3{font-size:1rem;color:#212529;margin:0 0 16px}.assigned-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.assigned-header h3{margin:0;font-size:1rem;color:#212529}.add-employee-button{padding:8px 16px;background:#28a745;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background .2s}.add-employee-button:hover{background:#218838}.assigned-table{width:100%;border-collapse:collapse;font-size:.9rem}.assigned-table th{background:#f8f9fa;padding:10px 14px;text-align:left;font-weight:600;color:#495057;border-bottom:2px solid #dee2e6;white-space:nowrap}.assigned-table td{padding:10px 14px;border-bottom:1px solid #f0f0f0;color:#212529}.assigned-table tr:hover td{background:#f8f9fa}.assigned-table.compact{font-size:.85rem}.assigned-table.compact th,.assigned-table.compact td{padding:8px 12px}.code-cell{font-family:Courier New,monospace;font-size:.8rem;color:#6c757d}.remove-button{padding:4px 12px;background:#fff;color:#dc3545;border:1px solid #dc3545;border-radius:4px;cursor:pointer;font-size:.8rem;transition:all .2s}.remove-button:hover{background:#dc3545;color:#fff}.empty-message{padding:40px 20px;text-align:center;color:#adb5bd;font-size:.95rem}.role-permission-group{margin-bottom:20px;border:1px solid #e9ecef;border-radius:8px;overflow:hidden}.role-group-header{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f8f9fa;border-bottom:1px solid #e9ecef}.role-group-code{font-family:Courier New,monospace;font-size:.8rem;color:#6c757d}.role-group-count{margin-left:auto;font-size:.8rem;color:#6c757d}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.role-select-modal{background:#fff;border-radius:12px;padding:24px;width:450px;max-width:90vw;box-shadow:0 8px 32px #00000026}.role-select-modal h3{margin:0 0 8px;font-size:1.2rem}.role-select-modal p{margin:0 0 4px;color:#495057;font-size:.95rem}.modal-sub-text{color:#6c757d!important;font-size:.85rem!important;margin-bottom:16px!important}.role-select-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.role-select-item{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px;border:1px solid #dee2e6;border-radius:8px;background:#fff;cursor:pointer;text-align:left;transition:all .2s}.role-select-item:hover{border-color:#007bff;background:#f0f4ff}.role-select-name{font-weight:600;color:#212529;font-size:.95rem}.role-select-desc{font-size:.85rem;color:#6c757d}.role-select-count{font-size:.8rem;color:#007bff}.modal-cancel-button{width:100%;padding:10px;background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;cursor:pointer;font-size:.95rem;color:#495057}.modal-cancel-button:hover{background:#e9ecef}.perm-select-modal{background:#fff;border-radius:12px;padding:24px;width:560px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #00000026}.perm-select-modal h3{margin:0 0 4px;font-size:1.2rem}.perm-select-modal p{margin:0 0 16px;color:#6c757d;font-size:.9rem}.perm-modal-search{width:100%;padding:10px 14px;border:1px solid #dee2e6;border-radius:6px;font-size:.9rem;outline:none;margin-bottom:12px;box-sizing:border-box}.perm-modal-search:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff1a}.perm-select-list{flex:1;overflow-y:auto;max-height:360px;margin-bottom:16px;border:1px solid #e9ecef;border-radius:6px}.perm-select-item{display:flex;align-items:center;gap:12px;padding:10px 14px;cursor:pointer;border-bottom:1px solid #f0f0f0;transition:background .15s}.perm-select-item:last-child{border-bottom:none}.perm-select-item:hover{background:#f0f4ff}.perm-select-item.checked{background:#e7f1ff}.perm-select-item input[type=checkbox]{flex-shrink:0;width:16px;height:16px;cursor:pointer}.perm-select-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.perm-select-name{font-size:.9rem;font-weight:500;color:#212529}.perm-select-code{font-size:.78rem;color:#6c757d;font-family:Courier New,monospace}.perm-select-badges{display:flex;gap:4px;flex-shrink:0}.perm-modal-actions{display:flex;gap:8px}.perm-modal-actions .add-employee-button{flex:1}.perm-modal-actions .add-employee-button:disabled{background:#adb5bd;cursor:not-allowed}.perm-modal-actions .modal-cancel-button{width:auto;padding:10px 20px}@media (max-width: 768px){.perm-overview-layout{flex-direction:column}.perm-overview-sidebar{width:100%;max-height:300px}.perm-info-grid{flex-direction:column;gap:12px}}.role-hierarchy-info{padding:8px 12px;margin-bottom:12px;background:var(--bg-hover, #f0f4ff);border-radius:6px;font-size:13px;color:var(--text-secondary, #666);border-left:3px solid var(--accent-color, #7c83ff)}[data-theme=dark] .role-hierarchy-info{background:#1a1a2e;color:#aaa}.policy-management-container{padding:2rem;background-color:#f9f9f9;height:100%}.page-description{color:#666;margin-bottom:2rem;font-size:1.1rem}.resource-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.resource-card{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem;cursor:pointer;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out;box-shadow:0 2px 4px #0000000d}.resource-card:hover{transform:translateY(-5px);box-shadow:0 8px 16px #0000001a}.resource-name{margin-top:0;margin-bottom:.75rem;font-size:1.5rem;color:#333}.resource-description{font-size:1rem;color:#777;margin-bottom:0}.policy-detail-container{padding:2rem;background-color:#f9f9f9;height:100%;max-width:1000px;margin:0 auto}.policy-detail-container h1{border-bottom:2px solid #eee;padding-bottom:.5rem;margin-bottom:1rem}.back-button{background:none;border:1px solid #ccc;color:#555;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;margin-bottom:2rem;transition:background-color .2s,color .2s}.back-button:hover{background-color:#f0f0f0;color:#333}.policy-description{color:#666;margin-bottom:2rem;font-size:1.1rem}.policy-card{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem 2rem;margin-bottom:2rem;box-shadow:0 2px 4px #0000000d}.policy-card h2{margin-top:0;font-size:1.5rem;color:#333;border-bottom:1px solid #f0f0f0;padding-bottom:.75rem;margin-bottom:1rem}.policy-table{width:100%;border-collapse:collapse}.policy-table th,.policy-table td{padding:1rem;text-align:left;border-bottom:1px solid #f0f0f0}.policy-table th{background-color:#fcfcfc;font-weight:600;color:#555}.policy-table tbody tr:last-child td{border-bottom:none}.access-full{color:#28a745;font-weight:700}.access-list{color:#ffc107;font-weight:700}.access-none{color:#dc3545;font-weight:700}.policy-footer{margin-top:2rem;padding:1rem;background-color:#f0f8ff;border:1px solid #cce5ff;border-radius:6px;color:#004085;text-align:center}.sales-schedule-container{font-family:Malgun Gothic,맑은 고딕,sans-serif;max-width:1200px;margin:0 auto;padding:20px;background-color:#f9f9f9;min-height:100vh}.sales-schedule-header{background-color:#fff;padding:20px;margin-bottom:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;align-items:center}.sales-schedule-title{margin:0;font-size:24px;font-weight:700}.sales-schedule-main{background-color:#fff;padding:20px;margin-bottom:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.schedule-filters{display:flex;justify-content:flex-end;gap:10px;margin-bottom:15px}.schedule-filters select{padding:8px 12px;border:1px solid #ccc;border-radius:4px;font-size:14px}.total-count{font-size:16px;font-weight:700;margin-bottom:15px;text-align:right;color:#333}.calendar-year-container{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:40px}.calendar-month-card{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;display:flex;flex-direction:column;min-height:200px;box-shadow:0 2px 5px #0000000d;transition:box-shadow .2s ease}.calendar-month-card:hover{box-shadow:0 5px 10px #0000001a}.calendar-month-header{background-color:#f8f9fa;padding:10px 15px;font-size:16px;font-weight:700;color:#333;border-bottom:1px solid #e0e0e0;border-radius:8px 8px 0 0;text-align:center}.calendar-month-body{padding:10px;flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px;max-height:300px}.calendar-event-item{background-color:#fff;border:1px solid #eee;border-radius:4px;padding:8px;font-size:12px;display:flex;flex-direction:column;gap:4px;border-left-width:10px;border-left-style:solid;transition:transform .1s,background-color .2s ease,border-color .2s ease;cursor:pointer;outline:none}.calendar-event-item:hover{transform:translate(2px);background-color:#fafafa}.calendar-event-item:focus-visible{box-shadow:0 0 0 2px #007bff4d}.calendar-event-item.collapsed{background-color:#f1f4ff;border-color:#d6defa}.calendar-event-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.calendar-event-title{font-weight:700;color:#333;line-height:1.2}.calendar-event-meta{display:flex;justify-content:space-between;color:#666;font-size:11px}.calendar-event-details{display:flex;flex-direction:column;gap:2px;color:#666;font-size:11px}.calendar-event-row{display:flex;justify-content:space-between}.calendar-event-chevron{font-size:12px;color:#666;width:14px;text-align:center;transition:transform .2s ease}.calendar-event-item.collapsed .calendar-event-chevron{transform:rotate(-90deg)}.no-events-placeholder{color:#ccc;text-align:center;margin-top:20px;font-size:12px}.loading,.error,.no-results{text-align:center;padding:40px;color:#666}.error{color:#dc3545}@media (max-width: 1024px){.calendar-year-container{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.calendar-year-container{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.calendar-year-container{grid-template-columns:1fr}}.badge{padding:2px 6px;border-radius:4px;font-size:11px;font-weight:700;margin-right:4px;display:inline-block}.channel-EMAIL{background-color:#e3f2fd;color:#0d47a1;border:1px solid #bbdefb}.channel-JANDI{background-color:#e8f5e9;color:#1b5e20;border:1px solid #c8e6c9}.channel-SMS{background-color:#fff3e0;color:#e65100;border:1px solid #ffe0b2}.priority-HIGH{background-color:#ffebee;color:#b71c1c;border:1px solid #ffcdd2}.priority-MID{background-color:#fff3e0;color:#e65100;border:1px solid #ffe0b2}.priority-LOW{background-color:#f3e5f5;color:#4a148c;border:1px solid #e1bee7}.context-menu{position:fixed;z-index:9999;background:#fff;border:1px solid #d6defa;border-radius:6px;box-shadow:0 8px 20px #0000001f;min-width:180px;padding:6px 0;animation:fadeIn .12s ease}.context-menu-item{width:100%;text-align:left;background:transparent;border:none;padding:10px 14px;font-size:13px;color:#333;cursor:pointer}.context-menu-item:hover,.context-menu-item:focus-visible{background:#f1f4ff;outline:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.notification-bundle-modal .modal-content{border-radius:12px;box-shadow:0 10px 25px #00000026;overflow:hidden;display:flex;flex-direction:column}.notification-bundle-modal .modal-header{background-color:#f8f9fa;padding:25px;border-bottom:1px solid #e9ecef}.notification-bundle-modal .modal-footer{background-color:transparent;padding:20px 25px;border-top:1px solid #e9ecef;display:flex;justify-content:flex-end;gap:10px}.selected-projects-summary{background-color:#e3f2fd;border:1px solid #bbdefb;color:#0d47a1;padding:12px 15px;border-radius:6px;margin-bottom:25px;font-size:14px;display:flex;align-items:center}.selected-projects-summary strong{margin-right:8px;font-weight:600}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;font-size:14px;color:#495057}.form-input,.form-select{width:100%;padding:10px 12px;border:1px solid #ced4da;border-radius:6px;font-size:14px;transition:border-color .2s;box-sizing:border-box}.form-input:focus,.form-select:focus{border-color:#80bdff;outline:none;box-shadow:0 0 0 .2rem #007bff40}.form-row{display:flex;gap:20px;margin-bottom:10px;border-bottom:none}.form-row .form-group{margin-bottom:0}.form-group.half{flex:1}.checkbox-group{display:flex;gap:15px}.checkbox-card{flex:1;border:1px solid #dee2e6;border-radius:6px;padding:10px 15px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;background-color:#fff}.checkbox-card:hover{background-color:#f8f9fa;border-color:#adb5bd}.checkbox-card.checked{background-color:#e8f5e9;border-color:#81c784;color:#2e7d32}.checkbox-card input[type=checkbox]{margin-right:10px;accent-color:#2e7d32;transform:scale(1.1)}.recipient-section{border:1px solid #dee2e6;border-radius:6px;padding:15px;background-color:#f8f9fa}.recipient-list{min-height:40px;margin-bottom:10px}.tags-container{display:flex;flex-wrap:wrap;gap:8px}.tag{background-color:#fff;border:1px solid #ced4da;border-radius:20px;padding:4px 12px;font-size:13px;display:flex;align-items:center;color:#495057;box-shadow:0 1px 2px #0000000d}.tag button{background:none;border:none;margin-left:6px;font-size:16px;cursor:pointer;color:#adb5bd;line-height:1;padding:0;display:flex;align-items:center}.tag button:hover{color:#dc3545}.placeholder-text{color:#adb5bd;font-size:14px;font-style:italic}.modal-close-button{background:none;border:none;font-size:24px;cursor:pointer;color:#adb5bd;transition:color .2s}.modal-close-button:hover{color:#343a40}.btn-primary,.btn-secondary{padding:10px 20px;border-radius:6px;font-weight:500;font-size:14px;cursor:pointer;border:none;transition:all .2s}.btn-primary{background-color:#007bff;color:#fff}.btn-primary:hover{background-color:#0069d9}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover{background-color:#5a6268}.btn-add-recipient{background-color:#fff;border:1px dashed #adb5bd;color:#6c757d;width:100%;padding:8px;border-radius:4px;cursor:pointer;transition:all .2s}.btn-add-recipient:hover{border-color:#6c757d;color:#495057;background-color:#e9ecef}.notification-bundle-modal .react-datepicker{width:auto;border:1px solid #ced4da;border-radius:6px;box-shadow:0 2px 5px #0000000d;font-family:Malgun Gothic,맑은 고딕,sans-serif;flex-shrink:0;display:flex;flex-direction:row;overflow:visible}.notification-bundle-modal .react-datepicker__week .react-datepicker__day:nth-child(7):not(.react-datepicker__day--outside-month){color:#06c}.notification-bundle-modal .react-datepicker__week .react-datepicker__day:nth-child(1):not(.react-datepicker__day--outside-month){color:#dc3545}.notification-bundle-modal .react-datepicker__day.holiday:not(.react-datepicker__day--outside-month){color:#dc3545;font-weight:600}.notification-bundle-modal .react-datepicker__day--selected{background-color:#007bff!important;color:#fff!important}.notification-bundle-modal .react-datepicker__day--today.react-datepicker__day:nth-child(7):not(.react-datepicker__day--selected){color:#06c}.notification-bundle-modal .react-datepicker__day--today.react-datepicker__day:nth-child(1):not(.react-datepicker__day--selected){color:#dc3545}.notification-bundle-modal .react-datepicker__time-container{border-left:1px solid #ced4da;width:100px;height:250px}.notification-bundle-modal .react-datepicker__time-container .react-datepicker__header--time{border-bottom:1px solid #ced4da!important;padding-top:8px;padding-bottom:8px}.notification-bundle-modal .react-datepicker__time-container .react-datepicker__time{height:calc(100% - 40px);border-radius:0;background:#fff}.notification-bundle-modal .react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{width:100%;height:100%!important;border-radius:0}.notification-bundle-modal .react-datepicker__header--time{padding-left:0;padding-right:0}.notification-bundle-modal .react-datepicker-wrapper{width:auto;display:flex;justify-content:center}.notification-bundle-modal .react-datepicker__day--selected{background-color:#007bff;color:#fff}.project-list-scrollable{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.3) #f1f3f5}.project-list-scrollable::-webkit-scrollbar{-webkit-appearance:none;width:10px}.project-list-scrollable::-webkit-scrollbar-thumb{border-radius:5px;background-color:#0000004d;border:2px solid #f1f3f5}.project-list-scrollable::-webkit-scrollbar-track{background-color:#f1f3f5;border-radius:4px}.project-list-scrollable::-webkit-scrollbar-thumb:hover{background-color:#00000080}.context-menu{position:fixed;background-color:#fff;border:1px solid #ddd;box-shadow:0 2px 10px #0000001a;border-radius:4px;z-index:1000;min-width:150px;padding:5px 0}.context-menu-item{padding:8px 15px;cursor:pointer;font-size:13px;color:#333}.context-menu-item:hover{background-color:#f0f0f0}.ptscript-page{padding:24px;color:#1f2937}.ptscript-loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.ptscript-loading-card{background:#fff;border-radius:12px;padding:24px 28px;box-shadow:0 10px 30px #0f172a40;display:flex;flex-direction:column;align-items:center;gap:12px;min-width:240px}.ptscript-loading-card p{margin:0;font-size:14px;color:#1f2937}.ptscript-spinner{width:40px;height:40px;border-radius:999px;border:4px solid #e5e7eb;border-top-color:#2563eb;animation:ptscript-spin .9s linear infinite}@keyframes ptscript-spin{to{transform:rotate(360deg)}}.ptscript-header{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:16px}.ptscript-header h1{margin:0 0 8px}.inline-controls{display:flex;align-items:flex-end;gap:8px}.inline-controls label{display:flex;flex-direction:column;font-size:14px;gap:4px}.inline-controls input{width:120px;padding:8px 10px}.ghost-btn{background:#f3f4f6;border:1px solid #e5e7eb;color:#1f2937;padding:8px 10px;border-radius:6px;cursor:pointer}.ghost-btn.small{padding:6px 8px}.add-timeline-btn{background:#3b82f6;color:#fff;border:none;padding:10px 16px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.add-timeline-btn:hover{background:#2563eb}.ptscript-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;margin-bottom:16px;align-items:stretch}.card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:16px;box-shadow:0 2px 6px #0000000a;display:flex;flex-direction:column}.card header h3{margin:0 0 4px;text-align:left}.card header p{margin:0 0 12px;color:#6b7280;text-align:left}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;font-size:14px;flex:1;min-height:0}.field>span{text-align:left;display:block;width:100%;font-weight:500;flex-shrink:0}.field:last-child{margin-bottom:0}.field textarea,.timeline-row input,.drop-zone textarea,.inline-controls input{border:1px solid #d1d5db;border-radius:8px;padding:10px;font-size:14px;width:100%;box-sizing:border-box}.field textarea{flex:1;min-height:80px;resize:vertical}.drop-zones-container{display:flex;flex-direction:column;gap:12px}.drop-zone-wrapper{display:flex;flex-direction:column;gap:6px}.drop-zone-label{font-size:14px;font-weight:500;color:#374151;text-align:left}.drop-zone{border:2px dashed #cbd5e1;border-radius:10px;padding:12px;text-align:center;background:#f8fafc;min-height:80px;display:flex;flex-direction:column;justify-content:center;align-items:center;transition:border-color .2s,background-color .2s}.drop-zone:hover{border-color:#94a3b8;background:#f1f5f9}.drop-zone-icon{font-size:28px;margin-bottom:4px}.drop-zone p{margin:4px 0;color:#6b7280;font-size:13px}.compact-input{margin-top:8px}.materials-note{width:100%;box-sizing:border-box}.file-list{margin-top:10px;text-align:left;padding-left:18px;color:#374151}.file-info-box{border:1px solid #d1d5db;border-radius:8px;padding:12px;background:#f9fafb}.file-info-box h4{margin:0 0 8px;font-size:14px;color:#374151;text-align:left}.file-info-content{margin:0;padding:10px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;white-space:pre-wrap;font-size:13px;line-height:1.6;color:#1f2937;text-align:left}.timeline-table{display:flex;flex-direction:column;gap:8px}.timeline-head,.timeline-row{display:grid;grid-template-columns:140px 160px 1fr 1fr 1fr 80px;gap:8px;align-items:center}.timeline-head{font-size:13px;color:#6b7280}.timeline-head>span{text-align:left}.timeline-row input{padding:8px 10px}.timeline-row input[readonly]{background-color:#f9fafb;color:#6b7280;cursor:not-allowed}.timeline-row span{padding:4px 0}.script-preview{margin-top:12px;padding:12px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb;white-space:pre-wrap;font-size:14px}.script-preview.qa-preview{max-height:600px;overflow-y:auto;background:#fffbf0;border-color:#fde68a}.llm-selector{margin-bottom:16px;padding:12px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.llm-selector-label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:8px}.llm-radio-group{display:flex;gap:16px;flex-wrap:wrap}.llm-radio-item{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:14px;color:#1f2937}.llm-radio-item.disabled{opacity:.5;cursor:not-allowed}.llm-radio-item input[type=radio]{cursor:pointer;width:16px;height:16px}.llm-radio-item.disabled input[type=radio]{cursor:not-allowed}.llm-radio-item span{-webkit-user-select:none;user-select:none}.actions .action-buttons{display:flex;gap:10px;flex-wrap:wrap}.actions button{padding:10px 12px;border-radius:8px;border:1px solid #d1d5db;cursor:pointer}.actions button.secondary{background:#1f2937;color:#fff;border-color:#1f2937}.hint{margin-top:8px;color:#6b7280;font-size:13px}@media (max-width: 1024px){.timeline-head,.timeline-row{grid-template-columns:110px 140px 1fr 1fr 1fr 70px}}@media (max-width: 768px){.ptscript-header{flex-direction:column;align-items:flex-start}.timeline-head,.timeline-row{grid-template-columns:repeat(2,minmax(0,1fr))}.timeline-head span:nth-child(n+3),.timeline-row input:nth-child(n+3){grid-column:span 2}.timeline-row button{grid-column:span 2;width:fit-content;justify-self:flex-start}}.weekly-report-container{max-width:1100px;margin:0 auto}.weekly-report-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.weekly-report-header h1{margin:0;font-size:1.5rem;color:#212529}.week-navigator{display:flex;align-items:center;gap:8px;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:8px 16px}.week-nav-button{padding:6px 12px;border:1px solid #dee2e6;border-radius:6px;background:#fff;color:#495057;cursor:pointer;font-size:.85rem;transition:all .15s}.week-nav-button:hover{background:#e9ecef}.week-nav-button.today{background:#007bff;color:#fff;border-color:#007bff}.week-nav-button.today:hover{background:#0056b3}.week-label{font-size:1rem;font-weight:600;color:#212529;min-width:140px;text-align:center}.week-date-range{font-size:.82rem;color:#6c757d;white-space:nowrap}.save-bar{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-bottom:20px}.save-button{padding:10px 28px;background:#28a745;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:500;transition:background .2s}.save-button:hover{background:#218838}.save-button:disabled{background:#adb5bd;cursor:not-allowed}.dirty-indicator{font-size:.85rem;color:#dc3545;font-weight:500}.report-section{background:#fff;border:1px solid #e9ecef;border-radius:8px;margin-bottom:20px;overflow:hidden}.section-header{display:flex;align-items:center;gap:8px;padding:14px 20px;background:#f8f9fa;border-bottom:1px solid #e9ecef}.section-header h2{margin:0;font-size:1.05rem;font-weight:600;color:#212529}.section-badge{font-size:.75rem;background:#e7f1ff;color:#007bff;padding:2px 8px;border-radius:10px;font-weight:500}.section-body{padding:16px 20px}.report-textarea{width:100%;min-height:180px;padding:14px;border:1px solid #dee2e6;border-radius:6px;font-size:.92rem;line-height:1.6;resize:vertical;outline:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;box-sizing:border-box}.report-textarea:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff1a}.report-textarea::placeholder{color:#adb5bd}.preview-table{width:100%;border-collapse:collapse;font-size:.9rem}.preview-table th{background:#f8f9fa;padding:10px 16px;text-align:left;font-weight:600;color:#495057;border:1px solid #e9ecef;width:50%}.preview-table td{padding:14px 16px;border:1px solid #e9ecef;color:#212529;vertical-align:top;white-space:pre-wrap;line-height:1.6}.preview-empty{padding:40px 20px;text-align:center;color:#adb5bd;font-size:.9rem}.weekly-report-loading{display:flex;align-items:center;justify-content:center;height:300px;color:#6c757d;font-size:1rem}.auto-fill-notice{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#fff3cd;border:1px solid #ffc107;border-radius:6px;margin-bottom:12px;font-size:.85rem;color:#856404}@media (max-width: 768px){.weekly-report-header{flex-direction:column;gap:12px;align-items:flex-start}.week-navigator{flex-wrap:wrap}.preview-table th,.preview-table td{padding:10px}}:root{--intel-primary: #3b82f6;--intel-primary-light: #eff6ff;--intel-primary-hover: #f0f9ff;--intel-success: #10b981;--intel-success-light: #d1fae5;--intel-warning: #f59e0b;--intel-warning-light: #fef3c7;--intel-danger: #ef4444;--intel-danger-light: #fee2e2;--intel-project: #7c3aed;--intel-project-light: #ede9fe;--intel-project-border: #c4b5fd;--intel-project-hover: #ddd6fe;--intel-project-text: #5b21b6;--intel-gray-50: #f9fafb;--intel-gray-100: #f3f4f6;--intel-gray-200: #e5e7eb;--intel-gray-300: #d1d5db;--intel-gray-400: #9ca3af;--intel-gray-500: #6b7280;--intel-gray-600: #4b5563;--intel-gray-700: #374151;--intel-gray-800: #1f2937;--intel-gray-900: #111827;--intel-text-primary: var(--intel-gray-800);--intel-text-secondary: var(--intel-gray-500);--intel-text-muted: var(--intel-gray-400);--intel-text-heading: var(--intel-gray-700);--intel-bg-primary: #ffffff;--intel-bg-secondary: var(--intel-gray-50);--intel-bg-tertiary: #fafafa;--intel-bg-hover: var(--intel-gray-100);--intel-border-color: var(--intel-gray-200);--intel-border-color-light: var(--intel-gray-300);--intel-spacing-xs: 4px;--intel-spacing-sm: 8px;--intel-spacing-md: 12px;--intel-spacing-lg: 16px;--intel-spacing-xl: 20px;--intel-spacing-2xl: 24px;--intel-spacing-3xl: 32px;--intel-spacing-4xl: 48px;--intel-radius-sm: 4px;--intel-radius-md: 6px;--intel-radius-lg: 8px;--intel-radius-xl: 12px;--intel-font-xs: .75rem;--intel-font-sm: .85rem;--intel-font-base: .95rem;--intel-font-md: 1rem;--intel-font-lg: 1.1rem;--intel-font-xl: 1.25rem;--intel-font-2xl: 1.5rem;--intel-font-3xl: 1.75rem;--intel-font-normal: 400;--intel-font-medium: 500;--intel-font-semibold: 600;--intel-font-bold: 700;--intel-shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--intel-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--intel-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--intel-transition-fast: .15s ease;--intel-transition-normal: .2s ease;--intel-transition-slow: .3s ease;--intel-z-dropdown: 100;--intel-z-modal: 1000;--intel-z-modal-overlay: 999;--intel-max-width: 1200px;--intel-card-max-width: 300px}.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal}.intelligence-upload-page,.intelligence-review-page,.intelligence-search-page{max-width:1200px;margin:0 auto;padding:20px}.page-header{margin-bottom:24px}.page-header h1{font-size:1.75rem;font-weight:600;color:#1f2937;margin:0 0 8px}.page-description{color:#6b7280;margin:0;font-size:.95rem}.btn{padding:8px 16px;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;text-decoration:none;display:inline-block;text-align:center}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover:not(:disabled){background:#2563eb}.btn-secondary{background:#6b7280;color:#fff}.btn-secondary:hover:not(:disabled){background:#4b5563}.btn-success{background:#10b981;color:#fff}.btn-success:hover:not(:disabled){background:#059669}.btn-warning{background:#f59e0b;color:#fff}.btn-warning:hover:not(:disabled){background:#d97706}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626}.btn-sm{padding:6px 12px;font-size:.85rem}.intelligence-review-page .loading-spinner,.intelligence-search-page .loading-spinner{all:unset;display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 360px);width:100%}.empty-state{text-align:center;padding:48px 24px;color:#6b7280}.empty-state-icon{font-size:48px;margin-bottom:16px}.empty-state h3{font-size:1.25rem;font-weight:600;color:#374151;margin:0 0 12px}.empty-state p{margin:0;font-size:.9rem;color:#9ca3af;line-height:1.5}.pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:24px}.pagination-btn{padding:8px 12px;border:1px solid #d1d5db;background:#fff;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .2s ease}.pagination-btn:hover:not(:disabled){background:#f3f4f6;border-color:#3b82f6}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.pagination-info{font-size:.9rem;color:#6b7280;margin:0 8px}.action-group,.file-list-actions{display:flex;gap:8px}@media (max-width: 768px){.intelligence-upload-page,.intelligence-review-page,.intelligence-search-page{padding:16px}.page-header h1{font-size:1.5rem}}@media (prefers-color-scheme: dark){.page-header h1{color:#f3f4f6}.page-description{color:#9ca3af}.pagination-btn{background:#1f2937;border-color:#374151;color:#f3f4f6}.pagination-btn:hover:not(:disabled){background:#374151;border-color:#3b82f6}.pagination-btn:disabled{opacity:.5}}.intel-dropzone{border:2px dashed #d1d5db;border-radius:12px;padding:48px 24px;text-align:center;cursor:pointer;transition:all .2s ease;background-color:#fafafa;margin-bottom:24px}.intel-dropzone:hover{border-color:#3b82f6;background-color:#f0f9ff}.intel-dropzone.drag-over{border-color:#3b82f6;background-color:#eff6ff;transform:scale(1.01)}.intel-dropzone.disabled{opacity:.5;cursor:not-allowed}.intel-dropzone-content{pointer-events:none}.intel-dropzone-icon{font-size:48px;margin-bottom:16px}.intel-dropzone-title{font-size:1.1rem;font-weight:600;color:#374151;margin:0 0 8px}.intel-dropzone-subtitle{font-size:.9rem;color:#6b7280;margin:0 0 4px}.intel-dropzone-limit{font-size:.85rem;color:#9ca3af;margin:0}.intel-dropzone-hint{font-size:.85rem;color:#3b82f6;margin:8px 0 4px}.intel-dropzone.processing{border-color:#f59e0b;background-color:#fffbeb;cursor:wait}.intel-dropzone.processing .intel-dropzone-icon{animation:intel-pulse 1.5s ease-in-out infinite}@keyframes intel-pulse{0%,to{opacity:1}50%{opacity:.5}}.intel-file-list{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.intel-file-list-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.intel-file-list-header h3{font-size:1rem;font-weight:600;color:#374151;margin:0}.intel-file-list-actions{display:flex;gap:8px}.intel-file-list-items{padding:12px}.intel-file-item{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:12px 16px;background:#f9fafb;border-radius:8px;margin-bottom:8px;border-left:4px solid #d1d5db;transition:all .2s ease}.intel-file-item:last-child{margin-bottom:0}.intel-file-item:hover{background:#f3f4f6}.intel-file-item.status-pending{border-left-color:#9ca3af}.intel-file-item.status-uploading{border-left-color:#3b82f6}.intel-file-item.status-success{border-left-color:#10b981}.intel-file-item.status-error{border-left-color:#ef4444}.intel-file-item.status-cancelled{border-left-color:#f59e0b}.intel-file-info{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.intel-file-icon{font-size:24px;flex-shrink:0}.intel-file-details{display:flex;flex-direction:column;min-width:0}.intel-file-name{font-weight:500;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}.intel-file-size{font-size:.85rem;color:#6b7280}.intel-file-status{display:flex;align-items:center;gap:8px;margin:0 16px}.intel-status-icon{font-size:16px}.intel-status-label{font-size:.9rem;color:#6b7280}.intel-file-actions{display:flex;gap:8px}.intel-upload-progress{flex-basis:100%;width:100%;height:6px;background:#e5e7eb;border-radius:3px;margin-top:4px;overflow:hidden;order:10}.intel-upload-progress .intel-progress-bar{height:100%;background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:3px;transition:width .2s ease;min-width:2px}.intel-upload-summary{padding:16px 20px;background:#ecfdf5;border-top:1px solid #d1fae5}.intel-upload-summary p{margin:0;color:#065f46;font-size:.95rem}.intel-upload-summary a{color:#059669;font-weight:500;text-decoration:none}.intel-upload-summary a:hover{text-decoration:underline}.intel-processing-indicator{display:flex;align-items:center;gap:10px;padding:12px 20px;margin-top:16px;background:#fef3c7;border:1px solid #fcd34d;border-radius:8px;color:#92400e;font-size:.9rem}.intel-upload-guide{margin-top:32px;padding:24px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px}.intel-upload-guide h3{font-size:1.1rem;font-weight:600;color:#374151;margin:0 0 20px;padding-bottom:12px;border-bottom:1px solid #e5e7eb}.intel-upload-guide .guide-section{margin-bottom:20px;padding-bottom:16px;border-bottom:1px dashed #e5e7eb}.intel-upload-guide .guide-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.intel-upload-guide h4{font-size:.95rem;font-weight:600;color:#4b5563;margin:0 0 10px}.intel-upload-guide ul,.intel-upload-guide ol{margin:0;padding-left:20px;color:#4b5563}.intel-upload-guide li{margin-bottom:6px;font-size:.9rem;line-height:1.6}.intel-upload-guide li:last-child{margin-bottom:0}.intel-upload-guide .file-types-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;padding-left:0;list-style:none}.intel-upload-guide .file-types-list li{padding:8px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;font-size:.85rem}.intel-upload-guide .guide-note{margin:10px 0 0;padding:8px 12px;background:#fef3c7;border-radius:6px;font-size:.85rem;color:#92400e}.intel-upload-guide .process-steps{padding-left:0;list-style:none;counter-reset:step}.intel-upload-guide .process-steps li{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:8px}.intel-upload-guide .process-steps li:last-child{margin-bottom:0}.intel-upload-guide .step-icon{font-size:1.2rem;flex-shrink:0}@media (max-width: 768px){.intel-dropzone{padding:32px 16px}.intel-file-name{max-width:150px}.intel-file-item{flex-wrap:wrap;gap:8px}.intel-file-status{margin:0;width:100%;justify-content:flex-start}.intel-file-actions{width:100%;justify-content:flex-end}}@media (prefers-color-scheme: dark){.intel-dropzone{background-color:#1f2937;border-color:#374151}.intel-dropzone:hover,.intel-dropzone.drag-over{background-color:#1e3a5f;border-color:#3b82f6}.intel-dropzone-title{color:#f3f4f6}.intel-file-list{background:#1f2937;border-color:#374151}.intel-file-list-header{background:#111827;border-color:#374151}.intel-file-list-header h3{color:#f3f4f6}.intel-file-item{background:#111827}.intel-file-name{color:#f3f4f6}.intel-upload-guide{background:#1f2937;border-color:#374151}.intel-upload-guide h3{color:#f3f4f6;border-color:#374151}.intel-upload-guide .guide-section{border-color:#374151}.intel-upload-guide h4{color:#e5e7eb}.intel-upload-guide ul,.intel-upload-guide ol{color:#d1d5db}.intel-upload-guide .file-types-list li{background:#111827;border-color:#374151;color:#d1d5db}.intel-upload-guide .guide-note{background:#451a03;color:#fbbf24}.intel-upload-guide .process-steps li{background:#111827;border-color:#374151;color:#d1d5db}}.review-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:16px;flex-wrap:wrap}.review-filters{display:flex;gap:8px;flex-wrap:nowrap;align-items:center}.review-filters .intel-filter-select{padding:8px 32px 8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;cursor:pointer;width:240px;flex:none;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right 8px center;background-repeat:no-repeat;background-size:16px}.review-filters .intel-filter-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.review-filters .search-input{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;width:420px;flex:none}.review-filters .search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.review-filters .confidence-filter-input{width:140px;flex:none}.intel-pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:24px;padding:16px;background:#f3f4f6;border-radius:8px;border:1px solid #e5e7eb}.intel-pagination-btn{padding:10px 24px;border:none;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;min-width:90px;transition:all .15s ease;background-color:#2563eb;color:#fff}.intel-pagination-btn:hover{background-color:#1d4ed8;color:#fff}.intel-pagination-btn:disabled{background-color:#d1d5db;color:#6b7280;cursor:not-allowed}.intel-pagination-info{font-size:.95rem;font-weight:600;color:#1f2937;padding:10px 20px;background:#fff;border-radius:6px;border:1px solid #d1d5db}@media (prefers-color-scheme: dark){.intel-pagination{background:#1f2937;border-color:#374151}.intel-pagination-btn{background-color:#2563eb;color:#fff}.intel-pagination-btn:hover{background-color:#1d4ed8}.intel-pagination-btn:disabled{background-color:#374151;color:#6b7280}.intel-pagination-info{background:#374151;border-color:#4b5563;color:#f3f4f6}}.bulk-actions-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;margin-bottom:16px;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.bulk-actions-left{display:flex;align-items:center;gap:12px}.bulk-select-all{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.bulk-select-all input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#3b82f6}.bulk-select-all span{font-size:.9rem;color:#1e40af;font-weight:500}.selected-count{font-size:.9rem;color:#1e40af;font-weight:600;padding:4px 12px;background:#dbeafe;border-radius:16px}.bulk-actions-right{display:flex;align-items:center;gap:8px}.btn-bulk-confirm{padding:8px 16px;background:#10b981;color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.btn-bulk-confirm:hover:not(:disabled){background:#059669}.btn-bulk-confirm:disabled{background:#9ca3af;cursor:not-allowed}.btn-bulk-delete{padding:8px 16px;background:#ef4444;color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.btn-bulk-delete:hover:not(:disabled){background:#dc2626}.btn-bulk-delete:disabled{background:#9ca3af;cursor:not-allowed}.btn-bulk-cancel{padding:8px 16px;background:transparent;color:#6b7280;border:1px solid #d1d5db;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-bulk-cancel:hover{background:#f3f4f6;color:#374151}.review-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:16px}.review-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:visible;transition:all .2s ease;display:flex;flex-direction:column}.review-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.review-card.selected{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.file-checkbox{display:flex;align-items:center;justify-content:center;cursor:pointer;margin-right:12px;flex-shrink:0;position:relative}.file-checkbox input[type=checkbox]{width:22px;height:22px;cursor:pointer;accent-color:#3b82f6;opacity:1;margin:0}.file-checkbox .checkbox-custom{display:none}.review-card-header{display:flex;justify-content:space-between;align-items:flex-start;padding:16px;background:#f9fafb;border-bottom:1px solid #e5e7eb;border-radius:12px 12px 0 0;overflow:visible}.review-card-title{display:flex;align-items:center;gap:12px;flex:1;min-width:0;position:relative;cursor:pointer}.review-card-title h4{font-size:.95rem;font-weight:600;color:#1f2937;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.review-card-title:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:0;max-width:400px;padding:8px 12px;background:#1f2937;color:#f9fafb;font-size:.85rem;font-weight:400;line-height:1.4;border-radius:6px;white-space:normal;word-break:break-all;z-index:1000;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;box-shadow:0 4px 12px #00000026;pointer-events:none}.review-card-title:before{content:"";position:absolute;bottom:calc(100% + 2px);left:20px;border:6px solid transparent;border-top-color:#1f2937;z-index:1001;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;pointer-events:none}.review-card-title:hover:after,.review-card-title:hover:before{opacity:1;visibility:visible}.status-badge{padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:500;white-space:nowrap}.status-badge.uploaded{background:#f3f4f6;color:#4b5563}.status-badge.analyzing{background:#dbeafe;color:#1d4ed8}.status-badge.pending-review{background:#fef3c7;color:#92400e}.status-badge.indexed{background:#d1fae5;color:#065f46}.status-badge.failed{background:#fee2e2;color:#991b1b}.status-badge.duplicate{background:#ffedd5;color:#9a3412}.review-card-body{padding:16px;flex:1}.metadata-section{margin-bottom:16px}.metadata-section:last-child{margin-bottom:0}.metadata-section h5{font-size:.8rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin:0 0 8px}.metadata-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.metadata-item{display:flex;flex-direction:column}.metadata-item .label{font-size:.75rem;color:#9ca3af}.metadata-item .value{font-size:.9rem;color:#374151;font-weight:500}.metadata-item .value.placeholder{color:#d1d5db;font-style:italic}.confidence-bar{display:flex;align-items:center;gap:8px}.confidence-track{flex:1;height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden}.confidence-fill{height:100%;border-radius:3px;transition:width .3s ease}.confidence-fill.high{background:#10b981}.confidence-fill.medium{background:#f59e0b}.confidence-fill.low{background:#ef4444}.confidence-value{font-size:.85rem;font-weight:500;color:#374151;min-width:40px;text-align:right}.keywords-list{display:flex;flex-wrap:wrap;gap:6px}.keyword-tag{padding:2px 8px;background:#f3f4f6;color:#4b5563;border-radius:4px;font-size:.8rem}.review-card-actions{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f9fafb;border-top:1px solid #e5e7eb;margin-top:auto}.action-group-right{display:flex;align-items:center;gap:8px}.btn.btn-sm.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:unset;padding:4px 6px;border-radius:4px;font-size:.9rem;line-height:1}.btn-delete{background:transparent;border:1px solid #e5e7eb;color:#6b7280;transition:all .2s ease}.btn-delete:hover{background:#fef2f2;border-color:#fecaca;color:#dc2626}.review-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.review-modal{background:#fff;border-radius:16px;max-width:800px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.review-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.review-modal-header h2{font-size:1.25rem;font-weight:600;color:#1f2937;margin:0}.close-btn{width:32px;height:32px;border:none;background:#e5e7eb;border-radius:50%;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-btn:hover{background:#d1d5db}.review-modal-body{flex:1;overflow-y:auto;padding:24px}.edit-section{margin-bottom:24px}.edit-section:last-child{margin-bottom:0}.edit-section h3{font-size:1rem;font-weight:600;color:#374151;margin:0 0 16px;padding-bottom:8px;border-bottom:2px solid #3b82f6}.edit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.edit-field{display:flex;flex-direction:column;gap:6px}.edit-field.full-width{grid-column:1 / -1}.edit-field label{font-size:.85rem;font-weight:500;color:#4b5563}.edit-field input,.edit-field select,.edit-field textarea{padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;transition:all .2s ease}.edit-field input:focus,.edit-field select:focus,.edit-field textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.edit-field textarea{min-height:100px;resize:vertical}.download-buttons{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}.btn-outline{padding:8px 14px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#374151;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;gap:4px}.btn-outline:hover{background:#f3f4f6;border-color:#9ca3af}.btn-outline:active{background:#e5e7eb}.btn-outline:disabled{opacity:.7;cursor:not-allowed}.btn-outline.loading{background:#f9fafb}.review-modal-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-top:1px solid #e5e7eb;background:#f9fafb}@media (max-width: 768px){.review-toolbar{flex-direction:column;align-items:stretch}.review-filters{flex-direction:column}.search-input{width:100%}.review-cards,.edit-grid{grid-template-columns:1fr}.review-modal{margin:10px;max-height:calc(100vh - 20px)}}@media (prefers-color-scheme: dark){.bulk-actions-bar{background:#1e3a5f;border-color:#2563eb}.bulk-select-all span{color:#93c5fd}.selected-count{color:#93c5fd;background:#1e40af}.btn-bulk-cancel{border-color:#374151;color:#9ca3af}.btn-bulk-cancel:hover{background:#374151;color:#f3f4f6}.file-checkbox .checkbox-custom{background:#374151;border-color:#4b5563}.file-checkbox:hover .checkbox-custom{border-color:#60a5fa}.review-card.selected{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f64d}.review-card{background:#1f2937;border-color:#374151}.review-card-header,.review-card-actions{background:#111827;border-color:#374151}.review-card-title h4,.metadata-item .value{color:#f3f4f6}.intel-filter-select,.search-input{background-color:#1f2937;border-color:#374151;color:#f3f4f6}.review-modal{background:#1f2937}.review-modal-header,.review-modal-footer{background:#111827;border-color:#374151}.review-modal-header h2,.edit-section h3{color:#f3f4f6}.edit-field label{color:#d1d5db}.edit-field input,.edit-field select,.edit-field textarea{background:#111827;border-color:#374151;color:#f3f4f6}.folder-tree-view{background:#1f2937;border-color:#374151}.folder-tree-header{background:#111827;border-color:#374151}.folder-tree-title{color:#f3f4f6}.folder-item:hover{background:#374151}.folder-item.selected{background:#1e3a5f}.folder-label{color:#e5e7eb}.folder-toggle{color:#9ca3af}.folder-count{color:#6b7280}.folder-unclassified{border-color:#374151}.folder-project-name{color:#d1d5db}.folder-unclassified.selected{background:#78350f}.folder-unclassified.selected .folder-label{color:#fbbf24}.btn-delete{border-color:#374151;color:#9ca3af}.btn-delete:hover{background:#450a0a;border-color:#7f1d1d;color:#fca5a5}}.folder-tree-view{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;min-width:200px}.folder-tree-header{padding:12px 16px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.folder-tree-title{font-size:.9rem;font-weight:600;color:#374151}.folder-tree-content{padding:8px 0;max-height:400px;overflow-y:auto}.folder-item{display:flex;align-items:center;padding:8px 16px;cursor:pointer;transition:background .2s ease;-webkit-user-select:none;user-select:none}.folder-item:hover{background:#f3f4f6}.folder-item.selected{background:#eff6ff}.folder-item.selected .folder-label{color:#2563eb;font-weight:500}.folder-toggle{width:20px;font-size:.7rem;color:#6b7280;flex-shrink:0;cursor:pointer}.folder-toggle:focus{outline:none}.folder-content{display:flex;align-items:center;flex:1}.folder-content:focus{outline:2px solid #3b82f6;outline-offset:2px;border-radius:4px}.folder-icon{margin-right:8px;font-size:1rem}.folder-label{font-size:.9rem;color:#374151}.folder-count{margin-left:4px;font-size:.8rem;font-weight:400;color:#9ca3af}.folder-all{padding-left:16px}.folder-unclassified{padding-left:16px;margin-bottom:8px;border-bottom:1px dashed #e5e7eb;padding-bottom:8px}.folder-unclassified .folder-icon{opacity:.8}.folder-unclassified.selected{background:#fef3c7}.folder-unclassified.selected .folder-label{color:#d97706;font-weight:500}.folder-year{padding-left:8px}.folder-months{margin-left:20px}.folder-month{padding-left:12px}.folder-toggle-placeholder{width:20px;flex-shrink:0}.folder-projects{margin-left:20px}.folder-project{padding-left:28px}.folder-project-name{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;vertical-align:bottom}.review-page-layout{display:flex;gap:20px}.review-sidebar{flex-shrink:0}.review-main-content{flex:1;min-width:0}.current-filter-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;background:#eff6ff;color:#2563eb;border-radius:20px;font-size:.85rem;font-weight:500;margin-bottom:16px}.current-filter-badge button{background:none;border:none;color:#6b7280;cursor:pointer;padding:0;font-size:1rem;line-height:1}.current-filter-badge button:hover{color:#ef4444}@media (max-width: 992px){.review-page-layout{flex-direction:column}.review-sidebar{display:none}.folder-tree-view-mobile{display:block;margin-bottom:16px}}.review-guide{margin-top:40px;padding:24px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px}.review-guide h3{font-size:1.1rem;font-weight:600;color:#374151;margin:0 0 20px;padding-bottom:12px;border-bottom:1px solid #e5e7eb}.review-guide .guide-section{margin-bottom:20px;padding-bottom:16px;border-bottom:1px dashed #e5e7eb}.review-guide .guide-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.review-guide h4{font-size:.95rem;font-weight:600;color:#4b5563;margin:0 0 10px}.review-guide ul,.review-guide ol{margin:0;padding-left:20px;color:#4b5563}.review-guide li{margin-bottom:6px;font-size:.9rem;line-height:1.6}.review-guide li:last-child{margin-bottom:0}.review-guide .status-list{padding-left:0;list-style:none}.review-guide .status-list li{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;margin-bottom:6px}.review-guide .status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.8rem;font-weight:500;flex-shrink:0;min-width:80px;text-align:center}.review-guide .status-badge.uploaded{background:#f3f4f6;color:#6b7280}.review-guide .status-badge.analyzing{background:#dbeafe;color:#2563eb}.review-guide .status-badge.pending-review{background:#fef3c7;color:#d97706}.review-guide .status-badge.indexed{background:#d1fae5;color:#059669}.review-guide .status-badge.failed{background:#fee2e2;color:#dc2626}.review-guide .process-steps{padding-left:0;list-style:none}.review-guide .process-steps li{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:8px}.review-guide .process-steps li:last-child{margin-bottom:0}.review-guide .step-icon{font-size:1.2rem;flex-shrink:0}@media (prefers-color-scheme: dark){.review-guide{background:#1f2937;border-color:#374151}.review-guide h3{color:#f3f4f6;border-color:#374151}.review-guide .guide-section{border-color:#374151}.review-guide h4{color:#e5e7eb}.review-guide ul,.review-guide ol{color:#d1d5db}.review-guide .status-list li,.review-guide .process-steps li{background:#111827;border-color:#374151;color:#d1d5db}.review-guide .status-badge.uploaded{background:#374151;color:#9ca3af}.review-guide .status-badge.analyzing{background:#1e3a5f;color:#60a5fa}.review-guide .status-badge.pending-review{background:#451a03;color:#fbbf24}.review-guide .status-badge.indexed{background:#064e3b;color:#34d399}.review-guide .status-badge.failed{background:#450a0a;color:#f87171}}.compact-view-toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;margin-top:8px;font-size:.9rem;color:#4b5563}.compact-view-toggle input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#3b82f6}.compact-view-toggle span{font-weight:500}.review-compact-list{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.compact-list-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.compact-list-actions{display:flex;align-items:center;gap:8px}.compact-file-table{width:100%;border-collapse:collapse;font-size:.9rem}.compact-file-table thead{background:#f3f4f6;border-bottom:1px solid #e5e7eb}.compact-file-table thead th{padding:10px 12px;text-align:left;font-size:.8rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.3px}.compact-file-table tbody tr{border-bottom:1px solid #f3f4f6;transition:background .15s ease}.compact-file-table tbody tr:last-child{border-bottom:none}.compact-file-table tbody tr:hover{background:#f9fafb}.compact-file-table tbody tr.selected{background:#eff6ff}.compact-file-table tbody tr.selected:hover{background:#dbeafe}.compact-file-table td{padding:10px 12px;color:#374151;vertical-align:middle}.compact-file-table td input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#3b82f6}.compact-filename{color:#2563eb;cursor:pointer;font-weight:500;transition:color .15s ease;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;max-width:100%}.compact-filename:hover{color:#1d4ed8;text-decoration:underline}.compact-confidence{font-weight:600;font-size:.85rem}.compact-confidence.high{color:#059669}.compact-confidence.medium{color:#d97706}.compact-confidence.low{color:#dc2626}@media (prefers-color-scheme: dark){.compact-view-toggle{color:#d1d5db}.review-compact-list{background:#1f2937;border-color:#374151}.compact-list-header{background:#111827;border-color:#374151}.compact-list-header .bulk-select-all span{color:#93c5fd}.compact-file-table thead{background:#111827;border-color:#374151}.compact-file-table thead th{color:#9ca3af}.compact-file-table tbody tr{border-color:#374151}.compact-file-table tbody tr:hover{background:#374151}.compact-file-table tbody tr.selected{background:#1e3a5f}.compact-file-table tbody tr.selected:hover{background:#1e40af30}.compact-file-table td{color:#e5e7eb}.compact-filename{color:#60a5fa}.compact-filename:hover{color:#93c5fd}.compact-confidence.high{color:#34d399}.compact-confidence.medium{color:#fbbf24}.compact-confidence.low{color:#f87171}}@media (max-width: 768px){.compact-file-table thead th:nth-child(4),.compact-file-table tbody td:nth-child(4){display:none}.compact-file-table thead th:nth-child(5),.compact-file-table tbody td:nth-child(5){display:none}.compact-list-header{flex-direction:column;gap:8px;align-items:flex-start}.compact-list-actions{width:100%;justify-content:flex-end}}.intel-sync-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:50;width:720px;max-width:90vw;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 8px 24px #0000001f;padding:20px;animation:slideDown .2s ease}.file-list-actions{position:relative}.intel-sync-summary{display:flex;gap:12px;margin-bottom:16px;padding:12px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.sync-stat{flex:1;text-align:center;padding:8px;border-radius:6px}.sync-stat-value{display:block;font-size:1.5rem;font-weight:700;color:#1f2937}.sync-stat-label{display:block;font-size:.75rem;color:#6b7280;margin-top:2px}.sync-stat.synced{background:#d1fae5}.sync-stat.synced .sync-stat-value{color:#065f46}.sync-stat.mismatch{background:#fee2e2}.sync-stat.mismatch .sync-stat-value{color:#991b1b}.intel-sync-actions{display:flex;gap:8px;margin-bottom:16px}.intel-sync-section{margin-bottom:16px}.intel-sync-section:last-child{margin-bottom:0}.intel-sync-section h4{font-size:.9rem;font-weight:600;color:#374151;margin:0 0 8px;padding-bottom:6px;border-bottom:1px solid #e5e7eb}.intel-sync-table{width:100%;border-collapse:collapse;font-size:.85rem}.intel-sync-table thead{background:#f3f4f6}.intel-sync-table th{padding:8px 10px;text-align:left;font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.3px}.intel-sync-table td{padding:8px 10px;border-top:1px solid #f3f4f6;color:#374151;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.intel-sync-table td.mono{font-family:SF Mono,Fira Code,monospace;font-size:.8rem;color:#6b7280}.intel-sync-table tbody tr:hover{background:#f9fafb}.intel-sync-ok{padding:24px;text-align:center;color:#065f46;background:#d1fae5;border-radius:8px;font-weight:500}.intel-sync-error{padding:16px;text-align:center;color:#991b1b;background:#fee2e2;border-radius:8px;font-weight:500}.intel-sync-loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:32px;color:#6b7280}.intel-dup-group{margin-bottom:16px}.intel-dup-group-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.intel-dup-filename{font-weight:600;font-size:14px;word-break:break-all}.intel-dup-badge{font-size:11px;padding:2px 8px;border-radius:10px;font-weight:500}.intel-dup-badge.exact{background:#fee2e2;color:#dc2626}.intel-dup-badge.name-only{background:#fef3c7;color:#d97706}.intel-dup-keep{background:#f0fdf4}.intel-dup-keep-label{color:#16a34a;font-weight:600;font-size:12px}.sync-stat.duplicate{background:#fef3c7}.sync-stat.duplicate .sync-stat-value{color:#d97706}.btn-warning{background-color:#f59e0b;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-warning:hover:not(:disabled){background-color:#d97706}.btn-warning:disabled{opacity:.6;cursor:not-allowed}.btn-sm.btn-danger{background-color:#ef4444;color:#fff;border:none;padding:4px 10px;border-radius:4px;font-size:.8rem;cursor:pointer;transition:all .15s ease}.btn-sm.btn-danger:hover:not(:disabled){background-color:#dc2626}.btn-sm.btn-danger:disabled{opacity:.6;cursor:not-allowed}.btn-sm.btn-primary{background-color:#3b82f6;color:#fff;border:none;padding:4px 10px;border-radius:4px;font-size:.8rem;cursor:pointer;transition:all .15s ease}.btn-sm.btn-primary:hover:not(:disabled){background-color:#2563eb}.btn-sm.btn-primary:disabled{opacity:.6;cursor:not-allowed}@media (prefers-color-scheme: dark){.intel-sync-panel{background:#1f2937;border-color:#374151;box-shadow:0 8px 24px #0006}.intel-sync-summary{background:#111827;border-color:#374151}.sync-stat-value{color:#f3f4f6}.sync-stat-label{color:#9ca3af}.sync-stat.synced{background:#064e3b}.sync-stat.synced .sync-stat-value{color:#34d399}.sync-stat.mismatch{background:#450a0a}.sync-stat.mismatch .sync-stat-value{color:#f87171}.intel-sync-section h4{color:#f3f4f6;border-color:#374151}.intel-sync-table thead{background:#111827}.intel-sync-table th{color:#9ca3af}.intel-sync-table td{color:#e5e7eb;border-color:#374151}.intel-sync-table td.mono{color:#9ca3af}.intel-sync-table tbody tr:hover{background:#374151}.intel-sync-ok{background:#064e3b;color:#34d399}.intel-sync-error{background:#450a0a;color:#f87171}.intel-sync-loading{color:#9ca3af}.intel-dup-badge.exact{background:#7f1d1d;color:#fca5a5}.intel-dup-badge.name-only{background:#78350f;color:#fcd34d}.intel-dup-keep{background:#16a34a1a}.intel-dup-keep-label{color:#4ade80}.intel-dup-filename{color:#f3f4f6}.sync-stat.duplicate{background:#78350f}.sync-stat.duplicate .sync-stat-value{color:#fcd34d}.btn-warning{background-color:#d97706}.btn-warning:hover:not(:disabled){background-color:#b45309}}@media (max-width: 768px){.intel-sync-panel{width:calc(100vw - 32px);left:50%;right:auto;transform:translate(-50%)}.intel-sync-summary{flex-wrap:wrap}.sync-stat{min-width:80px}}.search-container{max-width:800px;margin:0 auto 32px}.search-box{display:flex;gap:12px;padding:20px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000000a}.search-box input{flex:1;padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:1rem}.search-box input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.search-box .btn{padding:12px 24px}.intelligence-search-page .search-results{margin-top:24px;min-height:calc(100vh - 360px);max-height:none;overflow-y:visible;border:none;border-radius:0}.search-results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.search-results-header h3{font-size:1rem;font-weight:600;color:#374151;margin:0}.results-count{font-size:.9rem;color:#6b7280}.intelligence-search-page .search-result-item{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;margin-bottom:12px;transition:all .2s ease}.intelligence-search-page .search-result-item:hover{box-shadow:0 4px 12px #00000014;border-color:#3b82f6}.intelligence-search-page .search-result-item:last-child{margin-bottom:0}.intelligence-search-page .result-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.intelligence-search-page .result-title{font-size:1.05rem;font-weight:700;color:#111827;margin:0}.intelligence-search-page .result-score{padding:4px 10px;background:#dbeafe;border-radius:6px;font-size:.8rem;font-weight:600;color:#1e40af;white-space:nowrap}.intelligence-search-page .result-meta{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:12px}.intelligence-search-page .result-meta span{font-size:.85rem;color:#374151;font-weight:500}.intelligence-search-page .result-summary{font-size:.9rem;color:#4b5563;line-height:1.6;margin:0}.intelligence-search-page .search-result-item.grouped{padding:20px}.intelligence-search-page .search-result-item.project-card{background:var(--intel-project-light, #ede9fe);border:1px solid var(--intel-project-border, #c4b5fd)}.intelligence-search-page .search-result-item.project-card:hover{box-shadow:0 4px 12px #7c3aed26;border-color:#a78bfa}.intelligence-search-page .project-file-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.intelligence-search-page .project-file-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#f5f3ff;border:1px solid var(--intel-project-hover, #ddd6fe);border-radius:6px;transition:background-color .15s ease}.intelligence-search-page .project-file-item:hover{background:var(--intel-project-light, #ede9fe)}.intelligence-search-page .project-card .chunks-toggle{background:var(--intel-project-hover, #ddd6fe);border-color:#a78bfa;color:#6d28d9}.intelligence-search-page .project-card .chunks-toggle:hover{background:var(--intel-project-border, #c4b5fd);border-color:#8b5cf6}.intelligence-search-page .project-card .result-title-clickable:hover{background-color:var(--intel-project-hover, #ddd6fe)}.intelligence-search-page .result-title-wrap{flex:1;min-width:0}.intelligence-search-page .result-title-clickable{cursor:pointer;border-radius:6px;padding:4px 8px;margin:-4px -8px;transition:background-color .15s ease}.intelligence-search-page .result-title-clickable:hover{background-color:#f3f4f6}.intelligence-search-page .result-title-clickable:hover .result-title{text-decoration:underline;text-underline-offset:3px}.intelligence-search-page .result-title-clickable:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.intelligence-search-page .search-result-item.grouped .result-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.intelligence-search-page .result-filename{display:block;margin-top:4px;font-size:.83rem;color:#4b5563;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.intelligence-search-page .result-chunks{margin-top:16px;padding:16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.intelligence-search-page .chunks-label{font-size:.85rem;font-weight:600;color:#475569;margin-bottom:12px}.intelligence-search-page .chunks-list{display:flex;flex-direction:column;gap:10px}.intelligence-search-page .chunk-item{display:flex;gap:12px;padding:12px;background:#fff;border:1px solid #e2e8f0;border-radius:6px;border-left:3px solid #3b82f6}.intelligence-search-page .chunk-index{display:flex;align-items:center;justify-content:center;min-width:24px;height:24px;background:#3b82f6;color:#fff;font-size:.75rem;font-weight:600;border-radius:50%}.intelligence-search-page .chunk-content{flex:1;min-width:0}.intelligence-search-page .chunk-header{display:flex;gap:8px;align-items:center;margin-bottom:6px}.intelligence-search-page .chunk-score{display:inline-block;padding:2px 8px;background:#dbeafe;color:#1d4ed8;border-radius:4px;font-size:.75rem;font-weight:600}.intelligence-search-page .chunk-text{font-size:.9rem;color:#334155;line-height:1.6;margin:0;font-style:italic}.intelligence-search-page .chunk-page{display:inline-block;padding:2px 8px;background:#e2e8f0;border-radius:4px;font-size:.75rem;color:#64748b}.intelligence-search-page .chunks-toggle{width:100%;padding:10px 12px;text-align:center;font-size:.85rem;color:#3b82f6;background:#eff6ff;border:1px dashed #93c5fd;border-radius:6px;cursor:pointer;transition:all .2s ease}.intelligence-search-page .chunks-toggle:hover{background:#dbeafe;border-color:#3b82f6}.intelligence-search-page .result-download{margin-top:14px;padding-top:12px;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end}.intelligence-search-page .result-download-btn{background:#f8fafc;border:1px solid #d1d5db;color:#374151;border-radius:6px;cursor:pointer;transition:all .15s ease}.intelligence-search-page .result-download-btn:hover:not(:disabled){background:#eff6ff;border-color:#3b82f6;color:#1d4ed8}.intelligence-search-page .result-download-btn:disabled{opacity:.6;cursor:not-allowed}.intelligence-search-page .result-extractive{margin-top:12px;padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;border-left:3px solid #3b82f6}.intelligence-search-page .extractive-label{font-size:.8rem;font-weight:600;color:#64748b;margin-bottom:8px}.intelligence-search-page .extractive-chunk{margin-bottom:8px}.intelligence-search-page .extractive-chunk:last-child{margin-bottom:0}.intelligence-search-page .extractive-text{font-size:.9rem;color:#334155;line-height:1.6;margin:0;font-style:italic}.intelligence-search-page .extractive-page{display:inline-block;margin-top:4px;padding:2px 6px;background:#e2e8f0;border-radius:4px;font-size:.75rem;color:#64748b}.search-tips{max-width:800px;margin:0 auto;padding:20px 24px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px}.search-tips h3{font-size:1rem;font-weight:600;color:#374151;margin:0 0 12px}.search-tips ul{margin:0;padding-left:20px;color:#4b5563}.search-tips li{margin-bottom:8px;font-size:.9rem;line-height:1.5}.search-tips li:last-child{margin-bottom:0}.search-tips strong{color:#374151}@media (max-width: 768px){.intelligence-search-page .search-box{flex-direction:column}.intelligence-search-page .result-meta{flex-direction:column;gap:4px}}.search-detail-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.search-detail-modal{background:#fff;border-radius:16px;width:100%;max-width:640px;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px #0003}.search-detail-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb;position:sticky;top:0;background:#fff;border-radius:16px 16px 0 0;z-index:1}.search-detail-header h3{margin:0;font-size:1.1rem;font-weight:600;color:#1f2937}.search-detail-close{width:32px;height:32px;border:none;background:#f3f4f6;border-radius:8px;font-size:1.3rem;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.search-detail-close:hover{background:#e5e7eb;color:#374151}.search-detail-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:48px 24px;color:#6b7280}.search-detail-error{padding:32px 24px;text-align:center;color:#991b1b}.search-detail-body{padding:24px}.search-detail-section{margin-bottom:24px}.search-detail-section:last-child{margin-bottom:0}.search-detail-section h4{font-size:.85rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid #f3f4f6}.search-detail-grid{display:grid;grid-template-columns:100px 1fr;gap:8px 16px;margin:0}.search-detail-grid dt{font-size:.85rem;color:#6b7280;font-weight:500}.search-detail-grid dd{font-size:.9rem;color:#1f2937;margin:0;word-break:break-word}.search-detail-summary{font-size:.9rem;color:#374151;line-height:1.7;margin:0 0 12px}.search-detail-keywords{display:flex;flex-wrap:wrap;gap:6px}.search-detail-keyword{display:inline-block;padding:3px 10px;background:#eff6ff;color:#1d4ed8;border-radius:12px;font-size:.8rem}.search-detail-footer{margin-top:24px;padding-top:16px;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:12px}.event-test-container{width:100vw;height:100vh;overflow:hidden;position:relative;background-color:#000;color:#fff;font-family:sans-serif}.event-tabs{position:absolute;top:0;left:0;width:100%;display:flex;z-index:100;background:#00000080}.event-tab{flex:1;padding:10px;text-align:center;cursor:pointer;border-bottom:2px solid transparent;color:#aaa}.event-tab.active{border-bottom:2px solid #fff;color:#fff;font-weight:700}.event-content{width:100%;height:100%;padding-top:50px;box-sizing:border-box}.qr-container{display:flex;justify-content:center;align-items:center;height:100%;flex-direction:column}.upload-container{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:20px}.upload-btn{padding:20px 40px;font-size:1.5rem;background-color:#3498db;color:#fff;border:none;border-radius:10px;cursor:pointer;margin-top:20px}.camera-preview{max-width:100%;max-height:50vh;margin-top:20px;border:1px solid #555}#pixi-container{width:100%;height:100%;background-color:#000}.admin-container{padding:20px;max-width:600px;margin:0 auto;background:#444;border-radius:8px;box-shadow:0 4px 15px #0000004d}.admin-row{margin-bottom:15px}.admin-row label{display:block;margin-bottom:5px;color:#eee}.admin-input{width:100%;padding:8px;background:#555;border:1px solid #666;color:#fff;border-radius:4px;box-sizing:border-box}.admin-btn{padding:10px 20px;background:#2ecc71;color:#fff;border:none;cursor:pointer;margin-right:10px}.reset-btn{background:#e74c3c}.qa-container{width:100%;height:100vh;display:flex;flex-direction:column;background:#0f0f1a;color:#e0e0e0;font-family:Pretendard,-apple-system,BlinkMacSystemFont,sans-serif}.qa-container.qa-fullscreen-mode{padding:0}.qa-container.qa-qr-mode{background:linear-gradient(135deg,#1a1a2e,#16213e);justify-content:center;align-items:center}.qa-tabs{display:flex;border-bottom:1px solid #2a2a3e;background:#141422;flex-shrink:0}.qa-tab{padding:12px 24px;border:none;background:transparent;color:#888;cursor:pointer;font-size:14px;transition:all .2s;border-bottom:2px solid transparent;white-space:nowrap}.qa-tab:hover:not(:disabled){color:#ccc;background:#1a1a2e}.qa-tab.active{color:#7c83ff;border-bottom-color:#7c83ff;background:#1a1a2e}.qa-tab:disabled{opacity:.3;cursor:not-allowed}.qa-content{flex:1;overflow:auto;padding:20px}.qa-content-fullscreen{padding:0;overflow:hidden}.qa-input{padding:10px 14px;border:1px solid #2a2a3e;border-radius:6px;background:#1a1a2e;color:#e0e0e0;font-size:14px;width:100%;box-sizing:border-box;transition:border-color .2s}.qa-input:focus{outline:none;border-color:#7c83ff}.qa-input-mobile{font-size:16px;padding:14px 16px}.qa-textarea{resize:vertical;min-height:60px}.qa-btn{padding:8px 16px;border:1px solid #2a2a3e;border-radius:6px;background:#1e1e32;color:#e0e0e0;cursor:pointer;font-size:13px;transition:all .2s;white-space:nowrap}.qa-btn:hover:not(:disabled){background:#2a2a44;border-color:#3a3a5e}.qa-btn:disabled{opacity:.5;cursor:not-allowed}.qa-btn.active,.qa-btn-primary{background:#7c83ff;border-color:#7c83ff;color:#fff}.qa-btn-primary:hover:not(:disabled){background:#6a70e0}.qa-btn-danger{color:#ff6b6b;border-color:#ff6b6b33}.qa-btn-danger:hover{background:#ff6b6b22}.qa-btn-ghost{border-color:transparent;background:transparent}.qa-btn-ghost:hover{background:#ffffff10}.qa-btn-sm{padding:5px 10px;font-size:12px}.qa-btn-ai{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;font-weight:600}.qa-btn-ai:hover:not(:disabled){opacity:.9}.qa-btn-broadcast{background:linear-gradient(135deg,#f093fb,#f5576c);border:none;color:#fff;font-weight:700;font-size:15px;padding:12px 24px}.qa-btn-broadcast:hover:not(:disabled){opacity:.9}.qa-btn-submit{width:100%;padding:16px;font-size:18px;font-weight:700;background:linear-gradient(135deg,#7c83ff,#667eea);border:none;color:#fff;border-radius:12px;margin-top:10px}.qa-btn-approved{background:#2ecc7133;border-color:#2ecc71;color:#2ecc71}.qa-btn-group{display:flex;gap:6px}.qa-msg{padding:8px 12px;margin-top:8px;color:#7c83ff;font-size:13px}.qa-msg-error{color:#ff6b6b;background:#ff6b6b12;border-radius:6px}.qa-empty{padding:40px;text-align:center;color:#555;font-size:14px}.qa-empty-page{display:flex;align-items:center;justify-content:center;height:100%;color:#555;font-size:18px}.qa-error{color:#ff6b6b;font-size:14px;margin:8px 0}.qa-color-input{width:60px;height:36px;border:1px solid #2a2a3e;border-radius:6px;background:transparent;cursor:pointer}.qa-range{width:100%;accent-color:#7c83ff}.qa-checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer}.qa-session-manager{height:100%}.qa-panel-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;height:calc(100vh - 100px)}.qa-panel-row-2col{grid-template-columns:1fr 1fr}.qa-panel{background:#141422;border-radius:12px;padding:20px;overflow-y:auto;border:1px solid #2a2a3e}.qa-panel h3{margin:0 0 16px;font-size:16px;color:#ccc;border-bottom:1px solid #2a2a3e;padding-bottom:10px}.qa-panel-center{display:flex;flex-direction:column;align-items:center}.qa-form-group{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.qa-form-row{display:flex;gap:8px;align-items:center;margin-bottom:10px}.qa-form-row .qa-input{flex:1}.qa-session-list{display:flex;flex-direction:column;gap:8px}.qa-session-item{padding:12px;border-radius:8px;border:1px solid #2a2a3e;cursor:pointer;transition:all .2s}.qa-session-item:hover{border-color:#3a3a5e;background:#1a1a2e}.qa-session-item.active{border-color:#7c83ff;background:#7c83ff15}.qa-session-title{font-weight:600;margin-bottom:4px}.qa-session-meta{display:flex;gap:12px;font-size:12px;color:#888}.status-active{color:#2ecc71}.status-inactive{color:#e74c3c}.qa-category-list{display:flex;flex-direction:column;gap:6px}.qa-category-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:6px;border:1px solid #2a2a3e}.qa-category-name{flex:1;font-size:14px}.qa-category-count{background:#2a2a3e;padding:2px 8px;border-radius:10px;font-size:11px;color:#888}.qa-category-actions{display:flex;gap:4px}.qa-qr-wrap{background:#fff;padding:16px;border-radius:12px;margin:20px 0}.qa-qr-link{word-break:break-all;font-size:11px;color:#666;text-align:center;max-width:100%}.qa-qr-fullpage{display:flex;flex-direction:column;align-items:center;justify-content:center;height:calc(100vh - 100px);gap:24px}.qa-submit-container{display:flex;justify-content:center;align-items:center;min-height:100%;padding:20px}.qa-submit-form{width:100%;max-width:480px;display:flex;flex-direction:column;gap:16px}.qa-submit-form h2{font-size:24px;text-align:center;margin:0}.qa-submit-desc{text-align:center;color:#888;margin:0}.qa-question-input{min-height:100px;resize:vertical}.qa-char-count{text-align:right;font-size:12px;color:#555;margin-top:-8px}.qa-submit-success{text-align:center;padding:40px}.qa-success-icon{width:80px;height:80px;border-radius:50%;background:#2ecc71;color:#fff;display:flex;align-items:center;justify-content:center;font-size:40px;margin:0 auto 20px}.qa-category-select{width:100%;position:relative}.qa-category-select select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}.qa-operator-panel{display:flex;flex-direction:column;height:calc(100vh - 100px)}.qa-operator-header{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #2a2a3e;margin-bottom:12px;flex-shrink:0}.qa-stats{display:flex;gap:20px;align-items:center}.qa-stat{font-size:13px;color:#888}.qa-stat strong{color:#e0e0e0;margin-left:4px}.text-green{color:#2ecc71}.text-orange{color:#f39c12}.text-purple{color:#7c83ff}.qa-stat-clickable{cursor:pointer;padding:4px 10px;border-radius:6px;transition:all .2s}.qa-stat-clickable:hover{background:#ff6b6b18}.qa-stat-active{background:#ff6b6b22;border:1px solid #ff6b6b44}.qa-select-all{padding:8px 0;font-size:13px;color:#888;flex-shrink:0}.qa-item-checkbox{width:18px;height:18px;cursor:pointer;accent-color:#7c83ff;flex-shrink:0}.qa-question-card.checked{border-color:#7c83ff66;background:#7c83ff08}.qa-btn-discard{color:#ff6b6b;border-color:#ff6b6b44;background:transparent}.qa-btn-discard:hover:not(:disabled){background:#ff6b6b22}.qa-discarded-banner{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#ff6b6b15;border:1px solid #ff6b6b33;border-radius:8px;margin-bottom:12px;font-size:13px;color:#ff6b6b;flex-shrink:0}.qa-bottom-bar{display:flex;justify-content:center;padding:16px 0;border-top:1px solid #2a2a3e;flex-shrink:0}.qa-preview-nav{display:flex;align-items:center;gap:12px;margin-top:20px;font-size:14px;color:#888}.qa-category-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px;flex-shrink:0}.qa-cat-tab{padding:6px 14px;border:1px solid #2a2a3e;border-radius:20px;background:transparent;color:#888;cursor:pointer;font-size:13px;transition:all .2s}.qa-cat-tab.active{border-color:#7c83ff;color:#7c83ff;background:#7c83ff15}.qa-cat-tab:hover{border-color:#3a3a5e}.qa-question-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.qa-question-card{border:1px solid #2a2a3e;border-radius:10px;padding:14px;transition:all .2s}.qa-question-card:hover{border-color:#3a3a5e}.qa-question-card.approved{border-left:3px solid #2ecc71}.qa-question-card.displayed{opacity:.6}.qa-question-header{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:12px}.qa-priority-badge{font-size:12px;font-weight:700}.qa-question-category{background:#2a2a3e;padding:2px 8px;border-radius:4px;color:#aaa}.qa-question-author{color:#666;margin-left:auto}.qa-question-text{font-size:15px;line-height:1.5;margin-bottom:8px}.qa-answer-text{font-size:13px;color:#7c83ff;padding:8px;background:#7c83ff10;border-radius:6px;margin-bottom:8px}.qa-question-actions{display:flex;gap:6px;justify-content:flex-end}.qa-badge{padding:2px 8px;border-radius:4px;font-size:11px}.qa-badge-displayed{background:#f39c1233;color:#f39c12}.qa-risk-high{background:#e74c3c33;color:#e74c3c;font-weight:700}.qa-risk-medium{background:#f39c1233;color:#f39c12;font-weight:600}.qa-risk-low{background:#3498db33;color:#3498db}.qa-risk-reason{font-size:12px;padding:6px 10px;border-radius:4px;margin-bottom:8px}.qa-risk-bg-high{background:#e74c3c18;color:#ff6b6b;border-left:3px solid #e74c3c}.qa-risk-bg-medium{background:#f39c1218;color:#f5b041;border-left:3px solid #f39c12}.qa-risk-bg-low{background:#3498db18;color:#85c1e9;border-left:3px solid #3498db}.text-red{color:#e74c3c}.qa-answer-expand{margin-top:10px;padding-top:10px;border-top:1px solid #2a2a3e;display:flex;flex-direction:column;gap:8px}.qa-answer-expand .qa-btn{align-self:flex-end}.qa-live-status{display:flex;align-items:center;gap:12px;padding:8px 20px;font-size:12px;border-top:1px solid #2a2a3e}.qa-ws-dot{white-space:nowrap}.qa-ws-dot.connected{color:#2ecc71}.qa-ws-dot.disconnected{color:#e74c3c}.qa-live-count{color:#7c83ff}.qa-preview-editor{display:grid;grid-template-columns:1fr 360px;gap:0;height:calc(100vh - 100px)}.qa-preview-3col{grid-template-columns:280px 1fr 360px}.qa-queue-panel{background:#141422;border-right:1px solid #2a2a3e;display:flex;flex-direction:column;overflow:hidden}.qa-queue-header{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 12px;border-bottom:1px solid #2a2a3e;flex-shrink:0}.qa-queue-title{margin:0;font-size:14px;color:#ccc}.qa-queue-list{flex:1;overflow-y:auto;padding:8px}.qa-queue-item{display:flex;gap:10px;padding:10px 12px;border-radius:8px;cursor:pointer;transition:all .15s;margin-bottom:4px}.qa-queue-item:hover{background:#1e1e32}.qa-queue-item.active{background:#7c83ff18;border:1px solid #7c83ff44}.qa-queue-num{width:22px;height:22px;border-radius:50%;background:#2a2a3e;color:#888;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.qa-queue-item.active .qa-queue-num{background:#7c83ff;color:#fff}.qa-queue-content{flex:1;min-width:0}.qa-queue-question{font-size:13px;color:#ddd;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.qa-queue-meta{font-size:11px;color:#666;margin-top:4px}.qa-ws-status{font-size:11px;white-space:nowrap}.qa-ws-status.connected{color:#2ecc71}.qa-ws-status.disconnected{color:#e74c3c}.qa-queue-remove{background:transparent;border:none;color:#555;font-size:18px;cursor:pointer;padding:0 4px;line-height:1;flex-shrink:0;opacity:0;transition:opacity .15s}.qa-queue-item:hover .qa-queue-remove{opacity:1}.qa-queue-remove:hover{color:#ff6b6b}.qa-preview-area{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;position:relative;overflow:hidden}.qa-preview-text{max-width:90%;word-break:keep-all;line-height:1.4}.qa-preview-answer{max-width:90%;margin-top:20px}.qa-settings-panel{background:#141422;border-left:1px solid #2a2a3e;display:flex;flex-direction:column}.qa-settings-scroll{flex:1;overflow-y:auto;padding:20px}.qa-settings-scroll h3{margin:0 0 16px;font-size:16px;color:#ccc}.qa-setting-group{margin-bottom:16px}.qa-setting-group>label{display:block;font-size:12px;color:#888;margin-bottom:6px}.qa-settings-footer{display:flex;flex-direction:column;gap:8px;padding:16px 20px;border-top:1px solid #2a2a3e}.qa-display-screen{width:100%;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden}.qa-display-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:40px;width:90%;max-width:1400px}.qa-display-item{width:100%;padding:20px}.qa-display-question{line-height:1.3;word-break:keep-all}.qa-display-waiting{font-size:36px;font-weight:300}.qa-ws-indicator{position:absolute;bottom:26px;right:70px;font-size:10px;padding:4px 8px;border-radius:4px;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);white-space:nowrap;transition:opacity 3s ease-out}.qa-ws-indicator.visible{opacity:1;transition:opacity .2s ease-in}.qa-ws-indicator.hidden{opacity:0;pointer-events:none;transition:opacity 3s ease-out}.qa-ws-indicator.connected{color:#2ecc71}.qa-ws-indicator.disconnected{color:#e74c3c}.qa-fullscreen-toggle-area{position:absolute;bottom:0;right:0;width:80px;height:80px;z-index:100}.qa-fullscreen-toggle{position:absolute;bottom:20px;right:20px;width:44px;height:44px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#0006;color:#ffffffb3;font-size:22px;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:opacity 3s ease-out,transform .2s}.qa-fullscreen-toggle.visible{opacity:1;transition:opacity .2s ease-in}.qa-fullscreen-toggle.hidden{opacity:0;pointer-events:none;transition:opacity 3s ease-out}.qa-fullscreen-toggle:hover{background:#0009;color:#fff;transform:scale(1.1)}.qa-effect-fade_in{animation:qa-fadeIn 1s ease-out both}@keyframes qa-fadeIn{0%{opacity:0}to{opacity:1}}.qa-effect-slide_up{animation:qa-slideUp .8s ease-out both}@keyframes qa-slideUp{0%{opacity:0;transform:translateY(60px)}to{opacity:1;transform:translateY(0)}}.qa-effect-slide_down{animation:qa-slideDown .8s ease-out both}@keyframes qa-slideDown{0%{opacity:0;transform:translateY(-60px)}to{opacity:1;transform:translateY(0)}}.qa-effect-slide_left{animation:qa-slideLeft .8s ease-out both}@keyframes qa-slideLeft{0%{opacity:0;transform:translate(80px)}to{opacity:1;transform:translate(0)}}.qa-effect-slide_right{animation:qa-slideRight .8s ease-out both}@keyframes qa-slideRight{0%{opacity:0;transform:translate(-80px)}to{opacity:1;transform:translate(0)}}.qa-effect-zoom_in{animation:qa-zoomIn .7s ease-out both}@keyframes qa-zoomIn{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}.qa-effect-zoom_out{animation:qa-zoomOut .7s ease-out both}@keyframes qa-zoomOut{0%{opacity:0;transform:scale(2)}to{opacity:1;transform:scale(1)}}.qa-effect-bounce{animation:qa-bounce 1s ease both}@keyframes qa-bounce{0%{opacity:0;transform:translateY(-80px)}40%{opacity:1;transform:translateY(15px)}60%{transform:translateY(-8px)}80%{transform:translateY(4px)}to{transform:translateY(0)}}.qa-typewriter-cursor{animation:qa-blink .8s step-end infinite;font-weight:100}@keyframes qa-blink{50%{opacity:0}}.qa-effect-flip{animation:qa-flip .8s ease-out both;perspective:1000px}@keyframes qa-flip{0%{opacity:0;transform:perspective(1000px) rotateY(90deg)}to{opacity:1;transform:perspective(1000px) rotateY(0)}}.qa-effect-blur_in{animation:qa-blurIn 1s ease-out both}@keyframes qa-blurIn{0%{opacity:0;filter:blur(20px)}to{opacity:1;filter:blur(0)}}.qa-effect-rotate_in{animation:qa-rotateIn .8s ease-out both}@keyframes qa-rotateIn{0%{opacity:0;transform:rotate(-15deg) scale(.8)}to{opacity:1;transform:rotate(0) scale(1)}}.qa-effect-drop{animation:qa-drop .9s ease both}@keyframes qa-drop{0%{opacity:0;transform:translateY(-200px)}50%{opacity:1;transform:translateY(10px)}70%{transform:translateY(-5px)}to{transform:translateY(0)}}.qa-emphasis-glow{animation-name:qa-fadeIn,qa-glow;animation-duration:1s,2s;animation-delay:0s,1s;animation-iteration-count:1,infinite;animation-direction:normal,alternate}@keyframes qa-glow{0%{text-shadow:0 0 10px currentColor,0 0 20px currentColor}to{text-shadow:0 0 20px currentColor,0 0 40px currentColor,0 0 60px currentColor}}.qa-emphasis-pulse{animation-name:qa-fadeIn,qa-pulse;animation-duration:1s,2s;animation-delay:0s,1s;animation-iteration-count:1,infinite;animation-direction:normal,alternate}@keyframes qa-pulse{0%{transform:scale(1)}to{transform:scale(1.03)}}.qa-emphasis-shimmer{background-size:200% 100%;-webkit-background-clip:text;background-clip:text;animation:qa-shimmer 3s linear infinite;background-image:linear-gradient(90deg,currentColor 0%,currentColor 40%,#fff 50%,currentColor 60%,currentColor 100%);-webkit-text-fill-color:transparent}@keyframes qa-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.qa-emphasis-wave{animation:qa-wave 2s ease-in-out infinite}@keyframes qa-wave{0%,to{transform:translateY(0)}25%{transform:translateY(-5px)}75%{transform:translateY(5px)}}.qa-transition-fade{animation-duration:1.2s!important}.qa-transition-flip_card{animation:qa-flipCard .8s ease-out both;perspective:1000px}@keyframes qa-flipCard{0%{opacity:0;transform:perspective(1000px) rotateX(90deg)}to{opacity:1;transform:perspective(1000px) rotateX(0)}}@media (max-width: 768px){.qa-panel-row,.qa-preview-editor,.qa-preview-3col{grid-template-columns:1fr;height:auto}.qa-preview-area{min-height:300px}.qa-tabs{overflow-x:auto}.qa-operator-panel{height:auto}}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background-color:#282c34;padding:20px;color:#fff;text-align:center}.app-main{flex:1;padding:20px}.app-footer{background-color:#f8f9fa;padding:10px;text-align:center;border-top:1px solid #dee2e6}.loading{display:flex;justify-content:center;align-items:center;min-height:200px;font-size:18px;color:#6c757d}.route-loading-spinner{width:42px;height:42px;border:4px solid rgba(0,0,0,.08);border-top-color:#667eea;border-radius:50%;animation:route-spin .9s linear infinite}@keyframes route-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.error{padding:20px;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;margin:20px 0}input[type=text],input[type=email],input[type=tel],input[type=url],input[type=date],input[type=number],input[type=password],textarea,select{color-scheme:light;background-color:#fff!important;color:#333!important;border:1px solid #ccc!important}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;color:#333}#root{min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button{cursor:pointer;border:none;outline:none;font-family:inherit}button:disabled{cursor:not-allowed;opacity:.6}input,textarea,select{font-family:inherit;outline:none}a{text-decoration:none;color:inherit}a:hover{text-decoration:underline}@media (max-width: 768px){body{font-size:14px}}/*!* ==================== 다크모드 전역 스타일 추가 ==================== *!*/.btn-new-item{background-color:#0f0;color:#000;border:none;border-radius:5px;cursor:pointer;font-weight:600;padding:12px 32px;font-size:16px}.btn-new-item:hover{background-color:#0e0}
