code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.header{background:#2d3748;border-bottom:4px solid #764ba2;border-top:4px solid #764ba2;box-shadow:0 2px 4px #0000004d;position:sticky;top:0;z-index:1000}.header-container{align-items:center;display:flex;height:63px;justify-content:space-between;margin:0;padding:0 60px;position:relative;width:100%}.header-menu-btn{align-items:center;background:none;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;justify-content:center;margin-right:12px;min-height:44px;min-width:44px;padding:10px;transition:all .3s ease}.header-menu-btn:hover{background:#ffffff1a}.header-menu-btn:active{background:#fff3;transform:scale(.95)}.header-menu-btn.open{color:#ff4757}.header-menu-btn svg{transition:transform .3s ease}.header-menu-btn.open svg{transform:rotate(90deg)}.header-logo{align-items:center;cursor:pointer;display:flex;flex-shrink:0;gap:0;margin-left:0}.logo-image{border-radius:6px;height:32px;width:32px}.logo-text-image{height:150px;margin-left:-30px;width:auto}.logo-text{color:#fff;font-size:20px;font-weight:700}.header-center{left:50%;position:absolute;transform:translateX(-50%)}.env-badge{border-radius:6px;display:inline-block;font-size:30px;font-weight:700;padding:6.6px 30px}.env-badge.dev{background:#ff4757;border:2px solid #ff6b7a;color:#fff}.header-right{align-items:center;display:flex;flex-shrink:0;gap:16px;margin-right:0}.notification-btn{align-items:center;background:none;border:none;border-radius:6px;cursor:pointer;display:flex;height:40px;justify-content:center;position:relative;transition:background-color .2s;width:40px}.notification-btn:hover{background-color:#333}.notification-icon{fill:#fff;height:20px;width:20px}.notification-badge{background:#ff4757;border-radius:10px;color:#fff;font-size:10px;font-weight:600;min-width:16px;padding:2px 6px;position:absolute;right:6px;text-align:center;top:6px}.user-menu-container{position:relative}.user-info-btn{align-items:center;background:none;border:none;border-radius:8px;cursor:pointer;display:flex;gap:8px;padding:8px 12px;transition:background-color .2s}.user-info-btn:hover{background-color:#333}.user-avatar{border:2px solid #444;border-radius:50%;height:32px;overflow:hidden;width:32px}.user-avatar img{height:100%;object-fit:cover;width:100%}.user-name{color:#fff;font-size:14px;font-weight:500}.dropdown-icon{fill:#fff;height:16px;transition:transform .2s;width:16px}.user-menu-container.open .dropdown-icon{transform:rotate(180deg)}.user-dropdown{background:#1a1a1a;border:1px solid #333;border-radius:8px;box-shadow:0 4px 12px #0000004d;margin-top:8px;min-width:200px;position:absolute;right:0;top:100%;z-index:1001}.user-info{border-bottom:1px solid #333;padding:16px}.user-email{color:#fff;font-size:14px;font-weight:500}.user-role{color:#b3b3b3;font-size:12px;margin-top:2px}.dropdown-divider{background:#333;height:1px}.dropdown-item{align-items:center;background:none;border:none;color:#fff;cursor:pointer;display:flex;font-size:14px;gap:12px;padding:12px 16px;text-align:left;transition:background-color .2s;width:100%}.dropdown-item:hover{background-color:#333}.dropdown-item-icon{fill:#b3b3b3;height:16px;width:16px}@media (max-width:1200px){.header-container{padding:0 40px}}@media (max-width:760px){.header-container{padding:0 20px}.env-badge{font-size:20px;padding:4px 16px}.logo-text-image{height:100px;margin-left:-20px}.user-name{display:none}.header-right{gap:8px}.user-info-btn{padding:8px}.notification-btn{height:44px;width:44px}.notification-icon{height:22px;width:22px}}.sidebar{background-color:#f2f2f2;overflow-y:auto;padding:20px;width:200px}.sidebar.desktop{height:100vh;position:relative}.sidebar.mobile{bottom:0;box-shadow:4px 0 20px #00000026;height:auto;left:0;position:fixed;top:71px;transform:translateX(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:201}.sidebar.mobile.open{transform:translateX(0)}.sidebar-overlay{animation:fadeIn .25s ease-out;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;bottom:0;left:0;position:fixed;right:0;top:71px;z-index:200}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:#e5e7eb;border-radius:3px}.sidebar::-webkit-scrollbar-thumb{background:#9ca3af;border-radius:3px}.sidebar::-webkit-scrollbar-thumb:hover{background:#6b7280}.layout{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1 1}.page-container{padding:24px;width:100%}.page-header{margin-bottom:32px}.page-title{color:#1a1a1a;font-size:32px;font-weight:700;margin:0 0 8px}.page-subtitle{color:#666;font-size:16px;margin:0}.page-content{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:32px}@media (max-width:768px){.page-container{padding:16px}.page-header{margin-bottom:24px}.page-title{font-size:24px}.page-content{padding:24px}}@media (max-width:480px){.page-container{padding:12px}.page-content{padding:16px}}.responsive-layout{min-height:100vh;width:100%}.responsive-layout.mobile{background:#f9fafb;margin:0 auto;max-width:760px}.mobile-main-content{max-width:760px;min-height:1549px;padding-bottom:0;padding-top:71px}.responsive-layout.desktop{display:flex;flex-direction:column;height:100vh;overflow:hidden}.desktop-container{display:flex;height:calc(100vh - 72px);overflow:hidden}.desktop-main-content{flex:1 1;overflow-x:hidden;overflow-y:auto;padding:0}.desktop-main-content::-webkit-scrollbar{width:8px}.desktop-main-content::-webkit-scrollbar-track{background:#f1f1f1}.desktop-main-content::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.desktop-main-content::-webkit-scrollbar-thumb:hover{background:#555}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);background-position:center -60px,calc(50% - 600px) calc(10% + 50px),calc(50% + 600px) calc(10% + 350px),50%;background-repeat:no-repeat;background-size:auto,auto,auto,cover;display:flex;font-family:Malgun Gothic,맑은 고딕,sans-serif;justify-content:center;min-height:100vh;padding:20px}.login-wrapper{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000001a;margin-top:100px;max-width:400px;padding:40px;position:relative;width:100%}.login-header{margin-bottom:30px;text-align:center}.login-title{color:#333;font-size:32px;font-weight:700;letter-spacing:2px;margin:0}.login-form{margin-bottom:20px}.form-input{background:#f8f9fa;border:2px solid #e1e5e9;border-radius:8px;box-sizing:border-box;font-size:16px;padding:15px 20px;transition:all .3s ease;width:100%}.form-input:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-input::placeholder{color:#6c757d;font-size:14px}.form-input.error{background:#fff5f5;border-color:#dc3545}.form-input.error:focus{border-color:#dc3545;box-shadow:0 0 0 3px #dc35451a}.error-message{color:#dc3545;margin-top:5px}.general-error{background:#fff5f5;border:1px solid #fecaca;border-radius:6px;font-size:14px;margin-bottom:20px;padding:12px;text-align:center}.checkbox-group{margin-bottom:25px}.checkbox-label{align-items:center;color:#666;cursor:pointer;display:flex;font-size:14px}.checkbox-input{cursor:pointer;height:18px;margin-right:8px;width:18px}.checkbox-text{-webkit-user-select:none;user-select:none}.login-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-bottom:20px;padding:15px;transition:all .3s ease;width:100%}.login-button:hover:not(:disabled){box-shadow:0 8px 25px #667eea4d;transform:translateY(-2px)}.login-button:active{transform:translateY(0)}.login-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.login-links{border-top:1px solid #e9ecef;margin-bottom:30px;padding-top:20px;text-align:center}.link-button{background:none;border:none;color:#667eea;cursor:pointer;font-size:14px;padding:5px 10px;transition:color .3s ease}.link-button:hover{color:#5a67d8;text-decoration:underline}.link-separator{color:#dee2e6;margin:0 10px}.login-footer{border-top:1px solid #e9ecef;color:#6c757d;font-size:12px;line-height:1.5;padding-top:20px;text-align:center}.company-info{margin-bottom:15px}.company-info p{margin:5px 0}.company-info strong{color:#333;font-size:14px}.contact-info p{font-size:11px;margin:3px 0}@media (max-width:480px){.login-container{padding:10px}.login-wrapper{margin-left:0;padding:30px 20px}.login-title{font-size:28px}.form-input{font-size:14px;padding:12px 15px}.login-button{font-size:14px;padding:12px}.login-links{flex-direction:column;gap:10px}.link-separator{display:none}}@media (prefers-color-scheme:dark){.login-wrapper{background:#2d3748;color:#fff}.login-title{color:#fff}.form-input{background:#4a5568;border-color:#718096;color:#fff}.form-input::placeholder{color:#a0aec0}.form-input:focus{background:#2d3748;border-color:#667eea}.checkbox-text{color:#e2e8f0}.login-footer{border-top-color:#4a5568;color:#a0aec0}.company-info strong{color:#fff}}.page-container{font-family:Arial,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.section-header{border-bottom:2px solid #e5e7eb;margin-bottom:20px;padding-bottom:10px}.section-header h1,.section-header h2,.section-header h3{color:#1f2937;margin:0}.section-header h1{font-size:28px;font-weight:700}.section-header h2{font-size:24px;font-weight:600}.section-header h3{font-size:20px;font-weight:600}.card{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:20px;padding:20px}.card-header{border-bottom:1px solid #e5e7eb;margin-bottom:16px;padding-bottom:12px}.card-title{color:#1f2937;font-size:18px;font-weight:600;margin:0}.grid-2{grid-gap:20px;grid-template-columns:1fr 1fr}.grid-2,.grid-3{display:grid;gap:20px}.grid-3{grid-gap:20px;grid-template-columns:1fr 1fr 1fr}.grid-4{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(4,1fr)}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-2{gap:8px}.gap-4{gap:16px}.gap-6{gap:24px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.p-4{padding:16px}.p-6{padding:24px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-sm{font-size:14px}.text-lg{font-size:18px}.text-xl{font-size:20px}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.text-gray-500{color:#6b7280}.text-gray-600{color:#4b5563}.text-gray-700{color:#374151}.text-gray-900{color:#1f2937}.bg-gray-50{background-color:#f9fafb}.bg-gray-100{background-color:#f3f4f6}@media (max-width:1024px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.page-container{padding:16px}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.flex{flex-direction:column}.card{padding:16px}}@media (max-width:480px){.card,.page-container{padding:12px}}.btn{border:none!important;border-radius:5px!important;cursor:pointer!important;display:inline-block!important;font-size:14px!important;font-weight:700!important;min-width:80px!important;padding:8px 16px!important;text-align:center!important;transition:all .3s ease!important}.btn:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.btn:disabled{box-shadow:none;opacity:.6;transform:none}.btn-primary{background-color:#4caf50!important;color:#fff!important}.btn-primary:hover{background-color:#45a049!important;box-shadow:0 4px 12px #4caf504d!important}.btn-success{background-color:#4caf50!important;color:#fff!important}.btn-success:hover{background-color:#45a049!important;box-shadow:0 4px 12px #4caf504d!important}.btn-warning{background-color:#ffc107!important;color:#fff!important}.btn-warning:hover{background-color:#ffb300!important;box-shadow:0 4px 12px #ffc1074d!important}.btn-danger{background-color:#f44336!important;color:#fff!important}.btn-danger:hover{background-color:#e53935!important;box-shadow:0 4px 12px #f443364d!important}.btn-secondary{background-color:#6b7280!important;color:#fff!important}.btn-secondary:hover{background-color:#4b5563!important;box-shadow:0 4px 12px #6b72804d!important}.btn-light{background-color:#f0f0f0;border:1px solid #ddd;color:#333}.btn-light:hover{background-color:#ddd;box-shadow:0 4px 12px #0000001a}.btn-sm{min-width:60px;padding:6px 12px}.btn-lg{font-size:16px;min-width:100px;padding:12px 24px}.btn-group{align-items:center;display:flex;gap:10px}.btn-group .btn{margin:0}.back-button{background-color:#2196f3;border:none;border-radius:5px;color:#fff;cursor:pointer;display:inline-block;font-weight:700;margin-top:20px;padding:8px 16px;transition:background .3s ease}.back-button:hover{background-color:#1976d2}.save-button{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;min-width:80px;padding:12px 24px;transition:all .2s ease}.save-button:hover{background:#2563eb;box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.cancel-button{background:#6b7280;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;min-width:80px;padding:12px 24px;transition:all .2s ease}.cancel-button:hover{background:#4b5563;box-shadow:0 4px 12px #6b72804d;transform:translateY(-1px)}.form-container{background:#f7f7f7;border-radius:10px;box-shadow:0 4px 8px #0000001a;margin:50px auto;max-width:700px;padding:20px}.form-container h1{color:#333;margin-bottom:20px;text-align:center}.form-group input,.form-group select,.form-group textarea{background:#fff;border:2px solid #e5e7eb;border-radius:8px;box-sizing:border-box;font-size:14px;padding:12px 16px;transition:all .2s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:#9ca3af;font-size:13px}.form-group textarea{min-height:150px;resize:vertical}.form-buttons{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.form-buttons .btn{margin:0}.error{color:#f44336;font-weight:700;margin-bottom:10px;text-align:center}.file-name{color:#666;display:block;font-size:13px;margin-top:5px}@media (max-width:768px){.form-grid{gap:16px;grid-template-columns:1fr;padding:20px}.form-buttons{flex-direction:column}.form-buttons .btn{width:100%}}@media (max-width:480px){.form-container{margin:20px;padding:16px}.form-grid{padding:16px}}.table-container{font-family:Arial,sans-serif;padding:16px}.table-container h2{margin-bottom:12px}table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden;width:100%}td,th{border:1px solid #e5e7eb;font-size:14px;padding:12px 8px;text-align:center}th{background-color:#f8fafc;border-bottom:2px solid #e5e7eb;color:#374151;font-weight:600}tr:hover{background-color:#f9fafb;cursor:pointer}tr.selected{background-color:#dbeafe}td input{border:1px solid #d1d5db;border-radius:4px;box-sizing:border-box;font-size:14px;padding:4px 8px;width:100%}td input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a;outline:none}.board-actions{gap:10px;margin-bottom:15px}.board-list{list-style:none;margin:0;padding:0}.board-item{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;cursor:pointer;display:flex;justify-content:space-between;padding:12px;transition:background-color .2s}.board-item:hover{background-color:#f9fafb}.board-item:last-child{border-bottom:none}.board-title{color:#1f2937;flex:2 1;font-weight:600}.board-category{color:#6b7280;flex:1 1;font-size:14px;text-align:center}.board-date{color:#9ca3af;flex:1 1;font-size:13px;text-align:right}.detail-box{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:20px}.detail-box p{color:#374151;font-size:14px;margin:8px 0}.detail-box strong{color:#1f2937;font-weight:600}@media (max-width:768px){.table-container{padding:12px}td,th{font-size:12px;padding:8px 4px}.board-actions,.board-item{flex-direction:column;gap:8px}.board-item{align-items:flex-start}.board-category,.board-date,.board-title{flex:none;text-align:left;width:100%}}.popup-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.popup-content{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:450px;overflow-y:auto;width:90%}.popup-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;border-radius:12px 12px 0 0;padding:24px 24px 16px}.popup-header h3{color:#1f2937;font-size:20px;font-weight:600;margin:0}.popup-actions{background:#f9fafb;border-radius:0 0 12px 12px;border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:20px 24px 24px}@media (max-width:768px){.popup-content{margin:20px;max-width:none;width:95%}.popup-actions{flex-direction:column;gap:8px}.popup-actions .btn{width:100%}}@media (max-width:480px){.popup-content{height:100%;max-height:none;width:100%}.popup-actions,.popup-content,.popup-header{border-radius:0}}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8fafc;color:#1f2937;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;padding:0}a{color:#3b82f6;text-decoration:none}a:hover{color:#2563eb;text-decoration:underline}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}:focus{outline:2px solid #3b82f6;outline-offset:2px}::selection{background-color:#dbeafe;color:#1e40af}.dev-board-layout{display:flex;flex-direction:column;font-family:Arial,sans-serif;height:calc(100vh - 64px);overflow:hidden;width:100%}.dev-board-header{align-items:center;background:#f8f9fa;border-bottom:2px solid #ddd;display:flex;justify-content:space-between;padding:15px 20px}.dev-board-header h2{color:#333;font-size:20px;margin:0}.dev-board-actions{display:flex;gap:8px}.dev-board-search{background:#f8f9fa;border-bottom:1px solid #ddd;padding:12px 20px}.search-row-single{align-items:flex-end;display:flex;gap:10px}.search-field-compact{display:flex;flex-direction:column;gap:4px;min-width:140px}.search-field-compact:first-child{flex:1 1;max-width:200px}.search-field-compact label{color:#374151;font-size:12px;font-weight:500;white-space:nowrap}.search-field-compact input,.search-field-compact select{background:#fff;border:1px solid #ddd;border-radius:4px;font-size:13px;padding:6px 10px;transition:all .2s ease}.search-field-compact input:focus,.search-field-compact select:focus{border-color:#4caf50;box-shadow:0 0 0 2px #4caf501a;outline:none}.search-buttons-compact{display:flex;gap:6px;margin-left:10px}.search-buttons-compact .btn{font-size:13px;padding:6px 16px;white-space:nowrap}.btn-search{background:#2196f3;color:#fff}.btn-search:hover:not(:disabled){background:#0b7dda}.btn-reset{background:#6b7280}.btn-reset:hover:not(:disabled){background:#4b5563}.dev-board-table-wrapper{flex:1 1;overflow-y:auto;padding:10px 20px}.dev-board-table{background:#fff;border-collapse:collapse;table-layout:fixed;width:100%}.dev-board-table thead{background:#f8f9fa;position:sticky;top:0;z-index:10}.dev-board-table th{background:#f1f3f5;border:1px solid #ddd;color:#374151;font-weight:600;padding:12px 8px;text-align:center}.dev-board-table td{border:1px solid #ddd;color:#4b5563;padding:10px 8px;text-align:center}.dev-board-table td:first-child,.dev-board-table th:first-child{width:50px}.dev-board-table td:nth-child(2),.dev-board-table th:nth-child(2){width:70px}.dev-board-table td:nth-child(3),.dev-board-table th:nth-child(3){padding-left:15px;text-align:left;width:auto}.dev-board-table td:nth-child(4),.dev-board-table th:nth-child(4){width:90px}.dev-board-table td:nth-child(5),.dev-board-table th:nth-child(5){width:130px}.dev-board-table td:nth-child(6),.dev-board-table td:nth-child(7),.dev-board-table th:nth-child(6),.dev-board-table th:nth-child(7){width:150px}.dev-board-table td:nth-child(8),.dev-board-table th:nth-child(8){width:100px}.dev-board-table tbody tr:hover{background:#f9fafb;cursor:pointer}.dev-board-table tbody tr.selected{background:#e0f2fe}.dev-board-table .title-cell{color:#1e40af;cursor:pointer;font-weight:500;text-align:left}.dev-board-table .title-cell:hover{color:#1d4ed8;text-decoration:underline}.dev-board-table input[type=checkbox]{accent-color:#4caf50;cursor:pointer;height:18px;width:18px}.dev-board-pagination{align-items:center;background:#f8f9fa;border-top:1px solid #ddd;display:flex;flex-shrink:0;gap:5px;justify-content:center;padding:15px 20px}.dev-board-pagination button{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;min-width:36px;padding:6px 12px;transition:all .2s ease}.dev-board-pagination button:hover:not(:disabled){background:#e9ecef;border-color:#adb5bd}.dev-board-pagination button:disabled{cursor:not-allowed;opacity:.5}.dev-board-pagination button.active{background:#4caf50;border-color:#4caf50;color:#fff;font-weight:700}.dev-board-empty,.dev-board-error,.dev-board-loading{color:#6b7280;font-size:16px;padding:60px 20px;text-align:center}.dev-board-error{color:#ef4444}.dev-board-empty{color:#9ca3af}@media (max-width:1400px){.dev-board-table td:nth-child(8),.dev-board-table th:nth-child(8){display:none}}@media (max-width:1200px){.search-row-single{flex-wrap:wrap}.search-field-compact{min-width:120px}.dev-board-table td:nth-child(7),.dev-board-table th:nth-child(7){display:none}}@media (max-width:1024px){.dev-board-table td:nth-child(5),.dev-board-table th:nth-child(5){display:none}}@media (max-width:768px){.dev-board-header{align-items:flex-start;flex-direction:column;gap:10px}.dev-board-actions{justify-content:flex-end;width:100%}.btn{font-size:13px;padding:6px 12px}.search-row-single{flex-direction:column}.search-field-compact{width:100%}.search-buttons-compact{margin-left:0;width:100%}.search-buttons-compact button{flex:1 1}.dev-board-table td:nth-child(4),.dev-board-table td:nth-child(6),.dev-board-table th:nth-child(4),.dev-board-table th:nth-child(6){display:none}}@media (max-width:480px){.dev-board-table{font-size:12px}.dev-board-table td,.dev-board-table th{padding:6px 4px}.dev-board-pagination button{font-size:12px;min-width:28px;padding:4px 8px}}.rich-text-editor{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px #0000001a;box-sizing:border-box;overflow:hidden;width:100%}.editor-toolbar{background:#f8fafc;border-bottom:1px solid #e5e7eb;flex-wrap:wrap;gap:4px;padding:8px 12px}.editor-toolbar,.toolbar-group{align-items:center;display:flex}.toolbar-group{gap:2px}.toolbar-separator{background:#d1d5db;height:24px;margin:0 8px;width:1px}.rich-text-editor .toolbar-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:#374151;cursor:pointer;display:flex;font-size:14px;font-weight:500;height:32px;justify-content:center;margin:0;padding:0;transition:all .2s ease;-webkit-user-select:none;user-select:none;width:32px}.rich-text-editor .toolbar-btn:hover{background:#e5e7eb;color:#1f2937}.rich-text-editor .toolbar-btn.active{background:#3b82f6;color:#fff}.rich-text-editor .toolbar-btn:disabled{cursor:not-allowed;opacity:.5}.rich-text-editor .font-family-select,.rich-text-editor .font-size-select{background:#fff;border:1px solid #d1d5db;border-radius:4px;color:#374151;cursor:pointer;font-size:12px;margin:0;min-width:60px;padding:4px 8px}.rich-text-editor .font-family-select:focus,.rich-text-editor .font-size-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.rich-text-editor .color-picker{background:none;border:1px solid #d1d5db;border-radius:4px;cursor:pointer;height:24px;margin:0;padding:0;width:24px}.color-picker::-webkit-color-swatch-wrapper{padding:0}.color-picker::-webkit-color-swatch{border:none;border-radius:3px}.editor-content{word-wrap:break-word;color:#374151;cursor:text;font-size:14px;line-height:1.6;max-height:500px;min-height:300px;outline:none;overflow-y:auto;padding:16px;white-space:pre-wrap}.editor-content:empty:before{color:#9ca3af;content:attr(data-placeholder);font-style:italic}.editor-content:focus{outline:none}.editor-content h1,.editor-content h2,.editor-content h3,.editor-content h4,.editor-content h5,.editor-content h6{color:#1f2937;font-weight:700;margin:16px 0 8px}.editor-content h1{font-size:24px}.editor-content h2{font-size:20px}.editor-content h3{font-size:18px}.editor-content h4{font-size:16px}.editor-content h5{font-size:14px}.editor-content h6{font-size:12px}.editor-content p{margin:8px 0}.editor-content ol,.editor-content ul{margin:8px 0;padding-left:24px}.editor-content li{margin:4px 0}.editor-content blockquote{background:#f9fafb;border-left:4px solid #e5e7eb;color:#6b7280;font-style:italic;margin:16px 0;padding:8px 16px}.editor-content a{color:#3b82f6;text-decoration:underline}.editor-content a:hover{color:#1d4ed8}.editor-content .resizable-image,.editor-content img{border-radius:4px;box-shadow:0 2px 8px #0000001a;cursor:context-menu;display:block;height:auto;margin:10px 0;max-width:100%}.editor-content .resizable-image:hover,.editor-content img:hover{box-shadow:0 4px 12px #00000026;outline:2px solid #4caf50}.image-context-menu{background:#fff;border:1px solid #d1d5db;border-radius:6px;box-shadow:0 4px 12px #00000026;min-width:150px;overflow:hidden;position:fixed;z-index:9999}.context-menu-item{border-bottom:1px solid #f3f4f6;color:#374151;cursor:pointer;font-size:14px;padding:10px 16px;transition:all .2s ease}.context-menu-item:last-child{border-bottom:none}.context-menu-item:hover{background:#f3f4f6;color:#1f2937}.context-menu-item[data-action=delete]:hover{background:#fee2e2;color:#dc2626}.editor-content table{border-collapse:collapse;margin:16px 0;width:100%}.editor-content td,.editor-content th{border:1px solid #e5e7eb;padding:8px 12px;text-align:left}.editor-content th{background:#f8fafc;font-weight:600}.editor-content::-webkit-scrollbar{width:6px}.editor-content::-webkit-scrollbar-track{background:#f1f5f9}.editor-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.editor-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media (max-width:768px){.editor-toolbar{gap:2px;padding:6px 8px}.toolbar-btn{font-size:12px;height:28px;width:28px}.toolbar-separator{margin:0 4px}.font-family-select,.font-size-select{font-size:11px;min-width:50px;padding:2px 4px}.color-picker{height:20px;width:20px}.editor-content{font-size:13px;min-height:250px;padding:12px}}@media (max-width:480px){.editor-toolbar{align-items:stretch;flex-direction:column;gap:8px}.toolbar-group{flex-wrap:wrap;justify-content:center}.toolbar-separator{display:none}.editor-content{min-height:200px}}.dev-board-create-layout{display:flex;flex-direction:column;font-family:Arial,sans-serif;height:calc(100vh - 64px);overflow:hidden;width:100%}.dev-board-create-header{align-items:center;background:#f8f9fa;border-bottom:2px solid #ddd;display:flex;flex-shrink:0;justify-content:space-between;padding:15px 20px}.dev-board-create-header h2{color:#333;font-size:20px;margin:0}.dev-board-create-actions{display:flex;gap:8px}.dev-board-create-form-wrapper{background:#fff;flex:1 1;overflow-y:auto;padding:20px}.dev-board-create-form{margin:0 auto;width:100%}.dev-board-create-footer{background:#f8f9fa;border-top:1px solid #ddd;display:flex;flex-shrink:0;gap:10px;justify-content:center;padding:15px 20px}@media (max-width:768px){.dev-board-create-header{align-items:flex-start;flex-direction:column;gap:10px}.dev-board-create-actions{justify-content:flex-end;width:100%}.dev-board-create-form-wrapper{padding:15px}.form-row{gap:0;grid-template-columns:1fr}.btn{font-size:13px;padding:8px 16px}}@media (max-width:480px){.dev-board-create-form-wrapper{padding:10px}.form-label{font-size:13px}.form-input,.form-select{font-size:13px;padding:8px 10px}.dev-board-create-footer{flex-direction:column}.btn{width:100%}}.dev-board-detail-layout{display:flex;flex-direction:column;font-family:Arial,sans-serif;height:calc(100vh - 64px);overflow:hidden;width:100%}.dev-board-detail-header{align-items:center;background:#f8f9fa;border-bottom:2px solid #ddd;display:flex;flex-shrink:0;justify-content:space-between;padding:15px 20px}.dev-board-detail-header h2{color:#333;font-size:20px;margin:0}.dev-board-detail-actions{display:flex;gap:8px}.dev-board-detail-content-wrapper{background:#fff;flex:1 1;overflow-y:auto;padding:20px}.dev-board-detail-content{margin:0 auto;width:100%}.detail-group{margin-bottom:20px}.detail-label{color:#374151;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.detail-value{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:4px;color:#4b5563;display:flex;font-size:14px;min-height:42px;padding:10px 12px}.detail-value.title{background:#fff;border:1px solid #d1d5db;color:#1f2937;font-size:18px;font-weight:600}.content-display-wrapper{background:#fff;border:1px solid #d1d5db;border-radius:4px;min-height:250px;padding:15px}.content-display-wrapper.empty{align-items:center;color:#9ca3af;display:flex;justify-content:center}.detail-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:20px}.btn-primary{background:#6b7280}.btn-primary:hover:not(:disabled){background:#4b5563}.dev-board-detail-footer{background:#f8f9fa;border-top:1px solid #ddd;display:flex;flex-shrink:0;gap:10px;justify-content:center;padding:15px 20px}.dev-board-detail-error,.dev-board-detail-loading{font-size:16px;padding:60px 20px;text-align:center}.dev-board-detail-loading{color:#6b7280}.dev-board-detail-error{color:#ef4444}@media (max-width:768px){.dev-board-detail-header{align-items:flex-start;flex-direction:column;gap:10px}.dev-board-detail-actions{justify-content:flex-end;width:100%}.dev-board-detail-content-wrapper{padding:15px}.detail-row{gap:0;grid-template-columns:1fr}.btn{font-size:13px;padding:8px 16px}}@media (max-width:480px){.dev-board-detail-content-wrapper{padding:10px}.detail-label,.detail-value{font-size:13px}.detail-value{padding:8px 10px}.dev-board-detail-footer{flex-direction:column}.btn{width:100%}}.dev-board-edit-layout{display:flex;flex-direction:column;font-family:Arial,sans-serif;height:calc(100vh - 64px);overflow:hidden;width:100%}.dev-board-edit-header{align-items:center;background:#f8f9fa;border-bottom:2px solid #ddd;display:flex;flex-shrink:0;justify-content:space-between;padding:15px 20px}.dev-board-edit-header h2{color:#333;font-size:20px;margin:0}.dev-board-edit-actions{display:flex;gap:8px}.dev-board-edit-form-wrapper{background:#fff;flex:1 1;overflow-y:auto;padding:20px}.dev-board-edit-form{margin:0 auto;width:100%}.form-group,.form-row{margin-bottom:20px}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.form-label{color:#374151;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.form-label.required:after{color:#ef4444;content:" *"}.form-input,.form-select{border:1px solid #d1d5db;border-radius:4px;box-sizing:border-box;font-size:14px;padding:10px 12px;transition:all .2s ease;width:100%}.form-input:focus,.form-select:focus{border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a;outline:none}.form-select{background:#fff;cursor:pointer}.editor-wrapper{border:1px solid #d1d5db;border-radius:4px;min-height:250px}.editor-wrapper:focus-within{border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.dev-content-section{background:#f9fafb;border-left:4px solid #4caf50;border-radius:4px;margin-bottom:30px;padding:20px}.dev-content-section h3{color:#374151;font-size:16px;font-weight:600;margin-bottom:15px;margin-top:0}.dev-content-section:last-child{margin-bottom:0}.btn{padding:10px 20px}.btn-secondary{background:#6b7280}.btn-secondary:hover:not(:disabled){background:#4b5563}.dev-board-edit-footer{background:#f8f9fa;border-top:1px solid #ddd;display:flex;flex-shrink:0;gap:10px;justify-content:center;padding:15px 20px}.form-help-text{color:#6b7280}.form-error,.form-help-text{display:block;font-size:12px;margin-top:4px}.form-error{color:#ef4444}.dev-board-edit-loading{color:#6b7280;font-size:16px;padding:60px 20px;text-align:center}@media (max-width:768px){.dev-board-edit-header{align-items:flex-start;flex-direction:column;gap:10px}.dev-board-edit-actions{justify-content:flex-end;width:100%}.dev-board-edit-form-wrapper{padding:15px}.form-row{gap:0;grid-template-columns:1fr}.btn{font-size:13px;padding:8px 16px}}@media (max-width:480px){.dev-board-edit-form-wrapper{padding:10px}.form-label{font-size:13px}.form-input,.form-select{font-size:13px;padding:8px 10px}.dev-board-edit-footer{flex-direction:column}.btn{width:100%}}.trading-diary-layout{display:flex;flex-direction:column;font-family:Arial,sans-serif;height:calc(100vh - 64px);overflow:hidden;width:100%}.trading-diary-header{align-items:center;background:#f8f9fa;border-bottom:2px solid #ddd;display:flex;justify-content:space-between;padding:15px 20px}.trading-diary-header h2{color:#333;font-size:20px;margin:0}.trading-diary-actions{display:flex;gap:8px}.btn-success{background:#10b981;color:#fff}.btn-success:hover:not(:disabled){background:#059669}.trading-diary-table-wrapper{flex:1 1;overflow-y:auto;padding:10px 20px}.trading-diary-table{background:#fff;border-collapse:collapse;table-layout:fixed;width:100%}.trading-diary-table thead{background:#f8f9fa;position:sticky;top:0;z-index:10}.trading-diary-table th{background:#f1f3f5;border:1px solid #ddd;color:#374151;cursor:default;font-weight:600;padding:12px 8px;text-align:center}.trading-diary-table th:first-child{cursor:pointer}.trading-diary-table td{border:1px solid #ddd;color:#4b5563;padding:10px 8px;text-align:center}.trading-diary-table td:first-child,.trading-diary-table td:nth-child(2),.trading-diary-table th:first-child,.trading-diary-table th:nth-child(2){width:50px}.trading-diary-table td:nth-child(3),.trading-diary-table th:nth-child(3){width:140px}.trading-diary-table td:nth-child(4),.trading-diary-table th:nth-child(4){width:70px}.trading-diary-table td:nth-child(5),.trading-diary-table th:nth-child(5){width:90px}.trading-diary-table td:nth-child(6),.trading-diary-table th:nth-child(6){width:180px}.trading-diary-table td:nth-child(7),.trading-diary-table th:nth-child(7){width:125px}.trading-diary-table td:nth-child(8),.trading-diary-table td:nth-child(9),.trading-diary-table th:nth-child(8),.trading-diary-table th:nth-child(9){padding-right:10px;text-align:right;width:90px}.trading-diary-table td:nth-child(10),.trading-diary-table th:nth-child(10){padding-right:10px;text-align:right;width:110px}.trading-diary-table td:nth-child(11),.trading-diary-table th:nth-child(11){width:80px}.trading-diary-table td:nth-child(12),.trading-diary-table th:nth-child(12){padding-right:10px;text-align:right;width:100px}.trading-diary-table td:nth-child(13),.trading-diary-table th:nth-child(13){padding-right:10px;text-align:right;width:80px}.trading-diary-table td:nth-child(14),.trading-diary-table th:nth-child(14){min-width:150px;padding-left:10px;text-align:left;width:auto}.trading-diary-table tbody tr:hover{background:#f9fafb;cursor:default}.trading-diary-table tbody tr.selected{background:#e0f2fe}.trading-diary-table tbody td{cursor:default}.trading-diary-table tbody td:first-child{cursor:pointer}.trading-diary-table .reason-cell{max-width:200px;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.trading-diary-table input[type=checkbox]{accent-color:#4caf50;cursor:pointer;height:18px;width:18px}.trading-diary-pagination{align-items:center;background:#f8f9fa;border-top:1px solid #ddd;display:flex;flex-shrink:0;gap:5px;justify-content:center;padding:15px 20px}.trading-diary-pagination button{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;min-width:36px;padding:6px 12px;transition:all .2s ease}.trading-diary-pagination button:hover:not(:disabled){background:#e9ecef;border-color:#adb5bd}.trading-diary-pagination button:disabled{cursor:not-allowed;opacity:.5}.trading-diary-pagination button.active{background:#4caf50;border-color:#4caf50;color:#fff;font-weight:700}.trading-diary-empty,.trading-diary-error,.trading-diary-loading{color:#6b7280;font-size:16px;padding:60px 20px;text-align:center}.trading-diary-error{color:#ef4444}.trading-diary-empty{color:#9ca3af}.cell-input{border:1px solid #d1d5db;border-radius:3px;box-sizing:border-box;font-size:13px;padding:4px 6px;width:100%}.cell-input:focus{border-color:#4caf50;box-shadow:0 0 0 2px #4caf501a;outline:none}.cell-input[type=date]{padding:3px 6px}select.cell-input{cursor:pointer;padding:4px}.cell-input[type=number]::-webkit-inner-spin-button,.cell-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.cell-input[type=number]{appearance:textfield}.cell-input:disabled{background-color:#f3f4f6;color:#6b7280;cursor:not-allowed}.quantity-tooltip{background-color:#ef4444;border-radius:4px;bottom:100%;box-shadow:0 2px 8px #0003;color:#fff;font-size:12px;left:50%;min-width:200px;opacity:0;padding:8px 12px;pointer-events:none;position:absolute;text-align:center;transform:translateX(-50%);transition:opacity .3s ease;white-space:pre-line;z-index:1000}.quantity-tooltip.show{opacity:1}.cell-input.quantity-exceeded{background-color:#fef2f2!important;border-color:#ef4444!important;color:#ef4444!important}.cell-input.quantity-exceeded:focus{border-color:#ef4444!important;box-shadow:0 0 0 2px #ef44441a!important}.account-stats-table-container{overflow-x:auto}.account-stats-table td.clickable,.account-stats-table th.clickable{cursor:pointer}.account-stats-table td.clickable:hover,.account-stats-table th.clickable:hover{background-color:#e5e7eb}.account-stats-table td.selected,.account-stats-table th.selected{background-color:#dbeafe}.account-stats-table th.selected{font-weight:700}.account-stats-table td.profit-positive{color:#ef4444;font-weight:600}.account-stats-table td.profit-negative{color:#3b82f6;font-weight:600}.account-stats-table td.profit-zero{color:#6b7280}.holdings-layout{display:flex;flex-direction:column;font-family:Arial,sans-serif;height:calc(100vh - 64px);overflow:hidden;width:100%}.holdings-header{align-items:center;background:#f8f9fa;border-bottom:2px solid #ddd;display:flex;justify-content:space-between;padding:15px 20px}.holdings-header h2{color:#333;font-size:20px;margin:0}.holdings-controls{align-items:center;display:flex;gap:16px}.account-stats-wrapper{background:#f8f9fa;border-bottom:2px solid #ddd;padding:15px 20px}.account-stats-wrapper h3{color:#374151;font-size:16px;font-weight:600;margin:0 0 10px}.account-stats-table{background:#fff;border:1px solid #ddd;border-collapse:collapse;table-layout:fixed;width:100%}.account-stats-table th{background:#f1f3f5;color:#374151;font-weight:600;text-align:center}.account-stats-table td,.account-stats-table th{border:1px solid #ddd;font-size:14px;padding:10px 12px}.account-stats-table td{color:#4b5563;text-align:right}.account-stats-table td.stat-label{background:#f9fafb;color:#374151;font-weight:600;text-align:left;width:150px}.account-stats-table th:first-child{width:150px}.holdings-table-wrapper{flex:1 1;overflow-y:auto;padding:10px 20px}.holdings-table{background:#fff;border-collapse:collapse;table-layout:fixed;width:100%}.holdings-table thead{background:#f8f9fa;position:sticky;top:0;z-index:10}.holdings-table th{background:#f1f3f5;color:#374151;cursor:default;font-weight:600;padding:12px 8px}.holdings-table td,.holdings-table th{border:1px solid #ddd;text-align:center}.holdings-table td{color:#4b5563;padding:10px 8px}.holdings-table td:first-child,.holdings-table th:first-child{width:50px}.holdings-table td:nth-child(2),.holdings-table th:nth-child(2){width:140px}.holdings-table td:nth-child(3),.holdings-table th:nth-child(3){width:90px}.holdings-table td:nth-child(4),.holdings-table th:nth-child(4){width:180px}.holdings-table td:nth-child(5),.holdings-table td:nth-child(6),.holdings-table td:nth-child(7),.holdings-table td:nth-child(8),.holdings-table th:nth-child(5),.holdings-table th:nth-child(6),.holdings-table th:nth-child(7),.holdings-table th:nth-child(8){padding-right:10px;text-align:right;width:100px}.holdings-table td:nth-child(9),.holdings-table th:nth-child(9){padding-right:10px;text-align:right;width:80px}.holdings-table td:nth-child(10),.holdings-table th:nth-child(10){padding-right:10px;text-align:right;width:110px}.holdings-table td:nth-child(11),.holdings-table th:nth-child(11){width:80px}.holdings-table td:nth-child(12),.holdings-table th:nth-child(12){min-width:150px;padding-left:10px;text-align:left;width:auto}.holdings-table tbody tr:hover{background:#f9fafb;cursor:default}.holdings-table .memo-cell{max-width:200px;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.holdings-pagination{align-items:center;background:#f8f9fa;border-top:1px solid #ddd;display:flex;flex-shrink:0;gap:5px;justify-content:center;padding:15px 20px}.holdings-pagination button{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;min-width:36px;padding:6px 12px;transition:all .2s ease}.holdings-pagination button:hover:not(:disabled){background:#e9ecef;border-color:#adb5bd}.holdings-pagination button:disabled{cursor:not-allowed;opacity:.5}.holdings-pagination button.active{background:#4caf50;border-color:#4caf50;color:#fff;font-weight:700}.holdings-empty,.holdings-error,.holdings-loading{color:#6b7280;font-size:16px;padding:60px 20px;text-align:center}.holdings-error{color:#ef4444}.holdings-empty{color:#9ca3af}.currency-selector{align-items:center;display:flex}.currency-selector span{color:#374151;font-size:14px;font-weight:500}.currency-radio-group{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;gap:16px;padding:8px 12px}.currency-radio-item{align-items:center;cursor:pointer;display:flex;position:relative}.currency-radio-item input[type=radio]{cursor:pointer;height:0;opacity:0;position:absolute;width:0}.currency-radio-custom{background:#fff;border:2px solid #d1d5db;border-radius:50%;flex-shrink:0;height:20px;margin-right:8px;position:relative;transition:all .2s ease;width:20px}.currency-radio-item:hover .currency-radio-custom{background:#f9fafb;border-color:#6b7280}.currency-radio-item input[type=radio]:checked+.currency-radio-custom{background:#4caf50;border-color:#4caf50}.currency-radio-item input[type=radio]:checked+.currency-radio-custom:after{background:#fff;border-radius:50%;content:"";height:8px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:8px}.currency-radio-label{color:#374151;font-size:14px;font-weight:500;transition:color .2s ease;-webkit-user-select:none;user-select:none}.currency-radio-item:hover .currency-radio-label{color:#1f2937}.currency-radio-item input[type=radio]:checked~.currency-radio-label{color:#4caf50;font-weight:600}.statistics-dashboard-layout{display:flex;flex-direction:column;font-family:Arial,sans-serif;height:calc(100vh - 72px);overflow:hidden;width:100%}.statistics-header{align-items:center;background:#f8f9fa;border-bottom:2px solid #ddd;display:flex;flex-shrink:0;justify-content:space-between;padding:15px 20px}.header-title-section{align-items:center;display:flex;gap:8px}.statistics-header h2{color:#333;font-size:20px;margin:0}.header-date{color:#6b7280;font-size:14px;font-weight:400}.currency-radio-group{display:flex;gap:15px}.radio-label{align-items:center;color:#374151;cursor:pointer;display:flex;font-size:14px;gap:6px;transition:color .2s ease}.radio-label:hover{color:#1f2937}.radio-label input[type=radio]{appearance:none;background-color:#fff;border:2px solid #d1d5db;border-radius:50%;cursor:pointer;height:16px;position:relative;transition:all .2s ease;width:16px}.radio-label input[type=radio]:checked{background-color:#3b82f6;border-color:#3b82f6}.radio-label input[type=radio]:checked:after{background-color:#fff;border-radius:50%;content:"";height:6px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:6px}.radio-text{font-weight:500}.dashboard-grid{grid-gap:20px;background-color:#f8fafc;display:grid;flex:1 1;gap:20px;grid-template-columns:1fr 1fr 1fr;grid-template-rows:1fr 1fr;min-height:0;padding:20px;width:100%}.dashboard-main-area{grid-column:1/2;grid-row:1/3}.dashboard-treemap-chart{grid-column:2/3;grid-row:1/2}.dashboard-bubble-chart{grid-column:2/3;grid-row:2/3}.dashboard-daily-return{grid-column:3/4;grid-row:1/2}.dashboard-realized-profit{grid-column:3/4;grid-row:2/3}.dashboard-panel{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;display:flex;flex-direction:column;height:100%;overflow:hidden}.dashboard-panel h3{background-color:#6b7280;border-bottom:1px solid #9ca3af;color:#f9fafb;font-size:16px;font-weight:600;margin:0;padding:16px 20px}.panel-content{align-items:center;color:#6b7280;display:flex;flex:1 1;font-size:14px;justify-content:center;padding:2px}.dashboard-daily-return .panel-content{align-items:stretch;justify-content:stretch;padding:8px}.dashboard-panel.main-panel{padding:0}.dashboard-panel.main-panel h3{background-color:#6b7280;border-bottom:1px solid #9ca3af;color:#f9fafb;display:block;font-size:16px;font-weight:600;margin:0;padding:16px 20px}.main-content{display:flex;flex-direction:column;height:100%;overflow:hidden}.main-date{color:#6b7280;font-size:12px;margin-bottom:8px;padding:15px 20px 0}.main-greeting{margin-bottom:10px;padding:15px 20px 0}.main-greeting h2{color:#1f2937;font-size:18px;font-weight:600;line-height:1.3;margin:0 0 4px}.main-greeting h2 strong{color:#1f2937;font-weight:700}.main-greeting-subtitle{color:#6b7280;font-size:13px;font-weight:400;margin:0}.main-greeting p{color:#6b7280;font-size:14px;margin:0}.main-greeting p strong{color:#1f2937;font-weight:700}.main-total-amount{margin-bottom:12px;padding:0 20px;text-align:center}.main-total-amount h1{align-items:center;color:#111827;display:flex;font-size:32px;font-weight:700;height:40px;justify-content:center;line-height:1.2;margin:0}.main-profit-info{background-color:#f8fafc;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:12px;margin-left:20px;margin-right:20px;padding:8px}.main-profit-info .evaluation-profit,.main-profit-info .profit-rate{align-items:center;display:flex;flex:1 1;flex-direction:column}.main-profit-info .label{color:#6b7280;font-size:12px;margin-bottom:4px}.main-profit-info .value{align-items:center;display:flex;font-size:16px;font-weight:600;height:20px;justify-content:center;text-align:center}.main-profit-info .value.positive{color:#16a34a}.main-profit-info .value.negative{color:#dc2626}.main-companies-stats{display:flex;justify-content:space-between;margin-bottom:12px;padding:0 20px}.main-companies-stats .stat-item{align-items:center;background-color:#f9fafb;border-radius:6px;display:flex;flex:1 1;flex-direction:column;margin:0 5px;padding:8px}.main-companies-stats .stat-item:first-child{margin-left:0}.main-companies-stats .stat-item:last-child{margin-right:0}.main-companies-stats .number{color:#111827;font-size:18px;font-weight:700;margin-bottom:3px}.main-companies-stats .number.profit{color:#16a34a}.main-companies-stats .number.loss{color:#dc2626}.main-companies-stats .label{color:#6b7280;font-size:12px;line-height:1.3;text-align:center}.main-market-indices{display:flex;flex-direction:column;flex-shrink:0;margin-bottom:8px;padding:0 20px}.market-table{background-color:#f3f4f6;border-radius:6px;overflow:hidden}.market-row{border-bottom:1px solid #e5e7eb;display:flex}.market-row:last-child{border-bottom:none}.market-cell{border-right:1px solid #e5e7eb;flex:1 1;font-size:12px;padding:6px 8px;text-align:center}.market-cell:last-child{border-right:none}.market-row:first-child .market-cell{background-color:#f9fafb;color:#374151;font-weight:500}.market-row:nth-child(2) .market-cell,.market-row:nth-child(3) .market-cell{color:#111827;font-weight:600}.market-cell.positive{color:#16a34a!important}.market-cell.negative{color:#dc2626!important}.main-account-list{border-top:1px solid #e5e7eb;display:flex;flex:1 1;flex-direction:column;margin-top:8px;min-height:0;padding-left:20px;padding-right:20px;padding-top:8px}.account-list-title{color:#374151;flex-shrink:0;font-size:14px;font-weight:600;margin:0 0 8px}.account-items{flex:1 1;gap:8px;overflow-y:auto}.account-item,.account-items{display:flex;flex-direction:column}.account-item{gap:6px}.account-header{align-items:center;display:flex;height:20px;justify-content:space-between}.account-name{color:#374151;font-size:14px;font-weight:500}.account-amount{align-items:center;color:#111827;display:flex;font-size:14px;font-weight:600;height:20px}.account-bar{background-color:#f3f4f6;border-radius:4px;height:8px;overflow:hidden;width:100%}.account-bar-fill{border-radius:4px;height:100%;transition:width .3s ease}.account-profit{align-items:center;display:flex;height:16px;justify-content:flex-end}.account-profit .profit-rate{align-items:center;display:flex;font-size:13px;font-weight:600;height:16px}.account-profit .profit-rate.positive{color:#16a34a}.account-profit .profit-rate.negative{color:#dc2626}.no-accounts{color:#6b7280;font-size:14px;padding:20px;text-align:center}.error,.loading{align-items:center;color:#6b7280;display:flex;font-size:16px;height:100%;justify-content:center}.error{color:#dc2626}@media (max-width:1200px){.dashboard-grid{grid-template-columns:1fr;grid-template-rows:auto auto auto auto auto;height:auto}.dashboard-bubble-chart,.dashboard-daily-return,.dashboard-main-area,.dashboard-realized-profit,.dashboard-treemap-chart{grid-column:1/2;height:300px}.dashboard-main-area{grid-row:1/2}.dashboard-treemap-chart{grid-row:2/3}.dashboard-bubble-chart{grid-row:3/4}.dashboard-daily-return{grid-row:4/5}.dashboard-realized-profit{grid-row:5/6}}.treemap-container,.treemap-grid{box-sizing:border-box;height:100%;overflow:hidden;padding:0;width:100%}.treemap-grid{position:relative}.treemap-item{align-items:center;border:1px solid #fff3;box-sizing:border-box;cursor:default;display:flex;flex-direction:column;font-weight:600;justify-content:center;position:absolute;text-shadow:none}.treemap-item,.treemap-label{color:#1f2937;font-family:Segoe UI,Roboto,Inter,-apple-system,BlinkMacSystemFont,sans-serif}.treemap-label{font-size:inherit;font-weight:700;letter-spacing:-.02em;line-height:1.1;margin-bottom:2px;text-align:center;word-break:break-all}.treemap-sub{color:#374151;font-family:Segoe UI,Roboto,Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.8em;font-weight:500;letter-spacing:-.01em;line-height:1;opacity:.8;text-align:center}.treemap-tooltip{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#1f2937,#374151);border:1px solid #ffffff1a;border-radius:12px;box-shadow:0 10px 25px #0000004d,0 4px 12px #0003;color:#fff;font-size:13px;line-height:1.5;max-width:300px;padding:16px 20px;pointer-events:none;position:fixed;z-index:1000}.no-holdings{align-items:center;color:#6b7280;display:flex;font-size:14px;height:100%;justify-content:center}.bubble-chart-container{height:300px;position:relative;width:100%}.bubble-chart-svg{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;display:block;height:300px;width:100%}.bubble-tooltip{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#1f2937,#374151);border:1px solid #ffffff1a;border-radius:12px;box-shadow:0 10px 25px #0000004d,0 4px 12px #0003;color:#fff;font-size:13px;line-height:1.5;max-width:300px;padding:16px 20px;pointer-events:none;position:fixed;z-index:1000}.realized-profit-list{display:flex;flex-direction:column;height:100%;width:100%}.list-header{grid-gap:10px;background-color:#f8fafc;border-bottom:2px solid #e2e8f0;color:#475569;display:grid;font-size:12px;font-weight:600;gap:10px;grid-template-columns:.5fr 1fr 1.2fr .5fr 1fr 1fr 1fr;padding:12px 8px}.list-body{flex:1 1;max-height:300px;overflow-y:auto}.list-item{grid-gap:10px;align-items:center;border-bottom:1px solid #e2e8f0;display:grid;font-size:12px;gap:10px;grid-template-columns:.5fr 1fr 1.2fr .5fr 1fr 1fr 1fr;padding:10px 8px;transition:background-color .2s ease}.list-item:hover{background-color:#f8fafc}.list-item:last-child{border-bottom:none}.col-number{color:#64748b;font-weight:500;text-align:center}.col-date{font-weight:500}.col-broker,.col-date{color:#374151;text-align:left}.col-broker,.col-stock{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-stock{color:#374151;font-weight:500;text-align:left}.col-amount,.col-cumulative,.col-rate{font-weight:600;text-align:right}.col-amount.profit,.col-cumulative.profit,.col-rate.profit{color:#10b981}.col-amount.loss,.col-cumulative.loss,.col-rate.loss{color:#ef4444}.no-data{align-items:center;color:#64748b;display:flex;font-size:14px;height:200px;justify-content:center}.panel-header-with-calendar{align-items:center;background-color:#6b7280;border-bottom:1px solid #9ca3af;display:flex;justify-content:space-between;padding:16px 20px}.panel-header-with-calendar h3{background-color:initial;border-bottom:none;color:#f9fafb;margin:0;padding:0}.calendar-controls{align-items:center;display:flex;gap:10px}.current-month{background:#0000;color:#f9fafb;font-size:14px;font-weight:600;min-width:120px;text-align:center}.calendar-nav{display:flex;gap:5px}.calendar-nav-btn{align-items:center;background:#0000;border:1px solid #9ca3af;border-radius:4px;color:#f9fafb;cursor:pointer;display:flex;font-size:14px;font-weight:600;height:28px;justify-content:center;transition:all .2s ease;width:28px}.calendar-nav-btn:hover{background:#9ca3af;border-color:#d1d5db}.calendar-nav-btn:active{background:#0000;transform:scale(.95)}.calendar-container{display:flex;flex-direction:column;height:100%;width:100%}.calendar-header{grid-gap:1px;display:grid;flex-shrink:0;gap:1px;grid-template-columns:repeat(7,1fr);margin-bottom:4px}.calendar-weekday{background:#f8fafc;color:#6b7280;font-size:12px;font-weight:600;padding:6px 0;text-align:center}.calendar-days{grid-gap:1px;display:grid;flex:1 1;gap:1px;grid-template-columns:repeat(7,1fr)}.calendar-day{align-items:center;border:1px solid #e5e7eb;color:#374151;cursor:pointer;display:flex;font-size:12px;font-weight:500;justify-content:center;transition:all .2s ease}.calendar-day,.calendar-day:hover{background:#fff}.calendar-day.empty{background:#0000;border:none;cursor:default}.calendar-day.today{background:#dbeafe;color:#1e40af;font-weight:600}.calendar-day.selected{background:#3b82f6;color:#fff;font-weight:600}.calendar-day.selected:hover{background:#2563eb}.calendar-day.today.selected{background:#1e40af}.daily-profit-tooltip{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#1f2937,#374151);border:1px solid #ffffff1a;border-radius:12px;box-shadow:0 10px 25px #0000004d,0 4px 12px #0003;color:#fff;font-size:13px;line-height:1.5;max-width:300px;min-width:280px;padding:16px 20px;pointer-events:none;z-index:1000}.daily-profit-tooltip .tooltip-header{color:#f9fafb;font-size:14px;font-weight:600;margin-bottom:8px}.daily-profit-tooltip .tooltip-content{display:flex;flex-direction:column;gap:4px}.daily-profit-tooltip .tooltip-content div{color:#d1d5db;font-size:13px}.daily-profit-tooltip .tooltip-values{display:flex;flex-direction:column;gap:4px;margin-top:-4px}.daily-profit-tooltip .tooltip-values div{color:#fff;display:flex;font-size:13px;font-weight:500;justify-content:flex-end}.daily-profit-tooltip .tooltip-values .profit{color:#10b981!important;font-weight:500}.daily-profit-tooltip .tooltip-values .loss{color:#ef4444!important;font-weight:500}.daily-profit-tooltip .tooltip-no-data{color:#9ca3af;font-size:13px;padding:10px;text-align:center}.mobile-statistics-page{background:#f9fafb;max-width:760px;min-height:1549px;padding:16px}.mobile-error,.mobile-loading{align-items:center;color:#6b7280;display:flex;font-size:16px;height:calc(100vh - 71px);justify-content:center}.mobile-error{color:#ef4444}.mobile-stats-header{margin-bottom:16px}.mobile-header-date{color:#6b7280;font-size:14px;margin-bottom:12px}.mobile-currency-selector{display:flex;gap:8px}.mobile-radio-label{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;flex:1 1;justify-content:center;padding:10px;transition:all .2s}.mobile-radio-label input{margin-right:6px}.mobile-radio-label input:checked+span{color:#3b82f6;font-weight:600}.mobile-dashboard-panel{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:16px;padding:20px}.mobile-dashboard-panel h3{color:#111827;font-size:18px;font-weight:600;margin:0 0 16px}.mobile-panel-content{width:100%}.mobile-greeting h2{color:#111827;font-size:22px;font-weight:700;margin:0 0 4px}.mobile-greeting-subtitle{color:#6b7280;font-size:14px;margin:0 0 16px}.mobile-total-amount h1{color:#111827;font-size:32px;font-weight:700;margin:0 0 16px}.mobile-profit-info{grid-gap:12px;border-bottom:1px solid #e5e7eb;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:16px;padding-bottom:16px}.mobile-evaluation-profit,.mobile-profit-rate{display:flex;flex-direction:column;gap:4px}.mobile-evaluation-profit .label,.mobile-profit-rate .label{color:#6b7280;font-size:13px}.mobile-evaluation-profit .value,.mobile-profit-rate .value{font-size:18px;font-weight:600}.mobile-evaluation-profit .value.positive,.mobile-profit-rate .value.positive{color:#10b981}.mobile-evaluation-profit .value.negative,.mobile-profit-rate .value.negative{color:#ef4444}.mobile-companies-stats{grid-gap:12px;border-bottom:1px solid #e5e7eb;display:grid;gap:12px;grid-template-columns:repeat(3,1fr);margin-bottom:16px;padding-bottom:16px}.mobile-stat-item{align-items:center;display:flex;flex-direction:column;gap:4px}.mobile-stat-item .number{color:#111827;font-size:24px;font-weight:700}.mobile-stat-item .number.profit{color:#10b981}.mobile-stat-item .number.loss{color:#ef4444}.mobile-stat-item .label{color:#6b7280;font-size:12px}.mobile-market-indices{border-bottom:1px solid #e5e7eb;margin-bottom:16px;padding-bottom:16px}.mobile-market-table{display:flex;flex-direction:column;gap:8px}.mobile-market-row{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(4,1fr)}.mobile-market-cell{background:#f9fafb;border-radius:6px;color:#374151;font-size:12px;padding:8px;text-align:center}.mobile-market-cell.positive{color:#10b981;font-weight:600}.mobile-market-cell.negative{color:#ef4444;font-weight:600}.mobile-account-list h4{color:#111827;font-size:16px;font-weight:600;margin:0 0 12px}.mobile-account-items{display:flex;flex-direction:column;gap:12px}.mobile-account-item{display:flex;flex-direction:column;gap:6px}.mobile-account-header{align-items:center;display:flex;justify-content:space-between}.mobile-account-name{color:#374151;font-size:14px;font-weight:500}.mobile-account-amount{color:#111827;font-size:14px;font-weight:600}.mobile-account-bar{background:#e5e7eb;border-radius:4px;height:8px;overflow:hidden}.mobile-account-bar-fill{height:100%;transition:width .3s ease}.mobile-account-profit{text-align:right}.mobile-profit-rate{font-size:13px;font-weight:600}.mobile-profit-rate.positive{color:#10b981}.mobile-profit-rate.negative{color:#ef4444}.mobile-no-accounts{color:#6b7280;font-size:14px;padding:20px;text-align:center}.mobile-treemap-container{background:#f9fafb;border-radius:8px;height:400px;overflow:hidden;position:relative;width:100%}.mobile-treemap-grid{height:100%;position:relative;width:100%}.mobile-treemap-item{border:1px solid #ffffff4d;transition:opacity .2s}.mobile-treemap-item:hover{border:2px solid #fff;opacity:.9}.mobile-treemap-tooltip{background:#111827f2;border-radius:8px;box-shadow:0 4px 12px #0000004d;color:#fff;font-size:13px;max-width:280px;padding:12px 16px;pointer-events:none;position:fixed;z-index:1000}.mobile-bubble-chart-container{background:#f9fafb;border-radius:8px;height:400px;overflow:hidden;position:relative;width:100%}.mobile-bubble-tooltip{background:#111827f2;border-radius:8px;box-shadow:0 4px 12px #0000004d;color:#fff;font-size:13px;max-width:280px;padding:12px 16px;pointer-events:none;position:fixed;z-index:1000}.mobile-panel-header-calendar{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.mobile-calendar-controls{align-items:center;display:flex;gap:12px}.mobile-current-month{color:#374151;font-size:14px;font-weight:600}.mobile-calendar-nav{display:flex;gap:4px}.mobile-calendar-nav-btn{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#374151;cursor:pointer;display:flex;font-size:14px;height:32px;justify-content:center;transition:all .2s;width:32px}.mobile-calendar-nav-btn:hover{background:#f3f4f6}.mobile-calendar-nav-btn:active{background:#e5e7eb}.mobile-calendar-container{width:100%}.mobile-calendar-header{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(7,1fr);margin-bottom:8px}.mobile-calendar-weekday{color:#6b7280;font-size:12px;font-weight:600;padding:8px 0;text-align:center}.mobile-calendar-days{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(7,1fr)}.mobile-calendar-day{align-items:center;aspect-ratio:1;background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#374151;cursor:pointer;display:flex;font-size:14px;justify-content:center;transition:all .2s}.mobile-calendar-day.empty{background:#0000;border:none;cursor:default}.mobile-calendar-day:not(.empty):hover{background:#f3f4f6}.mobile-calendar-day.today{background:#3b82f6;color:#fff;font-weight:600}.mobile-calendar-day.selected{border:2px solid #3b82f6;font-weight:600}.mobile-daily-profit-tooltip{background:#111827f2;border-radius:8px;box-shadow:0 4px 12px #0000004d;color:#fff;font-size:13px;max-width:280px;padding:12px 16px}.mobile-tooltip-header{color:#f9fafb;font-size:14px;font-weight:600;margin-bottom:8px}.mobile-tooltip-no-data{color:#d1d5db;font-size:13px}.mobile-realized-profit-list{overflow-x:auto}.mobile-list-header{grid-gap:8px;background:#f9fafb;border-radius:6px;color:#6b7280;display:grid;font-size:12px;font-weight:600;gap:8px;grid-template-columns:40px 80px 80px 100px 100px 80px 100px;margin-bottom:8px;padding:10px 8px}.mobile-list-body{display:flex;flex-direction:column;gap:4px}.mobile-list-item{grid-gap:8px;align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;display:grid;font-size:13px;gap:8px;grid-template-columns:40px 80px 80px 100px 100px 80px 100px;padding:10px 8px}.mobile-list-item .col-number{color:#6b7280;text-align:center}.mobile-list-item .col-broker,.mobile-list-item .col-date{color:#374151;font-size:12px}.mobile-list-item .col-stock{color:#111827;font-size:12px;font-weight:500}.mobile-list-item .col-amount,.mobile-list-item .col-cumulative,.mobile-list-item .col-rate{font-weight:500;text-align:right}.mobile-list-item .col-amount.profit,.mobile-list-item .col-cumulative.profit,.mobile-list-item .col-rate.profit{color:#10b981}.mobile-list-item .col-amount.loss,.mobile-list-item .col-cumulative.loss,.mobile-list-item .col-rate.loss{color:#ef4444}.mobile-no-data,.mobile-no-holdings{color:#6b7280;font-size:14px;padding:40px 20px;text-align:center}.daily-analysis-layout{display:flex;flex-direction:column;font-family:Arial,sans-serif;height:calc(100vh - 64px);overflow:hidden;width:100%}.daily-analysis-header{align-items:center;background:#f8f9fa;border-bottom:2px solid #ddd;display:flex;justify-content:space-between;padding:15px 20px}.daily-analysis-header h2{color:#333;font-size:20px;margin:0}.date-selection-wrapper{border-bottom:1px solid #ddd;gap:15px;padding:20px}.date-selection-wrapper,.page-nav-btn{align-items:center;background:#fff;display:flex;justify-content:center}.page-nav-btn{border:2px solid #d1d5db;border-radius:50%;color:#374151;cursor:pointer;font-size:18px;height:40px;transition:all .2s ease;width:40px}.page-nav-btn:hover:not(:disabled){background:#f0fdf4;border-color:#4caf50;color:#4caf50;transform:scale(1.1)}.page-nav-btn:disabled{cursor:not-allowed;opacity:.3}.date-boxes{flex-wrap:nowrap;gap:10px;max-width:1400px}.date-box,.date-boxes{display:flex;justify-content:center}.date-box{align-items:center;background:#fff;border:2px solid #d1d5db;border-radius:8px;box-shadow:0 2px 4px #0000001a;cursor:pointer;height:80px;transition:all .2s ease;width:180px}.date-box:hover{background:#f0fdf4;border-color:#4caf50;box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.date-box.selected{background:#4caf50;border-color:#4caf50;box-shadow:0 4px 12px #4caf504d;color:#fff;font-weight:700}.date-display{font-size:14px;font-weight:500;text-align:center}.date-box.selected .date-display{color:#fff}.analysis-results{grid-gap:20px;background:#f9fafb;display:grid;flex:1 1;gap:20px;grid-template-columns:1fr 1fr;overflow-y:auto;padding:20px}.result-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:15px}.result-section h3{border-bottom:2px solid #4caf50;color:#374151;font-size:16px;font-weight:600;margin:0 0 15px;padding-bottom:8px}.result-table{border-collapse:collapse;margin-bottom:15px;table-layout:fixed;width:100%}.result-table th{background:#f1f3f5;color:#374151;font-weight:600;padding:10px 8px}.result-table td,.result-table th{border:1px solid #ddd;font-size:13px;text-align:center}.result-table td{color:#4b5563;padding:8px}.result-table td:nth-child(5){padding-left:15px;text-align:left}.result-table tbody tr:hover{background:#f9fafb}.result-table tbody tr.selected-row{background:#dbeafe;font-weight:600}.result-table tbody tr.selected-row:hover{background:#bfdbfe}.chart-placeholder{background:#f9fafb;border:2px dashed #d1d5db;border-radius:8px;font-size:14px;height:60px;margin-top:10px}.chart-placeholder,.no-selection{align-items:center;color:#9ca3af;display:flex;font-weight:500;justify-content:center}.no-selection{flex:1 1;font-size:18px}.stats-table{border-collapse:collapse;table-layout:fixed;width:100%}.stats-table td,.stats-table th{border:1px solid #ddd;cursor:default;font-size:13px;padding:10px 8px;text-align:center}.stats-table th{background:#f1f3f5;color:#374151;font-weight:600}.stats-table td{color:#4b5563}.stats-table tbody tr:hover{background:#0000}.stats-table td:first-child{font-weight:500;padding-left:15px;text-align:left}.mysetting-layout{display:flex;flex-direction:column;font-family:Arial,sans-serif}.mysetting-top{display:flex;height:100%}.mysetting-types{border-right:1px solid #ddd;padding:10px;width:45%}.mysetting-types h3{margin-bottom:8px}.mysetting-spacer{height:32px;margin-bottom:10px}.mysetting-types .mysetting-actions{visibility:hidden}.mysetting-types table{border-collapse:collapse;table-layout:fixed;width:100%}.mysetting-types td,.mysetting-types th{border:1px solid #ddd;padding:8px;text-align:center}.mysetting-types td:first-child,.mysetting-types th:first-child{width:30%}.mysetting-types td:nth-child(2),.mysetting-types th:nth-child(2){width:70%}.mysetting-types tr:hover{background:#f9f9f9;cursor:pointer}.mysetting-types tr.selected{background:#c8e6c9}.mysetting-list{padding:10px;width:55%}.mysetting-list h3{margin-bottom:8px}.mysetting-list table{border-collapse:collapse;table-layout:fixed;width:100%}.mysetting-list td,.mysetting-list th{border:1px solid #ddd;padding:8px;text-align:center}.mysetting-list td:first-child,.mysetting-list th:first-child{width:40%}.mysetting-list td:nth-child(2),.mysetting-list th:nth-child(2){width:60%}.mysetting-list tr:hover{background:#f9f9f9;cursor:pointer}.mysetting-list tr.selected{background:#c8e6c9}.mysetting-detail{background:#fafafa;height:35vh;overflow-y:auto;padding:15px}.mysetting-detail h3{margin-bottom:10px}.mysetting-actions{display:flex;gap:8px;margin-bottom:10px}.btn{font-size:13px;padding:6px 12px}.form-grid{grid-gap:20px;display:grid;flex:1 1;gap:20px;grid-template-columns:1fr 1fr;padding:24px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{color:#374151;font-size:14px;font-weight:500;margin-bottom:4px}.form-group input{background:#fff;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;padding:12px 16px;transition:all .2s ease}.form-group input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-group input::placeholder{color:#9ca3af;font-size:13px}@media (max-width:768px){.form-grid{gap:16px;grid-template-columns:1fr;padding:20px}}@media (max-width:480px){.form-grid{padding:16px}}.code-layout{display:flex;flex-direction:column;font-family:Arial,sans-serif}.code-top{display:flex;height:100%}.code-types{border-right:1px solid #ddd;padding:10px;width:45%}.code-types h3{margin-bottom:8px}.code-types table{border-collapse:collapse;table-layout:fixed;width:100%}.code-types td,.code-types th{border:1px solid #ddd;padding:8px;text-align:center}.code-types td:first-child,.code-types th:first-child{width:25%}.code-types td:nth-child(2),.code-types th:nth-child(2){width:50%}.code-types td:nth-child(3),.code-types th:nth-child(3){width:25%}.code-types tr:hover{background:#f9f9f9;cursor:pointer}.code-types tr.selected{background:#c8e6c9}.code-list{padding:10px;width:55%}.code-list h3{margin-bottom:8px}.code-list table{border-collapse:collapse;table-layout:fixed;width:100%}.code-list td,.code-list th{border:1px solid #ddd;padding:8px;text-align:center}.code-list td:first-child,.code-list th:first-child{width:40%}.code-list td:nth-child(2),.code-list th:nth-child(2){width:60%}.code-list tr:hover{background:#f9f9f9;cursor:pointer}.code-list tr.selected{background:#c8e6c9}.code-detail{background:#fafafa;height:35 vh;overflow-y:auto;padding:15px}.code-detail h3,.detail-grid{margin-bottom:10px}.detail-grid{grid-gap:10px;gap:10px}.detail-item{font-size:14px;padding:8px}.detail-item strong{display:block;font-size:12px;margin-bottom:4px}.detail-box p{margin:4px 0}.user-layout{display:flex;flex-direction:column;font-family:Arial,sans-serif;width:100%}.user-top{border-bottom:1px solid #ddd;display:flex;height:65vh}.user-list{padding:10px;width:100%}.user-list h3{margin-bottom:8px}.user-list table{border-collapse:collapse;table-layout:fixed;width:100%}.user-list td,.user-list th{border:1px solid #ddd;padding:8px;text-align:center}.user-list td:first-child,.user-list td:nth-child(2),.user-list th:first-child,.user-list th:nth-child(2){width:15%}.user-list td:nth-child(3),.user-list th:nth-child(3){width:25%}.user-list td:nth-child(4),.user-list td:nth-child(5),.user-list th:nth-child(4),.user-list th:nth-child(5){width:10%}.user-list td:nth-child(6),.user-list th:nth-child(6){width:15%}.user-list td:nth-child(7),.user-list th:nth-child(7){width:20%}.user-list tr:hover{background:#f9f9f9;cursor:pointer}.user-list tr.selected{background:#c8e6c9}.expiry-badge,.password-fail-badge,.role-badge,.status-badge{border-radius:3px;display:inline-block;font-size:11px;font-weight:500;padding:2px 6px;text-transform:uppercase}.user-detail{background:#fafafa;height:35vh;overflow-y:auto;padding:8px 15px}.detail-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:5px}.detail-header h3{margin:0}.password-actions{display:flex;gap:8px}.btn-sm{border:none;border-radius:4px;cursor:pointer;font-size:12px;padding:4px 8px;transition:all .2s ease}.detail-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(5,1fr);margin-bottom:5px}.detail-item{align-items:center;background:#fff;border:1px solid #ddd;border-radius:4px;display:flex;font-size:13px;min-height:32px;padding:6px 8px}.detail-item strong{color:#333;display:inline;flex-shrink:0;font-size:11px;margin-right:8px;min-width:80px}.loading{color:#6b7280;font-size:16px;padding:40px;text-align:center}.btn-info{background:#0ea5e9}.btn-info:hover:not(:disabled){background:#0284c7}.user-modal{max-width:500px;width:90%}.user-modal .form-group{margin-bottom:20px}.user-modal label{color:#374151;display:block;font-weight:500;margin-bottom:6px}.user-modal input,.user-modal select{border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:10px 12px;transition:border-color .2s ease;width:100%}.user-modal input:focus,.user-modal select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.user-modal input.error,.user-modal select.error{border-color:#ef4444}.user-modal input:disabled{background:#f9fafb;color:#6b7280;cursor:not-allowed}.error-message{color:#ef4444;display:block;font-size:12px;margin-top:4px}.user-modal .modal-actions{border-top:1px solid #e5e7eb;display:flex;gap:10px;justify-content:flex-end;margin-top:30px;padding-top:20px}.user-modal .btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s ease}.user-modal .btn:disabled{cursor:not-allowed;opacity:.5}.user-modal .btn-secondary{background:#f3f4f6;color:#374151}.user-modal .btn-secondary:hover:not(:disabled){background:#e5e7eb}.user-modal .btn-primary{background:#4caf50;color:#fff}.user-modal .btn-primary:hover:not(:disabled){background:#45a049}@media (max-width:768px){.detail-grid{grid-template-columns:repeat(3,1fr)}.password-actions{flex-direction:column;gap:4px}.btn-sm{font-size:10px;padding:3px 6px}}@media (max-width:480px){.detail-grid{grid-template-columns:repeat(2,1fr)}.detail-header{align-items:flex-start;flex-direction:column;gap:8px}.detail-item{font-size:12px;min-height:28px;padding:4px 6px}.detail-item strong{font-size:10px;min-width:70px}}.log-modal{max-height:80vh!important;max-width:800px!important}.log-job-info{color:#6b7280;font-size:14px;font-weight:400;margin:8px 0 0}.log-content{background:#f9fafb;flex:1 1;overflow-y:auto;padding:20px 24px}.log-text{word-wrap:break-word;background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#1f2937;font-family:Consolas,Monaco,Courier New,monospace;font-size:13px;line-height:1.6;margin:0;max-height:50vh;overflow-x:auto;padding:16px;white-space:pre-wrap}.log-text::-webkit-scrollbar{height:8px;width:8px}.log-text::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.log-text::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.log-text::-webkit-scrollbar-thumb:hover{background:#94a3b8}.job-layout{display:flex;flex-direction:column;font-family:Arial,sans-serif;width:100%}.job-top{border-bottom:1px solid #ddd;display:flex;height:65vh}.job-list{padding:10px;width:100%}.job-list h3{margin-bottom:8px}.job-list table{border-collapse:collapse;table-layout:fixed;width:100%}.job-list td,.job-list th{border:1px solid #ddd;padding:8px;text-align:center}.job-list td:first-child,.job-list th:first-child{width:10%}.job-list td:nth-child(2),.job-list th:nth-child(2){padding-left:15px;text-align:left;width:20%}.job-list td:nth-child(3),.job-list th:nth-child(3){width:10%}.job-list td:nth-child(4),.job-list th:nth-child(4){width:15%}.job-list td:nth-child(5),.job-list td:nth-child(6),.job-list th:nth-child(5),.job-list th:nth-child(6){width:18%}.job-list td:nth-child(7),.job-list th:nth-child(7){width:9%}.job-list tr:hover{background:#f9f9f9;cursor:pointer}.job-list tr.selected{background:#e3f2fd}.job-bottom{background:#fafafa;height:35vh;overflow-y:auto;padding:8px 15px}.job-bottom h3{font-size:16px;margin:0 0 8px}.job-bottom table{background:#fff;border-collapse:collapse;table-layout:fixed;width:100%}.job-bottom td,.job-bottom th{border:1px solid #ddd;font-size:13px;padding:8px;text-align:center}.job-bottom th{background:#f1f3f5;color:#374151;font-weight:600}.job-bottom td:first-child,.job-bottom th:first-child{width:10%}.job-bottom td:nth-child(2),.job-bottom td:nth-child(3),.job-bottom th:nth-child(2),.job-bottom th:nth-child(3){width:20%}.job-bottom td:nth-child(4),.job-bottom th:nth-child(4){width:15%}.job-bottom td:nth-child(5),.job-bottom th:nth-child(5){padding-left:15px;text-align:left;width:35%}.job-bottom tr:hover{background:#f9f9f9}.status-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;padding:4px 12px}.status-badge.active{background:#d1fae5;color:#065f46}.status-badge.inactive{background:#fee2e2;color:#991b1b}.status-badge.running{animation:pulse 1.5s ease-in-out infinite;background:#fef3c7;color:#92400e}.status-badge.success{background:#d1fae5;color:#065f46}.status-badge.failed{background:#fee2e2;color:#991b1b}.status-badge.idle{background:#e5e7eb;color:#6b7280}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.log-cell{max-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-cell.clickable{color:#2563eb;cursor:pointer;text-decoration:underline}.log-cell.clickable:hover{background-color:#eff6ff;color:#1d4ed8}.board-actions{display:flex;gap:8px;justify-content:flex-end;margin-bottom:10px}.btn{border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary:hover:not(:disabled){background:#45a049}.btn-secondary{background:#2196f3;color:#fff}.btn-secondary:hover:not(:disabled){background:#0b7dda}.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-info{background:#06b6d4;color:#fff}.btn-info:hover:not(:disabled){background:#0891b2}.job-loading{color:#6b7280;font-size:18px;height:calc(100vh - 64px)}.job-loading,.not-found-container{align-items:center;display:flex;justify-content:center}.not-found-container{background:#fff;box-sizing:border-box;height:100%;padding:20px}.not-found-content{background:#fff;border-radius:20px;box-shadow:0 20px 40px #0000001a;max-width:500px;padding:60px 40px;text-align:center;width:100%}.error-code{color:#667eea;font-size:120px;font-weight:700;line-height:1;margin-bottom:20px;text-shadow:2px 2px 4px #0000001a}.error-title{color:#333;font-size:32px;font-weight:600;margin-bottom:20px}.error-message{color:#666;font-size:16px;line-height:1.6;margin-bottom:40px}.error-actions{display:flex;flex-wrap:wrap;gap:15px;justify-content:center}.btn-primary{background:#4caf50;border:none;border-radius:25px;box-shadow:0 4px 15px #4caf504d;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 30px;transition:all .3s ease}.btn-primary:hover{background:#45a049;box-shadow:0 6px 20px #4caf5066;transform:translateY(-2px)}.btn-secondary{background:#0000;border:2px solid #667eea;border-radius:25px;color:#667eea;cursor:pointer;font-size:16px;font-weight:600;padding:10px 30px;transition:all .3s ease}.btn-secondary:hover{background:#667eea;box-shadow:0 4px 15px #667eea4d;color:#fff;transform:translateY(-2px)}@media (max-width:768px){.not-found-container{padding:10px}.not-found-content{padding:40px 20px}.error-code{font-size:80px}.error-title{font-size:24px}.error-actions{align-items:center;flex-direction:column}.btn-primary,.btn-secondary{max-width:200px;width:100%}}.main-home-container{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:100vh;padding:20px}.main-home-content{margin:0 auto;max-width:1200px}.main-title{color:#2c3e50;font-size:2.5rem;font-weight:700;margin-bottom:10px;text-align:center}.main-subtitle{color:#7f8c8d;font-size:1.2rem;margin-bottom:40px;text-align:center}.time-section{background:#fff;border-radius:15px;box-shadow:0 5px 15px #0000001a;margin-bottom:30px;padding:30px;text-align:center}.time-section h2{color:#2c3e50;font-size:1.5rem;margin-bottom:20px}.time-display{background:#ecf0f1;border-radius:10px;color:#3498db;display:inline-block;font-size:1.8rem;font-weight:600;min-width:300px;padding:15px}.counter-section{background:#fff;border-radius:15px;box-shadow:0 5px 15px #0000001a;margin-bottom:30px;padding:30px;text-align:center}.counter-section h2{color:#2c3e50;font-size:1.5rem;margin-bottom:20px}.counter-display{margin-bottom:20px}.counter-value{color:#e74c3c;font-size:4rem;font-weight:700;text-shadow:2px 2px 4px #0000001a}.counter-buttons{display:flex;gap:15px;justify-content:center}.btn-increment{background:linear-gradient(135deg,#27ae60,#2ecc71);border:none;border-radius:25px;box-shadow:0 4px 15px #27ae604d;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 30px;transition:all .3s ease}.btn-increment:hover{box-shadow:0 6px 20px #27ae6066;transform:translateY(-2px)}.btn-reset{background:linear-gradient(135deg,#e74c3c,#c0392b);border:none;border-radius:25px;box-shadow:0 4px 15px #e74c3c4d;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 30px;transition:all .3s ease}.btn-reset:hover{box-shadow:0 6px 20px #e74c3c66;transform:translateY(-2px)}.data-section{background:#fff;border-radius:15px;box-shadow:0 5px 15px #0000001a;margin-bottom:30px;padding:30px}.data-section h2{color:#2c3e50;font-size:1.5rem;margin-bottom:20px}.btn-generate{background:linear-gradient(135deg,#3498db,#2980b9);border:none;border-radius:20px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;margin-bottom:20px;padding:10px 25px;transition:all .3s ease}.btn-generate:hover{box-shadow:0 4px 15px #3498db4d;transform:translateY(-2px)}.data-table{overflow-x:auto}.data-table table{border-collapse:collapse;margin-top:10px;width:100%}.data-table td,.data-table th{border-bottom:1px solid #ecf0f1;padding:12px;text-align:left}.data-table th{color:#2c3e50;font-weight:600}.data-table th,.data-table tr:hover{background:#f8f9fa}.status{border-radius:15px;font-size:12px;font-weight:600;padding:4px 12px;text-transform:uppercase}.status.active{background:#d5f4e6;color:#27ae60}.status.inactive{background:#fadbd8;color:#e74c3c}.feature-section{background:#fff;border-radius:15px;box-shadow:0 5px 15px #0000001a;padding:30px}.feature-section h2{color:#2c3e50;font-size:1.5rem;margin-bottom:20px}.feature-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.feature-card{background:#f8f9fa;border:2px solid #0000;border-radius:12px;padding:25px;text-align:center;transition:all .3s ease}.feature-card:hover{border-color:#3498db;box-shadow:0 8px 25px #0000001a;transform:translateY(-5px)}.feature-card h3{color:#2c3e50;font-size:1.2rem;margin-bottom:10px}.feature-card p{color:#7f8c8d;font-size:.9rem;margin-bottom:15px}.btn-test{background:linear-gradient(135deg,#9b59b6,#8e44ad);border:none;border-radius:20px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 20px;transition:all .3s ease}.btn-test:hover{box-shadow:0 4px 15px #9b59b64d;transform:translateY(-2px)}@media (max-width:768px){.main-home-container{padding:10px}.main-title{font-size:2rem}.time-display{font-size:1.4rem;min-width:250px}.counter-value{font-size:3rem}.counter-buttons{align-items:center;flex-direction:column}.feature-grid{grid-template-columns:1fr}}
/*# sourceMappingURL=main.5b7f9f25.css.map*/