html,body,#root{margin:0;height:100%}.installer-page{min-height:100%;background:#0b1220;display:flex;align-items:center;justify-content:center;padding:24px}.corpim{height:100vh;min-height:640px;display:flex;flex-direction:column;background:#f5f6f7;color:#1f2329;font-family:Segoe UI,PingFang SC,Microsoft YaHei,system-ui,sans-serif}.corpim-topbar{height:52px;background:#fff;border-bottom:1px solid #dee0e3;display:flex;align-items:center;gap:16px;padding:0 16px;flex-shrink:0}.corpim-topbar__left{display:flex;align-items:center;gap:10px;min-width:180px}.corpim-logo{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,#3370ff,#5b8cff);color:#fff;font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center}.corpim-topbar__brand strong{display:block;font-size:14px;line-height:1.2}.corpim-topbar__brand span{font-size:11px;color:#8f959e}.corpim-search{flex:1;max-width:480px;display:flex;align-items:center;gap:8px;background:#f5f6f7;border:1px solid #dee0e3;border-radius:8px;padding:0 12px;height:36px}.corpim-search input{border:none;background:transparent;flex:1;font-size:13px;outline:none}.corpim-search__icon{font-size:14px;opacity:.5}.corpim-topbar__actions{display:flex;align-items:center;gap:8px}.corpim-auth{position:relative}.corpim-auth__toggle{border:1px solid #d4d4d0;background:#fff;border-radius:6px;padding:6px 10px;font-size:12px;cursor:pointer;white-space:nowrap}.corpim-auth.is-in .corpim-auth__toggle{border-color:#86efac;background:#f0fdf4}.corpim-auth__panel{position:absolute;right:0;top:calc(100% + 8px);z-index:40;width:min(320px,80vw);padding:12px;border:1px solid #e2e2de;border-radius:8px;background:#fff;box-shadow:0 8px 24px #0f172a1f;font-size:12px;line-height:1.4}.corpim-auth__panel label{display:flex;flex-direction:column;gap:4px;margin-top:8px}.corpim-auth__panel input{border:1px solid #d4d4d0;border-radius:6px;padding:6px 8px;font-size:13px}.corpim-auth__error{color:#b91c1c;margin:8px 0 0}.corpim-auth__actions{margin-top:10px;display:flex;justify-content:flex-end}.corpim-auth-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;padding:10px 12px;border-radius:8px;border:1px solid #fcd34d;background:#fffbeb;font-size:13px}.corpim-auth-banner--ok{border-color:#86efac;background:#f0fdf4}.corpim-auth-banner button:not(.ghost){border:1px solid #166534;background:#166534;color:#fff;border-radius:6px;padding:6px 10px;font-size:12px;cursor:pointer;white-space:nowrap}.corpim-auth-banner button:disabled{opacity:.6;cursor:not-allowed}.corpim-audit{margin:0 0 16px;padding:12px 14px;border:1px solid #e2e2de;border-radius:8px;background:#fafaf8}.corpim-audit__head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px}.corpim-audit__head h3{margin:0;font-size:14px}.corpim-audit__head span{font-size:11px;color:#78786f}.corpim-audit__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.corpim-audit__list li{display:grid;grid-template-columns:72px 1fr auto auto;gap:8px;align-items:center;font-size:12px}.corpim-audit__action{font-size:10px;padding:2px 6px;border-radius:4px;background:#e8e8e4;text-align:center}.corpim-audit__action.action-approve{background:#dcfce7;color:#166534}.corpim-audit__action.action-reject{background:#fee2e2;color:#991b1b}.corpim-audit__action.action-ingest{background:#e0e7ff;color:#3730a3}.corpim-audit__ref{font-size:11px;color:#475569}.corpim-audit__list time{color:#94a3b8;font-size:11px;white-space:nowrap}.corpim-audit__empty,.corpim-audit__error{margin:0;font-size:12px;color:#78786f}.corpim-audit__error{color:#b91c1c}@media(max-width:720px){.corpim-audit__list li{grid-template-columns:64px 1fr}.corpim-audit__list time,.corpim-audit__ref{grid-column:2}}.corpim-icon-btn{border:none;background:transparent;width:32px;height:32px;border-radius:6px;cursor:pointer}.corpim-icon-btn:hover{background:#f5f6f7}.corpim-link-btn{font-size:12px;color:#3370ff;text-decoration:none;padding:6px 10px;border-radius:6px;border:1px solid #dee0e3;background:#fff}.corpim-link-btn:hover{background:#f0f4ff}.corpim-avatar{width:32px;height:32px;border-radius:50%;background:#3370ff;color:#fff;font-size:13px;display:flex;align-items:center;justify-content:center}.corpim-body{flex:1;display:flex;min-height:0;overflow:hidden}.corpim-site-footer{flex-shrink:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 20px;padding:10px 16px 12px;border-top:1px solid #dee0e3;background:#fff;font-size:12px;color:#5c5c56}.corpim-site-footer strong{color:#1f2329}.corpim-site-footer__price{margin-left:auto;color:#0f766e}.corpim-site-footer p{flex-basis:100%;margin:0;line-height:1.4}.corpim-site-footer a{color:#0f766e}.corpim-guide__pricing{margin:10px 0 0;font-size:13px;color:#0f766e}.corpim-guide__pricing a{color:inherit;font-weight:600}.corpim-rail{width:64px;background:#1e2430;display:flex;flex-direction:column;padding:8px 0;flex-shrink:0}.corpim-rail__item{border:none;background:transparent;color:#8f959e;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;cursor:pointer;font-size:11px}.corpim-rail__item.is-active{color:#fff;background:#3370ff33}.corpim-rail__icon{font-size:18px;line-height:1}.corpim-panel{width:280px;background:#fff;border-right:1px solid #dee0e3;display:flex;flex-direction:column;flex-shrink:0}.corpim-panel__head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 8px}.corpim-panel__head h2{margin:0;font-size:16px}.corpim-text-btn{border:none;background:transparent;font-size:20px;color:#646a73;cursor:pointer}.corpim-filter{display:flex;gap:6px;padding:0 12px 10px;flex-wrap:wrap}.corpim-filter button{border:none;background:#f5f6f7;color:#646a73;font-size:12px;padding:4px 10px;border-radius:6px;cursor:pointer}.corpim-filter button.is-active{background:#e8f3ff;color:#3370ff}.corpim-chat-list{list-style:none;margin:0;padding:0;overflow:auto;flex:1}.corpim-chat-item{width:100%;border:none;background:transparent;display:flex;align-items:flex-start;gap:10px;padding:12px 14px;text-align:left;cursor:pointer;position:relative}.corpim-chat-item:hover{background:#f5f6f7}.corpim-chat-item.is-active{background:#e8f3ff}.corpim-chat-item__avatar{width:40px;height:40px;border-radius:10px;color:#fff;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.corpim-chat-item__main{flex:1;min-width:0}.corpim-chat-item__row{display:flex;justify-content:space-between;gap:8px;margin-bottom:4px}.corpim-chat-item__name{font-size:14px;font-weight:600;color:#1f2329}.corpim-chat-item__name em{font-style:normal;font-size:10px;color:#3370ff;background:#e8f3ff;padding:1px 4px;border-radius:4px;margin-left:4px}.corpim-chat-item__row time{font-size:11px;color:#8f959e}.corpim-chat-item__main p{margin:0;font-size:12px;color:#646a73;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.corpim-badge{position:absolute;right:12px;top:12px;background:#f54a45;color:#fff;font-size:11px;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 5px}.corpim-main{flex:1;display:flex;flex-direction:column;min-width:0;background:#f5f6f7}.corpim-main--muted{align-items:center;justify-content:center;padding:32px}.corpim-chat-header{height:56px;background:#fff;border-bottom:1px solid #dee0e3;display:flex;align-items:center;justify-content:space-between;padding:0 20px}.corpim-chat-header h1{margin:0;font-size:16px}.corpim-chat-header p{margin:2px 0 0;font-size:12px;color:#8f959e}.corpim-chat-header__tools button{border:none;background:transparent;font-size:16px;margin-left:8px;cursor:pointer}.corpim-chat-body{flex:1;overflow:auto;padding:20px 24px}.corpim-bubble-row{display:flex;gap:10px;margin-bottom:16px}.corpim-bubble-row.right{flex-direction:row-reverse}.corpim-bubble-avatar{width:32px;height:32px;border-radius:8px;color:#fff;font-size:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.corpim-bubble-wrap{max-width:62%}.corpim-bubble-author{display:block;font-size:12px;color:#8f959e;margin-bottom:4px}.corpim-bubble{background:#fff;border:1px solid #dee0e3;border-radius:10px;padding:10px 14px;font-size:14px;line-height:1.5;box-shadow:0 1px 2px #0000000a}.corpim-bubble-row.right .corpim-bubble{background:#cce0ff;border-color:#b8d4ff}.corpim-bubble.is-card{background:#fff;border-left:3px solid #3370ff}.corpim-suite-card{background:#fff;border:1px solid #dee0e3;border-left:3px solid #3370ff;border-radius:10px;padding:12px 14px;min-width:min(420px,100%);max-width:480px;box-shadow:0 1px 2px #0000000a}.corpim-suite-card--office-doc-shared{border-left-color:#52525b}.corpim-suite-card--oa-approval-pending{border-left-color:#d97706}.corpim-suite-card--writeback{border-left-color:#16a34a}.corpim-suite-card__head{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.corpim-suite-card__type,.corpim-suite-card__provider,.corpim-suite-card__source{font-size:11px;font-weight:500;color:#646a73;background:#f2f3f5;border-radius:4px;padding:2px 6px}.corpim-suite-card__type{color:#3370ff;background:#eef3ff}.corpim-suite-card__title{margin:0 0 4px;font-size:15px;font-weight:600;color:#1f2329}.corpim-suite-card__summary{margin:0;font-size:13px;line-height:1.45;color:#646a73}.corpim-suite-card__ref{margin:8px 0 0;font-size:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#8f959e}.corpim-suite-card__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.corpim-suite-card__btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #dee0e3;background:#fff;color:#1f2329;border-radius:6px;padding:6px 12px;font-size:13px;cursor:pointer;text-decoration:none}.corpim-suite-card__btn.primary{background:#3370ff;border-color:#3370ff;color:#fff}.corpim-suite-card__btn.ghost{background:transparent}.corpim-suite-card__btn:disabled{opacity:.45;cursor:not-allowed}.corpim-suite-card__hint{margin:8px 0 0;font-size:12px;color:#8f959e}.corpim-msg-bus-hint{margin:0 12px 8px;font-size:11px;color:#646a73}.corpim-msg-bus-hint--err{color:#c2410c}.corpim-office-share{display:flex;flex-direction:column;gap:8px}.corpim-office-share__row{display:flex;flex-wrap:wrap;gap:8px}.corpim-office-share__row input{flex:1 1 160px;border:1px solid #dee0e3;border-radius:6px;padding:8px 10px;font-size:13px}.corpim-office-share__row button{border:none;background:#3370ff;color:#fff;border-radius:6px;padding:8px 14px;font-size:13px;cursor:pointer}.corpim-office-share__row button:disabled{opacity:.55;cursor:not-allowed}.corpim-office-share__err{margin:0;font-size:12px;color:#c2410c}.corpim-office-share__hint{margin:0;font-size:12px;color:#8f959e}.corpim-office-share__hint code{font-size:11px}.corpim-bubble-wrap time{display:block;font-size:11px;color:#8f959e;margin-top:4px}.corpim-bubble-row.right .corpim-bubble-wrap time{text-align:right}.corpim-chat-compose{background:#fff;border-top:1px solid #dee0e3;padding:12px 16px 16px}.corpim-compose-tools button{border:none;background:transparent;margin-right:8px;cursor:pointer}.corpim-chat-compose textarea{width:100%;border:none;resize:none;font-size:14px;outline:none;margin:8px 0;font-family:inherit}.corpim-compose-actions{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#8f959e}.corpim-send{border:none;background:#3370ff;color:#fff;font-weight:600;padding:8px 20px;border-radius:8px;cursor:pointer}.corpim-send:hover{background:#2b5fd9}.corpim-contact-tree{padding:8px 12px;overflow:auto;flex:1}.corpim-dept__title{width:100%;border:none;background:transparent;text-align:left;font-weight:600;padding:8px 6px;cursor:pointer}.corpim-contact{width:100%;border:none;background:transparent;display:flex;align-items:center;gap:8px;padding:8px 6px;cursor:pointer;font-size:13px}.corpim-contact:hover{background:#f5f6f7}.corpim-contact__avatar{width:28px;height:28px;border-radius:50%;background:#dee0e3;display:flex;align-items:center;justify-content:center;font-size:12px}.corpim-empty-card{background:#fff;border-radius:12px;padding:32px;max-width:480px;border:1px solid #dee0e3}.corpim-empty-card ul{margin:12px 0 0;padding-left:20px;color:#646a73;line-height:1.6}.corpim-workbench{flex:1;overflow:auto;padding:24px 28px}.corpim-workbench__hero{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.corpim-workbench__hero h1{margin:0 0 6px;font-size:22px}.corpim-workbench__hero p{margin:0;color:#646a73}.corpim-workbench__manage{border:1px solid #dee0e3;background:#fff;padding:8px 14px;border-radius:8px;cursor:pointer}.corpim-workbench__section h3{margin:0 0 12px;font-size:14px;color:#646a73}.corpim-todo-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-bottom:28px}.corpim-todo{background:#fff;border:1px solid #dee0e3;border-radius:12px;padding:14px 16px}.corpim-todo__tag{font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;display:inline-block;margin-bottom:8px}.corpim-todo__tag.oa{background:#e8f3ff;color:#3370ff}.corpim-todo__tag.office{background:#f4f4f5;color:#3f3f46}.corpim-todo__tag.fin{background:#e8faf0;color:#00b578}.corpim-todo__tag.plm{background:#f3eeff;color:#7b61ff}.corpim-todo strong{display:block;margin-bottom:4px}.corpim-todo p{margin:0 0 12px;font-size:13px;color:#646a73}.corpim-todo__actions button{border:none;background:#3370ff;color:#fff;padding:6px 12px;border-radius:6px;font-size:12px;cursor:pointer;margin-right:8px}.corpim-todo__actions button.ghost{background:#f5f6f7;color:#646a73}.corpim-app-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:16px}.corpim-app-card{border:none;background:#fff;border-radius:12px;padding:16px 12px;text-align:center;cursor:pointer;border:1px solid #dee0e3;position:relative;display:flex;flex-direction:column;align-items:center;gap:6px}.corpim-app-card:hover{box-shadow:0 4px 12px #0000000f}.corpim-app-card__icon{width:44px;height:44px;border-radius:12px;color:#fff;font-weight:700;font-size:18px;display:flex;align-items:center;justify-content:center}.corpim-app-card strong{font-size:13px}.corpim-app-card span{font-size:11px;color:#8f959e}.corpim-app-card em{font-size:10px;color:#3370ff;font-style:normal}.corpim-app-card__badge{position:absolute;top:8px;right:8px;background:#f54a45;color:#fff;font-size:10px;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center}.corpim-todo__ref{font-size:11px;color:#8f959e;margin:0 0 8px;font-family:Consolas,monospace}.corpim-todo-empty{color:#8f959e;padding:16px}.corpim-todo__tag.erp{background:#fff3e8;color:#e05b00}.corpim-todo__tag.dev{background:#ede9fe;color:#5b21b6}.corpim-todo__tag.growth{background:#fce7f3;color:#be185d}.corpim-todo__tag.equity{background:#ccfbf1;color:#0f766e}.corpim-todo__tag.compliance{background:#ffedd5;color:#b45309}.corpim-todo__tag.vc{background:#ede9fe;color:#6d28d9}.corpim-compliance__badge{color:#0f766e;background:#ccfbf1}.corpim-compliance__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}.corpim-compliance__stats--soc2{grid-template-columns:repeat(4,1fr);margin-bottom:16px}.corpim-soc2-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.corpim-soc2-filters button{border:1px solid #dee0e3;background:#f5f6f7;color:#646a73;padding:6px 12px;border-radius:8px;font-size:12px;cursor:pointer}.corpim-soc2-filters button.is-active{border-color:#0f766e;background:#ccfbf1;color:#0f766e;font-weight:600}.corpim-soc2-error{color:#dc2626;font-size:13px;margin:0 0 12px}.corpim-compliance__stats article{background:#fff;border:1px solid #dee0e3;border-radius:12px;padding:16px;text-align:center}.corpim-compliance__stats strong{display:block;font-size:28px;margin-bottom:4px}.corpim-compliance__stats span{font-size:12px;color:#646a73}.corpim-compliance__panel{background:#fff;border:1px solid #dee0e3;border-radius:12px;padding:20px}.corpim-compliance__panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.corpim-compliance__panel-head h3{margin:0 0 4px}.corpim-compliance__panel-head p{margin:0;font-size:13px;color:#646a73}.corpim-compliance__panel-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;flex-shrink:0}.corpim-compliance__panel-head button{border:1px solid #3370ff;background:#fff;color:#3370ff;padding:8px 14px;border-radius:8px;cursor:pointer;font-size:13px}.corpim-compliance__panel-head button.is-secondary{border-color:#dee0e3;color:#1f2329}.corpim-compliance__panel-head button:disabled{opacity:.55;cursor:default}.corpim-soc2-list{list-style:none;margin:0;padding:0}.corpim-soc2-item{display:grid;grid-template-columns:72px 1fr auto auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #eee;font-size:13px}.corpim-soc2-item.is-open{align-items:start}.corpim-soc2-item__select{font-size:12px;padding:4px 6px;border-radius:6px;border:1px solid #dee0e3;background:#fff}.corpim-soc2-item__expand{border:1px solid #dee0e3;background:#fff;color:#1f2329;padding:6px 10px;border-radius:6px;font-size:12px;cursor:pointer}.corpim-soc2-item__detail{grid-column:1 / -1;display:flex;flex-direction:column;gap:10px;padding:8px 0 4px}.corpim-soc2-item__detail label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#646a73}.corpim-soc2-item__detail textarea{font:inherit;font-size:13px;padding:8px;border:1px solid #dee0e3;border-radius:8px;resize:vertical}.corpim-soc2-evidence{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.corpim-soc2-evidence li{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;font-size:12px;padding:8px;background:#f8fafc;border-radius:8px}.corpim-soc2-evidence em{color:#8f959e;font-style:normal;white-space:nowrap}.corpim-soc2-evidence-form{display:grid;grid-template-columns:1fr 1fr auto auto;gap:8px}.corpim-soc2-evidence-form input{font:inherit;font-size:13px;padding:8px;border:1px solid #dee0e3;border-radius:8px}.corpim-soc2-evidence-form button{border:none;background:#0f766e;color:#fff;padding:8px 12px;border-radius:8px;font-size:12px;cursor:pointer}.corpim-soc2-evidence-form button:disabled{opacity:.5;cursor:not-allowed}.corpim-soc2-evidence-form button.is-secondary{background:#fff;color:#0f766e;border:1px solid #0f766e}.corpim-compliance__stats--vendors{grid-template-columns:repeat(4,1fr);margin-bottom:16px}.corpim-vendor-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 20px;padding:16px;background:#f8fafc;border:1px solid #dee0e3;border-radius:10px}.corpim-vendor-form label,.corpim-vendor-card__controls label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#646a73}.corpim-vendor-form input,.corpim-vendor-form select,.corpim-vendor-form textarea,.corpim-vendor-card__controls select{width:100%;box-sizing:border-box;border:1px solid #d8dadd;border-radius:7px;background:#fff;padding:8px;color:#1f2329;font:inherit}.corpim-vendor-form__wide{grid-column:1 / -1}.corpim-vendor-form .corpim-vendor-form__check{flex-direction:row;align-items:center}.corpim-vendor-form__check input{width:auto}.corpim-vendor-form>button{justify-self:end;border:0;border-radius:8px;background:#0f766e;color:#fff;padding:9px 16px;cursor:pointer}.corpim-vendor-list{display:grid;gap:12px}.corpim-vendor-card{border:1px solid #dee0e3;border-left:4px solid #d97706;border-radius:10px;padding:14px}.corpim-vendor-card.status-approved{border-left-color:#16a34a}.corpim-vendor-card.status-blocked{border-left-color:#dc2626}.corpim-vendor-card header{display:flex;justify-content:space-between;gap:12px}.corpim-vendor-card header strong,.corpim-vendor-card header span{display:block}.corpim-vendor-card header span,.corpim-vendor-card>small{color:#646a73;font-size:12px}.corpim-vendor-card>p{margin:10px 0;font-size:13px}.corpim-vendor-card__criticality{text-transform:uppercase;font-weight:700}.corpim-vendor-card dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 12px}.corpim-vendor-card dl div{min-width:0}.corpim-vendor-card dt{color:#8f959e;font-size:11px}.corpim-vendor-card dd{margin:2px 0 0;overflow-wrap:anywhere;font-size:12px}.corpim-vendor-card__controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:10px;align-items:end;margin-bottom:8px}.corpim-vendor-card__controls button{border:1px solid #dc2626;border-radius:7px;background:#fff;color:#dc2626;padding:8px 10px;cursor:pointer}@media(max-width:800px){.corpim-compliance__panel-head{flex-direction:column}.corpim-compliance__panel-actions{justify-content:flex-start}.corpim-compliance__stats--soc2,.corpim-compliance__stats--vendors{grid-template-columns:repeat(2,1fr)}.corpim-soc2-item{grid-template-columns:64px 1fr}.corpim-soc2-item__select,.corpim-soc2-item__expand{grid-column:1 / -1}.corpim-soc2-evidence-form,.corpim-vendor-form,.corpim-vendor-card dl,.corpim-vendor-card__controls{grid-template-columns:1fr}.corpim-vendor-form__wide{grid-column:auto}}.corpim-soc2-item__code{font-family:Consolas,monospace;font-weight:700;color:#646a73}.corpim-soc2-item__main strong{display:block}.corpim-soc2-item__main span{color:#8f959e;font-size:12px}.corpim-soc2-item.status-gap{background:#fef2f2;margin:0 -12px;padding:12px;border-radius:8px}.corpim-soc2-item.status-pass{opacity:.95}.corpim-soc2-item__badge{font-size:11px;font-weight:700;text-transform:uppercase}.corpim-soc2-item.status-gap .corpim-soc2-item__badge{color:#dc2626}.corpim-soc2-item.status-pass .corpim-soc2-item__badge{color:#16a34a}.corpim-soc2-item.status-in_progress .corpim-soc2-item__badge{color:#d97706}.corpim-vc-list{list-style:none;margin:0;padding:0}.corpim-vc-card{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid #eee;font-size:13px}.corpim-vc-card strong{display:block}.corpim-vc-card span{color:#646a73;font-size:12px}.corpim-vc-card__meta em{font-weight:700;color:#6d28d9}.corpim-todo-row--compact .corpim-todo{min-width:240px}.corpim-integrations{flex:1;overflow:auto;padding:24px 28px;background:#f5f6f7}.corpim-integrations__hero{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:16px}.corpim-integrations__hero h1{margin:0 0 6px;font-size:22px}.corpim-integrations__hero p{margin:0;color:#646a73}.corpim-sync-all{border:none;background:#3370ff;color:#fff;padding:10px 18px;border-radius:8px;font-weight:600;cursor:pointer}.corpim-sync-all:disabled{opacity:.6;cursor:not-allowed}.corpim-integrations__group{margin-bottom:28px}.corpim-integrations__group h2{font-size:14px;color:#646a73;margin:0 0 12px}.corpim-connector-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.corpim-connector{background:#fff;border:1px solid #dee0e3;border-radius:12px;padding:16px}.corpim-connector__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.corpim-connector__status{font-size:11px;font-weight:600}.status-connected{color:#00b578}.status-syncing{color:#3370ff}.status-error{color:#d0021b}.status-disconnected{color:#8f959e}.corpim-connector--catalog{background:#f5f6f7;border-color:#e2e2de;opacity:.92}.corpim-connector--catalog h3,.corpim-connector--catalog .corpim-connector__note{color:#646a73}.corpim-connector--catalog .corpim-connector__endpoint{color:#8f959e}.corpim-connector--live.corpim-connector--disconnected{border-color:#fcd34d;background:#fffbeb}.corpim-connector__live-badge{margin-left:8px;font-size:10px;font-weight:700;letter-spacing:.04em;color:#d0021b;border:1px solid #d0021b;border-radius:3px;padding:1px 5px;vertical-align:middle}.corpim-integrations__honesty{margin:8px 0 0;font-size:13px;color:#646a73;max-width:520px}.corpim-connector h3{margin:0 0 6px;font-size:15px}.corpim-connector__note{margin:0 0 8px;font-size:13px;color:#646a73;line-height:1.45}.corpim-connector__endpoint{display:block;font-size:11px;color:#646a73;background:#f5f6f7;padding:8px;border-radius:6px;margin-bottom:12px;word-break:break-all}.corpim-connector__foot{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#8f959e}.corpim-connector__foot button{border:1px solid #3370ff;background:#fff;color:#3370ff;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:12px}.corpim-connector__foot button:disabled{opacity:.5;cursor:not-allowed}.corpim-integrations__flow{background:#fff;border:1px solid #dee0e3;border-radius:12px;padding:16px}.corpim-integrations__flow h2{margin:0 0 10px;font-size:14px}.corpim-integrations__flow pre{margin:0;font-size:12px;color:#646a73;line-height:1.5;white-space:pre-wrap}.corpim-placeholder{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#646a73}.corpim-software{flex:1;overflow:auto;padding:24px 28px;background:#f5f6f7}.corpim-software__hero{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}.corpim-software__hero h1{margin:8px 0 6px;font-size:22px}.corpim-software__hero p{margin:0;color:#646a73}.corpim-software__badge{display:inline-block;font-size:11px;font-weight:700;color:#5b21b6;background:#ede9fe;padding:4px 10px;border-radius:999px}.corpim-software__tabs{display:flex;gap:8px;margin-bottom:20px}.corpim-software__tabs button{border:1px solid #dee0e3;background:#fff;padding:8px 16px;border-radius:8px;cursor:pointer;font-size:13px}.corpim-software__tabs button.is-active{border-color:#3370ff;color:#3370ff;background:#eef3ff}.corpim-software__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-bottom:24px}.corpim-software__columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}.corpim-software__columns h3,.corpim-software__ci h3{font-size:14px;margin:0 0 12px}.corpim-ci-list{list-style:none;margin:0;padding:0}.corpim-ci-item{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 14px;background:#fff;border:1px solid #dee0e3;border-radius:8px;margin-bottom:8px;font-size:13px}.corpim-ci-item.status-fail{border-color:#fecaca;background:#fef2f2}.corpim-ci-item.status-pass{border-color:#bbf7d0}.corpim-ci-item__badge{font-size:11px;font-weight:700;text-transform:uppercase}.corpim-ci-item.status-fail .corpim-ci-item__badge{color:#dc2626}.corpim-ci-item.status-pass .corpim-ci-item__badge{color:#16a34a}.corpim-software__split{display:grid;grid-template-columns:280px 1fr;gap:20px;min-height:420px}.corpim-software__side{background:#fff;border:1px solid #dee0e3;border-radius:12px;padding:16px}.corpim-software__side h3{margin:0 0 12px;font-size:14px}.corpim-software__side-note{margin:12px 0 0;font-size:12px;color:#8f959e}.corpim-software__main-panel{background:#fff;border:1px solid #dee0e3;border-radius:12px;padding:16px}.corpim-software__main-panel h3{margin:0 0 4px}.corpim-software__panel-lede{margin:0 0 12px;font-size:13px;color:#646a73}.corpim-dev-agent__messages{max-height:320px;overflow:auto;margin-bottom:12px}.corpim-dev-agent__row{margin-bottom:12px}.corpim-dev-agent__row.right{text-align:right}.corpim-dev-agent__bubble{display:inline-block;max-width:90%;padding:10px 14px;border-radius:10px;font-size:13px;line-height:1.45;text-align:left}.corpim-dev-agent__row.left .corpim-dev-agent__bubble{background:#f5f6f7}.corpim-dev-agent__row.right .corpim-dev-agent__bubble{background:#3370ff;color:#fff}.corpim-dev-agent__row time{display:block;font-size:11px;color:#8f959e;margin-top:4px}.corpim-dev-agent__suggestions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.corpim-dev-agent__suggestions button{border:1px solid #dee0e3;background:#fff;padding:6px 10px;border-radius:6px;font-size:12px;cursor:pointer}.corpim-dev-agent__compose{display:flex;gap:8px}.corpim-dev-agent__compose input{flex:1;border:1px solid #dee0e3;border-radius:8px;padding:10px 12px}.corpim-dev-agent__compose button{border:none;background:#3370ff;color:#fff;padding:10px 18px;border-radius:8px;cursor:pointer}.corpim-dev-agent__thinking{font-size:13px;color:#646a73;margin:0}.corpim-growth__actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.corpim-growth__actions button{border:1px solid #3370ff;background:#fff;color:#3370ff;padding:8px 14px;border-radius:8px;cursor:pointer;font-size:13px}.corpim-growth__actions button:disabled{opacity:.5}.corpim-growth__section{background:#fff;border:1px solid #dee0e3;border-radius:12px;padding:16px;margin-bottom:16px}.corpim-growth__section h3{margin:0 0 12px;font-size:14px}.corpim-growth-table{width:100%;border-collapse:collapse;font-size:13px}.corpim-growth-table th,.corpim-growth-table td{padding:10px 8px;border-bottom:1px solid #eee;text-align:left}.corpim-growth-status.status-live{color:#16a34a;font-weight:600}.corpim-growth-status.status-draft{color:#8f959e}.corpim-lead-list{list-style:none;margin:0;padding:0}.corpim-lead-card{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #eee;font-size:13px}.corpim-lead-card strong{display:block}.corpim-lead-card span{color:#646a73;font-size:12px}.corpim-lead-score{font-weight:700;color:#be185d}.corpim-growth__hint{margin:0 0 12px;font-size:13px;color:#646a73}.corpim-growth-publish{border:none;background:#ec4899;color:#fff;padding:10px 18px;border-radius:8px;cursor:pointer}.corpim-growth__ok{margin:12px 0 0;color:#16a34a;font-size:13px}.corpim-studio__badge{color:#0369a1;background:#e0f2fe}.corpim-studio__tabs{flex-wrap:wrap}.corpim-studio__metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.corpim-studio__metric{background:#fff;border:1px solid #dee0e3;border-radius:12px;padding:14px 16px}.corpim-studio__metric span{display:block;font-size:12px;color:#646a73;margin-bottom:4px}.corpim-studio__metric strong{display:block;font-size:22px;margin-bottom:2px}.corpim-studio__metric em{font-size:12px;font-style:normal;font-weight:600}.corpim-studio__metric.trend-up em{color:#16a34a}.corpim-studio__metric.trend-down em{color:#dc2626}.corpim-studio__metric.trend-flat em{color:#8f959e}.corpim-studio__dual{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.corpim-todo__tag.product{background:#ffedd5;color:#c2410c}.corpim-todo__tag.engineering{background:#fee2e2;color:#b91c1c}.corpim-todo__tag.revenue{background:#dbeafe;color:#1d4ed8}.corpim-todo__tag.copilot{background:#f3e8ff;color:#7c3aed}.corpim-roadmap-list,.corpim-feedback-list,.corpim-error-list,.corpim-alert-list,.corpim-scan-list,.corpim-preview-list,.corpim-sub-list{list-style:none;margin:0;padding:0}.corpim-roadmap-list li,.corpim-feedback-list li,.corpim-error-item,.corpim-alert-list li,.corpim-scan-list li,.corpim-preview-list li,.corpim-sub-list li{padding:10px 0;border-bottom:1px solid #eee;font-size:13px}.corpim-roadmap-list strong,.corpim-feedback-list strong{display:block}.corpim-roadmap-bar{height:6px;background:#f5f6f7;border-radius:999px;margin:8px 0 4px;overflow:hidden}.corpim-roadmap-bar div{height:100%;background:#3b82f6;border-radius:999px}.corpim-error-item{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;background:#fef2f2;margin:0 -12px 8px;padding:12px;border-radius:8px;border-bottom:none}.corpim-error-item code{font-size:11px;background:#fff;padding:2px 6px;border-radius:4px}.corpim-alert-list li.severity-critical{background:#fef2f2;padding:10px 12px;border-radius:8px;border-bottom:none;margin-bottom:8px}.corpim-alert-list li.severity-warn{background:#fffbeb;padding:10px 12px;border-radius:8px;border-bottom:none;margin-bottom:8px}.corpim-preview-list a{color:#3370ff;font-size:12px}.corpim-preview-status{font-size:11px;font-weight:700;color:#16a34a}.corpim-sub-list li.status-at_risk{background:#fef2f2;padding:10px 12px;border-radius:8px;border-bottom:none;margin-bottom:8px}.corpim-studio__copilot-wrap{display:grid;grid-template-columns:300px 1fr;gap:20px;min-height:480px}.corpim-studio__copilot-side{background:#fff;border:1px solid #dee0e3;border-radius:12px;padding:16px;overflow:auto}.corpim-studio__copilot-side h3{margin:0 0 8px;font-size:14px}.corpim-studio__copilot-lede{margin:0 0 16px;font-size:12px;color:#646a73}.corpim-copilot-source-group{margin-bottom:14px}.corpim-copilot-source-group h4{margin:0 0 6px;font-size:12px;color:#646a73;text-transform:capitalize}.corpim-copilot-source-group ul{list-style:none;margin:0;padding:0}.corpim-copilot-source-group li{font-size:12px;padding:6px 0;border-bottom:1px solid #f0f0f0}.corpim-copilot-source-group code{font-size:10px;color:#8f959e}.corpim-studio__copilot-main{min-height:480px}.corpim-copilot__messages{max-height:360px}.corpim-copilot__sources{display:block;font-size:11px;color:#64748b;margin-top:4px}.corpim-copilot__propose{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.corpim-copilot__propose button{font-size:12px;padding:4px 10px;border:1px solid #d0021b;color:#d0021b;background:#fff;border-radius:4px;cursor:pointer}.corpim-copilot__propose button:hover{background:#fff5f5}.corpim-live-bus{display:flex;flex-direction:column;gap:4px;margin:0 0 16px;padding:12px 14px;border-radius:8px;border:1px solid #e2e2de;background:#f7f7f5;font-size:13px}.corpim-live-bus.ok{border-color:#86efac;background:#f0fdf4}.corpim-live-bus.warn{border-color:#fcd34d;background:#fffbeb}.corpim-live-bus code{font-size:12px}.corpim-live-bus--webhook{border-color:#cbd5e1;background:#f8fafc}.corpim-webhook-curl{margin:8px 0 0;padding:10px 12px;border-radius:6px;background:#0f172a;color:#e2e8f0;font-size:11px;line-height:1.45;overflow-x:auto;white-space:pre-wrap;word-break:break-word}.corpim-guide__badge{color:#047857;background:#d1fae5}.corpim-guide__stages{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.corpim-guide__stage-card{text-align:left;border:2px solid #dee0e3;background:#fff;border-radius:12px;padding:14px 16px;cursor:pointer;transition:border-color .15s}.corpim-guide__stage-card.is-active{border-color:#3370ff;background:#eef3ff}.corpim-guide__stage-card strong{display:block;font-size:14px;margin-bottom:6px}.corpim-guide__stage-card span{display:block;font-size:12px;color:#646a73;margin-bottom:8px;line-height:1.4}.corpim-guide__stage-card em{font-size:11px;font-style:normal;color:#8f959e}.corpim-guide__north{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:12px;margin-bottom:24px}.corpim-studio__stage-banner{margin-bottom:20px;grid-template-columns:1.2fr 1fr 1fr auto}.corpim-studio__stage-hint{grid-column:1 / -1;margin:0;font-size:12px;color:#8f959e}.corpim-guide__north-star{background:linear-gradient(135deg,#047857,#10b981);color:#fff;border-radius:12px;padding:16px 18px}.corpim-guide__north-star span{display:block;font-size:11px;opacity:.9;margin-bottom:4px}.corpim-guide__north-star strong{display:block;font-size:28px;line-height:1.1}.corpim-guide__north-star em{display:block;font-size:13px;font-style:normal;opacity:.95;margin-top:4px}.corpim-guide__north-star p{margin:8px 0 0;font-size:12px;opacity:.9}.corpim-guide__guard{background:#fff;border:1px solid #dee0e3;border-radius:12px;padding:14px 16px}.corpim-guide__guard span{display:block;font-size:12px;color:#646a73;margin-bottom:4px}.corpim-guide__guard strong{font-size:20px}.corpim-guide__guard.status-warn{border-color:#fcd34d;background:#fffbeb}.corpim-guide__guard.status-bad{border-color:#fecaca;background:#fef2f2}.corpim-guide__rec-nav{background:#fff;border:1px solid #dee0e3;border-radius:12px;padding:14px 16px}.corpim-guide__rec-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.corpim-guide__rec-tags span{font-size:11px;background:#f5f6f7;padding:4px 8px;border-radius:6px;font-weight:600}.corpim-guide__section{margin-bottom:28px}.corpim-guide__section h2{margin:0 0 4px;font-size:16px}.corpim-guide__lede{margin:0 0 14px;font-size:13px;color:#646a73}.corpim-guide__top-todo{position:relative}.corpim-guide__rank{position:absolute;top:12px;right:12px;font-size:11px;font-weight:800;color:#3370ff}.corpim-guide__cadence th{font-size:12px}.corpim-guide__playbook-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.corpim-guide__playbook-card{background:#fff;border:1px solid #dee0e3;border-radius:12px;padding:16px}.corpim-guide__playbook-card h3{margin:0 0 8px;font-size:15px}.corpim-guide__playbook-card p{margin:0 0 8px;font-size:13px;color:#646a73;line-height:1.45}.corpim-guide__playbook-meta{display:flex;gap:12px;font-size:11px;color:#8f959e;margin-bottom:8px}.corpim-guide__trigger{font-size:12px!important;color:#8f959e!important}.corpim-guide__playbook-card button{border:none;background:#047857;color:#fff;padding:8px 14px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600}.corpim-guide__modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:100;padding:24px}.corpim-guide__modal{background:#fff;border-radius:16px;max-width:520px;width:100%;max-height:85vh;overflow:auto;padding:20px 24px;box-shadow:0 20px 50px #0003}.corpim-guide__modal header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}.corpim-guide__modal header h2{margin:0;font-size:18px}.corpim-guide__modal-close{border:1px solid #dee0e3;background:#fff;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:12px}.corpim-guide__steps{list-style:none;margin:16px 0;padding:0}.corpim-guide__steps li{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #eee;align-items:flex-start}.corpim-guide__steps li.is-done{opacity:.75}.corpim-guide__step-check{flex-shrink:0;width:32px;height:32px;border-radius:50%;border:2px solid #dee0e3;background:#fff;cursor:pointer;font-size:13px;font-weight:700}.corpim-guide__steps li.is-done .corpim-guide__step-check{background:#047857;border-color:#047857;color:#fff}.corpim-guide__steps strong{display:block;font-size:14px;margin-bottom:4px}.corpim-guide__steps span{display:block;font-size:13px;color:#646a73}.corpim-guide__steps em{display:block;font-size:11px;color:#047857;font-style:normal;margin-top:4px;font-weight:600}.corpim-guide__modal footer{font-size:12px;color:#8f959e;padding-top:8px}@media(max-width:900px){.corpim-guide__stages{grid-template-columns:1fr 1fr}.corpim-guide__north{grid-template-columns:1fr}.corpim-panel--list{width:240px}.corpim-search{max-width:200px}}.corpim-pricing{margin-top:28px;background:#fff;border:1px solid #dee0e3;border-radius:12px;padding:20px}.corpim-pricing__intro h3{margin:0 0 6px}.corpim-pricing__intro p{margin:0 0 8px;color:#646a73;font-size:13px}.corpim-pricing__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}.corpim-pricing__grid article{border:1px solid #dee0e3;border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:6px}.corpim-pricing__grid article.is-featured{border-color:#0f766e;background:#f0fdfa}.corpim-pricing__grid span{font-size:11px;font-weight:700;color:#0f766e;text-transform:uppercase}.corpim-pricing__grid em{font-style:normal;font-size:20px;font-weight:700}.corpim-pricing__grid ul{margin:0;padding-left:16px;font-size:12px;color:#646a73;flex:1}.corpim-pricing__grid small{color:#8f959e}.corpim-pricing__grid button{margin-top:8px;border:none;background:#0f766e;color:#fff;padding:8px 12px;border-radius:8px;cursor:pointer;font-size:13px}.corpim-pricing__grid button:disabled{opacity:.5;cursor:not-allowed}.corpim-pricing__form{display:grid;grid-template-columns:1.4fr 1fr .8fr auto;gap:10px;align-items:end}.corpim-pricing__actions{display:flex;gap:8px}.corpim-pricing__form label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#646a73}.corpim-pricing__form input,.corpim-pricing__form select{font:inherit;font-size:13px;padding:8px;border:1px solid #dee0e3;border-radius:8px}.corpim-pricing__form button{border:none;background:#0f766e;color:#fff;padding:10px 14px;border-radius:8px;cursor:pointer;font-size:13px}.corpim-pricing__form button:disabled{opacity:.5;cursor:not-allowed}.corpim-pricing__form button.is-secondary{background:#fff;color:#0f766e;border:1px solid #0f766e}@media(max-width:900px){.corpim-pricing__grid{grid-template-columns:1fr 1fr}.corpim-pricing__form{grid-template-columns:1fr}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;height:100%;font-family:Segoe UI,PingFang SC,Microsoft YaHei,system-ui,sans-serif;font-size:14px;color:#1a2332}#root{min-height:100%}.installer-page{min-height:100vh;background:#0b1220;display:flex;align-items:center;justify-content:center;padding:24px}.installer-page .installer-window{width:min(960px,100%);height:min(640px,92vh);background:#f4f6fa;border-radius:12px;box-shadow:0 24px 80px #00000073,0 0 0 1px #ffffff0f;display:flex;flex-direction:column;overflow:hidden}.installer-titlebar{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:linear-gradient(135deg,#0d3d8f,#0d5bd8 55%,#1a7af0);color:#fff}.installer-brand{display:flex;align-items:center;gap:12px}.installer-brand strong{display:block;font-size:15px}.installer-brand span{font-size:12px;opacity:.85}.installer-logo{width:40px;height:40px;border-radius:10px;background:#ffffff2e;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}.installer-titlebar-meta{font-size:11px;opacity:.75}.installer-body{flex:1;display:grid;grid-template-columns:220px 1fr;min-height:0}.installer-sidebar{background:#e8ecf4;border-right:1px solid #d4dae6;padding:20px 16px;display:flex;flex-direction:column;gap:20px}.installer-sidebar-label{font-size:11px;font-weight:600;letter-spacing:.06em;color:#5c6b82;margin:0 0 8px;text-transform:uppercase}.installer-steps{list-style:none;margin:0;padding:0}.installer-step{display:flex;gap:10px;align-items:flex-start;padding:10px 8px;border-radius:8px;margin-bottom:4px}.installer-step--active{background:#fff;box-shadow:0 1px 4px #0d3b8f1f}.installer-step--done .installer-step-num{background:#0d5bd8;color:#fff}.installer-step-num{width:26px;height:26px;border-radius:50%;background:#c5cedd;color:#4a5568;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.installer-step--active .installer-step-num{background:#0d5bd8;color:#fff}.installer-step-text strong{display:block;font-size:13px}.installer-step-text small{color:#6b7a90;font-size:11px}.installer-sidebar-note{font-size:12px;color:#5c6b82;border-top:1px solid #d4dae6;padding-top:16px}.installer-sidebar-note p{margin:0 0 8px;font-weight:600}.installer-sidebar-note ul{margin:0;padding-left:18px;line-height:1.5}.installer-main{display:flex;flex-direction:column;min-height:0;background:#fff}.installer-content{flex:1;overflow:auto;padding:28px 32px 12px}.installer-error{margin:0 32px 8px;padding:10px 14px;background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;border-radius:8px;font-size:13px}.installer-footer{display:flex;justify-content:space-between;align-items:center;padding:14px 32px 18px;border-top:1px solid #e8ecf4;background:#fafbfc}.btn{border:none;border-radius:8px;font-size:13px;font-weight:600;padding:10px 20px;cursor:pointer;transition:background .15s,opacity .15s}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:#0d5bd8;color:#fff}.btn-primary:hover:not(:disabled){background:#0b4db8}.btn-secondary{background:#e8ecf4;color:#1a2332}.btn-ghost{background:transparent;color:#4a5568}.btn-ghost:hover{background:#e8ecf4}.step-block h1{margin:0 0 8px;font-size:22px;font-weight:700;color:#0f1a2e}.step-lede{margin:0 0 24px;color:#5c6b82;line-height:1.6;max-width:640px}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.feature-card{background:#f4f6fa;border:1px solid #e2e8f0;border-radius:10px;padding:14px 16px}.feature-card h3{margin:0 0 6px;font-size:14px}.feature-card p{margin:0;font-size:12px;color:#5c6b82;line-height:1.45}.callout{border-radius:10px;padding:14px 16px;font-size:13px;line-height:1.5}.callout ul,.callout ol{margin:8px 0 0;padding-left:20px}.callout--info{background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a5f}.callout--warn{background:#fffbeb;border:1px solid #fde68a;color:#78350f}.callout--success{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.field{display:flex;flex-direction:column;gap:6px}.field--full{grid-column:1 / -1}.field span{font-size:12px;font-weight:600;color:#4a5568}.field input{border:1px solid #cbd5e1;border-radius:8px;padding:10px 12px;font-size:14px;outline:none}.field input:focus{border-color:#0d5bd8;box-shadow:0 0 0 3px #0d5bd826}.field small{font-size:11px;color:#6b7a90}.field-row{display:flex;gap:8px}.field-row input{flex:1}.radio-group{border:none;margin:0 0 16px;padding:0;display:flex;gap:20px}.radio-group legend{font-size:12px;font-weight:600;color:#4a5568;margin-bottom:8px}.radio{display:flex;align-items:center;gap:6px;font-size:13px}.check{display:flex;align-items:center;gap:8px;font-size:13px;margin-bottom:16px;cursor:pointer}.preview-card{background:#0f1a2e;color:#e8ecf4;border-radius:10px;padding:16px 18px;margin-bottom:16px}.preview-label{font-size:11px;opacity:.7;margin:0 0 6px}.preview-url{font-size:18px;font-weight:600;margin:0 0 8px;font-family:Consolas,Courier New,monospace}.preview-hint{font-size:12px;opacity:.75;margin:0}.stack-list h3{font-size:14px;margin:20px 0 8px}.stack-list ul{margin:0;padding-left:20px;color:#4a5568;line-height:1.55}.progress-wrap{position:relative;height:28px;background:#e8ecf4;border-radius:999px;overflow:hidden;margin-bottom:16px}.progress-bar{height:100%;background:linear-gradient(90deg,#0d5bd8,#38bdf8);transition:width .4s ease}.progress-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#1a2332}.log-panel{background:#0f172a;color:#cbd5e1;border-radius:10px;padding:12px 14px;min-height:200px;max-height:240px;overflow:auto;font-family:Consolas,Courier New,monospace;font-size:12px;line-height:1.5}.log-panel ul{list-style:none;margin:0;padding:0}.log-panel li{display:flex;gap:10px;padding:3px 0}.log-panel time{color:#64748b;flex-shrink:0}.log-ok span{color:#4ade80}.log-warn span{color:#fbbf24}.log-err span{color:#f87171}.log-empty{color:#64748b;margin:0}.done-hero{text-align:center;margin-bottom:24px}.done-icon{width:56px;height:56px;margin:0 auto 12px;border-radius:50%;background:#0d5bd8;color:#fff;font-size:28px;line-height:56px}.done-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.done-card{background:#f4f6fa;border:1px solid #e2e8f0;border-radius:10px;padding:16px}.done-card h3{margin:0 0 10px;font-size:14px}.done-url{font-family:Consolas,monospace;font-weight:600;color:#0d5bd8;margin:0 0 8px}.done-card ol{margin:0;padding-left:20px;font-size:13px;color:#4a5568;line-height:1.55}code{font-family:Consolas,Courier New,monospace;font-size:12px;background:#0000000f;padding:2px 6px;border-radius:4px}@media(max-width:800px){.installer-body{grid-template-columns:1fr}.installer-sidebar{display:none}.feature-grid,.form-grid,.done-cards{grid-template-columns:1fr}}
