@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=DM+Serif+Display&display=swap');
/* Wszystkie style aplikacji są odizolowane od stylów motywu WordPress. */
.cpcal-app{--cp-navy:#0b2239;--cp-blue:#0077b6;--cp-muted:#657a90;--cp-line:#dbe8f1;--cp-sky:#f1f8fd;--cp-orange:#ff9a1f;font:400 14px/1.5 'DM Sans',Arial,sans-serif;color:var(--cp-navy);width:100%;min-width:0;clear:both}
.cpcal-app *,.cpcal-app *::before,.cpcal-app *::after{box-sizing:border-box}
.cpcal-app button,.cpcal-app input,.cpcal-app select,.cpcal-app textarea{font-family:inherit;letter-spacing:normal}
.cpcal-app button{cursor:pointer;text-transform:none;line-height:1.35}
.cpcal-app button:focus-visible,.cpcal-app input:focus-visible,.cpcal-app textarea:focus-visible,.cpcal-app select:focus-visible{outline:2px solid var(--cp-blue);outline-offset:2px}
.cpcal-app .cpcal-shell{width:100%;max-width:1460px;margin:0 auto;border:1px solid #e3edf4;background:#f3f8fc;box-shadow:0 12px 36px rgba(11,34,57,.035)}
.cpcal-app .cpcal-toolbar{padding:25px 26px 22px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px 24px;background:#f3f8fc}
.cpcal-app .cpcal-title-wrap{min-width:230px;flex:1 1 280px}
.cpcal-app h2.cpcal-title{margin:0!important;padding:0!important;color:var(--cp-navy)!important;font:400 clamp(27px,3vw,40px)/1.18 'DM Serif Display',Georgia,serif!important;letter-spacing:-.012em!important}
.cpcal-app .cpcal-controls{display:flex;align-items:center;flex-wrap:wrap;gap:9px}
.cpcal-app .cpcal-controls button,.cpcal-app .cpcal-controls select{box-shadow:none!important;border-radius:4px!important;min-height:38px;margin:0;transition:background .15s ease;border:1px solid #c9d9e4;background:#fff;color:#233b50;font-size:12px;font-weight:700}
.cpcal-app .cpcal-controls button:hover{background:#e1edf6}
.cpcal-app .cpcal-today{padding:0 15px}
.cpcal-app .cpcal-nav{width:38px;height:38px;display:grid;place-items:center;padding:7px}
.cpcal-app .cpcal-nav svg{width:18px;height:18px;fill:none;stroke:#344d63;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.cpcal-app .cpcal-period{font-size:15px;font-weight:700;margin:0 12px;min-width:145px;color:#304359}
.cpcal-app select.cpcal-select{height:38px;padding:0 28px 0 12px;max-width:128px}
.cpcal-app button.cpcal-add{padding:0 14px;border-color:var(--cp-blue);background:var(--cp-blue);color:#fff}
.cpcal-app button.cpcal-add:hover{background:#095780;color:#fff}
.cpcal-app .cpcal-feedback{height:0;overflow:hidden;line-height:1.5;transition:height .2s ease}
.cpcal-app .cpcal-feedback:not(:empty){height:auto;padding:11px 23px;border-top:1px solid #d4e4f0}
.cpcal-app .cpcal-feedback.is-ok{color:#166e66;background:#edfaf5}
.cpcal-app .cpcal-feedback.is-error{color:#a22638;background:#fff0f1}
.cpcal-app .cpcal-surface{padding:0 15px 15px;background:#f3f8fc}
.cpcal-app .cpcal-month{overflow:hidden;border-radius:15px;background:#fff;border:1px solid #dce6ee}
.cpcal-app .cpcal-month-headers{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:#f8fbfe;border-bottom:1px solid var(--cp-line)}
.cpcal-app .cpcal-month-headers span{display:block;text-align:center;text-transform:uppercase;font:700 10px/1.4 'DM Sans',sans-serif;color:#61788c;padding:11px 3px;letter-spacing:.04em}
.cpcal-app .cpcal-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:#dbe6ee;gap:1px}
.cpcal-app .cpcal-day{min-width:0;min-height:112px;padding:5px 5px 7px;background:white;position:relative;display:flex;flex-direction:column;align-items:stretch;gap:3px}
.cpcal-app .cpcal-day.is-editable:hover{background:#f6fbff;cursor:pointer}
.cpcal-app .cpcal-day.is-other{background:#f9fbfd}
.cpcal-app .cpcal-day.is-drag-over{background:#d5edff;outline:2px dashed var(--cp-blue);outline-offset:-3px}
.cpcal-app .cpcal-day-num{width:28px;height:28px;min-width:28px;display:grid;place-items:center;align-self:center;background:transparent;border:0;border-radius:50%;color:#273e54;padding:0;font:600 12px/1 'DM Sans',sans-serif}
.cpcal-app .cpcal-day.is-today .cpcal-day-num{background:#0475cb;color:#fff;font-weight:800}
.cpcal-app .cpcal-day.is-other .cpcal-day-num{color:#a4b2bd}
.cpcal-app .cpcal-day-num:hover{background:#e6eef5;color:#163e60}
.cpcal-app .cpcal-day.is-today .cpcal-day-num:hover{background:#046ebd;color:#fff}
.cpcal-app button.cpcal-event{font:600 11px/1.3 'DM Sans',sans-serif;border:0;border-left:3px solid var(--cpcal-evt-color,#0077b6);background:color-mix(in srgb,var(--cpcal-evt-color,#0077b6) 12%,white);color:var(--cp-navy);border-radius:2px;text-align:left;padding:4px 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;min-height:23px;display:block}
.cpcal-app button.cpcal-event:hover{filter:brightness(.96);box-shadow:0 0 0 1px #9abed5}
.cpcal-app .cpcal-more{background:transparent;border:0;text-align:left;font-size:11px;color:var(--cp-blue);padding:2px 4px;font-weight:700}
.cpcal-app .cpcal-more:hover{text-decoration:underline}
.cpcal-app .cpcal-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 20px;padding:9px 22px 15px;color:#71849a;font:500 11px/1.6 'DM Sans',sans-serif}
.cpcal-app .cpcal-empty{background:#fff;border:1px solid var(--cp-line);border-radius:12px;padding:50px 25px;text-align:center;font-size:14px;color:#617a8d}
.cpcal-app .cpcal-agenda{background:#fff;border-radius:12px;border:1px solid #dde9f1;min-height:200px;padding:8px 16px}
.cpcal-app .cpcal-agenda-group{display:grid;grid-template-columns:180px minmax(0,1fr);border-bottom:1px solid var(--cp-line);padding:12px 0;gap:20px}
.cpcal-app .cpcal-agenda-group:last-child{border:0}
.cpcal-app .cpcal-agenda-day{padding:13px 7px;color:var(--cp-navy);text-transform:capitalize}
.cpcal-app .cpcal-agenda-events{display:grid;gap:8px}
.cpcal-app .cpcal-agenda-item{display:flex;align-items:center;flex-wrap:wrap;gap:13px;padding:12px 16px;border:1px solid var(--cp-line);border-left:4px solid var(--cpcal-evt-color);background:#fbfdff;text-align:left;color:var(--cp-navy);min-height:49px}
.cpcal-app .cpcal-agenda-item:hover{background:#eff7fc}
.cpcal-app .cpcal-agenda-item .cpcal-agenda-time{font-size:12px;color:var(--cp-muted);min-width:69px}
.cpcal-app .cpcal-agenda-item strong{font-size:13px}
.cpcal-app .cpcal-agenda-item small{color:var(--cp-muted);font-size:12px;margin-left:auto}
.cpcal-app .cpcal-timeline-scroll{max-height:730px;overflow:auto;border:1px solid var(--cp-line);border-radius:13px;background:#fff;overscroll-behavior:contain}
.cpcal-app .cpcal-timeline{min-width:760px}
.cpcal-app .cpcal-timeline.is-single{min-width:350px}
.cpcal-app .cpcal-timeline-head,.cpcal-app .cpcal-allday,.cpcal-app .cpcal-timeline-body{display:grid;grid-template-columns:62px repeat(var(--cpcal-days),minmax(0,1fr))}
.cpcal-app .cpcal-timeline-head{position:sticky;top:0;z-index:3;background:#f5fafe;border-bottom:1px solid var(--cp-line)}
.cpcal-app .cpcal-timecorner{border-right:1px solid var(--cp-line)}
.cpcal-app .cpcal-timeline-day{border:0;border-right:1px solid var(--cp-line);background:transparent;font:700 13px/1.4 'DM Sans',sans-serif;color:#34536a;padding:11px 6px;text-align:center;text-transform:capitalize;min-height:46px}
.cpcal-app .cpcal-timeline-day.is-today{color:#0077b6;background:#e8f5fd}
.cpcal-app .cpcal-timeline-day:hover{background:#eaf3fa}
.cpcal-app .cpcal-allday{background:#fbfdff;border-bottom:1px solid var(--cp-line)}
.cpcal-app .cpcal-allday-label{display:flex;align-items:center;justify-content:center;font-size:10px;color:#71889b;padding:8px 1px}
.cpcal-app .cpcal-allday-column{border-left:1px solid var(--cp-line);padding:3px;display:grid;gap:3px;min-height:35px}
.cpcal-app .cpcal-timeline-body{background:#fff}
.cpcal-app .cpcal-hour-labels{height:1152px;position:relative;background:#fff}
.cpcal-app .cpcal-hour-labels>div{position:absolute;width:100%;left:0;text-align:right;padding-right:10px;color:#8699a7;font-size:10px;line-height:16px}
.cpcal-app .cpcal-lane{height:1152px;position:relative;border-left:1px solid #dce9f2;background:repeating-linear-gradient(to bottom,#fff 0,#fff 47px,#dfeaf1 47px,#dfeaf1 48px)}
.cpcal-app .cpcal-lane.is-editable:hover{background:repeating-linear-gradient(to bottom,#fcfdff 0,#fcfdff 47px,#dfeaf1 47px,#dfeaf1 48px);cursor:crosshair}
.cpcal-app .cpcal-hour-cell{display:none}
.cpcal-app .cpcal-time-event{position:absolute;z-index:1;left:3px;right:3px;border:0;border-left:3px solid var(--cpcal-evt-color);border-radius:4px;padding:4px 5px;text-align:left;background:color-mix(in srgb,var(--cpcal-evt-color) 19%,white);color:#1b3850;overflow:hidden;display:flex;flex-direction:column;gap:2px;font-size:11px;line-height:1.15;min-height:20px}
.cpcal-app .cpcal-time-event b{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cpcal-app .cpcal-time-event span{font-size:10px}
.cpcal-app .cpcal-time-event:hover{z-index:2;box-shadow:0 3px 12px #002a4c33}
.cpcal-app .cpcal-modal{width:min(570px,calc(100vw - 25px));max-height:min(93vh,830px);border:0;border-radius:14px;background:#fff;padding:0;box-shadow:0 25px 90px rgba(5,26,45,.33);color:#172e44;overflow:auto;margin:auto}
.cpcal-app .cpcal-modal::backdrop{background:rgba(4,21,37,.72)}
.cpcal-app .cpcal-form{margin:0;padding:0}
.cpcal-app .cpcal-modal-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;background:#0b2239;padding:19px 23px;color:#fff}
.cpcal-app h3.cpcal-modal-head{margin:0}
.cpcal-app .cpcal-modal-head h3{margin:0!important;color:#fff!important;font:400 25px/1.25 'DM Serif Display',Georgia,serif!important}
.cpcal-app .cpcal-close{border:0;background:transparent;color:white;font-size:29px;line-height:1;width:30px;height:30px;display:grid;place-items:center;padding:0}
.cpcal-app .cpcal-form-body{padding:23px 24px 15px;display:grid;gap:13px}
.cpcal-app .cpcal-field{display:grid;gap:5px;font-size:12px;color:#4a6276;font-weight:700;min-width:0}
.cpcal-app .cpcal-field>span{font-weight:700;font-size:12px;color:#3b5164}
.cpcal-app .cpcal-field input,.cpcal-app .cpcal-field textarea{width:100%;margin:0;padding:10px 12px;border:1px solid #c8d9e5;border-radius:5px;background:#fff;color:#162e44;font-size:14px;min-height:42px;box-shadow:none;resize:vertical}
.cpcal-app .cpcal-field textarea{min-height:82px}
.cpcal-app .cpcal-field input:disabled,.cpcal-app .cpcal-field textarea:disabled{background:#f6f9fb;color:#345265;opacity:1}
.cpcal-app .cpcal-date-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.cpcal-app .cpcal-field[hidden]{display:none}
.cpcal-app .cpcal-check{display:flex;align-items:center;gap:11px;padding:0;margin:1px 0 3px;color:#1c405a;font-weight:600;font-size:13px;cursor:pointer}
.cpcal-app .cpcal-check input{width:16px;height:16px;margin:0}
.cpcal-app .cpcal-colors{display:flex;gap:10px;padding:7px 0 0;flex-wrap:wrap}
.cpcal-app .cpcal-color{width:27px;height:27px;border:2px solid white;border-radius:50%;padding:0;box-shadow:0 0 0 1px #c5d7e3}
.cpcal-app .cpcal-color[aria-pressed="true"]{outline:2px solid #0b2239;outline-offset:2px}
.cpcal-app .cpcal-form-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;padding:18px 24px 24px;border-top:1px solid #e5ecf1}
.cpcal-app .cpcal-form-actions button{min-height:41px;border-radius:5px;padding:9px 13px;font-size:12px;font-weight:700}
.cpcal-app .cpcal-delete{margin-right:auto;border:1px solid #f0c0c0;background:#fff1f1;color:#b92b39}
.cpcal-app .cpcal-delete:hover{background:#ffe0e3}
.cpcal-app .cpcal-cancel{background:#f1f6fa;color:#28465c;border:1px solid #cadae5}
.cpcal-app .cpcal-save{background:#0077b6;color:white;border:1px solid #0077b6}
.cpcal-app .cpcal-save:hover{background:#005889}
.cpcal-app .cpcal-form-actions button[hidden]{display:none}
.cpcal-app .cpcal-details:empty{display:none}
.cpcal-app .is-loading .cpcal-surface{opacity:.75;transition:opacity .2s}
@media(max-width:1050px){.cpcal-app .cpcal-toolbar{padding:18px}.cpcal-app .cpcal-period{min-width:90px;margin:0 4px}.cpcal-app .cpcal-day{min-height:98px}.cpcal-app button.cpcal-event{font-size:10px}}
@media(max-width:700px){
 .cpcal-app .cpcal-toolbar{padding:19px 14px 14px;gap:13px}
 .cpcal-app .cpcal-title-wrap{flex-basis:100%}
 .cpcal-app h2.cpcal-title{font-size:30px!important}
 .cpcal-app .cpcal-controls{width:100%;justify-content:flex-start;gap:6px}
 .cpcal-app .cpcal-controls button,.cpcal-app .cpcal-controls select{min-height:34px;font-size:11px}
 .cpcal-app .cpcal-nav{width:30px;height:34px;padding:5px}
 .cpcal-app .cpcal-today{padding:0 9px}
 .cpcal-app .cpcal-period{font-size:12px;min-width:0;flex:1 1 85px;margin:0 3px;line-height:1.4}
 .cpcal-app .cpcal-select{height:34px;padding-left:6px;max-width:97px}
 .cpcal-app .cpcal-surface{padding:0 7px 8px}
 .cpcal-app .cpcal-month{border-radius:10px}
 .cpcal-app .cpcal-month-headers span{font-size:9px;padding:7px 2px}
 .cpcal-app .cpcal-day{min-height:89px;padding:4px 2px;gap:2px}
 .cpcal-app .cpcal-day-num{width:24px;height:24px;min-width:24px;font-size:11px}
 .cpcal-app button.cpcal-event{font-size:9px;min-height:18px;padding:3px 2px 3px 3px;border-left-width:2px}
 .cpcal-app .cpcal-more{font-size:9px;padding:2px}
 .cpcal-app .cpcal-footer{font-size:10px;padding:8px 10px 12px}
 .cpcal-app .cpcal-agenda{padding:4px 9px}
 .cpcal-app .cpcal-agenda-group{grid-template-columns:1fr;gap:1px}
 .cpcal-app .cpcal-agenda-day{padding:5px}
 .cpcal-app .cpcal-agenda-item{padding:10px 9px}
 .cpcal-app .cpcal-agenda-item small{margin-left:0}
 .cpcal-app .cpcal-form-body{padding:18px 16px}
 .cpcal-app .cpcal-form-actions{padding:12px 16px 18px}
}
@media(max-width:390px){.cpcal-app .cpcal-date-grid{gap:7px}.cpcal-app .cpcal-field input{padding:9px 6px;font-size:12px}.cpcal-app .cpcal-period{font-size:11px}.cpcal-app button.cpcal-add{padding:0 8px}.cpcal-app button.cpcal-event{font-size:8px;letter-spacing:-.02em}}
@media print{.cpcal-app .cpcal-controls,.cpcal-app .cpcal-footer,.cpcal-app .cpcal-modal{display:none!important}.cpcal-app .cpcal-shell{box-shadow:none}.cpcal-app .cpcal-day{min-height:85px}.cpcal-app .cpcal-surface{padding:0}.cpcal-app .cpcal-timeline-scroll{max-height:none;overflow:visible}}
