.calendar-overall-panel{background:#f7f8fb;border:1px solid #e1e5ee;border-radius:13px;padding:20px;margin:18px 0}.calendar-overall-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.calendar-overall-head h2{font-size:19px;color:#424f68;margin-top:4px}.calendar-overall-head p{font-size:13px;color:#8a92a0;margin-top:7px}.calendar-overall-head .completion-ring{width:58px;height:58px}.calendar-overall-departments{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}.calendar-overall-department{border:1px solid #e3e6ee;background:#fff;border-radius:9px;padding:12px;text-align:left;color:var(--tone,#687594)}.calendar-overall-department.selected{outline:2px solid var(--tone,#7284ae);background:var(--wash,#f9faff)}.calendar-overall-department>div{display:flex;justify-content:space-between;gap:7px;align-items:center}.calendar-overall-department span{font-size:13px}.calendar-overall-department b{font-size:18px}.calendar-overall-department i{display:block;height:6px;background:#edf0f5;border-radius:7px;overflow:hidden;margin:10px 0 8px}.calendar-overall-department i em{display:block;height:100%;background:var(--tone,#7284ae);border-radius:inherit}.calendar-overall-department small{font-size:11px;color:#9299a6}.calendar-filter-menu{display:flex;gap:5px;flex-wrap:wrap;margin-top:18px;padding-top:15px;border-top:1px solid #e7e9ef}.calendar-filter-menu button{border:0;background:transparent;border-radius:6px;padding:8px 11px;color:#7e8798;font-size:12px}.calendar-filter-menu button:hover{background:#fff}.calendar-filter-menu button.active{background:#4e6dad;color:white}@media(max-width:780px){.calendar-overall-departments{grid-template-columns:repeat(2,1fr)}.calendar-overall-head{align-items:flex-start}}@media(max-width:500px){.calendar-overall-departments{grid-template-columns:1fr}.calendar-overall-head{flex-direction:column}}
.calendar-delivery-flow{margin:20px 0 18px;padding:18px;border:1px solid #dfe4ef;background:#fbfcff;border-radius:12px}.calendar-flow-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.calendar-flow-heading h3{font-size:16px;color:#44536e;margin-top:4px}.calendar-flow-heading p{font-size:12px;color:#8992a3;margin-top:5px}.flow-legend{font-size:11px;color:#8992a3;white-space:nowrap}.flow-legend i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#5c7fd2;margin-right:5px}.calendar-flow-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.calendar-flow-card{position:relative;min-width:0;background:#fff;border:1px solid #e5e9f1;border-top:3px solid var(--flow-tone,#6683c5);padding:13px 12px 12px}.calendar-flow-card:first-child{border-radius:9px 0 0 9px}.calendar-flow-card:last-child{border-radius:0 9px 9px 0}.calendar-flow-number{font:11px Arial;color:#abb3c1;margin-bottom:9px}.calendar-flow-main{min-width:0}.calendar-flow-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.calendar-flow-label{display:block;font-size:13px;font-weight:700;color:var(--flow-tone,#5f75aa)}.calendar-flow-top p{font-size:11px;line-height:1.45;color:#8a93a3;margin-top:4px}.calendar-flow-top strong{font-size:16px;color:#4d5f80}.calendar-flow-bar{height:5px;background:#edf0f5;border-radius:5px;overflow:hidden;margin:12px 0 9px}.calendar-flow-bar i{display:block;height:100%;background:var(--flow-tone,#6683c5);border-radius:inherit}.calendar-flow-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:10px;color:#9299a7}.calendar-flow-meta .link-button{margin-left:auto;font-size:10px;padding:0}.flow-state{font-weight:700;padding:3px 5px;border-radius:4px;background:#fff2e0;color:#a97c41}.flow-state.in-progress{background:#eef2ff;color:#5c74b5}.flow-state.ready{background:#e4f5ed;color:#3e8a72}.calendar-flow-missing,.calendar-flow-ready{font-size:10px;line-height:1.5;margin-top:10px;color:#a37b49}.calendar-flow-ready{color:#458c75}.calendar-flow-missing b{font-weight:700}.calendar-approval-row{display:flex;align-items:center;gap:10px;border:1px dashed #d8deea;background:#fff;margin-top:12px;padding:10px 12px;border-radius:8px}.approval-dot{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#fff0dd;color:#a5773c;font-size:11px;font-weight:700}.approval-dot.done{background:#dff3e9;color:#38856c}.calendar-approval-row b,.calendar-approval-row small{display:block}.calendar-approval-row b{font-size:12px;color:#52617a}.calendar-approval-row small{font-size:10px;color:#9098a6;margin-top:3px}.approval-status{margin-left:auto;font-size:11px;color:#9b7a4e}.approval-dot.done+.calendar-approval-row b,.approval-status{color:#5b7c69}.calendar-flow-card.teal{--flow-tone:#4b9b91}.calendar-flow-card.green{--flow-tone:#4b9c7a}.calendar-flow-card.blue{--flow-tone:#577aca}.calendar-flow-card.purple{--flow-tone:#8060bd}.calendar-flow-card.coral{--flow-tone:#bd6b62}@media(max-width:1000px){.calendar-flow-track{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.calendar-flow-card:first-child,.calendar-flow-card:last-child{border-radius:8px}}@media(max-width:600px){.calendar-flow-track{grid-template-columns:1fr}.calendar-flow-heading{flex-direction:column}}
.calendar-slide-rail{overflow-x:hidden;overflow-y:auto;min-width:0}.calendar-slide-rail *{box-sizing:border-box}.calendar-slide-row{min-width:0;max-width:100%;overflow:hidden}.calendar-slide-row>div{min-width:0;overflow:hidden}.calendar-slide-row>div strong,.calendar-slide-row>div small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-slide-row .completion-ring{flex:0 0 38px}.calendar-linked-heading{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;margin:2px 2px -3px;color:#52617a;font-size:13px;font-weight:700}.calendar-linked-heading small{font-size:11px;color:#8e96a5;font-weight:400}.calendar-rich-task{min-width:0}.calendar-rich-title{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.calendar-rich-title h3{margin:10px 0 4px}.calendar-rich-title p{font-size:11px;color:#8b929e;margin-bottom:12px}.calendar-rich-title>strong{font-size:17px;color:#596f9e;margin-top:9px}.calendar-content-fields,.calendar-asset-fields{display:grid;gap:7px;margin:6px 0 13px}.calendar-content-fields{grid-template-columns:1fr 1fr}.calendar-content-fields>div,.calendar-asset-fields>div{background:#f7f8fb;border-radius:6px;padding:8px;min-width:0}.calendar-content-fields span,.calendar-asset-fields span{display:block;font-size:10px;color:#8c94a3;margin-bottom:4px}.calendar-content-fields b,.calendar-asset-fields b{display:block;font-size:11px;line-height:1.45;color:#53617a;overflow:hidden;text-overflow:ellipsis}.calendar-content-fields b{white-space:nowrap}.asset-ready{color:#3c8b72!important}.asset-missing{color:#a77b47!important}@media(max-width:750px){.calendar-content-fields{grid-template-columns:1fr}.calendar-linked-heading{align-items:flex-start;gap:8px;flex-direction:column}}
.calendar-thumb-preview{display:block;width:84px;height:52px;object-fit:cover;border-radius:5px;margin-top:7px;border:1px solid #dfe3ec}
.calendar-editor-toolbar{display:flex;align-items:center;gap:16px;padding:10px 14px;margin:0 0 12px;background:#fff;border:1px solid #e1e5ee;border-radius:9px;color:#8a92a0;font-size:11px}.calendar-editor-toolbar>div{display:flex;align-items:center;gap:12px;min-width:0}.calendar-editor-toolbar b{font-size:13px;color:#4b5870;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-editor-toolbar>span{margin-left:auto}.calendar-editor-toolbar .button{font-size:11px;padding:7px 10px}.calendar-slide-detail{background:#f4f6fa;border:1px solid #dfe4ed;border-radius:12px;padding:17px}.calendar-slide-detail>.calendar-detail-head{background:#fff;border:1px solid #e4e8f0;border-radius:8px;padding:10px 12px}.calendar-slide-detail>.slide-progress-hero{background:#fff;border:1px solid #e4e8f0;border-radius:8px;margin-top:10px;padding:18px}.calendar-slide-canvas{background:#fff;border:1px solid #dfe4ed;border-radius:10px;padding:15px;margin:16px 0;box-shadow:0 8px 20px rgba(51,66,97,.06)}.calendar-canvas-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:11px;border-bottom:1px solid #edf0f4;color:#8d95a4;font-size:11px}.calendar-canvas-body{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(220px,.9fr);gap:18px;padding:18px 5px}.calendar-canvas-copy{padding:8px 15px 8px 8px}.calendar-canvas-label{font-size:11px;color:#4e9b8d;letter-spacing:.03em}.calendar-canvas-copy h3{font-size:20px;line-height:1.5;color:#283650;margin:13px 0 7px}.calendar-canvas-copy p{font-size:13px;line-height:1.8;color:#6e788b;max-width:520px}.calendar-canvas-divider{height:1px;background:#e9ecf1;margin:16px 0}.calendar-canvas-media{display:flex;min-height:220px;border-radius:8px;overflow:hidden;background:#edf0f5;align-items:center;justify-content:center}.calendar-canvas-media img{width:100%;height:100%;min-height:220px;object-fit:cover}.calendar-canvas-media.blue{background:linear-gradient(135deg,#e5ecff,#f6f8ff)}.calendar-canvas-media.purple{background:linear-gradient(135deg,#eee5ff,#faf8ff)}.calendar-canvas-media.coral{background:linear-gradient(135deg,#ffeae5,#fff8f7)}.calendar-canvas-empty{text-align:center;color:#66738a;padding:20px}.calendar-canvas-empty span{display:block;font-size:28px;color:#647fc4;margin-bottom:12px}.calendar-canvas-empty b,.calendar-canvas-empty small{display:block}.calendar-canvas-empty b{font-size:14px;color:#53627c}.calendar-canvas-empty small{font-size:11px;color:#8d96a4;margin-top:7px}.calendar-canvas-footer{display:flex;align-items:center;gap:10px;border-top:1px solid #edf0f4;padding-top:12px;font-size:11px;color:#8a92a0}.calendar-canvas-footer .button{margin-left:auto;font-size:11px;padding:7px 10px}.canvas-thumb-state{padding:4px 6px;border-radius:4px;background:#fff0df;color:#a8783e}.canvas-thumb-state.ready{background:#e0f4ea;color:#3a876e}@media(max-width:800px){.calendar-canvas-body{grid-template-columns:1fr}.calendar-canvas-media{min-height:170px}.calendar-canvas-media img{min-height:170px}}@media(max-width:600px){.calendar-editor-toolbar{align-items:flex-start;flex-wrap:wrap}.calendar-editor-toolbar>span{margin-left:0;order:3;width:100%}.calendar-canvas-footer{align-items:flex-start;flex-wrap:wrap}.calendar-canvas-footer .button{margin-left:0}}
.calendar-flow-track{grid-template-columns:repeat(5,minmax(0,1fr))}.calendar-flow-card.inactive{--flow-tone:#b4bbc8;border-top-color:#cbd0da;background:#fafbfc}.calendar-flow-card.inactive .calendar-flow-label{color:#8c95a5}.calendar-flow-card.inactive .calendar-flow-ready{color:#929baa}
