[hidden] {
  display: none !important;
}
.admin-only[hidden]{display:none!important}#admin-view{max-width:1180px;margin:auto;padding:32px 22px}.admin-title h1{font-size:34px;margin:3px 0}.admin-title>div>p:last-child,.panel-head p{color:var(--muted)}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:24px}.panel{background:white;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 10px 28px #24415c0d}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.panel-head h2,.panel-head p{margin:0}.panel-head p{font-size:13px;margin-top:4px}.admin-list{display:grid;gap:9px}.admin-row{border:1px solid var(--line);border-radius:12px;padding:12px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px}.admin-row.inactive{opacity:.55}.admin-row small{display:block;color:var(--muted);margin-top:3px}.dot{width:13px;height:38px;border-radius:8px}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#e9f6ee;color:var(--green);font-weight:800}.user-controls{display:flex;align-items:center;gap:8px}.user-controls select{padding:7px}.switch{margin:0;display:flex;flex-direction:row;align-items:center;font-size:12px}.switch input,.checks input{width:auto}.checks{display:flex;flex-direction:column;justify-content:center}.checks label{flex-direction:row;align-items:center;margin:6px 0}.active{border-color:var(--green)!important;color:var(--green)!important;background:#effbf4!important}label small{color:var(--muted);font-weight:400}
@media(max-width:720px){.admin-grid{grid-template-columns:1fr}.admin-row{grid-template-columns:auto 1fr}.admin-row>button,.user-controls{grid-column:2}.user-controls{flex-wrap:wrap}}

/* Navigation compacte et responsive */
header{gap:clamp(14px,2vw,28px);position:relative}
header nav{min-width:0;align-items:center}
header nav .ghost{white-space:nowrap;padding:10px 14px}
.profile{position:relative;flex:0 0 auto}
.profile summary{list-style:none;display:flex;align-items:center;gap:9px;min-width:150px;padding:7px 11px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;color:#45546a}
.profile summary::-webkit-details-marker{display:none}
.profile summary:hover{background:#f8fafc;border-color:#d5dfe9}
.account-avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--green),#177bca);position:relative;flex:none}
.account-avatar:after{content:"";position:absolute;inset:8px;border-radius:50%;background:#fff9}
.account-label{display:flex;min-width:0;flex-direction:column;line-height:1.15}
.account-label small{font-size:10px;color:var(--muted);font-weight:700}
.account-label strong{max-width:115px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.account-chevron{margin-left:auto;font-size:16px;transition:transform .15s}
.profile[open] .account-chevron{transform:rotate(180deg)}
.account-dropdown{position:absolute;right:0;top:calc(100% + 8px);z-index:50;width:190px;padding:7px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 16px 40px #10253c24}
.account-action{display:block;width:100%;padding:10px 12px;border-radius:8px;background:#fff;color:#45546a;text-align:left;font-weight:700}
.account-action:hover{background:#f3f7fa}
.account-action.logout-action{color:#b42318}
@media(max-width:1050px){header{height:auto;min-height:76px;display:grid;grid-template-columns:1fr auto;padding-top:10px;padding-bottom:10px}.brand{grid-column:1}.profile{grid-column:2}header nav{grid-column:1/-1;grid-row:2;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}}
@media(max-width:560px){header{padding:10px 12px}.brand img{width:42px;height:42px}.brand div{display:none}.profile summary{min-width:0}.account-label small{display:none}.account-label strong{max-width:105px}header nav{gap:6px}header nav .ghost{padding:9px 11px;font-size:13px}}

/* Vue jour sous forme d'agenda compact */
.day-agenda-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#f8fbff,#f4fbf7)}
.day-agenda-head>div{display:grid;gap:4px}.day-agenda-head strong{text-transform:capitalize;font-size:20px}.day-agenda-head span{color:var(--muted);font-size:13px}.day-agenda-head button{padding:9px 14px}
.day-agenda-list{display:grid!important;gap:11px!important;max-width:760px;margin:0 auto!important;padding:22px!important}
.day-agenda-card{position:relative;width:100%;display:grid;grid-template-columns:72px 1fr 28px;align-items:center;gap:18px;min-height:78px;padding:13px 18px;border:1px solid var(--line);border-left:5px solid currentColor;border-radius:12px;background:#fff!important;color:var(--ink)!important;text-align:left;box-shadow:0 4px 15px #17324c12;overflow:hidden}
.day-agenda-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:currentColor}.day-agenda-card:hover{transform:translateY(-1px);box-shadow:0 8px 22px #17324c20}
.day-agenda-card.resource-color-0{color:#2f7de5!important}.day-agenda-card.resource-color-1{color:#20a85d!important}.day-agenda-card.resource-color-2{color:#e8a817!important}.day-agenda-card.resource-color-3{color:#8b63d2!important}.day-agenda-card.resource-color-4{color:#e6557e!important}.day-agenda-card.resource-color-5{color:#18a4a8!important}.day-agenda-card.resource-color-6{color:#e49b11!important}.day-agenda-card.resource-color-7{color:#6b7f98!important}.day-agenda-card.resource-color-8{color:#d95757!important}.day-agenda-card.resource-color-9{color:#278fc8!important}
.day-agenda-time{display:grid;gap:3px;color:var(--ink)}.day-agenda-time strong{font-size:14px}.day-agenda-time small{font-size:12px;color:var(--muted)}.day-agenda-info{display:grid;gap:4px;min-width:0;color:var(--ink)}.day-agenda-info strong,.day-agenda-info small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-agenda-info strong{font-size:15px}.day-agenda-info small{color:var(--muted);font-weight:600}.day-agenda-icon{color:#91a0b2;font-size:19px;text-align:center}.day-agenda-card.pending{background:repeating-linear-gradient(135deg,#fff,#fff 9px,#fff9df 9px,#fff9df 18px)!important}
.day-agenda-empty{display:grid;justify-items:center;gap:8px;padding:55px 20px;text-align:center;color:var(--muted)}.day-agenda-empty strong{font-size:18px;color:var(--ink)}.day-agenda-empty button{margin-top:10px}
@media(max-width:620px){.day-agenda-head{padding:16px}.day-agenda-head button{font-size:0;padding:10px 13px}.day-agenda-head button:after{content:"+";font-size:18px}.day-agenda-list{padding:14px!important}.day-agenda-card{grid-template-columns:58px 1fr 20px;gap:11px;min-height:72px;padding:11px 12px}.day-agenda-info strong{font-size:14px}}
.approval-only[hidden]{display:none!important}#approvals-view{max-width:1180px;margin:auto;padding:32px 22px}.approvals-panel{margin-top:24px}.approval-row{border:1px solid var(--line);border-left:5px solid var(--blue);border-radius:12px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:20px}.approval-row small{display:block;color:var(--muted);margin-top:5px}.approval-row p{margin:8px 0 0}.approval-actions,.booking-actions{display:flex;gap:8px}.approval-actions .reject{background:#fff0f0;color:#b42318}.approval-actions .approve{background:var(--green)}.booking-actions button{padding:8px 11px}.booking.pending{background:#fffaf0}.empty{text-align:center;color:var(--muted);padding:45px 15px}.empty p{margin:6px}.recurrence[hidden]{display:none!important}
@media(max-width:720px){.approval-row{align-items:flex-start;flex-direction:column}.booking-actions{width:100%}}
.view-switch{display:flex;margin-left:auto}.view-switch button{border-radius:0}.view-switch button:first-child{border-radius:10px 0 0 10px}.view-switch button:last-child{border-radius:0 10px 10px 0}#filters{margin-left:0}#resource-filter{padding:9px;max-width:210px}.month-head{text-align:center;color:var(--muted);font-weight:700;font-size:13px;padding:8px}.month-grid{display:grid!important;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:8px!important}.month-day{background:#fff;border:1px solid var(--line);border-radius:12px;min-height:125px;padding:8px;overflow:hidden}.month-day.current{outline:2px solid var(--green)}.month-day>strong{display:block;margin-bottom:7px}.month-day .booking.compact{display:block;padding:6px 7px;margin:5px 0;border-radius:7px;font-size:11px}.month-day .booking.compact .time{font-size:10px}.month-day .booking.compact small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty-day{background:transparent;border-style:dashed}.admin-title{display:flex;align-items:center;justify-content:space-between;gap:20px}.audit-panel{grid-column:1/-1}.audit-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:10px}.audit-row small{display:block;color:var(--muted);margin-top:3px}.audit-row code{color:var(--muted)}
@media(max-width:900px){.month-grid{grid-template-columns:repeat(2,1fr)}.month-head,.empty-day{display:none}.month-day{min-height:80px}.toolbar .view-switch{order:5;margin-left:0}.admin-title{align-items:flex-start;flex-direction:column}}@media(max-width:560px){.month-grid{grid-template-columns:1fr}#resource-filter{max-width:100%}}

/* Calendrier horaire */
.planning-wide{max-width:none;width:100%;padding-left:clamp(16px,2vw,36px);padding-right:clamp(16px,2vw,36px)}
.calendar{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:auto;box-shadow:0 10px 28px #1f39500d}
.days{display:grid;grid-template-columns:54px repeat(7,minmax(0,1fr));gap:0;min-width:0;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:4;background:#fff}
.days.calendar-columns-1,#booking-list.calendar-columns-1{grid-template-columns:54px minmax(700px,1fr)}
.time-head{border-right:1px solid var(--line)}
.calendar-day-head{text-align:center;padding:10px 5px;border-right:1px solid var(--line);text-transform:capitalize}
.calendar-day-head span{display:block;font-weight:750;font-size:13px}.calendar-day-head strong{font-size:11px;color:var(--muted)}
.calendar-day-head.current{background:#effaf3;color:#08743b}
#booking-list.time-grid{display:grid;grid-template-columns:54px repeat(7,minmax(0,1fr));min-width:0;height:816px;min-height:816px;margin:0;gap:0}
.time-labels{position:relative;height:816px;border-right:1px solid var(--line);background:#fff}
.time-labels span{position:absolute;right:8px;transform:translateY(-8px);font-size:11px;color:var(--muted)}
.time-column{position:relative;height:816px;border-right:1px solid var(--line);background-image:linear-gradient(to bottom,transparent 67px,var(--line) 68px);background-size:100% 68px}
.time-column{cursor:crosshair}
.time-column:hover{background-color:#f8fcfa}
.time-column.current:hover{background-color:#f3fbf6}
.calendar-booking{cursor:pointer}
.time-column.current{background-color:#fbfefc}
.calendar-booking{position:absolute;left:4px;width:calc(100% - 8px);padding:7px;border:0;border-left:4px solid #1677ff;border-radius:7px;text-align:left;color:#132238;background:#e8f2ff;box-shadow:0 2px 7px #17324c20;overflow:visible;z-index:2;font-weight:500}
.calendar-booking:hover{filter:none;box-shadow:0 5px 13px #17324c2e;z-index:3}
.calendar-booking>strong,.calendar-booking>span:not(.booking-tooltip){display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.calendar-booking strong{font-size:12px}.calendar-booking span{font-size:11px;font-weight:750;margin-top:2px}.calendar-booking small{font-size:10px;margin-top:3px;color:#34445a}
.booking-tooltip{display:none;position:absolute;left:0;top:calc(100% + 8px);width:230px;padding:12px 13px;border:1px solid #dbe5ef;border-radius:10px;background:#fff;color:var(--ink);box-shadow:0 12px 34px #10253c33;white-space:normal;text-align:left;z-index:30;font-weight:500}
#booking-list .booking-tooltip.cursor-position{position:fixed;left:16px;top:16px;right:auto;z-index:100;pointer-events:none}
.calendar-booking:hover .booking-tooltip,.calendar-booking:focus-visible .booking-tooltip{display:block}
.booking-tooltip:before{content:"";position:absolute;left:15px;top:-6px;width:10px;height:10px;background:#fff;border-left:1px solid #dbe5ef;border-top:1px solid #dbe5ef;transform:rotate(45deg)}
.booking-tooltip b{display:block;font-size:13px;margin-bottom:8px}.booking-tooltip span{display:grid;grid-template-columns:78px 1fr;gap:7px;font-size:11px;line-height:1.35;margin-top:5px;white-space:normal}.booking-tooltip em{color:var(--muted);font-style:normal;font-weight:650}
.time-column:last-child .booking-tooltip{left:auto;right:0}.time-column:last-child .booking-tooltip:before{left:auto;right:15px}
.time-column:last-child .booking-tooltip.cursor-position{right:auto}.booking-tooltip.cursor-position:before{display:none}
@media(hover:none){.calendar-booking:hover .booking-tooltip{display:none}}
.calendar-booking.pending{background:repeating-linear-gradient(135deg,#fff7d6,#fff7d6 7px,#ffedaa 7px,#ffedaa 14px)}
.calendar-booking.overlap-2{width:calc(50% - 6px)}.calendar-booking.overlap-2.lane-1{left:calc(50% + 2px)}
.calendar-booking.overlap-3{width:calc(33.333% - 5px)}.calendar-booking.overlap-3.lane-1{left:calc(33.333% + 1px)}.calendar-booking.overlap-3.lane-2{left:calc(66.666% + 1px)}
.calendar-booking.overlap-4{width:calc(25% - 5px)}.calendar-booking.overlap-4.lane-1{left:calc(25% + 1px)}.calendar-booking.overlap-4.lane-2{left:calc(50% + 1px)}.calendar-booking.overlap-4.lane-3{left:calc(75% + 1px)}
.resource-color-0{border-left-color:#175fc5;background:#2f7de5;color:#fff}.resource-color-1{border-left-color:#08783b;background:#20a85d;color:#fff}.resource-color-2{border-left-color:#d08b00;background:#ffc94f;color:#263244}.resource-color-3{border-left-color:#6842b5;background:#8b63d2;color:#fff}.resource-color-4{border-left-color:#b92d56;background:#e6557e;color:#fff}.resource-color-5{border-left-color:#08777b;background:#18a4a8;color:#fff}.resource-color-6{border-left-color:#cc8300;background:#f5b93d;color:#263244}.resource-color-7{border-left-color:#485a70;background:#6b7f98;color:#fff}.resource-color-8{border-left-color:#aa3030;background:#d95757;color:#fff}.resource-color-9{border-left-color:#09699a;background:#278fc8;color:#fff}
.calendar-booking[class*="resource-color-"]{box-shadow:0 3px 10px #17324c2b}.calendar-booking[class*="resource-color-"]>span{color:inherit}.calendar-booking[class*="resource-color-"]>.booking-tooltip,.calendar-booking[class*="resource-color-"]>.booking-tooltip b,.calendar-booking[class*="resource-color-"]>.booking-tooltip span{color:var(--ink);background:#fff}.calendar-booking[class*="resource-color-"]>.booking-tooltip em{color:var(--muted)}
.view-switch button{margin-left:-1px}.view-switch button.active{background:var(--ink)!important;color:#fff!important;border-color:var(--ink)!important}
.month-grid+.nothing{display:none}
@media(max-width:1100px){.days,#booking-list.time-grid{grid-template-columns:54px repeat(7,minmax(190px,1fr));min-width:1384px}.days.calendar-columns-1,#booking-list.calendar-columns-1{grid-template-columns:54px minmax(700px,1fr);min-width:754px}}
.duration-tools{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:-3px 0 14px}.duration-tools span{font-size:12px;font-weight:800;color:var(--muted);margin-right:3px}.duration-tools button{padding:7px 10px;border-radius:8px;background:#eef4fa;color:var(--ink);font-size:12px}.duration-tools button:hover{background:#dfeaf5}.booking-summary{display:none;border-radius:11px;padding:11px 13px;margin:3px 0 12px;font-size:13px;font-weight:650}.booking-summary.ok{display:block;background:#e9f9ef;color:#10733d;border:1px solid #bce8cc}.booking-summary.warning{display:block;background:#fff5e5;color:#9a5700;border:1px solid #f2d29b}.booking-summary.error{display:block;background:#fff0f0;color:#a82323;border:1px solid #f1bcbc}
@media(max-width:720px){.calendar{margin-left:-12px;margin-right:-12px}.toolbar h2{flex:1;min-width:190px}.view-switch{margin-left:0}}
.booking-detail{width:min(520px,calc(100vw - 36px));padding:24px}.detail-status{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#e9f8ef;color:#08743b;font-size:12px;font-weight:800;margin:2px 0 20px}.detail-status.pending{background:#fff3cd;color:#855d00}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0}.detail-grid div{border-bottom:1px solid var(--line);padding-bottom:12px}.detail-grid dt{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:800}.detail-grid dd{margin:5px 0 0;font-weight:700;line-height:1.35}.detail-notes{margin-top:18px;padding:14px 16px;border-radius:12px;background:#f6f8fa}.detail-notes strong{font-size:12px;color:var(--muted)}.detail-notes p{margin:5px 0 0;white-space:pre-wrap}.booking-detail .actions{margin-top:22px}.booking-detail .delete{margin-right:auto;background:#fff0f0;color:#b42318}.booking.compact{cursor:pointer}@media(max-width:520px){.booking-detail{padding:20px}.detail-grid{grid-template-columns:1fr}.booking-detail .actions{display:grid;grid-template-columns:1fr}.booking-detail .delete{order:2;margin:0}}
#mine-view{max-width:980px;margin:auto;padding:32px 22px}.mine-panel{margin-top:24px}.mine-list{display:grid;gap:10px}.mine-booking{width:100%;display:grid;grid-template-columns:58px 1fr auto 20px;align-items:center;gap:16px;padding:14px 18px;border:0;border-left:6px solid #175fc5;border-radius:13px;text-align:left;color:#fff;box-shadow:0 4px 14px #17324c1c}.mine-booking:hover{filter:brightness(1.04);transform:translateY(-1px)}.mine-date{display:grid;text-align:center;text-transform:uppercase;font-size:11px}.mine-date strong{font-size:24px;line-height:1}.mine-info{display:grid;gap:4px}.mine-info strong{font-size:15px}.mine-info small{opacity:.92}.mine-status{padding:6px 9px;border-radius:999px;background:#ffffff2b;font-size:11px;font-weight:800}.mine-status.pending{background:#fff3cd;color:#7a5600}.mine-arrow{font-size:27px;text-align:right}@media(max-width:620px){#mine-view{padding:24px 14px}.mine-booking{grid-template-columns:48px 1fr 16px;gap:10px;padding:13px 12px}.mine-status{grid-column:2;justify-self:start}.mine-arrow{grid-column:3;grid-row:1/3}.mine-info small{line-height:1.35}}
/* Positionnement sans styles inline (compatible avec la CSP de production). */
.cal-pos-0{top:0.000px}
.cal-pos-1{top:5.667px}
.cal-pos-2{top:11.333px}
.cal-pos-3{top:17.000px}
.cal-pos-4{top:22.667px}
.cal-pos-5{top:28.333px}
.cal-pos-6{top:34.000px}
.cal-pos-7{top:39.667px}
.cal-pos-8{top:45.333px}
.cal-pos-9{top:51.000px}
.cal-pos-10{top:56.667px}
.cal-pos-11{top:62.333px}
.cal-pos-12{top:68.000px}
.cal-pos-13{top:73.667px}
.cal-pos-14{top:79.333px}
.cal-pos-15{top:85.000px}
.cal-pos-16{top:90.667px}
.cal-pos-17{top:96.333px}
.cal-pos-18{top:102.000px}
.cal-pos-19{top:107.667px}
.cal-pos-20{top:113.333px}
.cal-pos-21{top:119.000px}
.cal-pos-22{top:124.667px}
.cal-pos-23{top:130.333px}
.cal-pos-24{top:136.000px}
.cal-pos-25{top:141.667px}
.cal-pos-26{top:147.333px}
.cal-pos-27{top:153.000px}
.cal-pos-28{top:158.667px}
.cal-pos-29{top:164.333px}
.cal-pos-30{top:170.000px}
.cal-pos-31{top:175.667px}
.cal-pos-32{top:181.333px}
.cal-pos-33{top:187.000px}
.cal-pos-34{top:192.667px}
.cal-pos-35{top:198.333px}
.cal-pos-36{top:204.000px}
.cal-pos-37{top:209.667px}
.cal-pos-38{top:215.333px}
.cal-pos-39{top:221.000px}
.cal-pos-40{top:226.667px}
.cal-pos-41{top:232.333px}
.cal-pos-42{top:238.000px}
.cal-pos-43{top:243.667px}
.cal-pos-44{top:249.333px}
.cal-pos-45{top:255.000px}
.cal-pos-46{top:260.667px}
.cal-pos-47{top:266.333px}
.cal-pos-48{top:272.000px}
.cal-pos-49{top:277.667px}
.cal-pos-50{top:283.333px}
.cal-pos-51{top:289.000px}
.cal-pos-52{top:294.667px}
.cal-pos-53{top:300.333px}
.cal-pos-54{top:306.000px}
.cal-pos-55{top:311.667px}
.cal-pos-56{top:317.333px}
.cal-pos-57{top:323.000px}
.cal-pos-58{top:328.667px}
.cal-pos-59{top:334.333px}
.cal-pos-60{top:340.000px}
.cal-pos-61{top:345.667px}
.cal-pos-62{top:351.333px}
.cal-pos-63{top:357.000px}
.cal-pos-64{top:362.667px}
.cal-pos-65{top:368.333px}
.cal-pos-66{top:374.000px}
.cal-pos-67{top:379.667px}
.cal-pos-68{top:385.333px}
.cal-pos-69{top:391.000px}
.cal-pos-70{top:396.667px}
.cal-pos-71{top:402.333px}
.cal-pos-72{top:408.000px}
.cal-pos-73{top:413.667px}
.cal-pos-74{top:419.333px}
.cal-pos-75{top:425.000px}
.cal-pos-76{top:430.667px}
.cal-pos-77{top:436.333px}
.cal-pos-78{top:442.000px}
.cal-pos-79{top:447.667px}
.cal-pos-80{top:453.333px}
.cal-pos-81{top:459.000px}
.cal-pos-82{top:464.667px}
.cal-pos-83{top:470.333px}
.cal-pos-84{top:476.000px}
.cal-pos-85{top:481.667px}
.cal-pos-86{top:487.333px}
.cal-pos-87{top:493.000px}
.cal-pos-88{top:498.667px}
.cal-pos-89{top:504.333px}
.cal-pos-90{top:510.000px}
.cal-pos-91{top:515.667px}
.cal-pos-92{top:521.333px}
.cal-pos-93{top:527.000px}
.cal-pos-94{top:532.667px}
.cal-pos-95{top:538.333px}
.cal-pos-96{top:544.000px}
.cal-pos-97{top:549.667px}
.cal-pos-98{top:555.333px}
.cal-pos-99{top:561.000px}
.cal-pos-100{top:566.667px}
.cal-pos-101{top:572.333px}
.cal-pos-102{top:578.000px}
.cal-pos-103{top:583.667px}
.cal-pos-104{top:589.333px}
.cal-pos-105{top:595.000px}
.cal-pos-106{top:600.667px}
.cal-pos-107{top:606.333px}
.cal-pos-108{top:612.000px}
.cal-pos-109{top:617.667px}
.cal-pos-110{top:623.333px}
.cal-pos-111{top:629.000px}
.cal-pos-112{top:634.667px}
.cal-pos-113{top:640.333px}
.cal-pos-114{top:646.000px}
.cal-pos-115{top:651.667px}
.cal-pos-116{top:657.333px}
.cal-pos-117{top:663.000px}
.cal-pos-118{top:668.667px}
.cal-pos-119{top:674.333px}
.cal-pos-120{top:680.000px}
.cal-pos-121{top:685.667px}
.cal-pos-122{top:691.333px}
.cal-pos-123{top:697.000px}
.cal-pos-124{top:702.667px}
.cal-pos-125{top:708.333px}
.cal-pos-126{top:714.000px}
.cal-pos-127{top:719.667px}
.cal-pos-128{top:725.333px}
.cal-pos-129{top:731.000px}
.cal-pos-130{top:736.667px}
.cal-pos-131{top:742.333px}
.cal-pos-132{top:748.000px}
.cal-pos-133{top:753.667px}
.cal-pos-134{top:759.333px}
.cal-pos-135{top:765.000px}
.cal-pos-136{top:770.667px}
.cal-pos-137{top:776.333px}
.cal-pos-138{top:782.000px}
.cal-pos-139{top:787.667px}
.cal-pos-140{top:793.333px}
.cal-pos-141{top:799.000px}
.cal-pos-142{top:804.667px}
.cal-pos-143{top:810.333px}
.cal-pos-144{top:816.000px}
.cal-duration-1{height:30.000px}
.cal-duration-2{height:30.000px}
.cal-duration-3{height:30.000px}
.cal-duration-4{height:30.000px}
.cal-duration-5{height:30.000px}
.cal-duration-6{height:30.000px}
.cal-duration-7{height:35.667px}
.cal-duration-8{height:41.333px}
.cal-duration-9{height:47.000px}
.cal-duration-10{height:52.667px}
.cal-duration-11{height:58.333px}
.cal-duration-12{height:64.000px}
.cal-duration-13{height:69.667px}
.cal-duration-14{height:75.333px}
.cal-duration-15{height:81.000px}
.cal-duration-16{height:86.667px}
.cal-duration-17{height:92.333px}
.cal-duration-18{height:98.000px}
.cal-duration-19{height:103.667px}
.cal-duration-20{height:109.333px}
.cal-duration-21{height:115.000px}
.cal-duration-22{height:120.667px}
.cal-duration-23{height:126.333px}
.cal-duration-24{height:132.000px}
.cal-duration-25{height:137.667px}
.cal-duration-26{height:143.333px}
.cal-duration-27{height:149.000px}
.cal-duration-28{height:154.667px}
.cal-duration-29{height:160.333px}
.cal-duration-30{height:166.000px}
.cal-duration-31{height:171.667px}
.cal-duration-32{height:177.333px}
.cal-duration-33{height:183.000px}
.cal-duration-34{height:188.667px}
.cal-duration-35{height:194.333px}
.cal-duration-36{height:200.000px}
.cal-duration-37{height:205.667px}
.cal-duration-38{height:211.333px}
.cal-duration-39{height:217.000px}
.cal-duration-40{height:222.667px}
.cal-duration-41{height:228.333px}
.cal-duration-42{height:234.000px}
.cal-duration-43{height:239.667px}
.cal-duration-44{height:245.333px}
.cal-duration-45{height:251.000px}
.cal-duration-46{height:256.667px}
.cal-duration-47{height:262.333px}
.cal-duration-48{height:268.000px}
.cal-duration-49{height:273.667px}
.cal-duration-50{height:279.333px}
.cal-duration-51{height:285.000px}
.cal-duration-52{height:290.667px}
.cal-duration-53{height:296.333px}
.cal-duration-54{height:302.000px}
.cal-duration-55{height:307.667px}
.cal-duration-56{height:313.333px}
.cal-duration-57{height:319.000px}
.cal-duration-58{height:324.667px}
.cal-duration-59{height:330.333px}
.cal-duration-60{height:336.000px}
.cal-duration-61{height:341.667px}
.cal-duration-62{height:347.333px}
.cal-duration-63{height:353.000px}
.cal-duration-64{height:358.667px}
.cal-duration-65{height:364.333px}
.cal-duration-66{height:370.000px}
.cal-duration-67{height:375.667px}
.cal-duration-68{height:381.333px}
.cal-duration-69{height:387.000px}
.cal-duration-70{height:392.667px}
.cal-duration-71{height:398.333px}
.cal-duration-72{height:404.000px}
.cal-duration-73{height:409.667px}
.cal-duration-74{height:415.333px}
.cal-duration-75{height:421.000px}
.cal-duration-76{height:426.667px}
.cal-duration-77{height:432.333px}
.cal-duration-78{height:438.000px}
.cal-duration-79{height:443.667px}
.cal-duration-80{height:449.333px}
.cal-duration-81{height:455.000px}
.cal-duration-82{height:460.667px}
.cal-duration-83{height:466.333px}
.cal-duration-84{height:472.000px}
.cal-duration-85{height:477.667px}
.cal-duration-86{height:483.333px}
.cal-duration-87{height:489.000px}
.cal-duration-88{height:494.667px}
.cal-duration-89{height:500.333px}
.cal-duration-90{height:506.000px}
.cal-duration-91{height:511.667px}
.cal-duration-92{height:517.333px}
.cal-duration-93{height:523.000px}
.cal-duration-94{height:528.667px}
.cal-duration-95{height:534.333px}
.cal-duration-96{height:540.000px}
.cal-duration-97{height:545.667px}
.cal-duration-98{height:551.333px}
.cal-duration-99{height:557.000px}
.cal-duration-100{height:562.667px}
.cal-duration-101{height:568.333px}
.cal-duration-102{height:574.000px}
.cal-duration-103{height:579.667px}
.cal-duration-104{height:585.333px}
.cal-duration-105{height:591.000px}
.cal-duration-106{height:596.667px}
.cal-duration-107{height:602.333px}
.cal-duration-108{height:608.000px}
.cal-duration-109{height:613.667px}
.cal-duration-110{height:619.333px}
.cal-duration-111{height:625.000px}
.cal-duration-112{height:630.667px}
.cal-duration-113{height:636.333px}
.cal-duration-114{height:642.000px}
.cal-duration-115{height:647.667px}
.cal-duration-116{height:653.333px}
.cal-duration-117{height:659.000px}
.cal-duration-118{height:664.667px}
.cal-duration-119{height:670.333px}
.cal-duration-120{height:676.000px}
.cal-duration-121{height:681.667px}
.cal-duration-122{height:687.333px}
.cal-duration-123{height:693.000px}
.cal-duration-124{height:698.667px}
.cal-duration-125{height:704.333px}
.cal-duration-126{height:710.000px}
.cal-duration-127{height:715.667px}
.cal-duration-128{height:721.333px}
.cal-duration-129{height:727.000px}
.cal-duration-130{height:732.667px}
.cal-duration-131{height:738.333px}
.cal-duration-132{height:744.000px}
.cal-duration-133{height:749.667px}
.cal-duration-134{height:755.333px}
.cal-duration-135{height:761.000px}
.cal-duration-136{height:766.667px}
.cal-duration-137{height:772.333px}
.cal-duration-138{height:778.000px}
.cal-duration-139{height:783.667px}
.cal-duration-140{height:789.333px}
.cal-duration-141{height:795.000px}
.cal-duration-142{height:800.667px}
.cal-duration-143{height:806.333px}
.cal-duration-144{height:812.000px}
.cal-hour-0{top:0px}
.cal-hour-1{top:68px}
.cal-hour-2{top:136px}
.cal-hour-3{top:204px}
.cal-hour-4{top:272px}
.cal-hour-5{top:340px}
.cal-hour-6{top:408px}
.cal-hour-7{top:476px}
.cal-hour-8{top:544px}
.cal-hour-9{top:612px}
.cal-hour-10{top:680px}
.cal-hour-11{top:748px}
