*{box-sizing:border-box}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;margin:0;background:#0b1020;color:#e9eefb}
h1,h2,h3{margin:.25rem 0 .5rem}.container{width:min(1200px,96vw);margin:0 auto;padding:1rem}.container.small{width:min(520px,96vw)}
.header-row{display:flex;justify-content:space-between;align-items:center;gap:1rem}.toolbar{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}
button,.btn-primary,.btn-secondary,.btn-danger{border:0;padding:.6rem .9rem;border-radius:12px;cursor:pointer}
.btn-primary{background:#4f7cff;color:#fff}.btn-secondary{background:#2a3357;color:#e9eefb}.btn-danger{background:#de3b3b;color:#fff}.btn-danger.small{padding:.35rem .5rem;border-radius:8px;font-size:.85rem}
.muted{color:#a9b3d5;font-size:.9rem}.alert{background:#3a2a2a;border:1px solid #6a4040;padding:.6rem .75rem;border-radius:10px;margin-bottom:.75rem}
.card{background:#0f1530;border:1px solid #28325a;border-radius:16px;padding:1rem}
.list{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}.list-item{display:flex;justify-content:space-between;align-items:center;background:#0f1530;border:1px solid #28325a;border-radius:12px;padding:.5rem .75rem}
.actions{display:flex;gap:.5rem;align-items:center}
#canvasWrap{position:relative;background:#0f1530;border:1px solid #28325a;border-radius:16px;padding:.75rem;box-shadow:0 10px 30px rgba(0,0,0,.25)}
#sitePlan{width:100%;height:auto;display:block;border-radius:12px;user-select:none}
#hotspots{position:absolute;inset:.75rem;pointer-events:none}
.hotspot{position:absolute;width:18px;height:18px;border-radius:50%;transform:translate(-50%,-50%);pointer-events:auto;outline:3px solid rgba(255,255,255,.15);box-shadow:0 10px 20px rgba(0,0,0,.2), inset 0 0 0 2px rgba(0,0,0,.35)}
.hotspot.available{background:#35d16f}.hotspot.reserved{background:#eaff00}.hotspot.booking{background:#ff3b3b}.hotspot.akad{background:#000;border:1px solid #888}
.hint{position:absolute;right:1rem;bottom:1rem;background:rgba(41,52,95,.85);padding:.5rem .75rem;border-radius:10px;font-size:.9rem}
.modal{position:fixed;inset:0;display:grid;place-items:center;background:rgba(5,8,18,.6);backdrop-filter:blur(2px)}.modal.hidden{display:none}
.modal-card{width:min(560px,92vw);background:#0f1530;border:1px solid #28325a;border-radius:16px;padding:1rem;box-shadow:0 10px 30px rgba(0,0,0,.3)}.modal-card.large{width:min(980px,96vw)}
label{display:block;margin:.5rem 0 .25rem}textarea,input[type='text'],input[type='number'],input[type='file'],select{width:100%;background:#0b1020;border:1px solid #28325a;color:#e9eefb;border-radius:10px;padding:.6rem .75rem}
.modal-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.75rem}.divider{border:none;border-top:1px solid #28325a;margin:1rem 0}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.grid .span-2{grid-column:span 2}@media (max-width:800px){.grid{grid-template-columns:1fr 1fr}.grid .span-2{grid-column:span 2}}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem;margin-top:.75rem}.photo-item{border:1px solid #28325a;border-radius:10px;padding:.35rem;display:grid;gap:.35rem}
.photo-item img{width:100%;height:120px;object-fit:cover;display:block;border-radius:8px}
.pdf-list{list-style:disc;padding-left:1.25rem}.pdf-list li{margin:.35rem 0;display:flex;gap:.5rem;align-items:center}