:root{--color-yellow: #ffb703;--color-green: #3a5a40;--color-red: #890620;--color-gray: #6c757d;--color-black: #000;--color-white: #fff;--color-blue: #014f86;--color-purple: #3c096c;--color-plp: #432818;--color-holiday:#72ddf7;--color-ito:#f5cac3;--color-link: #646cff;--color-link-hover: #535bf2;--color-link-hover-light: #747bff;--color-button-bg: #1a1a1a;--color-button-bg-light: #f9f9f9;--color-focus-outline: -webkit-focus-ring-color;--color-text-dark: rgba(255, 255, 255, .87);--color-text-light: #213547;--bg-dark: #242424;--bg-light: #ffffff;--max-width: 1280px;--padding-page: 2rem;--padding-card: 16px;--tile-min-height: 44px;--border-radius: 8px;--font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;--font-size-h1: 3.2em;--font-size-button: 1em;--font-weight: 400;--font-weight-bold: 500;--line-height: 1.5;--legend-box-size: 1rem;--legend-box-margin: .5rem;--skull-size: 1rem;--transition-fast: .25s;--legend-chip-bg: #faf7ee;--page-bg: var(--legend-chip-bg);--tile-accent-start: #4B5320;--tile-accent-end: #CBB67C;--tile-accent-grad: linear-gradient(180deg, var(--tile-accent-start) 0%, var(--tile-accent-end) 100%)}@media (max-width: 600px){:root{--padding-page: .75rem;--padding-card: 10px;--tile-min-height: 54px}}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:block;min-width:320px;min-height:100vh;background-color:var(--page-bg);overflow-x:hidden}html{background-color:var(--page-bg)}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547}a:hover{color:#747bff}button{background-color:#f9f9f9}}.react-calendar{width:350px;max-width:100%;background:#fff;border:1px solid #a0a096;font-family:Arial,Helvetica,sans-serif;line-height:1.125em}.react-calendar--doubleView{width:700px}.react-calendar--doubleView .react-calendar__viewContainer{display:flex;margin:-.5em}.react-calendar--doubleView .react-calendar__viewContainer>*{width:50%;margin:.5em}.react-calendar,.react-calendar *,.react-calendar *:before,.react-calendar *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.react-calendar button{margin:0;border:0;outline:none}.react-calendar button:enabled:hover{cursor:pointer}.react-calendar__navigation{display:flex;height:44px;margin-bottom:1em}.react-calendar__navigation button{min-width:44px;background:none}.react-calendar__navigation button:disabled{background-color:#f0f0f0}.react-calendar__navigation button:enabled:hover,.react-calendar__navigation button:enabled:focus{background-color:#e6e6e6}.react-calendar__month-view__weekdays{text-align:center;text-transform:uppercase;font:inherit;font-size:.75em;font-weight:700}.react-calendar__month-view__weekdays__weekday{padding:.5em}.react-calendar__month-view__weekNumbers .react-calendar__tile{display:flex;align-items:center;justify-content:center;font:inherit;font-size:.75em;font-weight:700}.react-calendar__month-view__days__day--weekend{color:#d10000}.react-calendar__month-view__days__day--neighboringMonth,.react-calendar__decade-view__years__year--neighboringDecade,.react-calendar__century-view__decades__decade--neighboringCentury{color:#757575}.react-calendar__year-view .react-calendar__tile,.react-calendar__decade-view .react-calendar__tile,.react-calendar__century-view .react-calendar__tile{padding:2em .5em}.react-calendar__tile{max-width:100%;padding:10px 6.6667px;background:none;text-align:center;font:inherit;font-size:.833em}.react-calendar__tile:disabled{background-color:#f0f0f0;color:#ababab}.react-calendar__month-view__days__day--neighboringMonth:disabled,.react-calendar__decade-view__years__year--neighboringDecade:disabled,.react-calendar__century-view__decades__decade--neighboringCentury:disabled{color:#cdcdcd}.react-calendar__tile:enabled:hover,.react-calendar__tile:enabled:focus{background-color:#e6e6e6}.react-calendar__tile--now{background:#ffff76}.react-calendar__tile--now:enabled:hover,.react-calendar__tile--now:enabled:focus{background:#ffffa9}.react-calendar__tile--hasActive{background:#76baff}.react-calendar__tile--hasActive:enabled:hover,.react-calendar__tile--hasActive:enabled:focus{background:#a9d4ff}.react-calendar__tile--active{background:#006edc;color:#fff}.react-calendar__tile--active:enabled:hover,.react-calendar__tile--active:enabled:focus{background:#1087ff}.react-calendar--selectRange .react-calendar__tile--hover{background-color:#e6e6e6}.sed-card{--panel-border: rgba(22,30,46,.12);--panel-divider: rgba(22,30,46,.08);--ink-strong: #1d2638;--ink-muted: #6b7280;border:1px solid var(--panel-border);border-radius:14px;padding:1rem 1.25rem;margin:1rem auto 0;background:var(--color-white);text-align:left;box-shadow:0 2px 10px #0000000d}.sed-title{margin:0;padding:.25rem 0 .75rem;font-size:1.05rem;font-weight:700;color:var(--ink-strong);display:flex;align-items:center;gap:.5rem;border-bottom:1px solid var(--panel-divider)}.sed-title:before{content:"📍";font-size:1rem}.sed-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 0;margin:0;border:none;border-top:1px solid var(--panel-divider);border-radius:0;background:transparent}.sed-item:first-of-type{border-top:0}.sed-body{flex:1;min-width:0}.sed-body>div{margin:.15rem 0}.sed-dayoff{background:#f7e96e1f;border-radius:10px;padding:.35rem .5rem}.sed-actions{margin-left:auto;display:flex;align-items:center;gap:.5rem}.btn{border:1px solid var(--color-button-bg);background:var(--color-button-bg);color:var(--color-white);padding:.35rem .7rem;font-size:.9rem;border-radius:999px;cursor:pointer}.btn:hover{filter:brightness(1.05)}.btn-danger{border-color:#e11d48;background:#e11d48}.sed-notes{color:var(--ink-muted);font-size:.92rem;margin-top:.15rem}@media (max-width: 640px){.sed-item{padding:.6rem 0}.sed-actions{justify-content:flex-end}}.header-card{background:linear-gradient(90deg,#4b5320,#cbb67c);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.4);border-radius:16px;padding:20px 24px;box-shadow:0 10px 25px #00000014;display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.header-title{display:flex;gap:10px;font-weight:700;font-size:20px}.header-month{opacity:.95;font-weight:600}.section-title{font-size:1.4rem;font-weight:700;color:#1a1a1a;text-align:center;margin-top:2rem;margin-bottom:1rem}.page-container{max-width:960px;margin:0 auto;padding:16px 20px}.app-title{font-size:2rem;line-height:1.2;margin:16px 0 12px}.card{background:#fff;border-radius:16px;border:1px solid #dbe2f1;box-shadow:0 8px 24px #1f293714;padding:16px}.calendar-card{overflow:hidden}.section+.section{margin-top:16px}@media (max-width: 600px){.section{padding-left:0;padding-right:0}}.summary-stats{list-style:none;margin:0;padding:0;display:grid;gap:12px}@media (min-width: 640px){.summary-stats{grid-template-columns:1fr 1fr}}.summary-item{display:grid;grid-template-columns:1fr auto;align-items:center;background:#faf7ee;border:1px solid #d7ccb3;border-radius:14px;padding:12px 14px}.summary-label{display:inline-flex;align-items:center;gap:8px;color:#4b5320;font-weight:800}.summary-icon{display:inline-flex;width:28px;height:28px;border-radius:50%;align-items:center;justify-content:center;background:linear-gradient(90deg,#4b5320,#cbb67c);color:#fff;font-size:14px;line-height:1}.summary-value{display:inline-block;min-width:72px;text-align:center;background:#cbb67c;color:#1f2937;border-radius:999px;padding:6px 12px;font-weight:800}.react-calendar{width:100%;border:none;background:transparent;padding:0}.react-calendar__navigation button{min-width:44px;padding:8px 6px;border-radius:8px;border:1px solid transparent}.react-calendar__navigation button:hover{background:#f0f4ff;border-color:#dbe2f1}.react-calendar__month-view__weekdays{color:#6b7280}.react-calendar__month-view__weekdays abbr[title]{text-decoration:none}.react-calendar__tile{padding:12px 8px;border-radius:10px;position:relative;border:1px solid transparent}.skull-marker{font-size:1rem;position:absolute;top:4px;right:6px;color:#000;pointer-events:none}.calendar-card .react-calendar__tile{padding:12px 8px;border-radius:10px;position:relative;border:1px solid transparent;background:linear-gradient(180deg,var(--page-bg) 0%,#e9e1cf 100%);transition:background .2s ease}.calendar-card .react-calendar__tile--now{background:linear-gradient(180deg,#c9c29c,#b7a774);font-weight:700;color:#fff}.calendar-card .react-calendar__tile--active{background:var(--tile-accent-grad);color:#fff;font-weight:700;outline:2px solid #2f63ff;outline-offset:1px}.calendar-card .react-calendar{width:100%}.calendar-card{padding:var(--padding-card)}.react-calendar__tile{min-height:var(--tile-min-height);padding:.6rem 0}.react-calendar__navigation button{min-height:40px}@media (max-width: 600px){.calendar-card.section{margin-left:-2px;margin-right:-2px;border-radius:14px}.react-calendar__navigation button{min-height:44px}}.calendar-card{background:var(--page-bg)}.calendar-card .react-calendar{background:transparent;border:none}.react-calendar__navigation,.react-calendar__month-view__weekdays{background:transparent}.react-calendar__tile:enabled:hover,.react-calendar__tile:enabled:focus{background:var(--tile-accent-grad);color:#fff}.react-calendar__tile:disabled{background:var(--page-bg)}.section.calendar-card,.calendar-card{border:none!important;border-radius:20px}.calendar-card .react-calendar{border:none!important;box-shadow:none;background:transparent}.section.calendar-card,.calendar-card{background:transparent!important;border:none!important;box-shadow:none!important;border-radius:0!important}.calendar-card .react-calendar,.calendar-card .react-calendar__navigation,.calendar-card .react-calendar__month-view__weekdays{background:transparent!important;border:none!important;box-shadow:none!important}.calendar-card .react-calendar__tile:enabled:hover,.calendar-card .react-calendar__tile:enabled:focus{background:var(--tile-accent-grad)!important;color:#fff}.calendar-card .react-calendar__tile:disabled{background:var(--page-bg)!important;color:inherit}.section.calendar-card:before,.section.calendar-card:after{content:none!important;background:none!important}.calendar-card .react-calendar__month-view,.calendar-card .react-calendar__month-view__weekdays,.calendar-card .react-calendar__month-view__weekdays__weekday,.calendar-card .react-calendar__month-view__days{background:var(--page-bg)!important;box-shadow:none!important;border:none!important}.calendar-card .react-calendar__month-view__days:before,.calendar-card .react-calendar__month-view__days:after,.calendar-card .react-calendar__tile:before,.calendar-card .react-calendar__tile:after{content:none!important;background:none!important;box-shadow:none!important}.react-calendar__tile{color:#000}.react-calendar__tile.purple,.react-calendar__tile.blue,.react-calendar__tile.black{color:#fff!important}.calendar-card .react-calendar__tile:enabled:hover,.calendar-card .react-calendar__tile:enabled:focus{background:var(--tile-accent-grad)!important;color:#fff!important}.form-card{background:#fff;border-radius:16px;border:1px solid #dbe2f1;box-shadow:0 8px 24px #1f293714;padding:16px}.cdcr-label{font-size:12px;font-weight:600;color:#4b5320;margin-bottom:4px}.cdcr-input{width:100%;background:#f7f5eb;border:2px solid rgba(75,83,32,.35);border-radius:10px;padding:10px 12px;font-size:14px;outline:none;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.cdcr-input:focus{border-color:#4b5320;box-shadow:0 0 0 3px #4b53202e;background:#f5f2e6}.cdcr-input:hover{background:#f5f2e6}textarea.cdcr-input{min-height:64px;resize:vertical}.cdcr-checkbox-row{display:inline-flex;align-items:center;gap:8px;margin-top:6px;font-weight:600;color:#4b5320}.cdcr-btn{appearance:none;border:none;border-radius:10px;padding:10px 14px;font-weight:700;color:#fff;cursor:pointer;background:linear-gradient(90deg,#4b5320,#cbb67c);box-shadow:0 4px 10px #4b53202e;transition:filter .15s ease,transform .02s ease-in-out}.cdcr-btn:hover{filter:brightness(1.05)}.cdcr-btn:active{transform:translateY(1px)}.cdcr-btn-secondary{appearance:none;border:2px solid #4B5320;background:#f7f5eb;color:#4b5320;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer;transition:background .15s ease,box-shadow .15s ease,transform .02s ease-in-out}.cdcr-btn-secondary:hover{background:#f5f2e6;box-shadow:0 2px 6px #4b532026}.cdcr-btn-secondary:active{transform:translateY(1px)}.form-row{display:grid;gap:6px;margin-bottom:14px}.form-row-group{margin-bottom:1rem;padding:.5rem;border:1px solid #ddd;border-radius:8px;max-width:100%}.form-row{display:grid;gap:6px;margin-bottom:10px}.cdcr-input{width:100%;max-width:100%;box-sizing:border-box}.btn-row{display:flex;justify-content:center}.stack-sm>*+*{margin-top:10px}.btn-row-2{display:flex;justify-content:space-between;gap:12px;max-width:520px;margin:8px auto}.btn-center{display:flex;justify-content:center;margin-top:10px}.btn-save{--save-start: #4B5320;--save-end: #3f481b;--save-ring: rgba(123,151,45,.45);position:relative;display:inline-flex;align-items:center;gap:.55rem;padding:.9rem 1.2rem;border:0;border-radius:999px;background:linear-gradient(180deg,var(--save-start),var(--save-end));color:var(--color-white);font-weight:800;letter-spacing:.2px;box-shadow:0 10px 24px #3f481b47,inset 0 1px #ffffff40;transition:transform .12s ease,box-shadow .2s ease,filter .2s ease;cursor:pointer}.btn-save:hover{transform:translateY(-1px);box-shadow:0 14px 30px #3f481b57,inset 0 1px #ffffff40;filter:saturate(1.05)}.btn-save:active{transform:translateY(0);box-shadow:0 8px 18px #3f481b40,inset 0 1px #fff3}.btn-save:focus-visible{outline:none;box-shadow:0 0 0 3px #fff,0 0 0 6px var(--save-ring),0 12px 28px #3f481b47}.btn-save[disabled]{opacity:.6;cursor:not-allowed;transform:none;box-shadow:0 6px 14px #3f481b2e,inset 0 1px #fff3}.btn-save__icon{line-height:0;transform:translateY(1px);font-size:1.05rem}.btn-save:after{content:"";position:absolute;inset:-2px;border-radius:inherit;background:radial-gradient(80% 140% at 30% 10%,rgba(255,255,255,.28),transparent 50%);pointer-events:none}.legend--compact .legend-item{display:inline-flex;align-items:center;gap:6px;background:transparent;border:0;box-shadow:none;border-radius:999px;padding:3px 8px;font-size:.85rem;white-space:nowrap}.legend--compact .legend-chip{width:14px;height:14px;border-radius:999px;border:0;flex:0 0 14px}.legend--compact .legend-chip.skull{background:none;border:none;width:auto;height:auto;font-size:14px;line-height:1}.legend--compact .legend-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));justify-items:start;gap:8px 12px;padding:6px 2px;margin:0;list-style:none;max-width:100%}@media (max-width: 640px){.legend--compact .legend-list{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:6px 10px}.legend--compact .legend-item{font-size:clamp(.78rem,2.6vw,.9rem)}.legend--compact .legend-chip{width:12px;height:12px;flex-basis:12px}.legend--compact .legend-chip.skull{font-size:12px}}@media (max-width: 360px){.legend--compact .legend-list{grid-template-columns:repeat(auto-fit,minmax(108px,1fr));gap:6px 8px}.legend--compact .legend-chip{width:10px;height:10px;flex-basis:10px}.legend--compact .legend-chip.skull{font-size:11px}}.legend-box.yellow{background:var(--color-yellow)}.legend-box.green{background:var(--color-green)}.legend-box.purple{background:var(--color-purple)}.legend-box.blue{background:var(--color-blue)}.legend-box.gray{background:var(--color-gray)}.legend-box.black{background:var(--color-black)}.legend-box.red{background:var(--color-red)}.calendar-page{padding:var(--padding-page);display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.selected-date,.shift-section{margin-top:1rem}.react-calendar{box-sizing:border-box;width:100%!important;max-width:min(1200px,calc(100vw - 2 * var(--padding-page)))!important;margin-left:auto;margin-right:auto}.calendar-page.page-container{box-sizing:border-box;width:100%!important;max-width:min(1200px,100vw);margin-left:auto!important;margin-right:auto!important;padding-left:var(--padding-page);padding-right:var(--padding-page)}.calendar-card{width:100%!important;max-width:none!important;display:flex;justify-content:center}.react-calendar__month-view__days{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.react-calendar__month-view__weekdays{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr));column-gap:8px}.react-calendar__month-view__weekdays__weekday{text-align:center}.react-calendar__tile{width:auto!important}.react-calendar__viewContainer,.react-calendar__month-view{margin:0!important}.calendar-page .header-card,.calendar-page .legend,.calendar-page .info-card,.calendar-page .selected-date,.calendar-page .shift-section{box-sizing:border-box;max-width:min(1200px,calc(100vw - 2 * var(--padding-page)));margin-left:auto;margin-right:auto;width:100%}.rem-emoji{display:inline-block;width:1.6em;text-align:center;margin-left:.35em;margin-right:.25em}.rem-auto{margin-left:.5em;opacity:.6;font-size:.9em}.react-calendar__tile.yellow{background:#f7e96e!important}.react-calendar__tile.green{background:#81f781!important}.react-calendar__tile.red{background:#f76e6e!important}.react-calendar__tile.gray-green,.react-calendar__tile.green-gray{background:linear-gradient(to right,#d3d3d3 50%,#81f781 50%)!important}.react-calendar__tile.gray{background:#d3d3d3!important}.react-calendar__tile.black{background:#000!important;color:#fff!important}.react-calendar__tile.blue{background:#6ea8f7!important}.react-calendar__tile.purple{background:#b96ef7!important;color:#fff}.react-calendar__tile.yellow-green,.react-calendar__tile.green-yellow{background:linear-gradient(to right,#f7e96e 50%,#81f781 50%)!important}.react-calendar__tile.yellow-blue,.react-calendar__tile.blue-yellow{background:linear-gradient(to right,#f7e96e 50%,#6ea8f7 50%)!important}.react-calendar__tile.yellow-purple,.react-calendar__tile.purple-yellow{background:linear-gradient(to right,#f7e96e 50%,#b96ef7 50%)!important;color:#fff}.react-calendar__tile.yellow-gray,.react-calendar__tile.gray-yellow{background:linear-gradient(to right,#f7e96e 50%,#d3d3d3 50%)!important}.react-calendar__tile.yellow-black,.react-calendar__tile.black-yellow{background:linear-gradient(to right,#f7e96e 50%,#000 50%)!important;color:#fff!important}.react-calendar__tile.green-blue,.react-calendar__tile.blue-green{background:linear-gradient(to right,#81f781 50%,#6ea8f7 50%)!important}.react-calendar__tile.green-purple,.react-calendar__tile.purple-green{background:linear-gradient(to right,#81f781 50%,#b96ef7 50%)!important}.react-calendar__tile.blue-purple,.react-calendar__tile.purple-blue{background:linear-gradient(to right,#6ea8f7 50%,#b96ef7 50%)!important;color:#fff}.react-calendar__tile.red-blue,.react-calendar__tile.blue-red{background:linear-gradient(to right,#f76e6e 50%,#6ea8f7 50%)!important}.react-calendar__tile.red-purple,.react-calendar__tile.purple-red{background:linear-gradient(to right,#f76e6e 50%,#b96ef7 50%)!important;color:#fff}.react-calendar__tile.gray-purple,.react-calendar__tile.purple-gray{background:linear-gradient(to right,#d3d3d3 50%,#b96ef7 50%)!important}.react-calendar__tile.black-purple,.react-calendar__tile.purple-black{background:linear-gradient(to right,#000 50%,#b96ef7 50%)!important;color:#fff!important}.react-calendar__tile.green-red,.react-calendar__tile.red-green{background:linear-gradient(to right,#81f781 50%,#f76e6e 50%)!important}.react-calendar__tile.red-yellow,.react-calendar__tile.yellow-red{background:linear-gradient(to right,#f76e6e 50%,#f7e96e 50%)!important}.react-calendar__tile.black-blue,.react-calendar__tile.blue-black{background:linear-gradient(to right,#000 50%,#6ea8f7 50%)!important;color:#fff}.react-calendar__tile.black-gray,.react-calendar__tile.gray-black{background:linear-gradient(to right,#000 50%,#d3d3d3 50%)!important;color:#fff}.react-calendar__tile.black-green,.react-calendar__tile.green-black{background:linear-gradient(to right,#000 50%,#81f781 50%)!important;color:#fff}.react-calendar__tile.black-red,.react-calendar__tile.red-black{background:linear-gradient(to right,#000 50%,#f76e6e 50%)!important;color:#fff}.react-calendar__tile.blue-gray,.react-calendar__tile.gray-blue{background:linear-gradient(to right,#6ea8f7 50%,#d3d3d3 50%)!important}.react-calendar__tile.gray-red,.react-calendar__tile.red-gray{background:linear-gradient(to right,#d3d3d3 50%,#f76e6e 50%)!important}.skull-marker{font-size:1rem;position:absolute;top:2px;right:2px;color:#000;pointer-events:none}.legend-box{display:inline-block;width:16px;height:16px;margin-right:.5rem;vertical-align:middle;border:1px solid #ccc;border-radius:50%}.legend-chip{border-radius:50%}.legend-box.yellow{background-color:var(--color-yellow)}.legend-box.green{background-color:var(--color-green)}.legend-box.purple{background-color:var(--color-purple)}.legend-box.blue{background-color:var(--color-blue)}.legend-box.black{background-color:var(--color-black)}.legend-box.gray{background-color:var(--color-gray)}.legend-box.red{background-color:var(--color-red)}.legend-box.plp{background-color:var(--color-plp)}.legend-box.holiday{background-color:var(--color-holiday)}.legend-box.ito{background-color:var(--color-ito)}.legend-box.skull{background:none;font-size:1rem}.legend-icon{background:none;font-size:1rem;line-height:1}.calendar-tile{position:relative;overflow:visible}.calendar-tile.multicolor .tile-bg-wrapper{position:absolute;inset:0;z-index:0;pointer-events:none}.calendar-tile.multicolor .tile-bg{position:absolute;inset:0;border-radius:6px;z-index:0}.react-calendar__tile{position:relative}.react-calendar__tile>abbr{position:relative;z-index:2}.calendar-tile .tile-icons{position:absolute;bottom:4px;right:4px;z-index:3}.calendar-tile .tile-icons-left{position:absolute;bottom:4px;left:4px;display:inline-flex;gap:4px;z-index:3}.calendar-tile .tile-icons-left .tile-icon{line-height:1}.react-calendar__month-view__days__day--weekend abbr{color:inherit!important}.react-calendar__month-view__days__day{color:#333}.react-calendar__month-view__days__day--weekend{color:#777}.react-calendar__month-view__days{gap:6px}.react-calendar__tile{flex:1 0 calc(14.28% - 6px);box-sizing:border-box}.react-calendar .react-calendar__tile.tile--hasData>abbr,.react-calendar .react-calendar__tile.tile--hasData>span{color:#fff!important;text-shadow:0 0 2px rgba(0,0,0,.55)}.react-calendar .react-calendar__tile.tile--hasData:enabled:hover>abbr,.react-calendar .react-calendar__tile.tile--hasData:enabled:focus>abbr,.react-calendar .react-calendar__tile.tile--hasData.react-calendar__tile--active>abbr,.react-calendar .react-calendar__tile.tile--hasData:enabled:hover>span,.react-calendar .react-calendar__tile.tile--hasData:enabled:focus>span,.react-calendar .react-calendar__tile.tile--hasData.react-calendar__tile--active>span{color:#fff!important}.react-calendar .react-calendar__month-view__days__day--weekend.tile--hasData>abbr,.react-calendar .react-calendar__month-view__days__day--weekend.tile--hasData>span{color:#fff!important}.calendar-tile .tile-badge.tile-payday,.calendar-tile .tile-badge.tile-ot,.calendar-tile .tile-badge.tile-holiday{position:absolute;top:4px;left:4px;z-index:4;display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border-radius:999px;font-size:.65rem;line-height:1;background:#ffffffeb;-webkit-backdrop-filter:saturate(120%) blur(2px);backdrop-filter:saturate(120%) blur(2px);border:1px solid rgba(0,0,0,.08)}.calendar-tile .tile-badge.tile-payday .badge-emoji,.calendar-tile .tile-badge.tile-ot .badge-emoji,.calendar-tile .tile-badge.tile-holiday .badge-emoji{font-size:.8rem}.calendar-tile .tile-badge.tile-payday .badge-text{white-space:nowrap;background:var(--tile-accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;font-weight:800}.calendar-tile .tile-badge.tile-ot .badge-text,.calendar-tile .tile-badge.tile-holiday .badge-text{white-space:nowrap;color:#222;font-weight:700}.calendar-tile .tile-badge-stack{position:absolute;top:4px;left:4px;z-index:4;display:inline-flex;flex-direction:column;gap:3px}.calendar-tile .tile-badge-stack .tile-badge{position:static}.calendar-tile{container-type:inline-size}@container (max-width: 64px){.calendar-tile .tile-badge.tile-payday,.calendar-tile .tile-badge.tile-ot,.calendar-tile .tile-badge.tile-holiday{top:2px;left:2px;padding:1px 4px;font-size:.55rem;border-radius:6px}.react-calendar__tile:not(.react-calendar__tile--active) .tile-badge.tile-payday .badge-text,.react-calendar__tile:not(.react-calendar__tile--active) .tile-badge.tile-holiday .badge-text,.react-calendar__tile:not(.react-calendar__tile--active) .tile-badge.tile-ot .badge-text{display:none}.calendar-tile .tile-badge.tile-payday .badge-emoji,.calendar-tile .tile-badge.tile-ot .badge-emoji,.calendar-tile .tile-badge.tile-holiday .badge-emoji{font-size:.9rem;line-height:1}}@media (max-width: 480px){.calendar-tile .tile-badge.tile-payday,.calendar-tile .tile-badge.tile-ot{top:2px;left:2px;padding:1px 4px;font-size:.55rem;border-radius:6px}.react-calendar__tile:not(.react-calendar__tile--active) .tile-badge.tile-payday .badge-text,.react-calendar__tile:not(.react-calendar__tile--active) .tile-badge.tile-ot .badge-text{display:none}}.calendar-tile .tile-badge.tile-payday .badge-emoji{font-size:.9rem}.react-calendar__tile--active .tile-badge.tile-payday .badge-text,.react-calendar__tile--active .tile-badge.tile-ot .badge-text,.react-calendar__tile--active .tile-badge.tile-holiday .badge-text{display:inline}.react-calendar__tile--active .tile-badge.tile-payday,.react-calendar__tile--active .tile-badge.tile-ot,.react-calendar__tile--active .tile-badge.tile-holiday{padding:2px 6px;font-size:.62rem;transform:scale(var(--badge-inverse-scale));transform-origin:top left;will-change:transform}.react-calendar__tile--active .tile-badge.tile-payday{padding:2px 6px;font-size:.62rem}@container (max-width: 64px){.react-calendar__tile--active .tile-badge.tile-payday .badge-text{display:inline}}@media (max-width: 480px){.react-calendar__tile--active .tile-badge.tile-payday .badge-text{display:inline}.react-calendar__tile--active .tile-badge.tile-payday{top:2px;left:2px;padding:2px 6px;font-size:.62rem;transform:scale(var(--badge-inverse-scale));transform-origin:top left;will-change:transform}}.react-calendar__month-view__days{overflow:visible}:root{--tile-active-scale: 1.22;--badge-inverse-scale: calc(1 / var(--tile-active-scale))}@media (max-width: 480px){:root{--tile-active-scale: 1.75;--badge-inverse-scale: calc(1 / var(--tile-active-scale))}}.react-calendar__tile{transition:transform .16s ease,box-shadow .16s ease;transform-origin:center}.react-calendar__tile--active{transform:scale(var(--tile-active-scale));z-index:20;box-shadow:0 10px 22px #0000002e}.calendar-tile .tile-reminders{position:absolute;right:4px;top:4px;display:inline-flex;gap:2px;z-index:4}.calendar-tile .tile-reminders .tile-rem-emoji{font-size:.95rem;line-height:1}.calendar-tile .tile-reminders .tile-rem-more{font-size:.65rem;line-height:1;padding:0 4px;border-radius:999px;background:#ffffffeb;border:1px solid rgba(0,0,0,.08)}@container (max-width: 64px){.calendar-tile .tile-reminders .tile-rem-emoji{font-size:.9rem}}:root{--rem-card-bg: #ffffff;--rem-card-border: #e6e6ea;--rem-card-radius: 14px;--rem-shadow: 0 6px 18px rgba(0,0,0,.06);--rem-header-fg: #111827;--rem-subtle-fg: #6b7280;--rem-accent: #2563eb;--rem-danger: #dc2626;--rem-gap: 10px;--rem-pad: 12px;--rem-pad-lg: 14px;--rem-maxw: 640px;--rem-hpad: 16px}.panel.card{box-sizing:border-box;background:var(--rem-card-bg);border:1px solid var(--rem-card-border);border-radius:var(--rem-card-radius);box-shadow:var(--rem-shadow);overflow:hidden;max-width:var(--rem-maxw);width:100%;margin-left:auto;margin-right:auto}.panel .panel-header{padding:var(--rem-pad-lg) var(--rem-hpad);border-bottom:1px solid var(--rem-card-border);background:linear-gradient(180deg,#fafafa,#fff)}.panel .panel-header h3{margin:0;font-weight:700;color:var(--rem-header-fg);letter-spacing:.2px}.panel .panel-body{padding:var(--rem-pad) var(--rem-hpad)}.panel .muted{color:var(--rem-subtle-fg);font-style:italic}.panel .list{margin:0;padding:0;list-style:none}.panel .list-item{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:8px var(--rem-hpad);border-bottom:1px solid var(--rem-card-border)}.panel .list-item:last-child{border-bottom:0}.panel .list-item .list-main{display:flex;flex-direction:column;gap:2px;min-width:0}.panel .list-item .list-title{display:flex;align-items:center;gap:8px;font-weight:600;color:#111827;line-height:1.3;white-space:normal;overflow:visible}.panel .list-item .list-title .mono{width:115px;flex:0 0 115px;text-align:left}.panel .list-item .mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-variant-numeric:tabular-nums;color:var(--rem-subtle-fg);white-space:nowrap;font-size:.95rem}.panel .list-item .list-title .auto-tag,.panel .list-item .list-title span[style*="(auto)"]{margin-left:6px;opacity:.6;font-size:.9em;font-weight:500}.panel .list-item .list-notes{color:var(--rem-subtle-fg);font-size:.92rem;line-height:1.3}.panel .list-item .list-actions{display:flex;gap:6px}.panel .list-item .btn{appearance:none;border-radius:10px;border:1px solid transparent;padding:4px 10px;font-weight:600;font-size:.85rem;cursor:pointer}.panel .list-item .btn.btn-danger{background:#fee2e2;color:var(--rem-danger);border-color:#fecaca}.panel .list-item .btn.btn-danger:hover{background:#fecaca}@media (max-width: 640px){:root{--rem-hpad: 12px}.panel .list-item{padding:8px;gap:10px}.panel .list-item .list-title .mono{width:100px;flex-basis:100px}}.tile-bg-wrapper .tile-reminders{position:absolute;top:6px;right:6px;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px;max-width:calc(100% - 12px);z-index:3;pointer-events:none}.tile-bg-wrapper .tile-rem-emoji,.tile-bg-wrapper .tile-rem-more{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:2px 6px;font-size:12px;line-height:1;border-radius:999px;background:#ffffffe0;border:1px solid rgba(17,24,39,.12);box-shadow:0 1px 2px #0000001a;color:#111827;pointer-events:auto}.tile-bg-wrapper .tile-rem-more{font-weight:600;padding:2px 6px}@media (max-width: 420px){.tile-bg-wrapper .tile-rem-emoji,.tile-bg-wrapper .tile-rem-more{font-size:11px;min-width:16px;height:16px;padding:1px 5px}}.tile-bg-wrapper{position:relative}.tile-bg-wrapper .tile-badge,.tile-bg-wrapper .tile-badge-stack{position:absolute;top:6px;left:6px;z-index:3}.react-calendar__tile abbr{position:relative;z-index:5;pointer-events:none}@media (max-width: 400px){:root{--rem-hpad: 10px}}.modal-backdrop{position:fixed;inset:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-card{background:#fff;color:#000;width:min(560px,calc(100% - 32px));max-height:calc(100% - 32px);overflow:auto;border-radius:12px;box-shadow:0 10px 30px #00000040;padding:12px 16px 16px}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.modal-body label{display:block;font-weight:600;margin-bottom:4px}.modal-body input,.modal-body select,.modal-body textarea{height:44px;padding:8px 10px;border:1px solid #ccc;border-radius:8px;outline:none}.modal-body input:focus,.modal-body select:focus,.modal-body textarea:focus{box-shadow:0 0 0 3px #646cff40;border-color:#646cff}.modal-footer{display:flex;justify-content:flex-end;margin-top:12px}.success-banner{background:#e7f7ec;color:#135c2f;border:1px solid #bfe8cd;padding:8px 10px;border-radius:8px;margin-bottom:12px;font-weight:600}html,body{background:var(--page-bg);min-height:100%}#root{max-width:1280px;margin:0 auto;padding:var(--padding-page);text-align:center;min-height:100vh;display:flex;flex-direction:column}.app-shell{display:flex;flex-direction:column;min-height:100%}.main-content{flex:1}.site-footer{padding:16px;text-align:center;border-top:1px solid rgba(0,0,0,.1);opacity:.95}.site-footer a{text-decoration:none}.site-footer a:hover{text-decoration:underline}:root{--page-width: 8.5in;--page-height: 11in}html.paper-a4{--page-width: 210mm;--page-height: 297mm}@page{size:var(--page-width) var(--page-height);margin:12mm}@media print{body{-webkit-print-color-adjust:exact;print-color-adjust:exact}.cdcr-btn-secondary,.report-actions,.actions{display:none!important}.page-container{padding:0!important}.mini-cal,.summary-block,.report-table{break-inside:avoid}h2,h3{break-after:avoid}.table-wrap,.report-table th,.report-table td{border:1px solid #000}.mini-cal-header,.report-table thead th{background:#eee!important}}@media print{.no-print{display:none!important}}
