.cal-scope{display:contents}.cal-scope .cal-pdf-export{display:inline-block;position:relative}.cal-scope .cal-pdf-menu{z-index:50;background:var(--surface,#fff);border:1px solid var(--border,#ddd);border-radius:8px;min-width:160px;padding:5px;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 6px 24px #00000029}.cal-scope .cal-pdf-menu-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text3,#6b6b6b);padding:4px 8px 6px;font-size:.7rem}.cal-scope .cal-pdf-menu-item{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:5px;padding:7px 8px;display:block}.cal-scope .cal-pdf-menu-item:hover{background:var(--hover,#0000000f)}.cal-scope .pdfed-daterange{align-items:center;gap:6px;display:flex}.cal-scope .pdfed-daterange input{flex:1;min-width:0}.cal-scope .pdfed-mode-toggle{border:1px solid var(--border,#ddd);border-radius:6px;display:inline-flex;overflow:hidden}.cal-scope .pdfed-mode-toggle button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:0;padding:4px 12px}.cal-scope .pdfed-mode-toggle button.active{background:var(--gold,#c9a84c);color:#1e1e1e}.cal-scope .calendar-tabbar{border-bottom:1px solid var(--border);background:#fff;align-items:center;gap:2px;min-height:39px;padding:0 16px;display:flex}.cal-scope .calendar-tabbar .tab-btn{color:var(--text3);cursor:pointer;font-size:12px;font-family:var(--font);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 14px}.cal-scope .calendar-tabbar .tab-btn:hover{color:var(--text2)}.cal-scope .calendar-tabbar .tab-btn.active{color:var(--olive);border-bottom-color:var(--olive);font-weight:600}.cal-scope .calendar-tab-actions{align-items:center;gap:4px;min-width:0;margin-left:auto;display:inline-flex}.cal-scope .calendar-tab-actions .btn{margin:4px 0;padding:3px 10px;font-size:11px}body.visit-cal-mode .cal-scope .calendar-tabbar{display:none}.cal-scope .calendar-wrap{padding:16px 20px}.cal-scope .cal-view-switch{background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius-sm);gap:2px;padding:2px;display:flex}.cal-scope .cal-view-switch .btn{border:none;padding:4px 10px;font-size:12px}.cal-scope .cal-view-dd{display:none;position:relative}.cal-scope .cal-view-dd-trigger{box-sizing:border-box;border:1px solid var(--border2);border-radius:var(--radius-sm);min-height:40px;color:var(--text);font:600 13px/1 var(--font);cursor:pointer;white-space:nowrap;background:#fff;justify-content:space-between;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.cal-scope .cal-view-dd-caret{flex:none;width:14px;height:14px;transition:transform .18s}.cal-scope .cal-view-dd.open .cal-view-dd-caret{transform:rotate(180deg)}.cal-scope .cal-view-dd-menu{z-index:30;border:1px solid var(--border2);border-radius:var(--radius-sm);opacity:0;visibility:hidden;background:#fff;flex-direction:column;gap:2px;min-width:150px;padding:4px;transition:opacity .16s,transform .16s,visibility .16s;display:flex;position:absolute;top:calc(100% + 6px);left:0;transform:translateY(-4px);box-shadow:0 6px 20px #00000024}.cal-scope .cal-view-dd.open .cal-view-dd-menu{opacity:1;visibility:visible;transform:translateY(0)}.cal-scope .cal-view-dd-item{min-height:40px;color:var(--text);font:600 13px/1 var(--font);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:8px 12px}.cal-scope .cal-view-dd-item:hover{background:var(--bg3)}.cal-scope .cal-view-dd-item.active{background:var(--olive);color:#fff}@media (prefers-reduced-motion:reduce){.cal-scope .cal-view-dd-caret,.cal-scope .cal-view-dd-menu,.cal-scope .bychar-picker-caret{transition:none}}.cal-scope .cal-panel-btn{justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.cal-scope .cal-panel-btn svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.cal-scope .cal-filter-btn{position:relative}.cal-scope .cal-filter-menu-wrap{align-items:center;display:inline-flex;position:relative}.cal-scope .cal-filter-badge{min-width:14px;height:14px;color:var(--bg);background:currentColor;border-radius:7px;justify-content:center;align-items:center;padding:0 4px;font-size:9px;font-weight:700;line-height:1;display:inline-flex}.cal-scope .modal-backdrop{background:0 0;border:0;position:absolute;inset:0}.cal-scope .cal-filter-menu{z-index:200;border:1px solid var(--border2);border-radius:var(--radius);background:#fff;flex-direction:column;width:280px;max-height:min(640px,100vh - 130px);display:flex;position:absolute;top:calc(100% + 4px);right:0;overflow:hidden;box-shadow:0 4px 16px #0000001f}.cal-scope .cal-filter-mode{justify-content:space-between;align-items:center;gap:8px;padding:8px 12px 4px;transition:opacity .15s;display:flex}.cal-scope .cal-filter-mode.dimmed{opacity:.55}.cal-scope .cal-filter-mode>span{color:var(--text3);text-transform:uppercase;letter-spacing:.07em;font-size:10px}.cal-scope .cal-filter-mode>div{border:1px solid var(--border);background:var(--bg3);border-radius:5px;gap:2px;width:120px;padding:2px;display:flex}.cal-scope .cal-filter-mode button{color:var(--text2);cursor:pointer;font-family:var(--font);background:0 0;border:0;border-radius:4px;flex:1;padding:3px 0;font-size:11px;font-weight:600}.cal-scope .cal-filter-mode button.active{background:var(--acc);color:#fff}.cal-scope .cal-filter-hint{color:var(--text3);margin:0;padding:0 12px 8px;font-size:10px;line-height:1.35}.cal-scope .cal-filter-scroll{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:#fff;overflow-y:auto}.cal-scope .cal-filter-section+.cal-filter-section{border-top:1px solid var(--border)}.cal-scope .cal-filter-section-head{border:0;border-top:1px solid var(--border);background:var(--bg3);width:100%;color:var(--text2);cursor:pointer;font-family:var(--font);text-transform:uppercase;letter-spacing:.07em;text-align:left;align-items:center;gap:7px;padding:7px 12px;font-size:10px;display:flex}.cal-scope .cal-filter-section:first-child .cal-filter-section-head{border-top:0}.cal-scope .cal-filter-section-head svg{flex-shrink:0;width:10px;height:10px;transition:transform .15s}.cal-scope .cal-filter-section-head svg.open{transform:rotate(90deg)}.cal-scope .cal-filter-section-head span{flex:1}.cal-scope .cal-filter-section-head b{background:var(--acc);color:#fff;letter-spacing:0;border-radius:8px;margin-left:auto;padding:0 6px;font-size:9px;font-weight:700}.cal-scope .cal-filter-list{padding:4px 0}.cal-scope .cal-filter-row{box-sizing:border-box;width:100%;color:var(--text);cursor:pointer;align-items:center;gap:10px;padding:5px 12px;font-size:12px;display:flex}.cal-scope .cal-filter-row input{flex-shrink:0}.cal-scope .cal-filter-row span:last-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.cal-scope .cal-filter-dept{color:var(--text2);font-weight:600}.cal-scope .cal-filter-member{padding-left:28px}.cal-scope .type-dot{border-radius:2px;flex-shrink:0;width:9px;height:9px}.cal-scope .cal-filter-search{box-sizing:border-box;border:1px solid var(--border);width:calc(100% - 24px);color:var(--text);font-family:var(--font);background:#fff;border-radius:5px;outline:none;margin:6px 12px 4px;padding:5px 8px;font-size:11px}.cal-scope .cal-filter-empty{color:var(--text3);padding:6px 12px;font-size:11px}.cal-scope .cal-filter-footer{text-align:right;padding:7px 12px}.cal-scope .cal-filter-footer .btn{padding:3px 12px;font-size:11px}@media (width<=760px){.cal-scope .calendar-tabbar{z-index:14;background:var(--bg2);min-height:0;box-shadow:0 1px 0 var(--border);grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:6px;padding:8px;display:grid;position:sticky;top:0}.cal-scope .calendar-tabbar .tab-btn{border-radius:var(--radius-sm);background:var(--bg3);text-overflow:ellipsis;border:1px solid #0000;min-width:0;min-height:38px;padding:8px 9px;font-size:11px;overflow:hidden}.cal-scope .calendar-tabbar .tab-btn.active{border-color:var(--border2);border-bottom-color:var(--border2);box-shadow:inset 0 0 0 1px var(--border);background:#fff}.cal-scope .calendar-tab-actions{flex-wrap:nowrap;grid-column:1/-1;gap:6px;width:100%;margin-left:0;display:flex}.cal-scope .calendar-tab-actions .cal-filter-menu-wrap,.cal-scope .calendar-tab-actions .cal-pdf-export{display:contents}.cal-scope .calendar-tab-actions .btn{flex:1 1 0;justify-content:center;min-width:0;min-height:40px;margin:0;padding:0;position:relative}.cal-scope .calendar-tab-actions .btn span:not(.cal-filter-badge){display:none}.cal-scope .calendar-tab-actions .btn svg{width:18px;height:18px}.cal-scope .calendar-tab-actions .cal-filter-badge{position:absolute;top:3px;right:6px}.cal-scope .cal-filter-menu-wrap,.cal-scope .cal-pdf-export{position:static}.cal-scope .cal-filter-menu,.cal-scope .cal-pdf-menu{left:12px;right:12px;top:calc(70px + env(safe-area-inset-top));z-index:220;width:auto;max-height:min(72vh,620px);position:fixed}.cal-scope .cal-filter-row{min-height:38px;padding:8px 12px}.cal-scope .cal-filter-search{min-height:38px;font-size:13px}.cal-scope .calendar-wrap{gap:10px;height:auto;min-height:0;padding:0}.cal-scope .cal-main{border-left:0;border-right:0;border-radius:0}.cal-scope .cal-header{z-index:8;background:#fafafa;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 8px;display:flex;position:sticky;top:0}.cal-scope .cal-view-options{flex:0 auto;order:1;align-items:stretch;gap:6px;display:flex}.cal-scope .cal-view-switch{display:none}.cal-scope .cal-view-dd{display:inline-flex}.cal-scope .cal-weekend-toggle{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-sm);white-space:nowrap;background:#fff;align-items:center;gap:6px;min-height:40px;padding:0 10px;font-size:12px;display:inline-flex}.cal-scope .cal-action-group{flex:auto;order:2;justify-content:flex-end;gap:6px;min-width:0;margin-left:0;display:flex}.cal-scope .cal-action-group .btn-gold{flex:auto;justify-content:center;min-height:40px;padding:8px 10px}.cal-scope .cal-panel-btn{display:none}.cal-scope .cal-period-group{flex:100%;order:3;grid-template-columns:40px minmax(0,1fr) 40px auto;gap:6px;width:100%;display:grid}.cal-scope .cal-title-block{justify-content:center;padding:0 2px}.cal-scope .cal-header h3{text-align:center;font-size:13px}.cal-scope .cal-nav-btn,.cal-scope .cal-header .btn{min-height:40px}.cal-scope .cal-nav-btn{width:40px;padding:0}.cal-scope .cal-context-bar{padding:8px}.cal-scope .cal-selection-tools{white-space:normal;flex-wrap:wrap;width:100%}.cal-scope .cal-selection-tools .btn{flex:120px;justify-content:center;min-height:36px}.cal-scope .cal-grid-scroll{overflow:hidden auto}.cal-scope .cal-grid{grid-auto-rows:minmax(64px,max-content);min-width:0}.cal-scope .cal-day{min-height:64px;padding:3px;overflow:hidden}.cal-scope .cal-day-name{padding:0 2px;font-size:8px}.cal-scope .day-num-row{min-height:14px;margin-bottom:2px}.cal-scope .day-num{font-size:10px}.cal-scope .month-event{padding:1px 3px;font-size:9px;line-height:1.15}.cal-scope .month-birthday-event{display:none}.cal-scope .cal-conflict-badge.month{min-width:15px;height:15px;padding:0 3px;font-size:8px;top:2px;right:2px}.cal-scope .week-scroll-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.cal-scope .week-scroll-wrapper.day-mode[style]{grid-template-columns:42px minmax(0,1fr)!important}.cal-scope .week-time-slot,.cal-scope .week-hour-cell{height:46px}.cal-scope .week-time-slot{padding:4px 3px;font-size:9px}.cal-scope .week-day-header{padding:6px 3px}.cal-scope .week-day-header .wdh-name{letter-spacing:0;font-size:8px}.cal-scope .week-day-header .wdh-num{font-size:15px}.cal-scope .week-event{padding:2px 3px;font-size:9.5px;line-height:1.2;left:1px;right:1px}.cal-scope .week-allday-label,.cal-scope .week-allday-cell{min-height:38px;padding:3px}.cal-scope .cal-sidebar{border-top:0;max-height:none;padding:0 8px 8px;overflow:visible}.cal-scope .event-list-panel{border-radius:var(--radius)}.cal-scope .event-list-panel h4{padding:10px 12px}.cal-scope .event-item{min-height:44px;padding:10px 12px}}@media (width<=420px){.cal-scope .calendar-tabbar{grid-template-columns:repeat(3,minmax(0,1fr))}.cal-scope .cal-filter-menu,.cal-scope .cal-pdf-menu{top:calc(58px + env(safe-area-inset-top))}.cal-scope .cal-grid{grid-auto-rows:minmax(58px,max-content)}.cal-scope .cal-day{min-height:58px}.cal-scope .month-event{max-width:100%}}.cal-scope .event-modal{flex-direction:column;width:min(700px,100vw - 32px);max-height:min(760px,100vh - 64px);padding:0;display:flex;position:relative;overflow:hidden}.cal-scope .event-modal-head{border-bottom:1px solid var(--border);background:#fff;flex:none;padding:20px 24px 14px}.cal-scope .event-modal-head h3{margin:0;font-size:15px;font-weight:700;line-height:1.25}.cal-scope .event-modal-body{background:#fff;flex-direction:column;gap:18px;min-height:0;padding:18px 24px 20px;display:flex;overflow-y:auto}.cal-scope .event-modal-section{flex-direction:column;gap:12px;display:flex}.cal-scope .event-modal-section+.event-modal-section{border-top:1px solid var(--border);padding-top:18px}.cal-scope .event-modal-section h4{color:var(--text2);margin:0;font-size:12px;font-weight:700;line-height:1.25}.cal-scope .event-modal-section .form-group{margin-bottom:0}.cal-scope .event-modal .event-title-field{margin-bottom:2px}.cal-scope .event-modal .event-basics-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.cal-scope .event-modal .event-type-row{min-width:0}.cal-scope .event-modal .event-type-row .btn{flex:none}.cal-scope .event-modal .modal-footer{border-top:1px solid var(--border);background:#fff;flex:none;margin:0;padding:12px 24px;position:static}.cal-scope .event-modal .modal-footer .btn-danger{margin-right:auto}@media (width<=720px){.cal-scope .event-modal{width:calc(100vw - 24px);max-height:calc(100vh - 32px)}.cal-scope .event-modal-head,.cal-scope .event-modal-body,.cal-scope .event-modal .modal-footer{padding-left:16px;padding-right:16px}.cal-scope .event-modal .event-basics-grid{grid-template-columns:1fr 1fr}}@media (width<=520px){.cal-scope .event-modal .event-basics-grid,.cal-scope .inline-location-form>div:first-child{grid-template-columns:1fr}.cal-scope .event-modal .modal-footer{flex-wrap:wrap}}.cal-scope .event-config-modal{width:min(560px,100vw - 32px);max-height:min(760px,100vh - 64px);position:relative;overflow-y:auto}.cal-scope .event-config-overlay{z-index:220}.cal-scope .event-config-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;display:flex}.cal-scope .event-config-head h3{margin:0}.cal-scope .event-config-help{color:var(--text3);margin:0 0 8px;font-size:12px;line-height:1.35}.cal-scope .event-config-team-help{border:1px solid var(--border);background:var(--bg3);color:var(--text2);border-radius:7px;align-items:flex-start;gap:8px;margin-bottom:14px;padding:8px 10px;display:flex}.cal-scope .event-config-team-help svg,.cal-scope .event-config-team-btn svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:13px;height:13px}.cal-scope .event-config-team-help p{margin:0;font-size:11.5px;line-height:1.4}.cal-scope .event-config-list{max-height:46vh;overflow-y:auto}.cal-scope .event-config-row{border-bottom:1px solid var(--border);padding:7px 0}.cal-scope .event-config-row-main{align-items:center;gap:10px;display:flex}.cal-scope .event-config-row-main input[type=color],.cal-scope .event-config-new input[type=color]{border:1px solid var(--border2);cursor:pointer;background:0 0;border-radius:5px;flex-shrink:0;width:32px;height:28px;padding:0}.cal-scope .event-config-preview{white-space:nowrap;text-overflow:ellipsis;border-radius:11px;max-width:170px;padding:2px 12px;font-size:12px;font-weight:600;overflow:hidden}.cal-scope .event-config-team-btn{border:1px solid var(--border);background:var(--bg3);color:var(--text2);font-family:var(--font);cursor:pointer;border-radius:6px;align-items:center;gap:4px;margin-left:auto;padding:3px 8px;font-size:11px;display:inline-flex}.cal-scope .event-config-team-btn.active{background:var(--acc);border-color:var(--acc);color:#fff}.cal-scope .event-config-link-btn,.cal-scope .event-config-delete{cursor:pointer;font-family:var(--font);color:var(--text3);background:0 0;border:none;padding:1px 2px;font-size:11px}.cal-scope .event-config-delete{color:var(--red);font-weight:700}.cal-scope .event-config-team-panel{border:1px solid var(--border);background:var(--bg3);border-radius:7px;margin:6px 0 2px;padding:8px 10px}.cal-scope .event-config-team-title{color:var(--text3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px;font-size:10px;font-weight:700}.cal-scope .event-config-team-row{width:100%;color:var(--text);cursor:pointer;align-items:center;gap:9px;padding:3px 0;font-size:12px;display:flex}.cal-scope .event-config-team-row input{flex-shrink:0;width:auto}.cal-scope .event-config-team-row.dept{color:var(--text2);font-weight:600}.cal-scope .event-config-team-row.member{padding-left:24px}.cal-scope .event-config-team-row.dimmed{opacity:.65;cursor:default}.cal-scope .event-config-team-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.cal-scope .event-config-team-row small{color:var(--text3);font-size:10px;font-weight:400}.cal-scope .event-config-new{border-top:1px solid var(--border);margin-top:16px;padding-top:14px}.cal-scope .event-config-new label{color:var(--text3);margin-bottom:6px;font-size:11px;display:block}.cal-scope .event-config-new>div{align-items:center;gap:8px;display:flex}.cal-scope .event-config-new input[type=text]{border:1px solid var(--border2);background:var(--bg2);min-width:0;color:var(--text);font-family:var(--font);border-radius:5px;outline:none;flex:1;padding:6px 10px;font-size:13px}.cal-scope .location-field{align-items:flex-start;gap:6px;display:flex}.cal-scope .location-address{color:var(--text3);align-items:center;gap:6px;min-height:14px;margin-top:3px;font-size:11px;display:flex}.cal-scope .location-address button{cursor:pointer;color:var(--text3);background:0 0;border:none;align-items:center;padding:0;line-height:1;display:inline-flex}.cal-scope .location-address button.danger-icon{color:var(--red)}.cal-scope .location-address svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:11px;height:11px}.cal-scope .loc-add-btn{white-space:nowrap;flex-shrink:0;padding:4px 8px;font-size:11px}.cal-scope .inline-location-form{background:var(--bg3);border:1px solid var(--border);border-radius:6px;margin-top:8px;padding:10px 12px}.cal-scope .inline-location-form>div:first-child{grid-template-columns:1fr 2fr;gap:8px;margin-bottom:8px;display:grid}.cal-scope .inline-location-form input,.cal-scope .event-search{border:1px solid var(--border2);font-size:12px;font-family:var(--font);color:var(--text);background:#fff;border-radius:4px;outline:none;padding:5px 8px}.cal-scope .inline-location-actions{justify-content:flex-end;gap:6px;display:flex}.cal-scope .inline-location-actions .btn{padding:3px 10px;font-size:11px}.cal-scope .event-inline-action{justify-content:flex-end;margin-top:4px;display:flex}.cal-scope .event-inline-action .btn{padding:3px 8px;font-size:11px}.cal-scope .event-type-row{align-items:center;gap:8px;display:flex}.cal-scope .event-type-row select{flex:1}.cal-scope .event-type-row .btn{white-space:nowrap;padding:5px 10px;font-size:11px}.cal-scope .event-search{background:var(--bg3);border-color:var(--border);box-sizing:border-box;border-bottom:none;border-radius:4px 4px 0 0;width:100%}.cal-scope .event-check-list{border:1px solid var(--border2);border-radius:0 0 var(--radius-sm) var(--radius-sm);background:#fafafa;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:4px 10px;max-height:130px;padding:7px 10px;display:grid;overflow-y:auto}.cal-scope .actor-check-list{grid-template-columns:1fr;gap:2px;max-height:190px}.cal-scope .event-group-label{color:var(--text3);text-transform:uppercase;letter-spacing:.05em;margin-bottom:5px;font-size:11px;font-weight:600;display:block}.cal-scope .event-check-list label{min-width:0;color:var(--text2);text-transform:none;letter-spacing:0;align-items:flex-start;gap:7px;margin:0;font-size:12px;font-weight:400;display:flex}.cal-scope .event-check-list label input{flex:none;width:auto;margin-top:2px}.cal-scope .event-check-list span{text-overflow:ellipsis;overflow:hidden}.cal-scope .event-person-label{min-width:0;color:var(--text);text-overflow:clip;white-space:normal;flex:auto;font-size:12px;font-weight:500;line-height:1.3;display:block;overflow:visible}.cal-scope .cal-day{text-align:left;width:100%;font:inherit;color:inherit;appearance:none;flex-direction:column;justify-content:flex-start;align-items:flex-start;display:flex}.cal-scope .cal-day .day-num{width:max-content;line-height:1.2;display:block}.cal-scope .day-num-row{align-items:center;gap:3px;min-height:15px;margin-bottom:3px;display:flex}.cal-scope .day-num-row .day-num{margin-bottom:0}.cal-scope .month-event{box-sizing:border-box;text-overflow:ellipsis;border-radius:3px;width:100%;margin-bottom:2px;padding:2px 5px;font-size:10px;font-weight:500;line-height:1.15;display:block;overflow:hidden}.cal-scope .month-birthday-event{color:#7c5a00;cursor:default;background:#fff3cd;align-items:center;gap:3px;display:flex}.cal-scope .month-birthday-icon{background:#d7a600;border-radius:50%;flex-shrink:0;width:7px;height:7px;box-shadow:inset 0 0 0 2px #ffffff73}.cal-scope .week-hours{height:1248px;position:relative}.cal-scope .event-item{text-align:left;width:100%;font-family:var(--font);background:#fff;border-top:none;border-left:none;border-right:none}.cal-scope .event-item.active{background:#1a5bbf12}.cal-scope .event-item.conflicting,.cal-scope .event-item.conflict-item{border-left:3px solid var(--red)}.cal-scope .dot-indicator{vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}.cal-scope .event-location{color:var(--text3);margin-top:4px;font-size:11px}.cal-scope .cal-conflict-badge{z-index:2;background:var(--red);color:#fff;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;min-width:18px;height:16px;padding:0 5px;font-size:9px;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:3px;right:4px}.cal-scope .cal-conflict-badge.week{top:-3px;right:-2px}.cal-scope .cal-occupied-dot{z-index:2;background:var(--red);cursor:default;opacity:.55;border-radius:50%;flex:none;width:6px;height:6px}.cal-scope .cal-conflict-badge.month{top:3px;right:4px}.cal-scope .cal-event.cal-conflicting,.cal-scope .week-event.cal-conflicting{box-shadow:inset 3px 0 0 var(--red)}.cal-scope .week-event.occupied-overlay{border:1px dashed var(--red);color:var(--red-text);z-index:0;pointer-events:none;opacity:.55;background:#ff3b3b0f;font-weight:600;left:2px;right:2px}.cal-scope .cal-occupied-all-day{color:var(--red-text);white-space:nowrap;text-overflow:ellipsis;padding:1px 2px;font-size:9px;font-weight:600;overflow:hidden}.cal-scope .conflict-panel{border-color:#cc33334d;flex:none}.cal-scope .conflict-panel h4{color:var(--red-text);background:#cc33330f}.cal-scope .conflict-desc{color:var(--text2);gap:6px;margin-top:3px;font-size:11px;display:flex}.cal-scope .conflict-desc span{color:var(--red);font-weight:700}.cal-scope .calendar-subview{box-sizing:border-box;height:calc(100vh - 91px);padding:16px 20px;overflow:auto}.cal-scope .charlist-wrap{border:1px solid var(--border);border-radius:var(--radius);background:#fff;grid-template-columns:minmax(180px,260px) minmax(0,1fr);gap:0;height:100%;display:grid;overflow:hidden}.cal-scope .bychar-picker{display:contents}.cal-scope .bychar-picker-trigger{display:none}.cal-scope .charlist-col,.cal-scope .chardetail-col{background:#fff;overflow:hidden}.cal-scope .charlist-col{border-right:1px solid var(--border);width:100%;min-width:0;overflow-y:auto}.cal-scope .charlist-header{background:var(--bg3);border-bottom:1px solid var(--border);color:var(--text2);text-transform:uppercase;letter-spacing:.06em;padding:10px 12px;font-size:11px;font-weight:600}.cal-scope .charlist-tools{border-bottom:1px solid var(--border);background:#fff;gap:6px;padding:8px;display:grid}.cal-scope .charlist-tools input,.cal-scope .charlist-tools select{border:1px solid var(--border2);background:var(--bg3);width:100%;min-width:0;color:var(--text);font-family:var(--font);border-radius:5px;outline:none;padding:6px 8px;font-size:12px}.cal-scope .charlist-tools input:focus,.cal-scope .charlist-tools select:focus{border-color:var(--acc);box-shadow:0 0 0 2px #1a5bbf1f}.cal-scope .charlist-clear{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text2);cursor:pointer;font-family:var(--font);background:#fff;padding:5px 8px;font-size:11px;font-weight:600}.cal-scope .charlist-clear:hover{background:var(--bg3)}.cal-scope .charlist-clear:focus-visible,.cal-scope .charlist-row:focus-visible,.cal-scope .chardetail-day:focus-visible,.cal-scope .chardetail-ev-item:focus-visible{outline:2px solid var(--acc);outline-offset:-2px}.cal-scope .charlist-row{border:0;border-bottom:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;font-family:var(--font);text-align:left;background:#fff;align-items:center;gap:10px;padding:9px 12px;font-size:12px;display:flex}.cal-scope .charlist-row:hover,.cal-scope .charlist-row.active{background:#1a5bbf12}.cal-scope .charlist-row small{color:var(--text3)}.cal-scope .charlist-avatar,.cal-scope .chardetail-avatar{background:color-mix(in srgb, var(--avatar) 18%, white);color:var(--avatar);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:800;display:inline-flex;overflow:hidden}.cal-scope .charlist-avatar{width:28px;height:28px;font-size:12px}.cal-scope .chardetail-avatar{width:44px;height:44px;font-size:18px}.cal-scope .charlist-avatar img,.cal-scope .chardetail-avatar img{object-fit:cover;width:100%;height:100%}.cal-scope .charlist-info{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.cal-scope .charlist-info strong,.cal-scope .charlist-info small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cal-scope .charlist-info strong{color:var(--text);font-size:12px}.cal-scope .charlist-count{background:var(--olive-bg);min-width:20px;height:20px;color:var(--acc);border-radius:10px;justify-content:center;align-items:center;gap:2px;padding:0 6px;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.cal-scope .charlist-count span{text-transform:uppercase;font-size:8px}.cal-scope .charlist-counts{flex-shrink:0;align-items:center;gap:3px;display:inline-flex}.cal-scope .charlist-count.occupied{color:var(--red-text);background:#ff3b3b1a}.cal-scope .charlist-empty{color:var(--text3);text-align:center;padding:18px 12px;font-size:12px}.cal-scope .chardetail-col{padding:16px;overflow-y:auto}.cal-scope .chardetail-hero{border-bottom:1px solid var(--border);background:0 0;align-items:center;gap:12px;width:100%;padding:0 0 14px;display:flex}.cal-scope .chardetail-title{flex:1;min-width:0}.cal-scope .chardetail-col h3{margin:0;font-size:16px}.cal-scope .chardetail-title p{color:var(--text3);margin:3px 0 0;font-size:12px}.cal-scope .status-pill{text-transform:uppercase;border-radius:10px;padding:2px 8px;font-size:10px;font-weight:700}.cal-scope .status-green{color:#23784f;background:#4caf7d29}.cal-scope .status-yellow{color:#80651f;background:#c9a84c2e}.cal-scope .status-red{color:var(--red-text);background:#e8555529}.cal-scope .status-grey{background:var(--bg3);color:var(--text3)}.cal-scope .chardetail-body{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:100%;padding:14px 0 0;display:grid}.cal-scope .chardetail-calendar-section{grid-column:1/-1}.cal-scope .chardetail-section-title{color:var(--text3);text-transform:uppercase;letter-spacing:.06em;margin:0 0 8px;font-size:11px;font-weight:600}.cal-scope .chardetail-mini-nav{align-items:center;gap:8px;margin-bottom:6px;display:flex}.cal-scope .chardetail-mini-nav span{text-align:center;color:var(--text2);flex:1;font-size:12px;font-weight:600}.cal-scope .chardetail-mini-nav .btn{padding:2px 8px;font-size:11px}.cal-scope .chardetail-mini-cal-header,.cal-scope .chardetail-mini-cal{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.cal-scope .chardetail-mini-cal-header{color:var(--text3);text-align:center;margin-bottom:3px;font-size:10px;font-weight:700}.cal-scope .chardetail-day{border:1px solid var(--border);min-height:58px;color:var(--text2);cursor:pointer;font-family:var(--font);text-align:left;background:#fff;border-bottom:0;border-right:0;padding:22px 4px 4px;display:block;position:relative}.cal-scope .chardetail-day:nth-child(7n){border-right:1px solid var(--border)}.cal-scope .chardetail-day:nth-last-child(-n+7){border-bottom:1px solid var(--border)}.cal-scope .chardetail-day.otherMonth{background:var(--bg3);color:var(--text3);opacity:.65}.cal-scope .chardetail-day.has-event{background:#1a5bbf0f}.cal-scope .chardetail-day-static{cursor:default}.cal-scope .chardetail-day.occupied .chardetail-day-num{color:var(--red-text)}.cal-scope .chardetail-day-num{border-radius:0;justify-content:flex-start;align-items:flex-start;min-width:0;height:auto;font-size:10px;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:4px;left:4px}.cal-scope .chardetail-conflict-badge{background:var(--red);color:#fff;pointer-events:none;border-radius:10px;justify-content:center;align-items:center;min-width:18px;height:15px;padding:0 5px;font-size:9px;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:3px;right:4px}.cal-scope .chardetail-day-ev{color:var(--text3);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:9px;overflow:hidden}.cal-scope .chardetail-day-occ{color:var(--red-text);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:9px;font-weight:600;line-height:1.25;overflow:hidden}.cal-scope .chardetail-ev-list,.cal-scope .chardetail-occ-list{flex-direction:column;gap:5px;display:flex}.cal-scope .chardetail-ev-item{border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;font-family:var(--font);text-align:left;background:#fff;border-radius:6px;align-items:center;gap:8px;padding:8px 10px;display:flex}.cal-scope .chardetail-ev-item span:nth-child(2){flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.cal-scope .chardetail-ev-item strong,.cal-scope .chardetail-ev-item small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cal-scope .chardetail-ev-item small{color:var(--text3);font-size:11px}.cal-scope .chardetail-ev-item .chardetail-ev-conflict{color:var(--red-text);font-weight:700}.cal-scope .chardetail-ev-item em{border-radius:10px;flex-shrink:0;padding:2px 7px;font-size:10px;font-style:normal;font-weight:700}.cal-scope .chardetail-add-event{margin-top:10px;font-size:11px}.cal-scope .chardetail-occ-item{border:1px solid var(--border);background:#fff;border-radius:6px;align-items:center;gap:7px;padding:7px 9px;font-size:12px;display:flex}.cal-scope .chardetail-occ-item>span{background:var(--red);border-radius:50%;flex-shrink:0;width:6px;height:6px}.cal-scope .chardetail-occ-item strong{color:var(--red-text)}.cal-scope .chardetail-occ-item small{color:var(--text3)}@media (width<=900px){.cal-scope .chardetail-body{grid-template-columns:1fr}}@media (width<=760px){.cal-scope .calendar-subview{height:auto;min-height:0;padding:0;overflow:visible}.cal-scope .charlist-wrap{border-left:0;border-right:0;border-radius:0;flex-direction:column;height:auto;display:flex}.cal-scope .bychar-picker{display:block;position:relative}.cal-scope .bychar-picker-trigger{box-sizing:border-box;border:1px solid var(--border2);border-radius:var(--radius-sm);width:100%;min-height:44px;color:var(--text);font:600 13px/1.2 var(--font);text-align:left;cursor:pointer;background:#fff;justify-content:space-between;align-items:center;gap:8px;padding:0 12px;display:flex}.cal-scope .bychar-picker-trigger>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.cal-scope .bychar-picker-caret{width:16px;height:16px;color:var(--text3);flex:none;transition:transform .18s}.cal-scope .bychar-picker.open .bychar-picker-caret{transform:rotate(180deg)}.cal-scope .charlist-col{z-index:30;border:1px solid var(--border2);border-radius:var(--radius-sm);max-height:60vh;display:none;position:absolute;top:calc(100% + 6px);left:0;right:0;box-shadow:0 8px 24px #00000029}.cal-scope .bychar-picker.open .charlist-col{display:block}.cal-scope .charlist-header{display:none}.cal-scope .charlist-tools{grid-template-columns:1fr 1fr}.cal-scope .charlist-tools input,.cal-scope .charlist-clear{grid-column:1/-1}.cal-scope .charlist-row{min-height:48px}.cal-scope .chardetail-hero{flex-wrap:wrap}.cal-scope .chardetail-title{flex:60%}.cal-scope .chardetail-hero .btn{flex:auto;justify-content:center;min-height:40px}}.cal-scope .cal-version-modal{width:min(420px,100vw - 32px);position:relative}.cal-scope .cal-versions-intro{color:var(--text2);margin-bottom:14px;font-size:13px}.cal-scope .cal-version-track th{text-align:center;min-width:140px}.cal-scope .cal-version-track-actorcol{text-align:left;z-index:1;background:#fff;min-width:160px;position:sticky;left:0}.cal-scope .cal-version-track thead .cal-version-track-actorcol{background:var(--bg2)}.cal-scope .cal-version-track-actorcol strong{font-weight:600}.cal-scope .cal-version-track-date{color:var(--text3);font-size:10px;font-weight:400;display:block}.cal-scope .cal-version-track-actorname{color:var(--text2);margin-left:6px;font-size:11px}.cal-scope .cal-version-track-cell{text-align:center}.cal-scope .cal-version-track-checks{justify-content:center;align-items:center;gap:14px;display:flex}.cal-scope .cal-version-track-checks .inline-check{cursor:pointer;margin-bottom:0}.cal-scope .cal-version-track-diff{background:var(--acc);color:#fff;cursor:pointer;font-size:10px;font-weight:600;font-family:var(--font);border:none;border-radius:10px;margin-top:6px;padding:2px 8px}.cal-scope .cal-version-track-nochange{color:var(--text3);margin-top:6px;font-size:10px;display:block}.cal-scope .cal-version-overall-diff{background:color-mix(in srgb, var(--acc) 12%, #fff);color:var(--acc);border:1px solid color-mix(in srgb, var(--acc) 38%, var(--border));font-family:var(--font);cursor:pointer;white-space:nowrap;border-radius:10px;flex:none;padding:5px 10px;font-size:11px;font-weight:700;line-height:1.2}.cal-scope .cal-version-overall-nochange{color:var(--text3);white-space:nowrap;flex:none;font-size:11px}.cal-scope .cal-vtrack-cards{flex-direction:column;gap:10px;display:none}.cal-scope .cal-vtrack-card{border:1px solid var(--border);border-radius:var(--radius);background:#fff;overflow:hidden}.cal-scope .cal-vtrack-card-actor{background:var(--bg2);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:baseline;gap:6px;padding:10px 12px;display:flex}.cal-scope .cal-vtrack-card-actor strong{font-weight:600}.cal-scope .cal-vtrack-card-actor span{color:var(--text2);font-size:12px}.cal-scope .cal-vtrack-vrow{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding:10px 12px;display:flex}.cal-scope .cal-vtrack-vrow+.cal-vtrack-vrow{border-top:1px solid var(--border)}.cal-scope .cal-vtrack-vlabel{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.cal-scope .cal-vtrack-vnum{color:var(--text3);font-weight:700}.cal-scope .cal-vtrack-vname{color:var(--text);font-size:13px;font-weight:500}.cal-scope .cal-vtrack-vlabel .cal-version-track-diff,.cal-scope .cal-vtrack-vlabel .cal-version-track-nochange{margin-top:0}.cal-scope .cal-vtrack-vchecks{align-items:center;gap:14px;display:flex}@media (width<=760px){.cal-scope .calendar-subview.cal-versions-view{padding:6px 10px 0}.cal-scope .cal-version-track{display:none}.cal-scope .cal-vtrack-cards{display:flex}.cal-scope .cal-versions-view .script-item{flex-wrap:wrap;align-items:center}.cal-scope .cal-versions-view .script-info{flex:auto}.cal-scope .cal-versions-view .cal-version-overall-diff,.cal-scope .cal-versions-view .cal-version-overall-nochange{flex:100%;order:3}.cal-scope .cal-versions-view .script-item>.btn{flex:1 1 0;order:4;min-height:40px}}.cal-scope .cal-version-diff-modal{width:min(480px,100vw - 32px);position:relative}.cal-scope .cal-version-diff-head h3{margin:0 0 2px}.cal-scope .cal-version-diff-head h3 span{font-size:13px;font-weight:400}.cal-scope .cal-version-diff-head p{color:var(--text3);margin:0;font-size:12px}.cal-scope .cal-version-diff-body{max-height:60vh;margin-top:14px;overflow-y:auto}.cal-scope .cal-version-diff-empty{color:var(--text3);font-size:13px}.cal-scope .cal-version-diff-group{margin-bottom:16px}.cal-scope .cal-version-diff-grouptitle{text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-size:11px;font-weight:700}.cal-scope .cal-version-diff-item{border-bottom:1px solid var(--border);align-items:baseline;gap:6px;padding:4px 0;display:flex}.cal-scope .cal-version-diff-sign{flex-shrink:0;width:12px;font-weight:700}.cal-scope .cal-version-diff-date{font-size:13px;font-weight:500}.cal-scope .cal-version-diff-detail{color:var(--text2);font-size:11px}.cal-scope .cal-empty{color:var(--text3);text-align:center;padding:16px;font-size:12px}.cal-scope .btn-with-icon{align-items:center;gap:5px;display:inline-flex}.cal-scope .btn-with-icon svg{flex-shrink:0;width:13px;height:13px}.cal-scope .modal-backdrop{cursor:default;background:0 0;border:0;padding:0;position:absolute;inset:0}.cal-scope .modal{z-index:1;position:relative}.cal-scope .view-share-modal{border-radius:12px;width:460px;max-width:95vw;padding:24px;box-shadow:0 8px 32px #0000002e}.cal-scope .view-share-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.cal-scope .view-share-head strong{color:var(--text);align-items:center;gap:7px;font-size:14px;display:inline-flex}.cal-scope .view-share-head svg{width:15px;height:15px}.cal-scope .view-share-close{color:var(--text3);cursor:pointer;font-family:var(--font);background:0 0;border:0;padding:0;font-size:20px;line-height:1}.cal-scope .pdrawer-close{flex:none;justify-content:center;align-items:center;width:36px;height:36px;margin:-6px -8px -6px 0;font-size:22px;display:inline-flex}.cal-scope .view-share-help{color:var(--text3);margin:0 0 14px;font-size:11px;line-height:1.45}.cal-scope .view-share-label{color:var(--text3);margin-bottom:6px;font-size:11px;display:block}.cal-scope .cal-scope-chip{color:var(--acc);white-space:nowrap;background:#2970e81f;border:1px solid #2970e840;border-radius:999px;align-items:center;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.cal-scope .view-share-scope{border:1px solid var(--border);background:var(--bg2);width:100%;color:var(--text);font-family:var(--font);border-radius:6px;margin-bottom:14px;padding:6px 8px;font-size:12px}.cal-scope .view-share-link{align-items:center;gap:6px;display:flex}.cal-scope .view-share-link input{border:1px solid var(--border);background:var(--bg3);min-width:0;color:var(--text2);font-family:var(--font);border-radius:6px;outline:none;flex:1;padding:6px 8px;font-size:11px}.cal-scope .view-share-link .btn{white-space:nowrap;flex-shrink:0;padding:5px 10px;font-size:11px}.cal-scope .share-status,.cal-scope .share-error{color:var(--text3);margin:10px 0 0;font-size:12px}.cal-scope .share-error{color:var(--red-text)}
