.campus-map_page__twUBA{display:grid;gap:20px;width:100%;color:var(--ink-900)}.campus-map_pageHeader__4CkQ5{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.campus-map_detailState__gySNl p,.campus-map_editorHeader__P8ZzD h3,.campus-map_editorHeader__P8ZzD p,.campus-map_feedback__D_1LV p,.campus-map_imageControls__iPNG0 p,.campus-map_pageHeader__4CkQ5 h2,.campus-map_pageHeader__4CkQ5 p,.campus-map_panelHeader__a8EBY h3,.campus-map_panelHeader__a8EBY p,.campus-map_sectionHeading__8T08p h4,.campus-map_sectionHeading__8T08p p,.campus-map_statePanel__ix_FP p{margin:0}.campus-map_pageHeader__4CkQ5 h2{font-size:clamp(24px,3vw,31px);font-weight:820;letter-spacing:-.045em;line-height:1.2}.campus-map_pageHeader__4CkQ5 p{margin-top:8px;color:var(--ink-500);font-size:13px;line-height:1.65}.campus-map_formActions__oPpK7,.campus-map_imageActions__DQLII,.campus-map_pageActions__LtOgv{display:flex;align-items:center;gap:9px}.campus-map_button__U2rs0{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:7px;padding:0 15px;border:1px solid transparent;border-radius:var(--radius-control,8px);font:inherit;font-size:13px;font-weight:760;line-height:1;white-space:nowrap;cursor:pointer;transition:transform .14s ease,border-color .14s ease,color .14s ease,background .14s ease}.campus-map_button__U2rs0:not(:disabled):hover{transform:translateY(-1px)}.campus-map_button__U2rs0:not(:disabled):active{transform:translateY(0)}.campus-map_button__U2rs0:focus-visible,.campus-map_cancelImageButton__szCyB:focus-visible,.campus-map_feedback__D_1LV>button:focus-visible,.campus-map_inlineError__IKDYr button:focus-visible,.campus-map_placeItem__4pMlP:focus-visible,.campus-map_removeRowButton__e0xPm:focus-visible{outline:3px solid rgba(15,116,185,.2);outline-offset:2px}.campus-map_primaryButton__ZELKD{color:var(--white);background:var(--brand-primary)}.campus-map_primaryButton__ZELKD:not(:disabled):hover{background:var(--navy-800)}.campus-map_secondaryButton__wQl8v{border-color:var(--line-strong,#c5d0d9);color:var(--ink-700);background:var(--white)}.campus-map_secondaryButton__wQl8v:not(:disabled):hover{border-color:var(--brand-primary);color:var(--brand-primary);background:var(--brand-light)}.campus-map_dangerButton__DA2h7{border-color:#e5b7b4;color:var(--danger);background:var(--white)}.campus-map_dangerButton__DA2h7:not(:disabled):hover{border-color:var(--danger);background:var(--danger-bg)}.campus-map_smallButton__jsTrV{min-height:36px;padding-inline:12px;font-size:12px}.campus-map_feedback__D_1LV{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px;padding:15px 16px;border:1px solid var(--line);border-radius:var(--radius-panel,12px);background:var(--white)}.campus-map_feedback__D_1LV>svg{margin-top:1px}.campus-map_feedback__D_1LV strong{display:block;font-size:13px;line-height:1.45}.campus-map_feedback__D_1LV p{margin-top:3px;color:var(--ink-500);font-size:12px;line-height:1.55}.campus-map_feedback__D_1LV>button{display:grid;width:32px;height:32px;place-items:center;padding:0;border:0;border-radius:var(--radius-control,8px);color:currentColor;background:transparent}.campus-map_feedback__D_1LV>button:hover{background:rgba(255,255,255,.72)}.campus-map_successFeedback__JFYlE{border-color:#b8dfd0;color:var(--success);background:var(--success-bg)}.campus-map_infoFeedback__VPv71{border-color:#bfd9e5;color:var(--brand-primary);background:#f0f8fb}.campus-map_errorFeedback__ljjW9{border-color:#edc4c1;color:var(--danger);background:var(--danger-bg)}.campus-map_workspace__8zZNH{display:grid;grid-template-columns:minmax(310px,360px) minmax(0,1fr);gap:20px;align-items:start}.campus-map_panel__ggmwU{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-panel,12px);background:var(--white);box-shadow:var(--shadow-sm)}.campus-map_listPanel__XCyRF{position:sticky;top:104px;display:grid;max-height:calc(100dvh - 126px);min-height:650px;grid-template-rows:auto auto auto minmax(0,1fr)}.campus-map_panelHeader__a8EBY{display:flex;min-height:78px;align-items:center;justify-content:space-between;gap:16px;padding:17px 18px;border-bottom:1px solid var(--line)}.campus-map_panelHeader__a8EBY>div{display:flex;min-width:0;align-items:center;gap:11px}.campus-map_panelIcon__y1Ie8,.campus-map_sectionIcon__WAo1q{display:grid;flex:0 0 auto;place-items:center;color:var(--brand-primary);background:var(--brand-light)}.campus-map_panelIcon__y1Ie8{width:38px;height:38px;border-radius:9px}.campus-map_panelHeader__a8EBY h3{font-size:15px;font-weight:780;letter-spacing:-.025em;line-height:1.35}.campus-map_panelHeader__a8EBY p{margin-top:3px;color:var(--ink-500);font-size:11px;line-height:1.45}.campus-map_countBadge__zWCmi,.campus-map_modeLabel__SJCcb,.campus-map_pendingImageBadge__brT7R,.campus-map_unsavedBadge__6g7FZ{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;border-radius:999px;font-size:10px;font-weight:780;line-height:1;white-space:nowrap}.campus-map_countBadge__zWCmi{min-height:28px;padding:0 10px;color:var(--ink-700);background:var(--surface-raised,#f5f7f9)}.campus-map_listControls__gKm_2{display:grid;gap:12px;padding:15px 16px;border-bottom:1px solid var(--line);background:var(--surface-raised,#f8fafb)}.campus-map_filterGrid__VFrLy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.campus-map_controlField__QeCYm{display:grid;min-width:0;gap:6px}.campus-map_searchField__Zy7Yl{grid-column:1/-1}.campus-map_controlField__QeCYm>span:first-child{color:var(--ink-700);font-size:10px;font-weight:740}.campus-map_controlField__QeCYm input,.campus-map_controlField__QeCYm select{width:100%;height:40px;border:1px solid var(--line-strong,#c5d0d9);border-radius:var(--radius-control,8px);outline:0;color:var(--ink-900);background:var(--white);font-size:12px;transition:border-color .14s ease,box-shadow .14s ease}.campus-map_controlField__QeCYm input:focus,.campus-map_controlField__QeCYm select:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px rgba(15,116,185,.13)}.campus-map_controlField__QeCYm select{padding:0 10px}.campus-map_searchInput__hesfx{position:relative;display:block}.campus-map_searchInput__hesfx>svg{position:absolute;top:50%;left:11px;z-index:1;color:var(--ink-400);pointer-events:none;transform:translateY(-50%)}.campus-map_searchInput__hesfx input{padding:0 11px 0 34px}.campus-map_controlField__QeCYm input::placeholder,.campus-map_field__ANJr1 input::placeholder,.campus-map_repeatRow__9rfnu input::placeholder{color:var(--ink-400);opacity:1}.campus-map_inlineError__IKDYr{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 13px;border-bottom:1px solid #edc4c1;color:var(--danger);background:var(--danger-bg);font-size:11px;line-height:1.4}.campus-map_inlineError__IKDYr button{padding:4px;border:0;color:currentColor;background:transparent;font-size:11px;font-weight:760;text-decoration:underline}.campus-map_listBody__9f25t{min-height:0;overflow-y:auto;overscroll-behavior:contain}.campus-map_placeList__A0_eD{display:grid;gap:7px;margin:0;padding:10px;list-style:none}.campus-map_placeItem__4pMlP{display:grid;width:100%;min-width:0;grid-template-columns:54px minmax(0,1fr);gap:11px;padding:10px;border:1px solid transparent;border-radius:10px;color:var(--ink-900);background:transparent;text-align:left;transition:border-color .14s ease,background .14s ease,transform .14s ease}.campus-map_placeItem__4pMlP:not(:disabled):hover{border-color:var(--line);background:var(--surface-raised,#f5f7f9);transform:translateY(-1px)}.campus-map_activePlaceItem__3pKgw,.campus-map_activePlaceItem__3pKgw:not(:disabled):hover{border-color:#a9cee2;background:#eff8fc}.campus-map_placeThumbnail__1AgAS{display:grid;width:54px;height:54px;overflow:hidden;place-items:center;border:1px solid var(--line);border-radius:9px;color:var(--ink-400);background:#edf2f5}.campus-map_placeThumbnail__1AgAS img{display:block;width:100%;height:100%;object-fit:cover}.campus-map_placeCopy__Ypn2w{display:grid;min-width:0;align-content:center;gap:3px}.campus-map_placeMeta__N0ISu{display:flex;align-items:center;gap:5px;overflow:hidden;color:var(--brand-primary);font-size:9px;font-weight:760;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.campus-map_placeMeta__N0ISu>span{color:var(--ink-400)}.campus-map_placeCopy__Ypn2w small,.campus-map_placeCopy__Ypn2w strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.campus-map_placeCopy__Ypn2w strong{font-size:13px;font-weight:760;line-height:1.4}.campus-map_placeCopy__Ypn2w small{color:var(--ink-500);font-size:10px;line-height:1.4}.campus-map_detailState__gySNl,.campus-map_statePanel__ix_FP{display:grid;align-content:center;justify-items:center;gap:9px;padding:32px 24px;text-align:center}.campus-map_statePanel__ix_FP{min-height:330px}.campus-map_detailState__gySNl>svg,.campus-map_statePanel__ix_FP>svg{margin-bottom:3px;color:var(--ink-400)}.campus-map_detailState__gySNl strong,.campus-map_statePanel__ix_FP strong{font-size:14px;font-weight:760}.campus-map_detailState__gySNl p,.campus-map_statePanel__ix_FP p{max-width:330px;color:var(--ink-500);font-size:12px;line-height:1.6}.campus-map_loadingList__pcLK3{display:grid;gap:10px;padding:13px 10px}.campus-map_loadingList__pcLK3 span{height:76px;border-radius:10px;background:linear-gradient(110deg,var(--surface-raised,#f5f7f9) 25%,#e9eef2 48%,var(--surface-raised,#f5f7f9) 70%);background-size:220% 100%}@media (prefers-reduced-motion:no-preference){.campus-map_detailSkeleton__sBMpL span,.campus-map_loadingList__pcLK3 span{animation:campus-map_loadingSweep__aZmkr 1.35s ease-in-out infinite}}@keyframes campus-map_loadingSweep__aZmkr{to{background-position-x:-220%}}.campus-map_editorStack__MTLC1{min-width:0;scroll-margin-top:102px}.campus-map_detailState__gySNl{min-height:560px}.campus-map_detailSkeleton__sBMpL{display:grid;width:min(620px,100%);gap:15px}.campus-map_detailSkeleton__sBMpL span{height:54px;border-radius:10px;background:linear-gradient(110deg,var(--surface-raised,#f5f7f9) 25%,#e9eef2 48%,var(--surface-raised,#f5f7f9) 70%);background-size:220% 100%}.campus-map_detailSkeleton__sBMpL span:first-child{height:98px}.campus-map_detailSkeleton__sBMpL span:last-child{height:210px}.campus-map_editorPanel__H20_X{display:grid}.campus-map_editorHeader__P8ZzD{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px 20px;border-bottom:1px solid var(--line)}.campus-map_editorHeader__P8ZzD>div{min-width:0}.campus-map_modeLabel__SJCcb{min-height:24px;margin-bottom:9px;padding:0 9px;color:var(--brand-primary);background:var(--brand-light)}.campus-map_editorHeader__P8ZzD h3{font-size:19px;font-weight:800;letter-spacing:-.035em;line-height:1.35}.campus-map_editorHeader__P8ZzD p{margin-top:5px;color:var(--ink-500);font-size:12px;line-height:1.55}.campus-map_unsavedBadge__6g7FZ{min-height:28px;padding:0 10px;color:var(--warning);background:var(--warning-bg)}.campus-map_formFieldset__GVApx{display:grid;gap:0;margin:0;padding:0;border:0}.campus-map_formSection__MsBjk{display:grid;gap:20px;padding:24px;border-bottom:1px solid var(--line)}.campus-map_sectionHeading__8T08p{display:flex;align-items:flex-start;gap:11px}.campus-map_sectionIcon__WAo1q{width:36px;height:36px;border-radius:9px}.campus-map_sectionHeading__8T08p h4{font-size:15px;font-weight:780;letter-spacing:-.025em;line-height:1.4}.campus-map_sectionHeading__8T08p p{margin-top:3px;color:var(--ink-500);font-size:11px;line-height:1.5}.campus-map_formGrid__xJdax{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px}.campus-map_fullSpan__I7VoA{grid-column:1/-1}.campus-map_field__ANJr1{display:grid;min-width:0;align-content:start;gap:7px}.campus-map_fieldHeading__hf6Cx{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--ink-900);font-size:12px;font-weight:760}.campus-map_fieldHeading__hf6Cx em,.campus-map_repeatHeading___V5Fu em{margin-left:3px;color:var(--brand-primary);font-size:10px;font-style:normal}.campus-map_fieldHeading__hf6Cx small{color:var(--ink-500);font-size:10px;font-variant-numeric:tabular-nums;font-weight:650;white-space:nowrap}.campus-map_field__ANJr1 input,.campus-map_field__ANJr1 select,.campus-map_repeatRow__9rfnu input{width:100%;min-height:44px;border:1px solid var(--line-strong,#c5d0d9);border-radius:var(--radius-control,8px);outline:0;color:var(--ink-900);background:var(--white);font:inherit;font-size:13px;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}.campus-map_field__ANJr1 input,.campus-map_repeatRow__9rfnu input{padding:0 12px}.campus-map_field__ANJr1 select{padding:0 10px}.campus-map_field__ANJr1 input:hover:not(:disabled),.campus-map_field__ANJr1 select:hover:not(:disabled),.campus-map_repeatRow__9rfnu input:hover:not(:disabled){border-color:#a9b9c5}.campus-map_field__ANJr1 input:focus,.campus-map_field__ANJr1 select:focus,.campus-map_repeatRow__9rfnu input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px rgba(15,116,185,.13)}.campus-map_field__ANJr1 input[aria-invalid=true],.campus-map_field__ANJr1 select[aria-invalid=true],.campus-map_repeatRow__9rfnu input[aria-invalid=true]{border-color:var(--danger);background:#fffafa}.campus-map_fieldError__sCu_h,.campus-map_fieldHelp__WGSoQ{font-size:10px;line-height:1.5}.campus-map_fieldHelp__WGSoQ{color:var(--ink-500)}.campus-map_fieldError__sCu_h{color:var(--danger);font-weight:700}.campus-map_lectureFields__yYeYg{display:grid;gap:20px;padding:18px;border:1px solid #cfe0e8;border-radius:11px;background:#f7fbfd}.campus-map_repeatField__MbXFe{display:grid;gap:10px;padding-top:18px;border-top:1px solid #dce7ec}.campus-map_repeatHeading___V5Fu{display:flex;align-items:center;justify-content:space-between;gap:16px}.campus-map_repeatHeading___V5Fu span,.campus-map_repeatHeading___V5Fu strong{display:block}.campus-map_repeatHeading___V5Fu strong{font-size:12px;font-weight:770;line-height:1.4}.campus-map_repeatHeading___V5Fu span{margin-top:2px;color:var(--ink-500);font-size:10px;line-height:1.45}.campus-map_repeatRows__9FRwH{display:grid;gap:8px}.campus-map_repeatRow__9rfnu{display:grid;grid-template-columns:minmax(0,1fr) auto 38px;align-items:center;gap:8px}.campus-map_repeatRow__9rfnu label{min-width:0}.campus-map_rowCount__whUHL{min-width:54px;color:var(--ink-500);font-size:9px;font-variant-numeric:tabular-nums;text-align:right}.campus-map_removeRowButton__e0xPm{display:grid;width:38px;height:38px;place-items:center;padding:0;border:1px solid #e5c4c2;border-radius:var(--radius-control,8px);color:var(--danger);background:var(--white);transition:border-color .14s ease,background .14s ease}.campus-map_removeRowButton__e0xPm:not(:disabled):hover{border-color:var(--danger);background:var(--danger-bg)}.campus-map_imageCard__wYAVB{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(270px,1fr);overflow:hidden;border:1px solid var(--line);border-radius:11px;background:var(--surface-raised,#f8fafb)}.campus-map_invalidImageCard__Xnalx{border-color:var(--danger)}.campus-map_imagePreview__JHUm8{position:relative;display:grid;min-height:220px;overflow:hidden;place-items:center;border-right:1px solid var(--line);background:#eaf0f3}.campus-map_imagePreview__JHUm8 img{display:block;width:100%;height:100%;object-fit:cover}.campus-map_imageFallback__EIz6F{display:grid;justify-items:center;gap:5px;padding:24px;color:var(--ink-500);text-align:center}.campus-map_imageFallback__EIz6F strong{margin-top:3px;color:var(--ink-700);font-size:12px}.campus-map_imageFallback__EIz6F span{font-size:10px;line-height:1.5}.campus-map_pendingImageBadge__brT7R{position:absolute;top:10px;right:10px;min-height:25px;padding:0 9px;color:var(--warning);background:var(--warning-bg);box-shadow:0 1px 4px rgba(80,56,19,.12)}.campus-map_imageControls__iPNG0{display:grid;align-content:center;gap:14px;padding:20px}.campus-map_imageControls__iPNG0 strong{display:block;overflow:hidden;font-size:13px;font-weight:760;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.campus-map_imageControls__iPNG0 p{margin-top:4px;color:var(--ink-500);font-size:10px;line-height:1.55}.campus-map_fileButton__6b35K{position:relative;overflow:hidden}.campus-map_fileButton__6b35K input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap}.campus-map_fileButton__6b35K:focus-within{outline:3px solid rgba(15,116,185,.2);outline-offset:2px}.campus-map_cancelImageButton__szCyB{min-height:36px;padding:0 5px;border:0;color:var(--danger);background:transparent;font-size:11px;font-weight:740}.campus-map_cancelImageButton__szCyB:hover{text-decoration:underline}.campus-map_formActions__oPpK7{padding:18px 24px;background:var(--surface-raised,#f8fafb)}.campus-map_actionSpacer___Sukn{flex:1}.campus-map_visuallyHidden__aQLCk{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}@media (max-width:1240px){.campus-map_workspace__8zZNH{grid-template-columns:minmax(290px,330px) minmax(0,1fr)}.campus-map_formSection__MsBjk{padding-inline:22px}.campus-map_imageCard__wYAVB{grid-template-columns:minmax(190px,.62fr) minmax(250px,1fr)}.campus-map_imageActions__DQLII{flex-wrap:wrap}}@media (max-width:1040px){.campus-map_workspace__8zZNH{grid-template-columns:minmax(0,1fr)}.campus-map_listPanel__XCyRF{position:static;max-height:560px;min-height:460px}.campus-map_editorStack__MTLC1{scroll-margin-top:100px}.campus-map_statePanel__ix_FP{min-height:260px}}@media (max-width:720px){.campus-map_page__twUBA{gap:16px}.campus-map_pageHeader__4CkQ5{align-items:stretch;flex-direction:column;gap:15px}.campus-map_pageActions__LtOgv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.campus-map_pageActions__LtOgv .campus-map_button__U2rs0{width:100%}.campus-map_feedback__D_1LV{padding:13px}.campus-map_editorHeader__P8ZzD,.campus-map_panelHeader__a8EBY{padding-inline:18px}.campus-map_formSection__MsBjk{gap:18px;padding:20px 18px}.campus-map_formGrid__xJdax{grid-template-columns:minmax(0,1fr)}.campus-map_fullSpan__I7VoA{grid-column:auto}.campus-map_lectureFields__yYeYg{padding:15px}.campus-map_imageCard__wYAVB{grid-template-columns:minmax(0,1fr)}.campus-map_imagePreview__JHUm8{min-height:250px;border-right:0;border-bottom:1px solid var(--line)}.campus-map_formActions__oPpK7{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:16px 18px}.campus-map_formActions__oPpK7 .campus-map_button__U2rs0{width:100%}.campus-map_actionSpacer___Sukn{display:none}.campus-map_dangerButton__DA2h7{grid-column:1/-1;grid-row:2}}@media (max-width:480px){.campus-map_pageHeader__4CkQ5 h2{font-size:25px}.campus-map_filterGrid__VFrLy,.campus-map_formActions__oPpK7,.campus-map_pageActions__LtOgv{grid-template-columns:minmax(0,1fr)}.campus-map_listPanel__XCyRF{max-height:520px}.campus-map_panelHeader__a8EBY>div{gap:9px}.campus-map_panelIcon__y1Ie8{width:35px;height:35px}.campus-map_editorHeader__P8ZzD{align-items:stretch;flex-direction:column;gap:12px}.campus-map_unsavedBadge__6g7FZ{align-self:flex-start}.campus-map_repeatHeading___V5Fu{align-items:stretch;flex-direction:column}.campus-map_repeatHeading___V5Fu .campus-map_button__U2rs0{align-self:flex-start}.campus-map_repeatRow__9rfnu{grid-template-columns:minmax(0,1fr) 38px}.campus-map_rowCount__whUHL{display:none}.campus-map_imagePreview__JHUm8{min-height:210px}.campus-map_imageActions__DQLII{display:grid;grid-template-columns:minmax(0,1fr)}.campus-map_imageActions__DQLII .campus-map_button__U2rs0{width:100%}.campus-map_dangerButton__DA2h7{grid-column:auto;grid-row:auto}}@media (prefers-reduced-motion:reduce){.campus-map_button__U2rs0,.campus-map_placeItem__4pMlP{transition:none}.campus-map_button__U2rs0:not(:disabled):hover,.campus-map_placeItem__4pMlP:not(:disabled):hover{transform:none}}