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-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}.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-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.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 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-head button{border:1px solid #3370ff;background:#fff;color:#3370ff;padding:8px 14px;border-radius:8px;cursor:pointer;font-size:13px}.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__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-disconnected{color:#8f959e}.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}@media(max-width:900px){.corpim-panel--list{width:240px}.corpim-search{max-width:200px}}*,*: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}}
