/* ZapiszPsiaka - panel + publiczny kalendarz + CMS editor, Etap 18 stabilizacja */
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-family,Inter,Arial,sans-serif);background:var(--page-bg,#f6f7fb);color:var(--page-text,#111827);font-size:16px;line-height:1.5}a{color:var(--primary,#7c3aed);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto}h1,h2,h3{line-height:1.15;color:#0f172a}h1{font-size:32px;margin:24px 0 12px}h2{font-size:24px;margin:0 0 14px}.muted{color:#64748b}.container{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:20px 0 60px}.top{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 22px;background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 2px 10px rgba(15,23,42,.04);position:sticky;top:0;z-index:1000}.brand{display:flex;align-items:center;font-weight:900;font-size:19px;color:#111827}.top nav{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.top nav a,.preview-link{display:inline-flex;align-items:center;gap:6px;border:1px solid #e5e7eb;background:#f8fafc;color:#1f2937;padding:8px 12px;border-radius:999px;font-weight:700;font-size:14px;text-decoration:none}.top nav a:hover{background:#fff;border-color:var(--primary,#7c3aed);color:var(--primary,#7c3aed)}.panel-menu,.admin-menu{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 24px}.panel-menu a,.admin-menu a{display:inline-flex;align-items:center;border:1px solid #e5e7eb;background:#fff;color:#334155;border-radius:12px;padding:9px 12px;font-weight:700;text-decoration:none}.panel-menu a:hover,.admin-menu a:hover{border-color:var(--primary,#7c3aed);color:var(--primary,#7c3aed)}.card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:22px;margin:16px 0;box-shadow:0 10px 30px rgba(15,23,42,.05)}.help-box{border:1px solid #dbeafe;background:#eff6ff;color:#1e3a8a;border-radius:14px;padding:12px 14px;margin-top:12px}.btn,button.btn,a.btn,.secondary,.danger{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:12px;background:var(--main,var(--primary,#7c3aed));color:var(--button-text,#fff)!important;padding:10px 16px;font-weight:800;text-decoration:none;cursor:pointer;min-height:40px}.btn:hover{text-decoration:none;filter:brightness(.96)}.btn.small,button.small,a.small{padding:7px 11px;min-height:32px;font-size:14px;border-radius:9px}.btn.secondary,.secondary{background:#f1f5f9!important;color:#334155!important;border:1px solid #e2e8f0}.danger,button.danger{background:#fee2e2!important;color:#991b1b!important;border:1px solid #fecaca}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid-2 .full,.full{grid-column:1/-1}label{display:grid;gap:6px;font-weight:700;color:#334155}input,select,textarea{width:100%;border:1px solid #d8dee9;border-radius:12px;padding:11px 12px;background:#fff;color:#111827;font:inherit}input:focus,select:focus,textarea:focus{outline:3px solid rgba(124,58,237,.14);border-color:var(--primary,#7c3aed)}input[type=color]{height:44px;padding:4px}table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid #e5e7eb;padding:10px;text-align:left}.settings-accordion{background:#fff;border:1px solid #e5e7eb;border-radius:18px;margin:16px 0;overflow:hidden;box-shadow:0 8px 22px rgba(15,23,42,.04)}.settings-accordion summary{padding:18px 20px;font-size:20px;font-weight:900;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}.settings-accordion summary::after{content:'+';font-size:26px;color:#334155}.settings-accordion[open] summary::after{content:'−'}.settings-body{padding:0 20px 20px}.sticky-save-bar{position:sticky;bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:14px 16px;box-shadow:0 20px 50px rgba(15,23,42,.18);z-index:900}.theme-grid-real{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.theme-card-real{position:relative;background:#fff;border:2px solid #e5e7eb;border-radius:20px;overflow:hidden;box-shadow:0 8px 22px rgba(15,23,42,.06);cursor:pointer;transition:.18s ease}.theme-card-real:hover{transform:translateY(-2px);border-color:var(--primary,#7c3aed)}.theme-card-real.selected{border-color:var(--primary,#7c3aed);box-shadow:0 0 0 4px rgba(124,58,237,.16),0 14px 34px rgba(15,23,42,.12)}.theme-card-real img{display:block;width:100%;height:150px;object-fit:cover;background:#eef2f7}.theme-meta{padding:14px}.theme-meta b{display:block;font-size:18px}.theme-meta small{display:inline-block;background:#f3e8ff;color:#6d28d9;border-radius:999px;padding:3px 8px;font-weight:800;margin:8px 0}.theme-meta p{color:#475569;margin:6px 0 12px}.theme-selected-badge{display:none;position:absolute;top:12px;right:12px;background:#16a34a;color:#fff;border-radius:999px;padding:6px 10px;font-weight:900;z-index:2}.theme-card-real.selected .theme-selected-badge{display:inline-flex}.compact-themes .theme-card-real img{height:120px}.live-theme-preview{border:1px solid #e5e7eb;border-radius:18px;padding:18px;background:#fff}.groomer-inline-list{display:flex;gap:10px;flex-wrap:wrap}.groomer-inline-card{display:flex;align-items:center;gap:8px;border:1px solid #e5e7eb;background:#f8fafc;border-radius:14px;padding:8px 10px}.groomer-dot{width:14px;height:14px;border-radius:50%;display:inline-block}.groomer-mini-photo{width:34px;height:34px;border-radius:50%;object-fit:cover}.groomer-default-icon{font-size:24px}.sortable-list{display:grid;gap:10px}.sortable-row{display:flex;align-items:flex-start;gap:12px;background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:12px}.sortable-row.dragging{opacity:.6}.drag-handle{cursor:grab;color:#64748b;font-size:20px}.page-row-main{display:grid;gap:2px;flex:1}.page-row-main small{color:#64748b}.wide-details{width:100%;margin-top:8px}.wide-details summary{cursor:pointer;font-weight:800}.cms-builder-card{border:1px solid #e7ecf4;background:linear-gradient(180deg,#fff,#fbfcff)}.cms-section-builder{display:grid;gap:20px}.builder-step{border:1px solid #e8eef7;background:#fff;border-radius:18px;padding:18px;box-shadow:0 8px 24px rgba(15,23,42,.04)}.builder-step h3{margin:0 0 12px}.builder-template-help{background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid #e6edf7;border-radius:18px;padding:16px}.compact-help{padding:10px 12px;margin-bottom:10px}.layout-template-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.layout-template-grid.small{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.layout-card{display:grid;gap:6px;text-align:left;border:2px solid #e7ecf4;background:#f8fafc;border-radius:18px;padding:14px;cursor:pointer;color:#172033}.layout-card:hover{border-color:var(--primary,#7c3aed);background:#fff}.layout-card.is-selected{border-color:var(--primary,#7c3aed);box-shadow:0 0 0 4px rgba(124,58,237,.14);background:#fff}.layout-card strong{font-size:15px}.layout-card small{color:#64748b;line-height:1.35}.layout-icon{width:42px;height:34px;border-radius:12px;background:var(--secondary,#f4e8ff);display:grid;place-items:center;color:var(--primary,#7c3aed);font-weight:900}.big-input{font-size:18px;font-weight:700}.builder-media-box{display:grid;gap:12px}.upload-drop{border:2px dashed #cbd5e1;background:#f8fafc;border-radius:18px;padding:20px;display:grid;place-items:center;cursor:pointer;text-align:center}.upload-drop:hover{border-color:var(--primary,#7c3aed);background:#fff}.upload-drop input{display:none}.image-preview img{max-width:280px;width:100%;border-radius:18px;display:block;box-shadow:0 12px 28px rgba(15,23,42,.12)}.advanced-fields{border:1px solid #e8eef7;border-radius:16px;padding:12px;background:#fbfcff}.switch-row{display:flex;gap:8px;align-items:center;font-weight:700}.builder-save{justify-self:start}.cms-section-builder.compact{gap:14px}.grid.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ck-editor{margin-top:0}.ck-editor__editable{min-height:220px}.ck-editor__editable h2,.ck-editor__editable h3{margin-top:.4em}.ck-editor__editable table{width:100%;border-collapse:collapse}.ck-editor__editable td,.ck-editor__editable th{border:1px solid #dbe3ee;padding:12px;vertical-align:top}.cms-editor-actionbar{display:flex;justify-content:flex-end;gap:8px;padding:10px 12px;background:#f8fafc;border:1px solid #d9dee8;border-bottom:0;border-radius:12px 12px 0 0;margin-top:10px}.cms-template-open{font-weight:800}.cms-template-modal[hidden]{display:none}.cms-modal-open{overflow:hidden}.cms-template-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:9998}.cms-template-dialog{position:fixed;right:32px;top:64px;width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 96px);overflow:auto;background:#fff;border-radius:20px;box-shadow:0 30px 90px rgba(15,23,42,.35);z-index:9999;padding:18px}.cms-template-head{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #eef2f7;margin:-4px 0 12px;padding-bottom:12px}.cms-template-head h3{margin:0}.cms-template-close{border:0;background:#f1f5f9;border-radius:12px;width:38px;height:38px;font-size:28px;line-height:1;cursor:pointer}.cms-template-list{display:grid;gap:10px}.cms-template-card{display:grid;grid-template-columns:72px 1fr;align-items:center;gap:14px;width:100%;border:1px solid #e3e9f2;background:#fff;border-radius:16px;padding:12px;text-align:left;cursor:pointer;color:#0f172a}.cms-template-card:hover{border-color:var(--primary,#7c3aed);box-shadow:0 8px 22px rgba(15,23,42,.08);transform:translateY(-1px)}.cms-template-icon{display:grid;place-items:center;height:58px;border-radius:14px;background:linear-gradient(135deg,var(--secondary,#f4e8ff),#f8fafc);font-size:32px;color:var(--primary,#7c3aed);font-weight:900}.cms-template-card strong{display:block;font-size:16px}.cms-template-card small{display:block;color:#64748b;margin-top:3px}.cms-template-replace{display:flex;gap:8px;align-items:center;margin-top:14px;padding-top:12px;border-top:1px solid #eef2f7;color:#334155}.cms-rich-text img{max-width:100%;height:auto;border-radius:16px}.cms-rich-text table{width:100%;border-collapse:collapse}.cms-rich-text td,.cms-rich-text th{border:1px solid #e2e8f0;padding:8px}.cms-rich-text blockquote{border-left:4px solid var(--primary,#7c3aed);margin:16px 0;padding:8px 16px;background:#f8fafc;border-radius:10px}.cms-rich-text hr{border:0;border-top:1px solid #e2e8f0;margin:24px 0}.calendar-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:20px 0}.calendar-nav{display:flex;gap:0}.calendar-nav a{border:1px solid #d8dee9;padding:8px 12px;background:#fff}.calendar-nav a:first-child{border-radius:8px 0 0 8px}.calendar-nav a:last-child{border-radius:0 8px 8px 0;margin-left:-1px}.month-calendar{display:grid;grid-template-columns:repeat(7,1fr);border-left:1px solid #d1d5db;border-top:1px solid #d1d5db;background:#fff}.calendar-day-name{background:#f1f1f1;border-right:1px solid #d1d5db;border-bottom:1px solid #d1d5db;text-align:center;font-weight:800;color:#6b7280;padding:7px}.calendar-cell{min-height:110px;border-right:1px solid #d1d5db;border-bottom:1px solid #d1d5db;padding:6px;position:relative}.calendar-date{text-align:right;color:#64748b;font-size:14px}.calendar-date.other{color:#c9bd6a}.slot-tile{display:block;background:#07898c;color:#fff!important;border-radius:5px;margin:8px 0;padding:10px 6px;text-align:center;font-weight:900;text-decoration:none}.slot-tile:hover{text-decoration:none;filter:brightness(.95)}.slot-tile small{display:block;font-size:10px;font-weight:700}.gallery-public-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.public-site-menu{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin:16px 0}.public-site-menu a{padding:8px 12px;border-radius:999px;background:#fff;border:1px solid #e5e7eb;color:#334155;font-weight:700}@media(max-width:900px){.theme-grid-real{grid-template-columns:repeat(2,minmax(0,1fr))}.layout-template-grid,.layout-template-grid.small{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid-2,.grid.two{grid-template-columns:1fr}.month-calendar{display:block;border:0}.calendar-day-name{display:none}.calendar-cell{display:none;border:1px solid #d1d5db;margin:10px 0;border-radius:12px;min-height:auto}.calendar-cell:has(.slot-tile){display:block}.calendar-date{text-align:left;font-weight:900}.top{position:static;align-items:flex-start;flex-direction:column}.container{width:min(100% - 20px,1120px)}}@media(max-width:560px){.theme-grid-real,.layout-template-grid,.layout-template-grid.small,.gallery-public-grid{grid-template-columns:1fr}.cms-template-dialog{left:16px;right:16px;top:48px;width:auto}.cms-template-card{grid-template-columns:54px 1fr}.cms-template-icon{height:48px;font-size:25px}.sticky-save-bar{flex-direction:column;align-items:stretch}.card{padding:16px}.container{padding-top:10px}}



/* Etap 15: intuicyjny edytor sekcji strony */
.cms-builder-card{border:1px solid #e7ecf4;background:linear-gradient(180deg,#fff,#fbfcff)}
.cms-section-builder{display:grid;gap:20px}.builder-step{border:1px solid #e8eef7;background:#fff;border-radius:18px;padding:18px;box-shadow:0 8px 24px rgba(15,23,42,.04)}.builder-step h3{margin:0 0 12px}.layout-template-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.layout-template-grid.small{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.layout-card{display:grid;gap:6px;text-align:left;border:2px solid #e7ecf4;background:#f8fafc;border-radius:18px;padding:14px;cursor:pointer;color:#172033}.layout-card:hover{border-color:var(--primary,#7c3aed);background:#fff}.layout-card.is-selected{border-color:var(--primary,#7c3aed);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary,#7c3aed) 14%,transparent);background:#fff}.layout-card strong{font-size:15px}.layout-card small{color:#64748b;line-height:1.35}.layout-icon{width:42px;height:34px;border-radius:12px;background:var(--secondary,#f4e8ff);display:grid;place-items:center;color:var(--primary,#7c3aed);font-weight:900}.big-input{font-size:18px;font-weight:700}.builder-media-box{display:grid;gap:12px}.upload-drop{border:2px dashed #cbd5e1;background:#f8fafc;border-radius:18px;padding:20px;display:grid;place-items:center;cursor:pointer;text-align:center}.upload-drop:hover{border-color:var(--primary,#7c3aed);background:#fff}.upload-drop input{display:none}.image-preview img{max-width:280px;width:100%;border-radius:18px;display:block;box-shadow:0 12px 28px rgba(15,23,42,.12)}.advanced-fields{border:1px solid #e8eef7;border-radius:16px;padding:12px;background:#fbfcff}.switch-row{display:flex;gap:8px;align-items:center;font-weight:700}.builder-save{justify-self:start}.cms-section-builder.compact{gap:14px}.ck-editor__editable{min-height:220px}.cms-rich-text img{max-width:100%;height:auto;border-radius:16px}.cms-rich-text table{width:100%;border-collapse:collapse}.cms-rich-text td,.cms-rich-text th{border:1px solid #e2e8f0;padding:8px}.cms-rich-text blockquote{border-left:4px solid var(--primary,#7c3aed);margin:16px 0;padding:8px 16px;background:#f8fafc;border-radius:10px}.grid.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:900px){.layout-template-grid,.layout-template-grid.small{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.layout-template-grid,.layout-template-grid.small,.grid.two{grid-template-columns:1fr}}

/* Etap 19: szablony treści zarządzane przez super_admin */
.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{border-bottom:1px solid #e5e7eb;padding:12px;text-align:left;vertical-align:top}.actions{white-space:nowrap}.badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700}.badge.ok{background:#dcfce7;color:#166534}.badge.off{background:#fee2e2;color:#991b1b}.code-editor{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;min-height:360px;background:#0f172a;color:#e5e7eb;border-radius:14px;padding:14px;line-height:1.5}.notice{border:1px solid #e5e7eb;background:#f8fafc;border-radius:14px;padding:12px;margin:12px 0}.notice.success{background:#dcfce7;border-color:#86efac;color:#166534}.btn.secondary{background:#f1f5f9;color:#0f172a!important}.content-template-modal[hidden]{display:none}.content-template-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:9998}.content-template-dialog{position:fixed;right:32px;top:32px;bottom:32px;width:min(520px,calc(100vw - 64px));background:#fff;border-radius:20px;box-shadow:0 30px 80px rgba(15,23,42,.35);z-index:9999;padding:20px;overflow:auto}.content-template-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.modal-x{border:0;background:#f1f5f9;border-radius:12px;font-size:26px;line-height:1;width:42px;height:42px;cursor:pointer}.content-template-list{display:grid;gap:10px;margin-top:14px}.content-template-item{display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:center;text-align:left;border:1px solid #e5e7eb;background:#fff;border-radius:16px;padding:12px;cursor:pointer}.content-template-item:hover{border-color:var(--primary,#7c3aed);box-shadow:0 8px 22px rgba(15,23,42,.08)}.content-template-icon{width:64px;height:52px;border-radius:14px;background:var(--secondary,#f4e8ff);color:var(--primary,#7c3aed);display:grid;place-items:center;font-weight:900;font-size:24px}.content-template-item strong{display:block;font-size:15px}.content-template-item small{display:block;color:#64748b;margin:4px 0}.content-template-item em{font-size:11px;color:#64748b;background:#f8fafc;border-radius:999px;padding:3px 8px;font-style:normal}.js-open-content-templates{margin-bottom:10px}@media(max-width:700px){.content-template-dialog{left:12px;right:12px;top:12px;bottom:12px;width:auto}.content-template-item{grid-template-columns:48px 1fr}.content-template-icon{width:48px;height:44px}}


/* Etap 21: stabilizacja menu i UX admina */
.top{min-height:68px}
.top .brand{white-space:nowrap}
.tabs{display:flex!important;gap:10px;flex-wrap:wrap;align-items:center;margin:14px 0 24px;padding:12px;background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 8px 24px rgba(15,23,42,.04)}
.tabs a{display:inline-flex;align-items:center;gap:7px;padding:10px 13px;border-radius:999px;background:#f8fafc;border:1px solid #e5e7eb;color:#334155!important;font-weight:800;text-decoration:none}
.tabs a:hover{background:#fff;border-color:var(--primary,#7c3aed);color:var(--primary,#7c3aed)!important;text-decoration:none}
.admin-table, table{width:100%;border-collapse:collapse;background:#fff}
.admin-table th,.admin-table td,table th,table td{padding:13px 10px;border-bottom:1px solid #e5e7eb;vertical-align:middle}
.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.notice{padding:12px 14px;border-radius:14px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;margin:12px 0}
.notice.success{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}
.badge{display:inline-flex;border-radius:999px;padding:4px 9px;font-weight:800;font-size:12px}
.badge.ok{background:#dcfce7;color:#166534}.badge.off{background:#fee2e2;color:#991b1b}
.settings-accordion{margin:14px 0}.settings-accordion>summary{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:16px 18px;font-weight:900;font-size:18px;box-shadow:0 6px 18px rgba(15,23,42,.04)}
.theme-select-grid.compact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}
.theme-choice{display:block;border:2px solid #e5e7eb;border-radius:16px;padding:10px;background:#fff;cursor:pointer}
.theme-choice input{display:none}.theme-choice img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:12px;margin-bottom:8px}.theme-choice strong{display:block}.theme-choice small{display:inline-flex;margin-top:6px;background:#f3e8ff;color:#6d28d9;border-radius:999px;padding:3px 8px;font-weight:800}.theme-choice.is-selected{border-color:var(--primary,#7c3aed);box-shadow:0 0 0 4px rgba(124,58,237,.14)}
.code-editor{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;min-height:360px}
@media(max-width:860px){.theme-select-grid.compact,.form-grid-2{grid-template-columns:1fr}.top{position:static;align-items:flex-start;flex-direction:column}.top nav{width:100%}}
/* Etap 23 – generator terminów: UX, filtry i akcje zbiorcze */
.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:0 0 18px}.page-head h1{margin-bottom:6px}.muted{color:#64748b}.center{text-align:center}.form-section-title{font-weight:800;margin:8px 0 14px;color:#0f172a}.slots-generator,.slots-filter,.slots-list-card{border:1px solid #e5e7eb;border-radius:18px;padding:22px;background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.06);margin-bottom:22px}.slots-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 18px}.slots-form-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.slots-form-grid label{font-weight:700;color:#1e293b}.slots-form-grid input,.slots-form-grid select{width:100%;margin-top:7px}.weekday-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin-bottom:18px}.weekday-pill{border:1px solid #dbeafe;border-radius:14px;padding:12px;text-align:center;background:#f8fbff;cursor:pointer;font-weight:800}.weekday-pill input{margin-right:6px}.weekday-pill:has(input:checked){background:#ede9fe;border-color:#7c3aed;color:#5b21b6}.form-actions{display:flex;gap:10px;align-items:center;margin-top:14px}.btn.secondary{background:#0f766e}.btn.ghost{background:#fff;color:#4c1d95;border:1px solid #ddd6fe}.slots-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 20px}.slots-stats span{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:14px 16px;box-shadow:0 8px 20px rgba(15,23,42,.05)}.bulk-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;padding:12px;border-radius:14px;background:#f8fafc;border:1px solid #e5e7eb}.bulk-actions{display:flex;gap:10px;align-items:center}.check-all{font-weight:800}.responsive-table{overflow-x:auto}.slots-table{width:100%;border-collapse:separate;border-spacing:0}.slots-table th{background:#f1f5f9;text-align:left;padding:12px;font-size:13px;color:#475569}.slots-table td{padding:13px 12px;border-bottom:1px solid #e5e7eb;vertical-align:middle}.slots-table tr:hover td{background:#fafafa}.status-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:7px 10px;font-weight:800;font-size:12px}.status-available{background:#dcfce7;color:#166534}.status-reserved{background:#dbeafe;color:#1d4ed8}.status-blocked{background:#fee2e2;color:#991b1b}.status-cancelled{background:#f1f5f9;color:#475569}.groomer-dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:8px;vertical-align:-1px}.inline-form{display:inline}.btn.tiny{padding:7px 10px;font-size:12px;border-radius:10px}.btn.danger{background:#ef4444}.btn.small{padding:9px 14px;font-size:13px}@media(max-width:900px){.slots-form-grid,.slots-form-grid.compact{grid-template-columns:1fr}.weekday-grid{grid-template-columns:repeat(2,1fr)}.slots-stats{grid-template-columns:1fr 1fr}.bulk-toolbar{display:block}.bulk-actions{margin-top:10px;display:grid;grid-template-columns:1fr}.page-head{display:block}}@media(max-width:560px){.slots-stats{grid-template-columns:1fr}.slots-table th:nth-child(4),.slots-table td:nth-child(4){display:none}}
/* Etap 24 – potwierdzanie wizyt i powiadomienia w panelu */
.confirmation-setting{display:flex!important;gap:10px;align-items:flex-start;background:#fffbeb;border:1px solid #fde68a;border-radius:14px;padding:14px!important}
.confirmation-setting input{margin-top:4px;width:auto!important}
.confirmation-setting small{display:block;color:#7c2d12;font-weight:400;margin-top:4px;line-height:1.4}
.confirmation-chip{display:inline-flex;align-items:center;gap:4px;background:#fef3c7;color:#92400e;border:1px solid #fde68a;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:700;margin-left:6px}
.menu-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;margin-left:6px;padding:0 6px;background:#f59e0b;color:#fff;border-radius:999px;font-size:12px;font-weight:800;line-height:1}
.notification-pill{background:#fffbeb;border:1px solid #fde68a;color:#92400e;border-radius:999px;padding:10px 14px;font-weight:800;white-space:nowrap}
.appointments-card{overflow:auto}.appointments-table{width:100%;border-collapse:collapse}.appointments-table th{background:#f1f5f9;color:#334155;text-align:left;padding:14px}.appointments-table td{border-bottom:1px solid #e5e7eb;padding:14px;vertical-align:top}.appointment-row.is-pending{background:#fffbeb}.appointment-date{display:block;font-size:16px;margin-bottom:8px}.appointment-client-grid{display:grid;grid-template-columns:repeat(2,minmax(170px,1fr));gap:6px 14px;color:#334155}.appointment-client-grid a{color:var(--main,#7c3aed);font-weight:700}.appointment-actions{display:flex;gap:8px;flex-wrap:wrap}.status-change-form{display:flex;gap:8px;align-items:center}.status-change-form select{min-width:170px}.status-pending{background:#fef3c7!important;color:#92400e!important}.status-progress{background:#ede9fe!important;color:#5b21b6!important}.status-completed{background:#dcfce7!important;color:#166534!important}.status-noshow{background:#e5e7eb!important;color:#111827!important}.slot-client-details{display:grid;grid-template-columns:repeat(2,minmax(130px,1fr));gap:4px 10px;margin-top:10px;padding:10px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;color:#334155;font-size:13px}
@media(max-width:760px){.appointment-client-grid,.slot-client-details{grid-template-columns:1fr}.appointments-table,.appointments-table thead,.appointments-table tbody,.appointments-table tr,.appointments-table th,.appointments-table td{display:block}.appointments-table thead{display:none}.appointments-table tr{border:1px solid #e5e7eb;border-radius:16px;margin-bottom:12px;overflow:hidden}.appointments-table td{border:0}.status-change-form{flex-direction:column;align-items:stretch}.notification-pill{white-space:normal}}
/* Etap 27 – archiwum wizyt i filtry */
.appointments-head{align-items:flex-start;gap:18px;}
.appointments-head-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end;}
.appointment-filters{margin:18px 0;padding:18px;border-radius:18px;}
.filter-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;align-items:end;}
.filter-grid label{display:flex;flex-direction:column;font-weight:700;color:#0f172a;font-size:13px;gap:6px;}
.filter-grid input,.filter-grid select{width:100%;border:1px solid #d6deee;border-radius:12px;padding:11px 12px;background:#fff;font-size:14px;}
.filter-actions{display:flex;gap:8px;align-items:end;}
.btn.light{background:#f1f5f9;color:#0f172a;border:1px solid #dbe3ef;}
.btn.secondary{background:#eef2ff;color:#4f46e5;border:1px solid #c7d2fe;}
.archive-chip{display:inline-flex;margin-left:8px;padding:4px 8px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:12px;font-weight:800;vertical-align:middle;}
.appointment-row.is-archive{background:linear-gradient(90deg,#fff,#f8fafc);}
.muted-badge{background:#e2e8f0!important;color:#334155!important;}
.appointments-table .appointment-date{font-size:15px;}
.appointment-client-grid{margin-top:7px;display:flex;gap:8px 12px;flex-wrap:wrap;line-height:1.45;}
.appointment-client-grid span{display:inline-flex;align-items:center;gap:4px;}
@media(max-width:980px){.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.filter-actions{grid-column:1/-1}.appointments-head-actions{justify-content:flex-start}}
@media(max-width:640px){.filter-grid{grid-template-columns:1fr}.appointment-filters{padding:14px}.appointments-table thead{display:none}.appointments-table,.appointments-table tbody,.appointments-table tr,.appointments-table td{display:block;width:100%}.appointments-table tr{padding:14px;border-bottom:1px solid #e5e7eb}.appointments-table td{padding:7px 0;border:0}.status-change-form{align-items:flex-start}}

/* ETAP 28 — liczniki i UX wizyt */
.zp-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:14px;margin:18px 0 22px}
.zp-stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:16px 18px;box-shadow:0 10px 30px rgba(15,23,42,.04);font-size:16px;display:flex;align-items:center;gap:10px;min-height:54px}
.zp-stat-card strong{font-weight:800;color:#0f172a}.zp-dot{width:15px;height:15px;border-radius:999px;display:inline-flex;box-shadow:inset 0 0 0 2px rgba(255,255,255,.45)}
.zp-dot-all{background:#64748b}.zp-dot-free{background:linear-gradient(135deg,#7ee2aa,#17a55b)}.zp-dot-booked{background:linear-gradient(135deg,#7db5ff,#2563eb)}.zp-dot-pending{background:linear-gradient(135deg,#f8d66d,#eab308)}.zp-dot-cancelled{background:linear-gradient(135deg,#fb7185,#e11d48)}.zp-dot-blocked{background:linear-gradient(135deg,#94a3b8,#475569)}
.zp-appointment-list{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:8px 22px;box-shadow:0 18px 50px rgba(15,23,42,.06)}
.zp-appointment-row{display:grid;grid-template-columns:1.6fr 1.2fr .8fr 1fr;gap:18px;align-items:center;padding:18px 0;border-bottom:1px solid #e5e7eb}.zp-appointment-row:last-child{border-bottom:0}
.zp-appt-date{font-weight:900;color:#0f172a;margin-bottom:6px}.zp-appt-meta{display:flex;flex-wrap:wrap;gap:7px 11px;color:#111827}.zp-appt-meta a{text-decoration:none}.zp-appt-service small,.zp-appt-groomer small{display:block;color:#475569;margin-top:4px}.zp-status-badge{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:8px 14px;font-weight:800;font-size:13px}.zp-status-available{background:#dcfce7;color:#166534}.zp-status-reserved,.zp-status-booked,.zp-status-confirmed{background:#dbeafe;color:#1d4ed8}.zp-status-pending{background:#fef3c7;color:#92400e}.zp-status-cancelled{background:#f1f5f9;color:#475569}.zp-status-blocked{background:#f1f5f9;color:#334155}.zp-status-completed{background:#dcfce7;color:#166534}
.zp-filters{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:14px;margin:12px 0 18px;display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px}.zp-filters input,.zp-filters select{width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px}.zp-filters .btn{align-self:end}
@media(max-width:900px){.zp-stats-grid{grid-template-columns:1fr 1fr}.zp-appointment-row{grid-template-columns:1fr}.zp-filters{grid-template-columns:1fr}}
@media(max-width:520px){.zp-stats-grid{grid-template-columns:1fr}}

/* Etap 29 – archiwum terminów */
.page-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.slots-table td:nth-child(3){min-width:220px;line-height:1.55}
.status-pending{background:#fef3c7;color:#92400e}
.salon-tabs a[href="/panel/slots/archive"]{white-space:nowrap}
@media(max-width:760px){.slots-table td:nth-child(3){min-width:180px}.page-actions{width:100%}.page-actions .btn{width:100%;text-align:center}}
/* Etap 30 – filtry i liczniki wizyt */
.zp-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:14px;margin:18px 0 20px}.zp-stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:16px 18px;box-shadow:0 10px 30px rgba(15,23,42,.05);font-weight:600}.zp-dot{display:inline-flex;width:14px;height:14px;border-radius:50%;margin-right:8px;vertical-align:-2px}.zp-dot-all{background:#111827}.zp-dot-available{background:linear-gradient(135deg,#22c55e,#86efac)}.zp-dot-reserved{background:linear-gradient(135deg,#2563eb,#93c5fd)}.zp-dot-pending{background:linear-gradient(135deg,#f59e0b,#fde68a)}.zp-dot-cancelled{background:linear-gradient(135deg,#f43f5e,#fda4af)}.zp-dot-completed{background:linear-gradient(135deg,#10b981,#a7f3d0)}.zp-filter-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:22px;margin:20px 0 22px;box-shadow:0 16px 45px rgba(15,23,42,.07)}.zp-filter-title{font-size:18px;font-weight:800;margin:0 0 16px}.zp-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(160px,1fr));gap:16px;align-items:end}.zp-filter-field label{display:block;font-weight:700;margin-bottom:8px}.zp-filter-field input,.zp-filter-field select{width:100%;height:48px;border:1px solid #dbe3ef;border-radius:12px;padding:0 14px;font-size:15px;background:#fff}.zp-filter-actions{display:flex;gap:10px;align-items:center}.zp-filter-actions .btn{height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 18px;border-radius:12px}.zp-filter-actions .btn-light{background:#f8fafc;border:1px solid #dbe3ef;color:#0f172a}.appointment-list{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:10px 22px;box-shadow:0 16px 45px rgba(15,23,42,.07)}.appointment-row{display:grid;grid-template-columns:1.5fr 1fr .8fr .9fr;gap:16px;align-items:center;border-bottom:1px solid #e5e7eb;padding:18px 0}.appointment-row:last-child{border-bottom:0}.appointment-date{font-weight:800}.appointment-meta{margin-top:6px;line-height:1.6}.appointment-muted{color:#64748b}.appointment-status-badge{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:9px 14px;font-weight:800;font-size:14px}.status-pending{background:#fef3c7;color:#92400e}.status-confirmed{background:#dbeafe;color:#1d4ed8}.status-cancelled{background:#ffe4e6;color:#be123c}.status-completed{background:#dcfce7;color:#15803d}.status-in_progress{background:#ede9fe;color:#6d28d9}.status-no_show{background:#f3f4f6;color:#374151}@media(max-width:900px){.zp-stats-grid{grid-template-columns:1fr 1fr}.zp-filter-grid{grid-template-columns:1fr}.appointment-row{grid-template-columns:1fr}}@media(max-width:520px){.zp-stats-grid{grid-template-columns:1fr}}

/* Etap 31 – stabilizacja widoków wizyt */
.panel-wrap{width:min(1120px,calc(100% - 32px));margin:0 auto 60px}
.appointment-list{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:10px 22px;box-shadow:0 16px 45px rgba(15,23,42,.07)}
.appointment-row{display:grid;grid-template-columns:1.5fr 1fr .8fr .9fr;gap:16px;align-items:center;border-bottom:1px solid #e5e7eb;padding:18px 0}
.appointment-row:last-child{border-bottom:0}
.appointment-date{font-weight:900;color:#0f172a}
.appointment-meta{margin-top:6px;line-height:1.6}
.appointment-muted{color:#64748b}
.btn-light{background:#f8fafc!important;border:1px solid #dbe3ef!important;color:#0f172a!important}
@media(max-width:900px){.appointment-row{grid-template-columns:1fr}.panel-wrap{width:min(100% - 20px,1120px)}}
/* ETAP 32 — dashboard managera salonu */
.dashboard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:18px 0 20px}.dashboard-head h1{margin:0 0 6px}.dashboard-actions{display:flex;gap:10px;flex-wrap:wrap}.dashboard-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(190px,1fr));gap:14px;margin:18px 0 24px}.dashboard-kpi{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:18px;box-shadow:0 12px 34px rgba(15,23,42,.06);text-decoration:none;color:#0f172a}.dashboard-kpi:hover{text-decoration:none;transform:translateY(-1px);border-color:var(--primary,#7c3aed)}.dashboard-kpi b{display:block;color:#475569;font-size:13px;margin-bottom:3px}.dashboard-kpi strong{font-size:28px;line-height:1;color:#0f172a}.kpi-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#f3e8ff;font-size:23px}.dashboard-kpi.warning .kpi-icon{background:#fef3c7}.dashboard-kpi.success .kpi-icon{background:#dcfce7}.dashboard-kpi.danger-soft .kpi-icon{background:#ffe4e6}.dashboard-grid{display:grid;gap:18px;margin:18px 0}.dashboard-grid-main{grid-template-columns:1.25fr .9fr}.dashboard-grid-secondary{grid-template-columns:1.1fr .9fr .8fr}.dashboard-card{background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:20px;box-shadow:0 14px 40px rgba(15,23,42,.06)}.dashboard-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.dashboard-card-head h2{margin:0;font-size:20px}.dashboard-card-head a{font-weight:800}.dashboard-list{display:grid;gap:10px}.dashboard-list-row{display:grid;grid-template-columns:68px 1fr auto;gap:12px;align-items:center;border:1px solid #edf2f7;background:#fbfdff;border-radius:16px;padding:12px}.date-pill{display:grid;place-items:center;background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:8px;line-height:1.1}.date-pill b{font-size:15px}.date-pill small{color:#64748b;font-weight:800}.dashboard-list-main strong{display:block}.dashboard-list-main span,.dashboard-list-main small{display:block;color:#475569;margin-top:3px}.mini-status{display:inline-flex;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900;white-space:nowrap}.mini-status.status-pending{background:#fef3c7;color:#92400e}.mini-status.status-confirmed{background:#dbeafe;color:#1d4ed8}.mini-status.status-in_progress{background:#ede9fe;color:#6d28d9}.mini-status.status-completed{background:#dcfce7;color:#166534}.mini-status.status-cancelled{background:#ffe4e6;color:#be123c}.pending-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;border:1px solid #fde68a;background:#fffbeb;border-radius:16px;padding:12px}.pending-actions{display:flex;gap:8px;flex-wrap:wrap}.groomer-load-list{display:grid;gap:12px}.groomer-load-row{display:grid;grid-template-columns:170px 1fr 38px;gap:12px;align-items:center}.groomer-load-name{font-weight:800;color:#334155}.groomer-load-bar{height:12px;background:#f1f5f9;border-radius:999px;overflow:hidden}.groomer-load-bar span{display:block;height:100%;border-radius:999px}.free-slot-list{display:flex;flex-wrap:wrap;gap:10px}.free-slot-pill{display:grid;gap:2px;border:1px solid #bbf7d0;background:#f0fdf4;color:#166534;border-radius:14px;padding:10px 12px;text-decoration:none;min-width:135px}.free-slot-pill:hover{text-decoration:none;filter:brightness(.98)}.free-slot-pill small{color:#15803d}.conversion-card{text-align:center}.conversion-circle{width:148px;height:148px;margin:8px auto 18px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at center,#fff 48%,transparent 50%),conic-gradient(var(--primary,#7c3aed) calc(var(--rate, 0)*1%),#e5e7eb 0);border:1px solid #e5e7eb}.conversion-circle strong{font-size:34px}.conversion-circle span{font-size:12px;color:#64748b;font-weight:800;margin-top:-30px}.conversion-lines{display:grid;gap:8px;text-align:left}.conversion-lines span{display:flex;justify-content:space-between;border-bottom:1px solid #eef2f7;padding:6px 0;color:#475569}.conversion-lines b{color:#0f172a}@media(max-width:1100px){.dashboard-kpi-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}.dashboard-grid-main,.dashboard-grid-secondary{grid-template-columns:1fr}}@media(max-width:680px){.dashboard-head{display:block}.dashboard-actions{margin-top:12px}.dashboard-kpi-grid{grid-template-columns:1fr}.dashboard-list-row{grid-template-columns:1fr}.pending-row{grid-template-columns:1fr}.groomer-load-row{grid-template-columns:1fr}.mini-status{justify-self:start}}
/* Etap 33 – ręczna rezerwacja wizyty z panelu */
.free-slot-book-link{transition:.16s ease;position:relative}
.free-slot-book-link:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(22,163,74,.18);text-decoration:none}
.free-slot-book-link::after{content:'Zarezerwuj';display:block;font-size:11px;font-weight:800;color:#15803d;margin-top:4px;opacity:.9}
.manual-booking-grid{display:grid;grid-template-columns:360px 1fr;gap:20px;align-items:start}.manual-slot-card{position:sticky;top:90px}.manual-slot-date{border:1px solid #bbf7d0;background:#f0fdf4;border-radius:18px;padding:18px;margin:14px 0}.manual-slot-date strong{display:block;font-size:24px;color:#065f46}.manual-slot-date span{font-size:20px;font-weight:900;color:#15803d}.manual-slot-meta{display:grid;gap:12px}.manual-slot-meta p{margin:0;border:1px solid #e5e7eb;border-radius:14px;padding:12px;background:#f8fafc}.manual-form-card h2{margin-top:10px}.manual-checkbox{display:flex!important;gap:10px;align-items:center;background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:12px!important}.manual-checkbox input{width:auto!important}.manual-checkbox span{font-weight:700;color:#334155}@media(max-width:900px){.manual-booking-grid{grid-template-columns:1fr}.manual-slot-card{position:static}}
/* Etap 33.1 – poprawka formularza ręcznej rezerwacji */
.fixed-manual-booking-grid{display:grid!important;grid-template-columns:360px minmax(0,1fr)!important;gap:22px!important;align-items:start!important}.fixed-manual-form-card{display:block!important;min-height:0!important;padding:24px!important}.manual-appointment-form{display:block!important;width:100%!important}.manual-appointment-form h2{margin:0 0 14px!important}.manual-appointment-form h2:not(:first-child){margin-top:26px!important}.manual-form-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}.manual-form-grid label{display:grid!important;gap:7px!important;font-weight:800!important;color:#1f2937!important}.manual-form-grid input,.manual-form-grid select,.manual-form-grid textarea{display:block!important;width:100%!important;border:1px solid #d8dee9!important;border-radius:12px!important;padding:12px 13px!important;background:#fff!important;color:#111827!important;font:inherit!important}.manual-full{grid-column:1/-1!important}.manual-checkbox{display:flex!important;align-items:center!important;gap:10px!important;background:#f8fafc!important;border:1px solid #e5e7eb!important;border-radius:14px!important;padding:13px!important}.manual-checkbox input{width:auto!important}.manual-form-actions{display:flex!important;gap:10px!important;margin-top:24px!important;align-items:center!important}.manual-slot-date{border:1px solid #bbf7d0;background:#f0fdf4;border-radius:18px;padding:18px;margin:14px 0}.manual-slot-date strong{display:block;font-size:24px;color:#065f46}.manual-slot-date span{font-size:20px;font-weight:900;color:#15803d}.manual-slot-meta{display:grid;gap:12px}.manual-slot-meta p{margin:0;border:1px solid #e5e7eb;border-radius:14px;padding:12px;background:#f8fafc}@media(max-width:900px){.fixed-manual-booking-grid{grid-template-columns:1fr!important}.manual-form-grid{grid-template-columns:1fr!important}}
/* Etap 33.1 – poprawka formularza ręcznej rezerwacji */
.fixed-manual-booking-grid{display:grid!important;grid-template-columns:360px minmax(0,1fr)!important;gap:22px!important;align-items:start!important}.fixed-manual-form-card{display:block!important;min-height:0!important;padding:24px!important}.manual-appointment-form{display:block!important;width:100%!important}.manual-appointment-form h2{margin:0 0 14px!important}.manual-appointment-form h2:not(:first-child){margin-top:26px!important}.manual-form-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}.manual-form-grid label{display:grid!important;gap:7px!important;font-weight:800!important;color:#1f2937!important}.manual-form-grid input,.manual-form-grid select,.manual-form-grid textarea{display:block!important;width:100%!important;border:1px solid #d8dee9!important;border-radius:12px!important;padding:12px 13px!important;background:#fff!important;color:#111827!important;font:inherit!important}.manual-full{grid-column:1/-1!important}.manual-checkbox{display:flex!important;align-items:center!important;gap:10px!important;background:#f8fafc!important;border:1px solid #e5e7eb!important;border-radius:14px!important;padding:13px!important}.manual-checkbox input{width:auto!important}.manual-form-actions{display:flex!important;gap:10px!important;margin-top:24px!important;align-items:center!important}.manual-slot-date{border:1px solid #bbf7d0;background:#f0fdf4;border-radius:18px;padding:18px;margin:14px 0}.manual-slot-date strong{display:block;font-size:24px;color:#065f46}.manual-slot-date span{font-size:20px;font-weight:900;color:#15803d}.manual-slot-meta{display:grid;gap:12px}.manual-slot-meta p{margin:0;border:1px solid #e5e7eb;border-radius:14px;padding:12px;background:#f8fafc}@media(max-width:900px){.fixed-manual-booking-grid{grid-template-columns:1fr!important}.manual-form-grid{grid-template-columns:1fr!important}}

/* Etap 33.2 — naprawa widoczności formularza ręcznej rezerwacji */
.manual-booking-grid-v2{display:grid!important;grid-template-columns:360px minmax(0,1fr)!important;gap:22px!important;align-items:start!important;margin-top:22px!important}
.manual-slot-card-v2,.manual-form-card-v2{display:block!important;min-height:auto!important;height:auto!important;overflow:visible!important;opacity:1!important;visibility:visible!important}
.manual-slot-date-v2{background:#ecfdf3;border:1px solid #a7f3d0;color:#047857;border-radius:16px;padding:22px;margin:14px 0;font-size:24px;font-weight:900;display:grid;gap:4px}
.manual-slot-date-v2 span{font-size:22px}.manual-slot-meta-v2{display:grid;gap:12px;margin:12px 0}.manual-slot-meta-v2 p{background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:13px;margin:0}.manual-form-grid-v2{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;margin:10px 0 22px!important}.manual-form-grid-v2 label{display:grid!important;gap:7px!important;font-weight:800!important;color:#334155!important}.manual-form-grid-v2 input,.manual-form-grid-v2 select,.manual-form-grid-v2 textarea{display:block!important;width:100%!important;min-height:46px!important;border:1px solid #d8dee9!important;border-radius:12px!important;padding:11px 12px!important;background:#fff!important;color:#111827!important;font:inherit!important}.manual-full-v2{grid-column:1/-1!important}.manual-checkbox-v2{display:flex!important;grid-template-columns:none!important;flex-direction:row!important;align-items:center!important;background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:12px!important}.manual-checkbox-v2 input{width:auto!important;min-height:auto!important}.manual-form-actions-v2{display:flex!important;gap:10px!important;align-items:center!important;margin-top:10px!important}.manual-form-card-v2 h2{margin-top:8px!important;margin-bottom:12px!important}@media(max-width:900px){.manual-booking-grid-v2{grid-template-columns:1fr!important}.manual-form-grid-v2{grid-template-columns:1fr!important}}
