*,:before,:after{box-sizing:border-box;margin:0;padding:0}.app{min-height:100vh;display:flex}.sidebar{background:var(--bg2);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:230px;padding:20px 12px;display:flex}.sidebar-logo{color:var(--text);align-items:center;gap:8px;margin-bottom:24px;font-size:17px;font-weight:800;text-decoration:none;display:flex}.sidebar-logo .ic{background:var(--g1);color:#fff;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;font-size:15px;display:flex}.sidebar-nav{flex-direction:column;flex:1;gap:2px;list-style:none;display:flex}.sidebar-nav li a{border-radius:var(--r);color:var(--text2);transition:all var(--tr);align-items:center;gap:10px;padding:9px 12px;font-size:13px;font-weight:500;text-decoration:none;display:flex}.sidebar-nav li a:hover{background:var(--bg3);color:var(--text)}.sidebar-nav li a.active{background:var(--bg3);color:var(--accent);border:1px solid var(--border)}.sidebar-nav li a .badge{color:var(--green);background:#07c1601f;border-radius:10px;margin-left:auto;padding:2px 7px;font-size:10px;font-weight:600}.sidebar-user{border-top:1px solid var(--border);color:var(--text2);align-items:center;gap:8px;padding-top:12px;font-size:12px;display:flex}.sidebar-user .av{background:var(--g1);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:flex}.sidebar-user .lg{cursor:pointer;transition:color var(--tr);margin-left:auto;font-size:15px}.sidebar-user .lg:hover{color:#ef4444}.main{flex:1;max-height:100vh;padding:28px;overflow-y:auto}.page{display:none}.page.active{display:block}.page-h{margin-bottom:24px}.page-h h1{margin-bottom:4px;font-size:22px;font-weight:800}.page-h p{color:var(--text2);font-size:13px}.auth-page{z-index:1000;background:var(--bg);justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.auth-card{background:var(--bg2);border:1px solid var(--border);width:400px;box-shadow:var(--shadow);border-radius:16px;padding:36px}.auth-card .lg{text-align:center;margin-bottom:24px}.auth-card .lg h2{margin-top:6px;font-size:20px;font-weight:800}.auth-card .lg p{color:var(--text2);font-size:12px}.auth-tabs{border-radius:var(--r);background:var(--bg3);margin-bottom:20px;padding:3px;display:flex}.auth-tabs button{color:var(--text2);cursor:pointer;transition:all var(--tr);background:0 0;border:none;border-radius:8px;flex:1;padding:7px;font-size:13px;font-weight:600}.auth-tabs button.active{background:var(--bg2);color:var(--text);box-shadow:0 2px 6px #00000014}.fg{margin-bottom:14px}.fg label{color:var(--text2);margin-bottom:4px;font-size:12px;font-weight:600;display:block}.fg input,.fg select{background:var(--bg3);border:1px solid var(--border);width:100%;color:var(--text);border-radius:8px;outline:none;padding:10px 12px;font-size:13px}.fg input:focus,.fg select:focus{border-color:var(--accent)}.fg select option{background:var(--bg2);color:var(--text)}.fb{background:var(--g2);color:#fff;cursor:pointer;width:100%;transition:all var(--tr);border:none;border-radius:8px;padding:11px;font-size:14px;font-weight:600}.fb:hover{opacity:.9;transform:translateY(-1px)}.f-er{color:#ef4444;margin-top:6px;font-size:12px;display:none}.f-su{color:#22c55e;margin-top:6px;font-size:12px;display:none}.form-row{gap:10px;display:flex}.form-row .fg{flex:1}.stats{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;display:grid}.s-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);transition:all var(--tr);padding:16px}.s-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.s-card .n{font-size:24px;font-weight:800}.s-card .l{color:var(--text2);margin-top:2px;font-size:12px}.s-card .s{color:var(--text3);margin-top:4px;font-size:11px}.lic-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);margin-bottom:20px;padding:20px}.lic-card .st{border-radius:20px;align-items:center;gap:5px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.lic-card .st.on{color:var(--green);background:#07c1601f}.lic-card .st.off{color:#ef4444;background:#ef44441f}.lic-card h3{margin:10px 0 4px;font-size:15px}.lic-card p{color:var(--text2);font-size:12px}.act-form{gap:10px;margin-top:10px;display:flex}.act-form input{background:var(--bg3);border:1px solid var(--border);color:var(--text);text-transform:uppercase;letter-spacing:.5px;border-radius:8px;outline:none;flex:1;padding:9px 12px;font-size:13px}.act-form input:focus{border-color:var(--accent)}.act-form button{background:linear-gradient(135deg,var(--green),#06ad56);color:#fff;cursor:pointer;transition:all var(--tr);border:none;border-radius:8px;padding:9px 20px;font-size:13px;font-weight:600}.act-form button:hover{opacity:.9}.chat{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);flex-direction:column;min-height:450px;display:flex;overflow:hidden}.chat-h{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.chat-h h3{font-size:14px;font-weight:600}.chat-h .tag{color:#818cf8;background:#667eea1f;border-radius:12px;padding:2px 8px;font-size:10px}.chat-msgs{flex-direction:column;flex:1;gap:12px;max-height:500px;padding:16px 18px;display:flex;overflow-y:auto}.chat-msg{white-space:pre-wrap;border-radius:10px;max-width:85%;padding:10px 14px;font-size:13px;line-height:1.7}.chat-msg.ai{background:var(--bg3);border:1px solid var(--border);border-bottom-left-radius:3px;align-self:flex-start}.chat-msg.user{background:var(--g1);color:#fff;border-bottom-right-radius:3px;align-self:flex-end}.chat-in{border-top:1px solid var(--border);gap:10px;padding:14px 18px;display:flex}.chat-in input{background:var(--bg3);border:1px solid var(--border);color:var(--text);border-radius:8px;outline:none;flex:1;padding:9px 12px;font-size:13px}.chat-in input:focus{border-color:var(--accent)}.chat-in button{background:var(--g2);color:#fff;cursor:pointer;transition:all var(--tr);border:none;border-radius:8px;padding:9px 18px;font-size:13px;font-weight:600}.chat-in button:disabled{opacity:.4;cursor:not-allowed}.chat-in button:not(:disabled):hover{opacity:.9}.role-grid{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.role-chip{background:var(--bg3);border:1px solid var(--border);cursor:pointer;transition:all var(--tr);color:var(--text2);border-radius:16px;padding:5px 12px;font-size:12px}.role-chip:hover{border-color:var(--accent);color:var(--text)}.role-chip.active{border-color:var(--accent);color:var(--accent);background:#f59e0b1f}.chat-msg.ai h1{margin:8px 0 4px;font-size:16px}.chat-msg.ai h2{margin:6px 0 3px;font-size:14px}.chat-msg.ai h3{margin:5px 0 2px;font-size:13px}.chat-msg.ai strong{color:var(--accent)}.chat-msg.ai ul,.chat-msg.ai ol{margin:4px 0;padding-left:18px}.chat-msg.ai li{margin:2px 0}.chat-msg.ai hr{border:none;border-top:1px solid var(--border);margin:8px 0}.chat-msg.ai code{background:var(--bg2);border-radius:3px;padding:1px 5px;font-size:12px}.profile-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.profile-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);padding:20px}.profile-card h3{align-items:center;gap:6px;margin-bottom:12px;font-size:14px;font-weight:700;display:flex}.skills-tags{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.skill-tag{background:var(--bg3);border:1px solid var(--border);color:var(--text2);cursor:pointer;transition:all var(--tr);border-radius:12px;padding:3px 10px;font-size:11px}.skill-tag:hover{border-color:var(--accent)}.skill-tag.active{color:#818cf8;background:#667eea1f;border-color:#818cf8}.btn-save{background:var(--g1);color:#fff;cursor:pointer;transition:all var(--tr);border:none;border-radius:8px;margin-top:12px;padding:8px 24px;font-size:13px;font-weight:600}.btn-save:hover{opacity:.9}.ready-badge{border-radius:20px;align-items:center;gap:5px;padding:6px 14px;font-size:12px;font-weight:600;display:inline-flex}.ready-badge.yes{color:var(--green);background:#07c1601f;border:1px solid #07c1604d}.ready-badge.no{color:var(--accent);background:#f59e0b1f;border:1px solid #f59e0b4d}.loading-dots:after{content:"";animation:1.5s infinite dots}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}to{content:""}}@media (max-width:768px){.sidebar{width:56px;padding:12px 6px}.sidebar-logo span,.sidebar-nav li a span,.sidebar-user .info{display:none}.sidebar-nav li a{justify-content:center;padding:8px}.sidebar-user{justify-content:center}.main{padding:16px}.stats{grid-template-columns:1fr 1fr}.profile-grid{grid-template-columns:1fr}.form-row{flex-direction:column}.auth-card{width:92%}.chat-msg{max-width:92%}}.loading-bar{z-index:9999;background:var(--gradient-2);pointer-events:none;width:0;height:2px;transition:width .3s;position:fixed;top:0;left:0}.loading-bar.active{width:60%}.loading-bar.done{opacity:0;width:100%;transition:width .2s,opacity .3s .2s}.toast-container{z-index:9998;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;top:16px;right:16px}.toast{border-radius:var(--r);color:#fff;pointer-events:auto;max-width:360px;box-shadow:var(--shadow);padding:10px 18px;font-size:13px;font-weight:500;animation:.3s forwards toastIn}.toast.error{background:linear-gradient(135deg,#ef4444,#dc2626)}.toast.success{background:linear-gradient(135deg,#22c55e,#16a34a)}.toast.info{background:linear-gradient(135deg,#6366f1,#4f46e5)}@keyframes toastIn{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes toastOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(40px)}}.skeleton{background:var(--bg3);border-radius:6px;animation:1.5s infinite skeleton-pulse}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}.skeleton-text{width:100%;height:14px;margin-bottom:8px}.skeleton-text-sm{width:60%;height:10px;margin-bottom:6px}.skeleton-block{width:100%;height:80px;margin-bottom:12px}.skeleton-card{border-radius:var(--r);width:100%;height:120px;margin-bottom:12px}
