.field{flex-direction:column}.field,.field>label{display:flex;gap:6px}.field>label{font-size:12.5px;font-weight:600;color:var(--ink-1);align-items:center}.field>label .req{color:var(--crit)}.field .opt{font-weight:500}.field .hint,.field .opt{color:var(--ink-3);font-size:11.5px}.field .msg{font-size:11.5px;display:flex;align-items:center;gap:5px}.field .msg svg{width:13px;height:13px}.field .msg.err{color:var(--crit-ink)}.field .msg.ok{color:var(--ok-ink)}.input{height:40px;width:100%;border:1px solid var(--border-strong);border-radius:10px;padding:0 13px;font-size:13px;font-family:inherit;background:#fff;color:var(--ink-1);transition:border-color .12s,box-shadow .12s}.input::placeholder{color:var(--ink-4)}.input.is-focus,.input:focus{outline:none;border-color:var(--brand-blue);box-shadow:0 0 0 3px rgba(31,79,216,.16)}.input.is-error{border-color:var(--crit)}.input.is-error.is-focus,.input.is-error:focus{box-shadow:0 0 0 3px rgba(229,72,77,.16)}.input.is-success{border-color:var(--ok)}.input.is-success.is-focus{box-shadow:0 0 0 3px rgba(31,157,107,.16)}.input.is-disabled,.input:disabled{background:var(--bg-deep);color:var(--ink-3);cursor:not-allowed;border-color:var(--border)}textarea.input{height:auto;min-height:92px;padding:11px 13px;resize:vertical;line-height:1.5}.input-wrap{position:relative;display:flex;align-items:center}.input-wrap>svg{position:absolute;left:12px;width:16px;height:16px;color:var(--ink-3);pointer-events:none}.input-wrap .input{padding-left:38px}.input-wrap .affix{position:absolute;right:12px;width:16px;height:16px}.input-wrap .affix.ok{color:var(--ok)}.input-wrap .affix.err{color:var(--crit)}.input-wrap.has-affix .input{padding-right:38px}.select{position:relative}.select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:40px;width:100%;border:1px solid var(--border-strong);border-radius:10px;padding:0 38px 0 13px;font-size:13px;font-family:inherit;background:#fff;color:var(--ink-1);cursor:pointer}.select select:focus{outline:none;border-color:var(--brand-blue);box-shadow:0 0 0 3px rgba(31,79,216,.16)}.select .chev{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--ink-3);pointer-events:none}.multi{display:flex;flex-wrap:wrap;border:1px solid var(--border-strong);border-radius:10px;padding:7px 10px;min-height:40px;background:#fff}.multi,.token{gap:6px;align-items:center}.token{display:inline-flex;height:24px;padding:0 6px 0 10px;border-radius:7px;background:var(--brand-grad-soft);color:var(--brand-blue-deep);font-size:12px;font-weight:600}.token .x{display:grid;place-items:center;width:16px;height:16px;border-radius:5px;color:var(--brand-blue-deep)}.token .x:hover{background:rgba(31,79,216,.14)}.check,.radio{display:inline-flex;align-items:center;gap:9px;font-size:13px;color:var(--ink-1);cursor:pointer}.check input,.radio input{position:absolute;opacity:0}.check .box{width:18px;height:18px;border-radius:6px;border:1.5px solid var(--border-strong);display:grid;place-items:center;color:#fff;background:#fff;transition:.12s}.check input:checked+.box{background:var(--brand-blue);border-color:var(--brand-blue)}.check .box svg{width:12px;height:12px;opacity:0}.check input:checked+.box svg{opacity:1}.radio .dot{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--border-strong);display:grid;place-items:center;background:#fff}.radio .dot:after{content:"";width:9px;height:9px;border-radius:50%;background:var(--brand-blue);transform:scale(0);transition:.12s}.radio input:checked+.dot{border-color:var(--brand-blue)}.radio input:checked+.dot:after{transform:scale(1)}.check.is-disabled,.radio.is-disabled{opacity:.5;cursor:not-allowed}.switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:13px}.switch input{position:absolute;opacity:0}.switch .track{width:40px;height:23px;border-radius:999px;background:var(--border-strong);position:relative;transition:.16s}.switch .track:after{content:"";position:absolute;top:2px;left:2px;width:19px;height:19px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:.16s}.switch input:checked+.track{background:var(--brand-blue)}.switch input:checked+.track:after{transform:translateX(17px)}.switch.is-disabled{opacity:.5;cursor:not-allowed}.prof-hero{display:flex;gap:18px;align-items:center;padding:20px 22px;border-radius:16px;border:1px solid var(--border);background:linear-gradient(120deg,rgba(17,82,212,.06),rgba(147,51,234,.06));box-shadow:var(--sh-sm)}.prof-ava{flex:none;width:68px;height:68px;border-radius:20px;display:grid;place-items:center;color:#fff;font-size:23px;font-weight:800;letter-spacing:.01em;box-shadow:var(--sh-md)}.prof-hero-main{min-width:0;flex:1 1}.prof-hero-name{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:19px;font-weight:800;letter-spacing:-.01em;color:var(--ink-1)}.prof-hero-name .badge{font-weight:700}.prof-hero-mail{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--ink-2);margin-top:4px}.prof-hero-mail svg{color:var(--ink-3);flex:none}.prof-hero-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.prof-chip{display:inline-flex;align-items:center;gap:7px;height:30px;max-width:100%;padding:0 12px;border-radius:999px;background:var(--surface);border:1px solid var(--border);font-size:12.5px;font-weight:600;color:var(--ink-1);white-space:nowrap;overflow:hidden}.prof-chip svg{color:var(--ink-3);flex:none}.prof-chip .k{color:var(--ink-3);font-weight:500}.lang-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));grid-gap:10px;gap:10px}.lang-opt{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border-strong);border-radius:12px;background:#fff;cursor:pointer;text-align:left;transition:border-color .14s,background .14s,box-shadow .14s}.lang-opt:hover{border-color:var(--brand-blue);background:var(--surface-2)}.lang-opt.active{border-color:var(--brand-blue);background:var(--brand-grad-soft);box-shadow:0 0 0 3px rgba(31,79,216,.12)}.lang-opt .code{flex:none;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font-size:12px;font-weight:800;letter-spacing:.02em;background:var(--bg-deep);color:var(--ink-2)}.lang-opt.active .code{background:var(--brand-blue);color:#fff}.lang-opt .lg-main{flex:1 1;min-width:0;display:flex;flex-direction:column}.lang-opt .lg-name{font-size:13.5px;font-weight:700;color:var(--ink-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lang-opt .lg-sub{font-size:11.5px;color:var(--ink-3)}.lang-opt .lg-check{flex:none;color:var(--brand-blue);display:inline-flex}.save-bar{justify-content:space-between;gap:12px;padding:13px 18px;border-top:1px solid var(--border);background:var(--surface-2);border-radius:0 0 var(--r-md) var(--r-md);animation:savebar-in .18s ease}.save-bar,.save-bar-note{display:flex;align-items:center}.save-bar-note{gap:8px;font-size:12.5px;font-weight:600;color:var(--ink-2);min-width:0}.save-bar-note svg{color:var(--ink-3);flex:none}.save-bar-note .dot{width:7px;height:7px;border-radius:50%;background:var(--med);box-shadow:0 0 0 3px var(--med-bg);flex:none}@keyframes savebar-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.notif-channel{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--surface)}.notif-head{display:flex;align-items:center;gap:12px;padding:13px 14px}.notif-ic{flex:none;width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:var(--brand-grad-soft);color:var(--brand-blue-deep)}.notif-title{font-size:13.5px;font-weight:700;color:var(--ink-1)}.notif-desc{font-size:11.5px;color:var(--ink-3);margin-top:1px;line-height:1.4}.notif-items{border-top:1px solid var(--border);background:var(--surface-2);padding:4px 14px 4px 60px;transition:opacity .15s}.notif-items.is-off{opacity:.5}.notif-row{display:flex;align-items:center;gap:12px;padding:11px 0}.notif-row+.notif-row{border-top:1px solid var(--border)}.notif-row-label{font-size:12.5px;font-weight:600;color:var(--ink-1)}.pw-eye{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--ink-3);display:grid;place-items:center;width:24px;height:24px;border-radius:7px}.pw-eye:hover{color:var(--ink-1);background:var(--bg)}.input-wrap.has-affix .input{padding-right:40px}.input-wrap.no-lead .input{padding-left:13px}.pw-reqs{border:1px solid var(--border);border-radius:10px;padding:12px 14px;background:var(--surface-2)}.pw-reqs-title{font-size:11.5px;font-weight:700;color:var(--ink-2);margin-bottom:9px}.pw-reqs-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px 16px;gap:8px 16px}.pw-req{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--ink-3)}.pw-req.ok{color:var(--ok-ink)}.pw-req-ic{flex:none;width:16px;height:16px;border-radius:50%;display:grid;place-items:center;background:var(--bg-deep);color:var(--ink-4)}.pw-req.ok .pw-req-ic{background:var(--ok-bg);color:var(--ok-ink)}.pw-req-dot{width:5px;height:5px;border-radius:50%;background:currentColor}.alert{display:flex;gap:12px;padding:13px 15px;border-radius:12px;border:1px solid;font-size:13px;align-items:flex-start}.alert .ai{flex:none;width:20px;height:20px;margin-top:1px}.alert .ac .at{font-weight:700;margin-bottom:2px}.alert .ac .ax{color:var(--ink-2);line-height:1.5}.alert .close{margin-left:auto;color:var(--ink-3);flex:none}.alert.success{background:var(--ok-bg);border-color:rgba(31,157,107,.28)}.alert.success .ai,.alert.success .at{color:var(--ok-ink)}.alert.error{background:var(--crit-bg);border-color:rgba(229,72,77,.28)}.alert.error .ai,.alert.error .at{color:var(--crit-ink)}.alert.warn{background:var(--med-bg);border-color:rgba(230,177,46,.32)}.alert.warn .ai,.alert.warn .at{color:var(--med-ink)}.alert.info{background:var(--low-bg);border-color:rgba(62,120,224,.28)}.alert.info .ai,.alert.info .at{color:var(--low-ink)}.toast{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--border);border-left:3px solid;border-radius:12px;box-shadow:var(--sh-lg);padding:13px 14px;width:350px;position:relative;overflow:hidden}.toast .ti{flex:none;width:32px;height:32px;border-radius:9px;display:grid;place-items:center}.toast .ti svg{width:17px;height:17px}.toast .tc{flex:1 1;min-width:0}.toast .tt{font-weight:700;font-size:13px}.toast .tx{font-size:12px;color:var(--ink-2);margin-top:2px;line-height:1.45}.toast .tclose{color:var(--ink-4);flex:none}.toast .tbar{position:absolute;bottom:0;left:0;height:3px}.toast.success{border-left-color:var(--ok)}.toast.success .ti{background:var(--ok-bg);color:var(--ok-ink)}.toast.success .tbar{background:var(--ok)}.toast.error{border-left-color:var(--crit)}.toast.error .ti{background:var(--crit-bg);color:var(--crit-ink)}.toast.error .tbar{background:var(--crit)}.toast.warn{border-left-color:var(--med)}.toast.warn .ti{background:var(--med-bg);color:var(--med-ink)}.toast.warn .tbar{background:var(--med)}.toast.info{border-left-color:var(--low)}.toast.info .ti{background:var(--low-bg);color:var(--low-ink)}.toast.info .tbar{background:var(--low)}.modal-stage{position:relative;background:rgba(20,23,42,.42);border-radius:16px;padding:40px;display:grid;place-items:center;min-height:320px;overflow:hidden}.modal-stage:before{content:"";position:absolute;inset:0;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{position:relative;width:440px;max-width:100%;background:#fff;border-radius:18px;box-shadow:var(--sh-lg);overflow:hidden}.modal-h{display:flex;align-items:flex-start;gap:14px;padding:20px 20px 0}.modal-h .mi{flex:none;width:42px;height:42px;border-radius:12px;display:grid;place-items:center}.modal-h .mt{font-size:16px;font-weight:800;letter-spacing:-.01em}.modal-h .ms{font-size:12.5px;color:var(--ink-2);margin-top:3px;line-height:1.5}.modal-h .mx{margin-left:auto;color:var(--ink-3)}.modal-b{padding:16px 20px 4px}.modal-f{display:flex;gap:10px;justify-content:flex-end;padding:18px 20px;margin-top:14px;border-top:1px solid var(--border);background:var(--surface-2)}.menu{background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--sh-lg);padding:6px;width:210px}.menu-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);font-weight:700;padding:7px 9px 4px}.menu-item{display:flex;align-items:center;gap:10px;padding:9px;border-radius:8px;font-size:13px;color:var(--ink-1);cursor:pointer}.menu-item svg{width:16px;height:16px;color:var(--ink-3)}.menu-item:hover{background:var(--bg)}.menu-item .kbd{margin-left:auto;font-size:10.5px;color:var(--ink-4)}.menu-item.danger{color:var(--crit-ink)}.menu-item.danger svg{color:var(--crit)}.menu-item.danger:hover{background:var(--crit-bg)}.menu-sep{height:1px;background:var(--border);margin:5px 4px;border:none}.tip{color:#fff;font-size:12px;font-weight:500;padding:7px 11px;border-radius:8px;position:relative;display:inline-block;box-shadow:var(--sh-md)}.tip,.tip:after{background:#14172a}.tip:after{content:"";position:absolute;bottom:-5px;left:50%;transform:translateX(-50%) rotate(45deg);width:9px;height:9px}.tabs{gap:6px;border-bottom:1px solid var(--border)}.tab,.tabs{display:flex}.tab{padding:11px 4px;margin-bottom:-1px;font-size:13px;font-weight:600;color:var(--ink-3);border-bottom:2px solid transparent;cursor:pointer;align-items:center;gap:7px}.tab svg{width:15px;height:15px}.tab:hover{color:var(--ink-1)}.tab.on{color:var(--brand-blue);border-color:var(--brand-blue)}.tab .pill-n{font-size:11px;background:var(--bg-deep);color:var(--ink-2);padding:1px 7px;border-radius:999px;font-weight:700}.tab.on .pill-n{background:var(--brand-grad-soft);color:var(--brand-blue-deep)}.bc{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-3)}.bc a{color:var(--ink-2);font-weight:500}.bc .cur,.bc a:hover{color:var(--ink-1)}.bc .cur{font-weight:600}.bc .sep{color:var(--ink-4)}.pg{display:flex;gap:6px;align-items:center}.pg button{min-width:34px;height:34px;border-radius:9px;border:1px solid var(--border);background:#fff;font-size:13px;font-weight:600;color:var(--ink-2);padding:0 6px}.pg button:hover{background:var(--bg)}.pg button.on{background:var(--brand-blue);color:#fff;border-color:transparent}.pg button:disabled{opacity:.45;cursor:not-allowed}.stepper{gap:0}.step,.stepper{display:flex;align-items:center}.step{gap:10px}.step .num{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;border:1.5px solid var(--border-strong);color:var(--ink-3);background:#fff}.step .lab{font-size:12.5px;font-weight:600;color:var(--ink-3)}.step.done .num{background:var(--ok);border-color:var(--ok);color:#fff}.step.done .lab{color:var(--ink-1)}.step.active .num{background:var(--brand-blue);border-color:var(--brand-blue);color:#fff}.step.active .lab{color:var(--brand-blue-deep)}.step-line{width:46px;height:2px;background:var(--border-strong);margin:0 12px}.step-line.done{background:var(--ok)}.sk{background:linear-gradient(90deg,#eef0f7 25%,#f6f7fb 37%,#eef0f7 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.spin{width:22px;height:22px;border:2.5px solid var(--border-strong);border-top-color:var(--brand-blue);border-radius:50%;animation:spin .7s linear infinite}.spin.lg{width:34px;height:34px;border-width:3px}@keyframes spin{to{transform:rotate(1turn)}}.btn .spin{width:15px;height:15px;border-width:2px;border-color:#fff hsla(0,0%,100%,.4) hsla(0,0%,100%,.4)}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:40px 20px}.empty .ei{width:64px;height:64px;border-radius:18px;background:var(--bg-deep);display:grid;place-items:center;color:var(--ink-3);margin-bottom:8px}.empty .et{font-size:15px;font-weight:700}.empty .ex{font-size:13px;color:var(--ink-2);max-width:320px;line-height:1.55}.dropzone{border:2px dashed var(--border-strong);border-radius:14px;padding:26px;text-align:center;background:var(--surface-2);color:var(--ink-2)}.dropzone .di{width:44px;height:44px;border-radius:12px;background:var(--brand-grad-soft);color:var(--brand-blue-deep);display:grid;place-items:center;margin:0 auto 10px}.dropzone.is-drag{border-color:var(--brand-blue);background:var(--brand-grad-soft)}.file-row{display:flex;align-items:center;gap:12px;border:1px solid var(--border);border-radius:10px;padding:10px 12px}.file-row .fi{width:34px;height:34px;border-radius:8px;background:var(--low-bg);color:var(--low-ink);display:grid;place-items:center;flex:none}.sg{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.sg-nav{background:#fff;border-right:1px solid var(--border);padding:22px 16px;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto}.sg-nav .bd{display:flex;align-items:center;gap:9px;margin-bottom:22px}.sg-nav .bd .mk{width:30px;height:30px;border-radius:9px;background:var(--brand-grad);display:grid;place-items:center;color:#fff}.sg-nav .bd .w{font-weight:800;font-size:16px}.sg-nav .bd .w b{background:var(--brand-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.sg-nav a{display:block;padding:8px 11px;border-radius:8px;font-size:13px;color:var(--ink-2);font-weight:500}.sg-nav a:hover{background:var(--bg);color:var(--ink-1)}.sg-main{padding:36px 44px 80px;max-width:1100px}.sg-h1{font-size:28px;font-weight:800;letter-spacing:-.02em}.sg-lead{font-size:14px;color:var(--ink-2);margin-top:6px}.sg-sec{margin-top:44px}.sg-sec>h2{font-size:18px;font-weight:800;letter-spacing:-.01em;padding-bottom:12px;border-bottom:1px solid var(--border);margin-bottom:22px;display:flex;align-items:center;gap:10px}.sg-sec>h2 .n{width:24px;height:24px;border-radius:7px;background:var(--brand-grad);color:#fff;font-size:12px;font-weight:800;display:grid;place-items:center}.sg-grid{display:grid;grid-gap:22px;gap:22px}.sg-card{border:1px solid var(--border);border-radius:var(--r-md);background:#fff;padding:20px;box-shadow:var(--sh-sm)}.sg-card>.lbl{font-size:11px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:14px}.sg-card>.lbl,.sg-state{color:var(--ink-3);font-weight:700}.sg-state{font-size:10.5px;margin-bottom:7px}.sg-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.sg-stack{display:flex;flex-direction:column;gap:16px}.sk{display:block;position:relative;overflow:hidden;background:var(--bg-deep,#eceff7);border-radius:8px}.sk:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.55),transparent);animation:sk-shimmer 1.4s ease-in-out infinite}[dir=rtl] .sk:after{background:linear-gradient(270deg,transparent,hsla(0,0%,100%,.55),transparent)}@keyframes sk-shimmer{to{transform:translateX(100%)}}@media (prefers-reduced-motion:reduce){.sk:after{animation:none}}