:root{
    --marek:#3b82f6; --kika:#ec4899; --deti:#f59e0b; --vlastni:#10b981;
    --bg:#f6f4ef; --card:#ffffff; --line:#e3ddd2; --ink:#3a3528; --muted:#8b8480;
  }
  *{box-sizing:border-box}
  body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
       background:var(--bg);color:#3a3528;height:100vh;overflow:hidden;display:flex;flex-direction:column}
  header{background:#fff;border-bottom:1px solid var(--line);padding:10px 16px;display:flex;
         align-items:center;gap:16px;flex-wrap:wrap;box-shadow:0 1px 4px rgba(0,0,0,.04)}
  header h1{font-size:18px;margin:0;font-weight:700;letter-spacing:.3px}
  header h1 small{font-weight:400;color:#999;font-size:13px}
  .stats{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;align-items:center}
  .stat b{font-size:15px}
  .stat.warn{color:#c0392b;font-weight:600}
  .spacer{flex:1}
  .toolbar{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
  .room-ctl{display:flex;align-items:center;gap:4px;font-size:13px;border:1px solid var(--line);
            border-radius:8px;padding:3px 8px;background:#fff}
  .room-ctl input{width:56px;padding:3px 5px;border:1px solid var(--line);border-radius:6px;font:inherit}
  .zoom-ctl{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}
  .zoom-ctl button{border:none;border-radius:0;padding:6px 10px}
  .zoom-ctl button:nth-child(2){min-width:52px;font-variant-numeric:tabular-nums;border-left:1px solid var(--line);border-right:1px solid var(--line)}
  button{font:inherit;cursor:pointer;border:1px solid var(--line);background:#fff;color:#3a3528;
         padding:6px 11px;border-radius:8px;transition:.12s}
  button:hover{background:#f0ece3;border-color:#cfc7b8}
  button.primary{background:#3a3528;color:#fff;border-color:#3a3528}
  button.primary:hover{background:#56503e}
  .main{flex:1;display:flex;min-height:0}
  /* ---- pool ---- */
  #pool{width:260px;min-width:260px;background:#fff;border-right:1px solid var(--line);
        display:flex;flex-direction:column}
  .pool-head{padding:10px;border-bottom:1px solid var(--line)}
  .pool-head input[type=text]{width:100%;padding:7px 9px;border:1px solid var(--line);border-radius:8px;font:inherit}
  .filters{display:flex;gap:5px;margin-top:8px;flex-wrap:wrap}
  .filters button{padding:4px 9px;font-size:12px;border-radius:20px}
  .filters button.active{background:#3a3528;color:#fff;border-color:#3a3528}
  .pool-count{font-size:12px;color:#999;margin-top:7px}
  #poolList{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:5px}
  .add-row{padding:9px;border-top:1px solid var(--line);display:flex;gap:5px}
  .add-row input{flex:1;padding:6px 8px;border:1px solid var(--line);border-radius:8px;font:inherit}
  /* ---- guest chip ---- */
  .guest{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:8px;cursor:grab;
         font-size:13px;background:#faf8f3;border:1px solid var(--line);user-select:none}
  .guest:active{cursor:grabbing}
  .guest .dot{width:9px;height:9px;border-radius:50%;flex:none}
  .guest .nm{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .guest.sel{outline:2px solid #3a3528;outline-offset:1px}
  .guest .x{opacity:0;color:#c0392b;font-weight:700;padding:0 3px;border:none;background:none}
  .guest:hover .x{opacity:.6}
  .guest .x:hover{opacity:1}
  .dot.Marek{background:var(--marek)} .dot.Kika{background:var(--kika)}
  .dot.Děti{background:var(--deti)} .dot.Vlastní{background:var(--vlastni)}
  /* ---- board / room ---- */
  #board{flex:1;overflow:auto;padding:18px}
  .room-zoom{position:relative}
  .room{position:absolute;top:0;left:0;transform-origin:top left;
        background:var(--card);border:2px solid var(--line);border-radius:8px;
        background-image:linear-gradient(#0000000a 1px,transparent 1px),linear-gradient(90deg,#0000000a 1px,transparent 1px);
        background-size:40px 40px;box-shadow:inset 0 0 0 1px #fff, 0 2px 10px rgba(0,0,0,.05)}
  /* stůl = jen plocha + židle, bez rámečku */
  .table-card{position:absolute;display:flex;flex-direction:column;background:none;border:none;padding:0}
  .table-card.moving{z-index:20}
  .table-card.moving .furniture{box-shadow:0 8px 22px rgba(0,0,0,.22)}
  .surface-wrap{position:relative;align-self:center;overflow:visible}
  .surface{position:relative;transform-origin:top left}
  .furniture{position:absolute;background:#efe9dc;border:2px solid #d8cfbb;
             display:flex;align-items:center;justify-content:center}
  .furniture.round{border-radius:50%}
  .furniture.rect{border-radius:10px}
  /* název + počet + nástroje uprostřed stolu */
  .tcenter{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
           text-align:center;padding:4px 8px;cursor:move;touch-action:none;max-width:100%}
  .tcenter .tname{font-weight:700;font-size:13px;color:#7c6f53;line-height:1.15;
                  overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .tcenter .cnt{font-size:11px;color:#9a8f73;background:#fff8;padding:1px 7px;border-radius:20px}
  .tcenter .cnt.full{background:#d4edda;color:#1e7e34}
  .tcenter .cnt.over{background:#f8d7da;color:#c0392b}
  .tcenter .tools{display:flex;gap:3px;opacity:0;transition:.12s;pointer-events:none}
  .table-card:hover .tcenter .tools{opacity:1;pointer-events:auto}
  .tcenter .mini{padding:2px 6px;font-size:12px;border-radius:6px;line-height:1;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.12)}
  .seat{position:absolute;width:74px;height:34px;transform:translate(-50%,-50%);
        border-radius:8px;border:1.5px dashed #cfc7b8;background:#fcfbf7;
        display:flex;align-items:center;justify-content:center;font-size:11px;color:#bbb;
        overflow:hidden;text-align:center;padding:0 3px}
  .seat{cursor:grab;touch-action:none}
  .seat.occ{border-style:solid;color:#3a3528;font-weight:500;cursor:grab}
  .seat.occ.Marek{background:#e7f0ff;border-color:var(--marek)}
  .seat.occ.Kika{background:#fde7f1;border-color:var(--kika)}
  .seat.occ.Děti{background:#fff3dd;border-color:var(--deti)}
  .seat.occ.Vlastní{background:#e3f7ee;border-color:var(--vlastni)}
  .seat.dragover{background:#fff7cc;border-color:#e0c200}
  /* režim posouvání míst */
  body.editing-seats #editSeatsBtn{background:#3a3528;color:#fff;border-color:#3a3528}
  body.editing-seats .seat{cursor:move;border-style:solid;border-color:#3a3528;touch-action:none}
  body.editing-seats .room{outline:2px dashed #b9a; outline-offset:-2px}
  .seat.moving{box-shadow:0 4px 12px rgba(0,0,0,.25);z-index:10;border-color:#3a3528}
  .table-card.dragover{border-color:#3a3528;box-shadow:0 0 0 2px #3a3528 inset}
  #poolList.dragover{background:#f7f2e6}
  .hint{font-size:12px;color:#999;padding:10px 16px;border-top:1px solid var(--line);background:#fff}
  /* ---- print ---- */
  @media print{
    body{height:auto;overflow:visible}
    header,#pool,.hint,.tcenter .tools{display:none!important}
    .main{display:block}
    #board{overflow:visible;padding:0}
    .room{border:none;box-shadow:none;background:none;transform:none!important}
    .room-zoom{width:auto!important;height:auto!important}
    .tcenter{cursor:auto}
    .table-card{break-inside:avoid;page-break-inside:avoid}
  }
