html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}:root{color:#172030;background:#f5f6f8;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,sans-serif}.shell{min-height:100vh}.side{background:#fff!important;border-right:1px solid #e8eaef;padding:24px 16px;position:relative}.brand{display:flex;flex-direction:column;align-items:flex-start;gap:8px;font-weight:650;padding:4px 8px 38px}.brand img{display:block;width:196px;height:auto;object-fit:contain}.brand small,.task small{display:block;font-size:12px;color:#8c93a1;font-weight:400;margin-top:3px}.nav div{padding:11px 13px;border-radius:10px;margin:3px 0;color:#5b6472}.nav .selected{background:#172030;color:#fff}.local{position:absolute;bottom:24px;left:24px;right:24px;background:#f6f7f9;border-radius:12px;padding:12px;color:#16735a;font-size:12px}.local span{color:#8c93a1}.top{height:auto;line-height:1.2;background:#f5f6f8;padding:30px 40px 12px;display:flex;justify-content:space-between;align-items:center}.top h2{margin:4px 0}.content{padding:20px 40px 40px}.hero{background:#172030;color:#fff;border:0;margin-bottom:20px}.hero .ant-typography{color:#fff}.hero .ant-typography-secondary{color:#b8c0cf}.hero button{border:0}.full{width:100%}.mt{margin-top:20px}.actions{margin-top:18px}.log{background:#111827;color:#d5d9e2;border-radius:10px;padding:13px;font:12px ui-monospace,monospace;line-height:1.8}.log span{color:#5eead4}.log b{color:#f7ca79}.task{width:100%;display:flex;justify-content:space-between;align-items:start}.modal-copy{color:#687386;line-height:1.7;margin-top:24px}code{background:#f1f3f5;padding:2px 5px;border-radius:4px}.infrastructure-warning{margin-bottom:20px;border:1px solid #ffccc7;background:#fff2f0}.infrastructure-warning .ant-typography{color:#8b1e1e}.onboarding-role{cursor:pointer;transition:border-color .15s,box-shadow .15s}.onboarding-role:hover,.selected-role{border-color:#1677ff;box-shadow:0 0 0 1px #1677ff inset}.selected-role{background:#f0f7ff}.web-shell{min-height:100vh;background:#f5f7fb}.web-side{padding:20px 12px;background:#101828!important}.web-brand{color:#fff;display:flex;flex-direction:column;gap:4px;margin-bottom:18px}.web-brand img{width:56px;height:56px;object-fit:contain;background:#fff;border-radius:8px}.web-brand span,.web-brand .ant-typography{color:#b8c2d3}.web-nav{display:flex;flex-direction:column;gap:4px;margin-bottom:20px}.web-nav .ant-btn{color:#d0d5dd;text-align:left}.web-nav .ant-btn-primary{color:#fff}.web-header{display:flex;justify-content:space-between;align-items:center;padding:18px 28px;background:#fff;height:auto}.web-header h2{margin:4px 0 0}.web-content{padding:28px;max-width:1280px;width:100%;margin:0 auto}.web-login{max-width:560px;margin:10vh auto 0;padding:36px;text-align:center}.web-logo{width:84px;height:84px;object-fit:contain;margin-bottom:14px}.web-role-picker{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:24px 0 16px}.web-login>.ant-btn-primary{width:100%}.web-safety{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin-top:24px}.web-error{margin-top:16px;border-color:#fda29b}.web-panel{margin-top:16px;min-height:320px}.web-json{white-space:pre-wrap;word-break:break-word;background:#f8fafc;padding:14px;border-radius:6px;max-height:560px;overflow:auto}@media(max-width:760px){.web-side{width:180px!important;min-width:180px!important}.web-header,.web-content{padding:14px}}.web-v1-login{background:#eef1f6}.web-v1-login .web-content{min-height:100vh;display:flex;align-items:center;justify-content:center}.web-login{display:flex;flex-direction:column;gap:14px;box-shadow:0 18px 55px #1018281f;border-radius:16px}.web-kicker{color:#315efb;font-weight:700;letter-spacing:.03em}.web-fixture-note{font-size:12px;color:#8b95a7}.web-v1-shell .web-side{display:flex;flex-direction:column;min-height:100vh}.web-v1-shell .web-brand{padding:8px 8px 22px}.web-v1-shell .web-brand img{width:48px;height:48px}.web-nav-item{border-radius:8px;margin:1px 0}.web-side-footer{margin-top:auto;display:flex;flex-direction:column;gap:8px;color:#cbd5e1;padding:12px 0 4px}.web-side-footer .ant-typography{color:#cbd5e1;font-size:12px}.web-v1-header{background:#fff;border-bottom:1px solid #e6eaf0}.web-session-strip{border:0;background:#fff}.web-workbench{display:flex;flex-direction:column;gap:16px}.web-hero{background:#182338;color:#fff;border-radius:12px;padding:24px;display:flex;flex-direction:column;gap:6px}.web-hero .ant-typography{color:#fff}.web-hero .ant-typography-secondary{color:#b8c2d3}.web-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.web-card-grid .ant-card{border:0;box-shadow:0 4px 16px #1018280f}.web-stage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.web-stage-grid .ant-card{border:1px solid #e6eaf0}.web-stage-grid .ant-typography{display:block;font-size:12px;margin-top:8px}.web-field-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:16px}.web-field-list>div{display:flex;flex-direction:column;padding:10px;background:#f6f8fb;border-radius:8px}.web-empty{padding:28px;border:1px dashed #c9d1df;border-radius:10px;background:#fafbfc}@media(max-width:900px){.web-card-grid,.web-stage-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.web-card-grid,.web-stage-grid,.web-field-list{grid-template-columns:1fr}.web-v1-shell .web-side{min-height:auto}}
