/* ana-kit 1.0 — piese comune pentru dashboard-urile Anei (tablă pe etape, fișă cu tab-uri, oameni, istoric, conversație, modal, toast, câmpuri).
   Copie versionată: un proiect își actualizează kitul doar când cere. Piele: <html data-skin="anaudr"> sau "avocatoo".
   Generic: fără nume de proiect. Culorile etapelor: --s1..--s8 (+ --s1b..--s8b fundal). */

:root,[data-skin]{
  --accent:#385cad; --accent2:#3bd4ae; --ink:#14181b; --bg:#eef1f7; --panel:#fff; --line:#e0e5ef; --muted:#646a8a; --soft:#f6f8fc;
  --ok:#0f7a52; --ok-b:#f2fcf6; --ok-l:#bfe6d2; --late:#c0392b; --late-b:#fdecea; --warn:#8a5a00; --warn-b:#fff1d6;
  --hi:#FFD55A; --in-b:#eef0f5; --out-b:#e8eefb;
  --s1:#646a8a; --s1b:#eef1f7; --s2:#385cad; --s2b:#e8eefb; --s3:#b9791a; --s3b:#fdf3e2; --s4:#6b52c9; --s4b:#efeaf7;
  --s5:#0f7a52; --s5b:#e3f6ee; --s6:#0b7f8f; --s6b:#e1f5f7; --s7:#2f6b1f; --s7b:#e6f4df; --s8:#8a8fa6; --s8b:#f0f1f5;
  --font:Inter,system-ui,-apple-system,sans-serif; --display:'Archivo Black',system-ui,sans-serif; --serif:Fraunces,Georgia,serif; --mono:'DM Mono',ui-monospace,monospace;
  --radius:14px; --shadow:0 1px 2px rgba(20,24,27,.06),0 8px 24px rgba(20,24,27,.06);
  --tabbar-h:62px;
}
[data-skin="avocatoo"]{
  --accent:#385cad; --accent2:#3bd4ae; --ink:#14181b; --bg:#eef1f7; --line:#e0e5ef; --muted:#646a8a; --soft:#f6f8fc;
  --out-b:#e8eefb;
}
[data-skin="anaudr"]{
  --accent:#C44DD4; --accent2:#89e6b4; --ink:#1A0A2E; --bg:#F4F1FB; --panel:#fff; --line:#ece6f3; --muted:#5d5674; --soft:#faf7fd;
  --hi:#FFD55A; --lav:#a4aaff; --mint:#89e6b4; --eblue:#4A9EFF; --coral:#F47C7C; --pink:#FFD6E2;
  --ok:#0f7a52; --ok-b:#f2fcf6; --ok-l:#bfe9d2; --late:#c0264b; --late-b:#ffe8ef; --warn:#8a5a00; --warn-b:#fff4cf;
  --in-b:#f0edf6; --out-b:#f8e9fa;
  --s1:#8B5CF6; --s1b:#f1ebff; --s2:#4A9EFF; --s2b:#e6f1ff; --s3:#FF7A29; --s3b:#fff0e5; --s4:#C44DD4; --s4b:#f8e9fa;
  --s5:#0f7a52; --s5b:#e3f6ee; --s6:#1f8a9e; --s6b:#e0f4f7; --s7:#2f7d32; --s7b:#e5f5e0; --s8:#8a849c; --s8b:#efedf3;
}

/* ---------- bază ---------- */
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body.k-app{margin:0;background:var(--bg);color:var(--ink);font:15px/1.45 var(--font);overflow-x:hidden}
.k-app a{color:var(--accent)}
.k-app button,.k-app input,.k-app select,.k-app textarea{font-family:inherit;color:inherit}
.k-mono{font-family:var(--mono)}
.k-muted{color:var(--muted)}
.k-logo{font-family:var(--display);font-size:18px;letter-spacing:-.3px;white-space:nowrap}
.k-logo b{color:var(--accent);font-weight:400}
.k-logo i{font-style:normal;background:var(--hi);border:2px solid var(--ink);border-radius:7px;padding:0 6px;display:inline-block;transform:rotate(-2deg);margin-right:4px}
.k-h1{font-family:var(--display);font-size:22px;letter-spacing:-.4px;line-height:1.15;margin:0;overflow-wrap:anywhere}
.k-h1 em{font:italic 700 1.05em var(--serif);color:var(--accent)}
.k-sub{font:500 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.k-sec{font:500 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:20px 2px 8px;display:flex;align-items:center;gap:8px}
.k-sec .n{font-weight:600;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:0 7px;letter-spacing:0}
.k-empty{font-size:13.5px;color:var(--muted);padding:12px 4px}
.k-loader{padding:50px 16px;text-align:center;color:var(--muted)}

/* ---------- butoane, pastile, chip-uri ---------- */
.k-btn{font:600 13.5px var(--font);border:1.5px solid var(--line);background:#fff;color:var(--ink);border-radius:10px;padding:9px 13px;cursor:pointer;display:inline-flex;gap:6px;align-items:center;justify-content:center;white-space:nowrap;text-decoration:none;min-height:40px}
.k-app a.k-btn{color:var(--ink)}
.k-btn:hover{border-color:var(--accent)}
.k-btn:disabled{opacity:.55;cursor:wait}
.k-btn.pri,.k-app a.k-btn.pri{background:var(--accent);border-color:var(--accent);color:#fff}
.k-btn.ink,.k-app a.k-btn.ink{background:var(--ink);border-color:var(--ink);color:#fff}
.k-btn.ok{background:var(--ok-b);border-color:var(--ok-l);color:var(--ok)}
.k-btn.bad{background:var(--late-b);border-color:var(--late-b);color:var(--late)}
.k-btn.sm{padding:6px 10px;font-size:12.5px;border-radius:8px;min-height:34px}
.k-btn.ghost{border-color:transparent;background:none;color:var(--accent);padding-left:4px;padding-right:4px}
.k-btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.k-btns.fill>*{flex:1 1 0;min-width:0}
.k-pill{display:inline-block;font:600 11.5px var(--font);padding:2px 8px;border-radius:99px;background:var(--soft);color:var(--muted);white-space:nowrap;border:1px solid var(--line)}
.k-pill.late{background:var(--late-b);color:var(--late);border-color:transparent}
.k-pill.warn{background:var(--warn-b);color:var(--warn);border-color:transparent}
.k-pill.ok{background:var(--ok-b);color:var(--ok);border-color:var(--ok-l)}
.k-pill.acc{background:var(--out-b);color:var(--accent);border-color:transparent}
.k-pill.stage{background:var(--b);color:var(--c);border-color:transparent}
.k-chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px;-webkit-overflow-scrolling:touch}
.k-chips::-webkit-scrollbar{display:none}
.k-chips.wrap{flex-wrap:wrap;overflow:visible}
.k-chip{flex-shrink:0;font:600 13px var(--font);border:1.5px solid var(--line);border-radius:20px;padding:6px 12px;background:#fff;color:var(--muted);cursor:pointer;text-decoration:none;display:inline-flex;gap:6px;align-items:center;max-width:100%;overflow-wrap:anywhere}
.k-chip.on{background:var(--ink);border-color:var(--ink);color:#fff}
.k-chip.static{cursor:default;font-weight:500;color:var(--ink);border-width:1px;border-radius:8px;padding:4px 8px;font-size:12.5px}
.k-chip .x{border:0;background:none;color:var(--muted);cursor:pointer;padding:0 0 0 2px;font-size:14px;line-height:1}
.k-seg{display:flex;background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:3px;gap:2px}
.k-seg button{flex:1;border:0;background:none;border-radius:9px;padding:8px 10px;font:600 13.5px var(--font);color:var(--muted);cursor:pointer;white-space:nowrap}
.k-seg button.on{background:var(--ink);color:#fff}
.k-switch{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;cursor:pointer;user-select:none;border:1.5px solid var(--line);border-radius:20px;padding:4px 11px 4px 4px;background:#fff;color:var(--ink)}
.k-switch .sw{width:30px;height:18px;border-radius:10px;background:#d5d8e3;position:relative;transition:.15s;flex-shrink:0}
.k-switch .sw:after{content:'';position:absolute;left:2px;top:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:.15s}
.k-switch.on{border-color:var(--accent2);background:var(--ok-b)}.k-switch.on .sw{background:var(--accent2)}.k-switch.on .sw:after{left:14px}

/* ---------- câmpuri (se salvează la ieșire) ---------- */
.k-fld{display:flex;flex-direction:column;gap:4px;min-width:0}
.k-fld>label{font-size:12px;color:var(--muted);font-weight:600}
.k-fld input,.k-fld select,.k-fld textarea,.k-input{border:1.5px solid var(--line);border-radius:9px;padding:9px 10px;font:15px var(--font);width:100%;background:#fff;min-width:0}
.k-fld textarea,textarea.k-input{resize:vertical;min-height:90px;line-height:1.45}
.k-fld input:focus,.k-fld select:focus,.k-fld textarea:focus,.k-input:focus{outline:none;border-color:var(--accent)}
.k-fld.saving input,.k-fld.saving select,.k-fld.saving textarea{border-color:var(--warn)}
.k-fld.saved input,.k-fld.saved select,.k-fld.saved textarea{border-color:var(--ok)}
.k-fld.err input,.k-fld.err select,.k-fld.err textarea{border-color:var(--late);background:var(--late-b)}
.k-fld .hint{font-size:11.5px;color:var(--muted)}
.k-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.k-grid .full{grid-column:1/-1}

/* ---------- rânduri / carduri de listă ---------- */
.k-row{display:block;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:11px 13px;margin-bottom:8px;box-shadow:0 1px 2px rgba(20,24,27,.04);color:var(--ink);text-decoration:none;min-width:0}
.k-app a.k-row{color:var(--ink)}
.k-row.tap{cursor:pointer}
.k-row.tap:hover{border-color:var(--accent)}
.k-row .t{font-weight:700;font-size:14.5px;line-height:1.3;overflow-wrap:anywhere}
.k-row .m{font-size:12.5px;color:var(--muted);margin-top:2px;overflow-wrap:anywhere}
.k-row .q{font-size:13px;color:var(--ink);margin-top:4px;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.k-row .pills{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}
.k-row .side{float:right;margin-left:8px;font:500 11.5px var(--mono);color:var(--muted)}
.k-check{display:flex;gap:10px;align-items:flex-start}
.k-check input[type=checkbox]{width:22px;height:22px;accent-color:var(--accent);flex-shrink:0;margin:1px 0 0;cursor:pointer}
.k-check .body{flex:1;min-width:0}
.k-check.done .t{text-decoration:line-through;color:var(--muted)}

/* ---------- banner ---------- */
.k-banner{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:var(--late-b);color:var(--late);border:1.5px solid var(--late);border-radius:12px;padding:10px 12px;margin-bottom:10px;font-size:13.5px;font-weight:600}
.k-banner .k-btn{margin-left:auto}

/* ---------- tablă pe etape (kanban) ---------- */
.k-coltabs{display:none}
.k-board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(210px,1fr);gap:10px;overflow-x:auto;padding-bottom:6px;align-items:start}
.k-col{background:var(--b);border-radius:16px;padding:9px;min-width:0}
.k-col .ch{display:flex;align-items:baseline;gap:6px;padding:3px 5px 4px}
.k-col .ch h3{margin:0;font-size:13.5px;font-weight:700;color:var(--c)}
.k-col .ch .n{font:600 12px var(--mono);color:var(--c);margin-left:auto}
.k-col .sum{font:800 15px var(--serif);color:var(--c);padding:0 5px 8px}
.k-col .cards{display:grid;gap:7px}
.k-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:9px 10px;cursor:pointer;box-shadow:0 1px 2px rgba(20,24,27,.05);transition:.1s;color:var(--ink);text-decoration:none;display:block;min-width:0}
.k-app a.k-card{color:var(--ink)}
.k-card:hover{border-color:var(--c,var(--accent));transform:translateY(-1px)}
.k-card.sel{border-color:var(--c);box-shadow:0 0 0 2px var(--c)}
.k-card .nm{font-weight:700;font-size:13.5px;line-height:1.25;overflow-wrap:anywhere}
.k-card .val{font:800 16px var(--serif);color:var(--c,var(--accent));margin-top:2px}
.k-card .who{font-size:12px;color:var(--muted);margin-top:3px;overflow-wrap:anywhere}
.k-next{display:flex;gap:6px;align-items:baseline;margin-top:7px;font-size:12px;font-weight:600;color:var(--ink);background:var(--soft);border-radius:8px;padding:4px 7px;overflow-wrap:anywhere}
.k-next.late{background:var(--late-b);color:var(--late)}
.k-next.today{background:var(--warn-b);color:var(--warn)}
.k-col .empty{font-size:12.5px;color:var(--muted);padding:6px 5px}
@media(max-width:899px){
  .k-board{display:block;overflow:visible}
  .k-board .k-col{display:none}
  .k-board .k-col.cur{display:block}
  .k-coltabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin-bottom:10px;padding-bottom:2px}
  .k-coltabs::-webkit-scrollbar{display:none}
  .k-ct{flex-shrink:0;border:1.5px solid var(--line);background:#fff;border-radius:22px;padding:7px 12px;font:600 13px var(--font);color:var(--muted);cursor:pointer;display:flex;gap:6px;align-items:center}
  .k-ct b{font:600 11px var(--mono);padding:1px 6px;border-radius:10px;background:var(--b);color:var(--c)}
  .k-ct.on{background:var(--c);border-color:var(--c);color:#fff}
  .k-ct.on b{background:#fff}
}

/* ---------- fișă cu tab-uri (pagină sau sertar) ---------- */
.k-sheet{background:var(--panel);border-radius:18px;box-shadow:var(--shadow);overflow:hidden;min-width:0}
.k-dtop{padding:14px 16px 0;border-bottom:1px solid var(--line)}
.k-dtop .row{display:flex;gap:10px;align-items:flex-start}
.k-dtop h2{margin:0;font-family:var(--display);font-size:20px;letter-spacing:-.3px;line-height:1.2;flex:1;min-width:0;overflow-wrap:anywhere;font-weight:400}
.k-meta{font:500 11.5px var(--mono);color:var(--muted);margin-top:4px;overflow-wrap:anywhere}
.k-stages{display:flex;gap:5px;flex-wrap:wrap;margin-top:9px}
.k-stages button{border:1.5px solid var(--line);background:#fff;border-radius:20px;padding:4px 10px;font:600 12px var(--font);color:var(--muted);cursor:pointer}
.k-stages button.on{background:var(--c,var(--accent));border-color:var(--c,var(--accent));color:#fff}
.k-tabs{display:flex;gap:2px;margin-top:10px;overflow-x:auto;scrollbar-width:none}
.k-tabs::-webkit-scrollbar{display:none}
.k-tab{border:0;background:none;padding:10px 11px;font:600 13.5px var(--font);color:var(--muted);border-bottom:2.5px solid transparent;cursor:pointer;white-space:nowrap}
.k-tab.on{color:var(--ink);border-bottom-color:var(--accent)}
.k-body{padding:14px 16px 20px;min-width:0}
.k-body>h4,.k-h4{margin:18px 0 8px;font:500 11px var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}
.k-body>h4:first-child{margin-top:0}
.k-x{border:0;background:var(--soft);border-radius:50%;width:36px;height:36px;font-size:18px;cursor:pointer;flex-shrink:0;color:var(--ink)}

/* ---------- sertar: lateral pe desktop, de jos pe telefon ---------- */
.k-scrim{position:fixed;inset:0;background:rgba(20,24,27,.32);opacity:0;pointer-events:none;transition:.18s;z-index:60}
.k-scrim.on{opacity:1;pointer-events:auto}
.k-drawer{position:fixed;top:0;right:0;bottom:0;width:min(560px,100vw);background:var(--panel);z-index:61;transform:translateX(100%);transition:transform .2s ease;display:flex;flex-direction:column;box-shadow:-10px 0 30px rgba(20,24,27,.14)}
.k-drawer.on{transform:none}
.k-drawer .k-dtop{padding-top:calc(14px + env(safe-area-inset-top));padding-bottom:12px}
.k-drawer .k-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:calc(24px + env(safe-area-inset-bottom))}
@media(max-width:699px){
  .k-drawer{top:auto;left:0;width:100vw;max-height:92vh;border-radius:18px 18px 0 0;transform:translateY(100%)}
  .k-drawer .k-dtop{padding-top:14px}
}

/* ---------- oameni ---------- */
.k-person{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:8px;background:#fff}
.k-person .h{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.k-person .h b{font-size:14.5px;overflow-wrap:anywhere}
.k-person .h .r{font-size:12.5px;color:var(--muted);flex:1;min-width:0;overflow-wrap:anywhere}
.k-person .h .ed{border:0;background:none;color:var(--accent);font:600 12.5px var(--font);cursor:pointer;flex-shrink:0;margin-left:auto}
.k-person .k-chips{margin-top:7px;flex-wrap:wrap;overflow:visible}
.k-person.main{border-color:var(--accent2);background:var(--ok-b)}
.k-star{font-size:12px;font-weight:700;color:var(--ok)}

/* ---------- istoric (timeline) ---------- */
.k-tl{position:relative;margin-left:8px;padding-left:18px;border-left:2px solid var(--line)}
.k-ev{position:relative;margin-bottom:12px}
.k-ev:before{content:'';position:absolute;left:-25px;top:4px;width:12px;height:12px;border-radius:50%;background:#fff;border:2.5px solid var(--accent)}
.k-ev.sys:before{border-color:var(--muted)}
.k-ev .d{font:500 11.5px var(--mono);color:var(--muted)}
.k-ev .t{font-size:14px;margin-top:2px;white-space:pre-wrap;overflow-wrap:anywhere}
.k-ev.sys .t{color:var(--muted);font-size:12.5px}

/* ---------- conversație (mesaje stil chat) ---------- */
.k-thread{border:1px solid var(--line);border-radius:14px;margin-bottom:10px;background:#fff;overflow:hidden}
.k-thread.target{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}
.k-thread>summary{list-style:none;cursor:pointer;padding:11px 12px;display:block}
.k-thread>summary::-webkit-details-marker{display:none}
.k-thread>summary .t{font-weight:700;font-size:14px;overflow-wrap:anywhere}
.k-thread>summary .t:before{content:'+ ';color:var(--accent)}
.k-thread[open]>summary .t:before{content:'– '}
.k-thread>summary .m{font-size:12px;color:var(--muted);margin-top:3px;display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.k-thread .acts{display:flex;gap:6px;flex-wrap:wrap;padding:0 12px 10px}
.k-chat{display:flex;flex-direction:column;gap:10px;padding:10px 10px 12px;background:var(--soft);border-top:1px solid var(--line)}
.k-msg{max-width:88%;display:flex;flex-direction:column;gap:3px;min-width:0}
.k-msg.in{align-self:flex-start}
.k-msg.out{align-self:flex-end;align-items:flex-end}
.k-msg .who{font:500 11px var(--mono);color:var(--muted);overflow-wrap:anywhere;padding:0 4px}
.k-msg .bub{border-radius:16px;padding:9px 12px;font-size:14px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere;min-width:0;max-width:100%}
.k-msg.in .bub{background:var(--in-b);border-bottom-left-radius:5px}
.k-msg.out .bub{background:var(--out-b);border-bottom-right-radius:5px}
.k-msg .bub.clip{max-height:15em;overflow:hidden;-webkit-mask-image:linear-gradient(#000 70%,transparent);mask-image:linear-gradient(#000 70%,transparent)}
.k-msg .more{border:0;background:none;color:var(--accent);font:600 12.5px var(--font);cursor:pointer;padding:2px 4px}
.k-msg .att{display:flex;gap:5px;flex-wrap:wrap}
.k-msg .att span{font-size:12px;background:#fff;border:1px solid var(--line);border-radius:7px;padding:2px 7px;overflow-wrap:anywhere;max-width:100%}
.k-chat .older{align-self:center;border:1px dashed var(--line);background:#fff;border-radius:20px;padding:5px 12px;font:600 12.5px var(--font);color:var(--muted);cursor:pointer}

/* ---------- modal ---------- */
.k-modal{position:fixed;inset:0;background:rgba(20,24,27,.38);display:none;align-items:center;justify-content:center;z-index:70;padding:16px}
.k-modal.on{display:flex}
.k-modal .box{background:#fff;border-radius:18px;width:min(440px,100%);max-height:92vh;overflow:auto;padding:18px 18px 16px;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.k-modal h3{margin:0 0 8px;font-family:var(--display);font-size:17px;font-weight:400}
.k-modal p{margin:0;font-size:14px;overflow-wrap:anywhere}

/* ---------- toast ---------- */
.k-toast{position:fixed;bottom:calc(var(--tabbar-h) + 18px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:11px 18px;border-radius:11px;font-size:14px;font-weight:500;opacity:0;pointer-events:none;transition:.2s;z-index:80;max-width:min(90vw,480px);text-align:center}
.k-toast.show{opacity:1}
.k-toast.bad{background:var(--late)}

/* ---------- bara de tab-uri de jos (telefon) / sus (desktop) ---------- */
.k-tabbar{position:fixed;left:0;right:0;bottom:0;z-index:30;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-top:1px solid var(--line);display:flex;justify-content:space-around;padding:6px 4px calc(6px + env(safe-area-inset-bottom))}
.k-tabbar a{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:1px;text-decoration:none;color:var(--muted);font:600 11px var(--font);padding:4px 2px;border-radius:10px;position:relative}
.k-tabbar a .ic{font-size:19px;line-height:1.2}
.k-tabbar a.on{color:var(--accent)}
.k-tabbar a .badge{position:absolute;top:0;left:calc(50% + 6px);background:var(--late);color:#fff;font:700 10px var(--font);border-radius:9px;padding:1px 5px;min-width:16px;text-align:center}
@media(min-width:900px){
  .k-tabbar{position:sticky;top:0;bottom:auto;border-top:0;border-bottom:1px solid var(--line);justify-content:center;gap:4px;padding:6px 16px}
  .k-tabbar a{flex:0 0 auto;flex-direction:row;gap:7px;font-size:14px;padding:8px 14px}
  .k-tabbar a .ic{font-size:16px}
  .k-tabbar a.on{background:var(--out-b)}
  .k-tabbar a .badge{position:static}
  .k-toast{bottom:24px}
}

@media(max-width:699px){
  .k-grid{grid-template-columns:1fr}
  .k-fld input,.k-fld select,.k-fld textarea,.k-input{font-size:16px}
}
