/* ============================================================
   AIŠKU — dizaino sistema (Variantas A)
   ============================================================ */
:root{
  --blue:#2456b8; --blue-050:#eef3fb; --blue-100:#f0f4fb;
  --green:#157a4a; --green-bg:#edf7f1; --green-border:#cfe9db; --green-ink:#0f5136;
  --ink:#111827; --ink2:#1a2233;
  --muted:#475569; --muted2:#64748b; --muted3:#94a3b8; --ph:#9aa6b6;
  --border:#e2e8f0; --field-border:#d5dde7; --bg:#f4f6f9; --red:#c0392b; --white:#fff;
  --shadow-btn:0 8px 20px -6px rgba(36,86,184,.5);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:'Libre Franklin',system-ui,-apple-system,sans-serif;
  background:var(--bg); color:var(--ink);
  -webkit-font-smoothing:antialiased;
}
.mono{font-family:'JetBrains Mono',monospace}
.hidden{display:none !important}

/* App container: full-bleed on phone, centered card on desktop */
.app{max-width:480px;margin:0 auto;min-height:100dvh;background:var(--bg);position:relative;display:flex;flex-direction:column}
@media(min-width:520px){ .app{ box-shadow:0 0 0 1px var(--border) } }

.pad{padding:16px 22px}
.stack{display:flex;flex-direction:column;gap:16px}
.grow{flex:1}
.center-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 40px;gap:16px}

/* ---- Buttons ---- */
.btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:64px;border:none;border-radius:14px;
  background:var(--blue);color:#fff;font:700 20px 'Libre Franklin',sans-serif;cursor:pointer;box-shadow:var(--shadow-btn);
  text-decoration:none;transition:transform .05s}
.btn:active{transform:translateY(1px)}
.btn:disabled{opacity:.55;cursor:default;box-shadow:none}
.btn.secondary{background:#fff;color:var(--ink2);border:1.5px solid var(--field-border);box-shadow:none;height:60px;font-size:19px}
.btn.ghost{background:var(--blue-050);color:var(--blue);border:1.5px dashed #9cb6e0;box-shadow:none;height:56px;font-size:18px}
.btn.danger-txt{background:none;box-shadow:none;color:var(--red);width:auto;height:auto;font:600 15px 'Libre Franklin';padding:4px}

/* ---- Fields ---- */
.label{font:600 15px 'Libre Franklin',sans-serif;color:var(--muted);margin-bottom:8px;display:block}
.label .opt{color:var(--ph);font-weight:500}
.field{width:100%;background:#fff;border:1.5px solid var(--field-border);border-radius:12px;height:58px;padding:0 16px;
  font:500 18px 'Libre Franklin',sans-serif;color:var(--ink);outline:none}
.field:focus{border-color:var(--blue)}
.field::placeholder{color:var(--ph)}
textarea.field{height:auto;min-height:88px;padding:14px 16px;line-height:1.45;resize:vertical}
.field.plate{height:64px;font:700 22px 'JetBrains Mono',monospace;letter-spacing:.10em;text-transform:uppercase}

.section{font:700 14px 'Libre Franklin',sans-serif;color:var(--blue);letter-spacing:.06em;text-transform:uppercase;margin-bottom:12px}

/* ---- Header / topbar ---- */
.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 22px 8px}
.topbar .back{width:42px;height:42px;border-radius:50%;background:#fff;border:1.5px solid var(--field-border);
  display:flex;align-items:center;justify-content:center;font:700 24px 'Libre Franklin';color:var(--ink2);cursor:pointer;line-height:1}
.eyebrow{font:700 13px 'Libre Franklin',sans-serif;color:var(--blue);letter-spacing:.08em;text-transform:uppercase}
.h1{font:800 26px 'Libre Franklin',sans-serif;color:var(--ink);margin:4px 0 0}
.h1.sm{font-size:24px}
.avatar{width:46px;height:46px;border-radius:50%;background:var(--blue-050);display:flex;align-items:center;justify-content:center;
  font:700 18px 'Libre Franklin';color:var(--blue);cursor:pointer;border:none}

/* ---- Cards / pieces ---- */
.card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:18px}
.card.clickable{cursor:pointer}
.card.clickable:active{background:#fbfcfe}
.plate{background:var(--blue-050);color:var(--blue);font:700 20px 'JetBrains Mono',monospace;padding:7px 12px;border-radius:8px;
  letter-spacing:.10em;display:inline-block}
.plate.lg{font-size:22px;padding:9px 14px;border-radius:9px}
.price{font:800 22px 'Libre Franklin';color:var(--green)}
.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px}
.muted{color:var(--muted)} .muted2{color:var(--muted2)} .muted3{color:var(--muted3)}

.total{display:flex;align-items:center;justify-content:space-between;background:var(--green-bg);border:1px solid var(--green-border);
  border-radius:16px;padding:20px 22px}
.total .lbl{font:600 19px 'Libre Franklin';color:var(--green-ink)}
.total .val{font:800 32px 'Libre Franklin';color:var(--green);letter-spacing:-.01em}

/* line item editor row */
.item-edit{background:#fff;border:1.5px solid var(--field-border);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:10px}
.item-edit .field{height:52px;font-size:17px}
.item-edit .price-field{width:120px}

/* photos grid */
.photos{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.photo{aspect-ratio:1;border-radius:12px;overflow:hidden;position:relative;background:#eef2f6}
.photo img{width:100%;height:100%;object-fit:cover;display:block;cursor:pointer}
.photo .rm{position:absolute;top:5px;right:5px;width:26px;height:26px;border-radius:50%;background:rgba(15,22,32,.72);color:#fff;
  border:none;font:700 15px sans-serif;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}
.photo-add{aspect-ratio:1;border-radius:12px;border:1.5px dashed #9cb6e0;background:var(--blue-050);display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:4px;cursor:pointer;color:var(--blue)}
.photo-add .plus{font-size:26px;line-height:1}
.photo-add span{font:600 12px 'Libre Franklin'}

/* sticky footer bar (save / new) */
.sticky-bottom{position:sticky;bottom:0;background:linear-gradient(to top,var(--bg) 74%,transparent);padding:16px 22px 22px}
.sticky-bottom.solid{background:#fff;border-top:1px solid var(--border);box-shadow:0 -8px 20px -12px rgba(0,0,0,.15)}

/* banners */
.banner{display:flex;gap:12px;align-items:center;border-radius:14px;padding:16px 18px}
.banner.ok{background:var(--green-bg);border:1px solid var(--green-border);color:var(--green-ink);font:600 17px 'Libre Franklin'}
.banner.info{background:var(--blue-100);color:#334155;font:500 16px 'Libre Franklin';align-items:flex-start;line-height:1.45}
.banner .ic{width:28px;height:28px;border-radius:50%;background:var(--blue);color:#fff;font:700 16px 'Libre Franklin';
  display:flex;align-items:center;justify-content:center;flex-shrink:0}
.banner.ok .ic{background:var(--green)}

/* link box */
.linkbox{display:flex;align-items:center;gap:10px;background:#fff;border:1.5px solid var(--field-border);border-radius:12px;padding:0 8px 0 16px;height:58px}
.linkbox .url{flex:1;font:500 15px 'JetBrains Mono';color:var(--blue);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.linkbox .copy{background:var(--blue-050);border:none;border-radius:9px;height:42px;padding:0 16px;font:700 15px 'Libre Franklin';color:var(--blue);cursor:pointer}

/* login logo */
.brand{display:flex;flex-direction:column;align-items:center;gap:14px;margin:26px 0 40px}
.brand .logo{width:74px;height:74px;border-radius:20px;background:var(--blue);display:flex;align-items:center;justify-content:center;
  font:800 34px 'Libre Franklin';color:#fff;box-shadow:0 10px 24px -8px rgba(36,86,184,.6)}
.brand .name{font:800 32px 'Libre Franklin';color:var(--ink)}
.brand .sub{font:500 17px 'Libre Franklin';color:var(--muted2);text-align:center;line-height:1.4}

.link-inline{color:var(--blue);font-weight:700;cursor:pointer}
.err{color:var(--red);font:600 15px 'Libre Franklin';margin-top:4px;min-height:1px}
.car-hint{display:none;margin-top:8px;padding:9px 13px;border-radius:10px;background:var(--blue-050);color:var(--blue);font:600 14px 'Libre Franklin';line-height:1.4}
.car-hint.show{display:block}
.car-hint b{font-weight:800}

/* toast */
.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:var(--ink2);color:#fff;
  font:600 16px 'Libre Franklin';padding:14px 22px;border-radius:12px;box-shadow:0 12px 30px -8px rgba(0,0,0,.4);z-index:200;opacity:0;
  transition:opacity .2s, transform .2s;pointer-events:none;max-width:90%}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* lightbox */
.lightbox{position:fixed;inset:0;background:rgba(10,14,20,.92);display:flex;align-items:center;justify-content:center;z-index:300;padding:20px}
.lightbox img{max-width:100%;max-height:100%;border-radius:10px}

/* spinner / loading */
.loading{display:flex;align-items:center;justify-content:center;min-height:100dvh;color:var(--muted2);font:500 17px 'Libre Franklin'}

/* client-view read-only line item */
.li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #eef1f5}
.li:last-child{border-bottom:none}
.li .desc{font:500 18px 'Libre Franklin';color:var(--ink2);line-height:1.3}
.li .amt{font:700 18px 'Libre Franklin';color:var(--ink);white-space:nowrap}
.li-group-h{font:700 13px 'Libre Franklin';color:var(--blue);letter-spacing:.05em;text-transform:uppercase;padding:12px 0 2px}
.li-sub{border-top:1px solid #e2e8f0;border-bottom:none !important}
.li-sub .desc{font-weight:700 !important;color:var(--muted) !important}
.li-sub .amt{font-weight:800}

/* darbų pasiūlymai (autocomplete) */
.suggest{}
.suggest.open{margin-top:6px;border:1.5px solid var(--field-border);border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 10px 24px -12px rgba(0,0,0,.25)}
.sug-item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 14px;cursor:pointer;border-bottom:1px solid #eef1f5}
.sug-item:last-child{border-bottom:none}
.sug-item:active{background:var(--blue-050)}
.sug-desc{font:500 16px 'Libre Franklin';color:var(--ink)}
.sug-price{font:700 15px 'Libre Franklin';color:var(--green);white-space:nowrap}
.sug-hint{font:500 12px 'Libre Franklin';color:var(--muted3);white-space:nowrap}

/* eilutės tipas (darbas / dalis) + užrakinta kaina */
.item-head{display:flex;align-items:center;justify-content:space-between;min-height:24px}
.type-tag{font:700 12px 'Libre Franklin';letter-spacing:.03em;padding:3px 10px;border-radius:999px}
.type-tag.darbas{background:var(--blue-050);color:var(--blue)}
.type-tag.dalis{background:#fdf1e3;color:#b26a00}
.it-price.locked{background:#eef1f5;color:var(--muted);cursor:not-allowed}
.lock-hint{font-size:14px;color:var(--muted3)}

/* status chips (meistras perjungia) */
.chip{border:1.5px solid var(--field-border);background:#fff;border-radius:11px;padding:12px 16px;font:700 16px 'Libre Franklin';color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px}
.chip.on{background:var(--blue);color:#fff;border-color:var(--blue)}
.chip.on-green{background:var(--green);color:#fff;border-color:var(--green)}

/* badges (būsena / apmokėjimas) */
.badge{display:inline-block;padding:5px 12px;border-radius:999px;font:700 13px 'Libre Franklin'}
.badge.vykdoma{background:#fff3e0;color:#b26a00}
.badge.atlikta{background:var(--green-bg);color:var(--green-ink)}
.badge.paid{background:var(--green-bg);color:var(--green-ink)}
.badge.unpaid{background:#eef1f5;color:var(--muted2)}

/* ---- Responsive: kompiuteryje platesnis (ypač įmonės dashboard) ---- */
@media (min-width:900px){
  .app.wide{ max-width:none; box-shadow:none; }   /* įmonė = pilnas langas, be centravimo */
  .app:not(.wide){ max-width:680px; }             /* meistras = platesnis, centruotas */
  .mgrid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; align-content:start; }  /* darbai 2 stulpeliais */
}
/* kortelių tinklelis: telefone stulpelis, kompiuteryje grid'as */
.cgrid{ display:flex; flex-direction:column; gap:12px; }
@media (min-width:900px){
  .cgrid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:14px; align-items:start; }
}

/* ============ ĮMONĖS DESKTOP (V4.5) ============ */
.num{ font-variant-numeric:tabular-nums; }
.desktop-only{ display:none; }
@media (min-width:900px){ .desktop-only{ display:block; } .mobile-only{ display:none; } }

/* sidebar + nav (tamsus) */
.csidebar{ background:#14181f; }
.cbrand{ padding:14px 16px 6px; }
.clogo{ display:flex; align-items:center; gap:10px; }
.clogo span{ font:800 19px 'Libre Franklin',sans-serif; color:#fff; letter-spacing:-.02em; }
.cco{ margin-top:10px; }
.cco .ceyebrow{ font:600 11px 'Libre Franklin'; color:#6b7688; letter-spacing:.11em; text-transform:uppercase; }
.cco .cco-name{ font:600 15px 'Libre Franklin'; color:#c7cfda; margin-top:3px; }
.cnav{ display:flex; gap:4px; overflow-x:auto; padding:10px 12px; }
.cnav::-webkit-scrollbar{ display:none; }
.cnav-item{ display:flex; align-items:center; gap:11px; height:42px; padding:0 14px; border-radius:8px; border:none;
  background:none; color:#9aa4b3; font:600 14px 'Libre Franklin'; cursor:pointer; white-space:nowrap; position:relative;
  transition:background .12s, color .12s; }
.cnav-item svg{ width:19px; height:19px; flex-shrink:0; }
.cnav-item:hover{ background:rgba(255,255,255,.05); color:#c7cfda; }
.cnav-item.on{ background:rgba(255,255,255,.07); color:#fff; }
.cnav-item.on svg{ color:#7aa7f2; }
.cnav-foot{ padding:0 12px 12px; }

.cmain{ background:#f6f7f9; }
.cwrap{ padding:18px 16px 40px; }
.cmain-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-bottom:20px; }
.cmain-head .h{ font:800 24px 'Libre Franklin'; color:var(--ink); letter-spacing:-.02em; }
.cmain-head .sub{ font:450 15px 'Libre Franklin'; color:#6b7280; margin-top:4px; }
.cmain-head .date{ font:500 14px 'Libre Franklin'; color:#8a93a1; }

@media (min-width:900px){
  .cpage{ display:flex; align-items:stretch; min-height:100dvh; }
  .csidebar{ width:236px; flex-shrink:0; display:flex; flex-direction:column; min-height:100dvh; padding:22px 12px 12px; }
  .cbrand{ padding:0 8px; }
  .cco{ margin-top:16px; padding-top:14px; border-top:1px solid #242b36; }
  .cnav{ flex-direction:column; overflow:visible; margin-top:16px; padding:0; gap:3px; }
  .cnav-item{ height:44px; }
  .cnav-item.on::before{ content:''; position:absolute; left:-8px; top:10px; bottom:10px; width:3px; border-radius:0 3px 3px 0; background:#4b8bf5; }
  .cnav-foot{ margin-top:auto; padding:12px 0 0; border-top:1px solid #242b36; }
  .cmain{ flex:1; min-width:0; }
  .cwrap{ padding:28px 32px 48px; }
}

/* statistikos kortelės */
.cstats{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:20px; }
@media (min-width:900px){ .cstats{ grid-template-columns:repeat(4,1fr); gap:16px; } }
.cstat{ background:#fff; border:1px solid #e5e9ef; border-radius:10px; padding:16px 18px; }
.cstat .lbl{ font:600 13px 'Libre Franklin'; color:#6b7280; }
.cstat .val{ font:800 26px 'Libre Franklin'; color:var(--ink); margin-top:8px; letter-spacing:-.02em; }

/* filtrų juosta */
.cfilters{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:16px; }
.seg{ display:inline-flex; gap:2px; background:#eceff3; border-radius:9px; padding:3px; }
.seg-item{ height:34px; padding:0 15px; display:flex; align-items:center; border-radius:6px; font:500 14px 'Libre Franklin'; color:#5b6472; cursor:pointer; }
.seg-item.on{ background:#fff; color:var(--ink); font-weight:600; box-shadow:0 1px 2px rgba(20,32,60,.08); }
/* V6b: meistro „Darbai/Mašinos" perjungiklis – per visą plotį, didesni mygtukai */
.mtabs-wrap{ padding-top:0; padding-bottom:2px; }
.seg.mtabs{ display:flex; width:100%; }
.seg.mtabs .seg-item{ flex:1; justify-content:center; height:46px; font-size:16px; }
.cselect{ height:40px; padding:0 12px; background:#fff; border:1px solid #e0e5ec; border-radius:8px; font:500 14px 'Libre Franklin'; color:#3a4250; }
.csearch{ flex:1; min-width:160px; height:40px; padding:0 14px; background:#fff; border:1px solid #e0e5ec; border-radius:8px; font:450 14px 'Libre Franklin'; color:var(--ink); }

/* lentelė */
.ctable-wrap{ background:#fff; border:1px solid #e5e9ef; border-radius:10px; overflow-x:auto; }
.ctable{ width:100%; border-collapse:collapse; }
.ctable th{ text-align:left; font:600 12px 'Libre Franklin'; color:#7a828e; letter-spacing:.05em; padding:11px 16px; background:#fafbfc; border-bottom:1px solid #e9edf2; white-space:nowrap; }
.ctable td{ padding:13px 16px; border-bottom:1px solid #f0f2f5; font:500 14px 'Libre Franklin'; color:var(--ink); white-space:nowrap; }
.ctable tbody tr:last-child td{ border-bottom:none; }
.ctable tbody tr{ cursor:pointer; transition:background .12s; }
.ctable tbody tr:hover{ background:#f7f9fb; }
.ctable .plate-cell{ font:700 14px 'JetBrains Mono'; letter-spacing:.06em; color:var(--blue); background:var(--blue-050); padding:4px 8px; border-radius:6px; }
.tavatar{ width:34px; height:34px; border-radius:50%; background:var(--blue-050); color:var(--blue); font:700 13px 'Libre Franklin'; display:inline-flex; align-items:center; justify-content:center; }

/* darbo detalė 2 stulpeliai (desktop) */
.cjob{ display:flex; flex-direction:column; gap:16px; }
@media (min-width:900px){ .cjob{ display:grid; grid-template-columns:1fr 320px; gap:20px; align-items:start; } }

/* big call button (client) */
.call{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--blue);border-radius:14px;height:66px;
  gap:1px;box-shadow:var(--shadow-btn);text-decoration:none}
.call .t{font:700 20px 'Libre Franklin';color:#fff}
.call .p{font:500 14px 'Libre Franklin';color:#bcd0f0}
