/* Isolated calendar design tokens; home and other screens are unchanged. */
#page-calendar{--cp-line:#e4e7ed;--cp-accent:#6453a4;--cp-soft:#f7f8fc;--cp-surface:var(--m-surface);--cp-muted:var(--m-secondary)}
#page-calendar .module-head{align-items:center;gap:12px;margin-bottom:20px}#page-calendar .module-head h1{font-size:25px}#page-calendar .module-icon{background:#ece8f8;color:var(--cp-accent);border-radius:16px}#page-calendar .module-head p{max-width:440px;line-height:1.8}#page-calendar .calendar-actions .btn{font-size:14px;padding:10px 14px;border-radius:13px;background:var(--cp-accent);color:#fff}#page-calendar .calendar-actions .purple{background:var(--cp-surface);color:var(--cp-accent);border:1px solid var(--cp-line)}
.cp-shell{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;align-items:start}.cp-main{min-width:0;padding:18px!important;border-radius:20px!important;box-shadow:none!important}.cp-sidebar{min-width:0;padding-top:10px}.cp-project-panel>summary{display:flex;gap:10px;align-items:center;cursor:pointer;font-weight:700;min-height:44px;list-style:none}.cp-project-panel>summary::after{content:'⌄';margin-inline-start:auto}.cp-project-panel>summary i{font-size:23px;color:var(--cp-accent)}
.cp-button,.cp-project-all,.cp-add-project{font:inherit;font-size:14px;min-height:44px;border:1px solid var(--cp-line);background:var(--cp-surface);color:var(--m-text);border-radius:12px;padding:8px 12px;cursor:pointer}.cp-add-project{width:100%;margin:12px 0;color:var(--cp-accent);display:flex;align-items:center;justify-content:center;gap:8px}.cp-project-list{display:grid;gap:8px}.cp-project-all{width:100%;text-align:start;border-color:transparent;background:transparent}.cp-project-all.selected{background:color-mix(in srgb,var(--cp-accent) 9%,var(--cp-surface));color:var(--cp-accent)}.cp-project{padding:9px 11px;border:1px solid transparent;border-radius:13px;background:var(--cp-surface);min-width:0}.cp-project.selected{border-color:var(--project);background:color-mix(in srgb,var(--project) 6%,var(--cp-surface))}.cp-project-top{display:flex;align-items:center;gap:6px}.cp-project-top>button:first-child{flex:1;min-width:0;display:flex;align-items:center;gap:8px;min-height:44px;text-align:start;background:none;border:0;color:var(--m-text);font:inherit;font-size:14px;padding:0}.cp-project-top strong{overflow-wrap:anywhere}.cp-dot{width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:var(--project)}.cp-edit{width:44px;height:44px;flex:0 0 44px;background:none;border:0;color:var(--cp-muted);font-size:19px}.cp-meter{height:4px;border-radius:5px;background:var(--cp-line);overflow:hidden}.cp-meter i{display:block;background:var(--project);height:100%}.cp-project small{display:block;font-size:11px;color:var(--cp-muted);margin-top:6px}.cp-note,.cp-grid-help{color:var(--cp-muted);font-size:12px;line-height:1.8}.cp-link{font:inherit;font-size:12px;border:0;background:transparent;color:var(--cp-accent);padding:10px 4px;min-height:44px}.cp-datebar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:15px}.cp-date-controls{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.cp-arrow{width:44px;padding:8px;font-size:18px}.cp-date-label{border:0;background:none;color:var(--m-text);font:inherit;font-size:18px;font-weight:700;min-height:44px;padding:8px}.cp-zone{font-size:10px;color:var(--cp-muted);white-space:nowrap}
#page-calendar .calendar-toolbar{gap:9px}#page-calendar .cal-view-switch{border:0;background:var(--cp-soft);width:100%;padding:4px}#page-calendar .cal-view-switch button{font-size:13px;flex:1;min-width:52px;min-height:44px;padding:7px}#page-calendar .cal-view-switch button.on{background:var(--cp-surface);color:var(--cp-accent);box-shadow:0 2px 8px #2626460c}#page-calendar .calendar-search{min-width:0;flex:1 1 180px;background:var(--cp-soft);border-color:var(--cp-line)}#page-calendar #notifyCalendarBtn{font-size:12px;min-height:44px;border-radius:12px}#page-calendar .cal-project-filter{font-size:13px;min-height:44px;border-color:var(--cp-line);margin:0;min-width:0;max-width:100%;width:100%}
.cp-filters{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin:12px 0 18px}.cp-filters[hidden]{display:none}.cp-filters label{margin:0;flex:1;min-width:105px;font-size:11px;color:var(--cp-muted)}.cp-filters select{font:inherit;font-size:12px;min-height:44px;border:1px solid var(--cp-line);border-radius:11px;background:var(--cp-surface);color:var(--m-text);width:100%}.cp-results{display:grid;gap:8px}.cp-search-result{display:grid;gap:5px;padding:14px;text-align:start;min-height:62px;border:1px solid var(--cp-line);border-radius:12px;background:var(--cp-surface);color:var(--m-text);font:inherit;font-size:14px}.cp-search-result small{color:var(--cp-muted);font-size:12px}
#page-calendar .time-calendar{border:1px solid var(--cp-line);border-radius:15px;background:var(--cp-surface)}#page-calendar .time-grid-scroll{max-height:72vh;scroll-behavior:auto;overscroll-behavior:contain}#page-calendar .time-grid{grid-template-columns:48px repeat(var(--days),minmax(92px,1fr));min-width:calc(48px + var(--days)*92px)}#page-calendar .time-day-head{border-color:var(--cp-line);font-size:11px;padding:8px 3px;background:var(--cp-surface);line-height:1.5}#page-calendar .time-day-head span,#page-calendar .time-day-head small{display:block;font-size:10px}.cp-day-number{display:block;margin:4px auto;border:0;width:36px;height:36px;min-height:36px;background:transparent;border-radius:50%;color:var(--m-text);font:inherit;font-size:20px;font-weight:600}#page-calendar .time-day-head.today .cp-day-number{background:var(--cp-accent);color:#fff}#page-calendar .time-corner{display:grid;place-items:center;font-size:9px;background:var(--cp-surface);border-color:var(--cp-line)}#page-calendar .time-label{font-size:10px;padding:3px 5px;border-color:var(--cp-line);background:var(--cp-surface)}#page-calendar .time-slot{border-color:var(--cp-line);background:linear-gradient(to bottom,transparent 49%,color-mix(in srgb,var(--cp-line) 55%,transparent) 50%,transparent 51%)}#page-calendar .time-slot:hover{background-color:transparent}#page-calendar .time-slot.drag-over{background-color:color-mix(in srgb,var(--cp-accent) 5%,var(--cp-surface))}
#page-calendar .cp-event{border:0;border-inline-start:3px solid var(--tc);background:color-mix(in srgb,var(--tc) 19%,var(--cp-surface));box-shadow:none;border-radius:6px;padding:3px 5px;font-size:11px;line-height:1.45;color:var(--m-text);touch-action:none}#page-calendar .cp-event strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}#page-calendar .cp-event small{font-size:9px;line-height:1.6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--m-text);opacity:.8}#page-calendar .cp-done{opacity:.65}#page-calendar .cp-done strong{text-decoration:line-through}#page-calendar .cp-cancelled{background:var(--cp-soft);border-style:dashed;opacity:.55}#page-calendar .cp-cancelled strong{text-decoration:line-through}.cp-all-label,.cp-all-day{padding:5px 3px;border-bottom:1px solid var(--cp-line);min-height:32px;background:var(--cp-surface)}.cp-all-label{font-size:8px;color:var(--cp-muted);text-align:center}.cp-all-day{border-left:1px solid var(--cp-line);display:flex;flex-direction:column;gap:3px;min-width:0}.cp-all-event{display:block;border:0;border-radius:5px;padding:5px;background:color-mix(in srgb,var(--tc,#8270be) 15%,var(--cp-surface));color:var(--m-text);font:inherit;font-size:10px;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.cp-now{position:absolute;left:0;right:0;height:2px;background:#df6159;z-index:8;pointer-events:none}.cp-now:before{content:'';position:absolute;left:-3px;top:-3px;width:8px;height:8px;background:inherit;border-radius:50%}#page-calendar .workspace-cal-head{display:none}.cp-agenda section{border-bottom:1px solid var(--cp-line);padding:10px 0}.cp-agenda h3{font-size:14px;color:var(--cp-accent)}
.cp-editor{position:relative}.cp-editor h2{padding-inline-end:40px;font-size:21px}.cp-editor-close{position:absolute;top:16px;left:16px;width:44px;height:44px;border:1px solid var(--m-border);border-radius:13px;background:var(--m-soft);color:var(--m-text);font-size:20px}.cp-editor [hidden]{display:none!important}.cp-advanced{padding:12px 0;margin:12px 0;border-block:1px solid var(--m-border)}.cp-advanced>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-size:14px;color:var(--m-secondary)}.cp-advanced>summary:after{content:'⌄';margin-inline-start:auto}.cp-editor .color-palette button{width:44px;height:44px}.cp-project-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:16px 0}.cp-project-stats>div{padding:12px 5px;background:var(--m-soft);border-radius:12px;text-align:center}.cp-project-stats strong{display:block;font-size:21px}.cp-project-stats small{display:block;font-size:10px;color:var(--m-secondary)}
:root[data-theme=dark] #page-calendar{--cp-line:#3b4051;--cp-accent:#b9a8f2;--cp-soft:#282c3b}:root[data-theme=dark] #page-calendar .module-icon{background:#363047}:root[data-theme=dark] #page-calendar .calendar-actions .btn:not(.purple){background:#9581d3;color:#151520}:root[data-theme=dark] #page-calendar .time-day-head.today .cp-day-number{color:#171521}
@media(max-width:900px){.cp-shell{grid-template-columns:1fr;gap:12px}.cp-sidebar{padding:0}.cp-project-panel{padding:10px 14px;border:1px solid var(--cp-line);border-radius:15px;background:var(--cp-surface)}.cp-project-list{grid-template-columns:repeat(2,minmax(0,1fr))}.cp-project-all{grid-column:1/-1}.cp-add-project{width:auto}.cp-main{padding:12px!important}#page-calendar .module-head{align-items:start}#page-calendar .calendar-actions{grid-column:1/-1;width:100%}#page-calendar .calendar-actions .btn{flex:1}.cp-datebar{flex-wrap:wrap}.cp-zone{width:100%;padding-inline:4px}.cp-date-label{font-size:16px}#page-calendar .time-grid{grid-template-columns:44px repeat(var(--days),minmax(110px,1fr));min-width:calc(44px + var(--days)*110px)}#page-calendar .time-calendar.day-mode .time-grid{grid-template-columns:44px minmax(0,1fr);min-width:100%}#page-calendar .cal-view-switch{overflow-x:auto}#page-calendar .cal-view-switch button{flex:1 0 54px}#page-calendar .time-grid-scroll{max-height:64dvh}.cp-filters{gap:6px}.cp-filters label{min-width:95px}.cp-grid-help{font-size:10px}}
@media(max-width:360px){.cp-project-list{grid-template-columns:1fr}.cp-date-label{width:100%;text-align:start}.cp-project-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cp-move-notice{position:fixed;bottom:110px;left:50%;transform:translateX(-50%);z-index:5000;padding:12px 16px;max-width:92vw;width:max-content;background:#292d3d;color:#fff;border-radius:14px;font-size:13px;box-shadow:0 6px 24px #0003;display:flex;gap:16px;align-items:center}.cp-move-notice[hidden]{display:none}.cp-move-notice button{background:none;border:0;color:#cfc2ff;min-height:44px;font:inherit;font-weight:700}
.cp-datebar[hidden]{display:none}
.cp-tools{margin:0 0 12px;border:1px solid var(--cp-line);border-radius:12px;background:var(--cp-surface)}.cp-tools>summary{display:flex;align-items:center;gap:9px;min-height:44px;padding:8px 12px;cursor:pointer;color:var(--cp-muted);font-size:12px;list-style:none}.cp-tools>summary:after{content:'⌄';margin-inline-start:auto}.cp-tools>summary i{font-size:19px}.cp-tools>summary span{color:var(--cp-accent);font-weight:700}.cp-tool-fields{display:flex;flex-wrap:wrap;gap:8px;padding:12px}.cp-tool-fields .cp-filters{width:100%;margin:0}.cp-tool-fields .calendar-search{flex-basis:100%!important}
@media(max-width:700px){#page-calendar>.page-route{display:none}#page-calendar .module-head{margin-bottom:14px}#page-calendar .module-head p{font-size:12px}#page-calendar .cp-datebar{margin-bottom:9px}.cp-tools{margin-bottom:10px}}
