:root{--ink:#17231f;--muted:#69756f;--line:#dfe4e0;--paper:#fffefa;--bg:#f2f4f1;--green:#174f42;--mint:#e6f1eb;--shadow:0 18px 50px rgba(23,35,31,.08);--campaign:#2e6655;--tool:#8c5f23;--material:#5f578e;--channel:#31667c;--other:#6b716e}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 Georgia,serif}
button,input,select,textarea{font:inherit}
button{border:1px solid var(--green);border-radius:10px;background:var(--green);color:#fff;padding:11px 15px;font-weight:700;cursor:pointer}
button:disabled{opacity:.58;cursor:wait}
.secondary{background:#fff;color:var(--green);border-color:#ccd8d2}
.hidden{display:none!important}
main{max-width:1540px;margin:0 auto;padding:36px 28px 76px}
.hero{display:flex;justify-content:space-between;align-items:end;gap:30px}
.eyebrow{display:block;color:#35735f;font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.hero h1{margin:8px 0 12px;font-size:clamp(38px,5vw,62px);line-height:1}
.hero p{max-width:850px;margin:0;color:var(--muted);font-size:16px}
.hero-actions{display:flex;gap:8px;flex-shrink:0}
.analytics-tabs{display:flex;gap:5px;margin:30px 0 15px;border-bottom:1px solid var(--line)}
.analytics-tabs a{padding:11px 15px;border-radius:9px 9px 0 0;color:var(--muted);text-decoration:none;font-weight:700}
.analytics-tabs a:hover{color:var(--green);background:#e9efeb}
.analytics-tabs a[aria-current=page]{background:var(--green);color:#fff}
.calendar-shell{border:1px solid var(--line);border-radius:20px;background:var(--paper);box-shadow:var(--shadow);overflow:hidden}
.calendar-toolbar{min-height:94px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:16px 22px;border-bottom:1px solid var(--line)}
.calendar-toolbar>div:nth-child(2){text-align:center}
.calendar-toolbar h2{margin:0;font-size:27px;text-transform:capitalize}
.calendar-toolbar span{color:var(--muted);font-size:12px}
.month-navigation{display:flex;align-items:center;gap:6px}
.icon-button{width:42px;height:42px;padding:0;background:#fff;color:var(--green);border-color:#ccd8d2}
.access-status{justify-self:end;padding:8px 12px;border-radius:999px;background:#edf2ef;color:#53615b!important}
.access-status.admin{background:#dcece4;color:#174f42!important;font-weight:700}
.notice{margin:14px 18px 0;padding:11px 14px;border-radius:10px;background:#e6f1eb;color:#245d49}
.notice.error{background:#fae9e5;color:#934133}
.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px}
.calendar-panel{min-width:0;border-right:1px solid var(--line)}
.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.weekdays{height:42px;align-items:center;border-bottom:1px solid var(--line);background:#fafbf9}
.weekdays span{text-align:center;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}
.calendar-grid{grid-template-rows:repeat(6,minmax(128px,1fr))}
.day{position:relative;min-width:0;padding:9px 7px;border-right:1px solid #e9ece9;border-bottom:1px solid #e9ece9;background:#fff}
.day:nth-child(7n){border-right:0}
.day.outside{background:#f7f8f6;color:#9ca49f}
.day.today{background:#f2f8f4}
.day.today:before{content:"";position:absolute;inset:0;border:2px solid #4d896f;pointer-events:none}
.day-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.day-number{width:29px;height:29px;display:grid;place-items:center;border:0;border-radius:50%;padding:0;background:transparent;color:inherit;font-weight:700}
.day-number:hover{background:#e7f0eb;color:var(--green)}
.today .day-number{background:var(--green);color:#fff}
.day-events{display:grid;gap:4px}
.event-pill{width:100%;min-width:0;padding:5px 7px;border:0;border-left:3px solid currentColor;border-radius:6px;background:#edf3f0;color:var(--campaign);text-align:left;font-size:10px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.event-pill.tool{background:#f7eee1;color:var(--tool)}
.event-pill.material{background:#efedf7;color:var(--material)}
.event-pill.channel{background:#e9f1f4;color:var(--channel)}
.event-pill.other{background:#eff0ef;color:var(--other)}
.more{display:block;padding:1px 7px;color:var(--muted);font-size:10px}
.agenda{min-width:0;background:#fafbf9;padding:20px}
.agenda>header{display:flex;align-items:start;justify-content:space-between}
.agenda h2{margin:3px 0 0;font-size:24px}
.agenda>header>strong{min-width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:#fff}
.legend{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0}
.legend span{padding:5px 7px;border-radius:999px;background:#edf3f0;color:var(--campaign);font-size:9px;font-weight:800}
.legend .tool{background:#f7eee1;color:var(--tool)}
.legend .material{background:#efedf7;color:var(--material)}
.legend .channel{background:#e9f1f4;color:var(--channel)}
.legend .other{background:#eff0ef;color:var(--other)}
.agenda-list{display:grid;gap:8px;max-height:760px;overflow:auto;padding-right:3px}
.agenda-item{width:100%;display:grid;grid-template-columns:45px 1fr;gap:10px;padding:11px;border:1px solid var(--line);border-left:4px solid var(--campaign);border-radius:11px;background:#fff;color:var(--ink);text-align:left}
.agenda-item.tool{border-left-color:var(--tool)}
.agenda-item.material{border-left-color:var(--material)}
.agenda-item.channel{border-left-color:var(--channel)}
.agenda-item.other{border-left-color:var(--other)}
.agenda-date{display:grid;place-items:center;align-content:center;border-right:1px solid var(--line);color:var(--muted);font-size:9px;text-transform:uppercase}
.agenda-date strong{display:block;color:var(--ink);font-size:19px;line-height:1}
.agenda-item span{display:block;color:var(--muted);font-size:10px}
.agenda-item b{display:block;margin:2px 0;font-size:13px}
.empty{padding:24px 13px;border:1px dashed #cfd6d1;border-radius:12px;color:var(--muted);text-align:center}
.modal{width:min(650px,calc(100vw - 28px));padding:0;border:0;border-radius:18px;background:var(--paper);color:var(--ink);box-shadow:0 28px 90px rgba(23,35,31,.28)}
.modal::backdrop{background:rgba(15,27,23,.56);backdrop-filter:blur(3px)}
.modal form,.detail-modal article{padding:24px}
.modal header{display:flex;justify-content:space-between;align-items:start;gap:18px;margin-bottom:18px}
.modal h2{margin:4px 0 0;font-size:28px}
.close{width:39px;height:39px;padding:0;border-color:var(--line);background:#fff;color:var(--ink);font-size:24px;font-weight:400}
.modal label{display:grid;gap:6px;margin:12px 0;color:var(--muted);font-size:11px;font-weight:800}
.modal label span{display:flex;justify-content:space-between}
.modal small{font-weight:400}
.modal input,.modal select,.modal textarea{width:100%;border:1px solid #d7ded9;border-radius:9px;background:#fff;padding:11px 12px;color:var(--ink)}
.modal textarea{resize:vertical}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.link-editor{display:grid;gap:10px;margin-top:10px}.link-row{display:grid;grid-template-columns:minmax(110px,.65fr) minmax(120px,1fr) minmax(140px,1.15fr) minmax(170px,1.35fr) auto;gap:8px;align-items:end;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff}.link-row label{min-width:0;margin:0}.link-row input,.link-row select{width:100%}.link-editor-actions{display:flex;gap:8px;margin-top:10px}.link-remove{padding:10px 12px}
.modal footer{display:flex;justify-content:flex-end;gap:7px;margin-top:20px}
.form-error{padding:10px 12px;border-radius:9px;background:#fae9e5;color:#934133}
.detail-badge{display:inline-block;padding:6px 9px;border-radius:999px;background:#edf3f0;color:var(--campaign);font-size:10px;font-weight:800}
.detail-badge.tool{background:#f7eee1;color:var(--tool)}
.detail-badge.material{background:#efedf7;color:var(--material)}
.detail-badge.channel{background:#e9f1f4;color:var(--channel)}
.detail-badge.other{background:#eff0ef;color:var(--other)}
.detail-modal h2{margin:12px 0 8px;font-size:31px}
.detail-meta{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:18px 0}
.detail-meta div{padding:11px;border-radius:10px;background:#f2f4f1}
.detail-meta span,.detail-meta strong{display:block}
.detail-meta span{color:var(--muted);font-size:10px}
.detail-description{white-space:pre-wrap;color:#425049}
.danger{background:#9b3f33;border-color:#9b3f33}
.avp-footer{margin-top:0}
@media(max-width:1100px){.calendar-layout{grid-template-columns:1fr}
.calendar-panel{border-right:0;border-bottom:1px solid var(--line)}
.agenda-list{max-height:none}
.agenda-list{grid-template-columns:repeat(2,1fr)}
.calendar-toolbar{grid-template-columns:1fr auto}
.access-status{grid-column:1/-1;justify-self:center}
.calendar-grid{grid-template-rows:repeat(6,minmax(112px,1fr))}
}
@media(max-width:720px){main{padding:24px 12px 48px}
.hero{display:block}
.hero-actions{margin-top:18px;flex-wrap:wrap}
.analytics-tabs{overflow:auto}
.analytics-tabs a{white-space:nowrap}
.calendar-toolbar{grid-template-columns:1fr;padding:14px}
.calendar-toolbar>div{justify-self:center!important;text-align:center}
.month-navigation{order:2}
.access-status{order:3}
.weekdays span{font-size:9px}
.calendar-grid{grid-template-rows:repeat(6,minmax(86px,1fr))}
.day{padding:5px 3px}
.day-number{width:24px;height:24px;font-size:11px}
.event-pill{padding:6px 5px;font-size:10px;border-left-width:3px;min-height:44px;white-space:normal}
.agenda{padding:15px}
.agenda-list{grid-template-columns:1fr}
.form-row,.detail-meta{grid-template-columns:1fr}
.link-row{grid-template-columns:1fr 1fr}.link-row label:nth-child(3),.link-row label:nth-child(4),.link-remove{grid-column:span 2}
}
