/* Momentky – styl plakátů plesu: téměř černá, krémová, červená */
@font-face{font-family:"Shrikhand";src:url(fonts/Shrikhand.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Archivo Black";src:url(fonts/ArchivoBlack.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Caveat";src:url(fonts/Caveat.woff2) format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:"Nunito";src:url(fonts/Nunito.woff2) format("woff2");font-weight:200 1000;font-display:swap}
:root{--ink:#1d1816;--cream:#f2e4cc;--cream2:#cdbfa9;--paper:#f4e8d2;--red:#e5402e;--red-dk:#8f2116;--muted:#8c7f74;--text:#231c19;--ok:#3f8f66;--wait:#d6a23a;
  --f-groovy:"Shrikhand",Georgia,serif;--f-caps:"Archivo Black","Arial Black",sans-serif;--f-ui:"Nunito",system-ui,sans-serif;--f-hand:"Caveat",cursive;color-scheme:dark}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0}
body{font-family:var(--f-ui);font-size:16px;line-height:1.5;color:var(--cream);background:var(--ink)}
:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.wrap{max-width:560px;margin:0 auto;padding:max(20px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 48px max(16px,env(safe-area-inset-left));display:grid;gap:16px}
.top{font-family:var(--f-caps);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--cream2);text-align:center}
.title{font-family:var(--f-groovy);font-weight:400;font-size:40px;line-height:1;text-align:center;margin:0}
.title b{display:block;font-weight:400;color:var(--red);font-size:52px;text-shadow:3px 3px 0 #000}
.pips{text-align:center;letter-spacing:.5em;margin:-6px 0 0}.pips i{font-style:normal}.pips .r{color:var(--red)}
.hello{text-align:center;margin:0;color:var(--cream2)}.hello b{color:var(--cream)}
.sheet{color-scheme:light;background:var(--cream);color:var(--text);border-radius:16px;padding:16px;display:grid;gap:12px;box-shadow:0 18px 40px rgba(0,0,0,.45)}
.sheet h2,.h-list{font-family:var(--f-groovy);font-weight:400;font-size:26px;margin:0;line-height:1.1}
.h-list{color:var(--cream)}
.pickers{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.pick{display:block;text-align:center;font-family:var(--f-caps);font-size:13px;color:var(--ink);background:#fffaf1;border:1.5px dashed #b9a487;border-radius:12px;padding:12px 6px;cursor:pointer}
.pick span{display:block;font-size:26px;line-height:1.2;font-family:system-ui}
.pick.wide{font-size:14px}
input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.draft{display:flex;gap:8px;flex-wrap:wrap}
.draft:empty{display:none}
.dthumb{position:relative;width:88px;height:88px;border-radius:10px;background:#e2d3bb center/cover no-repeat;overflow:hidden}
.dthumb small{position:absolute;left:4px;bottom:4px;background:rgba(29,24,22,.82);color:var(--cream);font-size:11px;font-weight:800;border-radius:6px;padding:1px 5px}
.dthumb.bad{outline:3px solid var(--red)}
.dthumb button{position:absolute;right:3px;top:3px;width:24px;height:24px;border-radius:50%;border:0;background:rgba(29,24,22,.85);color:var(--cream);font-weight:900;cursor:pointer;line-height:1}
.lab{display:block;font-family:var(--f-caps);font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:#4a3d36}
.opt{font-family:var(--f-ui);text-transform:none;letter-spacing:0;color:var(--muted)}
textarea{width:100%;font:inherit;font-size:17px;border:1px solid #cdbca2;border-radius:12px;padding:10px 12px;background:#fffaf1;color:var(--text);resize:none}
.send{font-family:var(--f-caps);font-size:16px;letter-spacing:.08em;background:var(--red);color:var(--cream);border:0;border-radius:12px;padding:15px;cursor:pointer;box-shadow:0 4px 0 var(--red-dk)}
.send.alt{background:var(--ink);box-shadow:0 4px 0 #000}
.send:disabled{opacity:.45;cursor:not-allowed}
.msg{margin:0;font-weight:800;font-size:15px}.msg:empty{display:none}.msg.ok{color:#1f6b3f}.msg.err{color:#b8281a}.msg.warn{color:#8a5a00}
.warn{margin:0;font-weight:800;color:#8a5a00}
.small{font-size:12.5px;color:var(--muted);margin:0;line-height:1.45}
.sum{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center}
.sum div{background:#fffaf1;border-radius:10px;padding:8px 4px;font-size:12px;color:#5c4d45}
.sum b{display:block;font-family:var(--f-groovy);font-weight:400;font-size:26px;line-height:1.1;color:var(--ink)}
.sum .r b{color:var(--red)}
.bar{height:10px;border-radius:5px;background:#e2d3bb;overflow:hidden}.bar div{height:100%;width:0;background:var(--red);transition:width .3s}
.list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.list li{display:grid;grid-template-columns:76px 1fr auto;gap:12px;align-items:center;background:rgba(242,228,204,.06);border:1px solid rgba(242,228,204,.14);border-radius:14px;padding:10px}
.list img{width:76px;height:76px;object-fit:cover;border-radius:8px;display:block;background:#3a322d}
.list .info{min-width:0}
.list .info p{margin:0;font-family:var(--f-hand);font-size:21px;line-height:1.05;color:var(--cream);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.list .meta{font-size:12px;color:var(--cream2)}
.list .bar{height:6px;margin-top:6px}
.pill{font-family:var(--f-caps);font-size:11px;letter-spacing:.04em;padding:4px 8px;border-radius:99px;white-space:nowrap;text-align:center}
.pill.ceka{background:rgba(214,162,58,.18);color:var(--wait)}.pill.nahrava{background:rgba(229,64,46,.2);color:#ff8b7d}.pill.hotovo{background:rgba(63,143,102,.2);color:#7fd1a6}
.list li.empty{display:block;color:var(--cream2);text-align:center;font-size:14px}
.list li{align-items:start}
.pill{align-self:start}
.chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.chip{font:inherit;font-size:12px;font-weight:800;border-radius:99px;padding:3px 9px;border:1.5px solid rgba(242,228,204,.35);background:transparent;color:var(--cream2);cursor:pointer}
.chip[aria-pressed=true]{background:var(--cream);color:var(--ink);border-color:var(--cream)}
.chip:disabled{cursor:default;opacity:.7}
.akce{display:flex;gap:14px;margin-top:6px}
.link{background:none;border:0;color:var(--cream2);font:inherit;font-size:12px;text-decoration:underline;cursor:pointer;padding:0}
textarea.edit{font-size:15px;padding:6px 8px;margin:0}
.small.light{color:var(--cream2);margin:-6px 0 0}
.pro{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center}
.pro legend{padding:0;margin-bottom:6px;width:100%}
.pro label{display:flex;align-items:center;gap:6px;font-weight:700;font-size:15px}
.pro input{width:20px;height:20px;accent-color:var(--red);margin:0}
@media (max-width:420px){.list li{grid-template-columns:64px 1fr}.list img{width:64px;height:64px}.list .pill{grid-column:2;justify-self:start}}
/* správa */
.admin{max-width:1100px}
.admin table{width:100%;border-collapse:collapse;font-size:14px;color:var(--text)}
.admin th,.admin td{text-align:left;padding:8px 10px;border-bottom:1px solid #d8c8ae;vertical-align:middle}
.admin th{font-family:var(--f-caps);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#6a5a50}
.admin .tw{overflow-x:auto}
.admin input,.admin select{font:inherit;font-size:15px;border:1px solid #cdbca2;border-radius:10px;padding:9px 10px;background:#fffaf1;color:var(--text)}
.admin .row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.admin .btn{font-family:var(--f-caps);font-size:13px;border:0;border-radius:10px;padding:10px 14px;background:var(--ink);color:var(--cream);cursor:pointer;text-decoration:none;display:inline-block}
.admin .btn.red{background:var(--red)}
.admin .btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}
.admin code{font-size:12px;word-break:break-all}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.stats div{background:#fffaf1;border-radius:12px;padding:10px 12px}
.stats b{display:block;font-family:var(--f-groovy);font-weight:400;font-size:28px;color:var(--red)}
.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}
.thumbs figure{margin:0;position:relative}
.thumbs img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;display:block;background:#e2d3bb}
.thumbs figcaption{font-size:11px;color:#5c4d45;line-height:1.3;margin-top:2px}
.thumbs .st{position:absolute;left:4px;top:4px}
.admin .thumbs{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}
.admin .thumbs h3.den{grid-column:1/-1;margin:8px 0 -4px;font-family:var(--f-caps);font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#6a5a50}
.admin .thumbs img{cursor:zoom-in}
.admin .thumbs figure.skryta img{opacity:.35;filter:grayscale(1)}
.admin .thumbs .vyb{position:absolute;right:6px;top:6px;width:20px;height:20px;accent-color:var(--red)}
.admin .thumbs figcaption{font-size:12px}
.admin .chip{color:#5c4d45;border-color:#cdbca2}
.admin .chip[aria-pressed=true]{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.admin .link{color:#5c4d45}
.admin .hromadne{gap:6px}.admin .hromadne .btn{padding:7px 10px;font-size:12px}
.admin .pill.ceka{background:#f3dfb0;color:#7a5200}.admin .pill.nahrava{background:#f6c9c2;color:#8f2116}.admin .pill.hotovo{background:#cfe8d9;color:#1f6b3f}
.mk-detail{border:0;border-radius:16px;padding:14px;max-width:min(92vw,720px);background:var(--cream);color:var(--text)}
.mk-detail::backdrop{background:rgba(0,0,0,.75)}
.mk-detail img,.mk-detail video{display:block;max-width:100%;max-height:70vh;margin:0 auto 10px;border-radius:10px;background:#000}
.mk-detail p{margin:4px 0}
a.pick{text-decoration:none}
