:root{--background:#fff8df;--surface:#fffdf4;--surface-raised:#fffaf0;--surface-muted:#fff3cd;--text:#594523;--muted:#846f45;--line:#5b4726;--line-soft:rgba(91,71,38,0.18);--accent:#ffbd2f;--accent-strong:#ef9f16;--accent-soft:#ffe9a7;--pink:#f39bb1;--blue:#8fc7e8;--green:#9ccc76;--danger:#bd3b2f;--danger-soft:#ffe4df;--warning-bg:#fff0bf;--warning-text:#7a5314;--shadow:0 12px 0 rgba(91,71,38,0.14),0 24px 44px rgba(91,71,38,0.14);--shadow-soft:0 7px 0 rgba(91,71,38,0.1);--glass-surface:rgba(255,253,244,0.74);--glass-surface-strong:rgba(255,253,244,0.88);--glass-highlight:rgba(255,255,255,0.58);--glass-shadow:0 16px 44px rgba(91,71,38,0.2),inset 0 1px 0 rgba(255,255,255,0.72);--motion-spring:cubic-bezier(0.16,1,0.3,1);--radius:26px}*{box-sizing:border-box;-webkit-tap-highlight-color:rgba(255,255,255,.36)}body,html{min-height:100%;margin:0;overscroll-behavior:none}body{background:repeating-linear-gradient(90deg,rgba(255,241,188,.78) 0 32px,rgba(255,253,244,.95) 32px 64px),var(--background);color:var(--text);font-family:Arial,PingFang SC,Microsoft YaHei,sans-serif}button,input,select,textarea{font:inherit}button{position:relative;min-height:40px;border:3px solid var(--line);border-radius:999px;background:var(--surface);color:var(--text);padding:0 15px;font-weight:900;cursor:pointer;box-shadow:3px 4px 0 rgba(91,71,38,.14);overflow:hidden;transform:translateZ(0) scale(1);transform-origin:center;transition:background .16s ease,border-color .18s ease,box-shadow .28s var(--motion-spring),filter .28s ease,transform .32s var(--motion-spring)}button:after{content:"";position:absolute;inset:1px 8px auto;height:42%;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.62),transparent);opacity:0;pointer-events:none;transform:translateY(-5px) scaleX(.84);transition:opacity .24s ease,transform .34s var(--motion-spring)}button:hover{filter:saturate(1.04) brightness(1.02);transform:translate3d(0,-2px,0) scale(1.018);box-shadow:4px 7px 0 rgba(91,71,38,.16),0 11px 26px rgba(91,71,38,.1)}button:hover:after{opacity:1;transform:translateY(0) scaleX(1)}button:active{filter:saturate(1.12) brightness(1.08);transform:translate3d(0,1px,0) scale(.985);box-shadow:0 0 0 5px rgba(255,255,255,.42),1px 2px 0 rgba(91,71,38,.12),inset 0 1px 0 rgba(255,255,255,.76)}button:active:after{opacity:1;transform:translateY(0) scaleX(1.04)}button:disabled{cursor:not-allowed;opacity:.62;transform:none}input,select,textarea{width:100%;min-width:0;max-width:100%;border:3px solid var(--line);border-radius:18px;background:#fffef8;color:var(--text);padding:11px 13px;outline:none}input[type=date],input[type=datetime-local]{min-inline-size:0;inline-size:100%;-moz-appearance:none;appearance:none;-webkit-appearance:none}textarea{resize:vertical;line-height:1.55}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 5px rgba(255,189,47,.28)}.app-shell{min-height:100vh;padding:18px}.page-blur-backdrop{position:fixed;inset:0;z-index:30;pointer-events:none;background:linear-gradient(180deg,rgba(255,253,244,.2),rgba(255,248,223,.34)),rgba(91,71,38,.1);backdrop-filter:blur(8px) saturate(1.1);-webkit-backdrop-filter:blur(8px) saturate(1.1);animation:glass-backdrop-in .22s ease both}.app-loading-shell{min-height:100dvh;display:grid;place-items:center;background:repeating-linear-gradient(90deg,rgba(255,241,188,.78) 0 32px,rgba(255,253,244,.95) 32px 64px),var(--background)}.app-loading-mark,.calendar-loading{border:4px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:var(--shadow-soft);color:var(--line);font-weight:900}.app-loading-mark{padding:18px 24px;font-size:28px}.calendar-loading{display:grid;min-height:320px;place-items:center;padding:18px;font-size:15px}.toast-message{position:fixed;top:50%;left:50%;z-index:80;width:min(360px,calc(100vw - 32px));border:4px solid var(--line);border-radius:18px;box-shadow:var(--shadow-soft);padding:12px 16px;color:var(--line);font-size:14px;font-weight:900;line-height:1.45;text-align:center;transform:translate(-50%,-50%);animation:glass-toast-in .46s var(--motion-spring) both}.success-toast{background:var(--accent-soft)}.error-toast{border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:22px}.auth-card{position:relative;width:min(460px,100%);overflow:hidden;border:6px solid var(--line);border-radius:34px;background:var(--surface);box-shadow:var(--shadow);padding:150px 28px 28px}.auth-card:before{content:"";position:absolute;inset:0 0 auto;height:104px;background:radial-gradient(circle at 76% 34%,rgba(255,255,255,.76) 0 26px,transparent 27px),repeating-linear-gradient(90deg,rgba(255,239,176,.85) 0 24px,rgba(255,253,244,.95) 24px 48px);border-bottom:5px solid var(--line)}.auth-card h1{margin:0 0 18px;font-size:40px;font-weight:900;letter-spacing:0}.auth-mascot{top:24px;z-index:1}.panel-art{display:block;object-fit:contain;filter:drop-shadow(4px 6px 0 rgba(91,71,38,.12));pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.auth-art{position:absolute;top:16px;left:50%;z-index:1;width:138px;height:138px;transform:translateX(-50%)}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin-bottom:18px;border:3px solid var(--line);border-radius:18px;background:var(--surface-muted);padding:5px}.auth-tabs button{border:0;background:transparent;box-shadow:none}.auth-tabs button.active{background:var(--accent)}.auth-submit{width:100%;min-height:52px;margin-top:14px}.auth-note{margin:14px 0 0;color:var(--muted);font-size:13px;font-weight:800;line-height:1.55}.top-bar{position:relative;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;grid-gap:16px;gap:16px;max-width:1180px;margin:0 auto 12px}.top-bar h1{margin:0;font-size:clamp(32px,4vw,54px);font-weight:900;letter-spacing:0}.top-title{min-width:0;justify-content:center;gap:10px;text-align:center}.top-title,.user-menu{display:inline-flex;align-items:center}.user-menu{position:relative}.user-name{max-width:min(170px,24vw);min-height:0;border:0;border-radius:12px;overflow:hidden;background:transparent;box-shadow:none;color:var(--muted);padding:3px 6px;font-size:clamp(18px,2.2vw,28px);font-weight:900;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.user-name:hover{background:rgba(255,233,167,.42);box-shadow:none}.user-menu-popover{position:absolute;top:calc(100% + 6px);left:50%;z-index:50;transform:translateX(-50%);animation:glass-popover-in .32s var(--motion-spring) both}.user-menu-popover button{min-height:34px;border-width:2px;background:var(--surface);padding:0 12px;font-size:12px;white-space:nowrap}.eyebrow{margin:0 0 5px;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.settings-button{background:var(--accent-soft)}.quick-action-card,.user-chip{display:none}.dashboard-strip{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:12px;gap:12px;max-width:1180px;margin:0 auto 14px}.metric-card{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:76px;border:4px solid var(--line);border-radius:22px;background:rgba(255,253,244,.9);box-shadow:var(--shadow-soft);padding:14px 16px;text-align:left}button.metric-card{width:100%}.data-actions{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.data-actions button{min-height:34px;border-width:2px;padding:0 12px;font-size:12px}.data-actions input{display:none}.data-actions span{color:var(--muted);font-size:12px;font-weight:900}.calendar-data-actions{position:relative;z-index:2;width:min(560px,100%);margin:12px auto 0}.metric-card strong{display:block;margin-bottom:5px;font-size:14px}.metric-card span{color:var(--muted);font-size:12px;font-weight:800;line-height:1.4}.metric-value{display:grid;place-items:center;min-width:48px;height:48px;border:4px solid var(--line);border-radius:50%;background:var(--accent);color:var(--line);font-size:22px;font-weight:900}.workspace{display:grid;grid-template-columns:1fr;max-width:1180px;height:auto;min-height:0;margin:0 auto}.calendar-panel,.drawer,.settings-modal,.side-panel{border:5px solid var(--line);background:linear-gradient(145deg,var(--glass-highlight),transparent 34%) padding-box,var(--glass-surface-strong);box-shadow:var(--shadow);backdrop-filter:blur(24px) saturate(1.28);-webkit-backdrop-filter:blur(24px) saturate(1.28)}.side-panel{position:relative;overflow:auto;border-radius:30px;padding:178px 22px 24px}.tool-panel-art{position:absolute;top:18px;left:50%;width:144px;height:144px;transform:translateX(-50%)}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.ai-panel-header{display:grid;grid-template-columns:42px minmax(0,1fr) 42px}.ai-panel-header h2{grid-column:2;text-align:center}.ai-panel-header .icon-button{grid-column:3}.drawer-header h2,.panel-header h2,.section-title h2{margin:0;font-size:22px;line-height:1.25;font-weight:900}.field{display:grid;grid-gap:7px;gap:7px;margin-bottom:13px}.check-field,.field span,.meta-row,.settings-note{color:var(--muted);font-size:13px;font-weight:800}.check-field{display:flex;align-items:center;gap:8px;margin:4px 0 13px}.check-field input{width:auto}.button-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.ai-import-action{display:flex;justify-content:center;margin:2px 0 14px}.ai-import-action .primary-button{min-width:150px}.ai-password-panel{display:grid;grid-gap:10px;gap:10px;margin-bottom:13px}.ai-password-panel .field{margin-bottom:0}.pending-result-panel{display:grid;grid-gap:9px;gap:9px;margin-top:12px;border:3px solid var(--line);border-radius:18px;background:var(--accent-soft);padding:12px;text-align:center}.pending-result-panel span{color:var(--muted);font-size:13px;font-weight:900}.wide-button{width:100%}.primary-button{background:linear-gradient(180deg,rgba(255,255,255,.36),transparent 45%),var(--accent);color:var(--line)}.primary-button:hover{background:var(--accent-strong)}.danger-button{border-color:var(--danger);background:linear-gradient(180deg,rgba(255,255,255,.42),transparent 48%),var(--danger-soft);color:var(--danger)}.error-box,.warning-box{border:3px solid var(--line);border-radius:16px;padding:10px 12px;line-height:1.5}.error-box{margin-top:13px;background:var(--danger-soft);color:var(--danger)}.warning-box{background:var(--warning-bg);color:var(--warning-text)}.result-stack{display:grid;grid-gap:12px;gap:12px;margin-top:20px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.result-card{border:4px solid var(--line);border-radius:20px;background:var(--surface-raised);padding:14px}.result-card-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;font-weight:900;color:var(--muted)}.compact-button{min-height:34px;padding:0 12px;font-size:.9rem}.time-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;min-width:0}.time-grid.single-time-grid{grid-template-columns:minmax(0,1fr)}.meta-row{display:grid;grid-gap:5px;gap:5px;line-height:1.45}.calendar-panel{position:relative;min-width:0;overflow:hidden;border-radius:38px;padding:12px 28px 22px;background:linear-gradient(var(--surface),var(--surface)) padding-box,repeating-linear-gradient(90deg,rgba(255,241,188,.85) 0 28px,rgba(255,253,244,.95) 28px 56px)}.calendar-panel:after,.calendar-panel:before{content:"";position:absolute;z-index:1;width:118px;height:78px;pointer-events:none}.calendar-panel:before{left:28px;top:188px;border-left:9px solid var(--line);border-top:9px solid var(--line);border-radius:66px 0 0}.calendar-panel:after{right:28px;top:188px;border-right:9px solid var(--line);border-top:9px solid var(--line);border-radius:0 66px 0 0}.calendar-theme-hero{position:relative;z-index:2;display:grid;grid-template-columns:minmax(220px,.9fr) minmax(260px,1.1fr);align-items:center;grid-gap:14px;gap:14px;min-height:148px;margin-bottom:8px;border-bottom:7px solid var(--line)}.calendar-theme-art{position:relative;display:grid;place-items:center;justify-self:end;width:min(300px,100%);aspect-ratio:13/7;height:auto;overflow:hidden}.theme-base-art{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover;object-position:center;mix-blend-mode:multiply;pointer-events:none}.theme-action-motion{isolation:isolate}.theme-action-motion .theme-base-art{opacity:0}.theme-action-frame{position:absolute;z-index:2;width:100%;height:100%;object-fit:contain;object-position:center;opacity:0;pointer-events:none;transform-origin:center;animation:aligned-action-frame 6.4s step-end infinite}.action-frame-1{transform:none}.action-frame-2{transform:none;animation-delay:-4.8s}.action-frame-3{transform:none;animation-delay:-3.2s}.action-frame-4{transform:none;animation-delay:-1.6s}.calendar-theme-title{order:-1}.calendar-theme-hero span{display:block;font-size:clamp(66px,10vw,124px);font-weight:900;line-height:.82;color:var(--line)}.calendar-theme-hero strong{display:block;font-size:clamp(28px,4.8vw,56px);font-weight:900;line-height:1;color:var(--line);text-transform:uppercase}.calendar-stickers{display:none}.fc{position:relative;z-index:2;min-height:0;color:var(--line);font-weight:800}.fc .fc-toolbar{align-items:center;gap:8px;margin-bottom:8px}.fc .fc-toolbar-title{color:var(--line);font-size:clamp(24px,3.2vw,40px);font-weight:900}.fc .fc-button-primary{border:3px solid var(--line);border-radius:999px;background:var(--surface);color:var(--line);box-shadow:3px 4px 0 rgba(91,71,38,.14);font-weight:900;padding:4px 10px}.fc .fc-button-primary:focus,.fc .fc-button-primary:hover{background:var(--accent-soft)}.fc .fc-today-button.fc-button-primary{background:var(--accent);color:var(--line);border-color:var(--line)}.fc .fc-today-button.fc-button-primary:focus,.fc .fc-today-button.fc-button-primary:hover{background:var(--accent-strong)}.fc .fc-today-button.fc-button-primary:disabled{background:var(--accent);color:var(--line);opacity:.68}.fc .fc-button-primary:not(:disabled).fc-button-active,.fc .fc-button-primary:not(:disabled):active{background:var(--accent);color:var(--line);border-color:var(--line);filter:saturate(1.12) brightness(1.08);box-shadow:0 0 0 5px rgba(255,255,255,.38),2px 3px 0 rgba(91,71,38,.12),inset 0 1px 0 rgba(255,255,255,.72)}.fc .fc-timegrid-axis-cushion,.fc .fc-timegrid-slot-label-cushion{color:var(--muted);font-size:12px;font-weight:900}.fc .fc-timegrid-slot{height:30px}.fc .fc-timegrid-col.fc-day-today{background:rgba(255,234,167,.18)}.fc .fc-timegrid-now-indicator-line{border-color:var(--danger)}.fc .fc-timegrid-now-indicator-arrow{border-color:var(--danger);border-top-color:transparent;border-bottom-color:transparent}.fc .fc-event.single-day-event{border:2px solid var(--line);border-radius:10px;background:var(--accent-soft);color:var(--line);box-shadow:2px 3px 0 rgba(91,71,38,.14);padding:1px 4px;font-size:11px;font-weight:900}.fc .fc-event.expired-event{border-color:rgba(91,71,38,.42);background:#d8d1c2;color:rgba(91,71,38,.64);filter:grayscale(.75);opacity:.72;box-shadow:1px 2px 0 rgba(91,71,38,.08)}.fc .fc-event.expired-event:hover{background:#d8d1c2}.fc .fc-timegrid-event .fc-event-main{color:inherit}.fc .fc-timegrid-event .multi-day-event-content{grid-template-columns:minmax(0,1fr);gap:2px;align-items:start}.fc .fc-timegrid-event .multi-day-event-time:last-child{display:none}.fc .fc-timegrid-event .multi-day-event-title{text-align:left}.fc .fc-timeGridWeek-view .fc-event.multi-day-event{min-height:18px;max-height:22px;border-radius:999px;padding:1px 6px}.fc .fc-timeGridDay-view .fc-timegrid-event.multi-day-event{right:auto!important;width:clamp(26px,13vw,52px);min-height:34px;max-height:none;border-radius:999px;padding:4px 5px;overflow:hidden}.fc .fc-timeGridDay-view .fc-timegrid-event.multi-day-event .fc-event-main{writing-mode:vertical-rl;-webkit-text-orientation:mixed;text-orientation:mixed}.fc .fc-timeGridDay-view .fc-timegrid-event.multi-day-event .multi-day-event-content{grid-template-columns:minmax(0,1fr);justify-items:center;gap:4px;height:100%}.fc .fc-timeGridWeek-view .day-event-summary,.fc .fc-timeGridWeek-view .day-meta-stack{display:none}.fc .fc-timeGridDay-view .fc-timegrid-event.single-day-event,.fc .fc-timeGridWeek-view .fc-timegrid-event.single-day-event{right:auto!important;min-height:18px;border-radius:999px;padding:1px 6px;overflow:hidden}.fc .fc-timeGridDay-view .fc-timegrid-event.single-day-event{width:clamp(24px,12vw,48px)}.fc .fc-timeGridDay-view .fc-timegrid-event.single-day-event .fc-event-main{writing-mode:vertical-rl;-webkit-text-orientation:mixed;text-orientation:mixed}.fc .fc-timegrid-event.single-day-event .multi-day-event-content{grid-template-columns:minmax(0,1fr);align-items:center;gap:2px}.fc .fc-timegrid-event.single-day-event .multi-day-event-time:last-child{display:none}.fc-theme-standard .fc-scrollgrid,.fc-theme-standard td,.fc-theme-standard th{border-color:transparent}.fc-theme-standard .fc-scrollgrid{overflow:visible;border:0;border-radius:0}.fc .fc-col-header-cell{background:var(--surface-muted)}.fc .fc-col-header-cell-cushion{color:var(--line);font-size:clamp(18px,2.4vw,30px);padding:12px 4px}.fc .fc-daygrid-day{background:transparent}.fc .fc-dayGridMonth-view .fc-daygrid-body,.fc .fc-dayGridMonth-view .fc-scrollgrid-sync-table,.fc .fc-dayGridMonth-view .fc-scrollgrid-sync-table tbody,.fc .fc-dayGridMonth-view .fc-scrollgrid-sync-table td,.fc .fc-dayGridMonth-view .fc-scrollgrid-sync-table tr{height:auto!important}.fc .fc-dayGridMonth-view .fc-scrollgrid-sync-table tr{height:72px!important}.fc .fc-dayGridMonth-view .fc-daygrid-day-frame{position:relative;height:72px;min-height:72px;padding:4px 0}.fc .fc-dayGridMonth-view .fc-daygrid-day.week-has-duration-event{height:104px!important}.fc .fc-dayGridMonth-view .fc-daygrid-day.week-has-duration-event .fc-daygrid-day-frame{height:104px;min-height:104px}.fc .fc-dayGridMonth-view .fc-daygrid-day.week-has-duration-event .day-cell-label{padding-top:0}.fc .fc-dayGridMonth-view .fc-daygrid-day.week-has-duration-event .day-meta-stack{top:33px}.fc .fc-dayGridMonth-view .fc-daygrid-day.week-has-duration-event .fc-daygrid-day-events{top:22px}.fc .fc-dayGridMonth-view .fc-daygrid-day.week-duration-event-compact .fc-daygrid-day-events{top:10px}.fc .fc-dayGridMonth-view .fc-daygrid-day.week-duration-event-dense .fc-daygrid-day-events{top:28px}.fc .fc-daygrid-day-frame{display:grid;place-items:center;min-height:0}.fc .fc-daygrid-day-top{width:100%}.fc .fc-daygrid-day-number{width:100%;color:var(--line);font-size:clamp(24px,3.3vw,44px);font-weight:500;padding:0;text-align:center}.day-cell-label{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;width:100%;min-width:0;height:100%;min-height:0;border:0;border-radius:18px;background:transparent;box-shadow:none;padding:0;color:inherit;transition:background .16s ease}.day-cell-label:hover{background:rgba(255,233,167,.38);box-shadow:none;transform:none}.day-cell-label.has-events{cursor:pointer}.day-cell-label.upcoming-events{background:rgba(255,250,240,.54)}.day-cell-label.has-events,.day-cell-label.holiday-day{min-height:0}.day-cell-label>span:first-child{position:relative;z-index:2;line-height:1}.day-meta-stack{position:absolute;top:33px;left:2px;right:2px;z-index:3;min-height:0;justify-content:center;gap:2px;flex-direction:row;margin-top:0;flex-wrap:wrap}.day-event-summary,.day-meta-stack{display:inline-flex;align-items:center}.day-event-summary{gap:4px;min-width:30px;max-width:54px;border:2px solid var(--line);border-radius:999px;background:var(--pink);color:var(--line);padding:1px 6px;font-size:11px;font-weight:900;line-height:1.2;overflow:hidden}.expired-events .day-event-summary{border-color:rgba(91,71,38,.52);background:#d8d1c2;color:rgba(91,71,38,.7);filter:grayscale(.75);opacity:.72}.upcoming-events .day-event-summary{background:#ffcf5b;filter:saturate(1.08) brightness(1.04)}.day-event-summary:before{content:none;position:absolute;inset:-17px -19px;z-index:-1;background:#ffeaa7;-webkit-clip-path:polygon(50% 0,61% 32%,96% 32%,68% 52%,80% 88%,50% 66%,20% 88%,32% 52%,4% 32%,39% 32%);clip-path:polygon(50% 0,61% 32%,96% 32%,68% 52%,80% 88%,50% 66%,20% 88%,32% 52%,4% 32%,39% 32%)}.event-dot{width:6px;height:6px;flex:0 0 auto;border-radius:50%;background:var(--blue)}.holiday-label{position:static;max-width:58px;border:1px solid rgba(91,71,38,.55);border-radius:999px;background:rgba(255,253,244,.92);color:#bd3b2f;padding:0 4px;font-size:8px;font-weight:900;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fc .fc-day-sat .fc-col-header-cell-cushion,.fc .fc-day-sat .fc-daygrid-day-number,.fc .fc-day-sun .fc-col-header-cell-cushion,.fc .fc-day-sun .fc-daygrid-day-number{color:var(--line)}.fc .fc-day-today{background:transparent}.fc .fc-day-today .day-cell-label,.fc .fc-day-today .day-cell-label>span:first-child,.fc .fc-day-today .fc-daygrid-day-number{color:var(--line);filter:none;opacity:1}.fc .fc-day-today .day-cell-label:before{content:"";position:absolute;inset:1px 6px;z-index:1;background:#ffeaa7;-webkit-clip-path:polygon(50% 0,61% 32%,96% 32%,68% 52%,80% 88%,50% 66%,20% 88%,32% 52%,4% 32%,39% 32%);clip-path:polygon(50% 0,61% 32%,96% 32%,68% 52%,80% 88%,50% 66%,20% 88%,32% 52%,4% 32%,39% 32%)}.fc .fc-day-today .day-meta-stack{z-index:6}.fc .fc-day-today .fc-daygrid-day-events{z-index:2}.fc .fc-daygrid-event.single-day-event{display:none}.fc .fc-daygrid-day-events{position:absolute;top:3px;right:4px;left:4px;z-index:2;min-height:0;margin-top:0;pointer-events:none}.fc .fc-daygrid-event-harness{margin-top:0;pointer-events:auto}.fc .fc-dayGridMonth-view .fc-daygrid-event-harness-abs{top:0!important}.fc .fc-dayGridMonth-view .fc-event.multi-day-event{height:22px;display:flex;align-items:center}.fc .fc-event.multi-day-event{border:2px solid var(--line);border-radius:999px;background:var(--blue);color:var(--line);box-shadow:2px 3px 0 rgba(91,71,38,.14);font-size:11px;font-weight:900;line-height:1.2;padding:1px 7px}.fc .fc-event.multi-day-event:hover{background:var(--accent)}.fc .fc-event.multi-day-event .fc-event-main{color:inherit;min-width:0;width:100%}.multi-day-event-content{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:5px;gap:5px;min-width:0;width:100%}.multi-day-event-time{font-size:10px;line-height:1;text-overflow:clip}.multi-day-event-time,.multi-day-event-title{min-width:0;white-space:nowrap;overflow:hidden}.multi-day-event-title{text-overflow:ellipsis;text-align:center}.fc .fc-dayGridMonth-view .fc-event.multi-day-event{overflow:hidden}.fc .fc-dayGridMonth-view .fc-event.multi-day-event .multi-day-event-time{max-width:34px}.bottom-nav{position:relative;z-index:25;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;max-width:520px;margin:16px auto 0;border:5px solid var(--line);border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(255,253,244,.42) 46%,rgba(255,245,203,.84)),var(--glass-surface-strong);padding:7px;box-shadow:0 10px 28px rgba(91,71,38,.18),inset 0 1px 0 rgba(255,255,255,.82),inset 0 -1px 0 rgba(91,71,38,.08);backdrop-filter:blur(26px) saturate(1.4);-webkit-backdrop-filter:blur(26px) saturate(1.4);animation:glass-nav-in .56s var(--motion-spring) both}.bottom-nav:before{content:"";position:absolute;inset:4px 8px auto;height:34%;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.72),transparent);pointer-events:none}.bottom-nav button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;gap:7px;border-width:0;box-shadow:none;padding:0 10px;background:transparent;isolation:isolate}.bottom-nav img{width:34px;height:34px;flex:0 0 auto;border:2px solid var(--line);border-radius:12px;object-fit:cover}.bottom-nav button.active{background:radial-gradient(circle at 50% 0,rgba(255,255,255,.7),transparent 54%),var(--accent);box-shadow:inset 0 1px 0 rgba(255,255,255,.68),0 8px 20px rgba(91,71,38,.13);animation:glass-tab-pop .42s var(--motion-spring) both}.tool-modal-panel{top:20px;right:20px;bottom:96px;left:20px;z-index:40;width:min(560px,calc(100vw - 40px));max-height:calc(100dvh - 116px);margin:auto;background:radial-gradient(circle at 50% 0,rgba(255,255,255,.68),transparent 34%),var(--glass-surface-strong);box-shadow:var(--glass-shadow);animation:glass-panel-in .52s var(--motion-spring) both}.drawer,.tool-modal-panel{position:fixed;overscroll-behavior:contain;will-change:transform,opacity,filter}.drawer{top:18px;right:18px;bottom:18px;width:min(430px,calc(100vw - 36px));z-index:35;display:flex;flex-direction:column;gap:12px;overflow:auto;border-radius:30px;padding:20px;animation:glass-drawer-in .46s var(--motion-spring) both}.drawer-actions,.drawer-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.drawer-title{display:flex;min-width:0;align-items:center;gap:10px}.drawer-title img{width:58px;height:58px;flex:0 0 auto;border:3px solid var(--line);border-radius:16px;object-fit:cover}.drawer-actions{margin-top:auto;justify-content:flex-end}.drawer-actions .danger-button{margin-right:auto}.icon-button{width:42px;min-height:42px;padding:0;font-size:25px;line-height:1}.modal-backdrop{position:fixed;inset:0;z-index:45;display:grid;place-items:center;padding:18px;background:rgba(91,71,38,.25);backdrop-filter:blur(10px) saturate(1.16);-webkit-backdrop-filter:blur(10px) saturate(1.16);animation:glass-backdrop-in .24s ease both;overscroll-behavior:contain;touch-action:none}.settings-modal{width:min(560px,100%);max-height:calc(100vh - 36px);overflow:auto;overscroll-behavior:contain;touch-action:auto;border-radius:30px;padding:22px;animation:glass-modal-in .5s var(--motion-spring) both;will-change:transform,opacity,filter}.settings-note{margin:12px 0;line-height:1.55}.reminder-email-panel{display:grid;grid-gap:2px;gap:2px;margin-bottom:16px;border:3px solid var(--line);border-radius:18px;background:var(--surface-muted);padding:12px}.reminder-email-panel .field{margin-bottom:10px}.schedule-modal{width:min(720px,100%)}.import-result-modal{width:min(760px,100%)}.import-result-modal .result-stack{margin-top:16px}.import-result-modal .field,.import-result-modal .result-card,.import-result-modal input,.import-result-modal textarea{min-width:0}.import-result-modal input,.import-result-modal textarea{max-width:100%}.empty-state{border:4px dashed rgba(91,71,38,.32);border-radius:20px;padding:26px;color:var(--muted);font-weight:900;text-align:center}.schedule-list{display:grid;grid-gap:12px;gap:12px;margin-top:16px}.schedule-item{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:14px;gap:14px;align-items:center;border:4px solid var(--line);border-radius:22px;background:var(--surface-raised);padding:14px}.schedule-item.expired-item{border-color:rgba(91,71,38,.42);background:#eee9de;color:rgba(91,71,38,.58);filter:grayscale(.72);opacity:.72}.schedule-item.upcoming-item{background:#fffdf7;filter:brightness(1.02)}.schedule-item.today-item{background:var(--accent-soft);filter:brightness(1.02)}.schedule-item h3{margin:0 0 6px;font-size:18px;line-height:1.25}.schedule-item p{margin:3px 0;color:var(--muted);font-size:13px;font-weight:800;line-height:1.45}.schedule-actions{display:flex;gap:8px}@keyframes glass-panel-in{0%{opacity:0;filter:blur(14px) saturate(1.22);transform:translate3d(0,34px,0) scale(.88)}62%{opacity:1;filter:blur(0) saturate(1.1);transform:translate3d(0,-4px,0) scale(1.018)}to{opacity:1;filter:blur(0) saturate(1);transform:translateZ(0) scale(1)}}@keyframes glass-modal-in{0%{opacity:0;filter:blur(10px);transform:translate3d(0,24px,0) scale(.92)}to{opacity:1;filter:blur(0);transform:translateZ(0) scale(1)}}@keyframes glass-drawer-in{0%{opacity:0;filter:blur(8px);transform:translate3d(34px,0,0) scale(.96)}to{opacity:1;filter:blur(0);transform:translateZ(0) scale(1)}}@keyframes glass-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes glass-nav-in{0%{opacity:0;transform:translate3d(0,18px,0) scale(.94)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes glass-tab-pop{0%{transform:scale(.92)}68%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes glass-popover-in{0%{opacity:0;transform:translateX(-50%) translateY(-8px) scale(.94)}to{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}}@keyframes glass-toast-in{0%{opacity:0;transform:translate(-50%,calc(-50% + 14px)) scale(.92)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes aligned-action-frame{0%,24.99%{opacity:1}25%,to{opacity:0}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}@media (max-width:960px){.app-shell{min-height:100dvh;padding:10px 10px 86px}.top-bar{grid-template-columns:1fr;gap:10px;margin-bottom:12px}.top-title{display:flex;flex-wrap:wrap;gap:4px 8px;text-align:center}.user-name{max-width:min(130px,42vw);font-size:18px}.top-bar h1{font-size:32px}.dashboard-strip{grid-template-columns:1fr;gap:8px;margin-bottom:12px}.metric-card{min-height:66px;border-width:3px;padding:11px 13px}.metric-value{min-width:42px;height:42px;border-width:3px;font-size:19px}.calendar-panel{border-width:4px;border-radius:28px;padding:8px 12px 16px}.calendar-panel:after,.calendar-panel:before{display:none}.calendar-theme-hero{grid-template-columns:.85fr 1.15fr;min-height:104px;margin-bottom:6px;border-bottom-width:5px}.calendar-theme-art{height:auto}.calendar-theme-hero span{font-size:clamp(46px,15vw,72px)}.calendar-theme-hero strong{font-size:clamp(18px,5.5vw,28px)}.fc{min-height:0}.fc .fc-toolbar{align-items:stretch;flex-direction:column;gap:2px;margin-bottom:4px}.fc .fc-toolbar-chunk{display:flex;justify-content:center}.fc .fc-toolbar-title{font-size:21px;line-height:1.1}.fc .fc-button-primary{border-width:2px;padding:3px 8px;font-size:12px}.fc .fc-view-harness{max-height:none;overflow:visible;overscroll-behavior:auto}.fc .fc-dayGridMonth-view.fc-view{min-height:0}.fc .fc-dayGridMonth-view .fc-scrollgrid-sync-table tr{height:44px!important}.fc .fc-dayGridMonth-view .fc-daygrid-day-frame{position:relative;height:44px;min-height:44px;padding:2px 0}.fc .fc-dayGridMonth-view .fc-daygrid-day.week-has-duration-event{height:74px!important}.fc .fc-dayGridMonth-view .fc-daygrid-day.week-has-duration-event .fc-daygrid-day-frame{height:74px;min-height:74px}.fc .fc-dayGridMonth-view .fc-daygrid-day.week-has-duration-event .day-cell-label{padding-top:0}.fc .fc-dayGridMonth-view .fc-daygrid-day.week-has-duration-event .day-meta-stack{top:21px}.fc .fc-dayGridMonth-view .fc-daygrid-day.week-has-duration-event .fc-daygrid-day-events{top:13px}.fc .fc-dayGridMonth-view .fc-daygrid-day.week-duration-event-compact .fc-daygrid-day-events{top:7px}.fc .fc-dayGridMonth-view .fc-daygrid-day.week-duration-event-dense .fc-daygrid-day-events{top:18px}.fc .fc-timegrid-slot{height:24px}.fc .fc-timegrid-axis-cushion,.fc .fc-timegrid-slot-label-cushion{font-size:11px}.fc .fc-col-header-cell-cushion{font-size:13px;padding:7px 2px}.fc .fc-daygrid-day-frame{min-height:26px}.fc .fc-daygrid-day-events{top:1px;right:2px;left:2px;min-height:0;margin-top:0}.fc .fc-dayGridMonth-view .fc-event.multi-day-event{height:17px}.fc .fc-event.multi-day-event{border-width:1px;font-size:9px;padding:0 4px}.fc .fc-dayGridMonth-view .fc-event.multi-day-event .multi-day-event-time{max-width:28px}.multi-day-event-content{gap:3px}.multi-day-event-time{font-size:8px}.fc .fc-daygrid-day-number{font-size:18px}.day-cell-label{height:100%;min-height:0;border-radius:12px}.day-cell-label.has-events,.day-cell-label.holiday-day{min-height:0}.day-meta-stack{top:21px;left:1px;right:1px;min-height:0;gap:1px;margin-top:0;flex-direction:row}.day-event-summary{min-width:18px;max-width:30px;border-width:1px;padding:0 4px;font-size:9px}.holiday-label{max-width:44px;padding:0 3px;font-size:7px}.event-dot{width:5px;height:5px}.bottom-nav{position:fixed;left:10px;right:10px;bottom:10px;max-width:none;margin:0;border-width:4px;background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,253,244,.58) 48%,rgba(255,241,188,.92)),var(--glass-surface-strong);box-shadow:0 0 0 max(10px,env(safe-area-inset-bottom)) rgba(255,248,223,.62),0 10px 28px rgba(91,71,38,.2),inset 0 1px 0 rgba(255,255,255,.84)}.bottom-nav button{min-height:44px;gap:5px;padding:0 6px;font-size:13px}.bottom-nav img{width:30px;height:30px;border-radius:10px}.tool-modal-panel{top:10px;right:10px;bottom:88px;left:10px;width:auto;max-height:calc(100dvh - 98px);margin:0;overflow:auto}.side-panel{padding-top:154px}.tool-panel-art{width:124px;height:124px}}@media (max-width:640px){.button-row,.schedule-item,.time-grid{grid-template-columns:1fr}.schedule-actions{justify-content:flex-end}.drawer,.settings-modal{inset:10px;width:auto;max-width:calc(100vw - 20px);max-height:none;border-width:4px;border-radius:26px;padding:14px}.drawer .field,.drawer .time-grid{min-width:0}.drawer input,.drawer select,.drawer textarea{min-width:0;max-width:100%}.modal-backdrop{align-items:start;overflow:auto;padding:10px}.import-result-modal{width:min(100%,540px);max-height:none;padding:14px}.import-result-modal .drawer-header{align-items:flex-start;gap:8px}.import-result-modal .drawer-title{flex:1 1 auto}.import-result-modal .drawer-title h2{font-size:clamp(28px,9vw,42px);line-height:1.05}.import-result-modal .result-card{border-width:3px;border-radius:18px;padding:12px;overflow:hidden}.import-result-modal .time-grid{grid-template-columns:1fr}.import-result-modal .drawer-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin-top:14px}.import-result-modal .drawer-actions button{min-width:0;padding:0 8px;white-space:nowrap}.auth-card{padding:138px 20px 22px}.auth-art{width:124px;height:124px}.drawer-title img{width:48px;height:48px;border-radius:14px}input,select,textarea{border-width:3px;font-size:16px}}