.gcal-page{display:grid;gap:16px}
.gcal-google{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #dfe7f1;border-radius:18px;padding:12px 14px;box-shadow:0 10px 24px rgba(15,79,121,.06)}
.gcal-google div{margin-right:auto;display:grid;gap:2px}
.gcal-google b{color:#202124}
.gcal-google span{font-size:13px;color:#5f6368}
.gcal-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.gcal-nav,.gcal-people{display:flex;gap:8px;flex-wrap:wrap}
.gcal-people button{border:1px solid #dadce0;background:#fff;color:#3c4043;border-radius:999px;padding:9px 13px;font-weight:700;cursor:pointer}
.gcal-people button.active{background:#1a73e8;color:#fff;border-color:#1a73e8}
.gcal-filter.fixed{border:1px solid #dadce0;background:#fff;border-radius:999px;padding:10px 13px;color:#3c4043}
.gcal-shell{background:#fff;border:1px solid #dadce0;border-radius:22px;overflow:hidden;box-shadow:0 14px 34px rgba(60,64,67,.08)}
.gcal-header{display:grid;grid-template-columns:72px repeat(7,1fr);border-bottom:1px solid #dadce0;background:#fff}
.gcal-day-head{border:0;border-left:1px solid #edf0f3;background:#fff;padding:12px 8px;text-align:center;cursor:pointer;color:#3c4043}
.gcal-day-head span{display:block;font-size:12px;text-transform:capitalize;color:#5f6368}
.gcal-day-head b{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;font-size:18px;margin:4px 0}
.gcal-day-head small{display:block;color:#5f6368;font-size:11px}
.gcal-day-head.active b{background:#1a73e8;color:#fff}
.gcal-body{display:grid;grid-template-columns:72px repeat(7,1fr);height:720px;position:relative}
.gcal-hours{display:grid;grid-template-rows:repeat(12,1fr);background:#fff;border-right:1px solid #dadce0}
.gcal-hours div{font-size:11px;color:#70757a;text-align:right;padding:0 8px 0 0;transform:translateY(-7px)}
.gcal-day-col{position:relative;border-left:1px solid #edf0f3;background:linear-gradient(to bottom,#edf0f3 1px,transparent 1px);background-size:100% calc(100% / 12)}
.gcal-day-col.active{background-color:#f8fbff}
.gcal-slot{position:relative;display:block;width:100%;height:calc(100% / 12);border:0;background:transparent;cursor:pointer}
.gcal-slot:hover{background:rgba(26,115,232,.055)}
.gcal-event{position:absolute;left:6px;right:6px;border:0;border-left:4px solid #1a73e8;background:#d2e3fc;color:#174ea6;border-radius:10px;padding:7px 8px;text-align:left;overflow:hidden;cursor:pointer;box-shadow:0 2px 6px rgba(60,64,67,.16)}
.gcal-event:hover{filter:brightness(.98);box-shadow:0 5px 14px rgba(60,64,67,.22)}
.gcal-event b,.gcal-event span,.gcal-event small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gcal-event b{font-size:12px;line-height:1.2}
.gcal-event span{font-size:11px;margin-top:2px}
.gcal-event small{font-size:10px;opacity:.86;margin-top:2px}
.gcal-event.late{background:#fce8e6;color:#a50e0e;border-left-color:#d93025}
.gcal-event.done{background:#e6f4ea;color:#137333;border-left-color:#34a853}
.gcal-event.unassigned{background:#fef7e0;color:#b06000;border-left-color:#fbbc04}
.multi-tech-wrap{display:grid;gap:8px}
.multi-techs{display:flex;gap:8px;flex-wrap:wrap}
.tech-pill{display:inline-flex;align-items:center;gap:7px;border:1px solid #dadce0;border-radius:999px;padding:8px 11px;background:#fff;cursor:pointer;font-weight:700;color:#3c4043}
.tech-pill input{accent-color:#1a73e8}
.tech-pill.affect{border-style:dashed;color:#b06000}
.multi-tech-wrap small{color:#5f6368;font-size:12px}
@media(max-width:1100px){
  .gcal-body{overflow:auto;grid-template-columns:58px repeat(7,170px)}
  .gcal-header{grid-template-columns:58px repeat(7,170px);overflow:hidden}
  .gcal-shell{overflow:auto}
}
@media(max-width:760px){
  .gcal-google{align-items:stretch;flex-direction:column}
  .gcal-google div{margin-right:0}
  .gcal-body{height:640px;grid-template-columns:52px repeat(7,155px)}
  .gcal-header{grid-template-columns:52px repeat(7,155px)}
}
