@font-face{font-family:Poppins;src:url("/assets/fonts/Poppins-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Poppins;src:url("/assets/fonts/Poppins-Medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Poppins;src:url("/assets/fonts/Poppins-SemiBold.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Poppins;src:url("/assets/fonts/Poppins-Bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
:root{color-scheme:light;--ink:#0d0d1e;--muted:#647184;--line:#e1e5ea;--panel:#fff;--soft:#f5f8fc;--navy:#0b192f;--blue:#1166d5;--blue-dark:#0d52ad;--mint:#1fdcb1;--mint-dark:#09b993;--teal:#1166d5;--teal-dark:#0d52ad;--gold:#d59a20;--error:#b72e3c;--success:#087f62;--shadow:0 16px 44px rgba(11,25,47,.09)}
*{box-sizing:border-box}body{margin:0;background:#f7f9fc;color:var(--ink);font:400 15px/1.7 Poppins,sans-serif}a{color:inherit}button,input{font:inherit}button,.button{min-height:44px}h1,h2,h3{color:var(--ink);font-weight:600;line-height:1.2;letter-spacing:-.018em}h1{font-size:clamp(2rem,5vw,3.3rem);margin:.15rem 0 .65rem}h2{font-size:1.4rem;margin:.2rem 0 .6rem}p{margin:.35rem 0}
.topbar{min-height:78px;padding:.75rem clamp(1rem,4vw,3rem);background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;box-shadow:0 4px 18px rgba(11,25,47,.05)}.brand{min-width:0;display:flex;align-items:center;gap:1.25rem;text-decoration:none;font-weight:600}.brand-logo{display:block;width:min(250px,31vw);height:auto}.product-name{padding-left:1.25rem;border-left:1px solid var(--line);color:var(--navy);white-space:nowrap}.account-area{display:flex;align-items:center;gap:1rem}.account-name{font-size:.88rem;color:var(--muted)}.link-button{border:0;background:transparent;color:var(--blue);padding:.6rem;font-weight:600;cursor:pointer;text-decoration:none}.link-button:hover{color:var(--blue-dark)}
.auth-layout{min-height:100vh;display:grid;place-items:center;padding:2rem 1rem;background:radial-gradient(circle at 85% 12%,rgba(31,220,177,.24),transparent 27%),linear-gradient(135deg,#071426,var(--navy) 58%,#123966)}.auth-card{width:min(100%,560px);background:#fff;border-radius:12px;padding:clamp(1.6rem,5vw,3.2rem);border-top:7px solid var(--mint);box-shadow:0 30px 90px rgba(0,0,0,.28)}.auth-logo{width:min(360px,82%);margin-bottom:2.25rem}.lede{color:var(--muted);margin-bottom:1.7rem}
.app-shell{width:min(1180px,calc(100% - 2rem));margin:0 auto;padding:clamp(2rem,5vw,4.5rem) 0}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:2rem}.page-heading::before{content:"";align-self:stretch;width:4px;flex:0 0 4px;background:linear-gradient(var(--mint),var(--blue));border-radius:5px;order:-1}.page-heading>div:first-of-type{margin-right:auto}.page-heading.compact{align-items:center}.page-heading h1{font-size:clamp(2rem,4vw,3rem)}.page-heading p{color:var(--muted)}.heading-actions{display:flex;gap:.65rem;flex-wrap:wrap}.eyebrow{color:var(--mint-dark);text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:700}.mono{font:.82rem/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--muted);overflow-wrap:anywhere}.back-link{display:inline-block;margin-bottom:1rem;color:var(--blue);text-decoration:none;font-weight:500}.back-link:hover{color:var(--blue-dark)}
.stack{display:grid;gap:1rem}label{display:grid;gap:.4rem;font-weight:600}input[type=text],input[type=password],input:not([type]){width:100%;padding:.78rem .9rem;border:1px solid #cbd3dd;border-radius:5px;background:#fff;color:var(--ink)}input:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid rgba(17,102,213,.24);outline-offset:2px}.button{border:1px solid transparent;border-radius:5px;padding:.68rem 1.1rem;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:500;transition:transform .15s ease,background .2s ease,border-color .2s ease}.button:hover{transform:translateY(-1px)}.button.primary{background:var(--mint);color:var(--navy)}.button.primary:hover{background:var(--blue);color:#fff}.button.secondary{background:#fff;border-color:var(--line);color:var(--ink)}.button.secondary:hover{border-color:var(--blue);color:var(--blue)}.button.ghost{background:transparent;color:var(--muted)}.button:disabled{opacity:.42;transform:none}
.flash{margin:1rem 0;padding:.9rem 1rem;border-radius:5px;font-weight:500;border-left:4px solid currentColor}.flash.error{background:#fff0f1;color:var(--error)}.flash.success{background:#e8fbf5;color:var(--success)}
.upload-page{max-width:900px}.upload-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:clamp(1.5rem,5vw,3rem);box-shadow:var(--shadow);text-align:center}.upload-symbol{width:64px;height:64px;display:grid;place-items:center;margin:0 auto 1rem;border-radius:50%;background:#e2fbf5;color:var(--mint-dark);font-size:2rem;font-weight:700}.file-field{margin:1rem 0 0;padding:1rem;border:1px dashed #aeb9c8;border-radius:6px;background:var(--soft);text-align:left}.file-field input{margin-top:.4rem;width:100%}
.task-list{display:grid;gap:.75rem}.task-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;background:#fff;border:1px solid var(--line);border-radius:8px;padding:1rem;transition:border-color .2s ease,box-shadow .2s ease}.task-row:hover{border-color:rgba(17,102,213,.45);box-shadow:0 8px 24px rgba(17,102,213,.07)}.task-icon{width:46px;height:46px;border-radius:6px;display:grid;place-items:center;background:var(--navy);color:var(--mint);font-weight:700}.task-main h2{font-size:1.05rem;margin:0}.task-title-line{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.type-pill,.status-badge{display:inline-flex;padding:.25rem .6rem;border-radius:999px;background:#ecf3ff;color:var(--blue);font-size:.73rem;font-weight:600}.recommendation{color:var(--success);font-size:.88rem}.pending{color:var(--muted);font-size:.88rem}
.model-panel{margin:0 0 1.25rem;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:var(--shadow)}.upload-card+.model-panel{margin-top:1.25rem}.model-toolbar{min-height:72px;padding:.85rem 1rem;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:1rem}.model-toolbar h2{margin:.1rem 0 0;font-size:1.05rem}.model-actions{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;justify-content:flex-end}.model-legend{display:inline-flex;gap:.3rem;align-items:center;color:var(--muted);font-size:.74rem}.legend-mark{width:20px;height:20px;display:inline-grid;place-items:center;border-radius:50%;color:#fff;font-weight:700}.legend-mark.evaluated{background:var(--mint-dark)}.legend-mark.open{background:var(--gold)}.icon-button{min-height:38px;min-width:40px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink);padding:.4rem .7rem;font-weight:600}.icon-button:hover{border-color:var(--blue);color:var(--blue)}.model-canvas{height:clamp(260px,42vh,460px);overflow:auto;background-color:#fbfcfe;background-image:linear-gradient(#edf1f5 1px,transparent 1px),linear-gradient(90deg,#edf1f5 1px,transparent 1px);background-size:24px 24px}.model-canvas svg{display:block;width:100%;height:100%;min-width:560px}.model-loading,.model-error{margin:0;height:100%;display:grid;place-items:center;padding:1rem;color:var(--muted);text-align:center}
.bpmn-edge{fill:none;stroke:#718096;stroke-width:1.6}.bpmn-edge.association{stroke-dasharray:5 4}.bpmn-node{fill:#fff;stroke:#40556d;stroke-width:1.7}.bpmn-node.task{fill:#fff}.bpmn-node.sub-process-container-background{fill:#fff;stroke:none}.bpmn-node.sub-process.expanded{fill:transparent}.bpmn-node.sub-process.event-sub-process{stroke-dasharray:7 5}.bpmn-node.annotation{fill:#f0f5ff;stroke:var(--blue)}.bpmn-node.active{fill:#e2fbf5;stroke:var(--mint-dark);stroke-width:3.2}.bpmn-node.sub-process.expanded.active{fill:rgba(226,251,245,.28)}.bpmn-click-target{cursor:pointer}.bpmn-click-target:hover .bpmn-node{fill:#ecf3ff;stroke:var(--blue)}.bpmn-click-target:focus{outline:none}.bpmn-click-target:focus .bpmn-node{fill:#ecf3ff;stroke:var(--blue);stroke-width:3.2}.bpmn-click-target:hover .bpmn-node.sub-process.expanded,.bpmn-click-target:focus .bpmn-node.sub-process.expanded{fill:rgba(236,243,255,.28)}.bpmn-call-inner,.bpmn-subprocess-marker,.bpmn-subprocess-plus{fill:none;stroke:#40556d;stroke-width:1.2;pointer-events:none}.bpmn-subprocess-marker{fill:#fff}.bpmn-status{pointer-events:none}.bpmn-status circle{stroke:#fff;stroke-width:2.5}.bpmn-status text{fill:#fff;font:700 13px/1 Poppins,sans-serif}.bpmn-status.evaluated circle{fill:var(--mint-dark)}.bpmn-status.open circle{fill:var(--gold)}.bpmn-label{fill:var(--ink);font:500 12px/1.2 Poppins,sans-serif;text-anchor:middle;pointer-events:none}.bpmn-label.small{font-size:10.5px;font-weight:400}.bpmn-gateway-mark{fill:none;stroke:#40556d;stroke-width:1.6;pointer-events:none}
.navigator-page{max-width:980px}.navigator-card{background:#fff;border:1px solid var(--line);border-top:5px solid var(--mint);border-radius:8px;padding:clamp(1.25rem,4vw,2.5rem);box-shadow:var(--shadow)}.progress-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:.82rem;margin-bottom:.45rem}.progress-track{height:7px;background:#e8edf2;border-radius:999px;overflow:hidden}.progress-track span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--mint),var(--blue));transition:width .25s ease}#navigator-stage{padding-top:clamp(1.5rem,4vw,2.8rem);min-height:390px;display:grid;align-content:start;gap:1.5rem}.question-copy{max-width:760px}.question-copy h2,.result-head h2{font-size:clamp(1.55rem,4vw,2.4rem)}.question-copy>p:last-child,.result-head p{color:var(--muted)}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.choice{min-height:98px;border:1px solid var(--line);border-radius:7px;background:#fff;text-align:left;padding:1rem;display:grid;gap:.25rem;color:var(--ink)}.choice strong{font-size:1rem;font-weight:600}.choice span{color:var(--muted)}.choice:hover{border-color:var(--blue);background:#f6f9ff}.choice.recommended{border-color:var(--mint-dark);box-shadow:inset 4px 0 var(--mint)}.navigator-actions{display:flex;justify-content:flex-end;gap:.65rem;flex-wrap:wrap;margin-top:.5rem}.result-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.result-mark{width:54px;height:54px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:#e2fbf5;color:var(--mint-dark);font-size:1.6rem;font-weight:700}.result-panel{background:var(--soft);border-left:4px solid var(--blue);border-radius:5px;padding:1rem 1.2rem}.result-panel h3{margin-top:0}.result-panel ul{margin-bottom:0;padding-left:1.2rem}code{padding:.15rem .3rem;border-radius:3px;background:#edf2f8}
@media(max-width:860px){.product-name{display:none}.brand-logo{width:min(235px,46vw)}}@media(max-width:720px){.topbar{align-items:flex-start}.account-area{align-items:flex-end;flex-direction:column;gap:.1rem}.account-name{max-width:42vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-heading{align-items:flex-start;flex-direction:column}.page-heading::before{display:none}.heading-actions{width:100%}.heading-actions .button{flex:1}.task-row{grid-template-columns:auto 1fr}.task-row>.button{grid-column:1/-1}.choice-grid{grid-template-columns:1fr}.navigator-actions .button{flex:1}.model-toolbar{align-items:flex-start}.model-canvas{height:300px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
