:root{
  --bg:#07101d; --panel:rgba(12,22,38,.78); --panel2:rgba(17,31,52,.88); --line:rgba(207,176,103,.22);
  --gold:#d7b56d; --gold2:#f2d48a; --text:#eef4ff; --muted:#91a3ba; --ok:#5de0a3; --bad:#ff6d7a;
}
*{box-sizing:border-box} body{margin:0;min-height:100vh;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--text);background:var(--bg);overflow-x:hidden}
.court-bg{position:fixed;inset:0;background:radial-gradient(circle at 20% 10%,rgba(215,181,109,.18),transparent 30%),radial-gradient(circle at 80% 0,rgba(73,119,189,.22),transparent 32%),linear-gradient(135deg,#050912 0%,#0d1930 48%,#0a0e18 100%);z-index:-3}
.court-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),transparent)}
.grain{position:fixed;inset:0;background:radial-gradient(circle,rgba(255,255,255,.06) 1px,transparent 1px);background-size:4px 4px;opacity:.12;pointer-events:none;z-index:-2}.glass-panel{border:1px solid var(--line);background:linear-gradient(180deg,var(--panel),rgba(8,15,27,.72));backdrop-filter:blur(18px);box-shadow:0 24px 70px rgba(0,0,0,.36),inset 0 1px rgba(255,255,255,.08);border-radius:24px}.app-shell{display:grid;grid-template-columns:300px 1fr;gap:22px;padding:22px;min-height:100vh}.sidebar{padding:24px;display:flex;flex-direction:column;gap:20px;animation:slideIn .55s ease}.seal{width:74px;height:74px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(135deg,#b88a36,#f0d28a);color:#1a1205;font-weight:900;font-size:24px;box-shadow:0 14px 38px rgba(215,181,109,.28)}h1,h2,h3,h4,p{margin:0}h1{font-size:22px}h2{font-size:22px}h3{font-size:34px;letter-spacing:-.03em;margin:8px 0 10px}.sidebar p,.screen-desc,.court-card p,.mini-card p{color:var(--muted);line-height:1.5}.steps{display:flex;flex-direction:column;gap:10px;margin-top:10px}.step{width:100%;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);color:var(--muted);padding:13px 14px;border-radius:16px;text-align:left;cursor:pointer;transition:.22s}.step span{display:inline-grid;place-items:center;width:34px;height:28px;border-radius:10px;margin-right:8px;background:rgba(255,255,255,.07);color:var(--gold)}.step.active,.step.confirmed{border-color:rgba(215,181,109,.5);color:var(--text);background:linear-gradient(90deg,rgba(215,181,109,.18),rgba(255,255,255,.04))}.step.confirmed span{background:rgba(93,224,163,.18);color:var(--ok)}.mini-card{margin-top:auto;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.04);border-radius:18px;padding:16px}.mini-card strong{display:block;color:var(--gold2);margin:5px 0}.workspace{display:flex;flex-direction:column;gap:18px}.topbar{padding:18px 20px;display:flex;justify-content:space-between;gap:18px;align-items:center;animation:fadeUp .5s ease}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:.18em;color:var(--gold);font-weight:800}.people-strip{display:flex;gap:12px;flex-wrap:wrap}.person-badge{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid rgba(255,255,255,.09);border-radius:18px;background:rgba(255,255,255,.045)}.person-badge img,.avatar{width:48px;height:48px;border-radius:14px;object-fit:cover;border:1px solid rgba(215,181,109,.45)}.avatar.initials{display:grid;place-items:center;background:linear-gradient(135deg,#14243d,#273d62);font-weight:900;color:var(--gold2)}.person-badge span{display:block;color:var(--muted);font-size:12px}.person-badge b{font-size:14px}.content{padding:24px;min-height:calc(100vh - 124px);position:relative}.progress{height:8px;background:rgba(255,255,255,.06);border-radius:99px;overflow:hidden;margin-bottom:24px}.progress i{display:block;height:100%;width:20%;background:linear-gradient(90deg,#b88a36,#f4d78f);border-radius:inherit;transition:.35s}.screen{display:none;animation:fadeUp .35s ease}.screen.active{display:block}.hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) 360px;gap:22px}.hero-copy,.court-card,.suspect-card,.evidence-card,.verdict-box{border:1px solid rgba(255,255,255,.09);background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.025));border-radius:22px;padding:22px}.field-label{display:block;color:var(--gold);font-weight:800;margin:24px 0 8px}.text-input,.motive-box{width:100%;border:1px solid rgba(215,181,109,.28);background:rgba(0,0,0,.24);color:var(--text);border-radius:16px;padding:15px 16px;font-size:16px;outline:none}.text-input:focus,.motive-box:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(215,181,109,.1)}.court-card{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.court-icon{font-size:54px;margin-bottom:18px;filter:drop-shadow(0 15px 28px rgba(215,181,109,.3))}.suspect-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}.suspect-card{position:relative;overflow:hidden;cursor:pointer;transition:.22s}.suspect-card:hover{transform:translateY(-4px);border-color:rgba(215,181,109,.46)}.suspect-card.selected{border-color:var(--gold);box-shadow:0 0 0 4px rgba(215,181,109,.12)}.suspect-card img{width:100%;height:190px;object-fit:cover;border-radius:16px;margin-bottom:14px;filter:saturate(.95) contrast(1.05)}.suspect-role{color:var(--gold);font-size:13px;font-weight:800}.suspect-card h4{font-size:20px;margin:4px 0}.checkmark{position:absolute;top:14px;right:14px;background:rgba(93,224,163,.94);color:#06180f;border-radius:999px;padding:8px 10px;font-weight:900;opacity:0;transform:scale(.75);transition:.2s}.selected .checkmark{opacity:1;transform:scale(1)}.evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.evidence-card{position:relative}.ev-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.ev-title{font-weight:900;font-size:18px}.counter{border:1px solid rgba(215,181,109,.35);background:rgba(215,181,109,.11);color:var(--gold2);border-radius:999px;padding:6px 10px;font-weight:900}.evidence-card.complete{border-color:rgba(93,224,163,.55)}.evidence-card.complete .counter{color:var(--ok);border-color:rgba(93,224,163,.45);background:rgba(93,224,163,.1)}.drop{border:1px dashed rgba(255,255,255,.22);border-radius:16px;padding:16px;text-align:center;background:rgba(0,0,0,.16);cursor:pointer;transition:.2s}.drop:hover{border-color:var(--gold);background:rgba(215,181,109,.08)}.drop input{display:none}.file-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.file-item{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.045);padding:10px 12px;border-radius:14px;color:#dfe8f7}.file-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.remove-file{border:0;background:rgba(255,109,122,.12);color:#ff9aa3;border-radius:10px;padding:7px 9px;cursor:pointer}.motive-box{min-height:260px;resize:vertical;line-height:1.5}.judgement-stage{display:grid;grid-template-columns:320px 1fr;gap:22px;align-items:stretch}.judge-photo{border:1px solid var(--line);border-radius:24px;overflow:hidden;background:rgba(0,0,0,.26);position:relative}.judge-photo:after{content:"Sudija Višeg suda";position:absolute;left:18px;bottom:18px;background:rgba(5,10,18,.72);border:1px solid rgba(215,181,109,.28);padding:10px 12px;border-radius:14px;color:var(--gold2);font-weight:800}.judge-photo img{width:100%;height:100%;min-height:410px;object-fit:cover}.big{font-size:16px;padding:15px 18px;margin-top:20px}.actions{position:sticky;bottom:0;margin-top:24px;padding-top:18px;display:flex;gap:12px;align-items:center;background:linear-gradient(180deg,transparent,rgba(7,16,29,.9) 30%)}button{font-family:inherit}.primary,.secondary,.ghost{border:0;border-radius:14px;padding:12px 16px;font-weight:900;cursor:pointer;transition:.2s}.primary{background:linear-gradient(135deg,#c5963c,#f2d48a);color:#1a1205}.primary:disabled{opacity:.45;cursor:not-allowed;filter:saturate(.4)}.secondary{background:rgba(93,224,163,.14);color:var(--ok);border:1px solid rgba(93,224,163,.26)}.ghost{background:rgba(255,255,255,.06);color:var(--text);border:1px solid rgba(255,255,255,.1)}.status{flex:1;color:var(--muted);font-size:14px}.toast{position:fixed;right:22px;bottom:22px;background:rgba(8,15,27,.95);border:1px solid var(--line);color:var(--text);padding:14px 16px;border-radius:16px;box-shadow:0 20px 50px rgba(0,0,0,.35);opacity:0;transform:translateY(16px);transition:.25s;z-index:10}.toast.show{opacity:1;transform:translateY(0)}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes slideIn{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:none}}
@media(max-width:1050px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative}.hero-grid,.judgement-stage{grid-template-columns:1fr}.suspect-grid,.evidence-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.app-shell{padding:12px}.topbar,.people-strip{align-items:flex-start}.topbar{flex-direction:column}.suspect-grid,.evidence-grid{grid-template-columns:1fr}.actions{flex-wrap:wrap}.status{flex-basis:100%;order:-1}h3{font-size:28px}}

/* v5 dodatno: javni tužilac, pogrešno razvrstani dokazi */
.person-badge.prosecutor img{object-position:center top;}
.evidence-card.wrong{
  border-color:rgba(255,109,122,.78) !important;
  box-shadow:0 0 0 4px rgba(255,109,122,.09), inset 0 0 28px rgba(255,109,122,.08);
  animation:wrongPulse .75s ease 2;
}
.evidence-card.wrong .counter{
  color:#ff9aa3;
  border-color:rgba(255,109,122,.55);
  background:rgba(255,109,122,.12);
}
.category-warning{
  margin-top:10px;
  border:1px solid rgba(255,109,122,.28);
  background:rgba(255,109,122,.1);
  color:#ffb3ba;
  border-radius:13px;
  padding:9px 11px;
  font-size:13px;
  font-weight:800;
}
@keyframes wrongPulse{
  0%{transform:translateX(0)}
  25%{transform:translateX(-4px)}
  50%{transform:translateX(4px)}
  100%{transform:translateX(0)}
}


/* Završni epilog: Nikola Radić i Milica Petrović */
.modal-open{overflow:hidden}
.epilogue-overlay{position:fixed;inset:0;background:rgba(2,6,12,.86);backdrop-filter:blur(12px);display:none;place-items:center;padding:22px;z-index:100}
.epilogue-overlay.open{display:grid;animation:fadeUp .35s ease}
.epilogue-card{width:min(720px,100%);max-height:88vh;overflow:hidden;border:1px solid rgba(215,181,109,.35);background:linear-gradient(180deg,#101b2d,#07101d);border-radius:26px;box-shadow:0 35px 100px rgba(0,0,0,.62);padding:24px;position:relative}
.epilogue-close{position:absolute;right:16px;top:13px;border:0;background:transparent;color:#9fb0c5;font-size:30px;cursor:pointer}
.secure-head{font-size:12px;letter-spacing:.15em;color:var(--ok);font-weight:900;padding:3px 38px 18px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.secure-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--ok);box-shadow:0 0 15px var(--ok);margin-right:8px}
.chat-thread{display:flex;flex-direction:column;gap:14px;min-height:270px;max-height:52vh;overflow:auto;padding:22px 4px}
.message{max-width:78%;border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:13px 15px;animation:fadeUp .3s ease}
.message b{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}
.message p{line-height:1.55}
.message.milica{align-self:flex-start;background:rgba(255,255,255,.06)}
.message.milica b{color:var(--gold2)}
.message.nikola{align-self:flex-end;background:rgba(93,224,163,.11);border-color:rgba(93,224,163,.25)}
.message.nikola b{color:var(--ok)}
.epilogue-actions{display:flex;justify-content:flex-end;padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}
