*{box-sizing:border-box}body{margin:0;font:14px Poppins,sans-serif;color:#3c4043;background:#f8fafd}button,select{font:inherit;color:inherit;cursor:pointer}button{border:0;background:transparent;border-radius:22px;padding:10px 15px}button:hover{background:#e8edf4}header{height:76px;display:flex;align-items:center;gap:20px;padding:0 24px}h1{font-size:22px;font-weight:400;margin:0;color:#202124}.logo{background:#4285f4;color:#fff;border-radius:8px;padding:9px;font-size:20px}.muted{color:#747a83;font-size:12px}.spacer{flex:1}.view{border:1px solid #c4c7c5;background:#fff;padding:10px;border-radius:22px}.layout{display:flex;height:calc(100vh - 76px);padding:0 14px 16px 0;gap:16px}aside{width:248px;flex-shrink:0;padding:4px 16px;overflow:auto}h2{font-size:13px;font-weight:600;margin:24px 8px 12px}.upload{background:#c2e7ff;border-radius:16px;width:100%;padding:18px;text-align:left;font-weight:600;box-shadow:0 2px 4px #0001}.person{display:flex;align-items:center;gap:10px;padding:12px 8px;border-radius:9px;cursor:pointer}.person:hover{background:#e7ecf2}.person small{display:block;font-size:10px;color:#80868b;margin-top:5px}input[type=color]{width:19px;height:21px;padding:0;border:0;background:transparent;cursor:pointer}.dot{width:15px;height:15px;border:1px solid #aeb4bd;border-radius:50%}.calendar{background:#fff;border:1px solid #e0e3e7;border-radius:22px;flex:1;min-width:0;overflow:auto;position:relative}.days{display:grid;grid-template-columns:52px repeat(var(--days),1fr);position:sticky;top:0;background:#fff;z-index:4;height:70px;border-bottom:1px solid #dadce0}.day{text-align:center;padding:14px 0;color:#5f6368;font-size:12px}.day strong{display:block;font-size:20px;font-weight:400;margin-top:8px}.zone{font-size:9px;align-self:end;padding:8px}.grid{height:780px;position:relative;margin-left:52px;display:grid;grid-template-columns:repeat(var(--days),1fr)}.col{position:relative;border-left:1px solid #dadce0;background:repeating-linear-gradient(to bottom,transparent 0,transparent 64px,#e8eaed 64px,#e8eaed 65px)}.hour{position:absolute;left:-45px;font-size:10px;color:#70757a;transform:translateY(-6px)}.event{position:absolute;border-radius:5px;color:#fff;font-size:11px;padding:6px;overflow:hidden;border:1px solid white;line-height:1.45}.event b,.event span{display:block}.free{position:absolute;left:3px;right:3px;border:1px dashed #a7b9aa;border-radius:4px;color:#66816a;background:#f2f8f3aa;font-size:10px;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}.hint{padding:14px 8px;line-height:1.6}.empty{padding:60px 20px;text-align:center}.C .layout{flex-direction:row-reverse;padding-left:20px}.C aside{width:285px;background:#fff;border-radius:22px;padding:18px}.C header{border-bottom:1px solid #e4e7ec;margin-bottom:12px}.C .layout{height:calc(100vh - 88px)}dialog{border:0;border-radius:20px;padding:24px;box-shadow:0 16px 80px #0003;max-width:90vw}dialog::backdrop{background:#0003}.event .mobile-name,.menu{display:none}@media(max-width:700px){header{height:64px;padding:0 10px;gap:7px}h1{font-size:16px}.logo{font-size:14px;padding:6px}.menu{display:block;padding:8px}.desktop-title{display:none}header button{padding:8px}.view{width:58px;padding:8px}.layout,.C .layout{height:calc(100dvh - 64px);padding:0 5px 64px;display:flex;flex-direction:row;gap:0}.C header{margin:0;border:0}.layout aside,.C aside{display:none;position:fixed;left:0;top:64px;bottom:0;width:275px;background:#f8fafd;z-index:15;padding:18px;overflow:auto;box-shadow:10px 0 30px #0002}.drawer aside{display:block}.calendar{border-radius:12px}.days{grid-template-columns:30px repeat(var(--days),1fr);height:60px}.grid{margin-left:30px}.hour{left:-28px;font-size:8px}.zone{font-size:7px;padding:4px}.day{font-size:9px}.day strong{font-size:14px}.event{padding:3px;font-size:9px}.event .desktop-name,.event span{display:none}.event .mobile-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.free{font-size:7px;left:1px;right:1px}}:root{--ease: cubic-bezier(.2, .8, .2, 1)}button,select,.person,input[type=color]{transition:background-color .18s,box-shadow .18s,transform .18s var(--ease)}button:active,.person:active{transform:scale(.97)}:focus-visible{outline:2px solid #1a73e8;outline-offset:3px}header{animation:enter .35s var(--ease) both}.calendar{animation:enter .44s 60ms var(--ease) both}aside{animation:enter .44s .1s var(--ease) both}::view-transition-group(*){animation-duration:.32s;animation-timing-function:var(--ease)}::view-transition-old(root),::view-transition-new(root){animation-duration:.18s}.free{transition:background-color .18s}dialog[open]{animation:panelIn .26s var(--ease) both}dialog[open]::backdrop{animation:fadeIn .22s both}dialog.closing{animation:panelOut .18s ease-in both}dialog.closing::backdrop{animation:fadeOut .18s both}@keyframes enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes panelIn{0%{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes panelOut{to{opacity:0;transform:translateY(24px) scale(.98)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{to{opacity:0}}@media(max-width:700px){.C .layout{padding-bottom:8px}.C .layout aside{display:block;left:auto;right:0;visibility:hidden;transform:translate(105%);transition:transform .28s var(--ease),visibility .28s;animation:none}.C.drawer aside{visibility:visible;transform:translate(0)}dialog{margin:auto 8px 8px;width:calc(100% - 16px);max-width:none;border-radius:22px;padding:24px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}::view-transition-group(*){animation:none!important}}.event.color-only>*{visibility:hidden}.event.color-only{cursor:help}#event-preview{position:fixed;z-index:100;max-width:min(310px,calc(100vw - 16px));padding:12px 16px;background:#303134;color:#fff;border-radius:10px;box-shadow:0 4px 18px #0003;font-size:13px;line-height:1.6;pointer-events:none;animation:enter .15s var(--ease) both}@media(max-width:700px){.event{cursor:pointer}.event>*{visibility:hidden}}#detail{padding:16px 20px 20px;background:#fff;color:#202124}.sheet-handle{width:36px;height:4px;background:#dadce0;border-radius:4px;margin:-6px auto 8px}.detail-top{display:flex;align-items:center;justify-content:flex-end;margin-bottom:0;height:26px}.detail-label{font-size:10px;letter-spacing:1.5px;font-weight:600;color:#80868b}.detail-close{width:30px;height:30px;padding:0;font-size:23px;font-weight:300;line-height:1;border:1px solid #e8eaed;color:#5f6368}.detail-student{display:flex;align-items:center;gap:9px;font-size:13px;color:#5f6368;margin-bottom:6px}.detail-student i{width:10px;height:10px;border-radius:3px;flex-shrink:0}#detail .detail-course{font-size:23px;line-height:1.2;letter-spacing:-.5px;font-weight:500;margin:0 0 14px;overflow-wrap:anywhere}.detail-time{display:flex;align-items:center;gap:10px;border:1px solid #e8edf3;background:#f8fafd;border-radius:12px;padding:12px}.detail-clock{font-size:28px;color:#6c7889}.detail-day{display:block;font-size:12px;color:#747a83;margin-bottom:3px}.detail-time strong{display:block;font-size:17px;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}.time-dash{color:#a0a5ac;margin:0 3px}.detail-duration{margin-left:auto;font-size:11px;color:#747a83;white-space:nowrap}@media(max-width:360px){.detail-duration{display:none}#detail{padding-left:20px;padding-right:20px}}#sidebar .person{padding:7px 8px;gap:9px;min-height:44px}#sidebar .person small{margin-top:2px}#sidebar .group h2{margin:16px 8px 6px}#sidebar .hint{padding:8px;margin:8px 0}header .view{appearance:none;-webkit-appearance:none;flex-shrink:0;width:64px;height:40px;line-height:20px;padding:9px 28px 9px 15px;border:1px solid #dadce0;border-radius:12px;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235f6368' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;font-size:13px;font-weight:500;text-align:left;box-shadow:0 1px 2px #00000004}header .view:hover{border-color:#aeb8c6;background-color:#f8fafd}header button[aria-label=Sebelumnya],header button[aria-label=Berikutnya]{width:36px;height:40px;padding:0;font-size:22px;flex-shrink:0}@media(max-width:700px){header .view{height:36px;width:58px;padding:7px 25px 7px 12px;background-position:right 8px center;border-radius:10px}header button[aria-label=Sebelumnya],header button[aria-label=Berikutnya]{height:36px;width:28px}}.days .zone{align-self:stretch;display:flex;align-items:flex-end;justify-content:center;padding:0 0 12px;font-size:10px;font-weight:500;line-height:1;color:#80868b;letter-spacing:.3px}@media(max-width:700px){.days .zone{font-size:8px;letter-spacing:0;padding-bottom:10px}}#sidebar .color-swatch{width:18px;height:18px;min-width:18px;padding:0;border:2px solid white;border-radius:5px;box-shadow:0 0 0 1px #00000018;position:relative}#sidebar .color-swatch:after{content:"";position:absolute;inset:-7px}#color-palette{position:fixed;z-index:110;background:#fff;border:1px solid #e4e7ec;padding:14px;border-radius:14px;box-shadow:0 8px 28px #0002;animation:enter .16s var(--ease) both}.palette-title{display:block;font-size:11px;font-weight:500;color:#747a83;margin-bottom:10px}.palette-grid{display:grid;grid-template-columns:repeat(4,36px);gap:8px}.palette-grid button{width:36px;height:36px;border-radius:50%;padding:0;color:#fff;font-size:19px;border:3px solid white;box-shadow:0 0 0 1px transparent}.palette-grid button:hover,.palette-grid button[aria-pressed=true]{box-shadow:0 0 0 1px #aeb8c6;transform:scale(1.08)}.days .zone{padding-bottom:22px}.col:first-child>.hour:first-child{transform:translateY(5px)}@media(max-width:700px){.days .zone{padding-bottom:20px}.col:first-child>.hour:first-child{transform:translateY(5px)}}.person-label{min-width:0;flex:1;overflow-wrap:anywhere}.delete-person{padding:4px;width:28px;height:28px;flex-shrink:0;font-size:18px;color:#80868b;opacity:0}.person:hover .delete-person,.person:focus-within .delete-person{opacity:1}.delete-all{font-size:12px;color:#a33f3f;margin:8px 0;padding:8px}.local-note{font-size:11px;line-height:1.7;color:#80868b;padding:0 8px}.empty{display:flex;min-height:80%;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px}.empty-icon{font-size:48px;color:#4285f4;margin-bottom:12px}.empty h2{font-size:22px;font-weight:500;margin:8px 0}.empty p{font-size:13px;max-width:410px;color:#747a83;line-height:1.8}.empty-upload{margin-top:16px;background:#c2e7ff;padding:14px 24px}button:disabled{opacity:.4;cursor:default;transform:none}#notice{position:fixed;bottom:24px;left:50%;transform:translate(-50%,12px);opacity:0;pointer-events:none;z-index:200;background:#303134;color:#fff;font-size:12px;line-height:1.6;padding:12px 20px;border-radius:12px;max-width:calc(100vw - 32px);transition:opacity .18s,transform .18s}#notice.visible{opacity:1;transform:translate(-50%)}#notice.error{background:#943e38}@media(max-width:700px){.delete-person{opacity:1}.empty h2{font-size:19px}.empty{padding:24px 16px}.C .layout aside{width:min(300px,calc(100vw - 40px))}}
