:root{
  --papier:#F3EFE6; --atrament:#181712; --bursztyn:#B8722C; --cegla:#C2331C;
  --zielen:#4A5A3A; --linia:rgba(24,23,18,.14); --mut:rgba(24,23,18,.6);
  --mono:'Courier New',monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--papier);color:var(--atrament);font-family:Georgia,'Times New Roman',serif;line-height:1.45}
.top{display:flex;align-items:center;gap:16px;padding:12px 20px;border-bottom:2px solid var(--atrament);position:sticky;top:0;background:var(--papier);z-index:20}
.brand{font-weight:700;letter-spacing:.02em}
.brand span{font-family:var(--mono);font-size:.7em;letter-spacing:.14em;text-transform:uppercase;color:var(--bursztyn)}
.crumbs{font-family:var(--mono);font-size:12px;color:var(--mut);flex:1}
.crumbs a{color:var(--bursztyn);cursor:pointer;text-decoration:none}
main{max-width:1000px;margin:0 auto;padding:20px}
h1{font-size:26px;margin-bottom:12px}
h2{font-size:14px;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;border-top:2px solid var(--atrament);padding-top:8px;margin:18px 0 10px}
.muted{color:var(--mut);font-size:.9em}
.err{color:var(--cegla);font-family:var(--mono);font-size:13px;margin-top:8px}
.card{background:#fff;border:1px solid var(--linia);border-radius:10px;padding:18px;margin-bottom:16px}
.card.center{max-width:420px;margin:40px auto;text-align:center}
.center input{margin:12px 0}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}
.row-between{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
label{display:block;margin:10px 0 4px;font-size:14px}
input,textarea,select{width:100%;padding:10px;border:1px solid var(--linia);border-radius:6px;font-size:15px;font-family:inherit;background:#fff}
textarea{min-height:64px}
button,.ghost{font-family:var(--mono);font-size:13px;letter-spacing:.04em;padding:10px 16px;border:2px solid var(--atrament);background:var(--papier);color:var(--atrament);border-radius:6px;cursor:pointer;text-decoration:none;display:inline-block}
button.primary,.primary{background:var(--atrament);color:var(--papier)}
button.big{width:100%;padding:14px;font-size:15px;margin-top:8px}
button.ghost{background:transparent}
button:disabled{opacity:.5;cursor:wait}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-bottom:16px}
.pj-card{border:1px solid var(--linia);border-radius:8px;padding:14px;cursor:pointer;background:#fff}
.pj-card:hover{border-color:var(--bursztyn)}
.stats{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.stat{background:#fff;border:1px solid var(--linia);border-radius:8px;padding:8px 14px;font-family:var(--mono);font-size:13px}
.stat b{font-size:20px;display:block}
.drop{border:2px dashed var(--linia);border-radius:8px;padding:22px;text-align:center;position:relative;color:var(--mut);cursor:pointer}
.drop.over{border-color:var(--bursztyn);background:rgba(184,114,44,.06)}
.drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.files{font-family:var(--mono);font-size:12px;color:var(--mut);margin:8px 0}
.loclist,.scenepick{max-height:340px;overflow:auto;border:1px solid var(--linia);border-radius:6px;margin-top:6px}
.loc-item{padding:8px 12px;border-bottom:1px solid var(--linia);cursor:pointer;font-size:14px}
.loc-item:hover{background:rgba(184,114,44,.08)}
.loc-item small{color:var(--mut);font-family:var(--mono)}
.scene-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;margin:3px;border:1px solid var(--linia);border-radius:20px;font-size:13px;cursor:pointer}
.scene-chip.on{background:var(--atrament);color:var(--papier)}
.visit{display:flex;justify-content:space-between;align-items:center;padding:10px;border-bottom:1px solid var(--linia);cursor:pointer;font-size:14px}
.badge{font-family:var(--mono);font-size:11px;padding:2px 8px;border-radius:20px;text-transform:uppercase}
.b-processing{background:#e7e0cf;color:var(--bursztyn)} .b-review{background:#dce8de;color:var(--zielen)}
.b-approved{background:var(--zielen);color:#fff} .b-error{background:#f3d9d3;color:var(--cegla)}
.steps{list-style:none;text-align:left;max-width:360px;margin:16px auto;font-family:var(--mono);font-size:14px}
.steps li{padding:6px 0 6px 26px;position:relative;color:var(--mut)}
.steps li.done{color:var(--atrament)} .steps li.done:before{content:"✓";position:absolute;left:0;color:var(--zielen)}
.steps li.active{color:var(--atrament)} .steps li.active:before{content:"▸";position:absolute;left:0;color:var(--bursztyn)}
/* review */
.rv-sum{font-family:var(--mono);font-size:13px}
.rv-sum .warn{color:var(--cegla)}
.fotobox{position:relative;border:1px solid var(--linia);margin-bottom:12px;background:#fff}
.fotobox img{width:100%;display:block}
.pin{position:absolute;width:26px;height:26px;border-radius:50%;color:#fff;font-family:var(--mono);font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;transform:translate(-50%,-50%);border:2px solid #fff;box-shadow:0 1px 6px rgba(0,0,0,.45);cursor:grab;touch-action:none}
.task{display:flex;gap:8px;padding:9px 6px;border-bottom:1px solid var(--linia);align-items:flex-start;font-size:15px}
.task .nr{flex:0 0 24px;height:24px;border-radius:50%;color:#fff;font-family:var(--mono);font-weight:700;font-size:12px;display:flex;align-items:center;justify-content:center}
.task .dash{flex:0 0 24px;text-align:center;color:var(--mut)}
.task .body{flex:1}
.task .meta{font-family:var(--mono);font-size:11px;color:var(--mut);margin-top:2px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.task.warn{background:rgba(194,51,28,.05)}
.tag{font-family:var(--mono);font-size:10px;padding:2px 6px;border-radius:3px;color:#fff;text-transform:uppercase}
.src{color:var(--bursztyn);cursor:pointer}
.chip-review{background:#f3d9d3;color:var(--cegla);font-family:var(--mono);font-size:10px;padding:1px 6px;border-radius:3px}
.task .acts{display:flex;gap:6px}
.task .acts button{padding:3px 8px;font-size:11px;border-width:1px}
.actionbar{display:flex;gap:10px;flex-wrap:wrap;position:sticky;bottom:0;background:var(--papier);padding:12px 0;border-top:2px solid var(--atrament)}
.modal{position:fixed;inset:0;background:rgba(24,23,18,.5);align-items:center;justify-content:center;z-index:50;padding:20px}
.modal[hidden]{display:none}
.modal:not([hidden]){display:flex}
.modal-box{background:#fff;border:2px solid var(--atrament);border-radius:10px;padding:20px;max-width:520px;width:100%}
.modal-box h3{font-family:var(--mono);font-size:13px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px}
.modal-box .rowbtn{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.filmhint{margin:8px 2px 0;font-size:13px}
.softhint{margin:6px 2px 0;font-size:13px;color:var(--bursztyn);background:rgba(184,114,44,.08);border-left:3px solid var(--bursztyn);padding:8px 10px;border-radius:4px}
.privacy{border:1px solid var(--linia);border-radius:8px;padding:12px;margin:12px 0;background:rgba(184,114,44,.05)}
.privacy .chk{display:flex;gap:8px;align-items:flex-start;margin-top:8px;font-size:14px;cursor:pointer}
.privacy .chk input{width:auto;margin-top:3px}
@media(max-width:760px){.cols,.two{grid-template-columns:1fr}}
