:root{--color-primary: #4db;--color-primary-light: #3ca;--color-success: #10b981;--color-warning: #f59e0b;--color-danger: #ef4444;--color-surface: #ffffff;--color-background: #fafafa;--color-text: #123;--color-text-secondary: #678;--color-border: #e5e7eb;--color-white: #ffffff;--color-primary-alpha-10: rgba(77, 221, 187, .1);--color-primary-alpha-02: rgba(77, 221, 187, .02);--color-surface-alpha-50: rgba(249, 250, 251, .5);--color-focus-alpha-10: rgba(77, 221, 187, .1);--color-focus-alpha-05: rgba(77, 221, 187, .05);--color-danger-alpha-10: rgba(239, 68, 68, .1);--color-error-bg: #fee2e2;--color-error-border: #ef4444;--color-error-text: #991b1b;--color-success-bg: #dcfce7;--color-info-bg: #dbeafe;--color-warning-bg: #fef3c7;--color-danger-bg: #fee2e2;--shadow-sm: 0 .0625rem .125rem rgba(0, 0, 0, .05);--shadow-md: 0 .25rem .375rem -.0625rem rgba(0, 0, 0, .1);--shadow-lg: 0 .625rem .9375rem -.1875rem rgb(0 0 0 / .1), 0 .25rem .375rem -.25rem rgb(0 0 0 / .1);--spacing-base: clamp(1rem, 2vw, 1.5rem);--border-radius: .75rem;--border-radius-sm: .5rem}*{box-sizing:border-box}body{background-color:var(--color-background);color:var(--color-text);font-family:Roboto Mono,monospace;line-height:1.5;margin:0;height:100vh;width:100vw}#root{width:100vw;height:100vh}.container{width:100vw;height:100vh;margin:0;padding:0;display:flex;flex-direction:column;overflow-y:hidden}.file-upload-area{position:relative;border:.125rem dashed var(--color-border);border-radius:var(--border-radius-sm);padding:calc(var(--spacing-base) * 2);text-align:center;cursor:pointer;transition:all .2s ease;background:var(--color-surface)}.file-upload-area:hover{border-color:var(--color-primary);background:var(--color-background)}.file-input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:2}.file-icon{font-size:2rem;margin-bottom:calc(var(--spacing-base) * .5);color:var(--color-text-secondary)}.file-types{color:var(--color-text-secondary);font-size:.875rem}.error-container{background-color:var(--color-error-bg);border:.0625rem solid var(--color-error-border);color:var(--color-error-text);padding:calc(var(--spacing-base) * .75);border-radius:var(--border-radius-sm);margin-bottom:var(--spacing-base);display:flex;align-items:center;gap:calc(var(--spacing-base) * .5);font-size:.875rem;line-height:1.4}.empty-state{text-align:center;padding:calc(var(--spacing-base) * 3);color:var(--color-text-secondary)}.empty-state p{margin:0;font-size:1rem}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(var(--spacing-base) * 4);gap:var(--spacing-base)}.loading-spinner{width:2.5rem;height:2.5rem;border:.25rem solid var(--color-border);border-top:.25rem solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--color-background)}.login-form{background:var(--color-surface);padding:calc(var(--spacing-base) * 3);border-radius:var(--border-radius);box-shadow:var(--shadow-lg);border:.0625rem solid var(--color-border);width:100%;max-width:25rem}.login-title{text-align:center;margin:0 0 calc(var(--spacing-base) * 2) 0;font-size:1.875rem;font-weight:600;color:var(--color-text)}.login-input{width:100%;padding:calc(var(--spacing-base) * .75);border:.0625rem solid var(--color-border);border-radius:var(--border-radius-sm);font-size:1rem;transition:all .2s ease;background:var(--color-surface)}.login-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 .1875rem var(--color-primary-alpha-10)}.login-input.error{border-color:var(--color-danger);box-shadow:0 0 0 .1875rem var(--color-danger-alpha-10)}.login-error{background-color:var(--color-error-bg);border:.0625rem solid var(--color-error-border);color:var(--color-error-text);padding:var(--spacing-base);border-radius:var(--border-radius-sm);margin-top:var(--spacing-base);font-size:.875rem;line-height:1.4;text-align:center}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(var(--spacing-base) * 4);color:var(--color-text-secondary)}.loading-spinner{width:2.5rem;height:2.5rem;border:.1875rem solid var(--color-border);border-top:.1875rem solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--spacing-base)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn{padding:calc(var(--spacing-base) * .75) calc(var(--spacing-base) * 1.5);border:none;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;white-space:nowrap;line-height:1.25;box-shadow:0 .0625rem .125rem #0000000d}.btn svg{width:1rem;height:1rem;flex-shrink:0}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn-primary{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));color:var(--color-white)}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--color-primary-light),var(--color-primary));transform:translateY(-.0625rem);box-shadow:0 .25rem .375rem -.0625rem #0000001a,0 .125rem .25rem -.125rem #0000001a}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:.0625rem solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-background);border-color:var(--color-primary);transform:translateY(-.0625rem);box-shadow:0 .25rem .375rem -.0625rem #0000001a,0 .125rem .25rem -.125rem #0000001a}.btn-danger{background:var(--color-danger);color:var(--color-white)}.btn-danger:hover:not(:disabled){background:var(--color-danger);transform:translateY(-.0625rem);box-shadow:0 .25rem .375rem -.0625rem #0000001a,0 .125rem .25rem -.125rem #0000001a}.card{background:var(--color-surface);border-radius:var(--border-radius);box-shadow:var(--shadow-md);padding:calc(var(--spacing-base) * 1.5);transition:all .2s ease;border:.0625rem solid var(--color-border)}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-.125rem)}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-base)}.card-content{color:var(--color-text-secondary)}.card-actions{display:flex;gap:calc(var(--spacing-base) * .5)}.header{background:var(--color-surface);border-bottom:.0625rem solid var(--color-border);box-shadow:0 .0625rem .1875rem #0000001a,0 .0625rem .125rem -.0625rem #0000001a;position:sticky;top:0;z-index:100;width:100vw;padding:1.25rem 3.125rem}.header-container{margin:0;padding:clamp(1rem,3vw,1.5rem) clamp(1rem,4vw,2rem)}.header-content{display:grid;grid-template-columns:1fr auto;gap:clamp(1rem,3vw,2rem);align-items:center}.header-left{display:flex;align-items:center;gap:clamp(.75rem,2vw,1rem);min-width:0}.header-title-section{min-width:0;flex:1;width:100%}.header-title{margin:0;font-size:clamp(1.25rem,4vw,1.75rem);font-weight:700;color:var(--color-text);letter-spacing:-.025em;line-height:1.2}.header-subtitle{margin:.25rem 0 0;font-size:clamp(.8rem,2.5vw,.875rem);font-weight:400;color:var(--color-text-secondary);opacity:.8;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-right{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.header-actions{display:flex;align-items:center;gap:.75rem}@media (max-width: 40rem){.header-content{grid-template-columns:1fr;gap:1rem}.header-right{justify-content:space-between}.header-actions{order:1}}.cv-analysis{width:100%;margin:0 auto;padding:calc(var(--spacing-base) * 2);overflow-y:auto;height:100%}.cv-analysis-content{display:flex;flex-direction:column;gap:calc(var(--spacing-base) * 3)}.analysis-scores{display:grid;grid-template-columns:repeat(auto-fit,minmax(12.5rem,1fr));gap:calc(var(--spacing-base) * 1.5)}.score-card{background:var(--color-surface);border-radius:var(--border-radius);box-shadow:var(--shadow-md);padding:calc(var(--spacing-base) * 2);text-align:center;border:.0625rem solid var(--color-border)}.score-card.overall{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));color:var(--color-white)}.score-card.technical{background:linear-gradient(135deg,var(--color-success),var(--color-success));color:var(--color-white)}.score-card.personal{background:linear-gradient(135deg,var(--color-warning),var(--color-warning));color:var(--color-white)}.score-card h3{margin:0 0 var(--spacing-base) 0;font-size:1rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.score-card .score-value{font-size:2.5rem;font-weight:700}.analysis-sections{display:grid;gap:calc(var(--spacing-base) * 3)}.analysis-section h3{margin:0 0 calc(var(--spacing-base) * 1.5) 0;font-size:1.5rem;font-weight:600;color:var(--color-text)}.evaluations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(21.875rem,1fr));gap:calc(var(--spacing-base) * 1.5)}.evaluation-card{background:var(--color-surface);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);padding:calc(var(--spacing-base) * 1.5);border:.0625rem solid var(--color-border)}.evaluation-card.qualified{border-left:.25rem solid var(--color-success)}.evaluation-card.partially-qualified{border-left:.25rem solid var(--color-warning)}.evaluation-card.not-qualified{border-left:.25rem solid var(--color-danger)}.evaluation-card.overqualified{border-left:.25rem solid var(--color-primary)}.evaluation-card.not-mentioned{border-left:.25rem solid var(--color-text-secondary)}.evaluation-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-base)}.evaluation-header h4{margin:0;font-size:1.125rem;font-weight:600;color:var(--color-text)}.qualification-badge{background:var(--color-border);color:var(--color-text-secondary);padding:.25rem .5rem;border-radius:var(--border-radius-sm);font-size:.875rem;font-weight:500}.evaluation-explanation{margin:0;color:var(--color-text-secondary);line-height:1.5}.interview-plan{display:grid;gap:calc(var(--spacing-base) * 1.5)}.question-card{background:var(--color-surface);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);padding:calc(var(--spacing-base) * 1.5);border:.0625rem solid var(--color-border)}.question-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-base)}.question-header h4{margin:0;font-size:1.125rem;font-weight:600;color:var(--color-text);flex:1}.question-time{padding:calc(var(--spacing-base) * .25) calc(var(--spacing-base) * .5);background:var(--color-primary);color:var(--color-white);border-radius:var(--border-radius-sm);font-size:.875rem;font-weight:500}.question-content p{margin:0 0 calc(var(--spacing-base) * .5) 0;color:var(--color-text);line-height:1.6}.question-content p:last-child{margin-bottom:0}.job-card{background:var(--color-surface);border-radius:1rem;border:.0625rem solid var(--color-border);overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 .0625rem .1875rem #0000001a,0 .0625rem .125rem -.0625rem #0000001a;position:relative}.job-card:before{content:"";position:absolute;top:0;left:0;right:0;height:.25rem;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-light))}.job-card:hover{transform:translateY(-.5rem);box-shadow:0 1.25rem 1.5625rem -.3125rem #0000001a,0 .5rem .625rem -.375rem #0000001a;border-color:var(--color-primary)}.job-card-header{padding:1.5rem 1.5rem 1rem;border-bottom:.0625rem solid var(--color-border);background:linear-gradient(135deg,var(--color-surface) 0%,var(--color-primary-alpha-02) 100%)}.job-card-header h3{margin:0 0 .5rem;font-size:clamp(1.125rem,2.5vw,1.375rem);font-weight:600;color:var(--color-text);line-height:1.3}.job-card-content{padding:1rem 1.5rem;display:grid;gap:.75rem;color:var(--color-text-secondary);font-size:.875rem;background:var(--color-surface)}.job-meta{display:flex;align-items:center;gap:.5rem;opacity:.8}.job-meta-icon{width:.875rem;height:.875rem;opacity:.6}.job-card-actions{padding:1rem 1.5rem 1.5rem;display:flex;gap:.75rem;background:var(--color-surface-alpha-50);border-top:.0625rem solid var(--color-border)}.job-created,.job-requirements{margin:0;display:flex;align-items:center;gap:.5rem}.cv-card{background:var(--color-surface);border:.0625rem solid var(--color-border);border-radius:var(--border-radius-sm);padding:var(--spacing-base);box-shadow:var(--shadow-sm);transition:all .2s ease;width:100%}.cv-card:hover{box-shadow:var(--shadow-md);transform:translateY(-.125rem)}.cv-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-base);gap:var(--spacing-base);width:100%}.cv-card-title{display:flex;flex-direction:column;gap:calc(var(--spacing-base) * .25);flex:1;min-width:0}.cv-card-title h4{font-size:1.125rem;font-weight:600;color:var(--color-text);margin:0 0 calc(var(--spacing-base) * .25) 0;flex:1}.cv-filename{color:var(--color-text-secondary);font-size:.875rem;display:block}.cv-card-actions{display:flex;gap:calc(var(--spacing-base) * .5);flex-shrink:0;align-items:flex-start}.cv-card-actions .btn{padding:calc(var(--spacing-base) * .5) var(--spacing-base);font-size:.875rem}.cv-card-content{display:flex;flex-direction:column;gap:var(--spacing-base)}.cv-meta{display:flex;justify-content:space-between;align-items:center;font-size:.875rem;color:var(--color-text-secondary)}.cv-date,.cv-duration{display:flex;align-items:center;gap:calc(var(--spacing-base) * .25)}.cv-scores{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(var(--spacing-base) * .5)}.score-item{display:flex;flex-direction:column;align-items:center;padding:calc(var(--spacing-base) * .75);border-radius:var(--border-radius-sm);background:var(--color-background);border:.0625rem solid var(--color-border)}.score-item.score-excellent{background:var(--color-success-bg);border-color:var(--color-success)}.score-item.score-good{background:var(--color-info-bg);border-color:var(--color-primary)}.score-item.score-average{background:var(--color-warning-bg);border-color:var(--color-warning)}.score-item.score-poor{background:var(--color-danger-bg);border-color:var(--color-danger)}.score-label{font-size:.75rem;font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.score-value{font-size:1.25rem;font-weight:600;color:var(--color-text);margin-top:calc(var(--spacing-base) * .25)}.job-detail{width:100%;margin:0 auto;padding:calc(var(--spacing-base) * 2);overflow-y:hidden;height:100%}.job-detail-content{display:grid;grid-template-columns:1fr 1fr;gap:calc(var(--spacing-base) * 2);min-height:0;flex:1;height:100%}.job-info-section{display:flex;flex-direction:column;height:100%}.job-info-section h3,.cvs-section h3{font-size:1.25rem;font-weight:600;color:var(--color-text);margin:0 0 var(--spacing-base) 0}.requirements-grid,.cvs-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(18.75rem,1fr));gap:var(--spacing-base);height:auto;overflow-y:auto;padding-right:var(--spacing-base);flex:1 1 0}.cvs-section{grid-template-columns:auto;gap:0}.requirement-card{background:var(--color-surface);border:.0625rem solid var(--color-border);border-radius:var(--border-radius-sm);padding:var(--spacing-base);box-shadow:var(--shadow-sm)}.requirement-card h4{font-size:1rem;font-weight:600;color:var(--color-text);margin:0 0 calc(var(--spacing-base) * .5) 0}.requirement-category{color:var(--color-primary);font-size:.875rem;font-weight:500;margin:0 0 calc(var(--spacing-base) * .5) 0}.requirement-importance{color:var(--color-text-secondary);font-size:.875rem;margin:0 0 calc(var(--spacing-base) * .5) 0}.requirement-description{color:var(--color-text);font-size:.875rem;line-height:1.5;margin:0}.cvs-header{display:flex;justify-content:space-between;padding-bottom:var(--spacing-base);max-height:5rem}.cvs-grid{display:flex;flex-direction:column;gap:var(--spacing-base);height:100%;overflow-y:auto;padding-right:var(--spacing-base)}.empty-state{text-align:center;padding:calc(var(--spacing-base) * 4);color:var(--color-text-secondary)}.empty-state h3{margin:0 0 var(--spacing-base) 0;font-size:1.5rem;font-weight:600;color:var(--color-text)}.empty-state p{margin:0;font-size:1.125rem}.job-manager{min-height:100%;padding:clamp(1rem,4vw,2.5rem);background:var(--color-background)}.job-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,21.875rem),1fr));gap:clamp(1rem,3vw,2rem);margin-top:2rem}@media (min-width: 48rem){.job-grid{grid-template-columns:repeat(auto-fit,minmax(25rem,1fr))}}@media (min-width: 75rem){.job-grid{grid-template-columns:repeat(3,1fr);max-width:87.5rem}}.job-manager-header{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:.0625rem solid var(--color-border)}.job-stats{display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap}.job-stats h2{margin:0;font-size:clamp(1.5rem,5vw,2.25rem);font-weight:700;color:var(--color-text);letter-spacing:-.025em}.job-count{padding:.25rem .75rem;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));color:var(--color-white);border-radius:2rem;font-size:.875rem;font-weight:500;text-transform:lowercase}.empty-state{display:grid;place-items:center;min-height:60vh;padding:2rem}.empty-state-content{text-align:center;max-width:25rem}.empty-state-icon{width:clamp(3rem,12vw,4.5rem);height:clamp(3rem,12vw,4.5rem);color:var(--color-text-secondary);opacity:.4;margin:0 auto 1.5rem}.empty-state h3{margin:0 0 .75rem;font-size:clamp(1.25rem,4vw,1.75rem);font-weight:600;color:var(--color-text);opacity:.8}.empty-state p{margin:0;font-size:clamp(1rem,3vw,1.125rem);color:var(--color-text-secondary);opacity:.7;line-height:1.5}.create-job-form{max-width:37.5rem;margin:0 auto;padding:calc(var(--spacing-base) * 2)}.add-cv-form{max-width:37.5rem;margin:0 auto;padding:calc(var(--spacing-base) * 2)}.form-header{display:flex;align-items:center;gap:var(--spacing-base);margin-bottom:calc(var(--spacing-base) * 2)}.form-header h2{margin:0;font-size:1.875rem;font-weight:600;color:var(--color-text)}.form{background:var(--color-surface);padding:calc(var(--spacing-base) * 2);border-radius:var(--border-radius);box-shadow:var(--shadow-md);border:.0625rem solid var(--color-border)}.form-group{margin-bottom:calc(var(--spacing-base) * 1.5)}.form-group label{display:block;margin-bottom:calc(var(--spacing-base) * .5);font-weight:500;color:var(--color-text)}.form-input{width:100%;padding:calc(var(--spacing-base) * .75);border:.0625rem solid var(--color-border);border-radius:var(--border-radius-sm);font-size:1rem;transition:all .2s ease;background:var(--color-surface)}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 .1875rem var(--color-primary-alpha-10)}.file-upload-area{position:relative;width:100%;border:.125rem dashed var(--color-border);border-radius:var(--border-radius-sm);padding:calc(var(--spacing-base) * 2);text-align:center;transition:all .2s ease;background:var(--color-background)}.file-upload-area:hover{border-color:var(--color-primary);background:var(--color-focus-alpha-05)}.file-upload-area.has-file{border:.125rem solid var(--color-primary);background:var(--color-primary-alpha-05)}.file-input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.file-upload-content{pointer-events:none}.file-icon{font-size:2rem;margin-bottom:var(--spacing-base);display:block}.file-upload-content p{margin:0 0 calc(var(--spacing-base) * .5) 0;color:var(--color-text);font-weight:500}.file-types{color:var(--color-text-secondary);font-size:.875rem;font-weight:400}.file-selected{color:var(--color-primary);font-weight:600}.file-size{color:var(--color-text-secondary);font-size:.875rem;font-weight:400}.clear-file-btn{background:none;border:.0625rem solid var(--color-primary);color:var(--color-primary);padding:calc(var(--spacing-base) * .5) calc(var(--spacing-base) * .75);border-radius:var(--border-radius-sm);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;margin-top:calc(var(--spacing-base) * .5);pointer-events:auto}.clear-file-btn:hover{background:var(--color-primary);color:#fff}.form-actions{display:flex;gap:var(--spacing-base);justify-content:flex-end;margin-top:calc(var(--spacing-base) * 2)}.error-container{background-color:var(--color-error-bg);border:.0625rem solid var(--color-error-border);color:var(--color-error-text);padding:var(--spacing-base);border-radius:var(--border-radius-sm);margin-bottom:var(--spacing-base);display:flex;align-items:center;gap:calc(var(--spacing-base) * .5);font-size:.875rem;line-height:1.4}
