:root{
  --bg: #F6F8FC;
  --surface: #FFFFFF;
  --text: #0B1220;
  --muted: #5B6478;
  --border: rgba(15, 23, 42, .10);

  --primary: #2563EB;
  --primary-2: #22C55E;

  --radius: 16px;
  --radius-sm: 12px;

  --shadow: 0 14px 45px rgba(16,24,40,.10);
  --shadow-sm: 0 8px 22px rgba(16,24,40,.08);
}

*{box-sizing:border-box}
html,body{height:100%}
img{max-width:100%;height:auto;display:block}
button,input,select,textarea{font:inherit;color:inherit}
[hidden]{display:none !important}
.hidden{display:none !important}

body{
  margin:0;
  color:var(--text);
  font:16px/1.55 Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial;
  position:relative;
  min-height:100%;
  background:
    radial-gradient(900px 520px at 14% 18%, rgba(37,99,235,.18), transparent 55%),
    radial-gradient(900px 520px at 86% 22%, rgba(34,197,94,.14), transparent 55%),
    linear-gradient(180deg, #F7FAFF 0%, var(--bg) 30%, #F4F7FB 100%);
}

/* Subtilus foninis raštas */
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  opacity:.18;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='280' height='280' viewBox='0 0 280 280'%3E%3Cg fill='none' stroke='%230B1220' stroke-opacity='0.22' stroke-width='2'%3E%3Cpath d='M40 48h56l18 18v56H40z'/%3E%3Ccircle cx='86' cy='58' r='4'/%3E%3Cpath d='M164 38h60a10 10 0 0 1 10 10v90a10 10 0 0 1-10 10h-60a10 10 0 0 1-10-10V48a10 10 0 0 1 10-10z'/%3E%3Ccircle cx='194' cy='126' r='4'/%3E%3Cpath d='M48 170h82a10 10 0 0 1 10 10v54a10 10 0 0 1-10 10H48a10 10 0 0 1-10-10v-54a10 10 0 0 1 10-10z'/%3E%3Cpath d='M38 188h102'/%3E%3Cpath d='M60 170l18 18m22-18l-18 18'/%3E%3Cpath d='M206 190c0 20-14 36-34 36s-34-16-34-36'/%3E%3Cpath d='M138 190v-16h16v16'/%3E%3Cpath d='M198 174v16h16v-16'/%3E%3Cpath d='M238 228h22m-11-11v22' stroke-opacity='0.12'/%3E%3Cpath d='M18 118h22m-11-11v22' stroke-opacity='0.12'/%3E%3C/g%3E%3Cg fill='%230B1220' fill-opacity='0.08'%3E%3Ccircle cx='118' cy='102' r='2'/%3E%3Ccircle cx='250' cy='74' r='2'/%3E%3Ccircle cx='208' cy='254' r='2'/%3E%3Ccircle cx='26' cy='252' r='2'/%3E%3C/g%3E%3C/svg%3E");
  background-size:340px 340px;
  background-repeat:repeat;
}

/* Kad turinys visada būtų virš rašto */
.header, .main, .footer{position:relative; z-index:1;}

a{color:var(--primary);text-decoration:none}
a:hover{text-decoration:underline}

.container{max-width:1100px;margin:0 auto;padding:20px}
.row{display:flex;gap:12px;flex-wrap:wrap}
.center-between{justify-content:space-between}

/* Header */
.header{
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255,255,255,.72);
  border-bottom: 1px solid var(--border);
  backdrop-filter: blur(12px);
}
.header .row{display:flex; gap:16px; align-items:center;}

/* === LOGO (PADIDINTAS) ===
   Veikia dviem atvejais:
   1) <img class="logo" ...>
   2) <a class="logo"><img ...></a>
*/
.header .logo{
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
}

/* jei <img class="logo"> */
.header img.logo{
  height: 64px;
  width: auto;
  display:block;
}

/* jei <a class="logo"><img ...></a> */
.header a.logo img{
  height: 64px;
  width: auto;
  display:block;
}

/* Mobile – šiek tiek mažesnis */
@media (max-width:700px){
  .header img.logo,
  .header a.logo img{
    height: 52px;
  }
}

.nav{display:flex; align-items:center; gap: 12px;}
.nav a{
  color: rgba(11,18,32,.86);
  font-weight: 600;
  padding: 8px 10px;
  border-radius: 10px;
}
.nav a:hover{
  text-decoration:none;
  background: rgba(37,99,235,.08);
  color: rgba(11,18,32,1);
}

/* Buttons */
.btn{
  border-radius: 12px;
  padding: 10px 14px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.9);
  color: var(--text);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: 8px;
  font-weight: 800;
  box-shadow: 0 6px 14px rgba(16,24,40,.06);
  transition: transform .12s ease, box-shadow .12s ease, background .12s ease;
  cursor:pointer;
  user-select:none;
}
.btn:hover{transform: translateY(-1px); box-shadow: 0 12px 26px rgba(16,24,40,.10); text-decoration:none;}
.btn:active{transform: translateY(0px)}
.btn-primary{
  border: 0;
  color: #fff;
  background: linear-gradient(135deg, var(--primary), var(--primary-2));
  box-shadow: 0 14px 34px rgba(37,99,235,.22);
}
.btn-primary:hover{box-shadow: 0 18px 44px rgba(37,99,235,.28)}

/* Main */
.main{padding:26px 0}

/* Hero */
.hero{
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.82));
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 20px;
  box-shadow: var(--shadow);
  padding: 28px;
  margin-bottom: 18px;
  position: relative;
  overflow: visible;
}
.hero:before{
  content:"";
  position:absolute;
  inset:-2px;
  background:
    radial-gradient(700px 300px at 15% 35%, rgba(37,99,235,.14), transparent 60%),
    radial-gradient(700px 300px at 85% 25%, rgba(34,197,94,.12), transparent 60%);
  pointer-events:none;
}
.hero > *{position:relative}
.hero h1{margin:0 0 8px; font-size: clamp(28px, 3.1vw, 42px); letter-spacing: -0.6px;}
.hero p{margin: 0}

/* Inputs */
.input, select, textarea{
  width:100%;
  padding: 11px 12px;
  border: 1px solid rgba(15,23,42,.12);
  border-radius: 12px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 6px 16px rgba(16,24,40,.05);
  transition: box-shadow .12s ease, border-color .12s ease;
}
.input:focus, textarea:focus, select:focus{
  outline: none;
  border-color: rgba(37,99,235,.45);
  box-shadow: 0 0 0 4px rgba(37,99,235,.14), 0 10px 22px rgba(16,24,40,.06);
}

/* Cards */
.card{
  background: linear-gradient(180deg, rgba(255,255,255,.93), rgba(255,255,255,.86));
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 18px;
  box-shadow: var(--shadow-sm);
  padding: 16px;
  transition: transform .12s ease, box-shadow .12s ease;
}
.card:hover{transform: translateY(-2px); box-shadow: var(--shadow);}
.card h2, .card h3{margin-top: 0; letter-spacing: -0.3px;}

.grid{display:grid;gap:16px}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:900px){.grid-2{grid-template-columns:1fr}}

/* Chips */
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{
  background: rgba(37,99,235,.06);
  color:#1F2A44;
  border-radius: 999px;
  padding: 9px 12px;
  border: 1px solid rgba(37,99,235,.16);
  cursor:pointer;
  user-select:none;
  font-weight: 900;
  transition: transform .10s ease, background .10s ease, border-color .10s ease;
}
.chip:hover{transform: translateY(-1px)}
.chip input{display:none}
.chip.active{
  background: rgba(37,99,235,.12);
  border-color: rgba(37,99,235,.26);
}

/* Role chips (Register: Pardavimas/Supirkimas) */
.chip.chip--buyer.active{
  background: rgba(34,197,94,.14);
  border-color: rgba(34,197,94,.28);
}
.chip.chip--supplier.active{
  background: rgba(37,99,235,.14);
  border-color: rgba(37,99,235,.28);
}

/* Badge */
.badge{
  display:inline-block;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(34,197,94,.10);
  color: #0F5132;
  border: 1px solid rgba(34,197,94,.18);
  font-size: 12px;
  font-weight: 900;
}

/* Actions */
.card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}

/* Footer */
.footer{
  border-top:1px solid var(--border);
  padding: 26px 0;
  margin-top: 40px;
  background: rgba(255,255,255,.75);
  backdrop-filter: blur(10px);
}

/* Text */
.small{color:var(--muted);font-size:14px}
label{font-weight:900}
label .small{font-weight:500}

/* Alerts */
.alert{
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(15,23,42,.10);
  background: rgba(255,255,255,.72);
  margin: 10px 0;
  box-shadow: 0 8px 18px rgba(16,24,40,.06);
}
.success{background: rgba(236,253,245,.9); border-color: rgba(34,197,94,.22)}
.error{background: rgba(254,242,242,.9); border-color: rgba(239,68,68,.20)}

/* Table */
.table{width:100%;border-collapse:collapse}
.table th,.table td{border-bottom:1px solid var(--border);padding:10px;text-align:left}
.table th{color: rgba(11,18,32,.86)}

/* Helpers */
.actions-right{display:flex;justify-content:flex-end;gap:8px}
.form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}

/* =========================
   City picker (cp-*) – universalus (index/suppliers)
   ========================= */
.citypicker{position:relative; min-width:240px; flex:1}

/* trigger */
.citypicker .cp-trigger{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  cursor:pointer;
}
.citypicker .cp-value{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:100%;
}
.citypicker .cp-value.cp-muted{color: var(--muted); font-weight:700}
.citypicker .cp-caret{color: rgba(11,18,32,.55); font-weight:900}

/* panel: default paslėpta (JS uždeda .open) */
.citypicker .cp-panel{display:none}
.citypicker.open .cp-panel{display:flex}

/* panel box */
.citypicker .cp-panel{
  flex-direction:column;
  gap: 10px;
  background: rgba(255,255,255,.98);
  border: 1px solid rgba(15,23,42,.12);
  border-radius: 16px;
  box-shadow: 0 18px 50px rgba(16,24,40,.14);
  padding: 12px;
  overflow: hidden;
}

/* topbar (search + Išvalyti + Uždaryti) */
.citypicker .cp-topbar{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap; /* ✅ kad neišstumtų mygtukų */
}
.citypicker .cp-topbar .cp-search{
  flex: 1 1 260px;
  min-width: 220px;
}
.citypicker .cp-topbar .btn{
  flex: 0 0 auto;
  white-space: nowrap;
}

/* list scroll */
.citypicker .cp-list{
  overflow:auto;
  padding: 2px 6px 2px 2px;
  display:flex;
  flex-direction:column;
  gap: 8px;
}

/* items */
.citypicker .cp-item{
  display:flex;
  align-items:center;
  gap: 10px;
  padding: 10px 10px;
  border-radius: 14px;
  border: 1px solid rgba(15,23,42,.08);
  background: rgba(37,99,235,.05);
  cursor:pointer;
  user-select:none;
  transition: transform .10s ease, background .10s ease, border-color .10s ease, box-shadow .10s ease;
}
.citypicker .cp-item:hover{
  transform: translateY(-1px);
  background: rgba(37,99,235,.08);
  border-color: rgba(37,99,235,.18);
  box-shadow: 0 10px 22px rgba(16,24,40,.08);
}
.citypicker .cp-item input{width:16px;height:16px; accent-color: var(--primary);}

/* SELECTED = spalvotas */
.citypicker .cp-item.is-selected{
  background: linear-gradient(135deg, rgba(37,99,235,.18), rgba(34,197,94,.14));
  border-color: rgba(37,99,235,.35);
  box-shadow: 0 12px 26px rgba(37,99,235,.12);
}
.citypicker .cp-item.is-selected span{font-weight: 900; color: rgba(11,18,32,.95);}

/* bottom hint */
.citypicker .cp-actions{
  display:flex;
  align-items:center;
  gap: 12px;
  border-top: 1px solid rgba(15,23,42,.10);
  padding-top: 10px;
  position: sticky;
  bottom: 0;
  background: rgba(255,255,255,.98);
}
.citypicker .cp-hint{margin-left:auto}

/* Mobile */
@media (max-width:700px){
  .citypicker{min-width: 100%}
  .citypicker .cp-topbar .cp-search{flex: 1 1 100%}
}
