:root{--cyan:var(--brand);--nl100:#c5d1e0}.login-page{z-index:1;color:#1e2a3a;background-color:#e9edf3;background-image:radial-gradient(1200px 600px at 50% -10%,#f3f5f9 0%,#e9edf3 58%,#e4e9f0 100%);justify-content:center;align-items:center;min-height:100vh;padding:32px 20px;display:flex;position:relative}.login-shell{background-color:#0a1930;background-image:linear-gradient(135deg,#0a1930 0%,#122a48 55%,#0e223c 100%);border-radius:18px;width:min(880px,100%);padding:24px;box-shadow:0 30px 80px -30px #0b1e3d73}.login-card{width:100%;max-width:none;min-height:520px;box-shadow:none;background:#fff;border:0;border-radius:14px;padding:0;display:flex;overflow:hidden}.login-brand{color:#fff;background-color:#0d1f38;background-image:linear-gradient(160deg,#0d1f38 0%,#153153 100%);flex-direction:column;flex:0 0 50%;justify-content:space-between;padding:44px 40px;display:flex;position:relative;overflow:hidden}.login-brand:before,.login-brand:after{content:"";pointer-events:none;border-radius:50%;position:absolute}.login-brand:before{background:radial-gradient(circle at 32% 32%,#f3a04c33,#f3a04c00 70%);width:300px;height:300px;top:-90px;right:-100px}.login-brand:after{background:radial-gradient(circle,#3e60986b,#3e609800 70%);width:260px;height:260px;bottom:-80px;left:-90px}.login-brand__head,.login-brand__body,.login-brand__foot{z-index:1;position:relative}.login-brand__head{align-items:center;gap:12px;display:flex}.login-brand__wordmark{flex-direction:column;line-height:1.2;display:flex}.login-brand__logo{filter:brightness(0)invert();width:auto;height:36px;display:block}.login-brand__wordmark i{color:#ffffff94;letter-spacing:.18em;font-size:12px;font-style:normal}.login-brand__title{color:#fff;margin:40px 0 12px;font-size:26px;font-weight:700}.login-brand__desc{color:#fff9;margin:0 0 28px;font-size:14px;line-height:1.7}.login-brand__feats{flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;display:flex}.login-brand__feats li{color:#ffffffdb;align-items:center;gap:12px;font-size:14px;display:flex}.feat-ico{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:15px;display:inline-flex}.feat-ico svg{width:16px;height:16px}.feat-ico--blue{color:#6ba4f8;background:#4c8df629}.feat-ico--green{color:#46ce86;background:#2fbf6a29}.feat-ico--purple{color:#b08bf5;background:#9b6bf02e}.login-brand__foot{color:#ffffff85;align-items:center;gap:8px;font-size:12px;display:flex}.login-brand__foot svg{width:13px;height:13px}.login-main{background:#fff;flex:50%;justify-content:center;align-items:center;padding:40px;display:flex}.login-inner{width:100%;max-width:320px}.login-main__title{color:#1e2a3a;margin:0 0 6px;font-size:24px;font-weight:700}.login-main__sub{color:#6b7280;margin:0 0 24px;font-size:13px}.login-tabs{background:#eef2f7;border:1px solid #e1e7ef;border-radius:10px;gap:4px;margin-bottom:20px;padding:4px;display:flex}.login-tab{color:#6b7280;cursor:pointer;background:0 0;border:0;border-radius:7px;flex:1;padding:9px 12px;font-family:inherit;font-size:13px;font-weight:500;transition:background .18s,color .18s,box-shadow .18s}.login-tab:hover{color:#1e2a3a}.login-tab.is-active{color:#0e223c;background:#fff;box-shadow:0 1px 3px #0b1e3d1f,0 0 0 1px #0b1e3d0d}.login-tab-panel[hidden]{display:none}.login-form .member-form-group{margin-bottom:16px}.login-form .member-form-label{color:#374151;margin-bottom:6px;font-size:13px;font-weight:500;display:block}.login-form .member-form-req{color:#e5484d;margin-left:2px}.login-form .member-input,.login-form .member-select{color:#1e2a3a;background:#f6f8fb;border:1px solid #e6eaf0;border-radius:10px;width:100%;padding:11px 12px;font-family:inherit;font-size:14px;transition:border-color .2s,box-shadow .2s,background-color .2s}.login-form .member-input:hover,.login-form .member-select:hover{border-color:#d6dee9}.login-form .member-input:focus,.login-form .member-select:focus{background:#fff;border-color:#e58522;outline:none;box-shadow:0 0 0 3px #e5852224}.login-form .member-input::placeholder{color:#9aa6b4}.login-form .member-input--code{letter-spacing:.1em;text-align:center;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:15px}.login-form .member-form-help{color:#6b7280;margin-top:6px;font-size:12px}.login-form .member-form-help--error{color:#d9534f}.login-form .member-form-help--ok{color:#2e9e5b}.login-form .member-form-help--warn{color:#b4741f}.login-code-row{gap:8px;display:flex}.login-code-row .member-input--code{flex:1}.login-form #send-btn{color:#e58522;cursor:pointer;background:#fff;border:1px solid #e6eaf0;border-radius:10px;min-width:112px;padding:0 14px;font-family:inherit;font-size:13px;font-weight:600;transition:border-color .2s,color .2s,background-color .2s}.login-form #send-btn:hover:not(:disabled){background:#e585220f;border-color:#e58522}.login-form #send-btn:disabled{color:#9aa6b4;cursor:not-allowed;background:#f6f8fb}.login-btn{letter-spacing:.12em;color:#fff;cursor:pointer;background:linear-gradient(135deg,#f3a04c,#e58522);border:none;border-radius:10px;width:100%;height:46px;margin-top:8px;padding:0;font-family:inherit;font-size:15px;font-weight:600;transition:background .2s,box-shadow .2s;box-shadow:0 10px 22px -8px #e585228c}.login-btn:not(:disabled):hover{background:linear-gradient(135deg,#f6ac5c,#ea9030);box-shadow:0 12px 26px -8px #e585229e}.login-btn:not(:disabled):active{background:linear-gradient(135deg,#e8933a,#d97a18)}.login-btn:disabled{color:#9aa6b4;box-shadow:none;cursor:not-allowed;background:#e6eaf0}.login-link{text-align:center;color:#6b7280;margin-top:18px;font-size:13px;text-decoration:none;transition:color .2s;display:block}.login-link:hover{color:#e58522}.login-link--inline{color:#e58522;margin:0 0 0 2px;display:inline}.login-link--inline:hover{text-decoration:underline}.login-register-hint{text-align:center;color:#6b7280;margin-top:14px;font-size:13px}.dev-hint{color:#6b7280;background:#f6f8fb;border:1px dashed #d6dee9;border-radius:10px;margin-top:18px;padding:12px 14px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:11px;line-height:1.55}.dev-hint__header{align-items:center;gap:6px;margin-bottom:6px;display:flex}.dev-hint__tag{color:#9aa6b4;letter-spacing:.04em;border:1px solid #d6dee9;border-radius:4px;padding:1px 6px;font-size:10px;display:inline-block}.dev-hint__title{color:#6b7280}.dev-hint__val{color:#374151}.dev-hint__fill{color:#e58522;cursor:pointer;background:#fff;border:1px solid #e6eaf0;border-radius:8px;margin-top:8px;padding:4px 10px;font-family:inherit;font-size:11px}.dev-hint__fill:hover{border-color:#e58522}@media (max-width:820px){.login-page{padding:20px 14px}.login-shell{padding:16px}.login-card{min-height:0}.login-brand{display:none}.login-main{flex:100%;padding:32px 24px}}.chat-panel{background:var(--bg-1);border:1px solid var(--border,#7a8ca62e);width:380px;max-width:calc(100vw - 40px);height:540px;max-height:calc(100vh - 40px);box-shadow:0 24px 64px -12px #0009, 0 0 0 1px color-mix(in srgb, var(--brand) 5%, transparent), 0 0 40px -8px color-mix(in srgb, var(--cyan) 18%, transparent);z-index:100;opacity:0;pointer-events:none;border-radius:16px;flex-direction:column;font-family:inherit;transition:transform .22s cubic-bezier(.22,1,.36,1),opacity .22s;display:flex;position:fixed;bottom:20px;right:20px;overflow:hidden;transform:translateY(20px)scale(.95)}.chat-panel:not([hidden]){opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.chat-panel[hidden]{display:none}.chat-panel__footer{border-top:1px solid var(--border,#7a8ca61f);color:var(--text-2,#7a8ca6);justify-content:space-between;align-items:center;gap:8px;padding:8px 14px;font-size:11px;display:flex}.chat-panel__ai-tag{letter-spacing:.2px}.chat-panel__report{color:var(--cyan,#a9c4e8);white-space:nowrap;text-decoration:none}.chat-panel__report:hover{text-decoration:underline}.chat-panel__header{background:linear-gradient(180deg, #ffffff0a, transparent), linear-gradient(135deg, color-mix(in srgb, var(--cyan) 10%, transparent), color-mix(in srgb, var(--nl100) 5%, transparent));border-bottom:1px solid var(--border,#7a8ca61f);align-items:center;gap:10px;padding:14px 16px;display:flex}.chat-panel__avatar{background:linear-gradient(135deg, var(--cyan,#a9c4e8), var(--nl100,#5f95ac));color:#061226;width:36px;height:36px;box-shadow:0 0 0 2px color-mix(in srgb, var(--cyan) 25%, transparent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex}.chat-panel__title{flex:1;min-width:0}.chat-panel__name{color:var(--text-0,#f5f7fa);font-size:14px;font-weight:600}.chat-panel__status{color:var(--text-2,#7a8ca6);margin-top:2px;font-size:11px}.chat-panel__close{color:var(--text-2,#7a8ca6);cursor:pointer;background:0 0;border:0;border-radius:6px;width:28px;height:28px;font-family:inherit;font-size:22px;line-height:1;transition:background .15s,color .15s}.chat-panel__close:hover{color:var(--text-0,#f5f7fa);background:#ffffff14}.chat-panel__messages{flex-direction:column;flex:1;gap:8px;padding:14px 16px;display:flex;overflow-y:auto}.chat-panel__messages::-webkit-scrollbar{width:6px}.chat-panel__messages::-webkit-scrollbar-thumb{background:#7a8ca62e;border-radius:3px}.chat-msg{word-wrap:break-word;white-space:pre-wrap;border-radius:10px;max-width:84%;padding:9px 12px;font-size:13px;line-height:1.55}.chat-msg--assistant{background:var(--bg-2,#0b1e3d99);color:var(--text-0,#f5f7fa);border-top-left-radius:3px;align-self:flex-start}.chat-msg--user{background:linear-gradient(135deg, var(--cyan,#a9c4e8), var(--brand-deep,#5f95ac));color:#fff;border-top-right-radius:3px;align-self:flex-end}.chat-msg--system{color:var(--text-2,#7a8ca6);background:0 0;align-self:center;padding:6px 10px;font-size:12px}.chat-msg--typing:after{content:"●";color:var(--text-2);margin-left:4px;animation:1s ease-in-out infinite chat-typing;display:inline-block}@keyframes chat-typing{0%,to{opacity:.3}50%{opacity:1}}.chat-panel__suggestions{flex-wrap:wrap;gap:6px;padding:0 16px 8px;display:flex}.chat-suggestion{border:1px solid var(--border,#7a8ca62e);color:var(--text-1,#cbd3de);cursor:pointer;background:0 0;border-radius:14px;padding:5px 12px;font-family:inherit;font-size:12px;transition:all .15s}.chat-suggestion:hover{background:color-mix(in srgb, var(--cyan) 10%, transparent);border-color:color-mix(in srgb, var(--cyan) 35%, transparent);color:var(--brand-hover,#c5d1e0)}.chat-panel__input{border-top:1px solid var(--border,#7a8ca61f);background:#00000026;align-items:flex-end;gap:8px;padding:10px 12px 12px;display:flex}.chat-panel__input textarea{resize:none;background:var(--bg-2,#0b1e3d80);border:1px solid var(--border,#7a8ca62e);color:var(--text-0,#f5f7fa);border-radius:8px;outline:none;flex:1;min-height:36px;max-height:120px;padding:8px 10px;font-family:inherit;font-size:13px;line-height:1.4;transition:border-color .15s,box-shadow .15s}.chat-panel__input textarea:focus{border-color:color-mix(in srgb, var(--cyan) 50%, transparent);box-shadow:0 0 0 3px color-mix(in srgb, var(--cyan) 12%, transparent)}.chat-panel__input button{background:linear-gradient(135deg, var(--cyan,#a9c4e8), var(--brand-deep,#5f95ac));color:#fff;cursor:pointer;border:0;border-radius:8px;flex-shrink:0;align-self:flex-end;height:36px;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:500;transition:all .15s}.chat-panel__input button:hover:not(:disabled){box-shadow:0 4px 12px -2px color-mix(in srgb, var(--cyan) 50%, transparent);transform:translateY(-1px)}.chat-panel__input button:disabled{opacity:.45;cursor:not-allowed}@media (max-width:480px){.chat-panel{width:calc(100vw - 16px);height:calc(100vh - 16px);max-height:none;bottom:8px;right:8px}}
