:root{--bg: #0b0e1a;--bg-grad: radial-gradient(1200px 600px at 100% -10%, #151a30 0%, transparent 60%), radial-gradient(900px 500px at -10% 0%, #121530 0%, transparent 55%);--surface: #121627;--surface-2: #171c30;--surface-3: #1d2339;--border: #272d46;--border-strong: #353d5c;--text: #e9ebf6;--muted: #9aa0c0;--faint: #6b7196;--accent: #6d74f4;--accent-hover: #878dff;--accent-soft: rgba(109, 116, 244, .14);--accent-ring: rgba(109, 116, 244, .4);--success: #2fbf6e;--success-soft: rgba(47, 191, 110, .14);--warning: #e0982b;--warning-soft: rgba(224, 152, 43, .15);--danger: #ef5350;--danger-soft: rgba(239, 83, 80, .14);--info: #4aa3ff;--info-soft: rgba(74, 163, 255, .14);--score-strong: #2fbf6e;--score-partial: #e0982b;--score-gap: #ef5350;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--sp-8: 64px;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-pill: 999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 8px 24px rgba(0, 0, 0, .35);--shadow-lg: 0 18px 50px rgba(0, 0, 0, .5);--font: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--fs-xs: 12px;--fs-sm: 13px;--fs-md: 14px;--fs-lg: 16px;--fs-xl: 20px;--fs-2xl: 26px;--sidebar-w: 248px;--topbar-h: 60px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font);font-size:var(--fs-md);line-height:1.5;background:var(--bg);background-image:var(--bg-grad);background-attachment:fixed;color:var(--text);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.01em}h2{font-size:var(--fs-2xl)}h3{font-size:var(--fs-lg)}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}p{margin:0 0 var(--sp-3)}::selection{background:var(--accent-soft)}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--r-pill);border:2px solid transparent;background-clip:padding-box}.muted{color:var(--muted)}.faint{color:var(--faint)}.mono{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.center{min-height:100vh;display:grid;place-content:center;gap:var(--sp-3);text-align:center;padding:var(--sp-4)}.app{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh}.sidebar{position:sticky;top:0;align-self:start;height:100vh;display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-5) var(--sp-3);background:linear-gradient(180deg,#171c30bf,#0f1221bf);border-right:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overflow-y:auto}.brand{display:flex;align-items:center;gap:var(--sp-3);padding:0 var(--sp-3) var(--sp-4)}.brand-mark{display:grid;place-content:center;width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--accent),#9b6cff);color:#fff;box-shadow:var(--shadow-md)}.brand-name{font-weight:700;font-size:var(--fs-lg);letter-spacing:-.02em}.brand-sub{font-size:11px;color:var(--faint);letter-spacing:.08em;text-transform:uppercase}.nav-group{margin-top:var(--sp-3)}.nav-group>.nav-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);padding:var(--sp-2) var(--sp-3) var(--sp-1)}.nav-link{display:flex;align-items:center;gap:var(--sp-3);padding:9px var(--sp-3);margin:2px 0;border-radius:var(--r-sm);color:var(--muted);font-weight:500;font-size:var(--fs-md);transition:background .15s,color .15s}.nav-link:hover{background:var(--surface-2);color:var(--text)}.nav-link.active{background:var(--accent-soft);color:var(--accent-hover)}.nav-link.active svg{color:var(--accent-hover)}.nav-link svg{width:18px;height:18px;flex:none}.main{display:flex;flex-direction:column;min-width:0}.topbar{position:sticky;top:0;z-index:20;height:var(--topbar-h);display:flex;align-items:center;gap:var(--sp-3);padding:0 var(--sp-6);border-bottom:1px solid var(--border);background:#0b0e1ab3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.topbar .title{font-weight:600;font-size:var(--fs-lg)}.topbar .spacer{flex:1}.user-chip{display:flex;align-items:center;gap:var(--sp-2);padding:5px 5px 5px var(--sp-3);border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);font-size:var(--fs-sm);color:var(--muted)}.avatar{display:grid;place-content:center;width:26px;height:26px;border-radius:50%;background:var(--accent-soft);color:var(--accent-hover);font-weight:600;font-size:var(--fs-xs)}.hamburger{display:none}.content{padding:var(--sp-6);max-width:1180px;width:100%;margin:0 auto}.page-header{display:flex;align-items:flex-start;gap:var(--sp-4);margin-bottom:var(--sp-5)}.page-header .ph-text{flex:1;min-width:0}.page-header h2{margin-bottom:4px}.page-header .ph-sub{color:var(--muted);font-size:var(--fs-md);margin:0}.page-header .ph-actions{display:flex;gap:var(--sp-2);flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:9px 15px;border:1px solid transparent;border-radius:var(--r-sm);background:var(--accent);color:#fff;font:inherit;font-weight:600;font-size:var(--fs-md);cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,opacity .15s,transform .05s}.btn:hover{background:var(--accent-hover)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn svg{width:16px;height:16px}.btn-secondary{background:var(--surface-2);color:var(--text);border-color:var(--border-strong)}.btn-secondary:hover{background:var(--surface-3)}.btn-ghost{background:transparent;color:var(--muted);border-color:transparent}.btn-ghost:hover{background:var(--surface-2);color:var(--text)}.btn-danger{background:var(--danger)}.btn-danger:hover{background:#ff6b67}.btn-sm{padding:6px 10px;font-size:var(--fs-sm)}.btn-block{width:100%}.field{display:flex;flex-direction:column;gap:6px;margin:0 0 var(--sp-3)}.field>.label,.label{font-size:var(--fs-sm);font-weight:500;color:var(--muted)}.field .hint{font-size:var(--fs-xs);color:var(--faint)}.input,.select,.textarea,input[type=text],input[type=number],input[type=email],input[type=password],input:not([type]),select,textarea{width:100%;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--r-sm);padding:9px 11px;font:inherit;font-size:var(--fs-md);transition:border-color .15s,box-shadow .15s}.input:focus,.select:focus,.textarea:focus,input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}textarea,.textarea{resize:vertical;min-height:80px}.select,select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239aa0c0' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:30px}.checkbox{display:inline-flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-md);color:var(--text);cursor:pointer}.checkbox input{width:16px;height:16px;accent-color:var(--accent)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-3) var(--sp-4)}.form-grid.cols-1{grid-template-columns:1fr}.inline-controls{display:flex;align-items:flex-end;gap:var(--sp-3);flex-wrap:wrap}.inline-controls .field{margin:0}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--sp-4)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-5);box-shadow:var(--shadow-sm)}.card+.card,.card+.cards,.cards+.card,.card+.table-wrap{margin-top:var(--sp-4)}.card-head{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4)}.card-head .ch-text{flex:1;min-width:0}.card-title{font-size:var(--fs-lg);font-weight:600}.card-sub{font-size:var(--fs-sm);color:var(--muted)}.card.drop{border-style:dashed;border-color:var(--border-strong);cursor:pointer;text-align:center;transition:border-color .15s,background .15s}.card.drop:hover{border-color:var(--accent);background:var(--accent-soft)}.dropzone-icon{color:var(--accent-hover);margin-bottom:var(--sp-2)}.table-wrap{border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;background:var(--surface)}table{width:100%;border-collapse:collapse}thead th{background:var(--surface-2);color:var(--muted);font-weight:600;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em}th,td{text-align:left;padding:12px var(--sp-4);border-bottom:1px solid var(--border)}tbody tr{transition:background .12s}tbody tr:hover{background:var(--surface-2)}tbody tr:last-child td{border-bottom:0}.cell-strong{font-weight:600;color:var(--text)}.cell-sub{font-size:var(--fs-xs);color:var(--faint)}.empty{text-align:center;color:var(--muted);padding:var(--sp-7) var(--sp-4)}.empty-icon{color:var(--faint);margin-bottom:var(--sp-2)}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:600;border:1px solid transparent}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge-neutral{background:var(--surface-3);color:var(--muted)}.badge-info{background:var(--info-soft);color:var(--info)}.badge-success{background:var(--success-soft);color:var(--success)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.pill{min-width:36px;text-align:center;font-weight:700;padding:3px 11px;border-radius:var(--r-pill);color:#fff;font-variant-numeric:tabular-nums}.pill.strong{background:var(--score-strong)}.pill.partial{background:var(--score-partial)}.pill.gap{background:var(--score-gap)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--sp-4);margin-bottom:var(--sp-5)}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-4) var(--sp-5);box-shadow:var(--shadow-sm)}.stat .stat-label{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--muted)}.stat .stat-label svg{width:16px;height:16px;color:var(--accent-hover)}.stat .stat-value{font-size:var(--fs-2xl);font-weight:700;letter-spacing:-.02em;margin-top:6px;font-variant-numeric:tabular-nums}.stat .stat-delta{font-size:var(--fs-xs);color:var(--faint);margin-top:2px}.status{display:flex;align-items:center;gap:var(--sp-2);padding:10px var(--sp-4);border-radius:var(--r-sm);background:var(--accent-soft);color:var(--accent-hover);font-size:var(--fs-sm);margin:var(--sp-3) 0}.status.status-err{background:var(--danger-soft);color:var(--danger)}.status.status-ok{background:var(--success-soft);color:var(--success)}.err{color:var(--danger)}.spinner{width:18px;height:18px;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;display:inline-block}.loading-block{display:flex;align-items:center;gap:var(--sp-3);color:var(--muted);padding:var(--sp-6);justify-content:center}@keyframes spin{to{transform:rotate(360deg)}}.meta{display:grid;grid-template-columns:170px 1fr;gap:var(--sp-2) var(--sp-4);margin:0}.meta dt{color:var(--muted);font-size:var(--fs-sm)}.meta dd{margin:0}.transcript{display:flex;flex-direction:column;gap:var(--sp-2)}.turn{display:flex;gap:var(--sp-3);padding:10px 14px;border-radius:var(--r-md);background:var(--surface-2)}.turn.user{background:var(--accent-soft)}.turn .who{color:var(--muted);min-width:60px;text-transform:capitalize;font-size:var(--fs-sm);font-weight:600}.match-head{display:flex;align-items:center;gap:var(--sp-5);justify-content:space-between;flex-wrap:wrap}.match-controls{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;margin:var(--sp-4) 0}.match-summary{color:var(--muted)}.gauge{position:relative;display:grid;place-content:center;text-align:center;flex:none;width:118px;height:118px}.gauge svg{position:absolute;top:0;right:0;bottom:0;left:0;transform:rotate(-90deg)}.gauge-num{font-size:32px;font-weight:700;line-height:1}.gauge-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.match-map{display:flex;flex-direction:column;gap:var(--sp-2);margin:var(--sp-4) 0}.mreq{display:grid;grid-template-columns:1.2fr 1.1fr 1.4fr;gap:var(--sp-4);align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:12px var(--sp-4)}.mreq-left{display:flex;align-items:center;gap:var(--sp-2)}.meter{position:relative;background:var(--surface-3);border-radius:var(--r-pill);height:22px;overflow:hidden}.meter .bar{height:100%;border-radius:var(--r-pill);min-width:6px;transition:width .4s ease}.bar.strong{background:var(--score-strong)}.bar.partial{background:var(--score-partial)}.bar.gap{background:var(--score-gap)}.meter-score{position:absolute;right:10px;top:0;line-height:22px;font-size:var(--fs-xs);font-weight:700;color:#fff}.mreq-right .matched{font-size:var(--fs-sm)}.mreq-right .evidence{color:var(--muted);font-size:var(--fs-xs);font-style:italic;margin-top:2px}.wchip{font-size:10px;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:var(--r-pill);color:#fff;font-weight:600}.wchip.high{background:var(--danger)}.wchip.medium{background:var(--warning)}.wchip.low{background:var(--surface-3);color:var(--muted)}ul.good,ul.bad{margin:0;padding-left:18px}ul.good li{color:#8fe6b4}ul.bad li{color:#f6a9a7}.resume-text{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-4);max-height:340px;overflow:auto;white-space:pre-wrap;font-size:var(--fs-xs);color:var(--muted)}.result{padding:var(--sp-4) var(--sp-5)}.result+.result{margin-top:var(--sp-3)}.result-head{display:flex;align-items:center;gap:var(--sp-3)}.result-head .rank{font-weight:700;color:var(--faint);min-width:34px;font-variant-numeric:tabular-nums}.bars{display:flex;flex-direction:column;gap:var(--sp-3)}.bars-row{display:grid;grid-template-columns:150px 1fr auto;align-items:center;gap:var(--sp-3);font-size:var(--fs-sm)}.bars-track{background:var(--surface-3);border-radius:var(--r-pill);height:12px;overflow:hidden}.bars-fill{height:100%;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--accent),#9b6cff);transition:width .4s ease}.bars-val{font-variant-numeric:tabular-nums;color:var(--muted);min-width:70px;text-align:right}.invoice-total{display:flex;align-items:baseline;justify-content:space-between;padding:var(--sp-4) var(--sp-5);border-radius:var(--r-md);background:linear-gradient(135deg,var(--accent-soft),transparent);border:1px solid var(--border-strong)}.invoice-total .amount{font-size:var(--fs-2xl);font-weight:700;font-variant-numeric:tabular-nums}.login-card{max-width:380px;width:100%;padding:var(--sp-7) var(--sp-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);text-align:center}.login-card .brand-mark{margin:0 auto var(--sp-4);width:48px;height:48px}.row{display:flex;align-items:center;gap:var(--sp-3)}.wrap{flex-wrap:wrap}.spacer{flex:1}.stack{display:flex;flex-direction:column;gap:var(--sp-4)}.section-title{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--faint);margin:var(--sp-5) 0 var(--sp-3)}@media (max-width: 920px){.app{grid-template-columns:1fr}.sidebar{position:fixed;z-index:40;left:0;top:0;width:var(--sidebar-w);transform:translate(-100%);transition:transform .2s ease}.sidebar.open{transform:translate(0);box-shadow:var(--shadow-lg)}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#00000080}.hamburger{display:inline-flex}.content{padding:var(--sp-4)}.topbar{padding:0 var(--sp-4)}}@media (max-width: 680px){.mreq{grid-template-columns:1fr;gap:var(--sp-2)}.form-grid{grid-template-columns:1fr}.bars-row{grid-template-columns:110px 1fr}.bars-val{display:none}}
