/* sastanak.paxy.in.rs — jedan CSS, bez spoljnih resursa */
:root{
  --ink:#12203c; --ink-2:#243044; --muted:#65708a; --line:#e3e8f1; --line-2:#eef1f7;
  --bg:#f4f6fb; --card:#ffffff; --accent:#1f5fd6; --accent-2:#eaf1ff;
  --ok:#177a48; --ok-bg:#e8f6ee; --maybe:#9a6a00; --maybe-bg:#fdf5e3; --bad:#b3261e; --bad-bg:#fdeceb;
  --shadow:0 1px 2px rgba(18,32,60,.06), 0 8px 24px rgba(18,32,60,.06);
  --radius:14px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--bg); color:var(--ink-2); font:15px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--accent); text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{color:var(--ink); line-height:1.25; margin:0 0 .5em}
h1{font-size:26px} h2{font-size:20px} h3{font-size:17px}
p{margin:0 0 .8em}
.wrap{max-width:1080px; margin:0 auto; padding:0 18px}
.wrap-narrow{max-width:760px; margin:0 auto; padding:0 18px}
.muted{color:var(--muted)} .small{font-size:13px} .tiny{font-size:12px}
.nowrap{white-space:nowrap}
.center{text-align:center}
.mt0{margin-top:0} .mb0{margin-bottom:0} .mt8{margin-top:8px} .mt14{margin-top:14px} .mt20{margin-top:20px} .mt28{margin-top:28px}
.hidden{display:none !important}

/* top bar */
header.top{background:#fff; border-bottom:1px solid var(--line); position:sticky; top:0; z-index:20}
header.top .wrap{display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:62px}
.brand{display:flex; align-items:center; gap:10px; font-weight:700; color:var(--ink); font-size:16px}
.brand:hover{text-decoration:none}
.brand svg{flex:0 0 auto}
.brand small{display:block; font-weight:500; font-size:11.5px; color:var(--muted); letter-spacing:.02em}
.top-links{display:flex; gap:16px; align-items:center; font-size:13.5px; color:var(--muted)}
.card{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); padding:22px}
.card + .card{margin-top:18px}
.card.pad-sm{padding:16px}
.grid{display:grid; gap:18px}
.grid-2{grid-template-columns:1fr 1fr}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-side{grid-template-columns:1.6fr 1fr}
@media(max-width:860px){.grid-2,.grid-3,.grid-side{grid-template-columns:1fr}}
.stack{display:flex; flex-direction:column; gap:14px}
.row{display:flex; gap:10px; flex-wrap:wrap; align-items:center}
.row.tight{gap:6px}
.spread{display:flex; justify-content:space-between; align-items:flex-start; gap:14px; flex-wrap:wrap}

/* hero */
.hero{background:linear-gradient(180deg,#ffffff 0%,#f7f9ff 100%); border-bottom:1px solid var(--line); padding:34px 0 30px}
.hero h1{font-size:30px; max-width:640px}
.hero p.lead{font-size:16.5px; color:var(--muted); max-width:660px}
.steps{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:6px}
@media(max-width:760px){.steps{grid-template-columns:1fr}}
.step{background:#fff; border:1px solid var(--line); border-radius:12px; padding:14px 16px}
.step b{display:block; color:var(--ink); margin-bottom:2px}
.step span{font-size:13.5px; color:var(--muted)}

/* forms */
label{display:block; font-weight:600; font-size:13.5px; color:var(--ink); margin:0 0 5px}
input[type=text],input[type=email],input[type=date],input[type=time],input[type=number],select,textarea{
  width:100%; padding:10px 12px; border:1px solid #cfd7e6; border-radius:9px; font:inherit; color:var(--ink-2); background:#fff;
}
input:focus,select:focus,textarea:focus{outline:2px solid var(--accent-2); border-color:var(--accent)}
textarea{min-height:84px; resize:vertical}
.field{margin-bottom:14px}
.hint{font-size:12.5px; color:var(--muted); margin-top:4px}
.check{display:flex; gap:9px; align-items:flex-start; font-weight:500; font-size:14px; margin:0 0 10px; cursor:pointer}
.check input{margin-top:3px}
.inline-2{display:grid; grid-template-columns:1fr 1fr; gap:12px}
.inline-3{display:grid; grid-template-columns:1.2fr .8fr .8fr; gap:10px}
@media(max-width:640px){.inline-2,.inline-3{grid-template-columns:1fr}}
fieldset{border:1px solid var(--line); border-radius:12px; padding:14px 16px; margin:0 0 16px}
legend{font-weight:700; color:var(--ink); font-size:13.5px; padding:0 6px}

/* buttons */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:11px 18px; border-radius:9px;
  border:1px solid transparent; background:var(--accent); color:#fff; font:inherit; font-weight:600; cursor:pointer; text-align:center}
.btn:hover{filter:brightness(1.06); text-decoration:none}
.btn:disabled{opacity:.55; cursor:not-allowed}
.btn-lg{padding:14px 24px; font-size:16px}
.btn-sm{padding:7px 12px; font-size:13px; border-radius:8px}
.btn-ghost{background:#fff; color:var(--ink); border-color:#cfd7e6}
.btn-ghost:hover{background:#f6f8fc}
.btn-soft{background:var(--accent-2); color:#16418f; border-color:#cfe0ff}
.btn-ok{background:#177a48}
.btn-danger{background:#fff; color:var(--bad); border-color:#f0c9c6}
.btn-danger:hover{background:#fdeceb}
.btn-link{background:none; border:none; color:var(--accent); padding:0; font-weight:600; cursor:pointer}
.btn-row{display:flex; gap:10px; flex-wrap:wrap; align-items:center}

/* flash */
.flash{padding:12px 15px; border-radius:10px; margin-bottom:16px; font-size:14.5px; border:1px solid}
.flash.ok{background:var(--ok-bg); border-color:#bfe3cd; color:#0f5c36}
.flash.warn{background:var(--maybe-bg); border-color:#f0dcae; color:#7a5400}
.flash.bad{background:var(--bad-bg); border-color:#f3cbc8; color:#8c1d17}

/* badges / pills */
.badge{display:inline-block; padding:3px 9px; border-radius:999px; font-size:12px; font-weight:700; border:1px solid transparent}
.badge-open{background:var(--accent-2); color:#16418f; border-color:#cfe0ff}
.badge-closed{background:var(--ok-bg); color:#0f5c36; border-color:#bfe3cd}
.badge-prop{background:#f4f0ff; color:#5533a8; border-color:#ded2fb}
.badge-best{background:#177a48; color:#fff}
.badge-you{background:#12203c; color:#fff}
.pill{display:inline-block; padding:2px 8px; border-radius:999px; font-size:12px; background:#f4f6fb; color:var(--muted); border:1px solid var(--line)}

/* tables */
.table-wrap{overflow-x:auto; border:1px solid var(--line); border-radius:12px; background:#fff}
table.grid-t{width:100%; border-collapse:separate; border-spacing:0; font-size:14px}
table.grid-t th,table.grid-t td{padding:9px 11px; border-bottom:1px solid var(--line-2); text-align:left; vertical-align:middle}
table.grid-t thead th{background:#f8fafd; font-size:12.5px; text-transform:uppercase; letter-spacing:.03em; color:var(--muted); white-space:nowrap; position:sticky; top:0}
table.grid-t tbody tr:hover{background:#fbfcff}
table.grid-t td.slot{font-weight:600; color:var(--ink); white-space:nowrap}
table.grid-t .col-num{text-align:center; width:64px}
table.grid-t tr.row-best{background:#f2fbf6}
table.grid-t tr.row-best td.slot{box-shadow:inset 3px 0 0 #177a48}
.mark{font-weight:700; font-size:15px; display:inline-block; width:22px; text-align:center}
.mark.yes{color:var(--ok)} .mark.maybe{color:var(--maybe)} .mark.no{color:var(--bad)} .mark.none{color:#b9c1d2}
.legend{display:flex; gap:16px; flex-wrap:wrap; font-size:13px; color:var(--muted); margin-top:10px}

/* slot list (participant) */
.slot-list{display:flex; flex-direction:column; gap:10px}
.day-block{border:1px solid var(--line); border-radius:12px; overflow:hidden; background:#fff}
.day-head{background:#f8fafd; padding:9px 14px; font-weight:700; color:var(--ink); font-size:14px; border-bottom:1px solid var(--line-2)}
.slot{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 14px; border-bottom:1px solid var(--line-2); flex-wrap:wrap}
.slot:last-child{border-bottom:none}
.slot-time{font-weight:600; color:var(--ink); min-width:130px}
.vote-group{display:flex; gap:6px}
.vote{position:relative; display:inline-flex; align-items:center; gap:6px; border:1px solid #cfd7e6; background:#fff; border-radius:9px; padding:8px 12px;
  cursor:pointer; font-size:13.5px; font-weight:600; color:var(--ink-2); user-select:none}
.vote input{position:absolute; width:1px; height:1px; margin:0; opacity:0; pointer-events:none}
.vote:has(input:focus-visible){outline:2px solid var(--accent); outline-offset:2px}
.vote:hover{background:#f6f8fc}
.vote.v2[aria-checked=true],.vote.v2:has(input:checked){background:var(--ok-bg); border-color:#7cc39b; color:#0f5c36}
.vote.v1[aria-checked=true],.vote.v1:has(input:checked){background:var(--maybe-bg); border-color:#e6c980; color:#7a5400}
.vote.v0[aria-checked=true],.vote.v0:has(input:checked){background:var(--bad-bg); border-color:#e5a9a4; color:#8c1d17}
.slot-others{font-size:12.5px; color:var(--muted); width:100%}
.save-bar{position:sticky; bottom:0; background:rgba(255,255,255,.95); backdrop-filter:blur(4px); border-top:1px solid var(--line);
  padding:12px 0; margin-top:16px; display:flex; gap:14px; align-items:center; flex-wrap:wrap}
.save-state{font-size:13.5px; color:var(--muted)}
.save-state.ok{color:var(--ok); font-weight:600}
.save-state.err{color:var(--bad); font-weight:600}

/* tips */
.tip{border:1px solid var(--line); border-left:4px solid var(--accent); border-radius:10px; padding:12px 15px; background:#fff; margin-bottom:12px}
.tip.good{border-left-color:#177a48} .tip.warn{border-left-color:#c98a00} .tip.info{border-left-color:#5b6b8f}
.tip b{display:block; color:var(--ink); margin-bottom:3px}
.tip p{margin:0; font-size:14px; color:#3b4763}
.tips-list{list-style:none; padding:0; margin:0}
.tips-list li{border-bottom:1px solid var(--line-2); padding:12px 0}
.tips-list li:last-child{border-bottom:none}
.tips-list b{display:block; color:var(--ink); margin-bottom:3px}
.tips-list span{font-size:14px; color:#3b4763}

/* copy-link */
.copybox{display:flex; gap:8px; align-items:center; flex-wrap:wrap}
.copybox input{font-size:12.5px; background:#f8fafd; color:var(--muted); padding:8px 10px; flex:1 1 260px; min-width:0}
.copy-status{font-size:12.5px; color:var(--ok); font-weight:600}

/* decision banner */
.decision{background:linear-gradient(135deg,#eef4ff,#f7fbff); border:1px solid #cfe0ff; border-radius:14px; padding:20px 22px}
.decision .when{font-size:22px; font-weight:800; color:#12203c; margin:6px 0 2px}
.locked{background:#f8fafd; border:1px dashed var(--line); border-radius:12px; padding:14px 16px; color:var(--muted); font-size:14px}

footer.site{border-top:1px solid var(--line); margin-top:40px; padding:20px 0 34px; color:var(--muted); font-size:13px}
footer.site a{color:var(--muted); text-decoration:underline}

.empty{text-align:center; padding:28px 16px; color:var(--muted)}
.kv{display:flex; gap:10px; flex-wrap:wrap; font-size:13.5px; color:var(--muted)}
.kv b{color:var(--ink-2); font-weight:600}
details.sugg{border:1px solid var(--line); border-radius:10px; padding:10px 14px; background:#fff; margin-bottom:10px}
details.sugg summary{cursor:pointer; font-weight:600; color:var(--ink); font-size:14px}
details.sugg p{margin:8px 0 0; font-size:13.5px; color:#3b4763}
/* ---- nedeljni kalendar termina ---- */
.cal-week{margin-bottom:18px}
.cal-week:last-child{margin-bottom:0}
.cal-week-title{font-weight:700;color:var(--ink);margin:0 0 8px;font-size:14.5px}
.cal-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:#fff}
.cal-grid{display:grid;grid-template-columns:58px repeat(7,minmax(112px,1fr))}
.cal-corner{border-bottom:1px solid var(--line-2);background:#f8fafd}
.cal-head{padding:8px 6px;text-align:center;font-size:12.5px;font-weight:700;color:var(--ink);
  border-left:1px solid var(--line-2);border-bottom:1px solid var(--line-2);background:#f8fafd;white-space:nowrap}
.cal-head.we{background:#f3f5fa;color:var(--muted)}
.cal-head.today{background:var(--accent-2);color:#16418f}
.cal-times{position:relative;border-right:1px solid var(--line-2);background:#fcfdff}
.cal-t{position:absolute;right:6px;font-size:11px;color:#9aa4ba;white-space:nowrap}
.cal-col{position:relative;border-left:1px solid var(--line-2);
  background-image:repeating-linear-gradient(to bottom, var(--line-2) 0 1px, transparent 1px var(--rowh))}
.cal-col.we{background-color:#fafbfe}
.cal-now{position:absolute;left:0;right:0;border-top:2px solid #d92d20;opacity:.45;z-index:3}
.cal-slot{position:absolute;border-radius:8px;padding:4px 7px;font-size:11.5px;line-height:1.25;overflow:hidden;
  border:1px solid;display:flex;flex-direction:column;gap:1px;text-decoration:none;z-index:2}
.cal-slot b{font-size:12px;font-weight:800;letter-spacing:.01em}
.cal-slot .cb{font-size:10.5px;font-weight:700;opacity:.95}
.cal-slot .cn{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.cal-slot:hover{filter:brightness(.96);text-decoration:none}
.cal-slot.is-all{background:var(--ok-bg);border-color:#7cc39b;color:#0f5c36}
.cal-slot.is-yes{background:var(--accent-2);border-color:#9dbcf5;color:#16418f}
.cal-slot.is-mid{background:var(--maybe-bg);border-color:#e6c980;color:#7a5400}
.cal-slot.is-no{background:var(--bad-bg);border-color:#e5a9a4;color:#8c1d17}
.cal-slot.is-none{background:#f4f6fb;border-color:#dbe1ee;color:var(--muted)}
.cal-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--muted);margin-top:10px}
.cal-legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:5px;vertical-align:-2px;border:1px solid #cfd7e6}
.cal-legend i.is-all{background:var(--ok-bg);border-color:#7cc39b}
.cal-legend i.is-yes{background:var(--accent-2);border-color:#9dbcf5}
.cal-legend i.is-mid{background:var(--maybe-bg);border-color:#e6c980}
.cal-legend i.is-no{background:var(--bad-bg);border-color:#e5a9a4}
.cal-legend i.is-none{background:#f4f6fb;border-color:#dbe1ee}
@media(max-width:700px){.cal-grid{grid-template-columns:44px repeat(7,minmax(96px,1fr))}.cal-slot{font-size:11px;padding:3px 5px}}

@media print{header.top,.save-bar,footer.site,.no-print{display:none !important} body{background:#fff}
  .cal-scroll{overflow:visible} .cal-grid{min-width:0}}
