:root{--bg:#f4f6fb;--bg-raised:#eceff7;--panel:#fff;--panel-2:#f8fafd;--text:#14171f;--muted:#5b6472;--line:#dde3ee;--line-strong:#c6cfdf;--accent:#4f46e5;--accent-strong:#4338ca;--accent-soft:#eef2ff;--accent-ring:#4f46e547;--ok:#147a3d;--ok-soft:#e5f7ec;--ok-line:#b3e4c4;--bad:#c92a3c;--bad-soft:#fdeef0;--bad-line:#f5bfc6;--warn:#8a6100;--warn-soft:#fdf5da;--warn-line:#ecd695;--radius:12px;--radius-sm:8px;--shadow:0 1px 2px #14171f0d, 0 4px 16px #14171f0d;--shadow-lift:0 2px 4px #14171f12, 0 10px 28px #14171f17;--font:"Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, Roboto, sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#0e1116;--bg-raised:#161a22;--panel:#171c25;--panel-2:#1d2330;--text:#e8ebf2;--muted:#99a3b3;--line:#2a3242;--line-strong:#3a445a;--accent:#818cf8;--accent-strong:#a5b0fc;--accent-soft:#6366f129;--accent-ring:#818cf859;--ok:#4ade80;--ok-soft:#22c55e24;--ok-line:#4ade8059;--bad:#f87181;--bad-soft:#ef444424;--bad-line:#f8718159;--warn:#fbbf24;--warn-soft:#fbbf241f;--warn-line:#fbbf2452;--shadow:0 1px 2px #0006, 0 6px 20px #00000059;--shadow-lift:0 2px 4px #00000080, 0 12px 32px #00000073}}*{box-sizing:border-box}html,body,#root{height:100%}body{font:14px/1.55 var(--font);color:var(--text);background:radial-gradient(1200px 500px at 85% -10%, var(--accent-soft), transparent 60%), var(--bg);-webkit-font-smoothing:antialiased;margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{letter-spacing:-.015em;margin:0;font-size:1.35rem;font-weight:700}h2{letter-spacing:-.01em;margin:0 0 10px;font-size:1.02rem;font-weight:650}h3{margin:0 0 8px;font-size:.92rem;font-weight:650}code{background:var(--bg-raised);border:1px solid var(--line);border-radius:5px;padding:0 4px;font-size:.85em}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skiplink{z-index:100;background:var(--panel);color:var(--accent);border:1px solid var(--accent);border-radius:8px;padding:8px 14px;font-weight:600;position:absolute;top:8px;left:-9999px}.skiplink:focus{left:8px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.shell{min-height:100%;display:flex}.sidebar{background:var(--panel);border-right:1px solid var(--line);flex-direction:column;flex:none;align-self:flex-start;gap:3px;width:224px;height:100vh;padding:18px 12px;display:flex;position:sticky;top:0}.sidebar .brand{letter-spacing:-.02em;padding:2px 10px 16px;font-size:1.08rem;font-weight:750}.sidebar .brand span{color:var(--accent)}.sidebar a.nav{color:var(--text);border-left:3px solid #0000;border-radius:9px;padding:8px 12px;font-weight:520;transition:background .12s,color .12s;display:block}.sidebar a.nav:hover{background:var(--bg-raised);text-decoration:none}.sidebar a.nav.active{background:var(--accent-soft);color:var(--accent);border-left-color:var(--accent);font-weight:650}.sidebar .spacer{flex:1}.sidebar .who{color:var(--muted);border-top:1px solid var(--line);padding:10px 10px 4px;font-size:.8rem}.main{flex:1;min-width:0;max-width:1160px;padding:26px 28px}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.topbar .actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.card+.card{margin-top:14px}.tablewrap{margin:0 -4px;padding:0 4px;overflow-x:auto}button,.btn{font:inherit;border:1px solid var(--line-strong);background:var(--panel);color:var(--text);cursor:pointer;border-radius:9px;padding:7px 14px;font-weight:600;transition:background .12s,border-color .12s,transform 60ms,box-shadow .12s;display:inline-block}button:hover,.btn:hover{background:var(--bg-raised);text-decoration:none}button:active{transform:translateY(1px)}button.primary{background:linear-gradient(180deg, var(--accent), var(--accent-strong));border-color:var(--accent-strong);color:#fff;box-shadow:0 1px 2px #14171f33,inset 0 1px #ffffff1f}button.primary:hover{filter:brightness(1.06)}button.danger{color:var(--bad);border-color:var(--bad-line)}button.danger:hover{background:var(--bad-soft)}button.small{border-radius:7px;padding:4px 10px;font-size:.8rem;font-weight:550}button.ghost{background:0 0;border-color:#0000}button.ghost:hover{background:var(--bg-raised)}button:disabled{opacity:.55;cursor:not-allowed;transform:none}label.f{margin-bottom:12px;font-weight:600;display:block}label.f>span{margin-bottom:5px;font-size:.86rem;display:block}label.f small{color:var(--muted);font-weight:400}input:not([type]),input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=datetime-local],input[type=tel],select,textarea{border:1px solid var(--line-strong);width:100%;font:inherit;background:var(--panel);color:var(--text);border-radius:9px;padding:8px 11px;transition:border-color .12s,box-shadow .12s}input:hover,select:hover,textarea:hover{border-color:var(--accent)}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);outline:none}.row{gap:10px;display:flex}.row>*{flex:1}.checkline{align-items:center;gap:8px;font-weight:500;display:flex}.checkline.inline{margin-right:12px;display:inline-flex}.cardhead{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.cardhead h2{margin:0}.btnrow{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btnrow .spacer{flex:1}.metergrid{grid-template-columns:1fr 1fr;gap:12px 24px;display:grid}.meterline{justify-content:space-between;margin-bottom:4px;font-size:.85rem;font-weight:600;display:flex}.meterbar{background:var(--bg-raised);border:1px solid var(--line);border-radius:999px;height:8px;overflow:hidden}.meterfill{background:var(--accent);border-radius:999px;min-width:2px;height:100%}.meterfill.warn{background:var(--warn)}.meterfill.bad{background:var(--bad)}@media (width<=700px){.metergrid{grid-template-columns:1fr}}table.list{border-collapse:collapse;width:100%}table.list th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-bottom:1px solid var(--line);padding:6px 10px;font-size:.72rem}table.list td{border-bottom:1px solid var(--line);padding:10px}table.list tr:last-child td{border-bottom:none}table.list tr.click{cursor:pointer}table.list tr.click:hover td{background:var(--bg-raised)}.pill{background:var(--bg-raised);border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:.74rem;font-weight:620;display:inline-block}.pill.published,.pill.approved,.pill.active,.pill.done,.pill.delivered{background:var(--ok-soft);border-color:var(--ok-line);color:var(--ok)}.pill.draft,.pill.pending,.pill.in_review,.pill.invited,.pill.received{background:var(--warn-soft);border-color:var(--warn-line);color:var(--warn)}.pill.rejected,.pill.archived,.pill.failed,.pill.disabled{background:var(--bad-soft);border-color:var(--bad-line);color:var(--bad)}.banner{border-radius:10px;margin-bottom:14px;padding:10px 14px}.banner.bad{background:var(--bad-soft);border:1px solid var(--bad-line);color:var(--bad)}.banner.ok{background:var(--ok-soft);border:1px solid var(--ok-line);color:var(--ok)}.banner ul{margin:6px 0 0 18px;padding:0}.muted{color:var(--muted)}.mono{font-family:ui-monospace,Consolas,monospace;font-size:.85em}.mt{margin-top:14px}.mb{margin-bottom:14px}.flex{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.grow{flex:1}.right{text-align:right}.center-page{place-items:center;min-height:100%;padding:24px;display:grid}.auth-card{width:384px;max-width:100%}.auth-card .brand{text-align:center;letter-spacing:-.02em;margin-bottom:18px;font-size:1.45rem;font-weight:750}.auth-card .brand span{color:var(--accent)}.pagetabs{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.pagetabs button{border-radius:999px;padding:5px 14px;font-weight:550}.pagetabs button.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.builder{grid-template-columns:232px minmax(0,1fr) 320px;align-items:start;gap:14px;display:grid}.builder .fieldrow{border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:10px;align-items:center;gap:8px;margin-bottom:7px;padding:9px 10px;transition:border-color .12s,box-shadow .12s;display:flex;position:relative}.builder .fieldrow:hover{border-color:var(--accent)}.builder .fieldrow.selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent)}.builder .fieldrow.dragging{opacity:.4}.builder .fieldrow .type{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.7rem}.draghandle{cursor:grab;color:var(--muted);touch-action:none;background:0 0;border:none;border-radius:6px;padding:4px 2px;font-size:1rem;line-height:1}.draghandle:hover{color:var(--accent);background:var(--bg-raised)}.draghandle:active{cursor:grabbing}.dropslot{border-radius:2px;height:4px;margin:-3px 0 4px}.dropslot.over{background:var(--accent)}.palette button{text-align:left;width:100%;margin-bottom:6px;font-weight:500}.dragghost{background:var(--panel);border:1px solid var(--accent);box-shadow:var(--shadow-lift);border-radius:10px;padding:9px 12px;font-weight:600}.timeline{margin:0;padding:0;list-style:none}.timeline li{border-left:2px solid var(--line);margin-left:8px;padding:8px 0 8px 20px;position:relative}.timeline li:before{content:"";background:var(--line-strong);border-radius:50%;width:10px;height:10px;position:absolute;top:14px;left:-6px}.timeline li.approved:before,.timeline li.done:before{background:var(--ok)}.timeline li.rejected:before{background:var(--bad)}.timeline li.pending:before{background:var(--warn)}.timeline li.superseded{opacity:.6}.detailgrid{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:14px;display:grid}.answers dt{margin-top:10px;font-weight:600}.answers dd{color:var(--text);white-space:pre-line;margin:2px 0 0}.optrow{gap:6px;margin-bottom:6px;display:flex}.wfcanvas{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);height:560px;overflow:hidden}.wfcanvas .react-flow__attribution{display:none}.wfsplit{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:14px;display:grid}.wfnode{background:var(--panel);border:1.5px solid var(--line-strong);min-width:190px;max-width:240px;box-shadow:var(--shadow);border-radius:12px;font-size:.82rem;transition:border-color .12s,box-shadow .12s;overflow:hidden}.react-flow__node.selected .wfnode{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring), var(--shadow-lift)}.wfnode .head{border-bottom:1px solid var(--line);align-items:center;gap:7px;padding:7px 11px;font-weight:650;display:flex}.wfnode .head .icon{font-size:.95rem}.wfnode .body{color:var(--muted);padding:8px 11px}.wfnode .body:empty{display:none}.wfnode.approval .head{background:var(--accent-soft)}.wfnode.notify .head{background:var(--warn-soft)}.wfnode.condition .head{background:var(--panel-2)}.wfnode.end .head{background:var(--ok-soft)}.wfnode.end.rejected-end .head{background:var(--bad-soft)}.wfnode.startnode{background:var(--accent);color:#fff;border-color:var(--accent-strong);border-radius:999px;min-width:0;padding:7px 16px;font-weight:650}.wfchip{background:var(--bg-raised);border:1px solid var(--line);color:var(--text);border-radius:999px;margin:2px 3px 0 0;padding:1px 8px;font-size:.72rem;font-weight:550;display:inline-block}.wfchip.mode{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.react-flow__handle{background:var(--accent);border:2px solid var(--panel);width:9px;height:9px}.react-flow__edge-text{font-size:10.5px;font-weight:650}.wfpalette{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.vaultgrid{grid-template-columns:232px minmax(0,1fr);align-items:start;gap:14px;display:grid}.vaultgrid>*{min-width:0}.raillist{flex-direction:column;gap:4px;display:flex}.raillist button{text-align:left;background:0 0;border-color:#0000;justify-content:space-between;align-items:center;gap:8px;width:100%;font-weight:520;display:flex}.raillist button:hover{background:var(--bg-raised)}.raillist button.active{background:var(--accent-soft);color:var(--accent);font-weight:650}.raillist .count{color:var(--muted);font-size:.74rem}.rowlink{font:inherit;color:var(--accent);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-weight:600}.rowlink:hover{background:0 0;text-decoration:underline}.filefield{display:block}.filefield input[type=file]{border:1px dashed var(--line-strong);background:var(--panel-2);width:100%;color:var(--text);font:inherit;border-radius:9px;padding:8px 11px}.filefield input[type=file]:hover{border-color:var(--accent)}@media (width<=1100px){.builder,.detailgrid,.wfsplit,.vaultgrid{grid-template-columns:1fr}}@media (width<=900px){.shell{flex-direction:column}.sidebar{z-index:30;border-right:none;border-bottom:1px solid var(--line);width:100%;height:auto;box-shadow:var(--shadow);flex-direction:row;align-items:center;gap:2px;padding:8px 10px;position:sticky;top:0;overflow-x:auto}.sidebar .brand{padding:0 10px 0 2px;font-size:1rem}.sidebar a.nav{white-space:nowrap;border-left:none;padding:6px 10px;font-size:.86rem}.sidebar a.nav.active{border-left:none}.sidebar .spacer{display:none}.sidebar .who{white-space:nowrap;border-top:none;padding:0 6px;font-size:.72rem}.main{padding:16px 14px}.wfcanvas{height:420px}.row{flex-direction:column}}
