/* MONTECO Talent: design system and private app shell. Direction C ("Ask MONTECO") with A's table.
   Tokens extend the website's (ink, green, ground). Every component is documented in /_styleguide/ and CONTRACT-UI.md.
   Public pages load this file plus site.css. Never add: a coloured edge bar on a box, a decorative rule by a heading,
   tracked uppercase labels, monospace, dashed boxes, emoji. */

@font-face{font-family:"Inter Tight";font-style:normal;font-weight:400 700;font-display:swap;src:url("/assets/fonts/inter-tight-var-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter Tight";font-style:normal;font-weight:400 700;font-display:swap;src:url("/assets/fonts/inter-tight-var-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --ink:#033030; --ink-2:#02201F; --green:#51BD16; --green-hover:#49A914; --green-text:#26720A; --green-word:#3C9610;
  --ground:#E4E9F1; --panel:#FFFFFF; --muted:#5E6A6A; --line:rgba(3,48,48,.10); --error:#B3261E;
  --hair:#D3DAE4; --surface:#EEF1F6; --surface-2:#F6F8FB; --tint:#E5F5DD; --tint-ink:#1B5206; --tint-line:#B9DDA6;
  --amber:#FFEFD0; --amber-ink:#6A4300; --blue:#E4ECFD; --blue-ink:#09366D; --violet:#EBE5FB; --violet-ink:#43267F;
  --teal:#DCF0F2; --teal-ink:#0B4F5C; --rose:#FBE3EC; --rose-ink:#7A1C3F; --red-tint:#FBE4E2; --red-ink:#8A1C15;
  --focus:#3C9610;
  --shadow-1:0 1px 2px rgba(3,48,48,.05);
  --shadow-2:0 1px 2px rgba(3,48,48,.05),0 1px 3px rgba(3,48,48,.08);
  --shadow-pop:0 0 0 1px rgba(3,48,48,.08),0 2px 4px rgba(3,48,48,.05),0 14px 32px -10px rgba(3,48,48,.22);
  --r-ctl:8px; --r-card:12px; --r-panel:16px; --r-pill:999px;
  --font:"Inter Tight","Helvetica Neue",Helvetica,Arial,sans-serif;
  --rail-w:232px; --top-h:56px;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:400 15px/22px var(--font);color:var(--ink);background:var(--ground);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0;padding:0}
ul,ol{list-style:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
a{color:inherit}
svg{display:block;flex:none}
img{display:block;max-width:100%}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ico{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.ico-s{width:16px;height:16px}.ico-xs{width:14px;height:14px}.ico-l{width:22px;height:22px}
.muted{color:var(--muted)}.num{font-variant-numeric:tabular-nums}.grow{flex:1;min-width:0}.nowrap{white-space:nowrap}
.row{display:flex;align-items:center;gap:8px}.row-wrap{display:flex;flex-wrap:wrap;gap:8px}.stack{display:flex;flex-direction:column;gap:12px}
.t-12{font-size:12px;line-height:16px}.t-13{font-size:13px;line-height:18px}.t-14{font-size:14px;line-height:20px}.t-16{font-size:16px;line-height:24px}.t-18{font-size:18px;line-height:26px}
.t-22{font-size:22px;line-height:28px;font-weight:600;letter-spacing:-.015em}.t-28{font-size:28px;line-height:34px;font-weight:600;letter-spacing:-.02em}.t-36{font-size:36px;line-height:42px;font-weight:600;letter-spacing:-.022em}.t-48{font-size:48px;line-height:54px;font-weight:600;letter-spacing:-.022em}
.fw-5{font-weight:500}.fw-6{font-weight:600}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px;padding:0 14px;border-radius:var(--r-ctl);border:1px solid var(--hair);background:var(--panel);color:var(--ink);font-size:14px;line-height:20px;font-weight:500;white-space:nowrap;text-decoration:none;box-shadow:var(--shadow-1);transition:background-color .15s var(--ease),border-color .15s var(--ease),transform .15s var(--ease)}
.btn:hover{background:var(--surface)}
.btn:active{transform:translateY(1px)}
.btn-go{background:var(--green);border-color:var(--green);color:var(--ink);font-weight:600}
.btn-go:hover{background:var(--green-hover);border-color:var(--green-hover)}
.btn-ink{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:600}
.btn-ink:hover{background:var(--ink-2)}
.btn-quiet{background:transparent;border-color:transparent;box-shadow:none}
.btn-quiet:hover{background:rgba(3,48,48,.07)}
.btn-danger{color:var(--error);border-color:#E6BDB9}
.btn-danger:hover{background:var(--red-tint)}
.btn-sm{height:30px;padding:0 11px;font-size:13px}
.btn-lg{height:44px;padding:0 20px;font-size:15px;border-radius:10px}
.btn-block{width:100%}
.btn-icon{width:36px;padding:0}.btn-icon.btn-sm{width:30px}
.btn-round{width:36px;height:36px;padding:0;border-radius:50%}
.btn[disabled],.btn[aria-disabled="true"]{background:var(--surface);border-color:var(--hair);color:#7C8888;box-shadow:none;cursor:default;transform:none}
.btn-go[disabled]{background:var(--tint);border-color:var(--tint-line);color:var(--tint-ink)}
.btn.is-loading{color:transparent;position:relative;pointer-events:none}
.btn.is-loading::after{content:"";position:absolute;width:16px;height:16px;border-radius:50%;border:2px solid rgba(3,48,48,.25);border-top-color:var(--ink);animation:spin .7s linear infinite}
.btn-link{background:none;border:0;padding:0;height:auto;box-shadow:none;color:var(--green-text);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.btn-link:hover{background:none;text-decoration-color:transparent}
.spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(3,48,48,.18);border-top-color:var(--ink);animation:spin .7s linear infinite;flex:none}
@keyframes spin{to{transform:rotate(360deg)}}

/* ---------- chips and tags ---------- */
.chip{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 10px;border-radius:var(--r-pill);font-size:13px;line-height:1;font-weight:500;white-space:nowrap;background:var(--surface);color:var(--ink)}
.chip .ico{width:14px;height:14px}
.chip-slate{background:var(--ground)}
.chip-green{background:var(--tint);color:var(--tint-ink)}
.chip-blue{background:var(--blue);color:var(--blue-ink)}
.chip-amber{background:var(--amber);color:var(--amber-ink)}
.chip-violet{background:var(--violet);color:var(--violet-ink)}
.chip-teal{background:var(--teal);color:var(--teal-ink)}
.chip-rose{background:var(--rose);color:var(--rose-ink)}
.chip-red{background:var(--red-tint);color:var(--red-ink)}
.chip-ink{background:var(--ink);color:#fff}
.chip-line{background:var(--panel);box-shadow:inset 0 0 0 1px var(--hair)}
.chip-sm{height:22px;padding:0 8px;font-size:12px}
.chip-btn{border:0;cursor:pointer}.chip-btn:hover{filter:brightness(.97)}
.chip-btn[aria-pressed="true"]{background:var(--ink);color:#fff}
.chip-x{margin:0 -4px 0 2px;width:18px;height:18px;border:0;border-radius:50%;background:transparent;display:grid;place-items:center;padding:0}
.chip-x:hover{background:rgba(3,48,48,.12)}
.tag{display:inline-flex;align-items:center;height:24px;padding:0 9px;border-radius:var(--r-pill);font-size:12.5px;background:var(--surface);color:var(--ink);white-space:nowrap}
.tag-hit{background:var(--tint);color:var(--tint-ink);font-weight:600}
.tags{display:flex;flex-wrap:wrap;gap:6px}
.dot{width:8px;height:8px;border-radius:50%;background:var(--green);flex:none}
.dot-amber{background:#E8A21E}.dot-muted{background:#B9C3CF}
.kbd{display:inline-flex;align-items:center;height:20px;padding:0 6px;border-radius:5px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--hair);font-size:12px;font-weight:500;color:var(--muted);white-space:nowrap}

/* ---------- avatars ---------- */
.av{width:32px;height:32px;border-radius:50%;display:inline-grid;place-items:center;font-size:12px;line-height:1;font-weight:600;flex:none;background:var(--surface);color:var(--ink);letter-spacing:.01em}
.av-xs{width:22px;height:22px;font-size:10px}.av-sm{width:28px;height:28px;font-size:11.5px}.av-lg{width:40px;height:40px;font-size:14px}.av-xl{width:56px;height:56px;font-size:19px}
.av.t1{background:var(--blue);color:var(--blue-ink)}.av.t2{background:var(--violet);color:var(--violet-ink)}.av.t3{background:var(--amber);color:var(--amber-ink)}.av.t4{background:var(--teal);color:var(--teal-ink)}.av.t5{background:var(--rose);color:var(--rose-ink)}
.av.t-neutral{background:var(--surface)}.av-ink{background:var(--ink);color:#fff}.av-green{background:var(--green);color:var(--ink)}
.av-stack{display:inline-flex}.av-stack .av{box-shadow:0 0 0 2px var(--panel)}.av-stack .av+.av{margin-left:-6px}

/* ---------- fields ---------- */
.fld{display:flex;flex-direction:column;gap:6px;min-width:0}
.lbl{font-size:13.5px;line-height:18px;font-weight:500;color:var(--ink)}
.lbl .opt{font-weight:400;color:var(--muted)}
.inp{display:block;width:100%;height:40px;padding:0 12px;border:1px solid var(--hair);border-radius:var(--r-ctl);background:var(--panel);color:var(--ink);font-size:15px;line-height:20px;box-shadow:var(--shadow-1);transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}
.inp::placeholder{color:#7C8888}
.inp:hover{border-color:#B9C3CF}
.inp:focus{outline:0;border-color:var(--ink);box-shadow:0 0 0 3px rgba(3,48,48,.12)}
textarea.inp{height:auto;min-height:88px;padding:10px 12px;resize:vertical}
select.inp{appearance:none;-webkit-appearance:none;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235E6A6A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:16px}
.inp.is-invalid{border-color:var(--error)}
.inp.is-invalid:focus{box-shadow:0 0 0 3px rgba(179,38,30,.15)}
.hlp{font-size:13px;line-height:18px;color:var(--muted)}
.err{font-size:13px;line-height:18px;color:var(--error);display:flex;gap:6px;align-items:center}
.inp[disabled]{background:var(--surface);color:#7C8888;cursor:not-allowed}
.inp-wrap{position:relative}.inp-wrap>.ico{position:absolute;left:12px;top:11px;color:var(--muted);pointer-events:none}.inp-wrap .inp{padding-left:38px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cbx,.rdo{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:14.5px;line-height:22px}
.cbx input,.rdo input{appearance:none;-webkit-appearance:none;flex:none;width:18px;height:18px;margin:2px 0 0;border-radius:5px;background:var(--panel);box-shadow:inset 0 0 0 1.5px #A9B5C2;cursor:pointer;transition:background-color .12s}
.rdo input{border-radius:50%}
.cbx input:checked{background:var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") center/12px no-repeat;box-shadow:none}
.rdo input:checked{box-shadow:inset 0 0 0 5px var(--ink)}
.cbx small,.rdo small{display:block;font-size:13px;line-height:18px;color:var(--muted)}
.switch{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14.5px}
.switch input{appearance:none;-webkit-appearance:none;flex:none;width:36px;height:22px;border-radius:var(--r-pill);background:#B9C3CF;position:relative;cursor:pointer;transition:background-color .15s;margin:0}
.switch input::after{content:"";position:absolute;left:2px;top:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(3,48,48,.3);transition:transform .15s var(--ease)}
.switch input:checked{background:var(--ink)}.switch input:checked::after{transform:translateX(14px)}

/* ---------- meter, pipeline ---------- */
.meter{width:156px;flex:none}
.meter .pc{display:flex;align-items:baseline;justify-content:space-between;font-size:12.5px;color:var(--muted)}
.meter .pc b{font-size:19px;line-height:22px;font-weight:600;color:var(--ink)}
.meter .tk{height:6px;border-radius:3px;background:var(--surface);margin-top:5px;overflow:hidden}
.meter .tk i{display:block;height:100%;border-radius:3px;background:var(--green)}
.meter-sm{width:96px}.meter-sm .pc b{font-size:15px;line-height:18px}
.pipe{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:1px;background:var(--hair);border:1px solid var(--hair);border-radius:var(--r-card);overflow:hidden}
.pipe-cell{appearance:none;border:0;border-radius:0;text-align:left;background:var(--panel);padding:9px 12px 10px;min-width:0;display:flex;flex-direction:column;gap:5px;cursor:pointer}
.pipe-cell:hover{background:var(--surface-2)}
.pipe-cell .nm{font-size:12.5px;line-height:16px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pipe-cell .rw{display:flex;align-items:center;gap:6px;min-height:24px}
.pipe-cell .ct{font-size:19px;line-height:24px;font-weight:600;color:var(--muted)}
.pipe-cell.on{background:var(--tint)}.pipe-cell.on .nm,.pipe-cell.on .ct{color:var(--ink)}
.pipe-cell[aria-pressed="true"]{background:var(--ink)}.pipe-cell[aria-pressed="true"] .nm,.pipe-cell[aria-pressed="true"] .ct{color:#fff}
.pipe-cell .mini{margin-left:auto}.pipe-cell .mini~.mini{margin-left:-6px}
.mini{width:22px;height:22px;border-radius:50%;background:var(--panel);color:var(--ink);font-size:10px;font-weight:600;display:grid;place-items:center;box-shadow:0 0 0 1px var(--hair)}
.pipe-mini{display:flex;gap:3px;align-items:center}
.pipe-mini i{display:flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:6px;background:var(--surface);color:var(--muted);font-style:normal;font-size:12px;font-weight:600}
.pipe-mini i.on{background:var(--tint);color:var(--tint-ink)}

/* ---------- cards ---------- */
.card{background:var(--panel);border:1px solid var(--hair);border-radius:var(--r-card);padding:16px;box-shadow:var(--shadow-1)}
.card-click{cursor:pointer}.card-click:hover{border-color:#B9C3CF}
.panel{background:var(--panel);border-radius:var(--r-panel);box-shadow:var(--shadow-2);border:1px solid var(--hair)}
.rcard{background:var(--panel);border:1px solid var(--hair);border-radius:var(--r-card);padding:16px 16px 14px;box-shadow:var(--shadow-1)}
.rcard h2,.rcard h3{font-size:14.5px;line-height:20px;font-weight:600}
.rcard dl{margin-top:10px;display:flex;flex-direction:column;gap:11px}
.rcard dt,.kv dt{font-size:12.5px;line-height:16px;color:var(--muted)}
.rcard dd,.kv dd{font-size:14.5px;line-height:20px;font-weight:500;margin-top:1px}
.kv{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.pcard{display:block;background:var(--panel);border:1px solid var(--hair);border-radius:var(--r-card);padding:14px 16px;box-shadow:var(--shadow-1);cursor:pointer;transition:border-color .15s}
.pcard:hover{border-color:#B9C3CF}
.pcard[aria-current="true"],.pcard.sel{outline:2px solid var(--ink);outline-offset:-1px;border-color:var(--ink)}
.pcard:focus-visible{outline:2px solid var(--ink);outline-offset:-1px}
.pc-top{display:flex;align-items:center;gap:12px}
.pc-rk{width:16px;font-size:13.5px;color:var(--muted);text-align:center;flex:none}
.pc-id{min-width:0;flex:1}.pc-id b{display:block;font-size:15.5px;line-height:20px;font-weight:600}.pc-id span{display:block;font-size:13.5px;line-height:18px;color:var(--muted)}
.pc-why{display:flex;gap:8px;margin:10px 0 0 70px;font-size:14.5px;line-height:21px}.pc-why .ico{width:16px;height:16px;color:var(--green-text);margin-top:3px}
.pc-foot{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;margin:12px 0 0 70px}
.pc-foot .sp{flex:1}
.fact{font-size:13.5px;line-height:20px;color:var(--muted);white-space:nowrap}.fact b{font-weight:600;color:var(--ink)}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.kpi{display:flex;flex-direction:column;gap:2px;background:var(--panel);border:1px solid var(--hair);border-radius:var(--r-card);padding:14px 16px;box-shadow:var(--shadow-1);text-decoration:none;color:var(--ink);min-height:96px}
a.kpi:hover,button.kpi:hover{border-color:#B9C3CF}
.kpi .k{font-size:13px;line-height:18px;color:var(--muted);display:flex;align-items:center;justify-content:space-between;gap:8px}
.kpi .v{font-size:28px;line-height:34px;font-weight:600;letter-spacing:-.02em;margin-top:2px}
.kpi .s{font-size:13px;line-height:18px;color:var(--muted);margin-top:auto}
.lrow{display:flex;align-items:center;gap:14px;padding:14px 16px;border-bottom:1px solid var(--line)}
.lrow:last-child{border-bottom:0}
.lrow .lead{width:36px;height:36px;border-radius:50%;background:var(--surface);display:grid;place-items:center;flex:none}
.lrow .main{flex:1;min-width:0}.lrow .main b{display:block;font-size:14.5px;line-height:20px;font-weight:600}.lrow .main span{display:block;font-size:13.5px;line-height:18px;color:var(--muted)}
.lrow .trail{display:flex;align-items:center;gap:8px;flex:none}
.list-card{background:var(--panel);border:1px solid var(--hair);border-radius:var(--r-card);box-shadow:var(--shadow-1);overflow:hidden}
.hbar{height:8px;border-radius:4px;background:var(--surface);overflow:hidden}.hbar i{display:block;height:100%;background:var(--ink);border-radius:4px}

/* ---------- tabs ---------- */
.tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}
.tab{appearance:none;border:0;background:transparent;height:34px;padding:0 12px;border-radius:var(--r-ctl);font-size:14px;font-weight:500;color:var(--muted);display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.tab:hover{background:rgba(3,48,48,.06);color:var(--ink)}
.tab[aria-selected="true"]{background:var(--panel);color:var(--ink);font-weight:600;box-shadow:0 0 0 1px var(--hair),var(--shadow-1)}
.tab .n{font-size:12.5px;font-weight:600;color:var(--muted)}.tab[aria-selected="true"] .n{color:var(--ink)}
.app-main.fill{overflow:hidden;display:flex;flex-direction:column}.fill-scroll{flex:1;min-height:0;overflow:auto}
.seg{display:inline-flex;padding:3px;border-radius:10px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--hair)}.seg .tab{height:30px}

/* ---------- table ---------- */
.tbl-wrap{background:var(--panel);border:1px solid var(--hair);border-radius:var(--r-card);box-shadow:var(--shadow-1);overflow:clip}
.tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:14px;line-height:20px}
.tbl th{position:sticky;top:0;z-index:2;height:40px;padding:0 14px;text-align:left;font-size:13px;font-weight:500;color:var(--muted);background:var(--surface-2);border-bottom:1px solid var(--hair);white-space:nowrap}
.tbl th button{appearance:none;border:0;background:none;padding:0;display:inline-flex;align-items:center;gap:6px;font-weight:500;color:inherit}
.tbl th button:hover{color:var(--ink)}.tbl th[aria-sort="ascending"],.tbl th[aria-sort="descending"]{color:var(--ink)}
.tbl th .ico{width:14px;height:14px}
.tbl td{height:58px;padding:0 14px;border-bottom:1px solid var(--line);vertical-align:middle}
.tbl tbody tr:last-child td{border-bottom:0}
.tbl tbody tr{cursor:pointer}.tbl tbody tr:hover td{background:var(--surface-2)}
.tbl tbody tr[aria-selected="true"] td{background:#F1F8EA}
.tbl tbody tr:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}
.tbl .c-sel{width:44px;padding:0 0 0 14px}.tbl .c-right{text-align:right}
.tbl .who{display:flex;align-items:center;gap:10px;min-width:0}.tbl .who>div>b{display:block;font-weight:500;line-height:18px;white-space:nowrap}.tbl .who>div>span{display:block;font-size:13px;line-height:17px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tbl .who>div{min-width:0}
.tbl .sub{display:block;font-size:12.5px;line-height:16px;color:var(--muted)}
.tbl-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-top:1px solid var(--hair);background:var(--surface-2);font-size:13px;color:var(--muted)}
.tbl-bulk{display:flex;align-items:center;gap:10px;padding:8px 14px;background:var(--ink);color:#fff;font-size:14px}
.tbl-bulk .btn{height:30px}
.tbl-empty{padding:40px 16px}
.tbl-sortbar{display:none}
@media (max-width:760px){
  .tbl-sortbar{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--hair);background:var(--surface-2)}.tbl-sortbar .inp{height:34px;width:auto;flex:1;font-size:14px}
  .tbl-stacked thead{display:none}
  .tbl-stacked,.tbl-stacked tbody{display:block}
  .tbl-stacked tr{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;padding:14px;border-bottom:1px solid var(--line)}
  .tbl-stacked tbody tr:last-child{border-bottom:0}
  .tbl-stacked td{display:block;height:auto;padding:0;border:0}
  .tbl-stacked td:first-child,.tbl-stacked td.c-sel+td{grid-column:1/-1}
  .tbl-stacked td[data-label]:not(.c-primary)::before{content:attr(data-label);display:block;font-size:12px;line-height:16px;color:var(--muted)}
  .tbl-stacked td.c-sel{position:absolute;margin:0}
  .tbl-stacked tr{position:relative}
}

/* ---------- empty, status, stream ---------- */
.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:36px 20px}
.empty .eico{width:48px;height:48px;border-radius:50%;background:var(--surface);display:grid;place-items:center;color:var(--ink);margin-bottom:8px}
.empty h3{font-size:16px;line-height:24px;font-weight:600}.empty p{font-size:14.5px;line-height:22px;color:var(--muted);max-width:380px}.empty .btn{margin-top:12px}
.sl{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:14px;line-height:20px}
.sl-line{display:flex;align-items:center;gap:8px;opacity:0;transform:translateY(3px);animation:slin .22s var(--ease) forwards}
.sl-line .ico{width:16px;height:16px}.sl-line.done{color:var(--muted)}.sl-line.done .ico{color:var(--green-text)}.sl-line.run{color:var(--ink)}
.sl-sum{display:inline-flex;align-items:center;gap:8px;border:0;background:none;padding:0;color:var(--muted);font-size:14px;line-height:20px;cursor:pointer}
.sl-sum:hover{color:var(--ink)}.sl-sum .ico:last-child{transition:transform .15s}.sl-sum[aria-expanded="true"] .ico:last-child{transform:rotate(180deg)}
@keyframes slin{to{opacity:1;transform:none}}
.stream{font-size:15.5px;line-height:24px;max-width:700px}.stream b{font-weight:600}
.caret{display:inline-block;width:2px;height:1em;vertical-align:-2px;margin-left:2px;background:var(--ink);animation:blink 1s steps(2) infinite}
@keyframes blink{50%{opacity:0}}
.note{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:10px;background:var(--surface);font-size:14px;line-height:20px}
.note .ico{margin-top:1px;color:var(--green-text)}
.note-amber{background:var(--amber);color:var(--amber-ink)}.note-amber .ico{color:var(--amber-ink)}
.note-red{background:var(--red-tint);color:var(--red-ink)}.note-red .ico{color:var(--red-ink)}

/* ---------- the Ask box ---------- */
.askbox{background:var(--surface);border:1px solid var(--hair);border-radius:20px;padding:7px}
.ask-in{background:var(--panel);border:1px solid var(--hair);border-radius:14px;padding:12px 14px 10px;box-shadow:var(--shadow-2)}
.askbox:focus-within .ask-in{outline:2px solid var(--ink)}
.ask-in textarea{display:block;width:100%;border:0;outline:0;resize:none;background:transparent;font-size:15.5px;line-height:24px;color:var(--ink);height:26px;max-height:180px;padding:0}
.ask-in textarea::placeholder{color:#7C8888}
.ask-row{display:flex;align-items:center;gap:8px;margin-top:8px}
.ask-row .mode{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:14px;background:var(--surface);font-size:13px;font-weight:500;border:0}
.ask-row .mode .ico{width:14px;height:14px;color:var(--green-text)}
.ask-go{margin-left:auto;width:34px;height:34px;border-radius:50%;border:0;background:var(--green);color:var(--ink);display:grid;place-items:center;flex:none}
.ask-go:hover{background:var(--green-hover)}.ask-go .ico{stroke-width:2.25}.ask-go[disabled]{background:var(--surface);color:#8A9696;cursor:default}
.ask-strip{padding:7px 8px 1px;font-size:12.5px;line-height:18px;color:var(--muted)}
.askbox-big{border-radius:22px;padding:8px;background:var(--panel);border:0}
.askbox-big .ask-in{border-radius:16px;padding:20px 20px 16px}
.askbox-big .ask-in textarea{font-size:20px;line-height:30px;font-weight:500;letter-spacing:-.01em;height:34px}
.askbox-big .ask-go{width:36px;height:36px}
.askbox-big .ask-strip{background:transparent}
.suggest{display:flex;flex-wrap:wrap;gap:8px}
.suggest button{appearance:none;border:1px solid var(--hair);background:var(--panel);height:34px;padding:0 13px;border-radius:var(--r-pill);font-size:14px;color:var(--ink);box-shadow:var(--shadow-1)}
.suggest button:hover{background:var(--surface)}

/* ---------- overlays: drawer, dialog, popover, menu, toast ---------- */
.scrim{position:fixed;inset:0;background:rgba(2,32,31,.40);z-index:80;opacity:0;transition:opacity .2s var(--ease)}
.scrim.in{opacity:1}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(560px,100vw);z-index:81;background:var(--panel);border-radius:var(--r-panel) 0 0 var(--r-panel);box-shadow:var(--shadow-pop);display:flex;flex-direction:column;transform:translateX(24px);opacity:0;transition:transform .22s var(--ease),opacity .22s var(--ease)}
.drawer.in{transform:none;opacity:1}
.dr-head{display:flex;align-items:flex-start;gap:12px;padding:20px 20px 14px;border-bottom:1px solid var(--line)}
.dr-head h2{font-size:18px;line-height:26px;font-weight:600;letter-spacing:-.01em}.dr-head p{font-size:14px;line-height:20px;color:var(--muted);margin-top:2px}
.dr-body{flex:1;min-height:0;overflow:auto;padding:20px}
.dr-foot{display:flex;align-items:center;gap:10px;justify-content:flex-end;padding:14px 20px;border-top:1px solid var(--line);background:var(--surface-2);border-radius:0}
.dr-foot .left{margin-right:auto}
.dialog{position:fixed;left:50%;top:50%;width:min(440px,calc(100vw - 32px));z-index:82;transform:translate(-50%,-46%);opacity:0;background:var(--panel);border-radius:var(--r-panel);box-shadow:var(--shadow-pop);padding:22px;transition:transform .2s var(--ease),opacity .2s var(--ease)}
.dialog.in{transform:translate(-50%,-50%);opacity:1}
.dialog h2{font-size:18px;line-height:26px;font-weight:600}.dialog p{margin-top:6px;color:var(--muted);font-size:14.5px;line-height:22px}.dialog .acts{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}
.pop{position:fixed;z-index:90;background:var(--panel);border-radius:12px;box-shadow:var(--shadow-pop);min-width:200px;max-width:min(380px,calc(100vw - 16px));opacity:0;transform:translateY(-4px);transition:opacity .15s var(--ease),transform .15s var(--ease)}
.pop.in{opacity:1;transform:none}
.menu{padding:6px}
.menu-i{display:flex;align-items:center;gap:10px;width:100%;min-height:36px;padding:0 10px;border:0;border-radius:8px;background:none;font-size:14px;text-align:left;text-decoration:none;color:var(--ink)}
.menu-i:hover,.menu-i:focus-visible{background:var(--surface);outline:0}
.menu-i .ico{width:16px;height:16px;color:var(--muted)}.menu-i.danger{color:var(--error)}.menu-i.danger .ico{color:var(--error)}
.menu-sep{height:1px;background:var(--line);margin:6px 4px}
.menu-lbl{padding:6px 10px 4px;font-size:12.5px;color:var(--muted)}
.toasts{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:100;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none;width:max-content;max-width:calc(100vw - 24px)}
.toast{pointer-events:auto;display:flex;align-items:center;gap:12px;min-height:48px;padding:8px 8px 8px 16px;background:var(--ink);color:#fff;border-radius:12px;box-shadow:var(--shadow-pop);font-size:14.5px;line-height:20px;animation:tin .2s var(--ease)}
.toast .ico{width:18px;height:18px;color:#8EDD5A}
.toast .t-undo{appearance:none;border:0;background:rgba(255,255,255,.12);color:#fff;height:32px;padding:0 12px;border-radius:8px;font-weight:600;font-size:14px;display:inline-flex;align-items:center;gap:6px}
.toast .t-undo:hover{background:rgba(255,255,255,.22)}
.toast .t-undo:focus-visible{outline-color:#8EDD5A}
.toast .t-x{appearance:none;border:0;background:none;color:#B9C9C6;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;padding:0}
.toast .t-x:hover{background:rgba(255,255,255,.12);color:#fff}
.toast.out{opacity:0;transform:translateY(6px);transition:opacity .18s,transform .18s}
@keyframes tin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ---------- command bar ---------- */
.pal{position:fixed;left:50%;top:max(56px,11vh);width:min(640px,calc(100vw - 24px));z-index:95;background:var(--panel);border-radius:var(--r-panel);box-shadow:var(--shadow-pop);overflow:hidden;transform:translate(-50%,-8px);opacity:0;transition:transform .18s var(--ease),opacity .18s var(--ease)}
.pal.in{transform:translate(-50%,0);opacity:1}
.pal-in{display:flex;align-items:center;gap:12px;padding:0 16px;height:56px;border-bottom:1px solid var(--line)}
.pal-in .ico{color:var(--muted)}
.pal-in input{flex:1;min-width:0;border:0;outline:0;background:none;font-size:17px;height:100%}
.pal-list{max-height:min(60vh,440px);overflow:auto;padding:6px 8px 8px}
.pal-grp{padding:10px 10px 4px;font-size:12.5px;line-height:16px;color:var(--muted);font-weight:500}
.pal-i{display:flex;align-items:center;gap:12px;min-height:46px;padding:6px 10px;border-radius:10px;text-decoration:none;color:var(--ink);cursor:pointer}
.pal-i .pi{width:28px;height:28px;border-radius:8px;background:var(--surface);display:grid;place-items:center;flex:none}.pal-i .pi .ico{width:16px;height:16px}
.pal-i .tx{flex:1;min-width:0;font-size:14.5px;line-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pal-i .tx b{font-weight:600}
.pal-i .sb{font-size:13px;color:var(--muted);white-space:nowrap;max-width:45%;overflow:hidden;text-overflow:ellipsis}
.pal-i[aria-selected="true"]{background:var(--surface)}
.pal-i.ask .pi{background:var(--tint);color:var(--green-text)}
.pal-foot{display:flex;gap:16px;align-items:center;padding:10px 16px;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted);background:var(--surface-2)}
.pal-none{padding:22px 16px;color:var(--muted);font-size:14.5px}

/* ---------- date picker, drop zone ---------- */
.dfield{position:relative}
.dfield-btn{display:flex;align-items:center;gap:10px;width:100%;height:40px;padding:0 12px;border:1px solid var(--hair);border-radius:var(--r-ctl);background:var(--panel);font-size:15px;text-align:left;box-shadow:var(--shadow-1)}
.dfield-btn:hover{border-color:#B9C3CF}.dfield-btn[aria-expanded="true"]{border-color:var(--ink);box-shadow:0 0 0 3px rgba(3,48,48,.12)}
.dfield-btn .ico{color:var(--muted)}.dfield-btn .ph{color:#7C8888}
.dp{width:300px;padding:12px}
.dp-head{display:flex;align-items:center;gap:6px;margin-bottom:8px}.dp-head b{flex:1;text-align:center;font-size:14.5px;font-weight:600}
.dp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.dp-dow{height:28px;display:grid;place-items:center;font-size:12px;color:var(--muted);font-weight:500}
.dp-d{appearance:none;border:0;background:none;height:38px;border-radius:8px;font-size:14px;display:grid;place-items:center;position:relative}
.dp-d:hover{background:var(--surface)}.dp-d.out{color:#9AA5A5}.dp-d.today{box-shadow:inset 0 0 0 1px var(--ink)}
.dp-d[aria-selected="true"]{background:var(--ink);color:#fff;font-weight:600}.dp-d[disabled]{color:#C3CBCB;cursor:default;background:none}
.dp-quick{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:32px 20px;border:1.5px solid var(--hair);border-radius:var(--r-card);background:var(--surface-2);cursor:pointer;transition:background-color .15s,border-color .15s}
.drop:hover{background:var(--surface);border-color:#B9C3CF}
.drop.over{background:var(--tint);border:2px solid var(--green-word);padding:31px 19px}
.drop .dico{width:44px;height:44px;border-radius:50%;background:var(--panel);box-shadow:0 0 0 1px var(--hair);display:grid;place-items:center;margin-bottom:4px}
.drop b{font-size:15px;font-weight:600}.drop span{font-size:13.5px;color:var(--muted)}
.drop input{position:absolute;width:1px;height:1px;opacity:0}
.files{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.file{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--hair);border-radius:10px;background:var(--panel);font-size:14px}
.file .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.file .sz{color:var(--muted);font-size:13px}

/* ---------- document canvas ---------- */
.doc-stage{background:var(--surface);border-radius:var(--r-panel);padding:28px;display:flex;justify-content:center;overflow:auto}
.doc{width:794px;max-width:100%;min-height:1000px;background:#fff;box-shadow:0 1px 3px rgba(3,48,48,.12),0 12px 32px -16px rgba(3,48,48,.25);padding:56px 60px;color:#14282B}
.doc-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:20px;border-bottom:1px solid #D3DAE4}
.doc-head img{width:150px;height:auto}.doc-head .meta{text-align:right;font-size:12.5px;line-height:18px;color:var(--muted)}
.doc h1{font-size:28px;line-height:34px;font-weight:600;letter-spacing:-.02em;margin-top:26px}
.doc h2{font-size:15px;line-height:22px;font-weight:600;margin:26px 0 6px;color:var(--ink)}
.doc p,.doc li{font-size:13.5px;line-height:21px}.doc ul{display:flex;flex-direction:column;gap:4px;padding-left:18px;list-style:disc}
.doc [contenteditable]{border-radius:6px;outline:0;margin:0 -6px;padding:2px 6px}
.doc [contenteditable]:hover{background:var(--surface-2)}.doc [contenteditable]:focus{background:var(--tint);box-shadow:0 0 0 2px var(--tint-line)}
.doc .foot{margin-top:36px;padding-top:14px;border-top:1px solid #D3DAE4;font-size:12px;color:var(--muted);display:flex;justify-content:space-between;gap:12px}
@media print{body{background:#fff}.shell>.rail,.topbar,.no-print{display:none!important}.doc-stage{padding:0;background:none}.doc{box-shadow:none}}

/* ---------- app shell ---------- */
.app-body:not(.shell-ready){visibility:hidden;animation:shellfail 0s 2.5s forwards}
@keyframes shellfail{to{visibility:visible}}
.shell{display:grid;grid-template-columns:var(--rail-w) minmax(0,1fr);height:100vh;height:100dvh}
.rail{background:var(--ink);color:#fff;display:flex;flex-direction:column;padding:16px 12px 12px;min-height:0;overflow:auto}
.rail .logo{display:block;padding:4px 10px 18px}.rail .logo img{width:118px;height:26px}
.rail nav{display:flex;flex-direction:column;gap:2px}
.rail a.ni{display:flex;align-items:center;gap:12px;height:40px;padding:0 10px;border-radius:var(--r-ctl);font-size:14.5px;font-weight:500;color:#D5E0DE;text-decoration:none}
.rail a.ni:hover{background:rgba(255,255,255,.07)}
.rail a.ni[aria-current="page"]{background:rgba(255,255,255,.13);color:#fff}
.rail a.ni .cnt{margin-left:auto;min-width:22px;height:20px;padding:0 7px;border-radius:var(--r-pill);background:rgba(255,255,255,.14);font-size:12px;font-weight:600;display:grid;place-items:center;color:#fff}
.rail :focus-visible{outline-color:#8EDD5A}
.rail .sep{height:1px;background:rgba(255,255,255,.12);margin:10px 10px}
.rail .rail-bot{margin-top:auto;display:flex;flex-direction:column;gap:2px;padding-top:12px}
.rail .me{display:flex;align-items:center;gap:10px;width:100%;padding:10px;margin-top:8px;border:0;border-top:1px solid rgba(255,255,255,.12);border-radius:0 0 var(--r-ctl) var(--r-ctl);background:none;color:#fff;text-align:left}
.rail .me:hover{background:rgba(255,255,255,.07)}
.rail .me b{display:block;font-size:14px;line-height:18px;font-weight:600}.rail .me span.s{display:block;font-size:12.5px;line-height:16px;color:#B9C9C6}
.rail .me .ico{margin-left:auto;color:#B9C9C6;width:16px;height:16px}
.shell-main{display:flex;flex-direction:column;min-width:0;min-height:0}
.topbar{height:var(--top-h);flex:none;display:flex;align-items:center;gap:12px;padding:0 28px}
.tb-logo,.tb-menu,.tb-ico-search{display:none}
.crumb{display:flex;align-items:center;gap:6px;font-size:13.5px;line-height:18px;color:var(--muted);min-width:0}
.crumb a{color:var(--muted);text-decoration:none;white-space:nowrap}.crumb a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.crumb .ico{width:14px;height:14px;flex:none}.crumb .cur{color:var(--ink);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tb-search{display:flex;align-items:center;gap:10px;width:340px;max-width:40vw;height:38px;padding:0 8px 0 12px;border:1px solid var(--hair);border-radius:10px;background:var(--panel);color:var(--muted);font-size:14px;box-shadow:var(--shadow-1);text-align:left}
.tb-search:hover{border-color:#B9C3CF}.tb-search span.t{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tb-bell{position:relative}
.tb-bell .pip{position:absolute;top:6px;right:7px;width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 0 2px var(--ground)}
.shell-body{flex:1;min-height:0;display:flex}
.app-main{flex:1;min-width:0;min-height:0;overflow:auto;outline:0;scroll-behavior:auto;position:relative}
.page{max-width:1240px;margin:0 auto;padding:12px 28px 48px}
.page-head{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.page-head h1{font-size:22px;line-height:28px;font-weight:600;letter-spacing:-.015em}.page-head p{font-size:14.5px;line-height:22px;color:var(--muted);margin-top:2px}
.page-head .acts{margin-left:auto;display:flex;gap:8px;align-items:center}
.sec-h{display:flex;align-items:center;gap:10px;margin:28px 0 12px}.sec-h h2{font-size:16px;line-height:24px;font-weight:600}
.sidepanel{width:400px;flex:none;margin:0 12px 12px 0;background:var(--panel);border-radius:var(--r-panel);box-shadow:var(--shadow-2);border:1px solid var(--hair);display:flex;flex-direction:column;overflow:hidden;min-height:0}
.sp-head{display:flex;align-items:center;gap:12px;padding:14px 14px 14px 18px;border-bottom:1px solid var(--line)}
.sp-head .tt{flex:1;min-width:0}.sp-head h2{font-size:17px;line-height:24px;font-weight:600;letter-spacing:-.01em}.sp-head p{font-size:13.5px;line-height:18px;color:var(--muted)}
.sp-body{flex:1;min-height:0;overflow:auto;padding:18px}
.sp-foot{display:flex;flex-direction:column;gap:8px;padding:14px 18px;border-top:1px solid var(--line)}
.sp-body .sec{font-size:13px;font-weight:500;color:var(--muted);margin:18px 0 8px}.sp-body .sec:first-child{margin-top:0}
.sp-body .rows{display:flex;flex-direction:column}.sp-body .rw{display:flex;gap:12px;align-items:baseline;min-height:34px;padding:6px 0;border-bottom:1px solid var(--line)}
.sp-body .rw dt{width:110px;flex:none;font-size:13.5px;color:var(--muted)}.sp-body .rw dd{font-size:14.5px;font-weight:500;min-width:0}
.ask-dock{flex:none;padding:8px 28px 16px;background:linear-gradient(to top,var(--ground) 70%,rgba(228,233,241,0))}
@media (max-width:1179px){
  .sidepanel{position:fixed;z-index:70;right:0;top:0;bottom:0;margin:0;width:min(420px,100vw);border-radius:var(--r-panel) 0 0 var(--r-panel);box-shadow:var(--shadow-pop)}
}
@media (max-width:1023px){
  .shell{display:block}
  .shell-main{height:100vh;height:100dvh}
  .rail{position:fixed;z-index:85;left:0;top:0;bottom:0;width:min(300px,86vw);transform:translateX(-102%);transition:transform .22s var(--ease);box-shadow:var(--shadow-pop)}
  body.rail-open .rail{transform:none}
  .rail-scrim{display:block}
  .topbar{background:var(--ink);color:#fff;padding:0 8px 0 14px;gap:4px}
  .topbar .crumb,.topbar .tb-search{display:none}
  .tb-logo{display:block;margin-right:auto}.tb-logo img{width:118px;height:26px}
  .tb-menu,.tb-ico-search{display:inline-flex}
  .topbar .btn-quiet{color:#fff}.topbar .btn-quiet:hover{background:rgba(255,255,255,.12)}
  .tb-bell .pip{box-shadow:0 0 0 2px var(--ink)}
  .topbar :focus-visible{outline-color:#8EDD5A}
}
.rail-scrim{display:none;position:fixed;inset:0;background:rgba(2,32,31,.45);z-index:84;opacity:0;pointer-events:none;transition:opacity .2s}
body.rail-open .rail-scrim{opacity:1;pointer-events:auto}
@media (min-width:1024px){.rail-scrim{display:none!important}}
@media (max-width:760px){
  .page{padding:8px 16px 40px}
  .page-head .acts{margin-left:0;width:100%}
  .field-row{grid-template-columns:1fr}
  .drawer{width:100vw;border-radius:0}
  .dp{width:min(300px,calc(100vw - 16px))}
  .pc-why,.pc-foot{margin-left:0}
  .pc-top{flex-wrap:wrap}
  .pc-top .meter{width:100%;order:9}
  .pipe{grid-template-columns:repeat(4,minmax(0,1fr))}
  .ask-dock{padding:8px 12px 12px}
  .toasts{bottom:12px}
  .doc{padding:28px 22px}
  .doc-stage{padding:12px}
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tbl-foot{flex-direction:column;align-items:stretch}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}
