
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#142428;--muted:#637477;--dark:#102a2c;--green:#0d916b;--mint:#dcf5ec;--line:#e1e9e5;--paper:#f5f7f3;--white:#fff;--orange:#f3aa64;--shadow:0 15px 40px rgba(17,42,37,.075)}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px 'DM Sans',Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.card:focus-visible{outline:3px solid #66cdb1;outline-offset:2px}.hero{background:radial-gradient(circle at 84% 0%,#216456 0%,#153d38 31%,#102a2c 66%);color:white;padding:27px max(28px,calc((100vw - 1680px)/2)) 28px}.topline{display:flex;justify-content:space-between;gap:20px;align-items:center}.brand{font-size:13px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#d7f8e9}.brand i{display:inline-block;width:13px;height:13px;border-radius:3px;transform:rotate(45deg);background:#86e9bf;margin-right:12px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:#abe5cb;font-weight:800}.hero h1{font-family:Manrope,sans-serif;font-weight:800;font-size:clamp(29px,3vw,49px);line-height:1.13;letter-spacing:-.045em;margin:25px 0 10px}.hero p{max-width:740px;color:#c8dcd6;font-size:15px;line-height:1.6;margin:0}.hero-stats{display:flex;gap:24px;flex-wrap:wrap;margin-top:24px}.hero-stats span{border-left:1px solid #579086;padding-left:16px;color:#d5e9e2}.hero-stats strong{display:block;font:800 22px Manrope;color:white}.hero-actions{display:flex;gap:8px;flex-wrap:wrap}.btn{border:1px solid #d9e6df;background:#fff;border-radius:10px;color:var(--ink);font-weight:700;padding:10px 13px;white-space:nowrap}.btn:hover{background:#eff8f3}.btn-dark{background:#16a574;color:white;border-color:#16a574}.btn-dark:hover{background:#118961}.hero .btn{background:#ffffff16;color:#fff;border-color:#ffffff55}.hero .btn:hover{background:#ffffff30}.shell{max-width:1740px;margin:auto;padding:0 28px 72px}.nav{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);margin:0 0 18px;position:sticky;top:0;z-index:10;background:var(--paper);padding-top:14px}.tabs{display:flex;gap:5px}.tab{border:0;background:transparent;padding:14px 16px;font-weight:800;color:#697b7a;border-bottom:3px solid transparent}.tab.active{color:#167e5e;border-bottom-color:#18a675}.controls{display:flex;gap:9px;align-items:center;flex-wrap:wrap;padding-bottom:8px}.controls input,.controls select,.edit input,.edit select,.edit textarea,.add-form input,.add-form select,.add-form textarea{background:white;border:1px solid #d4e0da;border-radius:9px;padding:10px 11px;color:var(--ink)}.controls input{min-width:210px}.controls select{max-width:185px}.micro{font-size:12px;color:var(--muted)}.notice{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#e8f4eb;border:1px solid #d1e8d8;padding:12px 15px;border-radius:12px;margin:16px 0;color:#315448}.notice strong{color:#194d3a}.board{display:grid;grid-template-columns:repeat(4,minmax(260px,1fr));gap:15px;align-items:start}.lane{background:#eff3ee;border:1px solid #e3ebe3;border-radius:17px;padding:11px;min-height:270px}.lane.drag-over{outline:2px dashed #28b384;background:#e8f5eb}.lane-head{border-radius:11px;padding:15px;color:var(--dark);min-height:92px}.lane:nth-child(1) .lane-head{background:#cef2db}.lane:nth-child(2) .lane-head{background:#dbe9fb}.lane:nth-child(3) .lane-head{background:#fff0cf}.lane:nth-child(4) .lane-head{background:#f0e5f5}.lane-head small{font-weight:800;font-size:10px;letter-spacing:.14em;text-transform:uppercase;opacity:.7}.lane-head h2{margin:4px 0 0;font:800 20px Manrope;display:flex;align-items:center;justify-content:space-between}.lane-head h2 span{font:800 12px 'DM Sans';padding:5px 8px;border-radius:99px;background:#ffffffaa}.lane-content{min-height:110px;padding-top:10px}.card{position:relative;background:#fff;border:1px solid #e2eae3;border-radius:13px;box-shadow:0 3px 9px #1431260a;margin-bottom:9px;padding:15px;transition:transform .15s,box-shadow .15s;cursor:grab}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.card.dragging{opacity:.35}.card.drop-before{border-top:3px solid #0ba778}.card.drop-after{border-bottom:3px solid #0ba778}.card-top{display:flex;align-items:center;gap:8px;justify-content:space-between}.stage{font-weight:800;color:#0e785a;font-size:11px;letter-spacing:.02em}.chip{display:inline-block;border-radius:100px;background:#eaf4ee;color:#267259;font-size:10px;font-weight:800;padding:5px 8px}.card h3{font:800 14px/1.38 Manrope;margin:10px 0 8px;letter-spacing:-.015em}.card p{line-height:1.47;color:#536764;margin:0 0 11px;font-size:12px}.card-foot{display:flex;gap:5px;justify-content:space-between;align-items:center;border-top:1px solid #edf1ed;padding-top:10px;color:#647772;font-size:11px}.card-foot b{font-size:12px;color:#0e795b}.card-actions{display:flex;gap:3px}.icon-btn{background:transparent;color:#57736b;border:0;font-size:13px;padding:4px 7px;border-radius:6px}.icon-btn:hover{background:#e9f4ec}.badge{font-size:10px;color:#56716a;background:#f0f5f1;border-radius:99px;padding:4px 8px}.section-head{margin:28px 0 13px;display:flex;align-items:center;justify-content:space-between;gap:12px}.section-head h2{font:800 23px Manrope;margin:0}.section-head p{margin:4px 0 0;color:var(--muted)}.backlog{background:#e8eee8;border:1px solid #dce5de;border-radius:17px;padding:15px}.backlog .lane-content{display:grid;grid-template-columns:repeat(4,minmax(230px,1fr));gap:10px;padding-top:0}.backlog .card{margin:0}.empty{font-size:12px;padding:30px 12px;text-align:center;color:#778987;border:1px dashed #cbd9cf;border-radius:10px}.journey-nav{display:flex;flex-wrap:wrap;gap:7px;margin:20px 0}.journey-nav button{background:#fff;border:1px solid #dce6df;border-radius:30px;padding:8px 11px;color:#49615a}.journey-nav button:hover{border-color:#33a77d}.journey-group{background:white;border:1px solid var(--line);border-radius:16px;padding:18px;margin:13px 0;scroll-margin-top:110px}.journey-group h2{font:800 20px Manrope;margin:0 0 5px}.journey-group .grid{display:grid;grid-template-columns:repeat(3,minmax(200px,1fr));gap:11px;margin-top:15px}.journey-group .card{margin:0}.add-wrap{display:grid;grid-template-columns:minmax(0,820px) minmax(240px,1fr);gap:24px;margin-top:24px}.panel{background:white;border:1px solid var(--line);border-radius:17px;padding:24px;box-shadow:var(--shadow)}.panel h2{font:800 22px Manrope;margin:0 0 10px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:#4b6760}.field textarea{min-height:80px;resize:vertical;line-height:1.4}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.small-help{font-size:12px;color:#60736e;line-height:1.6}.overlay{position:fixed;inset:0;background:#081e1ab0;z-index:35;display:none}.overlay.open{display:block}.drawer{position:fixed;right:0;top:0;bottom:0;width:min(680px,100%);background:#f9fbf8;z-index:40;box-shadow:-18px 0 40px #061a1440;transform:translateX(102%);transition:transform .2s;overflow-y:auto}.drawer.open{transform:translateX(0)}.drawer-head{position:sticky;top:0;background:#143e35;color:#fff;z-index:2;padding:22px 25px;display:flex;justify-content:space-between;align-items:center}.drawer-head h2{font:800 23px Manrope;margin:5px 0 0}.drawer-head button{border:0;background:#ffffff27;color:#fff;border-radius:8px;font-size:20px;padding:6px 11px}.drawer-body{padding:22px 26px 50px}.drawer-note{font-size:12px;color:#5b726c;border-left:3px solid #87ca9f;padding:10px 13px;background:#eef8f0;line-height:1.6;margin-bottom:18px}.drawer-footer{display:flex;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:17px}.pill{font-size:11px;border-radius:8px;padding:6px 9px;background:#e7f5ed;color:#187755;font-weight:700}.hidden{display:none!important}#toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%,120px);background:#163d33;color:#fff;border-radius:12px;padding:11px 17px;z-index:55;box-shadow:var(--shadow);transition:transform .25s}#toast.show{transform:translate(-50%,0)}@media(max-width:1200px){.board{grid-template-columns:repeat(2,minmax(260px,1fr))}.backlog .lane-content{grid-template-columns:repeat(2,minmax(250px,1fr))}.journey-group .grid{grid-template-columns:repeat(2,minmax(220px,1fr))}}@media(max-width:700px){.hero{padding:23px 18px}.topline{align-items:start}.hero-actions{max-width:160px;justify-content:flex-end}.hero .btn{font-size:11px;padding:8px}.shell{padding:0 13px 50px}.nav{position:static;align-items:flex-start;display:block}.controls{padding:8px 0 14px}.controls input{width:100%}.board,.backlog .lane-content,.journey-group .grid,.add-wrap,.formgrid{grid-template-columns:1fr}.hero-stats{gap:12px}.hero-stats span{font-size:11px}.lane{min-height:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important}}
.quick-pop{position:absolute;z-index:18;left:8px;right:8px;top:calc(100% - 7px);pointer-events:none;background:#123e35;color:#edfdf5;border-radius:12px;padding:13px 14px;box-shadow:0 18px 34px #0a2f2870;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .14s,transform .14s,visibility .14s}.quick-pop strong{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#86edbd;margin-bottom:7px}.quick-pop ul{margin:0;padding-left:17px}.quick-pop li{font-size:12px;line-height:1.42;margin:5px 0}.card:hover .quick-pop,.card:focus-visible .quick-pop{opacity:1;visibility:visible;transform:translateY(0)}@media(max-width:700px){.quick-pop{display:none}}@media(hover:none){.quick-pop{display:none}}
.lane:hover,.backlog:hover,.journey-group:hover{position:relative;z-index:25}.card:hover,.card:focus-visible{z-index:45}.board .lane:nth-child(1) .priority-card{--card-accent:#176b48;--card-tint:#daf5e5}.board .lane:nth-child(2) .priority-card{--card-accent:#255e96;--card-tint:#e0ecfc}.board .lane:nth-child(3) .priority-card{--card-accent:#90600f;--card-tint:#fff1ce}.board .lane:nth-child(4) .priority-card{--card-accent:#765188;--card-tint:#f1e5f6}.backlog .priority-card{--card-accent:#596d64;--card-tint:#e7eee9}.priority-card .priority-rank{display:inline-block;background:var(--card-tint);color:var(--card-accent);padding:5px 9px;border-radius:6px;font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.priority-card h3{color:var(--card-accent);font-size:15px;margin:12px 0 10px}.priority-meta{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:0 0 12px}.priority-stage{color:#526c65;font-weight:800;font-size:11px}.priority-card .chip{background:#eff4f0;color:#466657}.priority-card p{margin-top:0}.journey-group{border-color:#c9e3d5;box-shadow:0 7px 24px #173d2c0b}.journey-heading{display:flex;align-items:center;gap:14px}.journey-icon{display:grid;place-items:center;flex:none;width:48px;height:48px;background:#d9f4e5;border:1px solid #90cfaa;color:#145d3e;border-radius:13px;font-size:24px}.journey-number{color:#0c6245;font-weight:900;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.journey-heading h2{color:#173d30;font-size:23px;margin:3px 0 4px}.stage-outcome{background:#eef8f1;border-left:4px solid #249767;border-radius:8px;padding:11px 15px;margin-top:16px;display:flex;gap:8px;flex-wrap:wrap;align-items:baseline}.stage-outcome span{font-size:10px;text-transform:uppercase;letter-spacing:.09em;font-weight:800;color:#2b795a}.stage-outcome strong{font-size:13px;color:#204839}.journey-nav button span{font-size:17px;vertical-align:-2px}.journey-nav button{font-weight:700}.metric-callout{display:grid;gap:3px;background:#f0f7f1;border-left:3px solid #1d9b69;border-radius:6px;margin:10px 0 13px;padding:9px 10px}.metric-callout span{color:#2a7957;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.metric-callout strong{color:#204b39;font-size:11px;line-height:1.4}.quick-why{border-top:1px solid #5c8d7c;margin-top:10px;padding-top:10px;display:grid;gap:5px}.quick-why b{color:#90efbf;font-size:11px;text-transform:uppercase;letter-spacing:.07em}.quick-why span{font-size:12px;line-height:1.42}.reference-preview{display:flex;flex-wrap:wrap;gap:8px;margin:-5px 0 18px}.reference-preview a,.reference-preview span:not(.micro){border:1px solid #c8e4d3;background:#eaf7ee;color:#166446;border-radius:8px;padding:7px 9px;font-size:12px;font-weight:700;text-decoration:none;overflow-wrap:anywhere}.reference-preview a:hover{text-decoration:underline;background:#d7f1e1}

/* ---- app shell: top nav, workstream picker, auth, roles, comments, sequencing grid ---- */
.app-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 28px;background:#102a2c;color:#fff}
.app-topbar a{color:#d7f8e9;text-decoration:none;font-weight:800;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.app-topbar .who{display:flex;align-items:center;gap:10px;font-size:12.5px;color:#cfe6de}
.app-topbar .role-pill{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:4px 9px;border-radius:99px;background:#18a675;color:#fff}
.app-topbar .role-pill.viewer{background:#5b726c}
.app-topbar button{background:#ffffff1c;border:1px solid #ffffff3a;color:#fff;border-radius:8px;padding:7px 11px;font-weight:700;font-size:12px}
.app-topbar button:hover{background:#ffffff30}
.picker-shell{max-width:1100px;margin:0 auto;padding:50px 24px 80px}
.picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:24px}
.picker-card{display:block;background:#fff;border:1px solid #e2eae3;border-radius:16px;padding:22px;text-decoration:none;color:inherit;box-shadow:0 3px 9px #1431260a;transition:transform .15s,box-shadow .15s}
.picker-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.picker-card h3{font:800 17px Manrope;margin:8px 0 6px;color:var(--ink)}
.picker-card p{margin:0;color:var(--muted);font-size:12.5px;line-height:1.5}
.picker-card .eyebrow{font-size:10px}
.picker-card.sequencing{background:linear-gradient(135deg,#16a574,#102a2c);color:#fff}
.picker-card.sequencing h3,.picker-card.sequencing p{color:#fff}
.auth-gate{display:flex;align-items:center;justify-content:center;min-height:70vh;flex-direction:column;gap:16px;text-align:center}
.auth-gate h1{font:800 26px Manrope;margin:0}
.viewer-note{background:#fff0cf;border:1px solid #f0d99a;color:#6b5420;border-radius:10px;padding:10px 13px;font-size:12px;margin-bottom:16px}
fieldset.readonly-fields{border:0;padding:0;margin:0}
fieldset.readonly-fields :is(input,textarea,select){background:#f3f5f3;color:#51645f;pointer-events:none}
.comments-section{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}
.comments-section h3{font:800 13px Manrope;margin:0 0 10px;text-transform:uppercase;letter-spacing:.05em;color:#3f5a52}
.comment{background:#f5f8f5;border-radius:10px;padding:10px 12px;margin-bottom:8px}
.comment .meta{font-size:10.5px;color:var(--muted);margin-bottom:3px;font-weight:700}
.comment .text{font-size:13px;line-height:1.45;white-space:pre-wrap}
.comment-form{display:flex;gap:8px;margin-top:10px}
.comment-form textarea{flex:1;min-height:44px;border-radius:9px;border:1px solid #d4e0da;padding:9px 11px;font:inherit;resize:vertical}
.deleted-panel{background:#fdeeee;border:1px solid #f0c9c9;border-radius:12px;padding:14px;margin:16px 0}
.deleted-panel .card{opacity:.75}
.deleted-toggle{font-size:11px;color:#8a4b4b;background:#fff;border:1px solid #f0c9c9;border-radius:8px;padding:6px 10px;font-weight:700}

.seq-grid{display:grid;grid-template-columns:170px repeat(3,1fr);gap:12px;align-items:start;margin-top:10px}
.seq-head{font:800 11px 'DM Sans',Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:8px 4px}
.seq-team-label{display:flex;flex-direction:column;justify-content:center;gap:2px;background:#eff3ee;border-radius:14px;padding:14px;font:800 15px Manrope}
.seq-team-label small{font-weight:700;color:var(--muted);text-transform:uppercase;font-size:10px;letter-spacing:.08em}
.seq-cell{background:#eff3ee;border:1px solid #e3ebe3;border-radius:14px;padding:10px;min-height:150px}
.seq-cell.drag-over{outline:2px dashed #28b384;background:#e8f5eb}
.source-badge{font-size:10px;color:#647772;background:#eef3ef;border-radius:99px;padding:3px 7px;font-weight:700}
@media(max-width:900px){.seq-grid{grid-template-columns:1fr}}
@media(max-width:700px){.app-topbar{padding:12px 16px;flex-wrap:wrap}.picker-shell{padding:30px 16px 60px}}