@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--papa-color: #3b82f6;--papa-bg: #eff6ff;--mama-color: #f43f5e;--mama-bg: #fff1f2;--bg-color: #f8fafc;--surface-color: #ffffff;--holiday-bg: #ecfccb;--text-main: #0f172a;--text-muted: #64748b;--border: #e2e8f0}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,sans-serif;background-color:var(--bg-color);color:var(--text-main);-webkit-font-smoothing:antialiased}.app-container{max-width:1000px;margin:0 auto;padding:2rem}header{text-align:center;margin-bottom:3rem}header h1{font-size:2.5rem;font-weight:700;background:linear-gradient(to right,var(--papa-color),var(--mama-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.5rem}header p{color:var(--text-muted);font-size:1.1rem}.calendar-card{background:var(--surface-color);border-radius:16px;box-shadow:0 10px 25px -5px #0000000d,0 8px 10px -6px #00000003;padding:2rem;overflow:hidden}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.calendar-header button{background:#fff;border:1px solid var(--border);border-radius:8px;padding:.5rem 1rem;cursor:pointer;font-weight:600;color:var(--text-main);transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.calendar-header button:hover{background:var(--bg-color);border-color:#cbd5e1}.calendar-header h2{font-size:1.5rem;font-weight:600;text-transform:capitalize}.weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;margin-bottom:1rem;text-align:center;font-weight:600;color:var(--text-muted);font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.days-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;grid-auto-rows:minmax(100px,auto)}.day-cell{background:var(--surface-color);border:1px solid var(--border);border-radius:12px;padding:.5rem;position:relative;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease;min-height:100px;display:flex;flex-direction:column}.day-cell.holiday{background:var(--holiday-bg)}.day-cell:hover{transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000001a}.day-cell.empty{background:transparent;border:none;pointer-events:none}.date-number{font-weight:600;font-size:1rem;z-index:2;position:relative;margin-bottom:.5rem;display:flex;justify-content:space-between}.holiday-indicator{font-size:.7rem;color:#3f6212;background:#d9f99d;padding:.1rem .3rem;border-radius:4px;font-weight:500}.parent-indicator{flex:1;border-radius:6px;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem;color:#fff;z-index:2;position:relative}.parent-indicator.papa{background-color:var(--papa-color)}.parent-indicator.mama{background-color:var(--mama-color)}.parent-indicator.exception{color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.5);font-style:italic;font-weight:800}.parent-indicator.exception.papa,.mini-day.exception.papa{background:repeating-linear-gradient(45deg,var(--papa-color),var(--papa-color) 8px,color-mix(in srgb,var(--papa-color) 85%,black) 8px,color-mix(in srgb,var(--papa-color) 85%,black) 16px)}.parent-indicator.exception.mama,.mini-day.exception.mama{background:repeating-linear-gradient(45deg,var(--mama-color),var(--mama-color) 8px,color-mix(in srgb,var(--mama-color) 85%,black) 8px,color-mix(in srgb,var(--mama-color) 85%,black) 16px)}.switch-day-container{display:flex;flex-direction:column;flex:1;position:relative;border-radius:6px;overflow:hidden}.half-day{flex:1;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.75rem;font-weight:600;padding:.25rem}.half-day.papa{background:var(--papa-color)}.half-day.mama{background:var(--mama-color)}.legend{display:flex;justify-content:center;gap:2rem;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border)}.legend-item{display:flex;align-items:center;gap:.5rem;font-weight:500}.legend-color{width:16px;height:16px;border-radius:4px}.legend-color.papa{background:var(--papa-gradient)}.legend-color.mama{background:var(--mama-gradient)}.legend-color.holiday{background:var(--holiday-bg);border:1px solid #84cc16}.print-controls-card{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 4px 6px -1px #0000000d;border:1px solid var(--border)}.print-controls-card h3{margin-bottom:1rem;font-size:1.1rem}.print-controls{display:flex;gap:1.5rem;align-items:flex-end}.input-group{display:flex;flex-direction:column;gap:.5rem}.input-group label{font-size:.875rem;font-weight:600;color:var(--text-muted)}.input-group input{padding:.5rem;border:1px solid var(--border);border-radius:6px;width:100px}.print-button{background:var(--text-main);color:#fff;border:none;border-radius:6px;padding:.6rem 1.2rem;cursor:pointer;font-weight:600;display:flex;align-items:center;gap:.5rem;transition:opacity .2s}.print-button:hover{opacity:.9}.print-container{display:none}.year-view-page{width:100%}.year-title{text-align:center;font-size:1.5rem;margin-bottom:.5rem;color:var(--text-main)}.months-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.mini-month{border:1px solid var(--border);border-radius:8px;padding:.25rem;background:#fff}.mini-month-title{text-align:center;font-size:.9rem;margin-bottom:.25rem;text-transform:capitalize}.mini-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:.55rem;font-weight:700;color:var(--text-muted);margin-bottom:.1rem}.mini-days-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;grid-auto-rows:1fr}.mini-day{position:relative;display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:600;background:var(--surface-color);border:1px solid var(--border);aspect-ratio:1;overflow:hidden}.mini-day.empty{background:transparent;border:none}.mini-day.holiday{border:2px solid #84cc16}.mini-day.papa{background:var(--papa-color);color:#fff}.mini-day.mama{background:var(--mama-color);color:#fff}.mini-half{position:absolute;top:0;bottom:0;width:100%}.mini-half.from{clip-path:polygon(0 0,100% 0,0 100%)}.mini-half.to{clip-path:polygon(100% 0,100% 100%,0 100%)}.mini-half.papa{background:var(--papa-color)}.mini-half.mama{background:var(--mama-color)}.mini-date-number{z-index:2;position:relative}.print-legend{display:flex;justify-content:center;gap:1.5rem;margin-top:.5rem;font-size:.75rem;border-top:1px solid var(--border);padding-top:.5rem}.switch-legend-icon{width:16px;height:16px;position:relative;border-radius:4px;overflow:hidden}.top-controls{display:flex;justify-content:flex-end;margin-bottom:1rem}.toggle-view-btn{background:#fff;border:1px solid var(--border);border-radius:8px;padding:.6rem 1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;color:var(--text-main);transition:all .2s;box-shadow:0 2px 4px #0000000d}.toggle-view-btn:hover{background:var(--bg-color);border-color:#cbd5e1}.settings-card{background:var(--surface-color);border-radius:16px;box-shadow:0 10px 25px -5px #0000000d;padding:2rem}.settings-title{font-size:1.8rem;margin-bottom:2rem;border-bottom:2px solid var(--border);padding-bottom:1rem}.settings-section{margin-bottom:2.5rem}.settings-section h3{font-size:1.2rem;margin-bottom:1rem;color:var(--text-main)}.input-row{display:flex;gap:1.5rem;flex-wrap:wrap}.input-row .input-group{flex:1;min-width:200px}.input-group select{padding:.5rem;border:1px solid var(--border);border-radius:6px;background:#fff;font-family:inherit}.checkbox-group{flex-direction:row!important;align-items:center}.checkbox-group input[type=checkbox]{width:18px;height:18px;cursor:pointer}.checkbox-group label{cursor:pointer}.summer-inputs{margin-top:1rem;background:var(--bg-color);padding:1rem;border-radius:8px}.settings-hint{font-size:.85rem;color:var(--text-muted);margin-top:.5rem;font-style:italic}.special-days-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.special-day-row{display:flex;justify-content:space-between;align-items:center;background:var(--bg-color);padding:1rem;border-radius:8px;border:1px solid var(--border)}.special-day-detail{font-size:.85rem;color:var(--text-muted)}.remove-btn{background:#fef2f2;color:#ef4444;border:1px solid #fecaca;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-weight:600;transition:all .2s}.remove-btn:hover{background:#fee2e2}.empty-state{color:var(--text-muted);font-style:italic;padding:1rem;text-align:center;background:var(--bg-color);border-radius:8px}.add-special-day-box{background:var(--bg-color);padding:1.5rem;border-radius:8px;border:1px dashed #cbd5e1}.add-special-day-box h4{margin-bottom:1rem;font-size:1rem}.flex-1{flex:1}.flex-2{flex:2}.align-end{align-items:flex-end}.mt-2{margin-top:1rem}.add-btn{background:var(--text-main);color:#fff;border:none;border-radius:6px;padding:.6rem 1.5rem;font-weight:600;cursor:pointer}.add-btn:hover{opacity:.9}@media print{@page{size:A4 portrait;margin:.5cm}body{background:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact;font-size:12px}.screen-container{display:none!important}.print-container{display:block!important}.year-view-page{page-break-after:always;break-after:page}.year-view-page:last-child{page-break-after:auto;break-after:auto}}
