.auth-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--color-page, #e8dfd0)}.auth-card{width:100%;max-width:400px;background:var(--color-paper, #faf8f4);border:1px solid var(--color-line, #c4b8a8);border-radius:var(--radius, 6px);box-shadow:0 4px 20px #00000014;padding:32px 28px}.auth-title{margin:0 0 4px;font-size:1.25rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;text-align:center}.auth-subtitle{margin:0 0 24px;text-align:center;color:var(--color-muted, #6b6358);font-size:.9rem}.auth-dev-note{margin:-12px 0 20px;padding:10px 12px;font-size:.8rem;line-height:1.45;color:var(--color-muted, #6b6358);background:var(--color-page, #e8dfd0);border:1px solid var(--color-line, #c4b8a8);border-radius:var(--radius, 6px)}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-field{display:flex;flex-direction:column;gap:4px;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted, #6b6358)}.auth-field input{padding:10px 12px;border:1px solid var(--color-line, #c4b8a8);border-radius:var(--radius, 6px);background:#fff;font-size:1rem;font-weight:400;text-transform:none;letter-spacing:normal}.auth-field input:focus{outline:none;border-color:var(--color-accent, #5c4a32)}.auth-error{margin:0;color:#a33;font-size:.85rem}.auth-success{margin:0;color:#2a6b3a;font-size:.85rem}.auth-forgot{margin:0;text-align:center;font-size:.85rem}.auth-forgot button{background:none;border:none;padding:0;color:var(--color-accent, #5c4a32);font-weight:600;cursor:pointer;text-decoration:underline}.auth-submit{margin-top:4px;padding:12px;border:none;border-radius:var(--radius, 6px);background:var(--color-header, #3d3428);color:var(--color-header-text, #f5f0e8);font-size:.9rem;font-weight:600;cursor:pointer}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-toggle{margin:20px 0 0;text-align:center;font-size:.85rem;color:var(--color-muted, #6b6358)}.auth-toggle button{background:none;border:none;padding:0;color:var(--color-accent, #5c4a32);font-weight:600;cursor:pointer;text-decoration:underline}.import-banner{position:fixed;bottom:16px;left:50%;transform:translate(-50%);z-index:20;display:flex;flex-wrap:wrap;align-items:center;gap:12px;max-width:min(520px,calc(100vw - 32px));padding:12px 16px;background:var(--color-paper, #faf8f4);border:1px solid var(--color-line, #c4b8a8);border-radius:var(--radius, 6px);box-shadow:0 4px 16px #0000001f;font-size:.85rem}.import-banner button{padding:6px 12px;border:1px solid var(--color-line, #c4b8a8);border-radius:var(--radius, 6px);background:var(--color-page, #e8dfd0);cursor:pointer;font-size:.8rem}.import-banner button.primary{background:var(--color-header, #3d3428);color:var(--color-header-text, #f5f0e8);border-color:transparent}.auth-user-bar{position:fixed;top:8px;right:8px;z-index:20;display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--color-paper, #faf8f4);border:1px solid var(--color-line, #c4b8a8);border-radius:var(--radius, 6px);font-size:.75rem;box-shadow:0 2px 8px #0000000f}.auth-user-bar button{padding:4px 8px;border:1px solid var(--color-line, #c4b8a8);border-radius:4px;background:transparent;cursor:pointer;font-size:.72rem}.auth-settings-card{max-width:440px}.auth-settings-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--color-line, #c4b8a8)}.auth-settings-section:first-of-type{margin-top:0;padding-top:0;border-top:none}.auth-settings-heading{margin:0 0 12px;font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted, #6b6358)}.planner{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto var(--week-height, 480px) minmax(180px,1fr);gap:12px;max-width:1400px;margin:0 auto;padding:16px;min-height:100vh;position:relative}.planner-page{display:grid;grid-template-rows:subgrid;grid-row:span 3;min-width:0;background:var(--color-paper);border:1px solid var(--color-line);border-radius:var(--radius);box-shadow:0 2px 12px #0000000f}.planner-page-left{grid-column:1}.planner-page-right{grid-column:2}.page-header{padding:16px 16px 10px}.swipe-hint{display:none;margin:8px 0 0;font-size:.7rem;color:var(--color-muted);text-align:center}.page-header-spacer{min-height:52px}.page-week{padding:0 16px;display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden}.page-bottom{border-top:1px solid var(--color-line);align-self:stretch;display:flex;flex-direction:column;min-height:0}.page-bottom-split{display:grid;grid-template-columns:1fr auto var(--notes-width, 300px);align-self:stretch;min-height:0}.page-bottom-split>.checklist,.page-bottom-split>.notes-panel{display:flex;flex-direction:column;min-height:0;min-width:0}.week-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.week-range{margin:0;font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text)}.week-nav{display:flex;align-items:center;gap:4px}.week-nav button{min-width:36px;min-height:32px;padding:4px 10px;border:1px solid var(--color-line);border-radius:var(--radius);background:var(--color-page);font-size:.85rem;transition:background .15s}.week-nav button:hover{background:var(--color-header)}.week-nav .today-btn{font-weight:500}.week-header-nav-only{flex:1;justify-content:flex-end}.days-row{display:grid;gap:0;border:1px solid var(--color-line);flex:1;min-height:0;height:auto}.days-row-left{grid-template-columns:repeat(4,1fr)}.days-row-right{grid-template-columns:repeat(3,minmax(0,1fr))}.days-row-right>.day-column{min-width:0}.planner-page-right .page-week{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,var(--sidebar-width, 260px));grid-template-rows:minmax(0,1fr) auto;align-items:stretch}.planner-page-right .days-row-right{grid-column:1;grid-row:1;min-height:0}.planner-page-right .week-sidebar{grid-column:2;grid-row:1}.planner-page-right .resize-week-bottom{grid-column:1 / -1;grid-row:2}.week-sidebar{display:flex;flex-direction:column;gap:0;width:100%;max-width:100%;min-width:0;box-sizing:border-box;padding:6px 4px;border-left:1px solid var(--color-line);min-height:100%;overflow:hidden;position:relative}.sidebar-calendar{flex:0 0 auto;width:100%;max-width:100%;box-sizing:border-box;overflow:hidden;container-type:inline-size;padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid var(--color-line)}.sidebar-priorities{flex:1;min-height:0;min-width:0;overflow-x:hidden;overflow-y:auto}.week-sidebar .mini-calendar{width:100%;max-width:100%;box-sizing:border-box}.week-sidebar .mini-calendar-title{font-size:.65rem;margin-bottom:0;line-height:1.2;letter-spacing:.06em;text-align:center;flex:1}.mini-calendar-header{display:flex;align-items:center;justify-content:space-between;gap:2px;margin-bottom:4px}.mini-cal-nav{flex-shrink:0;width:22px;height:22px;padding:0;font-size:.75rem;line-height:1;color:var(--color-muted);border:1px solid var(--color-line);border-radius:3px;background:var(--color-page);cursor:pointer}.mini-cal-nav:hover{color:var(--color-text);background:var(--color-header)}.week-sidebar .mini-calendar-grid{display:grid;width:100%;max-width:100%;grid-template-columns:repeat(7,minmax(0,1fr));gap:0}.week-sidebar .mini-cal-day-name{min-width:0;font-size:calc(100cqi / 7 * .38);padding:1px 0;line-height:1.2;text-align:center;overflow:hidden}.week-sidebar .mini-cal-cell{min-width:0;width:100%;aspect-ratio:1;height:auto;font-size:6cqi;line-height:1;border-radius:2px;padding:0;margin:0;border:none;box-sizing:border-box}.week-sidebar .mini-cal-cell.is-today{outline:none;box-shadow:inset 0 0 0 1.5px var(--color-accent);font-weight:700}.week-sidebar .mini-cal-cell.has-birthday{background:#fce4ec;color:#880e4f;font-weight:600}.week-sidebar .mini-cal-cell.has-birthday.outside-month{background:#faf0f3;color:#ad7a8a}.week-sidebar .mini-cal-cell.has-birthday.is-today{box-shadow:inset 0 0 0 1.5px #c2185b}.week-sidebar .mini-cal-cell.has-birthday.in-current-week{background:#f8bbd0}.week-sidebar .section-label{font-size:.72rem;margin-bottom:8px}.week-sidebar .priority-list{gap:8px}.week-sidebar .priority-num{font-size:.8rem;width:16px}.week-sidebar .priority-input{font-size:.85rem;padding:6px 4px;min-height:36px}.top-priorities{flex:1;min-width:0}.section-label{margin:0 0 6px;font-size:.65rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted)}.collapsible-header{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:0}.collapsible-section.is-expanded .collapsible-header{margin-bottom:6px}.collapsible-toggle{display:flex;align-items:center;gap:5px;flex:1;min-width:0;margin:0;padding:0;border:none;background:transparent;cursor:pointer;text-align:left;color:inherit}.collapsible-toggle .section-label{margin:0}.collapsible-chevron{flex-shrink:0;font-size:.45rem;line-height:1;color:var(--color-muted)}.collapsible-body{min-width:0}.priority-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.priority-list li{display:flex;align-items:center;gap:6px}.priority-num{font-size:.7rem;font-weight:600;color:var(--color-muted);width:14px;text-align:center;flex-shrink:0}.priority-input{flex:1;border:none;border-bottom:1px solid var(--color-line);background:transparent;padding:4px 2px;font-size:.78rem;min-width:0}.priority-input:focus{outline:none;border-bottom-color:var(--color-accent)}.mini-calendar-header{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-bottom:6px}.mini-calendar-title{font-size:.65rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted);text-align:center;flex:1;margin:0}.mini-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px}.mini-cal-day-name{font-size:.55rem;font-weight:600;text-align:center;color:var(--color-muted);padding:2px 0}.mini-cal-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.6rem;border-radius:2px;min-height:18px;color:var(--color-text);transition:background .12s}.mini-cal-cell:hover{background:var(--color-header)}.mini-cal-cell.outside-month{color:var(--color-muted);opacity:.45}.mini-cal-cell.is-today{font-weight:700;outline:1.5px solid var(--color-accent)}.mini-cal-cell.in-current-week{background:var(--color-week-highlight)}.day-column{display:flex;flex-direction:column;border-right:1px solid var(--color-line);min-height:100%}.day-column:last-child{border-right:none}.day-column.is-today .day-header{background:var(--color-today)}.day-header{display:flex;flex-direction:column;align-items:center;text-align:center;padding:8px 4px 6px;background:var(--color-page);border-bottom:1px solid var(--color-line);flex-shrink:0}.day-birthdays{list-style:none;margin:0;padding:4px 6px;flex-shrink:0;border-bottom:1px solid var(--color-line);background:#fce4ec}.day-birthday-note{font-size:.65rem;line-height:1.35;color:#880e4f;font-weight:600;padding:2px 0}.day-name{font-size:.55rem;font-weight:600;letter-spacing:.1em;line-height:1.3}.day-num{font-size:1.2rem;font-weight:600;line-height:1.2}.day-items{list-style:none;margin:0;padding:4px 4px 0;flex-shrink:0}.day-item{display:flex;align-items:center;gap:3px;min-height:26px;padding-left:2px;border-left:3px solid transparent}.day-item-text{flex:1;border:none;border-bottom:1px solid var(--color-line);background:transparent;font-size:.72rem;padding:2px;min-width:0;height:22px}.day-item-text:focus{outline:none;border-bottom-color:var(--color-accent)}.day-add-btn{align-self:flex-start;margin:2px 6px 4px;padding:0 6px;font-size:.85rem;line-height:1.4;color:var(--color-muted);border:1px dashed var(--color-line);border-radius:3px;background:transparent}.day-add-btn:hover{color:var(--color-text);background:var(--color-page)}.day-zone{flex:1;width:100%;border:none;border-top:1px solid var(--color-line);background:transparent;padding:6px 8px;resize:none;font-size:.75rem;line-height:1.45;min-height:0}.day-zone:focus{outline:none;background:#e8dfd033}.section-header{margin:0;padding:0 12px;height:var(--section-header-height);display:flex;align-items:center;font-size:.65rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;background:var(--color-header);color:var(--color-header-text);flex-shrink:0}.checklist{display:flex;flex-direction:column;flex:1;min-height:0}.checklist-items{list-style:none;margin:0;padding:10px 12px;display:grid;gap:0;grid-auto-rows:var(--checklist-row-height);align-content:start}.checklist-cols-2 .checklist-items{grid-template-columns:1fr 1fr;column-gap:16px}.checklist-item{display:flex;align-items:center;gap:4px;height:var(--checklist-row-height);min-height:var(--checklist-row-height);padding-left:4px;border-left:3px solid transparent}.checklist-item.has-time{gap:3px}.checklist-time{width:52px;flex-shrink:0;border:none;border-bottom:1px solid var(--color-line);background:transparent;padding:0 2px;font-size:.72rem;height:24px;line-height:24px;text-align:center;color:var(--color-muted)}.checklist-time:focus{outline:none;border-bottom-color:var(--color-accent);color:var(--color-text)}.checklist-time::placeholder{font-size:.65rem}.checklist-text{flex:1;border:none;border-bottom:1px solid var(--color-line);background:transparent;padding:0 2px;font-size:.78rem;height:24px;line-height:24px}.checklist-text:focus{outline:none;border-bottom-color:var(--color-accent)}.checklist-text.is-done{text-decoration:line-through;color:var(--color-muted)}.add-item-btn{margin:6px 12px 10px;padding:6px 10px;font-size:.72rem;color:var(--color-muted);border:1px dashed var(--color-line);border-radius:var(--radius);align-self:flex-start;flex-shrink:0}.add-item-btn:hover{background:var(--color-page);color:var(--color-text)}.notes-panel{display:flex;flex-direction:column;border-left:1px solid var(--color-line);min-height:0}.notes-area{flex:1;border:none;background-color:var(--color-paper);background-image:radial-gradient(circle,var(--color-line) 1px,transparent 1px);background-size:14px 14px;padding:10px;font-size:.78rem;line-height:1.6;resize:none;min-height:0}.notes-area:focus{outline:none}.resize-handle{flex-shrink:0;touch-action:none;z-index:3;transition:background .15s}.resize-handle-vertical{width:10px;cursor:col-resize;align-self:stretch;margin:0 -5px}.resize-handle-horizontal{height:10px;cursor:row-resize;width:100%;margin:2px 0}.resize-handle:after{content:"";display:block;background:var(--color-line);border-radius:4px;transition:background .15s}.resize-handle-vertical:after{width:3px;height:36px;margin:auto;position:relative;top:50%;transform:translateY(-50%)}.resize-handle-horizontal:after{height:3px;width:48px;margin:3px auto}.resize-handle:hover:after,.resize-handle:active:after{background:var(--color-accent)}.resize-sidebar-width{position:absolute;left:-5px;top:0;bottom:0;height:auto;margin:0}.resize-week-bottom{margin-top:4px}.resize-notes-width{height:auto;align-self:stretch}.layout-reset-btn{position:fixed;bottom:16px;right:16px;padding:8px 14px;font-size:.75rem;color:var(--color-muted);background:var(--color-paper);border:1px solid var(--color-line);border-radius:var(--radius);box-shadow:0 2px 8px #00000014;z-index:10}.layout-reset-btn:hover{color:var(--color-text);background:var(--color-header)}body.is-resizing{-webkit-user-select:none;user-select:none;cursor:inherit}body.is-resizing *{-webkit-user-select:none;user-select:none}.color-swatch{display:inline-block;width:12px;height:12px;border-radius:50%;flex-shrink:0;border:1px solid rgba(0,0,0,.12)}.color-picker{position:relative;flex-shrink:0}.color-picker-btn{width:16px;height:16px;border-radius:50%;border:1.5px solid var(--color-line);background:transparent;padding:0;cursor:pointer;flex-shrink:0}.color-picker-btn.has-color{border-color:transparent}.color-picker-btn:hover{transform:scale(1.1)}.color-picker-menu{position:absolute;left:0;z-index:20;min-width:140px;background:var(--color-paper);border:1px solid var(--color-line);border-radius:var(--radius);box-shadow:0 4px 16px #0000001f;padding:4px;display:flex;flex-direction:column;gap:2px}.color-picker-menu-up{bottom:calc(100% + 4px)}.color-picker-menu-down{top:calc(100% + 4px)}.color-picker-option{display:flex;align-items:center;gap:8px;padding:6px 8px;border:none;background:none;font-size:.75rem;text-align:left;border-radius:3px;cursor:pointer;color:var(--color-text);width:100%}.color-picker-option:hover,.color-picker-option.is-active{background:var(--color-page)}.color-picker-clear{color:var(--color-muted);border-bottom:1px solid var(--color-line);border-radius:0;margin-bottom:2px;padding-bottom:8px}.color-key{margin-top:10px;padding-top:8px;border-top:1px solid var(--color-line)}.color-key-edit-btn{font-size:.65rem;color:var(--color-muted);padding:2px 6px;border:1px solid var(--color-line);border-radius:3px;background:var(--color-page)}.color-key-edit-btn:hover{color:var(--color-text);background:var(--color-header)}.color-key-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.color-key-item{display:flex;align-items:center;gap:6px;font-size:.68rem;line-height:1.2}.color-key-label{color:var(--color-text)}.color-key-label-input{flex:1;border:none;border-bottom:1px solid var(--color-line);background:transparent;font-size:.72rem;padding:2px 0;min-width:0}.color-key-swatch-input{width:22px;height:22px;padding:0;border:1px solid var(--color-line);border-radius:3px;cursor:pointer;flex-shrink:0}.color-key-remove{font-size:1rem;line-height:1;color:var(--color-muted);padding:0 4px}.color-key-remove:hover{color:var(--color-text)}.color-key-add-btn{margin-top:6px;font-size:.68rem;color:var(--color-muted);padding:4px 0}.color-key-add-btn:hover{color:var(--color-text)}.birthday-list{margin-top:10px;padding-top:8px;border-top:1px solid var(--color-line)}.birthday-items{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:4px}.birthday-item{display:flex;align-items:center;gap:6px;font-size:.68rem;line-height:1.2}.birthday-dot{width:8px;height:8px;border-radius:50%;background:#f48fb1;flex-shrink:0}.birthday-item-text{flex:1;min-width:0;color:var(--color-text)}.birthday-remove{font-size:1rem;line-height:1;color:var(--color-muted);padding:0 2px}.birthday-remove:hover{color:var(--color-text)}.birthday-add{display:flex;flex-direction:column;gap:4px}.birthday-name-input,.birthday-date-input{width:100%;border:none;border-bottom:1px solid var(--color-line);background:transparent;font-size:.72rem;padding:4px 2px;min-width:0}.birthday-name-input:focus,.birthday-date-input:focus{outline:none;border-bottom-color:var(--color-accent)}.birthday-add-btn{align-self:flex-start;margin-top:2px;padding:4px 10px;font-size:.68rem;color:var(--color-muted);border:1px solid var(--color-line);border-radius:3px;background:var(--color-page)}.birthday-add-btn:hover{color:var(--color-text);background:var(--color-header)}.ipad-only,.resize-ipad-only{display:none}@media print{.planner{grid-template-columns:1fr 1fr;gap:0;padding:0;max-width:none;display:grid}.swipe-hint{display:none!important}.planner-page{box-shadow:none;border-radius:0;page-break-inside:avoid}.week-nav,.add-item-btn,.layout-reset-btn,.resize-handle{display:none}.day-zone,.notes-area,.checklist-text,.priority-input{background:transparent!important}}@media(max-width:1366px){.ipad-only{display:block}.desktop-only{display:none!important}.page-header-spacer{display:none}.planner{display:flex;flex-direction:column;gap:0;max-width:100%;min-height:100vh;min-height:100dvh;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:var(--color-paper);border:1px solid var(--color-line);border-radius:var(--radius);box-shadow:0 2px 12px #0000000f}.planner-page{grid-row:auto;grid-template-rows:none;display:flex;flex-direction:column;width:100%;min-width:0;flex:1;min-height:0}.page-header{display:block;background:var(--color-paper);border-bottom:1px solid var(--color-line);padding:16px 16px 10px}.ipad-sheet{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.ipad-main{display:grid;grid-template-columns:1fr minmax(168px,22vw);align-items:stretch;flex:0 0 auto;height:var(--week-height, 280px);min-height:280px;overflow:hidden;border-bottom:none}.ipad-week-area{min-width:0;min-height:0;height:100%;padding:12px 8px 8px 12px;display:flex;flex-direction:column;overflow:hidden}.ipad-week-area .planner-week-unified{flex:1;min-height:0;padding:0;display:flex;flex-direction:column}.ipad-sidebar{display:flex;flex-direction:column;gap:0;padding:10px 12px 8px 8px;border-left:1px solid var(--color-line);min-width:0;min-height:0;height:100%;overflow:hidden}.ipad-sidebar-section{flex:0 0 auto;min-width:0}.ipad-sidebar-section+.ipad-sidebar-section,.ipad-sidebar-scroll{padding-top:10px;margin-top:10px;border-top:1px solid var(--color-line)}.ipad-sidebar-scroll{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.ipad-sidebar-scroll .color-key,.ipad-sidebar-scroll .birthday-list{margin-top:10px;padding-top:8px;border-top:1px solid var(--color-line)}.ipad-sidebar .section-label{font-size:.58rem;margin-bottom:4px}.ipad-sidebar .collapsible-toggle{min-height:var(--touch-min);padding:4px 0}.ipad-sidebar .collapsible-chevron{font-size:.5rem}.ipad-sidebar .color-key-edit-btn{min-height:32px}.ipad-sidebar-nav .week-header{flex-direction:column;align-items:stretch;gap:6px}.ipad-sidebar-nav .week-nav{flex-direction:row;gap:4px}.ipad-sidebar-nav .week-nav button{flex:1;min-width:0;min-height:36px;padding:6px 4px;font-size:.75rem}.ipad-sidebar-calendar{container-type:inline-size}.ipad-sidebar-calendar .mini-calendar{width:100%}.ipad-sidebar-calendar .mini-calendar-title{font-size:.52rem;letter-spacing:.05em}.ipad-sidebar-calendar .mini-cal-nav{width:18px;height:18px;font-size:.65rem}.ipad-sidebar-calendar .mini-cal-day-name{font-size:calc(100cqi / 7 * .34);padding:0}.ipad-sidebar-calendar .mini-cal-cell{font-size:calc(100cqi / 7 * .38)}.ipad-sidebar-scroll .priority-list{gap:2px}.ipad-sidebar-scroll .priority-input{font-size:.72rem;min-height:28px;padding:3px 2px}.ipad-sidebar-scroll .priority-num{font-size:.65rem;width:12px}.ipad-sidebar-scroll .color-key-list{gap:2px}.ipad-sidebar-scroll .color-key-item{font-size:.68rem}.ipad-sidebar-scroll .color-key-edit-btn{font-size:.62rem;padding:2px 6px}.ipad-sidebar-scroll .birthday-items{gap:2px}.ipad-sidebar-scroll .birthday-item-text{font-size:.68rem}.ipad-sidebar-scroll .birthday-name-input,.ipad-sidebar-scroll .birthday-date-input{font-size:.68rem;min-height:28px}.ipad-sidebar-scroll .birthday-add-btn{font-size:.62rem;padding:4px 8px}.swipe-hint{display:none}.planner-week-unified{padding:0 12px}.days-row-full{grid-template-columns:repeat(7,minmax(0,1fr));flex:1;min-height:0;height:100%}.days-row-full .day-column{min-height:0;height:100%}.days-row-full .day-zone{flex:0 0 auto;height:72px;min-height:72px;max-height:72px}.planner-page-right,.planner-page-right .page-week{display:none}.resize-ipad-only{display:block!important;flex-shrink:0;border-top:1px solid var(--color-line);background:var(--color-page)}.resize-ipad-only.resize-handle-horizontal{height:14px;margin:0}.resize-ipad-only.resize-handle-horizontal:after{width:64px}.resize-desktop-only{display:none!important}.ipad-bottom-row{display:grid;grid-template-columns:1fr 1fr;flex:1;min-height:0;width:100%;overflow:hidden}.ipad-bottom-row .page-bottom{min-width:0;border-top:none;overflow:hidden}.ipad-bottom-row .page-bottom-appointments{border-left:1px solid var(--color-line)}.checklist-items{flex:0 1 auto}.week-nav button{min-width:var(--touch-min);min-height:var(--touch-min);padding:8px 12px}.layout-reset-btn{display:none}@media(max-width:900px){.ipad-main{grid-template-columns:1fr minmax(148px,28vw)}.days-row-full .day-zone{height:64px;min-height:64px;max-height:64px}.day-name{font-size:.48rem}.day-num{font-size:1rem}}}@media(pointer:coarse){.resize-desktop-only{display:none!important}.resize-ipad-only{display:block!important}}:root{--color-page: #f7f4ef;--color-paper: #fdfbf7;--color-header: #e8dfd0;--color-header-text: #3d3832;--color-text: #2c2825;--color-muted: #8a8279;--color-line: #d9d2c8;--color-accent: #6b5c4c;--color-today: #d4c4a8;--color-week-highlight: rgba(107, 92, 76, .12);--font-sans: "DM Sans", system-ui, -apple-system, sans-serif;--radius: 4px;--touch-min: 44px;--checklist-row-height: 34px;--section-header-height: 34px}*,*:before,*:after{box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;font-family:var(--font-sans);color:var(--color-text);background:var(--color-page);line-height:1.4}#root{min-height:100vh}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}input[type=checkbox]{width:18px;height:18px;min-width:18px;accent-color:var(--color-accent);cursor:pointer}@media(max-width:900px){html{font-size:15px}}@media print{body{background:#fff}}
