.ocm-calendar,.ocm-editor,.ocm-calendar *,.ocm-editor *{box-sizing:border-box}
.ocm-calendar{--ocm-ink:#12313d;--ocm-sea:#0e6973;max-width:100%;min-width:0;margin:24px 0;padding:24px;border:1px solid #d5e0e3;border-radius:24px;background:#fff;color:var(--ocm-ink);font-family:Arial,sans-serif}
.ocm-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.ocm-calendar .ocm-eyebrow{font-size:12px;font-weight:700;letter-spacing:.07em;margin:0 0 6px;color:#52727a}
.ocm-calendar h3{font-size:25px;line-height:1.2;margin:0;color:var(--ocm-ink)}
.ocm-month-form{display:flex;align-items:flex-end;gap:10px;margin:0}
.ocm-month-form label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700}
.ocm-month-form select{display:block;width:190px;min-height:44px;height:44px;padding:8px 30px 8px 12px;font:14px Arial,sans-serif;color:#12313d;background-color:#fff;border:1px solid #bbced3;border-radius:9px}
.ocm-month-form button,.ocm-arrows a,.ocm-today{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid #d3e0e3;border-radius:9px;background:#fff;color:#0c5b64;text-decoration:none;font:bold 14px Arial,sans-serif;cursor:pointer;box-shadow:none}
.ocm-month-form button{background:#0e6973;color:#fff;border-color:#0e6973}
.ocm-arrows{display:flex;gap:8px}.ocm-arrows a{width:44px;font-size:22px;padding:7px}
.ocm-calendar .ocm-legend{display:flex;flex-wrap:wrap;gap:12px 23px;list-style:none;padding:0;margin:22px 0 13px}
.ocm-calendar .ocm-legend li{display:flex;align-items:center;gap:8px;padding:0;margin:0;font-size:13px;line-height:1.3}
.ocm-am-auto,.ocm-am-unknown{--am:#e4eaed}.ocm-pm-auto,.ocm-pm-unknown{--pm:#e4eaed}
.ocm-am-free{--am:#fff}.ocm-pm-free{--pm:#fff}
.ocm-am-occupied{--am:#a8e59b}.ocm-pm-occupied{--pm:#a8e59b}
.ocm-am-pending,.ocm-am-move{--am:#ffb2b2}.ocm-pm-pending,.ocm-pm-move{--pm:#ffb2b2}
.ocm-swatch{display:inline-flex;align-items:center;justify-content:center;width:27px;height:29px;border:1px solid #8b9c9f;border-radius:4px;background:var(--am);color:#203b42;font-weight:700;flex-shrink:0}
.ocm-swatch.ocm-am-unknown{background:repeating-linear-gradient(135deg,#e4eaed 0,#e4eaed 5px,#f4f7f8 5px,#f4f7f8 9px)}
.ocm-calendar .ocm-help{font:13px/1.6 Arial,sans-serif;color:#537078;margin:10px 0 14px;max-width:980px}
.ocm-jumps{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;margin:12px 0 25px}
.ocm-jumps>a{font:14px Arial,sans-serif;color:#0c5b64;text-underline-offset:3px}
.ocm-jumps .ocm-today{background:#e1f2f1;font-weight:700;border-color:#e1f2f1}
.ocm-month{margin-top:28px;scroll-margin-top:100px}.ocm-calendar .ocm-month h4{display:flex;gap:15px;align-items:center;flex-wrap:wrap;font-size:23px;line-height:1.3;margin:0 0 12px;color:#12313d}
.ocm-current{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border-radius:25px;padding:6px 11px;background:#e2f2f1;color:#076571}
.ocm-scroll{max-width:100%;overflow:auto;border:1px solid #c8d8dc;border-radius:12px;isolation:isolate;overscroll-behavior-x:contain}
.ocm-calendar .ocm-table{width:100%;min-width:1120px;table-layout:fixed;border-collapse:separate;border-spacing:0;margin:0;font:12px/1.3 Arial,sans-serif;text-align:center;border:0}
.ocm-calendar .ocm-table th,.ocm-calendar .ocm-table td{vertical-align:middle;border:0;border-bottom:1px solid #e0e8eb;padding:3px;background:#fff;color:#12313d;text-align:center;overflow:visible}
.ocm-calendar .ocm-table thead th{background:#105c65;color:#fff;height:62px;padding:7px 2px;font-weight:700}
.ocm-calendar .ocm-table thead th.ocm-weekend{background:#267983}
.ocm-calendar .ocm-table thead b{font-size:13px;display:block}.ocm-calendar .ocm-table thead small{display:block;font-size:10px;font-weight:400;margin-top:6px;color:#dcf0f2}
.ocm-calendar .ocm-table tr>th:first-child{position:sticky;left:0;z-index:2;text-align:left;width:190px;min-width:190px;padding:10px 12px;border-right:1px solid #d9e4e7;background:#f3f8f8;font-size:12px;font-weight:600}
.ocm-calendar .ocm-table thead tr>th:first-child{z-index:3;background:#105c65;color:#fff}
.ocm-calendar .ocm-table tbody tr:nth-child(even)>th{background:#eaf3f3}
.ocm-calendar .ocm-table a{color:#12313d;text-decoration:none}.ocm-calendar .ocm-table a:hover{text-decoration:underline}
.ocm-calendar .ocm-table .ocm-cell,.ocm-editor .ocm-cell{position:relative;display:flex;align-items:center;justify-content:center;gap:1px;width:100%;height:35px;min-height:35px;margin:0;padding:0;border:1px solid #93a6ab;border-radius:4px;box-shadow:none;background:var(--am);color:#15343b;font:600 11px Arial,sans-serif;text-decoration:none;line-height:1;white-space:nowrap}
.ocm-calendar .ocm-table button.ocm-cell{cursor:pointer}
.ocm-calendar .ocm-table .ocm-split,.ocm-editor .ocm-split{background:linear-gradient(135deg,var(--am) 48%,#506c75 49%,#506c75 51%,var(--pm) 52%)}
.ocm-calendar .ocm-table .ocm-am-unknown.ocm-pm-unknown{background:repeating-linear-gradient(135deg,#e4eaed 0,#e4eaed 5px,#f4f7f8 5px,#f4f7f8 9px)}
.ocm-cell small{position:absolute;bottom:1px;right:1px;font:bold 8px Arial,sans-serif;color:#5c1717}
.ocm-manual-dot{position:absolute;top:2px;right:2px;width:3px;height:3px;border-radius:50%;background:#324751}
.ocm-calendar .ocm-table [data-oc-today]{background:#9b4e20;scroll-margin-top:130px;scroll-margin-left:205px}
.ocm-calendar :focus-visible,.ocm-editor :focus-visible{outline:3px solid #127fb5;outline-offset:2px}
.ocm-calendar .ocm-table [data-oc-today]:focus{outline:3px solid white;outline-offset:-4px}
.ocm-error{padding:22px;border:1px solid #d7a468;border-radius:12px;background:#fff6e6;color:#633814}
.ocm-sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.ocm-admin{max-width:1600px}.ocm-admin>p{max-width:1150px;font-size:14px;line-height:1.7}.ocm-properties{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}
.ocm-editor{background:#fff;padding:24px;border:1px solid #cbdadd;border-radius:15px;margin:24px 0;scroll-margin-top:70px}
.ocm-editor h2{margin:0 0 20px}.ocm-fields{display:flex;gap:15px;align-items:flex-end;flex-wrap:wrap;margin-bottom:18px}
.ocm-fields label{display:flex;flex-direction:column;gap:7px;font-weight:600;min-width:175px;max-width:100%;flex:1}
.ocm-fields select,.ocm-fields input{width:100%;max-width:100%;min-height:42px;border:1px solid #9bb6bf;border-radius:7px;padding:7px 10px;font:14px Arial,sans-serif}
.ocm-editor .ocm-presets{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:18px 0}
.ocm-sample{width:72px;height:44px;flex-shrink:0}.ocm-editor .ocm-sample .ocm-cell{height:44px;font-size:17px}
.ocm-editor .description{max-width:1050px;line-height:1.6;margin-bottom:18px}
@media(max-width:760px){.ocm-calendar{padding:18px 12px;border-radius:18px}.ocm-toolbar{gap:12px}.ocm-toolbar>div:first-child{width:100%}.ocm-month-form{flex:1}.ocm-month-form label{flex:1}.ocm-month-form select{width:100%}.ocm-calendar h3{font-size:22px}.ocm-calendar .ocm-legend{gap:12px 15px}.ocm-calendar .ocm-legend li{font-size:12px}.ocm-calendar .ocm-table{min-width:1060px}.ocm-calendar .ocm-table tr>th:first-child{width:135px;min-width:135px;padding:8px;font-size:11px}.ocm-calendar .ocm-table [data-oc-today]{scroll-margin-left:150px}.ocm-calendar .ocm-month h4{font-size:21px}.ocm-jumps{gap:10px 15px}.ocm-editor{padding:18px}.ocm-fields label{min-width:190px}}
@media(max-width:420px){.ocm-arrows{width:100%;justify-content:flex-end}.ocm-calendar .ocm-eyebrow{font-size:10px}.ocm-jumps>a{font-size:12px}}
@media(prefers-reduced-motion:reduce){.ocm-calendar *{scroll-behavior:auto!important}}
