.cp-document { color:#203c35; width:100%; min-width:0; display:grid; gap:24px; line-height:1.7; }
.cp-document *, .cp-document *::before { box-sizing:border-box; }
.cp-document h3,.cp-document h4,.cp-document p { margin:0; }
.cp-hero { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; background:linear-gradient(120deg,#123d32,#28644f); color:#fff; padding:28px; border-radius:16px; }
.cp-hero h3 { font-size:clamp(22px,3vw,30px); line-height:1.4; margin:6px 0 12px; color:inherit; }
.cp-eyebrow { font-size:13px; color:#d4ecd7; letter-spacing:.08em; }
.cp-status { display:inline-flex; flex-shrink:0; font-size:13px; font-weight:700; padding:5px 12px; border-radius:30px; }
.cp-done { background:#d8eee1; color:#15583b; }.cp-active { background:#deebfb; color:#24558c; }.cp-pending { background:#f5edda; color:#745719; }
.cp-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.cp-metrics>div { background:#f3f7f4; border:1px solid #d6e3db; border-radius:12px; padding:16px; display:grid; gap:8px; }
.cp-metrics small,.cp-caption { color:#61736b; font-size:13px; }.cp-metrics strong { font-size:17px; }
.cp-metrics progress { width:100%; height:9px; accent-color:#227251; }
.cp-chips { display:flex; flex-wrap:wrap; gap:6px; }.cp-chips span { padding:3px 10px; border:1px solid #c2d5cb; border-radius:8px; background:white; font-size:14px; }
.cp-section-title { display:flex; align-items:center; gap:10px; margin-bottom:14px; }.cp-section-title>span { display:grid; place-items:center; min-width:32px; height:32px; border-radius:9px; background:#e0ece5; color:#236148; font-weight:800; font-size:14px; }.cp-section-title h4 { font-size:18px; }
.cp-insights,.cp-task-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.cp-insight,.cp-task,.cp-session,.cp-schedule { min-width:0; background:white; border:1px solid #d7e2dc; border-radius:14px; padding:22px; }
.cp-insight { border-top:4px solid #78a591; }.cp-insight:nth-child(2) { border-top-color:#c9a35b; }.cp-insight:nth-child(3) { border-top-color:#789ccc; }.cp-insight:nth-child(4) { border-top-color:#a591c0; }
.cp-text { white-space:pre-wrap; overflow-wrap:anywhere; font-size:15px; line-height:1.9; }
.cp-task header,.cp-session header { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:14px; }.cp-session header { justify-content:flex-start; }
.cp-number { display:grid; place-items:center; flex-shrink:0; width:40px; height:40px; border-radius:12px; color:#236148; background:#e6f0e9; font-size:18px; font-weight:800; }
.cp-task h4,.cp-session h4 { font-size:18px; }.cp-task .cp-caption { margin:8px 0 14px; }
.cp-sessions { display:grid; gap:16px; }.cp-goal { padding:12px; background:#f2f6f3; border-radius:8px; }
.cp-agenda-strip { display:flex; gap:3px; margin:18px 0; }.cp-agenda-strip>span { min-width:0; padding:10px; background:#e4eee8; border-radius:6px; font-size:13px; overflow-wrap:anywhere; }.cp-agenda-strip>span:nth-child(2n) { background:#dce8f6; }.cp-agenda-strip b { display:block; }
.cp-agenda { padding:0; margin:0; list-style:none; }.cp-agenda li { display:grid; grid-template-columns:86px minmax(0,1fr); gap:12px; padding:16px 0; border-bottom:1px solid #e2e9e4; }.cp-minute { color:#376b57; font-weight:700; font-size:14px; }
.cp-date-axis { margin:16px 0 6px 34%; display:flex; justify-content:space-between; font-size:12px; color:#62766a; }
.cp-timeline-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:16px; align-items:center; border-bottom:1px solid #e4ebe6; padding:12px 0; }.cp-timeline-row b { font-size:14px; }.cp-timeline-row small { display:block; font-size:12px; color:#61736b; }
.cp-track { min-width:0; background:repeating-linear-gradient(90deg,#f0f5f1 0,#f0f5f1 calc(25% - 1px),#dae4dd calc(25% - 1px),#dae4dd 25%); border-radius:6px; min-height:32px; }
.cp-bar { display:block; min-height:32px; border-radius:6px; font-size:12px; white-space:nowrap; overflow:hidden; padding:6px 0; text-align:center; }.cp-undated { padding:5px 8px; display:block; font-size:12px; color:#65796d; }
.cp-document h3,.cp-document h4,.cp-document strong { overflow-wrap:anywhere; }
@media(max-width:760px) { .cp-metrics,.cp-insights,.cp-task-grid { grid-template-columns:1fr; }.cp-hero { padding:20px; flex-wrap:wrap; }.cp-insight,.cp-task,.cp-session,.cp-schedule { padding:16px; }.cp-timeline-row { grid-template-columns:1fr; gap:6px; }.cp-date-axis { margin-left:0; }.cp-agenda-strip { flex-direction:column; }.cp-agenda li { grid-template-columns:1fr; gap:4px; } }
.cp-target { padding:6px 10px; border-radius:8px; color:#236148; background:#e6f0e9; font-weight:700; overflow-wrap:anywhere; }
.cp-topic-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); gap:18px; margin:18px 0 28px; }
.cp-topic-card { min-width:0; padding:22px; border:1px solid #cfdfd5; border-top:4px solid #408469; border-radius:14px; background:white; display:flex; flex-direction:column; align-items:flex-start; gap:12px; box-shadow:0 5px 18px #193f3010; }
.cp-topic-card h3 { margin:0; font-size:21px; line-height:1.5; overflow-wrap:anywhere; }.cp-topic-card p { margin:0; line-height:1.7; color:#546a5f; overflow-wrap:anywhere; }.cp-topic-card>.button { margin-top:auto; }
.cp-topic-card .plan-answer-access { width:100%; margin:0; padding:10px; }.plan-target-heading { border-left:4px solid #9bbca8; padding:7px 12px; background:#eff5f1; border-radius:5px; }.plan-company-topics { margin-top:28px; }
.plan-theme-page>.cp-document { margin-top:18px; }
.panel:has(.plan-theme-page) { overflow:visible; }

.cp-attendance { overflow-x:auto; margin:12px 0; }
.cp-attendance table { width:100%; border-collapse:collapse; text-align:left; }
.cp-attendance th { background:#eaf3ee; }
.cp-attendance th,.cp-attendance td { padding:10px; border-bottom:1px solid #d6e3dc; overflow-wrap:anywhere; white-space:normal; }
.plan-rich-label { display:block; margin-top:12px; margin-bottom:2px; }
.plan-rich-label:first-child { margin-top:0; }

.cp-next-actions{margin:16px 0;padding:16px;background:#f3f8f5;border:1px solid #b6cfc0;border-left:4px solid #2b7455;border-radius:12px;color:#203c30;min-width:0}
.cp-next-actions>header{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.cp-next-actions h4{margin:0;font-size:18px}.cp-next-actions>header>span{font-size:13px;font-weight:600}
.cp-next-actions ul{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:8px}.cp-next-item{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px;background:white;border:1px solid #d5e3db;border-radius:8px}.cp-next-item-main{min-width:0;flex:1}.cp-next-item strong{display:block;overflow-wrap:anywhere;font-size:16px;margin:5px 0}.cp-next-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:13px}.cp-next-badge{padding:3px 8px;border-radius:5px;font-weight:700;background:#eef2ef}.cp-next-overdue .cp-next-badge{background:#ffebe7;color:#9a2e1c}.cp-next-active .cp-next-badge{background:#e2effc;color:#195b94}.cp-next-scheduled .cp-next-badge{background:#eee7fa;color:#61418e}.cp-next-item small{font-size:13px;color:#52665b}.cp-next-description{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0;font-size:14px}.cp-next-note,.cp-next-more{font-size:13px;margin:10px 0 0;line-height:1.6}.cp-next-buttons{display:flex;gap:6px;flex-wrap:wrap}.cp-next-actions details{margin-top:10px}.cp-next-actions summary{cursor:pointer;font-weight:600}.cp-next-compact{padding:12px}.cp-next-compact .cp-next-item{padding:8px}.cp-next-compact h4{font-size:16px}
@media(max-width:640px){.cp-next-item{align-items:flex-start;flex-wrap:wrap}.cp-next-buttons{width:100%}.cp-next-actions{padding:12px}}

.plan-material-row{display:grid;gap:12px;padding:16px;border:1px solid #d6e2dc;border-radius:12px;margin-bottom:12px;min-width:0}
.plan-material-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.plan-material-fields [hidden]{display:none}.plan-material-row label{min-width:0}.plan-material-actions{display:flex;gap:8px;flex-wrap:wrap}
.sample-app-dialog{width:min(1200px,95vw);height:90vh;max-height:95vh;border:1px solid #c6d8cf;border-radius:16px;padding:16px;box-sizing:border-box;background:#fff;color:#193e33;overflow:auto}
.sample-app-dialog::backdrop{background:#071d16aa}.sample-app-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.sample-app-toolbar strong{flex:1}.sample-app-surface{height:calc(100% - 110px);min-height:240px}.sample-app-surface iframe{display:block;width:100%;height:100%;border:1px solid #d4e2dc;border-radius:8px;background:#fff}.sample-app-code textarea{font-family:monospace;font-weight:400;tab-size:2}.sample-app-code label{display:block;margin:12px 0}
