:root{--paper:#f4ecde;--card:#fffaf1;--ink:#3c352c;--muted:#857660;--gold:#9e7944;--gold-soft:#d9c4a0;--line:#e2d4bc;--good:#2f7a57;--bad:#a2513b;--accent:#e7c18b;color-scheme:light}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif}
code{font-size:12px;background:#eadfcb;padding:1px 5px;border-radius:4px}
button,input,select,textarea{font:inherit;color:inherit}
.top{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:14px 28px;background:#f4ecdeee;backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font:600 24px Georgia,serif}
.brand small{display:block;font:600 8px system-ui;letter-spacing:3px;color:var(--muted)}
.compass{font-size:36px;color:var(--gold);line-height:1}
.back{color:var(--gold);text-decoration:none;font-weight:600}
.layout{display:grid;grid-template-columns:300px 1fr;min-height:calc(100vh - 67px)}
.sidebar{border-right:1px solid var(--line);padding:18px;display:flex;flex-direction:column;gap:12px;position:sticky;top:67px;height:calc(100vh - 67px);overflow:auto}
#search{width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:var(--card)}
.group{margin-top:6px}
.group h2{font:600 10px system-ui;letter-spacing:1.8px;text-transform:uppercase;color:var(--gold);margin:12px 0 6px}
.stop-link{display:block;width:100%;text-align:left;border:1px solid transparent;background:none;border-radius:9px;padding:8px 10px;cursor:pointer}
.stop-link:hover{background:#efe3cf}
.stop-link.active{background:var(--card);border-color:var(--gold-soft)}
.stop-link strong{display:block;font:400 15px Georgia,serif}
.stop-link small{color:var(--muted);font-size:11px}
.stop-link .warn{color:var(--bad)}
.muted{color:var(--muted)}
.editor{padding:28px 36px 120px;max-width:980px}
.empty{max-width:560px;margin-top:40px}
.empty h1,.editor h1{font:400 34px Georgia,serif;margin:0 0 8px}
.editor h2{font:400 22px Georgia,serif;margin:34px 0 4px;display:flex;align-items:center;gap:10px}
.editor h2 .count{font:600 11px system-ui;color:var(--muted)}
.lead{color:var(--muted);margin:0 0 18px}
.section-note{color:var(--muted);font-size:12px;margin:0 0 12px}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}
.grid .full{grid-column:1/-1}
label.field{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;color:#5d5144}
label.field span.hint{font-weight:400;color:var(--muted)}
input[type=text],input[type=url],input[type=number],select,textarea{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:var(--card);font-weight:400;font-size:14px}
textarea{min-height:110px;resize:vertical;line-height:1.6}
textarea.small{min-height:64px}
input:focus,select:focus,textarea:focus{outline:2px solid #c9a76c;outline-offset:1px;border-color:#c9a76c}
.range-row{display:flex;align-items:center;gap:12px}
.range-row input[type=range]{flex:1;accent-color:#b48a4c}
.range-row output{min-width:44px;text-align:right;font-variant-numeric:tabular-nums}
.side-pick{display:flex;gap:8px}
.side-pick label{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:9px;border:1px solid var(--line);border-radius:8px;background:var(--card);cursor:pointer;font-weight:500;font-size:13px}
.side-pick input{accent-color:#b48a4c}
.placement{margin-top:12px;padding:12px 14px;border-radius:10px;background:#efe4d1;font-size:13px;color:#5d5144}
.placement.bad{background:#f6e1d9;color:#8a4b39}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin:12px 0;box-shadow:0 1px 0 #fff inset}
.card-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.card-head .badge{font:700 9px system-ui;letter-spacing:1.6px;text-transform:uppercase;color:var(--gold);background:#f1e6d3;border-radius:6px;padding:4px 7px}
.card-head .title{font:400 17px Georgia,serif;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tools{display:flex;gap:4px}
.icon{width:30px;height:30px;border:1px solid var(--line);border-radius:7px;background:#fff;cursor:pointer;color:#6d5a3f}
.icon:hover:not(:disabled){border-color:var(--gold)}
.icon:disabled{opacity:.35;cursor:default}
.icon.del:hover{border-color:var(--bad);color:var(--bad)}
.sub{border-left:2px solid var(--line);padding:4px 0 4px 14px;margin:14px 0}
.sub>h3{font:600 11px system-ui;letter-spacing:1.4px;text-transform:uppercase;color:var(--gold);margin:0 0 8px}
.task{background:#fbf4e8;border:1px solid var(--line);border-radius:10px;padding:12px;margin:10px 0}
.option-row,.source-row{display:flex;gap:8px;align-items:center;margin:6px 0}
.option-row input[type=radio]{accent-color:var(--good);width:18px;height:18px;flex-shrink:0}
.option-row input[type=text],.source-row input{flex:1}
.add{border:1px dashed var(--gold-soft);background:none;color:var(--gold);border-radius:8px;padding:7px 12px;cursor:pointer;font-weight:600;font-size:12px}
.add:hover{background:#efe3cf}
.add-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.file-note{font-size:11px;color:var(--muted);font-weight:400}
button.primary{border:1px solid #d9b67c;background:var(--accent);color:#3d3023;border-radius:9px;padding:10px 18px;font-weight:700;cursor:pointer}
button.primary:hover{background:#f0cd96}
button.primary.wide{width:100%}
button.secondary{border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px 16px;font-weight:600;cursor:pointer;color:#5d5144}
button.danger{border:1px solid #e4c3b8;background:none;color:var(--bad);border-radius:9px;padding:10px 16px;font-weight:600;cursor:pointer}
.savebar{position:fixed;left:300px;right:0;bottom:0;display:flex;align-items:center;gap:10px;padding:12px 36px;background:#f4ecdef2;backdrop-filter:blur(10px);border-top:1px solid var(--line);z-index:4}
.savebar .status{flex:1;font-size:12px;color:var(--muted)}
.savebar .status.dirty{color:#9a6a1f;font-weight:600}
.errors{background:#f6e1d9;border:1px solid #e4c3b8;color:#8a4b39;border-radius:10px;padding:10px 14px;margin:14px 0;font-size:13px}
.errors ul{margin:4px 0 0;padding-left:18px}
#toast{position:fixed;right:24px;bottom:80px;z-index:9;background:#2f3a33;color:#f4f1e8;padding:10px 16px;border-radius:10px;box-shadow:0 10px 30px #0003;font-weight:600}
#toast.bad{background:#7a3a2a}
@media(max-width:860px){.layout{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line)}.savebar{left:0;padding:12px 16px}.editor{padding:20px 16px 120px}.grid{grid-template-columns:1fr}.top{padding:12px 16px}}

.mode-tabs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;padding:4px;background:#e8dcca;border-radius:11px}
.mode-tabs button{border:0;background:none;border-radius:8px;padding:8px 6px;font-size:12px;font-weight:600;color:#7a6850;cursor:pointer}
.mode-tabs button[aria-pressed=true]{background:var(--card);color:var(--ink);box-shadow:0 1px 3px #0001}
.time-row{display:grid;grid-template-columns:minmax(120px,200px) 1fr;gap:8px}
.time-info{font-size:12px;font-weight:500;color:var(--gold);margin-top:2px}
.custom-row{display:flex;align-items:center;gap:8px}
.custom-row input[type=range]{flex:1;accent-color:#b48a4c}
.custom-row input[type=color]{width:54px;height:34px;padding:2px;border:1px solid var(--line);border-radius:7px;background:#fff}
.custom-row input[type=color]:disabled{opacity:.4}
.custom-row output{min-width:40px;text-align:right;font-size:12px}
.custom-row input[type=checkbox]{accent-color:#b48a4c;width:16px;height:16px}
.custom-row input[type=text]{flex:1}

.media-preview img{max-width:100%;max-height:120px;margin-top:6px;border-radius:8px;border:1px solid var(--line);background:repeating-conic-gradient(#e9dfcf 0 25%,#f7f1e6 0 50%) 0 0/16px 16px}
.custom-row select{flex:1}
.plaque-wrap{background:#2a2a30;border-radius:12px;padding:12px;margin:0 0 14px;text-align:center}.plaque-preview{max-width:100%;width:520px;border-radius:6px;box-shadow:0 6px 20px #0006}

/* data check (Kontrola dat) */
#check-btn{width:100%;margin-top:6px}#check-btn.warn{color:var(--bad);border-color:var(--bad)}.check-list{padding-left:20px}.check-list li{margin:7px 0;line-height:1.45}
