.design-workspace{-webkit-user-select:none;user-select:none}.design-workspace.dragging-move,.design-workspace.dragging-screen,.design-workspace.dragging-palette{cursor:grabbing}.design-workspace.dragging-connect{cursor:crosshair}.toolbar-mode{color:#3c5480;align-items:center;gap:7px;padding:0 4px;font-size:12px;font-weight:550;display:inline-flex}.canvas-viewport{touch-action:none}.canvas-inner{box-sizing:border-box;min-height:0;padding:0;display:block}.canvas-inner>.canvas-empty{position:absolute;top:57px;left:60px}.artboard-wrap{transition:left .18s,top .18s,opacity .2s,box-shadow .2s;position:absolute}.artboard-wrap.dragging{z-index:2;transition:opacity .2s}.drop-cell{z-index:1;pointer-events:none;box-sizing:border-box;background:#1030d814;border:2px dashed #1030d8;border-radius:18px;justify-content:center;align-items:center;display:flex;position:absolute}.drop-cell span{color:#fff;background:#1030d8;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:550}.drop-cell.insert{background:#1030d80f;border-style:solid}.toolbar-group .cols-control{color:#5b6f92;gap:6px;width:auto;height:29px;margin-right:4px;padding:0 9px;font-size:12px}.artboard-wrap{border-radius:18px;width:auto;transition:opacity .2s,box-shadow .2s}.artboard-wrap.dragging{opacity:.45}.artboard-wrap.dragging .artboard{outline-offset:4px;outline:2px dashed #1030d8}.artboard-wrap.linked-screen .artboard{box-shadow:0 0 0 3px #1030d8,0 5px 12px #2d476507}.artboard-wrap.linked-screen .artboard-label strong{color:#1030d8}.artboard{min-height:0;padding-bottom:22px}.artboard-label{position:relative}.screen-grip{color:#a4b0c8;cursor:grab;touch-action:none;border-radius:4px;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.screen-grip:hover{color:#3156c5;background:#e9eef9}.screen-node{cursor:pointer;border-radius:15px 15px 0 0;padding:0 21px}.device-desktop .screen-node,.device-tablet .screen-node{border-radius:5px 5px 0 0}.artboard-content{background:linear-gradient(#f4f6fb 1px,#0000 1px) 0 0/100% 16px,linear-gradient(90deg,#f4f6fb 1px,#0000 1px) 0 0/16px 100%;padding:0;position:relative;overflow:hidden}.widget-node{box-sizing:border-box;cursor:grab;touch-action:none;position:absolute}.dragging-connect .widget-node,.dragging-connect .screen-node{cursor:crosshair}.widget-node>:first-child{box-sizing:border-box;width:100%;height:100%;overflow:hidden}.widget-node .wire-image{height:100%}.widget-node .wire-text{align-items:center;padding:0 2px;display:flex}.widget-node .wire-tab,.widget-node .wire-nav,.widget-node .wire-checkbox,.widget-node .wire-input,.widget-node .wire-button,.widget-node .wire-list,.widget-node .wire-table,.widget-node .wire-modal{align-items:center;display:flex}.widget-node .wire-button{justify-content:center}.widget-node .wire-list,.widget-node .wire-table{flex-direction:column;align-items:stretch}.widget-node .wire-card{flex-direction:column;display:flex}.widget-node .wire-card>span{flex:40%;height:auto;min-height:24px}.widget-node.selected-widget:before{display:none}.resize-handle{z-index:4;touch-action:none;background:#fff;border:2px solid #1030d8;border-radius:2px;width:10px;height:10px;position:absolute}.resize-handle.nw{cursor:nwse-resize;top:-6px;left:-6px}.resize-handle.ne{cursor:nesw-resize;top:-6px;right:-6px}.resize-handle.sw{cursor:nesw-resize;bottom:-6px;left:-6px}.resize-handle.se{cursor:nwse-resize;bottom:-6px;right:-6px}.artboard-wrap.flow-screen .artboard{box-shadow:0 0 0 3px #315bea,0 5px 12px #2d476507}.artboard-wrap.flow-screen .artboard-label strong{color:#315bea}.artboard-wrap.drop-target .artboard{box-shadow:0 0 0 3px #1030d8,0 0 0 8px #1030d826}.artboard-wrap.drop-target .artboard-label strong{color:#1030d8}.widget-node.drop-target{outline-offset:4px;z-index:3;outline:2px solid #1030d8;box-shadow:0 0 0 8px #1030d826}.widget-node.drop-target:after,.artboard-wrap.drop-target .artboard:after{content:"";border-radius:inherit;pointer-events:none;z-index:6;background:#1030d824;position:absolute;inset:0}.artboard-wrap.drop-target .artboard-label{background:#1030d814;border-radius:5px}.unrelated,.muted-widget{opacity:1}.focus-mode .artboard-wrap{transition:left .18s,top .18s,opacity .25s,box-shadow .2s}.focus-mode .artboard-wrap:not(.focus-screen){opacity:.22!important}.focus-mode .artboard-wrap.focus-screen .widget-node:not(.focus-node){outline-color:#0000;opacity:.3!important}.focus-mode .artboard-wrap.focus-full .widget-node:not(.focus-node){opacity:1!important}.focus-mode .artboard-wrap.focus-full .artboard{box-shadow:0 0 0 3px #1030d8,0 0 0 9px #1030d81f,0 10px 30px #1030d833}.focus-mode .artboard-wrap.focus-screen:not(.focus-node) .artboard{box-shadow:0 5px 12px #2d476507}.focus-mode .artboard-wrap.focus-node .artboard{box-shadow:0 0 0 3px #1030d8,0 0 0 9px #1030d81f,0 10px 30px #1030d833}.focus-mode .widget-node.focus-node{outline-offset:4px;z-index:4;opacity:1;outline:2px solid #1030d8;box-shadow:0 0 0 9px #1030d81f}.focus-mode .flow-connections .edge:not(.selected){opacity:.15}.focus-mode .flow-connections .edge.selected .edge-line{stroke-width:4px}.canvas-viewport{transition:background-color .25s}.focus-mode .canvas-viewport{background-color:#eceff5}.flow-connections .edge{pointer-events:auto;cursor:pointer}.edge-hit{fill:none;stroke:#0000;stroke-width:16px}.edge-line{fill:none;stroke:#1030d8;stroke-width:2.5px;transition:stroke-width .15s}.edge:hover .edge-line,.edge.selected .edge-line{stroke-width:4px}.edge.selected .edge-label-bg{stroke:#1030d8;stroke-width:1.5px}.edge-label-bg{fill:#eef2ff}.edge-label{fill:#1030d8}.connect-line{fill:none;stroke:#1030d8;stroke-width:2px;stroke-dasharray:6 5;pointer-events:none}.edge-label-popup{z-index:9;background:#fff;border:1px solid #1030d8;border-radius:7px;flex-direction:column;gap:4px;width:220px;padding:8px 10px;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 8px 24px #0b144026}.edge-label-popup input{color:#26313f;border:1px solid #dfe7f4;border-radius:5px;outline:none;padding:7px 9px;font-size:13px}.edge-label-popup input:focus{border-color:#1030d8;box-shadow:0 0 0 3px #1030d822}.edge-label-popup small{color:#98a3b8;font-size:10px}.edge-row{cursor:pointer;border-radius:5px;padding:0 6px}.edge-row.selected{background:#eef2ff}.palette{border-bottom:1px solid #e6ecf5;margin-bottom:16px;padding-bottom:14px}.palette-hint{color:#a4b0c8;margin:-6px 4px 10px;font-size:11px}.palette-grid{grid-template-columns:1fr 1fr;gap:6px;padding:0 2px;display:grid}.palette-item{color:#5b6f92;cursor:grab;touch-action:none;text-align:left;white-space:nowrap;background:#fff;border:1px solid #e3e9f4;border-radius:5px;align-items:center;gap:7px;padding:7px 8px;font-size:11.5px;display:flex;overflow:hidden}.palette-item:hover{color:#1030d8;border-color:#9fb3e8}.palette-glyph{border:1.5px solid #8ea2cc;border-radius:2px;flex-shrink:0;width:14px;height:10px}.glyph-button{background:#8ea2cc}.glyph-text{border-width:0 0 1.5px;border-radius:0;height:8px}.glyph-image{background:linear-gradient(135deg,#0000 45%,#8ea2cc 45% 55%,#0000 55%)}.glyph-checkbox,.glyph-radio{width:10px;height:10px}.glyph-radio{border-radius:50%}.glyph-list,.glyph-table{background:repeating-linear-gradient(#8ea2cc 0 1px,#0000 1px 3px)}.glyph-modal,.glyph-drawer{box-shadow:0 0 0 2px #dfe7f4}.glyph-navigation,.glyph-tab{height:6px}.drag-ghost{z-index:60;pointer-events:none;color:#fff;opacity:.92;background:#1030d8;border-radius:6px;align-items:center;gap:6px;padding:7px 12px;font-size:12px;font-weight:550;display:flex;position:fixed;transform:translate(-50%,-50%);box-shadow:0 8px 20px #1030d84d}.drag-ghost.screen-ghost{color:#1030d8;background:#fff;border:1px solid #1030d8;transform:translate(12px,12px)}.canvas-menu{z-index:70;background:#fff;border:1px solid #dfe7f4;border-radius:7px;flex-direction:column;min-width:168px;padding:5px;display:flex;position:fixed;box-shadow:0 10px 28px #0b14402b}.canvas-menu button{text-align:left;color:#26313f;border-radius:5px;align-items:center;gap:9px;width:100%;padding:8px 10px;font-size:13px;display:flex}.canvas-menu button:hover,.canvas-menu button:focus-visible{color:#1030d8;background:#eef2ff;outline:none}.canvas-menu-heading{letter-spacing:.02em;color:#6b7fa4;white-space:nowrap;text-overflow:ellipsis;border-top:1px solid #edf0f6;max-width:280px;margin-top:4px;padding:8px 10px 4px;font-size:11px;font-weight:600;overflow:hidden}.canvas-menu-heading:first-child{border-top:0;margin-top:0}.canvas-menu{max-height:70vh;overflow:auto}.flow-detail{border-top:1px solid #e6ecf5;margin-top:16px;padding-top:12px}.flow-detail .section-heading h3{color:#3c5480;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.flow-detail-description{color:#8d9cb7;margin:0 4px 10px;font-size:11.5px;line-height:1.7}.flow-detail-edges{flex-direction:column;gap:4px;display:flex}.flow-edge{cursor:pointer;color:#6b7fa4;border-radius:5px;align-items:flex-start;gap:7px;padding:7px 6px;font-size:11.5px;display:flex}.flow-edge:hover{background:#f3f5fa}.flow-edge.selected{background:#eef2ff}.flow-edge-index{color:#3156c5;background:#e9eef9;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;font-weight:600;display:inline-flex}.flow-edge>div{flex-wrap:wrap;flex:1;align-items:center;gap:4px;min-width:0;line-height:1.5;display:flex}.flow-edge strong{color:#3c5480;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:500;overflow:hidden}.flow-edge small{color:#1030d8;background:#eef2ff;border-radius:3px;flex-basis:100%;width:fit-content;padding:1px 6px;font-size:10.5px}.flow-edge-tools{flex-shrink:0;gap:2px;display:none}.flow-edge:hover .flow-edge-tools,.flow-edge.selected .flow-edge-tools{display:inline-flex}.flow-edge-tools button{color:#8d9cb7;border-radius:4px;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.flow-edge-tools button:hover{color:#1030d8;background:#e3e9f7}.canvas-menu button.danger{color:#b42323}.canvas-menu button.danger:hover{color:#b42323;background:#fdeeee}.property-geometry{color:#a0aec5;font-variant-numeric:tabular-nums;margin-top:8px;font-size:11px}.property-section h4.mt-4{margin-top:16px}.link-tabs{border-bottom:1px solid #e6ecf5;gap:4px;margin-bottom:4px;display:flex}.link-tabs button{color:#7d92b2;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:8px 12px;font-size:13px;display:inline-flex}.link-tabs button.active{color:#1030d8;border-bottom-color:#1030d8;font-weight:550}.link-tabs button span{color:#1030d8;background:#eef2ff;border-radius:999px;padding:1px 7px;font-size:11px}.auth-page{background:#f7f8fa;place-items:center;min-height:100svh;padding:24px 16px;display:grid}.auth-card{background:#fff;border:1px solid #e2e6ec;border-radius:10px;flex-direction:column;gap:14px;width:100%;max-width:400px;padding:32px 30px;display:flex}.auth-brand{cursor:default;padding-bottom:8px}.auth-card h1{color:#253448;letter-spacing:-.3px;font-size:22px;font-weight:600}.auth-lede{color:#788198;margin-top:-8px;font-size:13.5px}.auth-error{color:#b42323;background:#fdeeee;border-radius:6px;padding:9px 12px;font-size:13px}.auth-switch{color:#788198;text-align:center;flex-direction:column;align-items:center;gap:6px;font-size:13px;display:flex}.auth-switch a{color:#1030d8;white-space:nowrap;font-weight:550}@media (max-width:767px){.palette-grid{grid-template-columns:1fr}.canvas-inner{gap:32px;padding:32px 24px}}
.quick-add{background:#fff;border:1px solid #dfe7f4;border-radius:6px;margin:4px 0 18px;transition:border-color .15s,box-shadow .15s}.quick-add:focus-within{border-color:#3156c5;box-shadow:0 0 0 3px #1030d81f}.quick-add-row{align-items:center;gap:4px;padding:5px 6px 5px 12px;display:flex}.quick-add-plus,.quick-add-spinner{color:#96a1b6;flex-shrink:0}.quick-add-spinner{color:#3156c5}.quick-add-row input{min-width:0;height:36px;box-shadow:none;background:0 0;border:0;border-radius:4px;flex:1;padding:0 8px;font-size:14px}.quick-add-row input:focus-visible{box-shadow:none;border:0;outline:none}.quick-add-icon{color:#788198;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.quick-add-icon:hover:not(:disabled){color:#1030d8;background:#f3f5fa}.quick-add-icon:focus-visible{border-color:#3156c5;outline:none;box-shadow:0 0 0 2px #1030d826}.quick-add-icon:disabled{cursor:default;opacity:.55}.quick-add-toggle>svg{transition:transform .18s}.quick-add-toggle.open>svg{transform:rotate(180deg)}.quick-add-toggle.open{color:#1030d8;background:#eef2ff}.quick-add-chips{flex-wrap:wrap;gap:6px;padding:0 12px 10px;display:flex}.quick-add-chip{color:#63708b;white-space:nowrap;text-overflow:ellipsis;background:#f8f9fd;border:1px solid #e3e7f0;border-radius:999px;align-items:center;gap:5px;max-width:260px;padding:3px 6px 3px 9px;font-size:12px;line-height:1.4;display:inline-flex;overflow:hidden}.quick-add-chip>svg{color:#96a1b6;flex-shrink:0}.quick-add-chip>button{color:#96a1b6;cursor:pointer;background:0 0;border:0;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.quick-add-chip>button:hover{color:#152044;background:#e3e7f0}.quick-add-detail{border-top:1px solid #edf0f6;flex-direction:column;gap:14px;padding:14px 12px 12px;display:flex}.quick-add-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.quick-add-detail .form-field textarea{resize:vertical;min-height:0}.quick-add-actions{justify-content:flex-end;display:flex}.quick-add-actions button{gap:6px}.detail-toggle{color:#3156c5;cursor:pointer;background:#fff;border:1px solid #dfe7f4;border-radius:6px;align-self:flex-start;align-items:center;gap:6px;padding:6px 10px 6px 8px;font-size:13px;font-weight:550;transition:background .12s,border-color .12s;display:inline-flex}.detail-toggle:hover{background:#f3f5fa;border-color:#c9d4ea}.detail-toggle:focus-visible{border-color:#3156c5;outline:none;box-shadow:0 0 0 2px #1030d826}.detail-toggle>svg{transition:transform .18s}.detail-toggle.open>svg{transform:rotate(180deg)}.req-row{cursor:pointer;-webkit-user-select:none;user-select:none}.req-row .title-cell{cursor:pointer}.req-row.open{background:#f3f6fd}.req-row.open td{border-bottom-color:#0000}.req-date{position:relative;padding-right:34px!important}.req-chevron{color:#b0bacb;transition:transform .18s,color .18s;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.req-chevron.open{color:#1030d8;transform:translateY(-50%)rotate(180deg)}.req-expand-row:hover{background:0 0!important}.req-expand-row>td{background:#f8faff;border-bottom:1px solid #e1e6f0;padding:0!important}.req-panel{cursor:default;border-top:1px solid #e6ecf5;border-left:3px solid #1030d8;flex-direction:column;gap:14px;padding:6px 18px 20px;display:flex}.req-panel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:10px;display:flex}.req-panel-meta{color:#8c99b1;font-size:12px}.req-panel-meta em{color:#b28a3c;font-style:normal}.req-panel-tools{align-items:center;gap:4px;display:flex}.req-panel-tools button{font-size:12px}.req-panel-tools .danger{color:#b42323}.req-panel .form-field textarea{resize:vertical;background:#fff;min-height:0}.req-panel .form-field input{background:#fff}.req-chips{padding:0}.req-chip-link,.req-chip-add{cursor:pointer}.req-chip-link{color:#3156c5;background:#eef2ff;border-color:#cdd8f6}.req-chip-link:hover{border-color:#1030d8}.req-chip-add{color:#5b6f92;background:#fff;border-style:dashed}.req-chip-add:hover:not(:disabled){color:#1030d8;border-color:#9fb3e8}.req-chip-add:disabled{opacity:.55;cursor:default}.quick-add-chip a{color:inherit;text-decoration:none}.quick-add-chip a:hover{color:#1030d8;text-decoration:underline}.req-comments{border-top:1px solid #e6ecf5;padding-top:14px}.req-comments h4{color:#63708b;margin-bottom:12px;font-size:13px;font-weight:550}.req-comments h4 span{color:#a4afc2;margin-left:6px;font-weight:400}.req-comments article{background:#fff;border:1px solid #e7ecf5;border-radius:8px;margin-bottom:8px;padding:10px 12px}.req-comments article>div{justify-content:space-between;font-size:12px;display:flex}.req-comments article strong{color:#253352;font-weight:550}.req-comments article small{color:#a0adc5;font-size:11px}.req-comments article p{white-space:pre-wrap;color:#4b5a78;margin-top:6px;font-size:13px;line-height:1.7}.req-comment-form{align-items:flex-end;gap:8px;display:flex}.req-comment-form textarea{background:#fff;flex:1;min-height:0;font-size:13px}.req-comment-form button{flex-shrink:0;gap:6px}.quick-add-grid.four{grid-template-columns:repeat(4,1fr)}.quick-add-grid .span-2{grid-column:span 2}.feature-group-row td{border-bottom:1px solid #e1e6f0;background:#f8f9fc!important;padding:9px 14px!important}.feature-group-row small{color:#98a3b8;margin-left:10px;font-size:12px}.define-progress{font-variant-numeric:tabular-nums;color:#8b96ae;background:#f1f4fb;border-radius:4px;padding:3px 7px;font-size:12px}.define-progress.done{color:#146b31;background:#dff5e6}@media (max-width:1100px){.quick-add-grid.four{grid-template-columns:1fr 1fr}}@media (max-width:767px){.quick-add-grid.four{grid-template-columns:1fr}.quick-add-grid .span-2{grid-column:auto}.req-panel{padding:6px 12px 16px}.req-comment-form{flex-direction:column;align-items:stretch}.quick-add-row{padding-left:10px}.quick-add-row input{font-size:13px}.quick-add-grid{grid-template-columns:1fr;gap:12px}.quick-add-chip{max-width:100%}}
