.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:-webkit-grab;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:#ffffff80;padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.report-wrapper{background:#0d1117;min-height:100vh;padding:20px}.report-toolbar{max-width:800px;margin:0 auto 16px;display:flex;justify-content:space-between}.report-page{max-width:800px;margin:0 auto;background:#fff;color:#1a1a1a;padding:48px;border-radius:8px;font-family:Inter,Segoe UI,sans-serif;line-height:1.5}.report-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:3px solid #00b96b;padding-bottom:16px;margin-bottom:24px}.report-header h1{font-size:24px;margin:0;color:#0d1117}.report-header .subtitle{font-size:18px;color:#00b96b;margin:4px 0 0;font-weight:600}.report-brand{text-align:right;display:flex;flex-direction:column}.report-brand strong{color:#0d1117}.report-brand span{color:#888;font-size:12px}.report-section{margin-bottom:28px;page-break-inside:avoid}.report-section h2{font-size:16px;color:#0d1117;border-left:4px solid #00b96b;padding-left:10px;margin-bottom:12px}.report-section h3{font-size:13px;color:#444;margin:14px 0 6px}.report-section p{font-size:13px;color:#333;margin:6px 0}.client-grid{display:flex;gap:24px;flex-wrap:wrap;margin-bottom:12px}.client-grid>div{display:flex;flex-direction:column}.client-grid label{font-size:10px;color:#999;text-transform:uppercase}.client-grid span{font-size:15px;color:#0d1117;font-weight:600}.device-row{display:flex;gap:20px;font-size:13px;color:#555;background:#f6f8fa;padding:10px 14px;border-radius:6px}.maturity-box{display:flex;align-items:center;gap:20px;border:2px solid;border-radius:10px;padding:16px;margin-bottom:16px}.score-circle{width:80px;height:80px;border:4px solid;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:700}.score-circle small{font-size:14px}.maturity-level{display:flex;flex-direction:column}.maturity-level label{font-size:10px;color:#999}.maturity-level strong{font-size:22px}.pillar-table{width:100%;border-collapse:collapse}.pillar-table td{padding:6px 4px;font-size:12px;vertical-align:middle}.pillar-name{color:#333;width:45%}.pillar-bar{width:45%}.bar-bg{background:#eee;border-radius:4px;height:14px;overflow:hidden}.bar-fill{height:100%;border-radius:4px}.pillar-pct{text-align:right;font-weight:600;color:#0d1117;width:10%}.stat-row{display:flex;gap:12px;margin-bottom:12px}.stat{flex:1;text-align:center;background:#f6f8fa;border-radius:8px;padding:12px 4px}.stat strong{display:block;font-size:24px;color:#0d1117}.stat span{font-size:11px;color:#777}.stat.critical strong{color:#ff4d4f}.stat.high strong{color:#fa541c}.stat.resolved strong{color:#52c41a}.risk-list,.opp-list{list-style:none;padding:0;margin:8px 0}.risk-list li{font-size:12px;padding:5px 0;border-bottom:1px solid #eee;color:#333}.risk-list li em{color:#888;font-style:italic}.resolved-list li{color:#52c41a}.badge{display:inline-block;padding:1px 7px;border-radius:4px;font-size:10px;font-weight:600;color:#fff;margin-right:6px}.sev-critical{background:#ff4d4f}.sev-high{background:#fa541c}.sev-medium{background:#faad14}.sev-low{background:#52c41a}.pipeline-value{font-size:14px}.pipeline-value strong{color:#1890ff}.opp-list li{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid #eee;font-size:13px}.opp-list li strong{color:#1890ff}.report-footer{border-top:1px solid #eee;padding-top:12px;margin-top:24px;text-align:center;font-size:11px;color:#999}@media print{.no-print{display:none!important}.report-wrapper{background:#fff;padding:0}.report-page{box-shadow:none;border-radius:0;max-width:100%;padding:20px}@page{margin:1.5cm}}.report-table{width:100%;border-collapse:collapse;font-size:13px}.report-table th{text-align:left;background:#f4f6f8;color:#0d1117;padding:8px 10px;border-bottom:2px solid #e0e0e0;font-size:12px}.report-table td{padding:7px 10px;border-bottom:1px solid #eee;color:#333}.report-table tr:last-child td{border-bottom:none}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,:root[data-theme=dark]{--c-bg: #0d1117;--c-surface: #161b22;--c-elevated: #1c2128;--c-border: #21262d;--c-text: #e6edf3;--c-text2: #c9d1d9;--c-muted: #8b949e;--c-muted2: #6e7681;--c-faint: #484f58}:root[data-theme=light]{--c-bg: #f0f2f5;--c-surface: #ffffff;--c-elevated: #ffffff;--c-border: #e2e5ea;--c-text: #1f2328;--c-text2: #2b3138;--c-muted: #5c6570;--c-muted2: #8a929c;--c-faint: #b6bcc4}body{background:var(--c-bg)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--c-bg)}::-webkit-scrollbar-thumb{background:var(--c-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--c-muted2)}@media(max-width:768px){.ant-btn{min-height:36px}.ant-table-cell{padding:8px 6px!important;font-size:13px}.ant-form-item{margin-bottom:12px}.ant-select-selector,.ant-input,.ant-input-number-input{font-size:16px!important}.ant-tabs-nav{overflow-x:auto!important}.ant-tabs-nav-wrap{overflow:visible!important}.ant-tabs-tab{padding:8px 12px!important;font-size:13px!important}.ant-card-body{padding:12px!important}.ant-card-head{padding:0 12px!important;min-height:44px}.ant-collapse-content-box{padding:8px!important}.ant-collapse-header{padding:10px 12px!important}.ant-modal{max-width:100vw!important;margin:8px!important}.ant-modal-content{border-radius:12px!important}.ant-drawer-content-wrapper{width:100%!important;max-width:360px}.ant-descriptions-item-label,.ant-descriptions-item-content{padding:6px 8px!important;font-size:12px!important}.ant-list-item{flex-wrap:wrap;row-gap:6px}.ant-list-item-action{margin-inline-start:0!important}.ant-segmented{max-width:100%;overflow-x:auto}.ant-segmented::-webkit-scrollbar{height:0}.ant-modal{top:16px!important;padding-bottom:16px}.ant-picker{max-width:100%}.ant-statistic-content{font-size:18px!important}}@media print{.ant-layout-sider,.ant-layout-header,.ant-float-btn,.no-print{display:none!important}.ant-layout-content{padding:0!important}body{background:#fff!important;color:#000!important}.ant-card{border:1px solid #ccc!important;break-inside:avoid}.ant-table-cell{color:#000!important}.ant-table-thead .ant-table-cell{background:#eee!important}@page{size:landscape;margin:1cm}}.ant-menu-item,.ant-menu-submenu-title{transition:background .15s ease!important}.ant-layout-content{padding-bottom:80px}@media(min-width:769px){.ant-layout-content{padding-bottom:20px}}
