:root{--bg: #fbfcff;--text: rgba(15, 23, 42, .92);--muted: rgba(15, 23, 42, .58);--line: rgba(15, 23, 42, .1);--shadow: 0 22px 60px rgba(15, 23, 42, .1);--shadow2: 0 10px 24px rgba(15, 23, 42, .08);--primaryA: #6aa6ff;--primaryB: #b6a6ff}*{box-sizing:border-box}html,body{height:100%;margin:0;background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Noto Sans KR,sans-serif}a{color:inherit;text-decoration:none}.shell{min-height:100vh;display:flex;flex-direction:column}.mainWrap{flex:1;width:min(1100px,100%);margin:0 auto;padding:16px 16px 28px}.mainWrap:has(.gate){width:100%;max-width:none;margin:0;padding:0}.topbarLite{position:sticky;top:0;z-index:50;background:#ffffff8c;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(15,23,42,.1);box-shadow:0 10px 30px #0f172a0f}.topbarLite:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,#ffffff8c,#fff0)}.topbarLite__inner{width:min(1100px,100%);margin:0 auto;padding:12px 16px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;position:relative}.navBtnRow--center{justify-content:center}.topbarUser{justify-self:end;display:flex;align-items:center;justify-content:flex-end;gap:10px}.brandLite{border:none;background:transparent;cursor:pointer;font-weight:1000;letter-spacing:-.4px;color:var(--text);padding:8px 10px;border-radius:12px;font-size:17px}.brandLite:hover{background:#0f172a0a}.navLite{display:flex;gap:6px;margin-left:6px}.navLite__item{padding:8px 10px;border-radius:12px;font-weight:900;color:#0f172ab8}.navLite__item:hover{background:#0f172a0a}.navLite__item.active{background:#6aa6ff29;border:1px solid rgba(106,166,255,.22);color:#0f172aeb}.topbarLite__right{margin-left:auto;display:flex;align-items:center;gap:10px}.topbarLite__rightGroup{display:flex;align-items:center;gap:12px}.navBtnRow{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}.navBtn{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;text-decoration:none;font-weight:900;font-size:14px;line-height:1;border:1px solid rgba(15,23,42,.1);background:#0f172a0a;color:#0f172ad1;transition:transform .12s ease,background .12s ease,border-color .12s ease,box-shadow .12s ease}.navBtn:hover{transform:translateY(-1px);background:#0f172a0f;border-color:#0f172a24}.navBtn.active{background:#0f172aeb;border-color:#0f172aeb;color:#fff;box-shadow:0 8px 18px #0f172a24}.authRow{display:flex;align-items:center;gap:10px}.liteMuted{color:var(--muted);font-weight:800;font-size:13px}.liteChip{border:1px solid var(--line);background:#ffffffc7;padding:8px 10px;border-radius:999px;font-weight:900;color:#0f172ac7}.liteBtn,.liteBtnPrimary{border-radius:14px;padding:10px 12px;font-weight:900;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .12s ease;white-space:nowrap}.liteBtn{border:1px solid var(--line);background:#ffffffe6;box-shadow:var(--shadow2);color:var(--text)}.liteBtn:hover{transform:translateY(-1px)}.liteBtn:active{transform:translateY(0);box-shadow:none}.liteBtnPrimary{border:none;color:#fff;background:linear-gradient(135deg,var(--primaryA),var(--primaryB));box-shadow:0 14px 30px #6aa6ff33}.liteBtnPrimary:hover{transform:translateY(-1px)}.liteBtnPrimary:active{transform:translateY(0);box-shadow:0 10px 22px #6aa6ff29}.footerLite{border-top:1px solid rgba(15,23,42,.1);background:#ffffffb8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.footerLite__inner{width:min(1100px,100%);margin:0 auto;padding:14px 16px}.footerRow{display:flex;align-items:center;justify-content:space-between;gap:12px}.gate{position:relative;min-height:calc(100vh - 120px);display:grid;place-items:center;overflow:hidden;padding:24px 16px}.gateBg{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.gateBlob{position:absolute;border-radius:999px;filter:blur(70px);opacity:.55}.gateBlob.a{width:820px;height:820px;left:-420px;top:-420px;background:radial-gradient(circle at 40% 40%,#6aa6ff73,#6aa6ff00)}.gateBlob.b{width:780px;height:780px;right:-420px;top:-380px;background:radial-gradient(circle at 45% 45%,#b6a6ff6b,#b6a6ff00)}.gateBlob.c{width:760px;height:760px;left:38%;bottom:-520px;background:radial-gradient(circle at 45% 45%,#ffbed259,#ffbed200)}.gateNoise{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.05;background-image:radial-gradient(rgba(15,23,42,.2) 1px,transparent 1px);background-size:18px 18px;-webkit-mask-image:radial-gradient(circle at 50% 35%,#000000bf,#0000);mask-image:radial-gradient(circle at 50% 35%,#000000bf,#0000)}.gateCenter{position:relative;z-index:1;width:min(420px,92vw);text-align:center;padding:10px}.gateTitle{margin:0 0 26px;font-size:34px;line-height:1.15;letter-spacing:-1px;font-weight:1000;word-break:keep-all}.gateButtons{display:flex;flex-direction:column;gap:10px}.btnPrimaryWide,.btnGhostWide,.socialBtn{width:100%;border-radius:16px;padding:12px 14px;font-weight:950;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease;box-shadow:var(--shadow2);display:flex;align-items:center;justify-content:center;gap:10px}.btnPrimaryWide{border:none;color:#fff;background:linear-gradient(135deg,var(--primaryA),var(--primaryB))}.btnPrimaryWide:hover{transform:translateY(-1px)}.btnPrimaryWide:active{transform:translateY(0);box-shadow:none}.btnGhostWide{border:1px solid var(--line);background:#ffffffc7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text)}.btnGhostWide:hover{transform:translateY(-1px)}.btnGhostWide:active{transform:translateY(0);box-shadow:none}.gateDivider{display:flex;align-items:center;justify-content:center;gap:12px;margin:14px 0 8px}.gateDivider:before,.gateDivider:after{content:"";flex:1;height:1px;background:#0f172a1f}.gateDivider span{background:transparent!important;padding:0;color:var(--muted);font-weight:900;font-size:12px;white-space:nowrap}.socialBtn{border:1px solid rgba(0,0,0,.08);background:#ffffffeb;color:var(--text)}.socialBtn:hover{transform:translateY(-1px)}.socialBtn:active{transform:translateY(0);box-shadow:none}.socialText{font-weight:950}.socialBtn--naver{border:none;background:#03c75a;color:#fff}.socialBtn--naver .socialIcon{font-weight:1000;background:#ffffff2e;width:26px;height:26px;border-radius:8px;display:grid;place-items:center}.socialBtn--kakao{border:none;background:#fee500;color:#191919}.socialBtn--kakao .socialIcon{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:#0000000f}.socialBtn--google{background:#fff;border:1px solid rgba(0,0,0,.12)}.googleG{width:22px;height:22px;position:relative;display:inline-block}.gPart{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;clip-path:polygon(50% 50%,100% 0,100% 100%);opacity:.95}.gPart.blue{background:#4285f4;transform:rotate(0)}.gPart.red{background:#ea4335;transform:rotate(90deg)}.gPart.yellow{background:#fbbc05;transform:rotate(180deg)}.gPart.green{background:#34a853;transform:rotate(270deg)}.gateHint{margin:14px 0 0;color:var(--muted);font-size:13px;font-weight:800}.loginCard{width:100%;border-radius:22px;background:#ffffffc7;border:1px solid rgba(15,23,42,.1);box-shadow:var(--shadow);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding:18px;text-align:left}.loginCardTitle{text-align:center;font-weight:1000;font-size:18px;letter-spacing:-.4px;margin-bottom:14px}.loginForm{display:flex;flex-direction:column}.loginLabel{font-size:13px;font-weight:900;color:#0f172a9e;margin-bottom:8px}.loginInput{width:100%;border-radius:18px;padding:14px;border:1px solid rgba(15,23,42,.1);background:#ffffffeb;box-shadow:0 10px 22px #0f172a0f;outline:none;font-weight:800;color:var(--text)}.loginInput:focus{border-color:#6aa6ff8c;box-shadow:0 14px 26px #6aa6ff2e}.loginPrimary{width:100%;margin-top:16px;border:none;border-radius:18px;padding:14px;font-weight:1000;cursor:pointer;color:#fff;background:linear-gradient(135deg,var(--primaryA),var(--primaryB));box-shadow:0 16px 32px #6aa6ff38;transition:transform .12s ease,box-shadow .12s ease}.loginPrimary:hover{transform:translateY(-1px)}.loginPrimary:active{transform:translateY(0);box-shadow:0 10px 22px #6aa6ff2e}.loginSecondary{width:100%;margin-top:10px;border-radius:18px;padding:14px;font-weight:1000;cursor:pointer;border:1px solid rgba(15,23,42,.12);background:#ffffffeb;box-shadow:0 10px 22px #0f172a0f;transition:transform .12s ease}.loginSecondary:hover{transform:translateY(-1px)}.loginSecondary:active{transform:translateY(0);box-shadow:none}.loginHint{text-align:center;margin-top:12px;font-size:13px;font-weight:800;color:#0f172a99}.dash{display:flex;flex-direction:column;gap:16px}.dashTitleRow{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:10px;flex-wrap:wrap}.dashTitle{margin:0;font-size:22px;letter-spacing:-.6px;font-weight:1000}.dashMeta{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto;justify-content:flex-end;align-items:center}.chipLite{border:1px solid var(--line);background:#ffffffb8;box-shadow:var(--shadow2);padding:7px 10px;border-radius:999px;font-weight:900;font-size:12px}.chipLite.muted{color:var(--muted)}.calendarCard{border:1px solid var(--line);background:#ffffffc7;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow);border-radius:22px;padding:12px}.slotLegend{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px;color:var(--muted);font-weight:800;font-size:12px}.fc{color:var(--text)}.fc .fc-daygrid-day-frame{min-height:140px}.fc .fc-daygrid-day-number{font-weight:900;color:#0f172ad9}.fc .fc-daygrid-day-events{display:grid;grid-template-rows:repeat(4,minmax(18px,auto));gap:4px;min-height:84px}.fc .fc-daygrid-event-harness.h-slot-OFF{grid-row:1}.fc .fc-daygrid-event-harness.h-slot-AM_DRIVER{grid-row:2}.fc .fc-daygrid-event-harness.h-slot-PM_DRIVER{grid-row:3}.fc .fc-daygrid-event-harness.h-slot-NIGHT{grid-row:4}.fc .fc-daygrid-event{border-radius:10px;padding:2px 8px;font-size:12px;font-weight:900;border:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.detailCard{border:1px solid var(--line);background:#ffffffc7;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow);border-radius:22px;padding:14px}.detailHead{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.detailDate{font-weight:1000;font-size:16px}.detailSub{color:var(--muted);font-weight:800;font-size:12px;margin-top:4px}.detailActions{display:flex;justify-content:flex-end;flex:0 0 auto}.btnAddGreen{border:none;border-radius:14px;padding:10px 12px;font-weight:1000;cursor:pointer;color:#fff;background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 14px 28px #22c55e38;white-space:nowrap;word-break:keep-all;min-width:118px;line-height:1.1}.btnAddGreen:hover{transform:translateY(-1px)}.btnAddGreen:active{transform:translateY(0);box-shadow:0 10px 22px #22c55e2e}.slotGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.slotCard{border:1px solid var(--line);background:#ffffffc2;box-shadow:var(--shadow2);border-radius:18px;padding:12px}.slotCardHead{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.slotCardTitle{font-weight:1000;letter-spacing:-.3px}.miniAdd{border:1px solid var(--line);background:#ffffffe6;box-shadow:var(--shadow2);border-radius:12px;padding:7px 10px;font-weight:1000;cursor:pointer}.miniAdd:hover{transform:translateY(-1px)}.slotEmpty{color:var(--muted);font-weight:800;font-size:13px;padding:8px 2px}.slotList{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.slotItemLite{border:1px solid rgba(15,23,42,.08);background:#ffffffe0;border-radius:16px;padding:10px;cursor:pointer;box-shadow:0 10px 22px #0f172a0d}.slotItemLite:hover{transform:translateY(-1px)}.slotItemLite.active{border-color:#6aa6ff73;box-shadow:0 14px 26px #6aa6ff24}.slotRow{display:flex;gap:8px;align-items:center;margin-bottom:6px}.nameChip{color:#fff;border-radius:999px;padding:6px 10px;font-weight:1000;font-size:12px}.timeChip{border:1px solid var(--line);background:#ffffffd9;border-radius:999px;padding:6px 10px;font-weight:1000;font-size:12px;color:#0f172ab8}.memoLine{color:#0f172a9e;font-weight:800;font-size:12px;line-height:1.35}.slotBtns{display:flex;justify-content:flex-end;margin-top:8px}.btnDelete{border:none;border-radius:12px;padding:8px 10px;font-weight:1000;cursor:pointer;color:#fff;background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 12px 24px #ef44442e}.memoBoxLite{margin-top:12px;border:1px solid var(--line);background:#ffffffc2;box-shadow:var(--shadow2);border-radius:18px;padding:12px}.memoHead{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px}.memoTitleLite{font-weight:1000}.memoHintLite{color:var(--muted);font-weight:800;font-size:12px}.memoArea{width:100%;min-height:110px;border-radius:16px;border:1px solid rgba(15,23,42,.1);background:#ffffffeb;box-shadow:0 10px 22px #0f172a0f;padding:12px;resize:vertical;outline:none;font-weight:800;color:var(--text)}.memoBtns{display:flex;justify-content:flex-end;margin-top:10px}.btnSave{border:none;border-radius:14px;padding:10px 12px;font-weight:1000;cursor:pointer;color:#fff;background:linear-gradient(135deg,#6aa6ff,#b6a6ff);box-shadow:0 14px 28px #6aa6ff38}.modalBack{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a38;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:grid;place-items:center;z-index:999;padding:14px}.modalCard{width:min(720px,95vw);border-radius:20px;background:#ffffffdb;border:1px solid rgba(15,23,42,.12);box-shadow:0 26px 70px #0f172a2e;padding:14px}.modalTitleRow{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.modalTitle{font-weight:1000;font-size:16px}.modalClose{border:1px solid var(--line);background:#ffffffeb;border-radius:12px;padding:8px 10px;cursor:pointer;font-weight:1000}.modalGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.modalField{display:flex;flex-direction:column;gap:6px}.modalField label{color:var(--muted);font-weight:900;font-size:12px}.modalField input,.modalField select,.modalField textarea{border-radius:14px;border:1px solid rgba(15,23,42,.1);background:#ffffffeb;padding:11px 12px;outline:none;font-weight:800}.modalField textarea{min-height:110px;resize:vertical}.modalField.span2{grid-column:span 2}.modalBtns{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}.btnGhost{border:1px solid var(--line);background:#ffffffeb;border-radius:14px;padding:10px 12px;font-weight:1000;cursor:pointer}.btnGreen{border:none;border-radius:14px;padding:10px 12px;font-weight:1000;cursor:pointer;color:#fff;background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 14px 28px #22c55e38}.fc .fc-toolbar{flex-wrap:wrap;gap:10px}.fc .fc-toolbar-chunk{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.fc .fc-toolbar-title{line-height:1.1;white-space:nowrap}.fcEventLine{display:flex;align-items:center;gap:6px;min-width:0}.fcEventName{font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slotDot{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:999px;font-size:11px;font-weight:1000;letter-spacing:-.2px;line-height:1;border:1px solid rgba(15,23,42,.12);background:#fffffff2;flex:0 0 auto;white-space:nowrap}.fcEventLine .slotDot{width:22px;height:22px;font-size:10px}.slotDot--OFF{color:#b91c1c;background:#ef44441a;border-color:#ef44442e}.slotDot--AM_DRIVER{color:#1d4ed8;background:#3b82f61a;border-color:#3b82f62e}.slotDot--PM_DRIVER{color:#7c3aed;background:#7c3aed1a;border-color:#7c3aed2e}.slotDot--NIGHT{color:#0f172a;background:#0f172a0f;border-color:#0f172a1f}.fc .fc-daygrid-event .fc-event-title{white-space:nowrap}.brandLogo{width:22px;height:22px;object-fit:contain;flex:0 0 auto}.loginLinkBtn{width:100%;margin-top:10px;border:none;background:transparent;cursor:pointer;font-weight:900;color:#0f172ab3;text-decoration:underline;text-underline-offset:4px;padding:8px 0}.loginLinkBtn:hover{color:#0f172aeb}.footerLinks{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.footerLink{border:none;background:transparent;padding:6px 8px;border-radius:10px;cursor:pointer;font-weight:900;color:#0f172ab8}.footerLink:hover{background:#0f172a0d;color:#0f172aeb}.footerSep{color:#0f172a59;font-weight:900}.policyModalBack{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a47;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:grid;place-items:center;z-index:9999;padding:14px}.policyModalCard{width:min(860px,96vw);max-height:min(80vh,760px);overflow:hidden;border-radius:22px;background:#ffffffe0;border:1px solid rgba(15,23,42,.12);box-shadow:0 26px 70px #0f172a38;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);display:flex;flex-direction:column}.policyModalHead{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 14px 10px;border-bottom:1px solid rgba(15,23,42,.1)}.policyModalTitle{font-weight:1000;font-size:16px;letter-spacing:-.4px}.policyModalClose{border:1px solid rgba(15,23,42,.12);background:#ffffffeb;border-radius:12px;padding:8px 10px;cursor:pointer;font-weight:1000}.policyModalBody{padding:12px 14px;overflow:auto}.policyText{margin:0;white-space:pre-wrap;word-break:keep-all;line-height:1.6;font-weight:800;color:#0f172ad9;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Noto Sans KR,sans-serif}.policyModalFoot{padding:12px 14px 14px;display:flex;justify-content:flex-end;gap:10px;border-top:1px solid rgba(15,23,42,.1)}.formWarn{margin-top:8px;font-size:12px;font-weight:900;color:#b91c1c}.consentRow{margin-top:12px;display:flex;align-items:center;justify-content:flex-start}.consentLeft{display:flex;gap:10px;align-items:center;font-weight:900;color:#0f172ab8;font-size:13px}.consentLeft input{width:18px;height:18px}.consentLink{border:none;background:transparent;padding:0;margin:0;font:inherit;font-weight:1000;color:#0f172aeb;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.consentLink:hover{opacity:.85}.captchaWrap{margin-top:14px;display:flex;justify-content:center}.loginPrimary:disabled{opacity:.55;cursor:not-allowed;transform:none!important;box-shadow:0 10px 22px #6aa6ff1f}@media (max-width: 980px){.slotGrid{grid-template-columns:1fr}}@media (max-width: 768px){.topbarLite__inner{display:flex;flex-direction:column;align-items:center;gap:10px}.topbarUser{width:100%;justify-content:center}.topbarLite__rightGroup{width:100%;flex-direction:column;align-items:center;gap:10px}.navBtnRow{width:100%;justify-content:center;flex-wrap:wrap;gap:8px}.authRow{width:100%;justify-content:center}}@media (max-width: 720px){body{overflow-x:hidden}.brandLite{font-size:16px}.gate{padding:18px 14px;min-height:calc(100vh - 112px)}.gateTitle{font-size:30px;margin-bottom:22px}.loginCard{padding:16px;border-radius:20px}.loginInput,.loginPrimary,.loginSecondary{padding:12px;border-radius:16px;font-size:14px}.btnPrimaryWide,.btnGhostWide,.socialBtn{border-radius:14px;padding:11px 12px;font-size:14px}.footerRow,.dashTitleRow{flex-direction:column;align-items:flex-start}.dashMeta{margin-left:0;justify-content:flex-start;width:100%}.btnAddGreen{min-width:112px;padding:10px 12px}.fc .fc-toolbar-title{font-size:22px}.modalGrid{grid-template-columns:1fr}.modalField.span2{grid-column:auto}.footerLinks{width:100%;justify-content:flex-start}}@media (max-width: 380px){.gateTitle{font-size:28px}.brandLite{font-size:15px}.loginCardTitle{font-size:17px}}
