:root{--accent:#6366f1;--accent-strong:#4f46e5;--accent-soft:#e9eaff;--accent-softer:#f1f2ff;--ink:#10111a;--ink-2:#3f4152;--ink-3:#6b6d80;--ink-4:#9a9caf;--surface:#fff;--canvas:#f7f7f9;--line:#e6e6ec;--line-soft:#eeeef2;--ok:#10a37f;--warn:#d97706;--radius-sm:8px;--radius:12px;--radius-lg:16px;--shadow-sm:0 1px 2px #10111a0d;--shadow:0 6px 20px #10111a14;--shadow-lg:0 18px 48px #10111a24;--sidebar-w:300px;font-synthesis-weight:none;-webkit-font-smoothing:antialiased;color:var(--ink-2);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--canvas);color:var(--ink-2);font-size:15px;line-height:1.55}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}input,textarea{font:inherit;color:inherit}h1,h2,h3,p{margin:0}::placeholder{color:var(--ink-4)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.scroll{scrollbar-width:thin;scrollbar-color:#d7d7de transparent;overflow-y:auto}.scroll::-webkit-scrollbar{width:8px}.scroll::-webkit-scrollbar-thumb{background:#d7d7de padding-box content-box;border:2px solid #0000;border-radius:99px}.drawer-scrim{z-index:60;background:#10111a57;animation:.16s ease-out fade;position:fixed;inset:0}.drawer{z-index:61;background:var(--surface);flex-direction:column;width:452px;animation:.2s ease-out slide;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-18px 0 48px #10111a2e}@keyframes fade{0%{opacity:0}}@keyframes slide{0%{opacity:.4;transform:translate(22px)}}.drawer-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:22px 24px 18px;display:flex}.drawer-head h2{letter-spacing:-.015em;color:var(--ink);font-size:21px;font-weight:600}.drawer-close{width:30px;height:30px;color:var(--ink-3);border-radius:8px;place-items:center;display:grid}.drawer-close:hover{color:var(--ink);background:#f1f1f5}.drawer-body{flex-direction:column;flex:1;gap:16px;min-height:0;padding:18px 20px 28px;display:flex}.card{border:1px solid var(--line);border-radius:var(--radius);padding:6px 16px}.score-card{align-items:center;gap:16px;padding:18px 16px;display:flex}.score-ring{flex:none;place-items:center;display:grid;position:relative}.score-ring svg{transform:rotate(-90deg)}.ring-track,.ring-fill{fill:none;stroke-width:3px}.ring-track{stroke:#ececf1}.ring-fill{stroke:#10a37f;stroke-linecap:round}.score-ring em{color:var(--ink);font-variant-numeric:tabular-nums;font-size:14px;font-style:normal;font-weight:600;position:absolute}.score-text strong{color:var(--ink);font-size:17px;font-weight:600;display:block}.score-text small{color:var(--ink-3);margin-top:2px;font-size:13px;display:block}.check-row{justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.check-row+.check-row{border-top:1px dashed var(--line)}.check-label{color:var(--ink-2);font-size:15px}.check-pill{color:var(--ink-3);background:#f4f4f7;border-radius:99px;align-items:center;gap:6px;padding:3px 10px;font-size:12.5px;font-weight:500;display:inline-flex}.check-pill i{background:currentColor;border-radius:50%;width:6px;height:6px}.check-pill.is-info{background:var(--accent-softer);color:var(--accent-strong)}.check-pill.is-ok{color:var(--ok);background:#e7f8f1}.tag-head{border-bottom:1px solid var(--line);color:var(--ink-2);grid-template-columns:42% 1fr;gap:12px;padding:14px 0 12px;font-size:14px;display:grid}.tag-row{grid-template-columns:42% 1fr;align-items:center;gap:12px;padding:9px 0;display:grid}.tag-row+.tag-row{border-top:1px solid var(--line-soft)}.tag-pill{background:var(--accent-soft);color:var(--accent-strong);border-radius:99px;justify-self:start;align-items:center;gap:5px;padding:3px 9px;font-size:12.5px;font-weight:500;display:inline-flex}.tag-value{color:var(--ink);overflow-wrap:anywhere;font-size:14.5px}.tag-empty{color:var(--ink-4);padding:14px 0;font-size:13.5px}.tag-pill em{text-transform:uppercase;letter-spacing:.04em;opacity:.75;margin-left:5px;font-size:10.5px;font-style:normal}.tag-pill.is-block{color:#8a4326;background:#d9775724}.tag-pill.is-encrypt{color:#2f5d4a;background:#2f5d4a1f}.tag-pill.is-allow{opacity:.72}.mitigated-text{overflow-wrap:anywhere;background:#7f7f7f14;border-radius:8px;margin:8px 0 0;padding:9px 11px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.55}@media (prefers-color-scheme:dark){.tag-pill.is-block{color:#e9a184;background:#d977572e}.tag-pill.is-encrypt{color:#8fc7ae;background:#2f5d4a38}}.chat-area{flex-direction:column;flex:1;min-height:0;display:flex}.chat-area.is-empty{justify-content:center}.chat-area.is-empty .empty-state{flex:none}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:24px 24px 30px;display:flex}.empty-mark{background:linear-gradient(160deg,#7d7ff5,#5b5bd6);border-radius:15px;place-items:center;width:58px;height:58px;display:grid;box-shadow:0 8px 22px #6366f152}.empty-state h1{letter-spacing:-.025em;color:var(--ink);margin-top:26px;font-size:33px;font-weight:700}.empty-state>p{color:var(--ink-3);margin-top:10px;font-size:17px}.thread{flex:1;min-height:0;padding:26px 26px 4px}.thread-inner{flex-direction:column;gap:22px;display:flex}.msg{flex-direction:column;gap:8px;max-width:68%;display:flex}.msg.is-user{align-self:flex-end;align-items:flex-end}.msg.is-assistant{align-self:flex-start}.msg-meta{align-items:center;gap:9px;padding:0 2px;display:flex}.msg-name{color:var(--ink);font-size:14px;font-weight:600}.msg-initials{background:var(--accent);color:#fff;letter-spacing:.02em;border-radius:50%;place-items:center;width:27px;height:27px;font-size:10.5px;font-weight:600;display:grid}.msg-bot{background:linear-gradient(160deg,#7d7ff5,#5b5bd6);border-radius:8px;place-items:center;width:28px;height:28px;display:grid}.bubble{border-radius:var(--radius);padding:15px 18px}.bubble.is-user{background:#eef0fe}.bubble.is-bot{background:#f7f7f9}.bubble-text{white-space:pre-wrap;color:var(--ink);overflow-wrap:anywhere;font-size:15.5px;line-height:1.6}.reveal{color:var(--accent-strong);align-items:center;gap:7px;margin-top:10px;padding:2px 0;font-size:13.5px;font-weight:500;display:inline-flex}.reveal:hover{text-decoration:underline}.bubble.is-loading{align-items:center;gap:6px;width:fit-content;padding:16px 20px;display:flex}.bubble.is-loading i{background:var(--accent);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite blink}.bubble.is-loading i:nth-child(2){animation-delay:.18s}.bubble.is-loading i:nth-child(3){animation-delay:.36s}@keyframes blink{0%,60%,to{opacity:.3}30%{opacity:1}}.file-card{background:var(--surface);border-radius:10px;align-items:center;gap:13px;margin-top:13px;padding:12px 14px;display:flex}.file-icon{color:#e0524d;background:#fdecec;border-radius:9px;flex:none;place-items:center;width:38px;height:38px;display:grid}.file-text{min-width:0}.file-text strong{color:var(--ink);overflow-wrap:anywhere;font-size:14.5px;font-weight:600;display:block}.file-text small{color:var(--ink-3);margin-top:1px;font-size:12.5px;display:block}.composer-dock{padding:8px 26px 26px}.composer-dock.is-docked{border-top:1px solid var(--line-soft);padding-top:14px}.composer-wrap{width:100%;margin:0 auto}.composer-wrap.is-hero{max-width:780px}.attachments,.detect-strip{flex-wrap:wrap;align-items:center;gap:7px;margin:0 8px 10px;display:flex}.attachment{border:1px solid var(--line);color:var(--ink-2);background:var(--surface);border-radius:99px;align-items:center;gap:6px;padding:4px 6px 4px 10px;font-size:12.5px;display:inline-flex}.attachment button{width:18px;height:18px;color:var(--ink-4);border-radius:50%;place-items:center;font-size:15px;line-height:1;display:grid}.attachment button:hover{color:var(--ink);background:#f1f1f5}.detect-strip{color:var(--accent-strong);font-size:12.5px}.detect-strip>svg{flex:none}.detect-chip{background:var(--accent-soft);font-variant-numeric:tabular-nums;border-radius:99px;padding:2px 8px;font-weight:500}.detect-more{color:var(--ink-4)}.composer{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:26px;align-items:flex-end;gap:10px;padding:10px 10px 10px 14px;display:flex}.composer:focus-within{border-color:#c9caf7;box-shadow:0 8px 26px #6366f124}.composer-attach{width:36px;height:36px;color:var(--accent-strong);border-radius:50%;flex:none;place-items:center;display:grid}.composer-attach:hover,.is-hero .composer-attach{background:var(--accent-soft)}.composer-input{resize:none;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;align-self:center;max-height:220px;padding:6px 2px;font-size:16px;line-height:1.5}.protected-pill{background:var(--accent-soft);color:var(--accent-strong);border-radius:99px;flex:none;align-self:center;align-items:center;gap:6px;padding:7px 13px;font-size:13.5px;font-weight:600;display:inline-flex}.protected-pill.is-off{color:#b45309;background:#fef3c7}.composer-send{background:var(--accent);color:#fff;border-radius:50%;flex:none;place-items:center;width:40px;height:40px;display:grid;box-shadow:0 4px 12px #6366f14d}.composer-send:hover{background:var(--accent-strong)}.composer-send:disabled{box-shadow:none;cursor:not-allowed;background:#c9caf7}.composer-note{text-align:center;color:var(--ink-4);margin-top:12px;font-size:13px}.composer-note a{color:var(--accent-strong);font-weight:500;text-decoration:none}.composer-note a:hover{text-decoration:underline}@media (width<=1440px){.msg{max-width:74%}}@media (width<=1280px){.thread{padding:22px 20px 4px}.composer-dock{padding:8px 20px 20px}.empty-state h1{font-size:29px}.empty-state>p{font-size:16px}.msg{max-width:80%}}.chat-notice{border:1px solid var(--notice-border,#d9775759);background:var(--notice-bg,#d9775714);width:100%;max-width:760px;color:var(--notice-fg,#8a4326);border-radius:10px;align-items:flex-start;gap:12px;margin:0 auto 12px;padding:11px 14px;font-size:13.5px;line-height:1.5;display:flex}.chat-notice span{flex:1}.chat-notice button{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:0;border-radius:6px;flex:none;padding:2px;display:inline-flex}.chat-notice button:hover{opacity:1}.bubble.is-blocked{opacity:.72;border:1px dashed var(--notice-border,#d9775773)}.bubble-blocked{color:var(--notice-fg,#8a4326);align-items:flex-start;gap:7px;margin:9px 0 0;font-size:12.5px;line-height:1.45;display:flex}.bubble-blocked strong{font-weight:600}.bubble.is-failed .bubble-text{opacity:.75;font-style:italic}.review{border-top:1px solid #3c3c5a24;margin-top:12px;padding-top:11px}.review-label{letter-spacing:.01em;text-transform:uppercase;color:var(--accent-strong);align-items:center;gap:6px;margin:0 0 6px;font-size:12px;font-weight:600;display:flex}.review-text{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink);opacity:.85;margin:0;font-size:14.5px;line-height:1.55}.review-send{background:var(--accent-strong);color:#fff;cursor:pointer;border-radius:999px;margin-top:11px;padding:7px 15px;font-size:13.5px;font-weight:600}.review-send:hover:not(:disabled){filter:brightness(1.08)}.review-send:disabled{opacity:.55;cursor:default}@media (prefers-color-scheme:dark){.review{border-top-color:#dce0ff29}.chat-notice,.bubble-blocked{--notice-border:#d9775766;--notice-bg:#d977571f;--notice-fg:#e9a184}}.placeholder{flex:1;min-height:0;padding:40px 32px}.placeholder-inner{max-width:780px;margin:0 auto}.placeholder-inner h1{letter-spacing:-.02em;color:var(--ink);font-size:28px;font-weight:700}.placeholder-inner>p{color:var(--ink-3);margin-top:8px}.placeholder-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:26px;display:grid}.placeholder-card{border:1px solid var(--line);border-radius:var(--radius);background:#fcfcfd;padding:16px}.placeholder-card strong{color:var(--ink);font-size:15px;font-weight:600;display:block}.placeholder-card span{color:var(--ink-3);margin-top:5px;font-size:13.5px;line-height:1.55;display:block}.sidebar{width:var(--sidebar-w);flex:0 0 var(--sidebar-w);background:var(--surface);border-right:1px solid var(--line);flex-direction:column;min-height:0;transition:width .18s,flex-basis .18s;display:flex}.sidebar-head{justify-content:space-between;align-items:center;gap:8px;padding:16px 14px 14px 18px;display:flex}.brand{color:var(--ink);letter-spacing:-.01em;white-space:nowrap;align-items:center;gap:10px;font-size:17px;font-weight:600;display:flex}.brand-mark{flex:none;display:block}.collapse-btn{width:26px;height:26px;color:var(--accent-strong);background:var(--accent-soft);border-radius:7px;flex:none;place-items:center;display:grid}.collapse-btn:hover{background:#dcdefc}.nav{flex-direction:column;gap:2px;padding:4px 12px 0;display:flex}.nav-item{border-radius:var(--radius-sm);color:var(--ink-2);white-space:nowrap;align-items:center;gap:12px;padding:11px 14px;font-weight:500;display:flex;overflow:hidden}.nav-item:hover{background:#f4f4f7}.nav-item.is-active{background:var(--accent-soft);color:var(--accent-strong);font-weight:600}.recents{flex-direction:column;flex:1;min-height:0;padding:22px 12px 0;display:flex}.recents-head{border-radius:var(--radius-sm);color:var(--ink-3);white-space:nowrap;align-items:center;gap:12px;padding:8px 14px;font-weight:500;display:flex}.recents-head:hover{background:#f4f4f7}.recents-head span{text-align:left;flex:1}.recents-head .rotated{transform:rotate(-90deg)}.recents-head svg:last-child{color:var(--ink-4);transition:transform .15s}.search{border:1px solid var(--line);color:var(--ink-4);border-radius:10px;align-items:center;gap:10px;margin:10px 2px 12px;padding:9px 13px;display:flex}.search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-softer)}.search input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1}.chat-list{border-left:1px solid var(--line-soft);flex:1;min-height:0;margin-left:14px;padding:0 2px 8px 0}.chat-row{border-radius:var(--radius-sm);align-items:center;margin-left:6px;display:flex}.chat-row:hover{background:#f4f4f7}.chat-row.is-active{background:var(--accent-softer)}.chat-row.is-active .chat-title{color:var(--accent-strong);font-weight:500}.chat-title{text-align:left;min-width:0;color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;flex:1;padding:9px 8px 9px 12px;overflow:hidden}.chat-delete{width:28px;height:28px;color:var(--ink-4);opacity:0;border-radius:6px;place-items:center;margin-right:4px;display:grid}.chat-row:hover .chat-delete{opacity:1}.chat-delete:hover{color:#dc2626;background:#fee2e2}.chat-empty{color:var(--ink-4);padding:8px 12px;font-size:13px}.profile-wrap{margin-top:auto;position:relative}.profile{border-radius:var(--radius);text-align:left;align-items:center;gap:12px;width:calc(100% - 24px);margin:8px 12px 14px;padding:10px 12px;display:flex}.profile:hover,.profile.is-open{background:#f4f4f7}.profile>svg:last-child{color:var(--ink-4);flex:none;transition:transform .15s}.profile>svg.rotated{transform:rotate(180deg)}.profile-menu{z-index:20;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:6px;position:absolute;bottom:calc(100% - 4px);left:12px;right:12px}.profile-menu-head{border-bottom:1px solid var(--line-soft);flex-direction:column;margin-bottom:6px;padding:8px 10px 10px;line-height:1.4;display:flex}.profile-menu-head strong{color:var(--ink);font-size:14px;font-weight:600}.profile-menu-head small{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.profile-menu-item{width:100%;color:var(--ink-2);border-radius:var(--radius-sm);text-align:left;align-items:center;gap:10px;padding:9px 10px;font-size:14px;display:flex}.profile-menu-item:hover:not(:disabled){color:var(--ink);background:#f4f4f7}.profile-menu-item svg{color:var(--ink-3);flex:none}.profile-menu-item.is-signout,.profile-menu-item.is-signout svg{color:#b42318}.profile-menu-item.is-signout:hover:not(:disabled){color:#912018;background:#fef3f2}.profile-menu-item:disabled{opacity:.6;cursor:default}.avatar{object-fit:cover;background:var(--accent-soft);border-radius:50%;flex:none;width:38px;height:38px}.profile-text{flex-direction:column;min-width:0;line-height:1.35;display:flex}.profile-text strong{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;overflow:hidden}.profile-text small{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.sidebar.is-collapsed{--sidebar-w:74px;align-items:center}.sidebar.is-collapsed .sidebar-head{flex-direction:column;gap:14px;padding:16px 0 14px}.sidebar.is-collapsed .brand span,.sidebar.is-collapsed .nav-item span,.sidebar.is-collapsed .profile-text,.sidebar.is-collapsed .recents{display:none}.sidebar.is-collapsed .collapse-btn{transform:rotate(180deg)}.sidebar.is-collapsed .nav{flex:1;align-items:center;padding:4px 0 0}.sidebar.is-collapsed .nav-item{justify-content:center;width:44px;padding:12px 0}.sidebar.is-collapsed .profile{justify-content:center;width:auto;margin:8px 0 14px;padding:8px}.sidebar.is-collapsed .profile>svg:last-child{display:none}.sidebar.is-collapsed .profile-menu{width:232px;left:8px;right:auto}@media (width<=1366px){.sidebar{--sidebar-w:276px}}@media (width<=1200px){.sidebar{--sidebar-w:250px}.sidebar-head{padding:14px 12px 12px 16px}.nav-item{padding:10px 12px}.profile-text strong{font-size:14px}.profile-text small{font-size:12px}}.model-picker{position:relative}.model-trigger{border:1px solid var(--line);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm);border-radius:10px;align-items:center;gap:8px;padding:9px 12px 9px 16px;font-size:15px;font-weight:500;display:flex}.model-trigger:hover{border-color:#d6d6de}.model-trigger.is-open{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-softer)}.model-trigger svg{color:var(--ink-3)}.model-panel{z-index:40;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);width:372px;max-height:min(520px,100vh - 120px);box-shadow:var(--shadow-lg);flex-direction:column;animation:.14s ease-out pop;display:flex;position:absolute;top:calc(100% + 8px);left:0;overflow:hidden}@keyframes pop{0%{opacity:0;transform:translateY(-4px)}}.panel-head{border-bottom:1px solid var(--line-soft);padding:14px 16px 12px}.panel-title{color:var(--ink);font-size:14px;font-weight:600}.panel-sub{color:var(--ink-4);margin-top:2px;font-size:12.5px;line-height:1.45}.panel-body{flex:1;min-height:0;padding:8px}.provider+.provider{border-top:1px solid var(--line-soft);margin-top:6px;padding-top:6px}.provider-head{align-items:center;gap:8px;padding:8px 10px 4px;display:flex}.provider-dot{border-radius:50%;width:7px;height:7px}.provider-name{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-4);flex:1;font-size:12px;font-weight:600}.key-tag{color:var(--warn);background:#fef3c7;border-radius:99px;padding:2px 7px;font-size:11px;font-weight:600}.key-tag.is-connected{color:var(--ok);background:#dcfce7}.model-option{text-align:left;border-radius:9px;align-items:center;gap:10px;width:100%;padding:9px 10px;display:flex}.model-option:hover{background:#f5f5f8}.model-option.is-selected{background:var(--accent-softer);color:var(--accent-strong)}.model-option.is-selected svg{color:var(--accent-strong)}.model-option-text{flex-direction:column;flex:1;min-width:0;display:flex}.model-option-text strong{color:var(--ink);font-size:14.5px;font-weight:500}.model-option.is-selected .model-option-text strong{color:var(--accent-strong);font-weight:600}.model-option-text small{color:var(--ink-4);font-size:12.5px}.panel-foot{border-top:1px solid var(--line-soft);color:var(--accent-strong);background:#fcfcfd;justify-content:center;align-items:center;gap:8px;padding:12px;font-size:14px;font-weight:500;display:flex}.panel-foot:hover{background:var(--accent-softer)}.key-row{padding:10px 10px 14px}.key-row+.key-row{border-top:1px solid var(--line-soft)}.key-label{color:var(--ink-2);align-items:center;gap:7px;font-size:13px;font-weight:500;display:flex}.key-label svg{color:var(--ink-4)}.key-input{border:1px solid var(--line);border-radius:9px;align-items:center;gap:6px;margin-top:7px;padding:0 8px 0 12px;display:flex}.key-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-softer)}.key-input input{letter-spacing:.02em;background:0 0;border:0;outline:0;flex:1;min-width:0;padding:9px 0;font-size:14px}.key-eye{width:26px;height:26px;color:var(--ink-4);border-radius:6px;place-items:center;display:grid}.key-eye:hover{color:var(--ink-2);background:#f1f1f5}.key-actions{gap:8px;margin-top:9px;display:flex}.btn-primary{background:var(--accent);color:#fff;border-radius:8px;padding:7px 16px;font-size:13.5px;font-weight:600}.btn-primary:hover{background:var(--accent-strong)}.btn-primary:disabled{color:var(--ink-4);cursor:not-allowed;background:#e8e8ee}.btn-ghost{color:var(--ink-3);border-radius:8px;padding:7px 14px;font-size:13.5px;font-weight:500}.btn-ghost:hover{color:#dc2626;background:#f1f1f5}.topbar{background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:17px 26px;display:flex}.topbar-left{align-items:center;gap:14px;min-width:0;display:flex}.topbar-heading{color:var(--ink-2);font-size:15px;font-weight:500}.topbar-title{color:var(--ink-4);white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.protection{position:relative}.protection-btn{color:var(--ink);border-radius:9px;align-items:center;gap:9px;padding:8px 12px;font-size:15px;font-weight:500;display:flex}.protection-btn:hover{background:#f4f4f7}.protection-btn.is-off{color:#b45309}.protection-panel{z-index:40;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);width:330px;box-shadow:var(--shadow-lg);padding:16px;position:absolute;top:calc(100% + 8px);right:0}.protection-row{align-items:flex-start;gap:14px;display:flex}.protection-row strong{color:var(--ink);font-size:14px;font-weight:600;display:block}.protection-row small{color:var(--ink-4);margin-top:3px;font-size:12.5px;line-height:1.45;display:block}.switch{background:#dcdce4;border-radius:99px;flex:none;width:40px;height:23px;margin-top:2px;padding:3px;transition:background .15s}.switch span{width:17px;height:17px;box-shadow:var(--shadow-sm);background:#fff;border-radius:50%;transition:transform .15s;display:block}.switch.is-on{background:var(--accent)}.switch.is-on span{transform:translate(17px)}.protection-list{border-top:1px solid var(--line-soft);color:var(--ink-3);margin:14px 0 0;padding:12px 0 0 18px;font-size:12.5px;line-height:1.6}@media (width<=1280px){.topbar{padding:13px 18px}.model-trigger,.protection-btn{font-size:14px}}.modal-scrim{z-index:70;background:#10111a57;place-items:center;padding:32px;animation:.15s ease-out modal-fade;display:grid;position:fixed;inset:0}@keyframes modal-fade{0%{opacity:0}}.modal{background:var(--surface);border-radius:var(--radius);width:100%;max-width:430px;box-shadow:var(--shadow-lg);flex-direction:column;animation:.16s ease-out modal-pop;display:flex}@keyframes modal-pop{0%{opacity:0;transform:translateY(-6px)}}.modal-head{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 18px 14px;display:flex}.modal-head h2{color:var(--ink);font-size:17px;font-weight:600}.modal-head p{color:var(--ink-4);margin-top:3px;font-size:12.5px}.modal-close{width:26px;height:26px;color:var(--ink-3);border-radius:7px;place-items:center;display:grid}.modal-close:hover{color:var(--ink);background:#f1f1f5}.modal-body{flex-direction:column;gap:16px;padding:18px;display:flex}.modal-foot{justify-content:flex-end;gap:10px;padding:0 18px 18px;display:flex}.field-label,.link-field-label{color:var(--ink-2);font-size:13.5px;font-weight:500}.field input{border:1px solid var(--line);color:var(--ink);background:var(--surface);border-radius:8px;padding:9px 12px;font-size:14.5px}.field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-softer);outline:0}.link-field{border:1px solid var(--line);background:#fcfcfd;border-radius:10px;flex-direction:column;padding:12px 14px;display:flex}.link-field-hint{color:var(--ink-4);margin-top:2px;font-size:12.5px}.link-input{border:1px solid var(--line);background:var(--surface);color:var(--ink-4);border-radius:8px;align-items:center;gap:8px;margin-top:12px;padding:8px 12px;display:flex}.link-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-softer)}.link-input input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:13.5px}.btn-outline{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);border-radius:8px;padding:8px 18px;font-size:13.5px;font-weight:500}.btn-outline:hover{background:#f4f4f7}.btn-solid{background:var(--accent);color:#fff;border-radius:8px;padding:8px 22px;font-size:13.5px;font-weight:600}.btn-solid:hover{background:var(--accent-strong)}.btn-solid:disabled{cursor:not-allowed;background:#c9caf7}.btn-danger{color:#fff;background:#dc2626;border-radius:8px;padding:8px 16px;font-size:13.5px;font-weight:600}.btn-danger:hover{background:#b91c1c}.confirm{background:var(--surface);border-radius:var(--radius);width:100%;max-width:320px;box-shadow:var(--shadow-lg);padding:16px;animation:.16s ease-out modal-pop}.confirm-text{color:var(--ink);overflow-wrap:anywhere;font-size:14px;line-height:1.5}.confirm-actions{justify-content:flex-start;gap:10px;margin-top:16px;display:flex}.field-note{border:1px dashed var(--line);color:var(--ink-3);border-radius:9px;margin-top:4px;padding:10px 12px;font-size:13px}.toggle{background:#dcdce4;border-radius:99px;flex:none;width:40px;height:23px;padding:3px;transition:background .15s}.toggle:hover{background:#d2d2dc}.toggle span{width:17px;height:17px;box-shadow:var(--shadow-sm);background:#fff;border-radius:50%;transition:transform .15s;display:block}.toggle.is-on span{transform:translate(17px)}.toggle.is-on.is-ok,.toggle.is-on.is-ok:hover{background:#22c55e}.toggle.is-on.is-accent,.toggle.is-on.is-accent:hover{background:var(--accent)}.console{flex:1;min-height:0;padding:22px 24px 32px}.console-inner{flex-direction:column;gap:18px;display:flex}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm)}.panel-bar{justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 18px;display:flex}.panel-heading h2{color:var(--ink);font-size:17px;font-weight:600}.panel-heading p{color:var(--ink-3);max-width:60ch;margin-top:4px;font-size:13px}.panel-heading.is-plain h2{font-size:14.5px;font-weight:500}.grid-table{flex-direction:column;font-size:14px;display:flex}.grid-table>div{grid-template-columns:var(--cols);border-top:1px solid var(--line-soft);align-items:center;gap:12px;padding:13px 18px;display:grid}.grid-table .row-head{border-top:1px solid var(--line-soft);color:var(--ink-3);font-size:13px}.grid-table .cell-strong{color:var(--ink)}.dot-status{align-items:center;gap:7px;font-size:13.5px;display:inline-flex}.dot-status i{background:currentColor;border-radius:50%;width:7px;height:7px}.dot-status.is-ok{color:#16a34a}.dot-status.is-warn{color:#d97706}.dot-status.is-bad{color:#dc2626}.tick{color:var(--ink-3)}.btn-add{background:var(--accent);color:#fff;border-radius:8px;flex:none;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;display:inline-flex}.btn-add:hover{background:var(--accent-strong)}.btn-add.is-quiet{background:var(--surface);border:1px solid var(--line);color:var(--ink-2)}.btn-add.is-quiet:hover{background:#f4f4f7}.link-danger{color:#dc2626;justify-self:start;font-size:13.5px}.link-danger:hover{text-decoration:underline}.console-error{color:#b91c1c;background:#fdecec;border:1px solid #f5c2c2;border-radius:10px;padding:11px 14px;font-size:13.5px}.console-empty{border-top:1px solid var(--line-soft);color:var(--ink-4);padding:18px;font-size:13.5px}@media (width<=1280px){.console{padding:18px 18px 26px}}.stat-row{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.stat-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);flex-direction:column;padding:14px 16px 16px;display:flex}.stat-label{color:var(--ink-3);font-size:13px}.stat-value{letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums;margin-top:8px;font-size:26px;font-weight:600}.stat-note{color:var(--ink-4);margin-top:4px;font-size:12.5px}.provider-table{--cols:2fr 1fr 1fr 1fr .7fr}.org{padding:0 18px 18px}.org-label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-4);padding-top:4px;font-size:11.5px;font-weight:600;display:block}.org-note{color:var(--ink-4);margin-top:8px;font-size:13.5px}.dept-picker{margin-top:8px;position:relative}.dept-trigger{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:9px;align-items:center;gap:9px;padding:8px 12px;font-size:14px;display:inline-flex}.dept-trigger:hover{border-color:#d6d6de}.dept-trigger i{background:var(--accent);border-radius:50%;width:7px;height:7px}.dept-trigger svg{color:var(--ink-3)}.dept-menu{z-index:20;border:1px solid var(--line);background:var(--surface);min-width:220px;box-shadow:var(--shadow-lg);border-radius:10px;padding:6px;position:absolute;top:calc(100% + 6px);left:0}.dept-option{text-align:left;width:100%;color:var(--ink-2);border-radius:7px;padding:8px 10px;font-size:14px;display:block}.dept-option:hover{background:#f4f4f7}.dept-option.is-active{background:var(--accent-softer);color:var(--accent-strong);font-weight:500}.user-bar{border-top:1px solid var(--line-soft);align-items:center;gap:16px;margin-top:20px;padding-top:16px;display:flex}.user-search{border:1px solid var(--line);max-width:340px;color:var(--ink-4);border-radius:9px;flex:1;align-items:center;gap:9px;padding:8px 12px;display:flex}.user-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-softer)}.user-search input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:14px}.user-count{color:var(--ink-3);margin-left:auto;font-size:13.5px}.user-count strong{color:var(--ink);font-weight:600}.user-table{--cols:2fr 1fr 1fr;border:1px solid var(--line-soft);border-radius:10px;margin-top:14px;overflow:hidden}.user-table .row-head{background:#fcfcfd;border-top:0}@media (width<=1280px){.stat-row{gap:12px}.stat-value{font-size:23px}.user-search{max-width:260px}}.identity-table{--cols:1.3fr 1.3fr .8fr 1.2fr}.identity-table .num{font-variant-numeric:tabular-nums}.access-table{--cols:2fr 1fr .6fr}.access-table>div{min-height:52px}.policy-table{--cols:1fr auto}.policy-table>div{padding:11px 18px}.policy-default{color:var(--ink-4);letter-spacing:.03em;text-transform:uppercase;background:#f2f2f5;border-radius:5px;margin-left:8px;padding:2px 7px;font-size:11px;font-style:normal}.policy-actions{justify-self:end;align-items:center;gap:12px;display:flex}.policy-reset{color:var(--ink-3);font-size:13px}.policy-reset:hover:not(:disabled){color:var(--ink);text-decoration:underline}.policy-reset:disabled{color:var(--line);cursor:default}.picker-row{align-items:flex-end;gap:12px;display:flex}.picker{flex-direction:column;flex:none;gap:6px;display:flex}.picker-label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-4);font-size:11.5px;font-weight:600}.picker-shell{position:relative}.picker-trigger{border:1px solid var(--line);background:var(--surface);width:100%;min-width:210px;color:var(--ink);text-align:left;border-radius:9px;justify-content:space-between;align-items:center;gap:9px;padding:8px 12px;font-size:14px;display:inline-flex}.picker-trigger:hover:not(:disabled){border-color:#d6d6de}.picker-trigger:disabled{color:var(--ink-4);cursor:default}.picker-trigger svg{color:var(--ink-3);flex:none}.picker-trigger span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.picker-menu{z-index:20;border:1px solid var(--line);background:var(--surface);min-width:100%;max-height:320px;box-shadow:var(--shadow-lg);border-radius:10px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto}.picker-option{text-align:left;white-space:nowrap;width:100%;color:var(--ink-2);border-radius:7px;padding:8px 10px;font-size:14px;display:block}.picker-option:hover{background:#f4f4f7}.picker-option.is-active{background:var(--accent-softer);color:var(--accent-strong);font-weight:500}.segmented{border:1px solid var(--line);border-radius:9px;justify-self:end;display:flex;overflow:hidden}.segment{color:var(--ink-3);background:var(--surface);align-items:center;gap:6px;padding:9px 16px;font-size:13.5px;display:inline-flex}.segment+.segment{border-left:1px solid var(--line)}.segment:hover{background:#f7f7f9}.segment.is-encrypt svg{color:var(--accent)}.segment.is-block svg{color:#dc2626}.segment.is-allow svg{color:#16a34a}.segment.is-selected{font-weight:500}.segment.is-encrypt.is-selected{color:var(--accent-strong);background:#e9eaff}.segment.is-block.is-selected{color:#b91c1c;background:#fde8e8}.segment.is-allow.is-selected{color:#15803d;background:#dcfce7}@media (width<=1280px){.segment{padding:8px 12px}.picker-trigger{min-width:170px}}.app{height:100%;display:flex;overflow:hidden}.main{background:var(--canvas);flex-direction:column;flex:1;min-width:0;display:flex}.canvas{flex:1;min-height:0;padding:26px 30px 30px;display:flex}.canvas-inner{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-sm);flex-direction:column;flex:1;display:flex;overflow:hidden}.app{min-width:1024px}@media (width<=1440px){.canvas{padding:20px 22px 22px}}@media (width<=1280px){.canvas{padding:14px 16px 16px}}.splash{text-align:center;background:var(--canvas);flex-direction:column;justify-content:center;align-items:center;gap:16px;height:100%;padding:32px;display:flex}.splash img{animation:1.6s ease-in-out infinite splash-pulse}.splash p{max-width:34ch;color:var(--ink-3);font-size:15px}.splash button{color:#fff;background:var(--accent-strong);border-radius:var(--radius-sm);padding:9px 18px;font-size:14px;font-weight:550}.splash button:hover{background:#4338ca}@keyframes splash-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.94)}}@media (prefers-reduced-motion:reduce){.splash img{animation:none}}.login{background:var(--surface);min-height:100%;display:flex}.login-pitch{background:radial-gradient(120% 90% at 12% 8%, var(--accent-softer) 0%, transparent 58%), linear-gradient(160deg, #fbfbfe 0%, #f4f4f8 100%);border-right:1px solid var(--line);flex:52%;justify-content:center;align-items:center;padding:48px;display:flex}.login-pitch-inner{width:100%;max-width:460px}.login-brand{color:var(--ink);align-items:center;gap:12px;margin-bottom:40px;font-size:20px;font-weight:650;display:flex}.login-pitch h1{letter-spacing:-.02em;color:var(--ink);font-size:34px;font-weight:600;line-height:1.25}.login-pitch h1 em{color:var(--accent-strong);margin-top:6px;font-style:normal;display:block}.login-pitch ul{flex-direction:column;gap:14px;margin:34px 0 0;padding:0;list-style:none;display:flex}.login-pitch li{color:var(--ink-2);align-items:flex-start;gap:11px;font-size:15px;display:flex}.login-tick{background:var(--accent-soft);width:20px;height:20px;color:var(--accent-strong);border-radius:50%;flex:none;place-items:center;margin-top:2px;display:grid}.login-panel{background:var(--canvas);flex:48%;justify-content:center;align-items:center;padding:48px;display:flex}.login-card-wrap{text-align:center;width:100%;max-width:400px}.login-mark{margin:0 auto 18px;display:block}.login-card-wrap h2{letter-spacing:-.01em;color:var(--ink);font-size:24px;font-weight:620}.login-sub{color:var(--ink-3);margin-top:6px;font-size:14px}.login-card{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-top:26px;padding:28px 26px}.login-card form{flex-direction:column;gap:18px;display:flex}.field{flex-direction:column;gap:7px;display:flex}.field span{color:var(--ink-2);font-size:13px;font-weight:550}.field input{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);outline:none;width:100%;padding:11px 13px;transition:border-color .15s,box-shadow .15s}.field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-softer)}.login-submit{color:#fff;background:var(--accent-strong);border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:8px;width:100%;padding:11px 16px;font-weight:560;transition:background .15s,opacity .15s;display:flex}.login-submit:hover:not(:disabled){background:#4338ca}.login-submit:disabled{opacity:.62;cursor:default}.login-sso{margin-top:4px}.login-ghost{width:100%;color:var(--ink-3);text-align:center;margin-top:14px;font-size:13px;display:block}.login-ghost:hover{color:var(--accent-strong);text-decoration:underline}.login-hint{color:var(--ink-3);font-size:14px}.login-error{color:#b42318;border-radius:var(--radius-sm);background:#fef3f2;border:1px solid #fecdca;padding:9px 11px;font-size:13px}.login-unsupported p{color:var(--ink-2);font-size:14px}.login-hint code,.login-unsupported code{background:var(--canvas);border:1px solid var(--line);border-radius:6px;margin:0 4px;padding:1px 6px;font-size:13px}.login-divider{color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:10px;font-size:12px;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--line);flex:1;height:1px}.login-back{color:var(--ink-3);margin-top:18px;font-size:13px}.login-back:hover{color:var(--accent-strong);text-decoration:underline}@media (width<=1080px){.login-pitch{display:none}}
