  /* ===== PANEL ADMINISTRATORA ===== */
  .adm-section { border:1px solid var(--line-soft); border-radius:10px; margin-bottom:10px; overflow:hidden; }
  .adm-section-hdr { font-size:13px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--ink); padding:12px 14px; cursor:pointer; list-style:none; background:var(--paper-dark); display:flex; align-items:center; gap:6px; }
  .adm-section-hdr::before { content:'▶'; font-size:9px; color:var(--ink-faded); transition:transform .2s; }
  .adm-section[open] > .adm-section-hdr::before { transform:rotate(90deg); }
  .adm-section-hdr::-webkit-details-marker { display:none; }
  .adm-sub { margin:0 12px 10px; border:1px solid var(--line-soft); border-radius:8px; overflow:hidden; }
  .adm-sub-hdr { font-size:13px; font-weight:600; color:var(--ink-faded); padding:8px 12px; cursor:pointer; list-style:none; background:transparent; display:flex; align-items:center; gap:5px; }
  .adm-sub-hdr::before { content:'›'; font-size:14px; color:var(--ink-faded); transition:transform .2s; line-height:1; }
  .adm-sub[open] > .adm-sub-hdr::before { transform:rotate(90deg); }
  .adm-sub-hdr::-webkit-details-marker { display:none; }
  .adm-sub-body { padding:8px 12px 12px; }
  .adm-params { display:flex; flex-direction:column; gap:6px; }
  .adm-param-row { display:flex; justify-content:space-between; align-items:center; gap:12px; }
  .adm-param-lbl { font-size:14px; color:var(--ink); flex:1; line-height:1.4; }
  .adm-param-btn {
    width:86px; flex-shrink:0;
    font-family:'Inter Tight',sans-serif; font-size:14px; font-weight:400; color:var(--ink);
    text-align:center; border:1px solid var(--line); border-radius:8px;
    background:var(--paper); cursor:pointer; padding:8px 6px; min-height:40px;
    transition:border-color .15s;
  }
  .adm-param-btn:hover { border-color:var(--accent); }
  .adm-param-actions { display:flex; align-items:center; gap:12px; padding:8px 12px 12px; }
  .adm-input {
    width:100%; box-sizing:border-box;
    padding:10px 12px; border:1px solid var(--line); border-radius:8px;
    font-family:'Inter Tight',sans-serif; font-size:14px; font-weight:400;
    background:var(--paper); color:var(--ink);
    -webkit-appearance:none; appearance:none;
  }
  .adm-input:focus { outline:none; border-color:var(--accent); }
  .adm-invite-form { display:flex; flex-direction:column; gap:8px; }
  .adm-inv-row { display:flex; justify-content:space-between; align-items:center; padding:6px 0; border-bottom:1px solid var(--line-soft); }
  .adm-inv-row:last-child { border-bottom:none; }
  .adm-colors { display:flex; flex-direction:column; gap:8px; }
  .adm-color-row { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:4px 0; border-bottom:1px solid var(--line-soft); }
  .adm-color-row:last-child { border-bottom:none; }
  .adm-color-lbl { flex:1; }
  .adm-color-lbl-lines { font-size:14px; color:var(--ink-soft); line-height:1.5; }
  .adm-color-lbl-name  { font-size:12px; color:var(--ink-faded); margin-top:2px; font-style:italic; }
  .adm-color-inputs { display:flex; align-items:center; gap:6px; flex-shrink:0; }
  .adm-color-hex { width:72px; height:32px; box-sizing:border-box; font-size:13px; padding:0 8px; font-family:'Inter Tight',sans-serif; }
  .adm-color-swatch { width:32px; height:32px; border-radius:6px; border:1px solid var(--line); flex-shrink:0; display:block; cursor:pointer; transition:transform .1s; }
  .adm-color-swatch:hover { transform:scale(1.06); border-color:var(--ink-soft); }
  .adm-color-reset {
    width:32px; height:32px; border-radius:50%;
    border:1px solid var(--line); background:var(--paper-dark);
    color:var(--ink-faded); font-size:16px;
    cursor:pointer; line-height:1; display:inline-flex;
    align-items:center; justify-content:center; flex-shrink:0;
    transition:background .15s, color .15s;
  }
  .adm-color-reset:hover { background:var(--line); color:var(--ink); }
  .adm-dict-hint { font-size:12px; color:var(--ink-faded); margin-bottom:8px; line-height:1.4; }
  .adm-dict-chips { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:10px; }
  .adm-dict-chip { display:inline-flex; align-items:center; gap:3px; background:var(--paper-dark); border:1px solid var(--line); border-radius:20px; padding:4px 6px 4px 12px; font-size:13px; transition:border-color .15s; }
  .adm-dict-chip.editing { border-color:var(--accent); border-radius:10px; padding:6px 8px; }
  .adm-dict-chip-lbl { cursor:pointer; color:var(--ink); }
  .adm-dict-chip-lbl:hover { color:var(--accent); }
  .adm-dict-chip-del { background:none; border:none; cursor:pointer; color:var(--ink-faded); font-size:17px; line-height:1; padding:0 3px; }
  .adm-dict-chip-del:hover { color:var(--accent); }
  .adm-dict-chip-input { border:none; background:none; font-size:13px; color:var(--ink); width:130px; outline:none; font-family:'Inter Tight',sans-serif; }
  .adm-dict-add-row { display:flex; gap:8px; align-items:center; }
  .adm-ei-row { display:flex; flex-wrap:wrap; gap:8px; }
  .hist-btn { flex:1; background:var(--paper); border:1px solid var(--line); color:var(--ink); padding:9px 8px; border-radius:8px; font-family:inherit; font-size:14px; font-weight:600; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:6px; transition:all .15s; }
  .hist-btn:hover { background:var(--paper-dark); }
  .hist-btn:active { transform:scale(0.97); background:var(--paper-dark); }
  .hist-btn-icon { font-size:14px; }
  .adm-export-row { display:flex; flex-direction:column; gap:6px; }
  .adm-export-lbl { font-size:13px; font-weight:700; color:var(--ink-faded); text-transform:uppercase; letter-spacing:.05em; }

  /* Miesiąc */
  .cal-month-wrap { margin:0 8px; border-radius:8px; overflow:hidden; border:1px solid var(--line-soft); }
  .cal-mscroll { display:flex; overflow-x:scroll; scroll-snap-type:x mandatory; scrollbar-width:none; -webkit-overflow-scrolling:touch; cursor:grab; user-select:none; }
  .cal-mscroll:active { cursor:grabbing; }
  .cal-mscroll::-webkit-scrollbar { display:none; }
  .cal-mslide { flex-shrink:0; width:100%; scroll-snap-align:start; }
  .cal-month-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:1px; background:var(--line-soft); }
  .cal-month-dow { background:var(--paper-dark); text-align:center; font-size:11px; font-weight:700; color:var(--ink-faded); padding:7px 0; text-transform:uppercase; letter-spacing:.04em; }
  .cal-month-cell { background:var(--paper); padding:4px 3px; min-height:68px; cursor:pointer; overflow:hidden; }
  .cal-month-cell:hover { background:var(--paper-dark); }
  .cal-month-today { background:var(--paper-dark) !important; }
  .cal-month-other { opacity:.38; }
  .cal-month-holiday { background:#fef3c7; }
  .cal-month-cell-num { font-size:13px; font-weight:700; color:var(--ink); margin-bottom:2px; }
  .cal-month-num-today { display:inline-flex; align-items:center; justify-content:center; background:var(--ink); color:var(--paper); border-radius:50%; width:22px; height:22px; font-size:12px; }
  .cal-month-holiday-lbl { font-size:9px; color:#92400e; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; margin-bottom:2px; }
  .cal-month-cell-evs { display:flex; flex-direction:column; gap:1px; }
  .cal-month-ev { font-size:10px; padding:1px 4px; border-radius:3px; color:#fff; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; cursor:pointer; }
  .cal-month-more { font-size:10px; color:var(--ink-faded); padding:0 4px; }

  /* Checkbox label (modal formularza) */
  .cal-check-label { display:flex; align-items:center; gap:5px; font-size:13px; color:var(--ink-soft); cursor:pointer; }
  .ev-clinic-chip { transition: border-color 0.15s; }
  .ev-clinic-chip:hover { border-color: var(--accent) !important; }

  /* ── Dokumenty ───────────────────────────────────────────── */
  .docs-toolbar { display:flex; justify-content:space-between; align-items:center; padding:10px 0 8px; gap:8px; flex-wrap:wrap; }
  .docs-views   { display:flex; gap:8px; }
  .docs-view-btn { padding:5px 14px; border:1px solid var(--line); border-radius:20px; background:none; font-size:13px; color:var(--ink-faded); cursor:pointer; font-family:inherit; transition:border-color .15s, color .15s; white-space:nowrap; }
  .docs-view-btn:hover { border-color:var(--accent); }
  .docs-view-btn.docs-view-active { color:var(--ink); background:none; border-color:var(--line); }
  .docs-filter-bar { display:flex; gap:8px; margin-bottom:8px; flex-wrap:wrap; }

  /* Legenda kategorii */
  .docs-legend { display:flex; flex-wrap:wrap; gap:5px 14px; margin-bottom:14px; }
  .docs-legend-item { display:flex; align-items:center; gap:5px; font-size:12px; color:var(--ink-soft); }
  .docs-legend-dot  { width:9px; height:9px; border-radius:50%; flex-shrink:0; }

  /* Kafelki */
  .docs-tiles { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  .doc-tile {
    background:var(--paper); border:1px solid var(--line); border-radius:12px;
    overflow:hidden; box-shadow:var(--shadow); cursor:pointer;
    transition:box-shadow .15s, transform .1s;
  }
  .doc-tile:active { transform:scale(0.97); }
  .doc-tile-bar  { height:4px; width:100%; }
  .doc-tile-body { padding:12px; }
  .doc-tile-icon { font-size:28px; margin-bottom:8px; line-height:1; }
  .doc-tile-name { font-weight:700; font-size:14px; color:var(--ink); line-height:1.3; margin-bottom:4px; word-break:break-word; }
  .doc-tile-date { font-size:12px; color:var(--ink-soft); margin-bottom:2px; }
  .doc-tile-meta { font-size:11px; color:var(--ink-faded); font-weight:500; text-transform:uppercase; letter-spacing:.04em; }
  .doc-tile-tags { margin-top:6px; display:flex; flex-wrap:wrap; gap:4px; }

  /* Lista */
  .doc-row {
    display:flex; align-items:center; gap:12px; padding:12px 0;
    border-bottom:1px solid var(--line-soft); cursor:pointer;
    transition:background .1s;
  }
  .doc-row:last-child { border-bottom:none; }
  .doc-row:active { background:var(--paper-dark); border-radius:6px; }
  .doc-row-dot   { width:10px; height:10px; border-radius:50%; flex-shrink:0; }
  .doc-row-body  { flex:1; min-width:0; }
  .doc-row-name  { font-weight:600; font-size:17px; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .doc-row-meta  { font-size:12px; color:var(--ink-faded); margin-top:2px; }
  .doc-row-tags  { margin-top:2px; }
  .doc-row-arrow { color:var(--ink-faded); font-size:22px; font-weight:300; padding:0 4px; flex-shrink:0; }

  /* Tagi (podgląd) */
  .doc-tag { display:inline-block; font-size:11px; color:var(--ink-faded); font-weight:500; }

  /* Dropzone uploadu */
  .docs-dropzone {
    border:2px dashed var(--line); border-radius:10px; padding:20px 16px;
    text-align:center; cursor:pointer; font-size:14px; color:var(--ink-soft);
    transition:border-color .15s, background .15s; line-height:1.5;
  }
  .docs-dropzone:hover, .docs-dropzone--over { border-color:var(--accent); background:rgba(184,66,58,.04); }
  .docs-dropzone--has-file { border-color:var(--green); background:rgba(90,122,74,.05); }

  /* Przypomnienia na Dziś */
  .cal-reminder-bar { margin:0 0 10px; border-radius:10px; background:var(--warn-bg); border:1px solid var(--line); overflow:hidden; }
  .cal-reminder-row { display:flex; align-items:center; gap:8px; padding:9px 14px; cursor:pointer; border-bottom:1px solid var(--line-soft); overflow:hidden; }
  .cal-reminder-row:last-child { border-bottom:none; }
  .cal-reminder-row:hover { background:rgba(0,0,0,.04); }
  .cal-reminder-dot { width:7px; height:7px; border-radius:50%; flex-shrink:0; }
  .cal-reminder-lbl { font-size:11px; font-weight:700; color:var(--ink-faded); white-space:nowrap; text-transform:uppercase; letter-spacing:.05em; flex-shrink:0; }
  .cal-reminder-time { font-size:13px; color:var(--ink-faded); white-space:nowrap; flex-shrink:0; font-feature-settings:"tnum"; min-width:32px; }
  .cal-reminder-pets  { font-size:13px; color:var(--ink-faded); white-space:nowrap; flex-shrink:2; overflow:hidden; text-overflow:ellipsis; min-width:0; }
  .cal-reminder-procs { font-size:13px; color:var(--ink-faded); white-space:nowrap; flex-shrink:2; overflow:hidden; text-overflow:ellipsis; min-width:0; }
  .cal-reminder-title { font-size:13px; font-weight:600; color:var(--ink); flex:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0; }

  /* ── Tab fade-in ── */
  @keyframes fadeTab {
    from { opacity: 0; }
    to   { opacity: 1; }
  }
