
:root{--bg:#f7f9fc;--text:#171c26;--muted:#6f7787;--primary:#3a63d8;--accent:#5ec9a1;--danger:#e45b6b;--card:#fff;--border:#e0e5ee;--sunday:#111;}
*{box-sizing:border-box} html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,Segoe UI,Roboto,Arial,sans-serif}
.topbar{position:sticky;top:0;background:var(--card);border-bottom:1px solid var(--border);padding:14px 18px;z-index:10;display:flex;align-items:center;gap:10px}
.topbar img{width:28px;height:28px}
.container{padding:18px}
h1{font-size:26px;margin:12px 0 8px} h2{font-size:20px;margin:12px 0 8px}
.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:14px;margin:12px 0}
.grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.cell{border:1px solid var(--border);border-radius:12px;background:#f1f4f9;min-height:130px;padding:8px;position:relative}
.cell .edit{position:static;font-size:12px;border:1px solid var(--border);background:#fff;border-radius:8px;padding:2px 6px;cursor:pointer;margin-left:auto}
.cell.sunday{background:var(--sunday);color:#fff;border-color:#000}
.row{display:flex;gap:8px;align-items:center;justify-content:space-between}
.badge{background:#e9eefb;color:#243869;border-radius:999px;padding:2px 8px}
.table{width:100%;border-collapse:collapse}
.table th,.table td{border:1px solid var(--border);padding:6px 8px;text-align:left;font-size:13px}
.btn{display:inline-block;background:var(--primary);color:#fff;border:none;border-radius:12px;padding:10px 14px;font-weight:600;margin-right:8px;cursor:pointer}
.btn.ghost{background:transparent;color:#333;border:1px solid var(--border)}
.small{color:#6f7787;font-size:12px}
.nav{position:sticky;bottom:0;background:var(--card);border-top:1px solid var(--border);display:flex;justify-content:space-around;padding:10px 6px}
.nav button{background:none;border:none;color:#6f7787;font-size:13px}
.nav button.active{color:#3a63d8;font-weight:600}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.35);display:none;align-items:center;justify-content:center;padding:18px}
.modal .box{background:#fff;border:1px solid var(--border);border-radius:16px;padding:16px;max-width:640px;width:100%}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.grid3{display:grid;grid-template-columns:1fr 1fr;gap:12px}
select,input[type="text"],input[type="number"]{width:100%;padding:8px;border:1px solid var(--border);border-radius:10px}
.warn{background:#fff7da;border:1px dashed #f2d46b;border-radius:10px;padding:8px;margin-top:8px;font-size:12px;color:#6b5d2a}
.tag{display:inline-block;background:#eef2ff;border:1px solid #d7defa;border-radius:999px;padding:2px 8px;margin:2px 6px 0 0}


/* === Print/PDF styles === */
@media print {
  body { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .topbar, .nav, #modal, #new, #zasady, #alerts, input, select, .btn, .small { display: none !important; }
  .container { padding: 0 !important; }
  .card { border: none !important; box-shadow: none !important; padding: 8px !important; margin: 6px 0 !important; }
  h1, h2 { margin: 4px 0 !important; }
  /* Calendar compaction */
  .grid { gap: 4px !important; }
  .cell { min-height: 96px !important; background: #fff !important; color: #000 !important; }
  .cell.sunday { background: #f3f3f3 !important; color: #000 !important; }
  .cell .edit { display: none !important; }
}
