.page-container{display:flex;height:100vh}.sidebar{border-right:1px solid #ccc;width:300px}.main-content,.sidebar{overflow-y:auto;padding:1rem}.main-content{flex-grow:1}.config-list ul{list-style-type:none;padding:0}.config-list li{align-items:center;border:1px solid #eee;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:5px;padding:.5rem}.config-list li.selected{background-color:#e0f7fa}.config-list button{margin-left:5px}.form-section{border:1px solid #ddd;margin-top:1rem}.form-section h3{margin-top:0}input,select,textarea{margin-bottom:10px;padding:8px;width:95%}.form-actions button{padding:10px 15px}.form-section{background-color:#fdfdfd;border:1px solid #e0e0e0;border-radius:8px;margin-top:1.5rem;padding:1rem}.form-section legend{color:#005a9c;font-size:1.3rem;font-weight:700;padding:0 .5rem}.form-section label{display:block;font-weight:700;margin-bottom:.5rem;margin-top:1rem}.radio-group label{display:inline-block;font-weight:400;margin-right:15px}.radio-group input{margin-right:5px;width:auto}.error-text{color:#d32f2f;font-size:.9rem;margin-top:5px}.form-actions{border-top:1px solid #ccc;margin-top:2rem;padding-top:1rem}.form-actions button{border:none;border-radius:5px;cursor:pointer;font-size:1rem;margin-right:10px;padding:10px 20px}.form-actions button[type=submit]{background-color:#28a745;color:#fff}.form-actions button[type=button]{background-color:#6c757d;color:#fff}.form-actions button:disabled{background-color:#ccc;cursor:not-allowed}.dynamic-array-section h4{border-bottom:1px solid #eee;padding-bottom:5px}.dynamic-array-item{background-color:#fff;border:1px dashed #ccc;margin-bottom:1rem;padding:1rem;position:relative}.dynamic-array-item h5{font-size:1rem;margin:0 0 1rem}.remove-btn{background-color:#dc3545;padding:2px 8px;position:absolute;right:10px;top:10px}.add-btn,.remove-btn{border:none;border-radius:4px;color:#fff;cursor:pointer}.add-btn{background-color:#007bff;padding:8px 12px}.dynamic-array-item-simple{align-items:center;display:flex;margin-bottom:5px}.remove-btn-simple{background-color:#dc3545;border:none;border-radius:50%;color:#fff;cursor:pointer;font-weight:700;height:22px;margin-left:10px;width:22px}.scrollbar-thin{scrollbar-width:thin}.scrollbar-thumb-slate-300::-webkit-scrollbar{height:8px;width:8px}.scrollbar-thumb-slate-300::-webkit-scrollbar-thumb{background-color:#cbd5e1;border-radius:9999px}.dark .scrollbar-thumb-slate-700::-webkit-scrollbar-thumb{background-color:#334155}body{background-color:#f4f7f6;color:#333;font-family:sans-serif;margin:0}.App{margin:0 auto;max-width:1290px;padding:20px}.App-header{background-color:#2c3e50;border-radius:8px;margin-bottom:30px;padding:20px;text-align:center}.App-header h1{margin:0}main{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:20px}.skill-form{background-color:#f9f9f9;border:1px solid #ddd;border-radius:8px;margin-bottom:30px;padding:20px}.skill-form h3{border-bottom:2px solid #3498db;color:#34495e;margin-top:0;padding-bottom:10px}.skill-form div{margin-bottom:15px}.skill-form label{color:#555;display:block;font-weight:700;margin-bottom:5px}.skill-form input[type=text],.skill-form select,.skill-form textarea{border:1px solid #ccc;border-radius:4px;font-size:1rem;padding:10px;width:calc(100% - 22px)}.skill-form textarea{resize:vertical}.skill-form button{background-color:#3498db;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:10px 15px;transition:background-color .2s}.skill-form button:hover{background-color:#2980b9}.skill-form button:disabled{background-color:#bdc3c7;cursor:not-allowed}.skill-list-container{margin-top:20px}.skill-list-container h2{border-bottom:2px solid #3498db;color:#34495e;padding-bottom:10px}.skill-list{list-style-type:none;padding:0}.skill-item{align-items:center;background-color:#ecf0f1;border:1px solid #bdc3c7;border-radius:4px;display:flex;justify-content:space-between;margin-bottom:10px;padding:15px}.skill-summary{cursor:pointer;flex-grow:1}.skill-summary strong{color:#2c3e50;font-size:1.1em}.skill-summary p{color:#7f8c8d;font-size:.9em;margin:5px 0 0}.skill-actions button{border:1px solid #0000;border-radius:4px;cursor:pointer;font-size:.9em;margin-left:10px;padding:8px 12px}.skill-actions button:first-of-type{background-color:#2ecc71;color:#fff}.skill-actions button:first-of-type:hover{background-color:#27ae60}.skill-actions button:last-of-type{background-color:#e74c3c;color:#fff}.skill-actions button:last-of-type:hover{background-color:#c0392b}.skill-detail-modal{align-items:center;background-color:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.skill-detail-content{background-color:#fff;border-radius:8px;box-shadow:0 5px 15px #0000004d;max-height:80vh;max-width:700px;overflow-y:auto;padding:25px;position:relative;width:80%}.skill-detail-content h3{color:#34495e;margin-top:0}.skill-detail-content div,.skill-detail-content p{line-height:1.6;margin-bottom:10px}.skill-detail-content strong{color:#2c3e50}.skill-detail-content pre{background-color:#f0f0f0;border-radius:4px;font-size:.9em;padding:10px;white-space:pre-wrap;word-break:break-all}.close-button{align-items:center;background:#e74c3c;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.2em;height:30px;justify-content:center;line-height:1;position:absolute;right:15px;top:15px;width:30px}.close-button:hover{background:#c0392b}.error-message{background-color:#fdd;border:1px solid #c0392b;color:#c0392b}.success-message{background-color:#dfd;border:1px solid #27ae60;color:#27ae60}.pdf-info{align-items:center;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;display:flex;justify-content:space-between;margin-top:5px;padding:8px 12px}.download-pdf-link{font-size:.9em;margin-left:auto}.download-pdf-link-inline{color:#007bff;font-size:.9em;margin-left:10px;text-decoration:underline}.download-pdf-link-inline:hover{color:#0056b3}.existing-file-info span{margin-right:10px}.login-page{background-color:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 8px #0000001a;margin:50px auto;max-width:400px;padding:30px}.login-page h2{color:#333;margin-bottom:25px;text-align:center}.login-page div{margin-bottom:15px}.login-page label{color:#555;display:block;font-weight:700;margin-bottom:5px}.login-page input[type=password],.login-page input[type=text]{border:1px solid #ccc;border-radius:4px;font-size:1rem;padding:10px;width:calc(100% - 22px)}.login-page button[type=submit]{background-color:#5cb85c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1.1rem;padding:12px 15px;transition:background-color .2s;width:100%}.login-page button[type=submit]:hover{background-color:#4cae4c}.App-header{justify-content:space-between}.logout-button{background-color:#f0ad4e;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:8px 15px}.logout-button:hover{background-color:#ec971f}.auth-page{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 15px #00000014;margin:40px auto;max-width:450px;padding:20px 30px 30px}.auth-page h2{color:#333;font-weight:600;margin-bottom:25px;text-align:center}.auth-page div{margin-bottom:18px}.auth-page label{color:#454545;display:block;font-size:.95rem;font-weight:500;margin-bottom:6px}.auth-page input[type=email],.auth-page input[type=password],.auth-page input[type=text]{border:1px solid #ccc;border-radius:5px;font-size:1rem;padding:12px;transition:border-color .2s;width:calc(100% - 24px)}.auth-page input[type=email]:focus,.auth-page input[type=password]:focus,.auth-page input[type=text]:focus{border-color:#007bff;outline:none}.auth-page button[type=submit]{background-color:#007bff;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1.05rem;font-weight:500;margin-top:10px;padding:12px 15px;transition:background-color .2s;width:100%}.auth-page button[type=submit]:hover{background-color:#0056b3}.auth-page p{font-size:.9rem;margin-top:20px;text-align:center}.auth-page p a{color:#007bff;text-decoration:none}.auth-page p a:hover{text-decoration:underline}.error-message{background-color:#ffd2d2;border:1px solid #d8000c;border-radius:4px;color:#d8000c}.error-message,.success-message{font-size:.9rem;margin-bottom:15px;padding:10px}.success-message{background-color:#dff2bf;border:1px solid #4f8a10;border-radius:4px;color:#4f8a10}.download-pdf-link,.download-pdf-link-inline{background-color:initial;border:1px solid #007bff;border-radius:4px;color:#007bff;cursor:pointer;display:inline-block;font-size:.9em;margin-left:10px;padding:5px 10px;text-decoration:none;transition:background-color .2s,color .2s}.download-pdf-link-inline:hover,.download-pdf-link:hover{background-color:#007bff;color:#fff}.download-pdf-link-inline:disabled,.download-pdf-link:disabled{background-color:#e9ecef;border-color:#ced4da;color:#6c757d;cursor:not-allowed}.captcha-section{margin-bottom:20px;margin-top:15px}.captcha-box{align-items:center;background-color:#f0f0f0;border-radius:5px;display:flex;gap:10px;margin-bottom:10px;margin-top:5px;padding:5px}.captcha-box img{border-radius:4px;display:block}.captcha-refresh-btn{align-items:center;background:#6c757d;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:24px;height:35px;justify-content:center;line-height:35px;padding:0;transition:background-color .2s,transform .2s;width:35px}.captcha-refresh-btn:hover{background:#5a6268;transform:rotate(180deg)}.consent-checkbox{align-items:center;display:flex;margin-bottom:20px;margin-top:15px}.consent-checkbox input[type=checkbox]{height:18px;margin-right:10px;width:18px}.consent-checkbox label{color:#555;font-size:.9rem}.link-style{color:#007bff;cursor:pointer;text-decoration:underline}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.appContainer{display:flex;flex-direction:column;height:100vh}.header{background-color:#2c3e50;color:#fff;padding:1rem;text-align:center}.mainContent{display:flex;flex-grow:1;overflow:hidden}.leftPane,.middlePane,.rightPane{overflow-y:auto;padding:1rem}.leftPane{border-right:1px solid #ccc;flex:1.5 1}.editorControls,.leftPane{display:flex;flex-direction:column}.editorControls{gap:.5rem;margin-bottom:1rem}.buttonsRow{display:flex;gap:.5rem}.middlePane{border-right:1px solid #ccc;flex:1 1}.rightPane{flex:1.5 1}.footer{background-color:#34495e;color:#fff;font-size:.8rem;padding:.5rem;text-align:center}.modal-backdrop{align-items:center;background-color:#0009;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.modal-content{background-color:#fff;border-radius:8px;box-shadow:0 5px 15px #0000004d;max-width:600px;padding:25px 30px;width:90%}.modal-content h2{color:#333;margin-top:0}.modal-body{border:1px solid #eee;border-radius:5px;font-size:.95rem;line-height:1.6;margin-bottom:30px;margin-top:20px;max-height:40vh;overflow-y:auto;padding:15px}.modal-body p{margin-top:0}.modal-footer{display:flex;gap:15px;justify-content:flex-end}.modal-footer button{border:none;border-radius:5px;cursor:pointer;font-size:1rem;font-weight:500;padding:10px 20px}.btn-agree{background-color:#28a745;color:#fff}.btn-agree:hover{background-color:#218838}.btn-decline{background-color:#dc3545;color:#fff}.btn-decline:hover{background-color:#c82333}.btn-normal{background-color:#3643b5;color:#fff}.btn-normal:hover{background-color:#3323c7}.spinner-overlay{align-items:center;background-color:#ffffffb3;border-radius:8px;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}.spinner{animation:spin 1s linear infinite;border:5px solid #f3f3f3;border-radius:50%;border-top-color:#3498db;height:50px;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}:root{--brand-dark:#264e58;--brand-orange:#ff6b35;--brand-cyan:#1abeb7;--primary-color:var(--brand-dark);--action-color:var(--brand-orange);--text-main:#1f2937;--text-secondary:#6b7280;--bg-main:#f8fafc;--bg-white:#fff;--bg-accent:#eefbfb;--border-color:#e2e8f0;--success-color:#10b981;--warning-color:var(--brand-orange);--danger-color:#ef4444}body{background-color:#f8fafc;background-color:var(--bg-main);color:#1f2937;color:var(--text-main)}.dashboard-container{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;min-height:100vh;padding-bottom:40px}.dashboard-header{align-items:center;background-color:#fff;background-color:var(--bg-white);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color);box-shadow:0 1px 2px #00000005;display:flex;justify-content:space-between;padding:10px 24px}.logo-img{display:block;height:80px;width:auto}.back-button{align-items:center;background:none;border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:6px;color:#6b7280;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.85rem;font-weight:600;gap:6px;padding:6px 12px;transition:all .2s}.back-button:hover{border-color:#264e58;border-color:var(--brand-dark);color:#264e58;color:var(--brand-dark)}.dashboard-main{margin:0 auto;max-width:900px;padding:20px 16px}.page-title{color:#264e58;color:var(--brand-dark);font-size:1.5rem;font-weight:800;margin-bottom:20px;text-align:center}.upload-container{background:#fff;background:var(--bg-white);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:12px;box-shadow:0 10px 15px -3px #0000000d;margin:0 auto;max-width:500px;padding:24px}.upload-area{align-items:center;background-color:#f8fafc;background-color:var(--bg-main);border:2px dashed #e2e8f0;border:2px dashed var(--border-color);border-radius:10px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;margin-bottom:16px;min-height:120px;padding:20px;transition:all .2s}.upload-area.drag-active,.upload-area:hover{background-color:#eefbfb;background-color:var(--bg-accent);border-color:#1abeb7;border-color:var(--brand-cyan)}.upload-icon-large{color:#1abeb7;color:var(--brand-cyan);margin-bottom:8px}.file-info{align-items:center;background:#fff;background:var(--bg-white);border:1px solid #1abeb7;border:1px solid var(--brand-cyan);border-radius:6px;color:#264e58;color:var(--brand-dark);display:inline-flex;font-size:.9rem;font-weight:600;gap:8px;padding:8px 12px}.input-group{margin-bottom:12px;text-align:left}.input-group label{color:#264e58;color:var(--brand-dark);display:block;font-size:.85rem;font-weight:700;margin-bottom:6px}.input-field{border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:6px;font-family:inherit;font-size:.9rem;padding:10px;transition:border-color .2s;width:100%}.input-field:focus{border-color:#1abeb7;border-color:var(--brand-cyan);box-shadow:0 0 0 2px #1abeb71a;outline:none}.captcha-wrapper{background:#f8fafc;background:var(--bg-main);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:8px;gap:12px;margin-bottom:16px}.btn-primary,.captcha-wrapper{align-items:center;display:flex;justify-content:center;padding:12px}.btn-primary{background-color:#ff6b35;background-color:var(--brand-orange);border:none;border-radius:8px;box-shadow:0 4px 6px -1px #ff6b354d;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;gap:8px;transition:background-color .2s,transform .1s;width:100%}.btn-primary:hover{background-color:#e85d2a}.btn-primary:active{transform:translateY(1px)}.btn-primary:disabled{background-color:#cbd5e1;box-shadow:none;cursor:not-allowed}.error-banner{background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#ef4444;color:var(--danger-color);font-size:.85rem;margin-top:16px;padding:10px;text-align:center}.hero-card{background-color:#fff;background-color:var(--bg-white);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:16px;box-shadow:0 4px 6px -1px #0000000d;display:flex;flex-direction:column;gap:24px;margin-bottom:32px;padding:32px}@media (min-width:768px){.hero-card{align-items:center;flex-direction:row;justify-content:space-between}}.hero-score-col{align-items:center;display:flex;flex-direction:column;min-width:120px}.hero-score-status{color:#264e58;color:var(--brand-dark);font-size:1.25rem;font-weight:800;margin-top:8px}.hero-context-col{flex:1 1;text-align:center}@media (min-width:768px){.hero-context-col{padding:0 24px;text-align:left}}.comparison-text{align-items:center;color:#ff6b35;color:var(--brand-orange);display:flex;font-size:1rem;font-weight:600;gap:8px;justify-content:center;margin-bottom:8px}@media (min-width:768px){.comparison-text{justify-content:flex-start}}.summary-list{color:#6b7280;color:var(--text-secondary);font-size:.875rem;list-style:none;margin:0;padding:0}.summary-list li{margin-bottom:4px}.hero-action-col{width:100%}@media (min-width:768px){.hero-action-col{width:auto}}.association-text{color:#6b7280;color:var(--text-secondary);font-size:.75rem;margin-top:8px;text-align:center}.breakdown-header{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:20px}.breakdown-title{color:#264e58;color:var(--brand-dark);font-size:1.2rem;font-weight:800}.breakdown-hint{color:#6b7280;color:var(--text-secondary);font-size:.85rem;font-weight:500}.metric-card{background-color:#fff;background-color:var(--bg-white);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:12px;margin-bottom:16px;overflow:hidden;transition:border-color .2s}.metric-card:hover{border-color:#1abeb7;border-color:var(--brand-cyan)}.metric-header{background-color:#fff;background-color:var(--bg-white);cursor:pointer;display:flex;flex-direction:column;padding:20px}@media (min-width:640px){.metric-header{align-items:center;flex-direction:row;justify-content:space-between}}.metric-info{align-items:center;display:flex;gap:16px}.metric-icon-wrapper{align-items:center;background-color:#eefbfb;background-color:var(--bg-accent);border-radius:8px;display:flex;flex-shrink:0;justify-content:center;padding:10px}.metric-icon-wrapper,.metric-text h3{color:#264e58;color:var(--brand-dark)}.metric-text h3{font-size:1.1rem;font-weight:700;margin:0 0 4px}.metric-status{color:#6b7280;color:var(--text-secondary);font-size:.9rem;font-weight:500;margin:0}.metric-actions{align-items:center;display:flex;gap:16px;margin-top:16px}@media (min-width:640px){.metric-actions{margin-top:0}}.metric-details{background-color:#f8fafc;background-color:var(--bg-main);border-top:1px solid #e2e8f0;border-top:1px solid var(--border-color);padding:24px}.detail-section{margin-bottom:20px}.detail-heading{color:#6b7280;color:var(--text-secondary);font-size:.75rem;font-weight:600;letter-spacing:.05em;margin-bottom:8px;text-transform:uppercase}.point-item{align-items:flex-start;display:flex;gap:12px}.point-icon{color:#ff6b35;color:var(--brand-orange);flex-shrink:0;margin-top:2px}.score-circle{align-items:center;display:flex;justify-content:center;position:relative}.score-circle svg{transform:rotate(-90deg)}.score-circle-bg{stroke:#e2e8f0;stroke:var(--border-color)}.score-circle-progress{stroke:currentColor;transition:stroke-dashoffset .5s ease-in-out}.score-text-wrapper{left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.score-val{color:#1f2937;color:var(--text-main);font-weight:700;line-height:1}.score-total{color:#6b7280;color:var(--text-secondary);display:block;font-size:.75rem;margin-top:2px}.text-orange{color:#ff6b35;color:var(--warning-color)}.text-green{color:#10b981;color:var(--success-color)}.text-large{font-size:1.875rem}.text-small{font-size:.875rem}.trust-footer{border-top:1px solid #e2e8f0;border-top:1px solid var(--border-color);margin-top:40px;padding-top:24px;text-align:center}.trust-title{color:#6b7280;color:var(--text-secondary);font-size:.75rem;font-weight:700;letter-spacing:.05em;margin-bottom:16px;text-transform:uppercase}.trust-logos{display:flex;flex-wrap:wrap;gap:24px;justify-content:center;opacity:.6}.trust-logo-text{color:#6b7280;color:var(--text-secondary);font-weight:700}