:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--glass-fill-strong:#ffffffb8;--glass-blur:16px;--glass-frost:linear-gradient(157deg, #ffffffa3, #ffffff70);--glass-frost-faint:linear-gradient(157deg, #ffffff57, #fff3);--menu-fill:linear-gradient(157deg, #eef2f5, #dfe5ea);--glass-radius:40px;--glass-radius-sm:16px;--menu-pad:calc(var(--glass-radius) * .6);--glass-border-width:6.5px;--glass-border:#d2d8f88c;--glass-border-bright:#ffffffe6;--node-glass-border-width:2px;--node-glass-fill:#6a96b31a;--pill-fill:linear-gradient(#c8d1d86e, #c8d1d86e);--node-text-color:#202020;--menu-text-color:#374151;--glass-sheen:linear-gradient(135deg, #fff9 0%, #ffffff26 34%, #fff0 60%);--glass-sheen-period:1050px;--glass-sheen-tile:calc(var(--glass-sheen-period) * 1.41421);--glass-sheen-screen:repeating-linear-gradient(45deg, #fff0 0px, #fff0 165px, #ffffff03 275px, #ffffff80 425px, #ffffff4d 675px, #fff0 885px, #fff0 var(--glass-sheen-period));--glass-shadow:0 10px 30px -12px #1e293b73, 0 2px 6px -2px #1e293b24;--glass-shadow-lift:0 18px 40px -16px #1e293b80, 0 3px 8px -2px #1e293b29;--glass-inner-light:inset 2px 2px 5px #fffffff2, inset -2px -2px 5px #64748bab;--accent:#2563eb;--accent-glass:#38bdf8;--accent-button-fill:#2f61a1;--accent-button-fill-hover:#285289;--accent-glow:0 0 0 2.5px #38bff8, 0 0 25px 5px #38bff8;--status-planning:#d97706;--status-development:#2563eb;--status-quality-control:#7c3aed;--status-ready:#16a34a;font-family:system-ui,sans-serif}.glass-hard-reflection{position:relative}.glass-hard-reflection:after{content:"";border-radius:inherit;pointer-events:none;z-index:2;border:1px solid #ffffffe6;position:absolute;inset:1px;-webkit-mask-image:radial-gradient(circle at 0 0,#000 0%,#0000 80%);mask-image:radial-gradient(circle at 0 0,#000 0%,#0000 80%)}.sheet-node.selected:after,.view-node.selected:after,.note-node.selected:after{--reflection-orbit-duration:4s;-webkit-mask-image:conic-gradient(from var(--reflection-angle), #000 0deg, transparent 67.5deg, transparent 292.5deg, #000 360deg);-webkit-mask-image:conic-gradient(from var(--reflection-angle), #000 0deg, transparent 67.5deg, transparent 292.5deg, #000 360deg);mask-image:conic-gradient(from var(--reflection-angle), #000 0deg, transparent 67.5deg, transparent 292.5deg, #000 360deg);animation:reflection-orbit var(--reflection-orbit-duration) linear infinite;border-width:2px;border-color:#fff;inset:2px}@media (prefers-reduced-motion:reduce){.sheet-node.selected:after,.view-node.selected:after,.note-node.selected:after{animation:none;-webkit-mask-image:radial-gradient(circle at 0 0,#000 0%,#0000 80%);mask-image:radial-gradient(circle at 0 0,#000 0%,#0000 80%)}}.react-flow__node.selected:after{content:"";border-radius:var(--glass-radius);pointer-events:none;z-index:3;background-image:linear-gradient(45deg,#0000 42%,#ffffff09 47%,#fff3 50%,#ffffff09 53%,#0000 58%);background-position-x:120%;background-repeat:no-repeat;background-size:400% 100%;animation:8s ease-in-out infinite node-selected-sweep;position:absolute;inset:0}@keyframes node-selected-sweep{0%{background-position-x:-20%}30%{background-position-x:120%}to{background-position-x:120%}}@media (prefers-reduced-motion:reduce){.react-flow__node.selected:after{background-image:none;animation:none}}.menu-material{background:var(--glass-sheen), var(--menu-fill);border:1px solid var(--glass-border)}.menu-surface{border-width:var(--node-glass-border-width);border-radius:var(--glass-radius);box-shadow:var(--glass-shadow);padding:calc(var(--glass-radius) * .4) var(--menu-pad)}.entity-name{text-transform:uppercase}@keyframes node-select-flash{0%{border-color:#fff;box-shadow:0 0 0 2.5px #fffffff2,0 0 24px -2px #ffffffd9}to{border-color:var(--accent-glass)}}@property --reflection-angle{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes reflection-orbit{to{--reflection-angle:360deg}}*{box-sizing:border-box}.glass-select{appearance:none;font:inherit;color:var(--node-text-color);background-color:#0000;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23475569' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"), var(--glass-select-fill,var(--glass-frost));border:1px solid var(--glass-border);border-radius:var(--glass-radius-sm);box-shadow:var(--glass-inner-light);cursor:pointer;background-position:right 8px center,0 0;background-repeat:no-repeat,no-repeat;background-size:10px 6px,auto;padding:5px 26px 5px 9px;transition:border-color .15s,box-shadow .15s}.glass-select:hover{border-color:var(--glass-border-bright)}.glass-select:focus{outline:none}.glass-select:disabled{opacity:.55;cursor:default}.glass-select option{color:var(--node-text-color);background-color:#f1f5fbf7}@supports (appearance:base-select){.glass-select{appearance:base-select}.glass-select::picker-icon{display:none}.glass-select::picker(select){appearance:base-select;background:var(--glass-sheen), var(--menu-fill);border:1px solid var(--glass-border);border-radius:var(--glass-radius-sm);box-shadow:var(--glass-shadow);padding:4px}.glass-select option{background:0 0;border-radius:6px;padding:5px 10px}.glass-select option:hover,.glass-select option:focus{background:#38bdf82e}.glass-select option:checked{background:#38bdf847}}html,body,#root{width:100%;height:100%;margin:0}#root{background:linear-gradient(162deg,#eef2ff 0%,#f8fafc 55%)}@keyframes screen-fade-in{0%{opacity:0}to{opacity:1}}@keyframes screen-fade-out{0%{opacity:1}to{opacity:0}}.light-sweep{--sweep-duration:.5s;position:relative;overflow:hidden}.light-sweep:after{content:"";z-index:2;pointer-events:none;opacity:0;background:linear-gradient(100deg,#0000 0%,#fff3 38%,#38bdf899 50%,#fff3 62%,#0000 100%);width:55%;position:absolute;top:0;bottom:0;left:0;transform:translate(-180%)}.light-sweep--active:after{animation:light-sweep var(--sweep-duration) ease-out}@keyframes light-sweep{0%{opacity:0;transform:translate(-180%)}15%{opacity:1}85%{opacity:1}to{opacity:0;transform:translate(240%)}}@media (prefers-reduced-motion:reduce){.light-sweep--active:after{animation:none}}.login-screen{box-sizing:border-box;background:radial-gradient(130% 110% at 10% 0,#bfdbfeb3,#0000 62%),radial-gradient(130% 110% at 95% 100%,#a5b4fc8c,#0000 62%),linear-gradient(162deg,#eef2ff 0%,#f2f1fd 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;animation:.36s both screen-fade-in;display:flex}.login-screen__card{width:340px;max-width:100%;padding:30px var(--menu-pad) 26px;box-sizing:border-box;background:var(--node-glass-fill);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:var(--node-glass-border-width) solid var(--glass-border);border-radius:var(--glass-radius);box-shadow:var(--glass-inner-light), var(--glass-shadow);flex-direction:column;gap:12px;display:flex;position:relative}.login-screen__card:before{content:"";border-radius:inherit;background:var(--glass-sheen);pointer-events:none;z-index:0;position:absolute;inset:0}.login-screen__card>*{z-index:1;position:relative}.login-screen__card.glass-hard-reflection:after{--reflection-orbit-duration:6s;-webkit-mask-image:conic-gradient(from var(--reflection-angle), #000 0deg, transparent 67.5deg, transparent 292.5deg, #000 360deg);-webkit-mask-image:conic-gradient(from var(--reflection-angle), #000 0deg, transparent 67.5deg, transparent 292.5deg, #000 360deg);mask-image:conic-gradient(from var(--reflection-angle), #000 0deg, transparent 67.5deg, transparent 292.5deg, #000 360deg);animation:reflection-orbit var(--reflection-orbit-duration) linear infinite;border-width:2px;border-color:#fff;inset:2px}@media (prefers-reduced-motion:reduce){.login-screen__card.glass-hard-reflection:after{animation:none;-webkit-mask-image:radial-gradient(circle at 0 0,#000 0%,#0000 80%);mask-image:radial-gradient(circle at 0 0,#000 0%,#0000 80%)}}.login-screen__brand{justify-content:center;align-items:center;gap:10px;margin-bottom:6px;display:flex}.login-screen__logo{width:28px;height:28px;display:block}.login-screen__title{color:#0f172a;margin:0;font-size:20px;font-weight:700}.login-screen__input.modal-text-input:focus{box-shadow:0 0 0 2px #38bff8e6,0 0 12px 2px #38bff880}.login-screen__submit{color:#fff;background:var(--accent-button-fill);border-radius:var(--glass-radius-sm);cursor:pointer;border:1px solid #ffffffb3;margin-top:4px;padding:9px;font-family:inherit;font-size:13px;font-weight:600;transition:background .15s;box-shadow:inset 0 1px #fffc}.login-screen__submit:hover:not(:disabled){background:var(--accent-button-fill-hover)}.login-screen__submit:disabled{opacity:.6;cursor:not-allowed}.login-screen__confirmation{color:#334155;text-align:center;margin:4px 0;font-size:13px;line-height:1.5}.login-screen__confirmation strong{color:#0f172a;word-break:break-all;font-weight:600}.login-screen__error{color:#b91c1c;font-size:12px}.login-screen__info{color:var(--accent);font-size:12px}.login-screen__switch,.login-screen__forgot{color:#64748b;cursor:pointer;background:0 0;border:none;padding:2px;font-family:inherit;font-size:12px;transition:color .15s}.login-screen__switch:hover,.login-screen__forgot:hover:not(:disabled){color:var(--accent)}.login-screen__forgot{align-self:flex-end;margin-top:-6px}.login-screen__forgot:disabled{opacity:.6;cursor:default}.login-screen__captcha{justify-content:center;min-height:65px;display:flex}.set-password-screen{background:#f9fafb;justify-content:center;align-items:center;min-height:100vh;display:flex}.set-password-screen__card{background:#fff;border-radius:8px;flex-direction:column;gap:10px;width:320px;padding:28px;display:flex;box-shadow:0 8px 24px #0000001a}.set-password-screen__title{color:#111827;text-align:center;margin:0 0 4px;font-size:18px;font-weight:600}.set-password-screen__description{color:#6b7280;text-align:center;margin:0 0 8px;font-size:13px}.set-password-screen__input{box-sizing:border-box;border:1px solid #d1d5db;border-radius:4px;padding:8px 10px;font-size:13px}.set-password-screen__error{color:#dc2626;font-size:12px}.set-password-screen__submit{color:#fff;background:var(--accent-button-fill);border-radius:var(--glass-radius-sm);cursor:pointer;border:1px solid #ffffffb3;margin-top:4px;padding:8px;font-size:13px;font-weight:600;transition:background .15s;box-shadow:inset 0 1px #fffc}.set-password-screen__submit:hover:not(:disabled){background:var(--accent-button-fill-hover)}.set-password-screen__submit:disabled{opacity:.6;cursor:not-allowed}.eula-gate{box-sizing:border-box;background:radial-gradient(130% 110% at 10% 0,#bfdbfeb3,#0000 62%),radial-gradient(130% 110% at 95% 100%,#a5b4fc8c,#0000 62%),linear-gradient(162deg,#eef2ff 0%,#f2f1fd 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;animation:.36s both screen-fade-in;display:flex}.eula-gate__card{width:640px;max-width:100%;max-height:min(88vh,760px);padding:26px var(--menu-pad) 22px;box-sizing:border-box;background:var(--node-glass-fill);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:var(--node-glass-border-width) solid var(--glass-border);border-radius:var(--glass-radius);box-shadow:var(--glass-inner-light), var(--glass-shadow);flex-direction:column;display:flex;position:relative}.eula-gate__header{margin-bottom:14px}.eula-gate__title{color:#0f172a;margin:0;font-size:20px;font-weight:700}.eula-gate__subtitle{color:#334155;margin:6px 0 0;font-size:13px;line-height:1.5}.eula-gate__scroll{border:1px solid var(--glass-border);border-radius:var(--glass-radius-sm);background:#ffffff8c;flex:auto;min-height:0;padding:18px 20px;overflow-y:auto;box-shadow:inset 0 1px 3px #0f172a0f}.eula-gate__scroll:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.eula-doc{color:#334155;font-size:13.5px;line-height:1.62}.eula-doc__effective{letter-spacing:.02em;text-transform:uppercase;color:#64748b;margin:0 0 14px;font-size:12px;font-weight:600}.eula-doc h2{color:#0f172a;margin:20px 0 6px;font-size:14px;font-weight:700}.eula-doc p{margin:0 0 10px}.eula-doc ul{flex-direction:column;gap:5px;margin:0 0 10px;padding-left:20px;display:flex}.eula-doc li{padding-left:2px}.eula-gate__hint{color:#64748b;text-align:center;margin:12px 0 0;font-size:12px}.eula-gate__error{color:#b91c1c;text-align:center;margin:12px 0 0;font-size:12px}.eula-gate__actions{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.eula-gate__decline{color:#334155;background:var(--glass-frost,#fff9);border:1px solid var(--glass-border);border-radius:var(--glass-radius-sm);cursor:pointer;padding:9px 18px;font-family:inherit;font-size:13px;font-weight:600;transition:background .15s,color .15s}.eula-gate__decline:hover:not(:disabled){color:#0f172a}.eula-gate__agree{color:#fff;background:var(--accent-button-fill);border-radius:var(--glass-radius-sm);cursor:pointer;border:1px solid #ffffffb3;padding:9px 20px;font-family:inherit;font-size:13px;font-weight:600;transition:background .15s;box-shadow:inset 0 1px #fffc}.eula-gate__agree:hover:not(:disabled){background:var(--accent-button-fill-hover)}.eula-gate__agree:disabled,.eula-gate__decline:disabled{opacity:.6;cursor:not-allowed}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.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__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray: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.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.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-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.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:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.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-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.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{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.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:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}.canvas-wrapper--tool .react-flow__pane,.canvas-wrapper--tool .react-flow__node{cursor:crosshair}.react-flow__node.sheet-node--resizing{transition:width .32s,height .32s}.canvas-wrapper--animate-nodes .react-flow__node:not(.dragging){transition:transform .32s}.canvas-wrapper--morphing .react-flow__node:not(.dragging){transition:transform .66s,width .64s,height .64s}.canvas-wrapper--morphing .react-flow__node-view{transition:opacity .36s}@keyframes canvas-edges-out{0%{opacity:1}to{opacity:0}}@keyframes canvas-edges-in{0%{opacity:0}to{opacity:1}}.canvas-wrapper--edges-out .react-flow__edges{animation:.38s forwards canvas-edges-out}.canvas-wrapper--edges-in .react-flow__edges{animation:.38s forwards canvas-edges-in}.react-flow__node-view{transition:opacity .18s}@keyframes view-node-fade-in{0%{opacity:0}to{opacity:1}}.react-flow__node-view.view-node--entering{animation:.18s view-node-fade-in}@keyframes connection-edge-fade-in{0%{opacity:0}to{opacity:1}}.react-flow__edge.connection-edge--entering{animation:.18s connection-edge-fade-in}.react-flow{background-image:radial-gradient(115% 115% at 14% 8%,#bfdbfe80,#0000 50%),radial-gradient(120% 120% at 90% 100%,#a5b4fc33,#0000 55%)}.react-flow__nodes,.react-flow__edges,.react-flow__edgelabel-renderer{isolation:isolate}.react-flow__edges,.react-flow__edgelabel-renderer{z-index:1}.react-flow__connection-path{animation:.9s ease-in-out infinite connection-drawing-pulse}@keyframes connection-drawing-pulse{0%,to{stroke:var(--accent-glass);stroke-width:2px;filter:drop-shadow(0 0 #38bdf800)}50%{stroke:var(--accent-glass);stroke-width:3px;filter:drop-shadow(0 0 4px #38bdf8cc)}}.connection-edge--flash .react-flow__edge-path{animation:.6s ease-out connection-flash}@keyframes connection-flash{0%{stroke:#fff;stroke-width:4px;filter:drop-shadow(0 0 6px #60a5fa)}to{stroke-width:2px;filter:drop-shadow(0 0 #60a5fa00)}}.react-flow__node.view-node--flash .view-node,.react-flow__node.view-node--flash .note-node{animation:.45s ease-out node-connect-flash}@keyframes node-connect-flash{0%{border-color:var(--accent-glass);box-shadow:var(--accent-glow)}}.react-flow__node.view-node--flash .sheet-node{animation:.45s ease-out sheet-connect-flash}.react-flow__node.view-node--flash .sheet-node.collapsed{animation:.45s ease-out sheet-connect-flash-collapsed}@keyframes sheet-connect-flash{0%{box-shadow:var(--accent-glow), var(--glass-inner-light)}to{box-shadow:0 0 0 0 #38bff800, 0 0 0 0 #38bff800, var(--glass-inner-light)}}@keyframes sheet-connect-flash-collapsed{0%{box-shadow:var(--accent-glow), inset 0 4px 0 var(--status-color), var(--glass-inner-light)}to{box-shadow:0 0 0 0 #38bff800, 0 0 0 0 #38bff800, inset 0 4px 0 var(--status-color), var(--glass-inner-light)}}.react-flow__node.view-node--flash-broken .view-node,.react-flow__node.view-node--flash-broken .note-node{animation:.45s ease-out node-select-flash-broken}@keyframes node-select-flash-broken{0%{border-color:#ef4444;box-shadow:0 0 0 2.5px #ef4444f2,0 0 24px -2px #ef4444d9}}.react-flow__node.view-node--flash-broken .sheet-node{animation:.45s ease-out sheet-flash-broken}.react-flow__node.view-node--flash-broken .sheet-node.collapsed{animation:.45s ease-out sheet-flash-broken-collapsed}@keyframes sheet-flash-broken{0%{box-shadow:0 0 0 2.5px #ef4444f2, 0 0 24px -2px #ef4444d9, var(--glass-inner-light)}to{box-shadow:0 0 0 0 #ef444400, 0 0 0 0 #ef444400, var(--glass-inner-light)}}@keyframes sheet-flash-broken-collapsed{0%{box-shadow:0 0 0 2.5px #ef4444f2, 0 0 24px -2px #ef4444d9, inset 0 4px 0 var(--status-color), var(--glass-inner-light)}to{box-shadow:0 0 0 0 #ef444400, 0 0 0 0 #ef444400, inset 0 4px 0 var(--status-color), var(--glass-inner-light)}}.react-flow__node.node--reveal-pulse .view-node,.react-flow__node.node--reveal-pulse .note-node{animation:.6s ease-out node-connect-flash}.react-flow__node.node--reveal-pulse .sheet-node{animation:.6s ease-out sheet-connect-flash}.react-flow__node.node--reveal-pulse .sheet-node.collapsed{animation:.6s ease-out sheet-connect-flash-collapsed}.board-columns{z-index:-1;pointer-events:none;opacity:0;transition:opacity .28s;position:absolute;top:0;left:0}.board-columns--visible{opacity:1}.board-column{box-sizing:border-box;background:color-mix(in srgb, var(--status-color) 7%, var(--glass-fill-soft,#ffffff8c));border:1px solid color-mix(in srgb, var(--status-color) 24%, var(--glass-border));box-shadow:inset 0 3px 0 -1px color-mix(in srgb, var(--status-color) 60%, transparent);border-radius:20px;transition:background .2s,border-color .2s;position:absolute;top:0;left:0}.board-column--planning{--status-color:var(--status-planning)}.board-column--development{--status-color:var(--status-development)}.board-column--quality-control{--status-color:var(--status-quality-control)}.board-column--ready{--status-color:var(--status-ready)}.board-column--active{background:color-mix(in srgb, var(--status-color) 16%, var(--glass-fill-soft,#fff9));border-color:color-mix(in srgb, var(--status-color) 55%, var(--glass-border))}.board-column__header{box-sizing:border-box;align-items:center;gap:9px;padding:0 22px;display:flex}.board-column__dot{background:var(--status-color);border-radius:50%;flex:none;width:10px;height:10px}.board-column__title{letter-spacing:-.01em;color:var(--menu-text-color,#1e2430);font-size:15px;font-weight:650}.board-column__count{text-align:center;min-width:24px;color:color-mix(in srgb, var(--status-color) 70%, #1e2430);background:color-mix(in srgb, var(--status-color) 16%, transparent);border-radius:999px;margin-left:auto;padding:2px 9px;font-size:13px;font-weight:600}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-pop-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes modal-fade-out{0%{opacity:1}to{opacity:0}}.modal-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:1000;background:#0f172a47;justify-content:center;align-items:center;animation:.15s ease-out modal-fade-in;display:flex;position:fixed;inset:0}.modal-overlay--closing,.modal-overlay--closing .modal{animation:.12s ease-in forwards modal-fade-out}.modal{flex-direction:column;min-width:360px;max-width:480px;max-height:80vh;padding:0;animation:.15s ease-out modal-pop-in;display:flex;position:relative;overflow:hidden}.modal__header{padding:11px var(--menu-pad);border-bottom:1px solid #ffffff80;justify-content:space-between;align-items:center;display:flex}.modal__title{color:#0f172a;font-size:14px;font-weight:600}.modal__close{color:#475569;cursor:pointer;background:0 0;border:none;border-radius:7px;padding:2px 6px;font-size:16px;line-height:1}.modal__close:hover{color:#0f172a;background:#ffffff8c}.modal__body{padding:15px var(--menu-pad);min-height:0;font-size:13px;position:relative;overflow-y:auto}.modal-text-input{border-radius:var(--glass-radius-sm);box-sizing:border-box;background:#ffffffb8;border:1px solid #fffc;width:100%;padding:7px 9px;font-family:inherit;font-size:13px;transition:border-color .15s,box-shadow .15s;box-shadow:inset 0 1px #ffffffb3,inset 0 0 0 1px #94a3b81f}.modal-text-input:focus{border-color:var(--accent-glass);box-shadow:var(--accent-glow);outline:none}.modal-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.modal-error{color:#b91c1c;margin-top:8px;font-size:12px}.modal-hint{color:#64748b;margin:10px 0 0;font-size:12px;line-height:1.5}.modal-actions button,.glass-button{border-radius:var(--glass-radius-sm);cursor:pointer;background:#ffffff8c;border:1px solid #ffffffb3;padding:7px 15px;font-family:inherit;font-size:13px;transition:background .15s,box-shadow .15s;box-shadow:inset 0 1px #fffc}.modal-actions button:hover,.glass-button:hover{background:#fffc}.glass-button:disabled{opacity:.55;cursor:default}.modal-actions__primary{color:#fff;background:var(--accent-button-fill)!important}.modal-actions__primary:hover{background:var(--accent-button-fill-hover)!important}.ui-icon{vertical-align:-.125em;flex-shrink:0;display:inline-block}.drawing-zoom-viewer{border-radius:inherit;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.drawing-zoom-viewer.dragging{cursor:grabbing}.drawing-zoom-viewer img{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none;max-width:100%;max-height:100%}.drawing-zoom-viewer__sharp{pointer-events:none;display:none;position:absolute}.drawing-zoom-viewer__controls{z-index:1;gap:6px;display:flex;position:absolute;bottom:12px;right:12px}.drawing-zoom-viewer__controls .glass-button{appearance:none;font:inherit;color:#475569;min-width:30px;padding:6px 10px;font-size:12px;font-weight:600;line-height:1}.modal--lightbox{width:min(1500px,92vw);max-width:92vw;height:88vh;max-height:88vh}.modal--lightbox .modal__body{flex:1;min-height:0;display:flex}.view-attachment-lightbox{border:1px solid var(--glass-border);border-radius:var(--glass-radius-sm);background:#ffffff59;flex:1;justify-content:center;align-items:center;min-width:0;min-height:0;display:flex;overflow:hidden}.view-attachment-lightbox__loading{color:#6b7280;padding:40px;font-size:13px}.modal--drawing-manager{width:min(1500px,94vw);max-width:94vw;height:86vh;max-height:86vh}.modal--drawing-manager .modal__body{flex:1;min-height:0;display:flex}.drawing-manager{flex:1;gap:14px;min-width:0;min-height:0;display:flex}.drawing-manager__preview{border:1px solid var(--glass-border);border-radius:var(--glass-radius-sm);background:#ffffff59;flex:3 1 0;justify-content:center;align-items:center;min-width:0;display:flex;position:relative;overflow:hidden}.drawing-manager__side{flex:1 1 0;min-width:280px;overflow-y:auto}.drawing-manager__side .drawing-modal{min-width:0}.drawing-manager__placeholder{color:#94a3b8;text-align:center;padding:40px;font-size:13px}.drawing-manager__version-tag{z-index:1;color:#0c4a6e;border:1px solid var(--glass-border);pointer-events:none;background:#ffffffb3;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:600;position:absolute;top:10px;left:12px}.drawing-modal{flex-direction:column;gap:4px;min-width:340px;display:flex}.drawing-modal__forma-note{color:#0c4a6e;border-radius:var(--glass-radius-sm);background:#38bdf81f;border:1px solid #38bdf859;margin-bottom:8px;padding:8px 11px;font-size:12px;line-height:1.45}.drawing-modal__upload{border-bottom:1px solid #e5e7eb;flex-direction:column;margin-bottom:8px;padding-bottom:12px;display:flex}.drawing-modal__preview{background:#f9fafb;border:1px dashed #d1d5db;border-radius:6px;justify-content:center;align-items:center;width:100%;height:140px;margin-bottom:10px;display:flex;overflow:hidden}.drawing-modal__preview img{object-fit:contain;max-width:100%;max-height:100%}.drawing-modal__preview-placeholder{color:#9ca3af;font-size:12px}.drawing-modal__note{margin-top:8px;display:block}.drawing-modal__file-error{color:#b91c1c;margin:8px 0 0;font-size:12px;line-height:1.4}.drawing-modal__section-title{color:#6b7280;text-transform:uppercase;letter-spacing:.04em;justify-content:space-between;align-items:center;padding:4px 8px;font-size:12px;font-weight:600;display:flex}.drawing-modal__section-actions{gap:10px;display:flex}.drawing-modal__link{color:#2563eb;cursor:pointer;text-transform:none;letter-spacing:0;background:0 0;border:none;padding:0;font-size:12px;font-weight:500}.drawing-modal__link:hover{text-decoration:underline}.drawing-modal__link--danger{color:#dc2626}.drawing-modal__row{border-radius:4px;align-items:center;gap:8px;padding:8px;display:flex}.drawing-modal__row.current{background:#eff6ff}.drawing-modal__row.clickable{cursor:pointer}.drawing-modal__row.clickable:hover{background:#ffffff8c}.drawing-modal__row.clickable.current:hover{background:#e3effe}.drawing-modal__row.previewing{box-shadow:inset 0 0 0 1px var(--accent-glass), var(--accent-glow)}.drawing-modal__thumb{background:#fff;border:1px solid #d1d5db;border-radius:4px;flex:0 0 36px;justify-content:center;align-items:center;width:36px;height:36px;display:flex;overflow:hidden}.drawing-modal__thumb img{object-fit:cover;width:100%;height:100%}.drawing-modal__info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.drawing-modal__version{color:#111827;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.drawing-modal__badge{color:#2563eb;background:#dbeafe;border-radius:3px;padding:1px 5px;font-size:10px;font-weight:500}.drawing-modal__meta{color:#6b7280;font-size:11px}.drawing-modal__note-text{color:#374151;font-size:12px;font-style:italic}.drawing-modal__restore{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:4px;flex-shrink:0;padding:4px 10px;font-size:12px}.drawing-modal__restore:hover{background:#f3f4f6}.drawing-modal__empty{color:#6b7280;padding:12px 8px;font-size:13px}.properties-modal{width:1000px;max-width:calc(100vw - 48px)}.properties-modal__grid{grid-template-columns:280px minmax(0,1fr) 300px;gap:18px;min-height:420px;max-height:calc(80vh - 80px);display:grid}.properties-modal--sheet{width:1410px}.properties-modal--sheet .properties-modal__grid{grid-template-columns:360px minmax(0,1fr) 300px 320px}.properties-modal__col{flex-direction:column;gap:6px;min-width:0;min-height:0;display:flex}.properties-modal__label{text-transform:uppercase;letter-spacing:.04em;color:#64748b;font-size:11px;font-weight:600}.properties-table{flex-direction:column;gap:10px;display:flex}.properties-table__row{grid-template-columns:88px minmax(0,1fr);align-items:baseline;gap:8px;display:grid}.properties-table__key{color:#64748b;font-size:11px;font-weight:600}.properties-table__cell{flex-direction:column;min-width:0;display:flex}.properties-table__value{color:#0f172a;word-break:break-word;padding:7px 0;font-size:13px}.properties-table__milestone{display:block}.properties-table__description{resize:none;height:140px;font-family:inherit;line-height:1.5}.node-messages{border-radius:var(--glass-radius-sm);background:#ffffff59;border:1px solid #fff9;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden;box-shadow:inset 0 1px #ffffffbf}.node-messages__list{flex-direction:column;flex:1;gap:6px;padding:8px 10px;display:flex;overflow-y:auto}.node-messages__empty{color:#9ca3af;text-align:center;margin-top:16px;font-size:12px}.node-messages__bubble-row{justify-content:flex-start;display:flex}.node-messages__bubble-row.mine{justify-content:flex-end}.node-messages__bubble{border-radius:var(--glass-radius-sm);background:#ffffffb8;border:1px solid #ffffffb3;max-width:85%;padding:5px 8px;box-shadow:inset 0 1px #ffffffb3,0 1px 2px #1e293b14}.node-messages__bubble-row.mine .node-messages__bubble{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 1px 6px -1px #38bdf880}.node-messages__sender{opacity:.7;font-size:10px;font-weight:600}.node-messages__body{white-space:pre-wrap;word-break:break-word;margin-top:1px;font-size:12px}.node-messages__time{opacity:.6;text-align:right;margin-top:2px;font-size:9px}.node-messages__error{color:#b91c1c;padding:4px 10px;font-size:11px}.node-messages__compose{border-top:1px solid #ffffff80;gap:6px;padding:8px;display:flex}.node-messages__input{resize:none;border-radius:var(--glass-radius-sm);background:#ffffffb8;border:1px solid #fffc;flex:1;height:36px;padding:5px 7px;font-family:inherit;font-size:12px;transition:border-color .15s,box-shadow .15s;box-shadow:inset 0 1px #ffffffb3}.node-messages__input:focus{border-color:var(--accent-glass);box-shadow:var(--accent-glow);outline:none}.node-messages__input:disabled{color:#9ca3af;background:#f1f5f999}.node-messages__send{border-radius:var(--glass-radius-sm);background:var(--accent-button-fill);color:#fff;cursor:pointer;border:1px solid #ffffffb3;align-self:flex-end;padding:6px 10px;font-size:12px;font-weight:600;transition:background .15s;box-shadow:inset 0 1px #fffc}.node-messages__send:not(:disabled):hover{background:var(--accent-button-fill-hover)}.node-messages__send:disabled{box-shadow:none;cursor:not-allowed;background:#9ca3af}.attachment-panel__preview{border-radius:var(--glass-radius-sm);background:#ffffff59;border:1px solid #fff9;flex:1;justify-content:center;align-items:center;display:flex;overflow:hidden;box-shadow:inset 0 1px #ffffffbf,0 1px 3px -1px #1e293b2e}.attachment-panel__preview img{object-fit:contain;max-width:100%;max-height:100%}.attachment-panel__preview--clickable{appearance:none;font:inherit;cursor:pointer;padding:0;transition:border-color .15s,box-shadow .15s}.attachment-panel__preview--clickable:hover{border-color:var(--accent-glass);box-shadow:inset 0 1px #ffffffbf}.attachment-panel__preview-loading{color:#94a3b8;font-size:12px}.attachment-panel__note{color:#475569;font-size:11px}.attachment-panel__remove{align-self:flex-start;font-size:12px}.attachment-panel__error{color:#b91c1c;margin:8px 0 0;font-size:12px;line-height:1.4}.attachment-panel__add{color:#64748b;border:1.5px dashed var(--glass-border);border-radius:var(--glass-radius-sm);cursor:pointer;background:#ffffff59;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;font-size:13px;font-weight:500;transition:background .12s,border-color .12s,color .12s;display:flex}.attachment-panel__add:hover:not(:disabled){border-color:var(--accent-glass);color:#0c4a6e;background:#38bdf81f}.attachment-panel__add:disabled{cursor:not-allowed;opacity:.5}.attachment-panel__add-plus{font-size:26px;line-height:1}.properties-modal__drawing-scroll{flex:1;min-height:0;overflow-y:auto}.properties-modal__drawing-scroll .drawing-modal{min-width:0}.properties-modal__drawing-scroll input[type=file]{max-width:100%}.properties-modal__label--section{margin-top:14px}.properties-modal__variables{flex-direction:column;gap:8px;display:flex;overflow-y:auto}.properties-modal__variable-row{grid-template-columns:88px minmax(0,1fr);align-items:center;gap:8px;display:grid}.properties-modal__variable-row .properties-table__key{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.properties-modal__variables-empty{color:#94a3b8;margin:0;font-size:11px;line-height:1.5}.properties-modal__notes-scroll{flex:1;min-height:0;overflow-y:auto}.properties-modal__notes-actions{flex-wrap:wrap;align-self:flex-start;gap:6px;display:flex}.properties-modal__notes-action{align-items:center;gap:5px;display:inline-flex}.properties-modal__locked{text-align:center;color:#64748b;border:1px dashed var(--glass-border);border-radius:var(--glass-radius-sm);background:#ffffff59;flex:1;justify-content:center;align-items:center;min-height:0;padding:24px;font-size:12px;line-height:1.6;display:flex}.note-stack{flex-direction:column;gap:6px;display:flex}.note-stack__empty{color:#94a3b8;text-align:center;margin:8px 0;font-size:12px;line-height:1.5}.note-stack__item{flex-direction:column;gap:4px;display:flex}.note-stack__row{border-radius:var(--glass-radius-sm);background:#ffffff59;border:1px solid #fff9;align-items:center;gap:4px;padding:5px 8px;display:flex}.note-stack__order{color:#64748b;flex-shrink:0;width:16px;font-size:10px;font-weight:600}.note-stack__title{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--menu-text-color);text-transform:uppercase;flex:1;font-size:12px;font-weight:600;overflow:hidden}.note-stack__btn{appearance:none;width:20px;height:20px;font:inherit;color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:9px;line-height:1;display:inline-flex}.note-stack__btn:hover:not(:disabled){color:#0c4a6e;background:#38bdf824}.note-stack__btn:disabled{opacity:.35;cursor:default}.note-stack__btn--remove{font-size:14px}.note-stack__btn--remove:hover:not(:disabled){color:#b91c1c;background:#fee2e2b3}.note-stack-preview{color:#0f172a;word-break:break-word;background:#fff;border:1px solid #94a3b859;border-radius:4px;padding:10px 12px;font-size:12px;line-height:1.55}.note-stack-preview ul,.note-stack-preview ol{margin:4px 0;padding-left:22px}.note-stack-preview blockquote{border:none;margin:0 0 0 22px;padding:0}.note-var-missing{background:#fde68a;border-radius:3px;padding:0 3px;font-weight:600}.note-preview-modal{width:min(680px,92vw);max-width:92vw}.note-preview__page{border:1px solid var(--glass-border);border-radius:var(--glass-radius-sm);color:#1f2937;overflow-wrap:anywhere;background:#fff;padding:24px 28px;font-family:Arial,Segoe UI,sans-serif;font-size:13px;line-height:1.5}.note-preview__page b,.note-preview__page strong{color:#0f172a}.note-preview__empty{color:#64748b;margin:0;font-size:13px;font-style:italic}.sheet-node{--pill-inset:12px;border-radius:var(--glass-radius);background:var(--node-glass-fill);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);width:100%;height:100%;box-shadow:var(--glass-inner-light);flex-direction:column;display:flex;position:relative;overflow:hidden}.sheet-node__handle{opacity:0;pointer-events:none;background:0 0;border:none;width:1px;min-width:0;height:1px;min-height:0}.sheet-node:before{content:"";border-radius:calc(var(--glass-radius) - var(--node-glass-border-width));background-image:var(--glass-sheen-screen);background-repeat:repeat;background-size:var(--glass-sheen-tile) var(--glass-sheen-tile);background-position:calc((var(--vp-x,0px) / var(--vp-zoom,1) + var(--sheen-node-x,0px)) * -1) calc((var(--vp-y,0px) / var(--vp-zoom,1) + var(--sheen-node-y,0px)) * -1);pointer-events:none;z-index:0;position:absolute;inset:0}.sheet-node>*{z-index:1;position:relative}.sheet-node:hover{border-color:var(--accent-glass)}.sheet-node.selected{border-color:var(--accent-glass);box-shadow:var(--accent-glow), var(--glass-inner-light);animation:.45s ease-out node-select-flash}.react-flow__node.sheet-node--drop-target .sheet-node{border-color:var(--accent-glass);background:#38bdf81f;border-style:dashed}.sheet-node__header{margin:var(--pill-inset) var(--pill-inset) 0;background:var(--pill-fill);border:1px solid var(--glass-border);border-radius:calc(var(--glass-radius) - var(--node-glass-border-width) - var(--pill-inset));box-shadow:var(--glass-inner-light);flex-direction:column;gap:0;padding:7px 9px;display:flex}.sheet-node__number{width:100%;font-size:12px;font-weight:600}.sheet-node__title{width:100%;font-size:16px}.sheet-node__number,.sheet-node__title{text-align:left;text-transform:uppercase;color:var(--node-text-color);background:0 0;border:1px solid #0000;border-radius:3px;padding:1px 4px 1px 10px}.sheet-node__number:hover,.sheet-node__title:hover,.sheet-node__number:focus,.sheet-node__title:focus{background:var(--glass-fill-strong);border-color:#9ca3af;outline:none}.sheet-node__number:disabled,.sheet-node__title:disabled{pointer-events:none}.sheet-node__body{flex:1;position:relative}.sheet-node__footer{--footer-pill-height:22px;margin:0 30px var(--pill-inset);color:var(--node-text-color);flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;font-size:10px;display:flex}.sheet-node__footer-left{align-items:center;gap:12px;min-width:0;display:flex}.sheet-node__view-count{height:var(--footer-pill-height);box-sizing:border-box;white-space:nowrap;background:var(--pill-fill);border:1px solid var(--glass-border);box-shadow:var(--glass-inner-light);border-radius:999px;flex-shrink:0;align-items:center;padding:0 9px;display:inline-flex}.sheet-node__count-sep{margin:0 6px}.sheet-node__status{display:contents}.sheet-node__status--planning{--status-color:var(--status-planning)}.sheet-node__status--development{--status-color:var(--status-development)}.sheet-node__status--quality-control{--status-color:var(--status-quality-control)}.sheet-node__status--ready{--status-color:var(--status-ready)}.sheet-node__status-dot{width:var(--footer-pill-height);height:var(--footer-pill-height);box-sizing:border-box;background:var(--pill-fill);border:1px solid var(--glass-border);box-shadow:var(--glass-inner-light);border-radius:50%;flex-shrink:0;position:relative}.sheet-node__status-dot:before{content:"";background:var(--status-color);border-radius:50%;width:8px;height:8px;margin:auto;position:absolute;inset:0}.sheet-node__status-select{min-width:100px;height:var(--footer-pill-height);box-sizing:border-box;line-height:calc(var(--footer-pill-height) - 2px);color:var(--node-text-color);--glass-select-fill:var(--pill-fill);border-radius:999px;align-items:center;padding:0 22px 0 10px;font-size:10px;font-weight:600;display:inline-flex}.sheet-node.collapsed{box-shadow:inset 0 4px 0 var(--status-color), var(--glass-inner-light)}.sheet-node.collapsed.selected{box-shadow:var(--accent-glow), inset 0 4px 0 var(--status-color), var(--glass-inner-light)}.sheet-node--planning{--status-color:var(--status-planning)}.sheet-node--development{--status-color:var(--status-development)}.sheet-node--quality-control{--status-color:var(--status-quality-control)}.sheet-node--ready{--status-color:var(--status-ready)}.sheet-node__footer-right{flex-shrink:0;align-items:center;gap:6px;display:flex}.sheet-note-stack{top:8px;right:var(--pill-inset);flex-direction:column;align-items:flex-end;gap:4px;max-width:60%;display:flex;position:absolute}.sheet-note-stack__pill{box-sizing:border-box;max-width:100%;height:22px;color:var(--node-text-color);background:var(--pill-fill);border:1px solid var(--glass-border);box-shadow:var(--glass-inner-light);border-radius:999px;align-items:center;gap:5px;padding:0 8px 0 9px;font-size:10px;font-weight:600;line-height:1;display:inline-flex}.sheet-note-stack__order{opacity:.6;flex-shrink:0}.sheet-note-stack__title{text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase;min-width:0;overflow:hidden}.sheet-note-stack__actions{opacity:0;align-items:center;gap:1px;transition:opacity .15s;display:inline-flex}.sheet-note-stack__pill:hover .sheet-note-stack__actions{opacity:1}.sheet-note-stack__btn{appearance:none;width:14px;height:16px;font:inherit;color:var(--node-text-color);opacity:.7;cursor:pointer;background:0 0;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:7px;line-height:1;display:inline-flex}.sheet-note-stack__btn:hover:not(:disabled){opacity:1;background:#38bdf82e}.sheet-note-stack__btn:disabled{opacity:.25;cursor:default}.sheet-note-stack__btn--remove{font-size:12px}.sheet-note-stack__btn--remove:hover:not(:disabled){color:#b91c1c;background:#fee2e2cc}.sheet-node__drawing{height:var(--footer-pill-height);box-sizing:border-box;appearance:none;font:inherit;color:var(--node-text-color);background:var(--pill-fill);border:1px solid var(--glass-border);box-shadow:var(--glass-inner-light);cursor:pointer;border-radius:999px;flex-shrink:0;align-items:center;gap:4px;padding:0 8px;font-size:10px;font-weight:600;line-height:1;transition:border-color .15s,background .15s,color .18s;display:inline-flex}.sheet-node__drawing:hover{border-color:var(--glass-border-bright);background:var(--glass-frost)}.sheet-node__drawing.has-drawing{color:#1d4ed8}.sheet-node__header{position:relative}.sheet-node__warning{color:var(--status-planning);justify-content:center;align-items:center;font-size:13px;display:inline-flex;position:absolute;top:5px;right:7px}.sheet-node__forma{height:var(--footer-pill-height);box-sizing:border-box;white-space:nowrap;color:#0c4a6e;background:linear-gradient(#38bdf824, #38bdf824), var(--pill-fill);border:1px solid var(--glass-border);box-shadow:var(--glass-inner-light);border-radius:999px;flex-shrink:0;align-items:center;gap:3px;padding:0 8px;font-size:9px;font-weight:600;line-height:1;transition:color .18s;display:inline-flex}.sheet-node__number,.sheet-node__title,.sheet-note-stack__order,.sheet-note-stack__title{transition:opacity .18s}.canvas-wrapper[data-text-lod] .sheet-node__number,.canvas-wrapper[data-text-lod] .sheet-node__title,.canvas-wrapper[data-text-lod] .sheet-note-stack__order,.canvas-wrapper[data-text-lod] .sheet-note-stack__title{opacity:0;visibility:hidden;transition:opacity .18s,visibility 0s .18s}.sheet-node__view-count{transition:color .18s}.sheet-node__status-select{transition:border-color .15s,box-shadow .15s,color .18s}.canvas-wrapper[data-text-lod] .sheet-node__view-count,.canvas-wrapper[data-text-lod] .sheet-node__status-select,.canvas-wrapper[data-text-lod] .sheet-node__drawing,.canvas-wrapper[data-text-lod] .sheet-node__forma{color:#0000}@keyframes context-menu-in{0%{opacity:0;transform:scale(.96)translateY(-4px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes context-menu-out{0%{opacity:1}to{opacity:0}}.context-menu{z-index:1000;transform-origin:0 0;flex-direction:column;min-width:180px;animation:.12s ease-out context-menu-in;display:flex;position:fixed}.context-menu--closing{pointer-events:none;animation:.15s ease-in forwards context-menu-out}.context-menu__item{text-align:left;color:var(--menu-text-color);border-radius:var(--glass-radius-sm);cursor:pointer;background:0 0;border:none;padding:7px 11px;font-size:13px;transition:background .12s}.context-menu__item:hover:not(:disabled){background:#fff9}.context-menu__item:disabled{color:#94a3b8;cursor:not-allowed}.context-menu__separator{background:#ffffff80;height:1px;margin:4px 8px}.view-node{border-radius:var(--glass-radius);background:var(--pill-fill);width:100%;height:100%;box-shadow:var(--glass-shadow), var(--glass-inner-light);padding:calc(var(--glass-radius) * .4);flex-direction:column;font-size:12px;transition:box-shadow .18s,border-color .18s,transform .18s;display:flex;position:relative;overflow:hidden}.view-node:before{content:"";border-radius:calc(var(--glass-radius) - var(--node-glass-border-width));background-image:var(--glass-sheen-screen);background-repeat:repeat;background-size:var(--glass-sheen-tile) var(--glass-sheen-tile);background-position:calc((var(--vp-x,0px) / var(--vp-zoom,1) + var(--sheen-node-x,0px)) * -1) calc((var(--vp-y,0px) / var(--vp-zoom,1) + var(--sheen-node-y,0px)) * -1);pointer-events:none;z-index:0;position:absolute;inset:0}.view-node>*{z-index:1;position:relative}.view-node:hover{border-color:var(--accent-glass);box-shadow:var(--glass-shadow-lift), var(--glass-inner-light)}.view-node.selected{border-color:var(--accent-glass);box-shadow:var(--accent-glow), var(--glass-shadow), var(--glass-inner-light);animation:.45s ease-out node-select-flash}.react-flow__node.view-node--drop-target .view-node{border-color:var(--accent-glass);background:#38bdf81f;border-style:dashed}.view-node__handle{background:var(--accent);z-index:10;border:2px solid #ffffffe6;width:14px;height:14px;box-shadow:0 0 9px #38bdf8b3}.view-node__sheet-number{color:var(--node-text-color);text-transform:uppercase;padding:1px 1px 1px 4px;font-size:12px;font-weight:600}.view-node__title{text-transform:uppercase;width:100%;color:var(--node-text-color);resize:none;background:0 0;border:1px solid #0000;border-radius:3px;padding:1px 3px;font-family:inherit;font-size:16px;font-weight:400;line-height:1.2;display:block;overflow:hidden}.view-node__title:hover,.view-node__title:focus{border-color:#93c5fd;outline:none}.view-node__title:disabled,.view-node__type-select:disabled{pointer-events:none}.view-node__type-select{box-sizing:border-box;min-width:104px;height:24px;color:var(--node-text-color);--glass-select-fill:var(--pill-fill);border-radius:999px;align-items:center;padding:0 22px 0 10px;font-size:10px;font-weight:600;line-height:22px;display:inline-flex}.view-node__type-select option{font-size:12px}.view-node__main{flex:1;gap:8px;min-height:0;display:flex}.view-node__left{flex-direction:column;flex:1;min-width:0;padding-left:6px;display:flex}.view-node__preview{aspect-ratio:1;border-radius:var(--glass-radius-sm);background:#ffffff47;border:1px solid #ffffff8c;flex:none;justify-content:center;align-self:stretch;align-items:center;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffb3,0 1px 3px -1px #1e293b29}.view-node__preview--clickable{cursor:pointer}.view-node__preview--clickable:hover{border-color:var(--accent-glass);box-shadow:var(--accent-glow), inset 0 1px 0 #ffffffbf}.view-node__preview img{object-fit:cover;width:100%;height:100%}.view-node__library-badge{z-index:1;background:#ffffffd9;border-radius:3px;padding:1px;font-size:10px;line-height:1;position:absolute;top:1px;right:1px}.view-node__actions{align-items:center;gap:6px;margin-top:auto;padding-top:6px;padding-left:3px;display:flex}.view-node__sheet-number,.view-node__title,.view-node__actions,.view-node__library-badge{transition:opacity .18s}.canvas-wrapper[data-text-lod] .view-node__sheet-number,.canvas-wrapper[data-text-lod] .view-node__title,.canvas-wrapper[data-text-lod] .view-node__actions,.canvas-wrapper[data-text-lod] .view-node__library-badge{opacity:0;visibility:hidden;transition:opacity .18s,visibility 0s .18s}.note-editor-modal{width:1100px;max-width:calc(100vw - 48px)}.note-editor__title{width:100%;margin-bottom:10px;font-size:14px}.note-editor__toolbar{border-radius:var(--glass-radius-sm);background:#ffffff59;border:1px solid #fff9;align-items:center;gap:4px;margin-bottom:12px;padding:6px 8px;display:flex;box-shadow:inset 0 1px #ffffffbf}.note-editor__tool{appearance:none;width:28px;height:28px;font:inherit;color:var(--menu-text-color);cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:13px;line-height:1;transition:border-color .15s,background .15s;display:inline-flex}.note-editor__tool:hover:not(:disabled){border-color:var(--glass-border-bright);background:linear-gradient(#ffffff59, #ffffff59), var(--glass-sheen), var(--menu-fill)}.note-editor__tool.active{background:linear-gradient(#38bdf829, #38bdf829), var(--glass-sheen), var(--menu-fill);border-color:var(--accent-glass);color:#0c4a6e}.note-editor__tool:disabled{opacity:.5;cursor:not-allowed}.note-editor__tool-select{box-sizing:border-box;height:28px;color:var(--menu-text-color);--glass-select-fill:var(--menu-fill);border-radius:6px;min-width:130px;padding:0 22px 0 10px;font-size:12px}.note-editor__tool-select--size{min-width:80px}.note-editor__toolbar-divider{background:#64748b40;width:1px;height:20px;margin:0 4px}.note-editor__columns{grid-template-columns:2fr 1fr;gap:18px;min-height:420px;max-height:calc(80vh - 190px);display:grid}.note-paper{color:#0f172a;cursor:text;background:#fff;border:1px solid #94a3b866;border-radius:4px;min-width:0;padding:28px 32px;font-size:14px;line-height:1.6;overflow-y:auto;box-shadow:0 1px 4px #1e293b1f}.note-paper:focus{border-color:var(--accent-glass);box-shadow:var(--accent-glow);outline:none}.note-paper[contenteditable=false]{cursor:default;background:#f1f5f9cc}.note-paper ul,.note-paper ol{margin:4px 0;padding-left:28px}.note-paper blockquote{border:none;margin:0 0 0 28px;padding:0}.note-paper span[data-var]{border:1px solid var(--accent-glass);color:#0c4a6e;white-space:nowrap;-webkit-user-select:all;user-select:all;background:#38bdf829;border-radius:999px;padding:0 5px;font-size:.85em;font-weight:600;line-height:1.4;display:inline-block}.variable-panel{flex-direction:column;gap:8px;min-width:0;min-height:0;display:flex}.variable-panel__label{text-transform:uppercase;letter-spacing:.04em;color:#64748b;font-size:11px;font-weight:600}.variable-panel__hint{margin:0;font-size:11px;line-height:1.5}.variable-panel__list{flex-direction:column;flex:1;gap:6px;min-height:0;display:flex;overflow-y:auto}.variable-panel__empty{color:#94a3b8;text-align:center;margin:8px 0 0;font-size:12px}.variable-panel__row{border-radius:var(--glass-radius-sm);background:#ffffff59;border:1px solid #fff9;align-items:center;gap:6px;padding:5px 8px;display:flex}.variable-panel__name{text-overflow:ellipsis;white-space:nowrap;color:#0c4a6e;flex:1;min-width:0;font-size:12px;font-weight:600;overflow:hidden}.variable-panel__insert{padding:3px 9px;font-size:11px}.variable-panel__delete{appearance:none;width:20px;height:20px;font:inherit;color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;display:inline-flex}.variable-panel__delete:hover:not(:disabled){color:#b91c1c;background:#fee2e2b3}.variable-panel__delete:disabled{opacity:.5;cursor:not-allowed}.variable-panel__add{gap:6px;display:flex}.variable-panel__add .modal-text-input{flex:1;min-width:0}.note-node{border-radius:var(--glass-radius);background:var(--pill-fill);width:100%;height:100%;box-shadow:var(--glass-shadow), var(--glass-inner-light);padding:calc(var(--glass-radius) * .4);flex-direction:column;font-size:12px;transition:box-shadow .18s,border-color .18s,transform .18s;display:flex;position:relative;overflow:hidden}.note-node:before{content:"";border-radius:calc(var(--glass-radius) - var(--node-glass-border-width));background-image:var(--glass-sheen-screen);background-repeat:repeat;background-size:var(--glass-sheen-tile) var(--glass-sheen-tile);background-position:calc((var(--vp-x,0px) / var(--vp-zoom,1) + var(--sheen-node-x,0px)) * -1) calc((var(--vp-y,0px) / var(--vp-zoom,1) + var(--sheen-node-y,0px)) * -1);pointer-events:none;z-index:0;position:absolute;inset:0}.note-node>*{z-index:1;position:relative}.note-node:hover{border-color:var(--accent-glass);box-shadow:var(--glass-shadow-lift), var(--glass-inner-light)}.note-node.selected{border-color:var(--accent-glass);box-shadow:var(--accent-glow), var(--glass-shadow), var(--glass-inner-light);animation:.45s ease-out node-select-flash}.note-node__handle{background:var(--accent);z-index:10;border:2px solid #ffffffe6;width:14px;height:14px;box-shadow:0 0 9px #38bdf8b3}.note-node__title{text-transform:uppercase;width:100%;color:var(--node-text-color);resize:none;background:0 0;border:1px solid #0000;border-radius:3px;padding:1px 3px;font-family:inherit;font-size:16px;font-weight:400;line-height:1.2;display:block;overflow:hidden}.note-node__title:hover,.note-node__title:focus{border-color:#93c5fd;outline:none}.note-node__title:disabled{pointer-events:none}.note-node__excerpt{min-height:0;color:var(--node-text-color);opacity:.85;-webkit-line-clamp:4;line-clamp:4;word-break:break-word;-webkit-box-orient:vertical;flex:1;margin-top:2px;padding:0 3px;font-size:11px;line-height:1.45;display:-webkit-box;overflow:hidden}.note-node__excerpt-empty{color:#94a3b8;font-style:italic}.note-node__footer{align-items:center;gap:8px;margin-top:auto;padding:6px 3px 0;display:flex}.note-node__sheet-count{box-sizing:border-box;height:22px;color:var(--node-text-color);white-space:nowrap;background:var(--pill-fill);border:1px solid var(--glass-border);box-shadow:var(--glass-inner-light);border-radius:999px;flex-shrink:0;align-items:center;padding:0 9px;font-size:10px;display:inline-flex}.note-node__title,.note-node__excerpt,.note-node__footer{transition:opacity .18s}.canvas-wrapper[data-text-lod] .note-node__title,.canvas-wrapper[data-text-lod] .note-node__excerpt,.canvas-wrapper[data-text-lod] .note-node__footer{opacity:0;visibility:hidden;transition:opacity .18s,visibility 0s .18s}.collector-node{border-radius:var(--glass-radius);background:var(--pill-fill);width:100%;height:100%;box-shadow:var(--glass-shadow), var(--glass-inner-light);padding:8px calc(var(--glass-radius) * .6);cursor:grab;flex-direction:column;justify-content:center;gap:3px;font-size:12px;transition:box-shadow .18s,border-color .18s;display:flex;position:relative;overflow:hidden}.collector-node:before{content:"";border-radius:calc(var(--glass-radius) - var(--node-glass-border-width));background-image:var(--glass-sheen-screen);background-repeat:repeat;background-size:var(--glass-sheen-tile) var(--glass-sheen-tile);background-position:calc((var(--vp-x,0px) / var(--vp-zoom,1) + var(--sheen-node-x,0px)) * -1) calc((var(--vp-y,0px) / var(--vp-zoom,1) + var(--sheen-node-y,0px)) * -1);pointer-events:none;z-index:0;position:absolute;inset:0}.collector-node>*{z-index:1;position:relative}.collector-node:hover{border-color:var(--accent-glass);box-shadow:var(--glass-shadow-lift), var(--glass-inner-light)}.collector-node__title{text-transform:uppercase;color:var(--node-text-color);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;line-height:1.2;overflow:hidden}.collector-node__meta{justify-content:space-between;align-items:center;gap:8px;display:flex}.collector-node__from{letter-spacing:.04em;text-transform:uppercase;color:#64748b;white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-weight:600;overflow:hidden}.collector-node__count{box-sizing:border-box;height:22px;color:var(--node-text-color);white-space:nowrap;background:var(--pill-fill);border:1px solid var(--glass-border);box-shadow:var(--glass-inner-light);border-radius:999px;flex-shrink:0;align-items:center;padding:0 9px;font-size:10px;display:inline-flex}.collector-node__handle{opacity:0;pointer-events:none;background:0 0;border:none;width:1px;min-width:0;height:1px;min-height:0}.react-flow__node-collector{transition:opacity .18s}.react-flow__node-collector.collector-node--entering{animation:.18s view-node-fade-in}.collector-node__title,.collector-node__meta{transition:opacity .18s}.canvas-wrapper[data-text-lod] .collector-node__title,.canvas-wrapper[data-text-lod] .collector-node__meta{opacity:0;visibility:hidden;transition:opacity .18s,visibility 0s .18s}.react-flow__edgelabel-renderer{z-index:1000}.connection-edge__delete{color:#dc2626;cursor:pointer;pointer-events:all;background:#fff;border:1px solid #dc2626;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;padding:0;font-size:13px;line-height:1;display:flex;position:absolute}.connection-edge__delete:hover{color:#fff;background:#dc2626}@keyframes note-link-draw-from-note{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes note-link-draw-from-sheet{0%{stroke-dashoffset:-1px}to{stroke-dashoffset:0}}@keyframes note-link-bead-from-note{0%{stroke-dashoffset:0;opacity:0}12%{opacity:1}88%{opacity:1}to{stroke-dashoffset:-.955px;opacity:0}}@keyframes note-link-bead-from-sheet{0%{stroke-dashoffset:-.955px;opacity:0}12%{opacity:1}88%{opacity:1}to{stroke-dashoffset:0;opacity:0}}.summary-edge__label{color:#64748b;pointer-events:none;background:#ffffffbf;border:1px solid #94a3b859;border-radius:8px;padding:1px 5px;font-size:10px;font-weight:600;position:absolute}.sketch-upload__library-btn{color:#1d4ed8;border-radius:var(--glass-radius-sm);width:100%;box-shadow:inset 0 1px 0 #fffc, var(--glass-shadow);cursor:pointer;background:#ffffff8c;border:1px solid #ffffffb3;padding:11px;font-size:14px;font-weight:600;transition:background .15s}.sketch-upload__library-btn:hover{background:#dbeafecc}.sketch-upload__or{text-align:center;color:#94a3b8;margin:10px 0;font-size:12px}.sketch-upload__field{margin-top:8px;display:block}.sketch-upload__description{resize:vertical;min-height:60px;font-family:inherit}.sketch-upload__hint{color:#2563eb;margin-top:8px;font-size:12px}.sketch-upload__preview{background:#f9fafb;border:1px dashed #d1d5db;border-radius:6px;justify-content:center;align-items:center;width:100%;height:140px;margin-bottom:10px;display:flex;overflow:hidden}.sketch-upload__preview img{object-fit:contain;max-width:100%;max-height:100%}.sketch-upload__preview-placeholder{color:#9ca3af;font-size:12px}.sketch-upload__paste-indicator{color:#16a34a;margin-bottom:8px;font-size:12px;font-weight:600}.sketch-menu{flex-direction:column;gap:8px;width:250px;padding:2px;display:flex}.sketch-menu__search{width:calc(100% - 48px);color:var(--menu-text-color);box-sizing:border-box;background:#ffffff8c;border:1px solid #ffffffb3;border-radius:999px;outline:none;padding:7px 14px;font-size:13px}.sketch-menu__search:focus{border-color:var(--accent-glass);background:#ffffffc7}.sketch-menu__toolbar{justify-content:flex-end;display:flex}.sketch-menu__sort{color:var(--menu-text-color);cursor:pointer;white-space:nowrap;background:#ffffff8c;border:1px solid #ffffffb3;border-radius:999px;align-items:center;gap:5px;padding:5px 11px;font-size:12px;font-weight:500;transition:background .12s,border-color .12s;display:inline-flex}.sketch-menu__sort:hover{border-color:var(--glass-border-bright);background:#ffffffc7}.sketch-menu__list{scrollbar-width:thin;scrollbar-color:#47556966 transparent;flex-direction:column;gap:4px;max-height:calc(100vh - 280px);padding-right:2px;display:flex;overflow-y:auto}.sketch-menu__list::-webkit-scrollbar{width:6px}.sketch-menu__list::-webkit-scrollbar-track{background:0 0}.sketch-menu__list::-webkit-scrollbar-thumb{background:#47556966;border-radius:999px}.sketch-menu__row{border-radius:var(--glass-radius-sm);cursor:grab;border:1px solid #0000;align-items:center;gap:10px;padding:6px 8px;transition:background .12s,border-color .12s;display:flex}.sketch-menu__row:hover{border-color:var(--glass-border);background:#ffffff8c}.sketch-menu__row:active{cursor:grabbing}.sketch-menu__thumb{background:#ffffffbf;border:1px solid #ffffffb3;border-radius:7px;flex:0 0 48px;justify-content:center;align-items:center;width:48px;height:48px;display:flex;overflow:hidden;box-shadow:inset 0 1px #ffffffbf}.sketch-menu__thumb img{object-fit:contain;pointer-events:none;max-width:100%;max-height:100%}.sketch-menu__info{flex-direction:column;gap:2px;min-width:0;display:flex}.sketch-menu__name{color:var(--menu-text-color);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.sketch-menu__meta{color:#64748b;font-size:11px}.sketch-menu__upload{color:#64748b;border:1.5px dashed var(--glass-border);border-radius:var(--glass-radius-sm);cursor:pointer;background:#ffffff59;justify-content:center;align-items:center;gap:6px;padding:10px;font-size:13px;font-weight:500;transition:background .12s,border-color .12s,color .12s;display:flex}.sketch-menu__upload:hover:not(:disabled){border-color:var(--accent-glass);color:#0c4a6e;background:#38bdf81f}.sketch-menu__upload:disabled{cursor:not-allowed;opacity:.5}.sketch-menu__upload-plus{font-size:20px;line-height:1}.sketch-menu__empty{color:#64748b;text-align:center;padding:24px 8px;font-size:13px}.dock__station{z-index:100;pointer-events:none;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;transition:transform .32s,opacity .28s;display:flex;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.dock__station--hidden{opacity:0;pointer-events:none;transform:translate(-160px,-50%)}.dock__rail{pointer-events:none;flex-direction:column;gap:10px;display:flex}.dock__button{pointer-events:auto;width:52px;height:52px;color:var(--menu-text-color);background-image:var(--glass-sheen), var(--pill-fill);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:var(--node-glass-border-width) solid var(--glass-border);box-shadow:var(--glass-inner-light), var(--glass-shadow);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:22px;transition:border-color .15s,box-shadow .18s,color .15s;display:flex;position:relative}.dock__button:hover{border-color:var(--accent-glass);box-shadow:var(--glass-inner-light), var(--glass-shadow-lift)}.dock__button--active{border-color:var(--accent-glass);color:#0c4a6e;box-shadow:var(--accent-glow), var(--glass-inner-light), var(--glass-shadow)}.dock__button:before{content:"";border-radius:inherit;pointer-events:none;z-index:2;border:1px solid #ffffffe6;position:absolute;inset:1px;-webkit-mask-image:radial-gradient(circle at 0 0,#000 0%,#0000 80%);mask-image:radial-gradient(circle at 0 0,#000 0%,#0000 80%)}.dock__button--active:before{--reflection-orbit-duration:4s;-webkit-mask-image:conic-gradient(from var(--reflection-angle), #000 0deg, transparent 67.5deg, transparent 292.5deg, #000 360deg);-webkit-mask-image:conic-gradient(from var(--reflection-angle), #000 0deg, transparent 67.5deg, transparent 292.5deg, #000 360deg);mask-image:conic-gradient(from var(--reflection-angle), #000 0deg, transparent 67.5deg, transparent 292.5deg, #000 360deg);animation:reflection-orbit var(--reflection-orbit-duration) linear infinite;border-width:2px;border-color:#fff;inset:2px}.dock__home{z-index:100;background-image:var(--glass-sheen), var(--pill-fill);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:var(--node-glass-border-width) solid var(--glass-border);width:60px;height:60px;box-shadow:var(--glass-inner-light), var(--glass-shadow);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:border-color .15s,box-shadow .18s;display:flex;position:absolute;top:16px;left:16px}.dock__home:hover{border-color:var(--accent-glass);box-shadow:var(--glass-inner-light), var(--glass-shadow-lift)}.dock__home:before{content:"";border-radius:inherit;pointer-events:none;z-index:2;border:1px solid #ffffffe6;position:absolute;inset:1px;-webkit-mask-image:radial-gradient(circle at 0 0,#000 0%,#0000 80%);mask-image:radial-gradient(circle at 0 0,#000 0%,#0000 80%)}.dock__home-logo{-webkit-user-select:none;user-select:none;width:30px;height:30px;transition:opacity .15s;display:block}.dock__home:hover .dock__home-logo{opacity:.8}@keyframes dock-logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dock__home-logo--spin{animation:.6s ease-in-out dock-logo-spin}.dock__panel{pointer-events:auto;background-image:var(--glass-sheen), var(--pill-fill);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:var(--node-glass-border-width) solid var(--glass-border);border-radius:var(--glass-radius);box-shadow:var(--glass-inner-light), var(--glass-shadow);padding:calc(var(--glass-radius) * .4) var(--menu-pad);flex-direction:column;display:flex;position:relative}.dock__panel-scroll{scrollbar-width:thin;scrollbar-color:#47556966 transparent;flex-direction:column;gap:2px;min-height:0;display:flex;overflow-y:auto}.dock__panel-scroll::-webkit-scrollbar{width:6px}.dock__panel-scroll::-webkit-scrollbar-track{background:0 0}.dock__panel-scroll::-webkit-scrollbar-thumb{background:#47556966;border-radius:999px}.dock__panels{pointer-events:none;align-items:center;display:flex;position:relative}.dock__panel{z-index:1;animation:.2s ease-out backwards dock-panel-in}.dock__panel--closing{pointer-events:none;z-index:0;animation:.18s ease-in both dock-panel-fade-out;position:absolute;top:50%;left:0;transform:translateY(-50%)}@keyframes dock-panel-in{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}@keyframes dock-panel-fade-out{0%{opacity:1}to{opacity:0}}.dock__panel-close{top:10px;right:calc(var(--glass-radius) * .5);z-index:3;width:24px;height:24px;color:var(--menu-text-color);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;transition:background .12s,color .12s;display:flex;position:absolute}.dock__panel-close:hover{color:#0f172a;background:#fff9}.dock__panel--main-menu{min-width:210px;max-height:calc(100vh - 32px)}.dock__panel--sketches,.dock__panel--sheets{min-width:260px;max-height:calc(100vh - 32px)}.dock__panel-footer{border-top:1px solid #ffffff80;flex-direction:column;margin-top:2px;padding-top:4px;display:flex}.dock-menu__item{text-align:left;width:100%;color:var(--menu-text-color);border-radius:var(--glass-radius-sm);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:7px 11px;font-size:13px;transition:background .12s;display:block}.dock-menu__item:before{content:attr(data-label);visibility:hidden;pointer-events:none;height:0;font-weight:600;display:block;overflow:hidden}.dock-menu__item:hover:not(:disabled){background:#fff9}.dock-menu__item:disabled{color:#94a3b8;cursor:not-allowed}.dock-menu__item--active,.dock-menu__item--active:hover:not(:disabled){color:#0c4a6e;background:#38bdf829;font-weight:600}.dock-menu__divider{background:#ffffff80;height:1px;margin:4px 8px}.dock-menu__section-title{text-transform:uppercase;letter-spacing:.04em;color:#64748b;margin-top:8px;padding:4px 11px 2px;font-size:11px;font-weight:600}.dock-menu__section-title:first-child{margin-top:0}.sheet-menu{--list-scrollbar-width:6px;--list-scrollbar-gap:8px;flex-direction:column;gap:6px;min-width:230px;padding:2px;display:flex}.sheet-menu__input{width:calc(100% - var(--list-scrollbar-width) - var(--list-scrollbar-gap));color:var(--menu-text-color);border-radius:var(--glass-radius-sm);box-sizing:border-box;background:#ffffff8c;border:1px solid #ffffffb3;outline:none;align-self:flex-start;padding:6px 9px;font-size:13px}.sheet-menu__input:focus{border-color:var(--accent-glass);background:#ffffffbf}.sheet-menu__list{padding:0 var(--list-scrollbar-gap) 0 0;scrollbar-gutter:stable;scroll-snap-type:y mandatory;scrollbar-width:thin;scrollbar-color:#47556966 transparent;flex-direction:column;gap:2px;max-height:320px;margin:0;list-style:none;display:flex;overflow-y:auto}.sheet-menu__list::-webkit-scrollbar{width:var(--list-scrollbar-width)}.sheet-menu__list::-webkit-scrollbar-track{background:0 0}.sheet-menu__list::-webkit-scrollbar-thumb{background:#47556966;border-radius:999px}.sheet-menu__list::-webkit-scrollbar-thumb:hover{background:#47556999}.sheet-menu__list>li{scroll-snap-align:start}.sheet-menu__list::-webkit-scrollbar-button{display:none}.sheet-menu__row{align-items:center;gap:8px;display:flex}.sheet-menu__option{text-align:left;text-transform:uppercase;min-width:0;color:var(--menu-text-color);border-radius:var(--glass-radius-sm);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;flex:1;padding:7px 11px;font-size:13px;transition:background .12s;overflow:hidden}.sheet-menu__status-dot{background:var(--status-color);border-radius:50%;flex-shrink:0;width:8px;height:8px}.sheet-menu__status-dot--planning{--status-color:var(--status-planning)}.sheet-menu__status-dot--development{--status-color:var(--status-development)}.sheet-menu__status-dot--quality-control{--status-color:var(--status-quality-control)}.sheet-menu__status-dot--ready{--status-color:var(--status-ready)}.sheet-menu__option.highlighted{background:#fff9}.sheet-menu__option.selected,.sheet-menu__option.selected.highlighted{color:#0c4a6e;background:#38bdf829;font-weight:600}.sheet-menu__empty{color:#94a3b8;padding:7px 9px;font-size:13px}@media (prefers-reduced-motion:reduce){.dock__panel,.dock__panel--closing{animation:none}.dock__button--active:before{animation:none;-webkit-mask-image:radial-gradient(circle at 0 0,#000 0%,#0000 80%);mask-image:radial-gradient(circle at 0 0,#000 0%,#0000 80%)}}.status-dock{z-index:100;pointer-events:none;align-items:center;gap:8px;max-width:calc(100vw - 32px);display:flex;position:absolute;bottom:16px;left:16px}.status-strip{pointer-events:none;color:#475569;background:var(--glass-fill-strong);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);-webkit-user-select:none;user-select:none;border-radius:999px;flex:none;align-items:center;padding:5px 13px;font-size:12px;display:flex;overflow:hidden}.status-strip>:not(:first-child):before{content:"·";color:#94a3b8;margin:0 8px}.status-strip__name{text-overflow:ellipsis;white-space:nowrap;color:#0f172a;min-width:0;max-width:240px;font-weight:600;overflow:hidden}.status-strip__save,.status-strip__zoom,.status-strip__readonly{white-space:nowrap}.status-strip__save--idle,.status-strip__save--saved{color:#15803d}.status-strip__save--saving{color:#2563eb}.status-strip__save--error{color:#b91c1c;font-weight:600}.status-strip__readonly{color:#b45309;font-weight:700}.hint-pill{white-space:nowrap;text-overflow:ellipsis;pointer-events:none;color:#475569;background:var(--glass-fill-strong);border:1px solid var(--glass-border);min-width:280px;max-width:520px;box-shadow:var(--glass-shadow);-webkit-user-select:none;user-select:none;border-radius:999px;flex:0 auto;padding:5px 13px;font-size:12px;overflow:hidden}.hint-pill--limit{color:#9a3412;background:#ffedd5bf;border-color:#fb923c99}.forma-pill{pointer-events:auto;color:#475569;background:var(--glass-fill-strong);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);-webkit-user-select:none;user-select:none;border-radius:999px;flex:none;align-items:center;gap:7px;padding:4px 6px 4px 13px;font-size:12px;display:flex}.forma-pill__label{color:#0f172a;font-weight:600}.forma-pill__status{white-space:nowrap}.forma-pill__status--warn{color:#b45309}.forma-pill__status--error{color:#b91c1c;font-weight:600}.forma-pill__refresh{cursor:pointer;color:#475569;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-size:14px;line-height:1;display:flex}.forma-pill__refresh:hover:not(:disabled){color:#0f172a;background:#fff9}.forma-pill__refresh:disabled{cursor:default}.forma-pill__refresh--busy{animation:1s linear infinite forma-pill-spin}@keyframes forma-pill-spin{to{transform:rotate(360deg)}}.warnings-pill{pointer-events:auto;appearance:none;font:inherit;color:#92400e;background:linear-gradient(#d977061a, #d977061a), var(--glass-fill-strong);box-shadow:var(--glass-shadow);cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #d977064d;border-radius:999px;flex:none;align-items:center;gap:6px;padding:6px 13px;font-size:12px;font-weight:600;line-height:1;transition:border-color .15s,background-color .15s;display:flex}.warnings-pill:hover{border-color:#d9770680}.warnings-pill .ui-icon{flex-shrink:0;font-size:13px}.sheet-status-pill{z-index:100;color:#475569;background:var(--glass-fill-strong);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);-webkit-user-select:none;user-select:none;cursor:pointer;border-radius:999px;align-items:center;padding:5px 13px;font-size:12px;transition:border-color .15s,box-shadow .15s;display:flex;position:absolute;bottom:16px;right:16px}.sheet-status-pill:hover{border-color:var(--glass-border-bright);box-shadow:var(--glass-shadow-lift)}.sheet-status-pill__seg{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.sheet-status-pill__seg:not(:first-child){margin-left:6px}.sheet-status-pill__seg:not(:first-child):before{content:"·";color:#94a3b8;margin-right:6px}.sheet-status-pill__seg--planning{--status-color:var(--status-planning)}.sheet-status-pill__seg--development{--status-color:var(--status-development)}.sheet-status-pill__seg--quality-control{--status-color:var(--status-quality-control)}.sheet-status-pill__seg--ready{--status-color:var(--status-ready)}.sheet-status-pill__dot{background:var(--status-color);border-radius:50%;width:8px;height:8px}.canvas-mode-pill{z-index:100;background:var(--glass-fill-strong);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);-webkit-user-select:none;user-select:none;border-radius:16px;flex-direction:column;gap:3px;padding:4px;display:flex;position:absolute;bottom:58px;right:16px}.canvas-mode-pill__title{letter-spacing:.07em;text-transform:uppercase;color:#94a3b8;padding:3px 10px 5px;font-size:10px;font-weight:700}.canvas-mode-pill__option{letter-spacing:-.01em;color:#64748b;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:11px;min-width:92px;padding:6px 16px;font-size:13px;font-weight:600;transition:background .15s,color .15s,border-color .15s}.canvas-mode-pill__option:hover{color:#1e2430;background:var(--glass-fill-soft,#ffffff80)}.canvas-mode-pill__option--active,.canvas-mode-pill__option--active:hover{color:#1e2430;background:var(--glass-fill-bright,#ffffffd9);border-color:var(--glass-border-bright);box-shadow:var(--glass-shadow)}.import-report{flex-direction:column;gap:14px;min-width:360px;max-width:480px;display:flex}.import-report__empty{color:#6b7280;padding:8px 0;font-size:13px}.import-report__section{border-left:3px solid #d1d5db;padding-left:10px}.import-report__section--good{border-left-color:var(--status-ready)}.import-report__section--muted{border-left-color:#94a3b8}.import-report__section--warn{border-left-color:var(--status-planning)}.import-report__section-title{color:#374151;text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px;font-size:12px;font-weight:700}.import-report__count{color:#fff;background:#94a3b8;border-radius:999px;margin-left:4px;padding:0 6px;font-size:11px;display:inline-block}.import-report__list{color:#374151;flex-direction:column;gap:2px;margin:0;padding-left:16px;font-size:13px;display:flex}.modal.milestones-modal{width:560px;max-width:min(560px,94vw)}.milestones__empty{margin:0 0 12px}.milestones__sort{justify-content:flex-end;margin-bottom:8px;display:flex}.milestones__sort-btn{font:inherit;letter-spacing:.04em;text-transform:uppercase;color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:5px;padding:3px 6px;font-size:11px;font-weight:700;transition:color .12s,background .12s}.milestones__sort-btn:hover{color:var(--accent);background:#ffffff80}.milestones__row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.milestones__name{flex:1;min-width:0}.milestones__date{flex-shrink:0;width:150px}.milestones__count{color:#6b7280;text-align:right;white-space:nowrap;flex-shrink:0;width:64px;font-size:11px}.milestones__delete{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:7px;flex-shrink:0;padding:2px 6px;font-size:16px;line-height:1}.milestones__delete:hover{color:#b91c1c;background:#fff9}.milestones__delete:disabled{opacity:.5;cursor:default}.milestones__add{border-top:1px solid #94a3b840;gap:8px;margin-top:14px;padding-top:12px;display:flex}.milestones__add-name{flex:1;min-width:0}.milestones__add-date{flex-shrink:0;width:150px}.modal.submission-modal{width:1475px;max-width:min(1475px,96vw);height:80vh}.modal.submission-modal .modal__body{flex-direction:column;display:flex}.submission{flex-direction:column;flex:1;gap:10px;min-width:0;min-height:0;display:flex}.submission__toolbar{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:12px;padding-bottom:10px;display:flex}.submission__summary{color:#6b7280;font-size:13px}.submission__summary-sort{color:#94a3b8;font-style:italic}.submission__toolbar-actions{gap:8px;display:flex}.submission__empty{color:#6b7280;padding:16px 4px;font-size:13px}.submission__list{--submission-cols:48px 72px minmax(100px, 1fr) 172px 108px 76px 84px 104px 168px;scrollbar-gutter:stable;flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow-y:auto}body.submission-reorder-drag,body.submission-reorder-drag *{-webkit-user-select:none;user-select:none;cursor:grabbing!important}.submission__head{z-index:2;grid-template-columns:var(--submission-cols);background:var(--glass-fill-strong);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border-bottom:1px solid #94a3b859;gap:10px;padding:0 8px 6px;display:grid;position:sticky;top:0}.submission__th{font:inherit;letter-spacing:.04em;text-transform:uppercase;text-align:left;white-space:normal;color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:5px;align-items:center;gap:3px;padding:4px 2px;font-size:11px;font-weight:700;line-height:1.15;transition:color .12s,background .12s;display:flex}.submission__th:hover{color:#475569;background:#ffffff80}.submission__th--active{color:var(--accent)}.submission__th--center{text-align:center;justify-content:center}.submission__sort-arrow{font-size:8px;line-height:1}.submission__row{grid-template-columns:var(--submission-cols);background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:10px;padding:6px 8px;transition:background .12s;display:grid;box-shadow:inset 0 -1px #94a3b829}.submission__row.dragging{opacity:.45}.submission__row--dimmed{opacity:.25;transition:opacity .12s}.submission__row--dimmed:hover{opacity:1}.submission__row:hover{box-shadow:none;background:#fff9}.submission__pos{align-items:center;gap:6px;display:inline-flex}.submission__handle{cursor:grab;color:#9ca3af;text-align:center;-webkit-user-select:none;user-select:none;touch-action:none;font-size:14px}.submission__handle--off{cursor:default;color:#cbd5e1}.submission__ordinal{font-variant-numeric:tabular-nums;color:#94a3b8;text-align:right;min-width:14px;font-size:11px}.submission__number{color:#111827;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.submission__title{color:#374151;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.submission__status{align-items:center;gap:5px;display:inline-flex}.submission__status--planning{--status-color:var(--status-planning)}.submission__status--development{--status-color:var(--status-development)}.submission__status--quality-control{--status-color:var(--status-quality-control)}.submission__status--ready{--status-color:var(--status-ready)}.submission__status-dot{background:var(--status-color);border-radius:50%;flex-shrink:0;width:8px;height:8px}.submission__status-select{color:var(--status-color);padding:3px 24px 3px 8px;font-size:12px;font-weight:600}.submission__owner-select{text-overflow:ellipsis;white-space:nowrap;width:100%;min-width:0;padding:3px 26px 3px 8px;font-size:12px;overflow:hidden}.submission__check{justify-content:center;display:flex}.submission__check input{width:15px;height:15px;accent-color:var(--accent);cursor:pointer}.submission__check input:disabled{cursor:default}.submission__milestones-btn{text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;width:100%;min-width:0;padding:3px 8px;font-size:12px;overflow:hidden}.submission__milestones-btn:disabled{opacity:.55;cursor:default}.submission__target-select{white-space:nowrap;text-overflow:ellipsis;max-width:228px;padding:6px 24px 6px 10px;font-size:13px;overflow:hidden}.submission-milestone-overlay{z-index:1200;position:fixed;inset:0}.submission-milestone-popover{background:var(--glass-fill-strong);min-width:210px;max-width:300px;-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.4);backdrop-filter:blur(var(--glass-blur)) saturate(1.4);border:1px solid var(--glass-border);border-radius:var(--glass-radius-sm);box-shadow:var(--glass-shadow);flex-direction:column;gap:2px;padding:8px;display:flex;position:fixed}.submission-milestone-popover__item{color:#1f2937;cursor:pointer;border-radius:7px;align-items:center;gap:8px;padding:5px 8px;font-size:13px;display:flex}.submission-milestone-popover__item:hover{background:#fff9}.submission-milestone-popover__item input{accent-color:var(--accent)}.submission__drawing{color:#475569;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;min-width:0;font-size:12px;display:inline-flex;overflow:hidden}.submission__preview-btn{border:1px solid var(--glass-border);color:#475569;cursor:pointer;background:#ffffff8c;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-size:13px;transition:color .12s,border-color .12s,background .12s;display:inline-flex}.submission__preview-btn:hover{color:var(--accent);border-color:var(--accent-glass);background:#ffffffd9}.submission__no-drawing{color:var(--status-planning);font-weight:600}.submission__hidden-input{display:none}.version-history{flex-direction:column;gap:4px;min-width:320px;display:flex}.version-history__row{border-radius:4px;align-items:center;gap:8px;padding:8px;display:flex}.version-history__row.current{background:#eff6ff}.version-history__thumb{background:#fff;border:1px solid #d1d5db;border-radius:4px;flex:0 0 36px;justify-content:center;align-items:center;width:36px;height:36px;display:flex;overflow:hidden}.version-history__thumb img{object-fit:cover;width:100%;height:100%}.version-history__info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.version-history__title{color:#111827;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.version-history__badge{color:#2563eb;background:#dbeafe;border-radius:3px;padding:1px 5px;font-size:10px;font-weight:500}.version-history__meta{color:#6b7280;font-size:11px}.version-history__restore{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:4px;flex-shrink:0;padding:4px 10px;font-size:12px}.version-history__restore:hover{background:#f3f4f6}.sketch-list{flex-direction:column;gap:4px;min-width:420px;display:flex}.sketch-list__empty{color:#94a3b8;padding:8px 0;font-size:13px}.sketch-list__row{border-radius:var(--glass-radius-sm);align-items:center;gap:10px;padding:8px;transition:background .12s;display:flex}.sketch-list__row:hover{background:#fff9}.sketch-list__thumb{background:#ffffffbf;border:1px solid #ffffffb3;border-radius:7px;flex:0 0 44px;justify-content:center;align-items:center;width:44px;height:44px;display:flex;overflow:hidden;box-shadow:inset 0 1px #ffffffbf}.sketch-list__thumb img{object-fit:cover;width:100%;height:100%}.sketch-list__info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.sketch-list__name{color:#0f172a;font-size:13px;font-weight:600}.sketch-list__description{color:#475569;font-size:11px}.sketch-list__meta{color:#64748b;font-size:11px}.sketch-list__actions{flex-shrink:0;gap:4px;display:flex}.sketch-list__action-btn{width:26px;height:26px;color:var(--menu-text-color);cursor:pointer;background:#ffffff8c;border:1px solid #ffffffb3;border-radius:8px;justify-content:center;align-items:center;font-size:13px;transition:background .12s,border-color .12s;display:flex;box-shadow:inset 0 1px #ffffffbf}.sketch-list__action-btn:hover:not(:disabled){border-color:var(--glass-border-bright);background:#ffffffc7}.sketch-list__action-btn:disabled{opacity:.4;cursor:not-allowed}.sketch-list__edit{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.sketch-list__edit textarea{resize:vertical;min-height:40px;font-family:inherit}.sketch-list__edit-actions{justify-content:flex-end;gap:6px;display:flex}.sketch-list__edit-actions button:not(.modal-actions__primary){color:var(--menu-text-color);border-radius:var(--glass-radius-sm);cursor:pointer;background:#ffffff8c;border:1px solid #ffffffb3;padding:3px 10px;font-size:12px;transition:background .12s,border-color .12s;box-shadow:inset 0 1px #ffffffbf}.sketch-list__edit-actions button:not(.modal-actions__primary):hover{border-color:var(--glass-border-bright);background:#ffffffc7}.sketch-list__edit-actions .modal-actions__primary{padding:3px 10px;font-size:12px}.sketch-list__hidden-input{display:none}.prefs__section-title{text-transform:uppercase;letter-spacing:.04em;color:#64748b;margin-top:10px;padding:4px 0 2px;font-size:11px;font-weight:600}.prefs__section-title:first-child{margin-top:0}.prefs__row{color:var(--menu-text-color);cursor:pointer;align-items:center;gap:8px;padding:5px 2px;font-size:13px;display:flex}.prefs__color-row{justify-content:space-between}.prefs__color-row input[type=color]{cursor:pointer;background:0 0;border:1px solid #ffffffb3;border-radius:6px;width:38px;height:22px;padding:0}.prefs__actions{margin-top:12px;display:flex}.modal.warnings-modal{width:560px;max-width:min(560px,94vw)}.warnings-modal__filter{margin-bottom:10px}.warnings-modal__empty{margin:0}.warnings-modal__row{border-radius:var(--glass-radius-sm);background:#fff6;flex-direction:column;gap:6px;margin-bottom:6px;padding:9px 10px;display:flex}.warnings-modal__row-head{align-items:center;gap:8px;min-width:0;display:flex}.warnings-modal__row-icon{color:var(--status-planning);flex-shrink:0;font-size:14px;display:inline-flex}.warnings-modal__message{appearance:none;font:inherit;text-align:left;color:#0f172a;cursor:pointer;background:0 0;border:none;min-width:0;padding:0;font-size:13px;line-height:1.3}.warnings-modal__message:hover{color:#0c4a6e}.warnings-modal__chips{flex-wrap:wrap;gap:6px;padding-left:22px;display:flex}.warnings-modal__chip{appearance:none;font:inherit;color:#475569;border:1px solid var(--glass-border);cursor:pointer;background:#ffffff8c;border-radius:999px;align-items:center;max-width:100%;padding:4px 10px;font-size:11px;line-height:1;transition:border-color .15s,background-color .15s;display:inline-flex}.warnings-modal__chip:hover{border-color:var(--glass-border-bright);background:#ffffffd9}.warnings-modal__chip .entity-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.warnings-modal__section{letter-spacing:.04em;text-transform:uppercase;color:#94a3b8;margin:14px 0 8px;font-size:11px;font-weight:600}.warnings-modal__message--static{cursor:default}.warnings-modal__message--static:hover{color:#0f172a}.warnings-modal__actions{flex-shrink:0;gap:6px;margin-left:auto;display:flex}.warnings-modal__action{padding:4px 10px;font-size:11px}.warnings-modal__hint{margin:8px 0 0}.modal.forma-modal{width:620px;max-width:min(620px,94vw)}.forma__intro{margin:0 0 12px}.forma__connect{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.forma__status{border-radius:var(--glass-radius-sm);background:#ffffff73;border:1px solid #ffffffb3;align-items:center;gap:8px;padding:8px 10px;display:flex}.forma__status-dot{background:var(--status-ready);border-radius:50%;flex-shrink:0;width:8px;height:8px}.forma__status-text{color:#1f2937;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;overflow:hidden}.forma__disconnect{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:7px;flex-shrink:0;padding:3px 8px;font-size:12px}.forma__disconnect:hover{color:#b91c1c;background:#fff9}.forma__section-title{letter-spacing:.04em;text-transform:uppercase;color:#94a3b8;margin:16px 0 8px;font-size:11px;font-weight:700}.forma__empty{margin:0}.forma__link{border-radius:var(--glass-radius-sm);background:#fff6;flex-direction:column;gap:6px;margin-bottom:6px;padding:9px 10px;display:flex}.forma__link-names{align-items:center;gap:8px;min-width:0;display:flex}.forma__link-project{color:#111827;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.forma__link-arrow{color:#94a3b8;flex-shrink:0}.forma__link-forma{color:#374151;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.forma__link-controls{align-items:center;gap:8px;display:flex}.forma__mode-select{padding:4px 24px 4px 8px;font-size:12px}.forma__sync-btn{padding:4px 12px;font-size:12px}.forma__unlink{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:7px;margin-left:auto;padding:2px 6px;font-size:16px;line-height:1}.forma__unlink:hover{color:#b91c1c;background:#fff9}.forma__link-last{color:#64748b;font-size:11px}.forma__link-unmatched{color:var(--status-planning);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.forma__no-projects{margin:0 0 10px}.forma__client-id{border-radius:var(--glass-radius-sm);background:#ffffff73;border:1px solid #ffffffb3;align-items:center;gap:8px;margin:0 0 10px;padding:8px 10px;display:flex}.forma__client-id-label{color:#64748b;flex-shrink:0;font-size:11px;font-weight:600}.forma__client-id-value{color:#111827;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:all;user-select:all;flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;overflow:hidden}.forma__client-id-copy{flex-shrink:0;padding:4px 12px;font-size:12px}.forma__hub-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.forma__hub-label{color:#64748b;flex-shrink:0;font-size:12px}.forma__mode-static{color:#64748b;font-size:12px}.forma__add{align-items:center;gap:8px;margin-bottom:8px;display:flex}.forma__add-select{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;padding:5px 24px 5px 8px;font-size:12px;overflow:hidden}.forma__prefs{background:#ffffff59;border-radius:12px;flex-direction:column;gap:6px;padding:6px 8px;display:flex}.forma__prefs-row{align-items:center;gap:10px;min-width:0;display:flex}.forma__prefs-label{letter-spacing:.04em;text-transform:uppercase;color:#94a3b8;flex-shrink:0;width:62px;font-size:11px;font-weight:600}.forma__prefs-radio{color:#374151;cursor:pointer;white-space:nowrap;align-items:center;gap:5px;font-size:12px;display:flex}.forma__prefs-radio.disabled{color:#94a3b8;cursor:default}.forma__project-card{border-radius:var(--glass-radius-sm);background:#fff6;flex-direction:column;gap:6px;margin-bottom:6px;padding:9px 10px;display:flex}.forma__project-head{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.forma__model-row{border-left:2px solid #d2d8f88c;flex-direction:column;gap:2px;padding:4px 0 4px 10px;display:flex}.forma__model-main{align-items:center;gap:8px;min-width:0;display:flex}.forma__model-name{color:#374151;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.forma__model-chip{letter-spacing:.03em;color:#64748b;border:1px solid var(--glass-border);background:#fff9;border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:10px;font-weight:600}.forma__model-chip.warn{color:#92400e;background:#fef3c7b3;border-color:#d9770659}.forma__adopt-btn{padding:3px 10px;font-size:11px}.forma__model-filters{align-items:center;gap:8px;margin-bottom:6px;display:flex}.forma__model-search{flex:1;min-width:0;padding:5px 8px;font-size:12px}.forma__published-toggle{color:#64748b;white-space:nowrap;cursor:pointer;align-items:center;gap:5px;font-size:12px;display:flex}.forma__model-list{border:1px solid var(--glass-border);border-radius:var(--glass-radius-sm);background:#ffffff59;flex-direction:column;max-height:180px;margin-bottom:8px;padding:4px;display:flex;overflow-y:auto}.forma__model-option{color:#374151;cursor:pointer;border-radius:9px;align-items:center;gap:8px;min-width:0;padding:5px 8px;font-size:12px;display:flex}.forma__model-option:hover{background:#fff9}.forma__model-option.linked{opacity:.55;cursor:default}.forma__model-option-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.forma__link-actions{justify-content:flex-end;margin-bottom:4px;display:flex}.account-modal__integrations{border-top:1px solid #e5e7eb;margin-top:14px;padding:26px 8px 16px}.account-modal__forma-connected{border-color:var(--accent-glass);box-shadow:var(--accent-glow), inset 0 1px 0 #fffc}.account-modal__integrations .modal-hint{margin-top:18px}.account-modal__name{border-bottom:1px solid #e5e7eb;gap:8px;min-width:380px;margin-bottom:12px;padding-bottom:12px;display:flex}.account-modal__name input{flex:1}.account-modal__summary{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;padding-bottom:10px;display:flex}.account-modal__manage-billing{appearance:none;font:inherit;box-sizing:border-box;color:inherit;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:4px;flex-shrink:0;align-items:center;padding:5px 10px;font-size:12px;line-height:1;text-decoration:none;display:inline-flex}.account-modal__manage-billing:hover:not(:disabled){background:#f3f4f6}.account-modal__manage-billing:disabled{opacity:.6;cursor:not-allowed}.account-modal__error{color:#dc2626;margin-top:8px;font-size:12px}.account-modal__info{color:#2563eb;margin-top:8px;font-size:12px}.account-modal__plan{color:#334155;font-size:12px;font-weight:600}.account-modal__banner{color:#9a3412;border-radius:var(--glass-radius-sm);background:#ffedd5bf;border:1px solid #fb923c99;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;padding:9px 12px;font-size:12px;display:flex}.account-modal__banner-action{border-radius:var(--glass-radius-sm);color:#9a3412;cursor:pointer;background:#ffffffb3;border:1px solid #fb923cb3;flex-shrink:0;padding:5px 12px;font-size:12px;font-weight:600}.account-modal__upgrade{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.account-modal__upgrade .modal-hint{flex-basis:100%;margin-top:2px}.account-modal__upgrade-btn{border-radius:var(--glass-radius-sm);cursor:pointer;border:none;padding:7px 15px;font-size:13px}.feedback-button{appearance:none;font:inherit;z-index:100;white-space:nowrap;color:#475569;background:var(--glass-fill-strong);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);-webkit-user-select:none;user-select:none;cursor:pointer;border-radius:999px;padding:5px 13px;font-size:12px;line-height:normal;transition:border-color .15s,box-shadow .15s;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.feedback-button:hover{border-color:var(--glass-border-bright);box-shadow:var(--glass-shadow-lift)}@media (width<=1000px){.feedback-button{display:none}}.feedback-modal{width:440px}.feedback-modal__lead{margin:0 0 10px}.feedback-modal__message{resize:vertical;min-height:120px}.feedback-modal__thanks{color:#0f172a;margin:0;font-size:13px;line-height:1.5}.landing-screen{box-sizing:border-box;background:radial-gradient(110% 80% at 12% 6%,#bfdbfe99,#0000 55%),radial-gradient(110% 90% at 92% 100%,#a5b4fc66,#0000 55%),linear-gradient(162deg,#eef2ff 0%,#f8fafc 55%);flex-direction:column;height:100vh;padding:32px;animation:.36s both screen-fade-in;display:flex}.landing-screen__header{justify-content:space-between;align-items:center;width:100%;max-width:720px;margin:0 auto 24px;display:flex}.landing-screen__brand{align-items:center;gap:10px;display:flex}.landing-screen__logo{width:25.6px;height:25.6px;display:block}.landing-screen__title{color:#0f172a;margin:0;font-size:22px;font-weight:700}.landing-screen__header-actions{gap:8px;display:flex}.landing-screen__account-btn,.landing-screen__signout-btn,.landing-screen__new-btn{box-shadow:inset 0 1px 0 #fffc, var(--glass-shadow)}.landing-screen__new-btn{color:#fff;font-weight:600;background:var(--accent-button-fill)!important}.landing-screen__new-btn:hover{background:var(--accent-button-fill-hover)!important}.landing-screen__controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;width:100%;max-width:720px;margin:0 auto 16px;display:flex}.landing-screen__filter{background:#ffffff73;border:1px solid #ffffffb3;border-radius:999px;padding:3px;display:flex;box-shadow:inset 0 1px #fffc}.landing-screen__filter-btn{color:#475569;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:6px 16px;font-size:13px;font-weight:500;transition:background .15s,color .15s,box-shadow .15s}.landing-screen__filter-btn.active{color:var(--accent);box-shadow:var(--glass-shadow);background:#ffffffe6}.landing-screen__search{color:#0f172a;background:#fff9;border:1px solid #ffffffb3;border-radius:999px;outline:none;flex:1;min-width:180px;max-width:300px;padding:8px 14px;font-size:13px;transition:border-color .15s,background .15s;box-shadow:inset 0 1px #fffc}.landing-screen__search:focus{border-color:var(--accent-glass);background:#ffffffd9}.landing-screen__list{width:100%;max-width:720px;box-shadow:var(--glass-shadow);border-radius:var(--glass-radius);flex-direction:column;gap:10px;margin:0 auto;display:flex;overflow-y:auto}.landing-screen__empty{color:#94a3b8;text-align:center;padding:40px 0;font-size:14px}.landing-screen__card{background:var(--glass-frost);border:var(--glass-border-width) solid var(--glass-border);border-radius:var(--glass-radius);box-shadow:var(--glass-shadow);cursor:pointer;padding:15px 76px 15px 18px;transition:box-shadow .18s,border-color .18s,transform .18s;position:relative}.landing-screen__card.deleted{cursor:default;padding-right:108px}.landing-screen__card:before{content:"";border-radius:inherit;background:var(--glass-sheen);pointer-events:none;z-index:0;position:absolute;inset:0}.landing-screen__card>*{z-index:1;position:relative}.landing-screen__card:hover{border-color:var(--glass-border-bright);transform:translateY(-2px)}.landing-screen__card.locked{opacity:.55}.landing-screen__card-actions{z-index:2;align-items:center;gap:4px;display:flex;position:absolute;top:10px;right:10px}.landing-screen__star,.landing-screen__trash{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;width:28px;height:28px;font-size:17px;line-height:1;transition:color .15s,background .15s,transform .1s;display:flex}.landing-screen__star:hover{color:var(--status-planning);background:#fff9}.landing-screen__star.active{color:var(--status-planning)}.landing-screen__star:active,.landing-screen__trash:active{transform:scale(.88)}.landing-screen__trash{font-size:15px}.landing-screen__trash:hover{color:#b91c1c;background:#fee2e2cc}.landing-screen__restore{color:var(--accent);padding:6px 14px;font-weight:600}.landing-screen__card.deleted{opacity:.7}.landing-screen__card.deleted:hover{transform:none}.landing-screen__confirm-text{margin:0;line-height:1.5}.landing-screen__star:active{transform:scale(.88)}.landing-screen__card-name{color:#0f172a;font-size:14px;font-weight:600}.landing-screen__card-number{color:var(--accent);vertical-align:middle;background:#dbeafecc;border-radius:5px;margin-right:8px;padding:1px 7px;font-size:11px;font-weight:600;display:inline-block}.landing-screen__card-forma{color:#b45309;vertical-align:middle;background:#fef3c7cc;border-radius:5px;margin-left:8px;padding:1px 7px;font-size:11px;font-weight:600;display:inline-block}.landing-screen__card-meta{color:#64748b;margin-top:2px;font-size:12px}.landing-screen__card-lock{color:#b45309;margin-top:4px;font-size:12px}.landing-screen__plan{text-transform:uppercase;letter-spacing:.04em;color:#475569;background:#ffffff73;border:1px solid #ffffffb3;border-radius:999px;align-self:center;padding:4px 10px;font-size:11px;font-weight:600;box-shadow:inset 0 1px #fffc}.landing-screen__new-btn:disabled{opacity:.55;cursor:not-allowed}.landing-screen__invitation{box-sizing:border-box;color:#1e293b;border-radius:var(--glass-radius-sm);width:100%;max-width:720px;box-shadow:inset 0 1px 0 #fffc, var(--glass-shadow);background:#e0f2feb3;border:1px solid #38bdf880;justify-content:space-between;align-items:center;gap:16px;margin:0 auto 16px;padding:12px 16px;font-size:13px;display:flex}.landing-screen__invitation-cancel{color:#475569;align-items:center;gap:6px;margin-top:6px;font-size:12px;display:flex}.landing-screen__invitation-actions{flex-shrink:0;gap:8px;display:flex}.landing-screen__invitation-actions button{padding:6px 12px;font-size:12px}.landing-screen__invitation-accept{color:#fff;font-weight:600;background:var(--accent-button-fill)!important}.landing-screen__invitation-error{color:#b91c1c;width:100%;max-width:720px;margin:0 auto 12px;font-size:12px}.landing-screen__move-org{color:#0369a1;cursor:pointer;background:#e0f2feb3;border:1px solid #38bdf880;border-radius:999px;padding:4px 8px;font-size:11px}.landing-screen__move-org:hover{background:#bae6fde6}@media (width<=640px){.landing-screen{padding:20px 14px}.landing-screen__header{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:20px}.landing-screen__header-actions{flex-wrap:wrap;width:100%}.landing-screen__filter-btn{padding:6px 10px;font-size:12px}.landing-screen__search{max-width:none}.landing-screen__invitation{flex-direction:column;align-items:stretch}}.scanner{z-index:1100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a9e;flex-direction:column;display:flex;position:fixed;inset:0}.scanner__hint{color:#ffffffe6;text-align:center;padding:16px 16px 6px;font-size:13px}.scanner__status{text-align:center;color:#fff;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;padding:24px;font-size:16px;line-height:1.5;display:flex}.scanner__substatus{color:#ffffffb3;max-width:260px;font-size:13px}.scanner__stage{flex:1;justify-content:center;align-items:center;min-height:0;padding:8px 16px;display:flex;overflow:hidden}.scanner__frame{touch-action:none;max-width:100%;max-height:100%;line-height:0;position:relative}.scanner__img{border-radius:var(--glass-radius-sm);-webkit-user-select:none;user-select:none;max-width:100%;max-height:100%;display:block}.scanner__overlay{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.scanner__poly{fill:#38bdf82e;stroke:var(--accent-glass);stroke-width:2px;vector-effect:non-scaling-stroke}.scanner__handle{border:2.5px solid var(--accent);width:30px;height:30px;box-shadow:var(--accent-glow);touch-action:none;cursor:grab;background:#ffffff8c;border-radius:50%;margin:-15px 0 0 -15px;position:absolute}.scanner__handle:after{content:"";background:var(--accent);border-radius:50%;position:absolute;inset:11px}.scanner__handle.dragging{cursor:grabbing;transform:scale(1.15)}.scanner__bar{gap:10px;padding:12px 16px 4px;display:flex}.scanner__btn{color:#0f172a;border-radius:var(--glass-radius-sm);background:#ffffffd9;border:1px solid #ffffffb3;flex:1;padding:14px;font-size:15px;font-weight:600;box-shadow:inset 0 1px #fffc}.scanner__btn:disabled{opacity:.6}.scanner__btn--primary{background:var(--accent-button-fill);color:#fff}.scanner__link{color:#fffc;background:0 0;border:none;margin:4px auto 16px;padding:8px;font-size:13px;text-decoration:underline;display:block}.scanner__link:disabled{opacity:.5}.mobile-upload{box-sizing:border-box;background:radial-gradient(110% 60% at 12% 4%,#bfdbfe99,#0000 55%),radial-gradient(110% 70% at 92% 100%,#a5b4fc66,#0000 55%),linear-gradient(162deg,#eef2ff 0%,#f8fafc 55%);flex-direction:column;gap:16px;min-height:100vh;padding:16px;display:flex}.mobile-upload__header{justify-content:space-between;align-items:center;display:flex}.mobile-upload__back,.mobile-upload__signout{border-radius:var(--glass-radius-sm);box-shadow:inset 0 1px 0 #fffc, var(--glass-shadow);color:#1d4ed8;background:#ffffff8c;border:1px solid #ffffffb3;padding:8px 14px;font-size:15px;font-weight:600}.mobile-upload__title{color:#0f172a;margin:0;font-size:20px;font-weight:700}.mobile-upload__readonly{border-radius:var(--glass-radius-sm);color:#92400e;background:#fef3c7a6;border:1px solid #fde68acc;padding:12px;font-size:14px;box-shadow:inset 0 1px #fff9}.mobile-upload__error{border-radius:var(--glass-radius-sm);color:#991b1b;background:#fee2e2a6;border:1px solid #fca5a5cc;padding:12px;font-size:14px;box-shadow:inset 0 1px #fff9}.mobile-upload__file-input{display:none}.mobile-upload__capture-btn{color:#fff;background:var(--accent-button-fill);border-radius:var(--glass-radius);border:1px solid #ffffffb3;width:100%;padding:20px;font-size:18px;font-weight:600;box-shadow:inset 0 1px #fffc}.mobile-upload__capture-btn:disabled{box-shadow:none;background:#93c5fd}.mobile-upload__library{flex-direction:column;gap:8px;display:flex}.mobile-upload__library-title{color:#334155;font-size:14px;font-weight:600}.mobile-upload__empty{color:#64748b;font-size:14px}.mobile-upload__row{background:var(--glass-frost);border:var(--glass-border-width) solid var(--glass-border);border-radius:var(--glass-radius);box-shadow:var(--glass-shadow), var(--glass-inner-light);align-items:center;gap:12px;padding:9px;display:flex;position:relative}.mobile-upload__row:before{content:"";border-radius:inherit;background:var(--glass-sheen);pointer-events:none;z-index:0;position:absolute;inset:0}.mobile-upload__row>*{z-index:1;position:relative}.mobile-upload__thumb{border-radius:var(--glass-radius-sm);background:#ffffff59;border:1px solid #fff9;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex;overflow:hidden;box-shadow:inset 0 1px #ffffffbf}.mobile-upload__thumb img{object-fit:cover;width:100%;height:100%}.mobile-upload__row-name{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.admin-console{box-sizing:border-box;background:radial-gradient(110% 80% at 12% 6%,#bfdbfe99,#0000 55%),radial-gradient(110% 90% at 92% 100%,#a5b4fc66,#0000 55%),linear-gradient(162deg,#eef2ff 0%,#f8fafc 55%);min-height:100vh;padding:32px;animation:.36s both screen-fade-in}.admin-console__header{justify-content:space-between;align-items:center;width:100%;max-width:860px;margin:0 auto 24px;display:flex}.admin-console__brand{align-items:center;gap:10px;display:flex}.admin-console__logo{width:25.6px;height:25.6px;display:block}.admin-console__title{color:#0f172a;margin:0;font-size:22px;font-weight:700}.admin-console__header-actions{gap:8px;display:flex}.admin-console__header-btn{box-shadow:inset 0 1px 0 #fffc, var(--glass-shadow);align-items:center;text-decoration:none;display:inline-flex}.admin-console__body{flex-direction:column;gap:14px;width:100%;max-width:860px;margin:0 auto;display:flex}.admin-console__card{background:var(--glass-frost);border:var(--glass-border-width) solid var(--glass-border);border-radius:var(--glass-radius);box-shadow:var(--glass-shadow);padding:20px var(--menu-pad);position:relative}.admin-console__card:before{content:"";border-radius:inherit;background:var(--glass-sheen);pointer-events:none;z-index:0;position:absolute;inset:0}.admin-console__card>*{z-index:1;position:relative}.admin-console__section-title{text-transform:uppercase;letter-spacing:.04em;color:#64748b;margin:0 0 12px;font-size:11px;font-weight:600}.admin-console__text{color:#475569;margin:0 0 12px;font-size:13px;line-height:1.5}.admin-console__empty{color:#94a3b8;text-align:center;padding:40px 0;font-size:14px}.admin-console__rename{gap:8px;margin-bottom:14px;display:flex}.admin-console__rename .modal-text-input{flex:1}.admin-console__facts{color:#0f172a;flex-wrap:wrap;gap:6px 28px;margin-bottom:10px;font-size:13px;display:flex}.admin-console__fact{flex-direction:column;gap:2px;display:flex}.admin-console__fact-label{text-transform:uppercase;letter-spacing:.04em;color:#64748b;font-size:10px;font-weight:600}.admin-console__status{text-transform:capitalize;color:var(--status-ready);font-weight:600}.admin-console__status.lapsed{color:#b91c1c}.admin-console__seat-meter{background:#ffffff8c;border:1px solid #ffffffb3;border-radius:999px;height:8px;margin-bottom:14px;overflow:hidden;box-shadow:inset 0 1px 2px #0f172a14}.admin-console__seat-meter-fill{border-radius:inherit;background:linear-gradient(90deg, #38bdf8bf, var(--accent));height:100%;transition:width .3s}.admin-console__actions{flex-wrap:wrap;gap:8px;display:flex}.admin-console__actions .glass-button{box-shadow:inset 0 1px 0 #fffc, var(--glass-shadow)}.admin-console__primary-action{font-weight:600;color:#fff!important;background:var(--accent-button-fill)!important}.admin-console__primary-action:hover{background:var(--accent-button-fill-hover)!important}.admin-console__hint{color:#64748b;margin:12px 0 0;font-size:12px;line-height:1.5}.admin-console__banner{color:#7c2d12;border-radius:var(--glass-radius-sm);background:#fef3c7bf;border:1px solid #d9770659;margin-bottom:12px;padding:10px 14px;font-size:12.5px}.admin-console__error,.admin-console__info{border-radius:var(--glass-radius-sm);padding:10px 16px;font-size:12.5px}.admin-console__error{color:#b91c1c;background:#fee2e2cc;border:1px solid #b91c1c40}.admin-console__info{color:#0c4a6e;background:#e0f2fecc;border:1px solid #38bdf859}.admin-console__invite{gap:8px;margin-bottom:14px;display:flex}.admin-console__invite .modal-text-input{flex:1}.admin-console__list{flex-direction:column;display:flex}.admin-console__row{border-top:1px solid #d2d8f873;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:10px 0;display:flex}.admin-console__row:first-child{border-top:none}.admin-console__row.blocked .admin-console__row-id{opacity:.55}.admin-console__row-id{flex-direction:column;flex:1;gap:1px;min-width:200px;display:flex}.admin-console__row-name{color:#0f172a;font-size:13px;font-weight:600}.admin-console__you{color:#64748b;font-weight:400}.admin-console__row-email{color:#64748b;font-size:12px}.admin-console__row-meta{align-items:center;gap:8px;display:flex}.admin-console__row-dates{color:#94a3b8;font-size:11px}.admin-console__chip{text-transform:uppercase;letter-spacing:.04em;color:#475569;border:1px solid var(--glass-border);background:#fff9;border-radius:999px;padding:3px 9px;font-size:10px;font-weight:600}.admin-console__chip.admin{color:#0c4a6e;background:#e0f2feb3;border-color:#38bdf873}.admin-console__chip.danger{color:#b91c1c;background:#fee2e2b3;border-color:#b91c1c4d}.admin-console__row-actions{gap:6px;display:flex}.admin-console__row-actions button{appearance:none;font:inherit;color:#475569;border:1px solid var(--glass-border);cursor:pointer;background:#ffffff8c;border-radius:999px;padding:5px 10px;font-size:12px;line-height:1;transition:border-color .15s,background .15s,color .15s}.admin-console__row-actions button:hover{border-color:var(--glass-border-bright);background:#ffffffd9}.admin-console__row-actions button:disabled{opacity:.5;cursor:default}.admin-console__row-actions .admin-console__remove:hover{color:#b91c1c;background:#fee2e2cc;border-color:#b91c1c4d}.admin-console__pa-chips{flex-wrap:wrap;flex:1;align-items:center;gap:6px;display:flex}.admin-console__pa-chips .admin-console__chip{align-items:center;display:inline-flex}.admin-console__pa-none{color:#94a3b8;font-size:11px;font-style:italic}.admin-console__chip-remove{appearance:none;font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;margin:0;padding:0 0 0 6px;font-size:11px;line-height:1}.admin-console__chip-remove:hover{color:#b91c1c}.admin-console__chip-remove:disabled{opacity:.5;cursor:default}.admin-console__pa-select{min-width:170px;font-size:12px}@media (width<=640px){.admin-console{padding:20px 14px}.admin-console__row-actions{width:100%}}.app-shell{width:100vw;height:100vh;animation:.36s both screen-fade-in;position:relative;overflow:hidden}.app-shell--leaving{pointer-events:none;animation:.32s both screen-fade-out}.canvas-wrapper{position:absolute;inset:0}
