.life-calendar{padding:22px;min-width:0;width:100%}.cal-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:25px}.cal-heading .eyebrow{font-size:8px;letter-spacing:1.4px;color:var(--pencil);display:block;margin-bottom:5px}.cal-heading h2{font-family:var(--serif);font-size:26px;font-weight:400;letter-spacing:-.6px;line-height:1.15}.cal-add{display:flex;align-items:center;gap:5px;flex:none;border:1px solid var(--line);padding:8px 10px;border-radius:7px;background:var(--soft-green);color:var(--stamp);font-size:10px;min-height:35px}.cal-add .i{width:12px;height:12px}.cal-add:hover{border-color:var(--stamp);background:var(--paper)}.cal-month-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:17px}.cal-month-bar h3{font-size:12px;font-weight:500;letter-spacing:-.1px;margin:0}.cal-month-bar>div,.cal-day-controls>div{display:flex;align-items:center;gap:3px}.cal-icon{width:30px;height:30px;flex:none;display:grid;place-items:center;border-radius:6px;color:var(--pencil)}.cal-icon:hover{background:var(--soft-green);color:var(--stamp)}.cal-icon .i{width:14px;height:14px}[data-calendar-action=previous-month] .i,[data-calendar-action=previous-day] .i{rotate:180deg}.cal-today{font-size:10px;padding:6px 7px;border-radius:6px;color:var(--stamp)}.cal-today:hover{background:var(--soft-green)}.cal-weekdays,.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.cal-weekdays{font-size:9px;color:var(--pencil);text-align:center;margin-bottom:6px}.cal-day{position:relative;border:1px solid transparent;min-height:39px;border-radius:8px;font-size:11px;color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:transparent;line-height:1.2}.cal-day:hover{background:var(--soft-green);border-color:var(--line)}.cal-day.is-outside{color:var(--pencil);opacity:.48}.cal-day.is-selected{background:var(--soft-green);border-color:var(--line)}.cal-day.is-today{background:var(--stamp);color:var(--paper);font-weight:600}.cal-day.is-today.is-selected{outline:2px solid var(--stamp);outline-offset:2px}.cal-dots{display:flex;gap:3px;min-height:4px;align-items:center;justify-content:center}.cal-dots>i,.cal-legend i{display:block;width:4px;height:4px;border-radius:50%;background:var(--stamp)}.cal-dots .cal-dot-renewal,.cal-legend .cal-dot-renewal{background:#aa8050}.cal-dots .cal-dot-travel,.cal-dots .cal-dot-record,.cal-legend .cal-dot-travel{background:#9283a7}.cal-day.is-today .cal-dots>i{background:var(--paper)}.cal-legend{display:flex;justify-content:center;gap:12px;padding:15px 0 18px;border-bottom:1px solid var(--rule);color:var(--pencil);font-size:8px}.cal-legend>span{display:flex;align-items:center;gap:5px}.cal-upcoming{padding-top:15px}.cal-upcoming-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:11px}.cal-upcoming-heading small{font-size:9px;color:var(--pencil)}.cal-upcoming-item{display:flex;width:100%;gap:12px;align-items:center;text-align:left;padding:13px 0;border-bottom:1px solid var(--rule);color:var(--ink)}.cal-upcoming-item:last-child{border:0}.cal-upcoming-item:hover>span:nth-child(2)>strong{color:var(--stamp);text-decoration:underline;text-underline-offset:3px}.cal-upcoming-date{display:flex;flex-direction:column;align-items:center;justify-content:center;width:38px;min-height:43px;background:var(--canvas);border-radius:7px;flex:none}.cal-upcoming-date small{text-transform:uppercase;letter-spacing:.8px;font-size:8px}.cal-upcoming-date strong{font-size:17px;font-weight:500;line-height:1.2}.cal-upcoming-item>span:nth-child(2){min-width:0;display:flex;flex-direction:column;gap:4px}.cal-upcoming-item>span:nth-child(2)>strong{font-size:11px;line-height:1.4;font-weight:500;overflow-wrap:anywhere}.cal-upcoming-item>span:nth-child(2)>small{font-size:9px;color:var(--pencil)}.cal-upcoming-item>.i{margin-left:auto;width:12px;height:12px;flex:none;color:var(--pencil)}.cal-storage-note{font-size:9px;line-height:1.65;color:var(--pencil);border-top:1px solid var(--rule);padding-top:13px;margin:9px 0 0}.cal-empty-inline{font-size:11px;color:var(--pencil);line-height:1.7;padding:12px 0;margin:0}.cal-deleted-link{font-size:9px;margin-top:10px;min-height:30px}.cal-drawer{position:fixed;inset:12px 12px 12px auto;margin:0;width:min(496px,calc(100vw - 24px));height:calc(100dvh - 24px);max-width:none;max-height:none;border:1px solid var(--line);border-radius:18px;background:var(--paper);color:var(--ink);padding:0;box-shadow:0 20px 100px #13271c30;overflow:hidden;font-family:inherit}.cal-drawer[open]{display:flex;flex-direction:column;animation:cal-enter .22s cubic-bezier(.2,.7,.3,1)}.cal-drawer::backdrop{background:#14271e40;backdrop-filter:blur(3px)}.cal-drawer-head{display:flex;align-items:flex-start;gap:15px;justify-content:space-between;flex:none;background:var(--soft-green);padding:29px 28px 26px;border-bottom:1px solid var(--rule)}.cal-drawer-head .eyebrow{font-size:9px;letter-spacing:1.5px;color:var(--stamp);display:block;margin-bottom:10px}.cal-drawer-head h2{font:36px/1.1 var(--serif);letter-spacing:-.8px;margin:0;color:var(--ink)}.cal-drawer-head h2:focus{outline:none}.cal-drawer-head .cal-icon{border:1px solid color-mix(in srgb,var(--stamp) 15%,transparent);background:color-mix(in srgb,var(--paper) 50%,transparent);width:33px;height:33px}.cal-drawer-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 27px 24px;scrollbar-width:thin}.cal-day-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 0 18px;margin-bottom:2px;border-bottom:1px solid var(--rule);font-size:11px;color:var(--pencil)}.cal-day-controls .cal-icon{border:1px solid var(--rule);width:32px;height:32px}.cal-section-label{font-size:9px;letter-spacing:1.5px;color:var(--pencil);margin:22px 0 13px}.cal-records-label{margin-top:29px}.cal-day-empty{text-align:center;padding:24px 17px 28px;border:1px dashed var(--line);border-radius:12px;background:var(--canvas)}.cal-day-empty>div{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--soft-green);color:var(--stamp);margin:0 auto 14px}.cal-day-empty .i{width:20px;height:20px}.cal-day-empty h3{font:25px/1.2 var(--serif);letter-spacing:-.5px;margin:0 0 9px}.cal-day-empty p{font-size:11px;color:var(--pencil);line-height:1.75;margin:0 0 18px}.cal-day-empty .btn{font-size:11px;gap:7px}.cal-day-empty .btn .i{width:13px;height:13px}.cal-event{position:relative;padding:17px 18px 19px;border:1px solid var(--rule);border-left:3px solid var(--stamp);border-radius:10px;background:var(--canvas);margin-bottom:12px}.cal-event-top{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:4px}.cal-category{font-size:9px;letter-spacing:.5px;color:var(--stamp)}.cal-event h3{font-size:18px;font-weight:500;line-height:1.4;letter-spacing:-.3px;margin:0 0 11px;overflow-wrap:anywhere}.cal-event-time,.cal-event-location{display:flex;align-items:flex-start;gap:8px;font-size:11px;line-height:1.6;margin:6px 0;overflow-wrap:anywhere}.cal-event .i{width:14px;height:14px;flex:none;margin-top:1px;color:var(--pencil)}.cal-event-notes{font-size:11px;line-height:1.7;margin:13px 0 0;white-space:pre-wrap;color:var(--pencil);overflow-wrap:anywhere}.cal-event-repeat{display:flex;gap:6px;align-items:center;font-size:9px;color:var(--pencil);padding-top:11px;margin:13px 0 0;border-top:1px solid var(--rule)}.cal-event-repeat .i{width:11px;height:11px}.cal-category-volleyball{border-left-color:#ac8051}.cal-category-golf{border-left-color:#6a8a4d}.cal-category-date{border-left-color:#ab7781}.cal-category-social{border-left-color:#9580ae}.cal-category-work{border-left-color:#668dab}.cal-source{border:1px solid var(--rule);border-radius:9px;margin-bottom:9px}.cal-source>summary{display:flex;align-items:center;gap:11px;list-style:none;padding:15px 13px;cursor:pointer}.cal-source>summary>span:nth-child(2){flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.cal-source>summary strong{font-size:12px;line-height:1.4;font-weight:500;overflow-wrap:anywhere}.cal-source>summary small{font-size:9px;color:var(--pencil);line-height:1.5}.cal-source>summary>b{font-size:12px;font-weight:500;white-space:nowrap}.cal-source>summary>.i{width:12px;height:12px;flex:none;color:var(--pencil)}.cal-source[open]>summary>.i{rotate:90deg}.cal-source-icon{display:grid;place-items:center;width:29px;height:29px;border-radius:7px;background:var(--soft-lilac);color:var(--pencil);flex:none}.cal-source-icon>.i{width:14px;height:14px}.cal-source-renewal .cal-source-icon{background:color-mix(in srgb,#AD8658 13%,var(--paper));color:var(--marigold-pencil)}.cal-source-body{padding:0 16px 16px;font-size:11px;line-height:1.7;color:var(--pencil)}.cal-source-body p{margin:0 0 8px}.cal-source-body>small{font-size:9px;display:block}.cal-source-links{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:13px}.cal-source-links a,.cal-source-links button{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:var(--stamp)}.cal-source-links .i{width:10px;height:10px}.cal-evidence-note{font-size:10px;line-height:1.7;color:var(--pencil);margin:14px 0}.cal-drawer-foot{flex:none;display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--rule);padding:17px 27px;background:var(--paper)}.cal-drawer-foot>.btn{gap:7px;min-height:41px}.cal-drawer-foot>.btn .i{width:14px;height:14px}.cal-drawer-foot>span{font-size:9px;color:var(--pencil)}.cal-notice{font-size:11px;padding:12px 14px;background:var(--soft-green);border-radius:8px;margin:15px 0;display:flex;justify-content:space-between;gap:10px;align-items:center;color:var(--stamp)}.cal-notice .textbtn{font-size:11px;font-weight:500}.cal-error{font-size:11px;line-height:1.6;background:color-mix(in srgb,var(--marigold-pencil) 9%,var(--paper));border:1px solid color-mix(in srgb,var(--marigold-pencil) 20%,var(--rule));color:var(--ink);padding:13px;border-radius:8px;margin:18px 0}.cal-form-fields{padding-top:23px;display:flex;flex-direction:column;gap:18px}.cal-field{display:flex;flex-direction:column;gap:8px;min-width:0}.cal-field>span{font-size:11px;color:var(--pencil)}.cal-field input,.cal-field select,.cal-field textarea{font:inherit;font-family:inherit;font-size:12px;line-height:1.5;min-width:0;width:100%;max-width:100%;min-height:43px;padding:11px 12px;background:var(--canvas);color:var(--ink);border:1px solid var(--line);border-radius:8px;box-shadow:none}.cal-field input:focus,.cal-field select:focus,.cal-field textarea:focus{outline:2px solid var(--focus);outline-offset:2px}.cal-field input[aria-invalid=true]{border-color:var(--marigold-pencil)}.cal-field input::placeholder,.cal-field textarea::placeholder{color:var(--pencil);opacity:.75;font-size:11px}.cal-field textarea{resize:vertical;min-height:85px}.cal-field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.cal-field-row>div{min-width:0}.cal-all-day{display:flex;align-items:center;gap:9px;font-size:12px;width:fit-content}.cal-all-day input{width:16px;height:16px;accent-color:var(--stamp)}.cal-repeat-help,.cal-zone{font-size:10px;line-height:1.65;color:var(--pencil);margin:-6px 0 0}.cal-editor-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;padding:18px 0 3px;border-top:1px solid var(--rule)}.cal-editor-actions>.btn{min-height:42px}.cal-delete-area{margin-top:20px;border-top:1px solid var(--rule);padding:15px 0 0}.cal-delete{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--marigold-pencil);min-height:32px}.cal-delete .i{width:13px;height:13px}#cal-delete-confirm{font-size:11px;line-height:1.7;margin-top:10px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--canvas)}#cal-delete-confirm>p{margin-bottom:13px}#cal-delete-confirm .btn{margin-right:14px}.cal-delete-confirm{color:var(--marigold-pencil)}.cal-discard{border:1px solid var(--line);border-radius:9px;padding:17px;background:var(--soft-green);margin-top:20px;font-size:12px}.cal-discard>p{margin:5px 0 15px;color:var(--pencil);font-size:11px}.cal-discard .btn{margin-right:15px}.cal-discard .textbtn{font-size:11px}.cal-deleted-event{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--rule);padding:16px 0}.cal-deleted-event>div{display:flex;flex-direction:column;gap:6px;min-width:0}.cal-deleted-event strong{font-size:13px;font-weight:500;overflow-wrap:anywhere}.cal-deleted-event small{font-size:10px;color:var(--pencil)}.cal-deleted-event .btn{font-size:10px}.cal-drawer [hidden],.life-calendar [hidden]{display:none!important}@keyframes cal-enter{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@media(max-width:1200px)and (min-width:901px){.life-calendar{padding:18px}.cal-heading{gap:8px}.cal-heading h2{font-size:23px}.cal-add{padding:7px;font-size:9px}.cal-legend{gap:8px;font-size:7px}.cal-month-bar{gap:5px}.cal-month-bar h3{font-size:11px}.cal-month-bar .cal-icon{width:25px}.cal-today{font-size:9px;padding:5px}.cal-day{min-height:35px}}@media(max-width:760px){.life-calendar{padding:22px}.cal-heading h2{font-size:28px}.cal-heading .eyebrow{font-size:8px}.cal-add{font-size:11px;min-height:40px;padding:9px 11px}.cal-month-bar h3{font-size:14px}.cal-month-bar .cal-icon{width:34px;height:34px}.cal-today{font-size:11px}.cal-weekdays{font-size:10px}.cal-day{min-height:43px;font-size:12px}.cal-legend{font-size:9px;gap:11px}.cal-upcoming-item>span:nth-child(2)>strong{font-size:12px}.cal-upcoming-item>span:nth-child(2)>small{font-size:10px}.cal-storage-note{font-size:10px}.cal-drawer{inset:0 0 0 auto;width:min(496px,100vw);height:100dvh;border-radius:0;border:0}.cal-drawer-head{padding:25px 23px 22px}.cal-drawer-head h2{font-size:34px}.cal-drawer-scroll{padding:0 22px 24px}.cal-drawer-foot{padding:16px 22px calc(16px + env(safe-area-inset-bottom));gap:10px}.cal-form-fields{gap:17px}.cal-field input,.cal-field textarea,.cal-field select{font-size:16px;padding:10px;min-height:45px}.cal-field input::placeholder,.cal-field textarea::placeholder{font-size:12px}.cal-field-row{gap:12px}.cal-drawer .cal-icon{min-width:35px;min-height:35px}.cal-drawer-foot>span{max-width:130px;font-size:9px;overflow-wrap:anywhere}.cal-source>summary{gap:8px}.cal-source>summary strong{font-size:11px}.cal-source>summary small{font-size:9px}.cal-source>summary>b{font-size:11px}}@media(prefers-reduced-motion:reduce){.cal-drawer[open]{animation:none}}
