@import "https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css";:root{--color-bg:#0b1220;--color-header:#0f1720;--color-sidebar:#2a3b5c;--color-surface:#16223a;--color-surface-sub:#1e2a3f;--color-input:#243044;--color-button:#2a3a55;--color-button-hover:#33456a;--color-border:#2a3b5c;--color-border-strong:#3a4d70;--color-text:#e5eaf2;--color-text-sub:#a3b1c6;--color-text-muted:#8b9ab3;--color-primary:#3b82f6;--color-primary-hover:#2563eb;--color-primary-light:#60a5fa;--color-success:#22c55e;--color-warning:#f59e0b;--color-danger:#f43f5e;--list-container-bg:#141d2b;--list-header-bg:#22304a;--list-row-bg:#1a2434;color:var(--color-text);background:var(--color-bg);font-synthesis:none;text-rendering:optimizelegibility;font-family:Pretendard,Noto Sans KR,Malgun Gothic,Arial,sans-serif}*{box-sizing:border-box}body{min-width:1180px;min-height:100vh;color:var(--color-text);background:var(--color-bg);margin:0}button,input,select,textarea{font:inherit}input[type=number]{appearance:textfield}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}button{cursor:pointer}.auth-status-screen{background:var(--color-bg);place-items:center;min-height:100vh;padding:32px;display:grid}.auth-status-screen__content{border:1px solid var(--color-border);text-align:center;background:var(--color-surface);border-radius:8px;width:100%;max-width:480px;padding:32px;box-shadow:0 18px 40px #00000038}.auth-status-screen h1{letter-spacing:0;margin:0 0 10px;font-size:22px}.auth-status-screen p{color:var(--color-text-sub);margin:0}.auth-status-screen button{color:#fff;background:var(--color-primary);border:0;border-radius:6px;margin-top:22px;padding:10px 18px;font-weight:700}.auth-status-screen button:hover{background:var(--color-primary-hover)}.login-page{background:var(--color-bg);grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.login-brand{color:var(--color-text);background:var(--color-bg);flex-direction:column;justify-content:center;align-items:flex-start;padding:80px 300px;display:flex}.login-brand__mark{color:var(--color-primary-light);font-size:17px;font-weight:700}.login-brand h1{letter-spacing:0;margin:20px 0 16px;font-size:48px;line-height:1.2}.login-brand p{color:var(--color-text-sub);margin:0;font-size:18px;line-height:1.7}.login-panel{background:var(--color-sidebar);justify-content:center;align-items:center;padding:64px 56px;display:flex}.login-form{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;width:100%;max-width:390px;padding:38px;box-shadow:0 18px 42px #0000003d}.login-form h2{letter-spacing:0;margin:0 0 10px;font-size:30px}.login-form__description{color:var(--color-text-sub);margin:0 0 34px}.form-field{gap:9px;margin-bottom:20px;display:grid}.form-field label{color:var(--color-text-sub);font-size:14px;font-weight:700}.form-field input{border:1px solid var(--color-border);width:100%;min-height:48px;color:var(--color-text);background:var(--color-input);border-radius:6px;padding:12px 14px;line-height:22px}.form-field input:focus{border-color:var(--color-primary);outline:3px solid #3b82f63d}.form-field input::placeholder{color:var(--color-text-muted)}.login-remember{color:var(--color-text-sub);cursor:pointer;align-items:center;gap:8px;margin:-2px 0 16px;font-size:14px;display:inline-flex}.login-remember input{width:16px;height:16px;accent-color:var(--color-primary);margin:0}.login-error{min-height:22px;color:var(--color-danger);margin:0 0 14px;font-size:14px}.login-button{color:#fff;background:var(--color-primary);border:0;border-radius:6px;width:100%;height:50px;font-weight:700}.login-button:hover{background:var(--color-primary-hover)}.login-button:disabled{cursor:wait;opacity:.7}.login-help{color:var(--color-text-muted);text-align:center;margin:14px 0 0;font-size:12px}.app-shell{background:var(--color-bg);grid-template-rows:68px 56px minmax(0,1fr);min-height:100vh;display:grid}.project-shell{background:var(--color-bg);grid-template-rows:68px minmax(0,1fr);height:100vh;display:grid;overflow:hidden}.app-header{color:var(--color-text);background:var(--color-header);border-bottom:1px solid var(--color-border);z-index:2;align-items:center;gap:24px;padding:0 24px;display:flex;box-shadow:0 2px 8px #0003}.app-logo{letter-spacing:0;width:220px;font-size:24px;font-weight:800}.project-context{flex:1;align-items:baseline;gap:10px;display:flex}.project-context__value{font-weight:700}.project-header-brand{flex:1;align-items:center;gap:18px;min-width:0;height:100%;display:flex}.project-header-logo{width:170px;height:44px;color:var(--color-text-muted);justify-content:center;align-items:center;font-size:12px;display:flex;overflow:hidden}.project-header-logo img{object-fit:contain;max-width:100%;max-height:100%}.project-header-brand__divider{background:var(--color-border-strong);flex:none;width:1px;height:30px}.project-header-brand__name{text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:700;overflow:hidden}.header-tools{align-items:center;gap:14px;height:100%;display:flex}.header-clock{color:var(--color-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px}.header-divider{background:var(--color-border-strong);width:1px;height:22px}.header-weather{color:var(--color-text-sub);white-space:nowrap;background:0 0;border:0;align-items:center;gap:8px;padding:6px 0;font-size:13px;display:flex}.header-weather:not(:disabled):hover,.header-weather:not(:disabled):focus-visible{color:var(--color-text)}.header-weather:disabled{cursor:default}.header-weather-icon{border:1px dashed var(--color-border-strong);border-radius:50%;width:22px;height:22px}.project-layout{background:var(--color-bg);grid-template-columns:250px minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.project-sidebar{border-right:1px solid var(--color-border);background:#111a26;flex-direction:column;justify-content:flex-start;min-width:0;min-height:0;padding:0 0 12px;display:flex;overflow:hidden auto}.project-sidebar__nav{align-content:start;gap:0;width:100%;min-width:0;display:grid}.project-sidebar__admin{border-top:1px solid var(--color-border);margin-top:12px;padding-top:8px}.project-sidebar__nav--admin{align-content:start}.project-sidebar__section{gap:0;padding:12px 0 4px;display:grid}.project-sidebar__section:first-of-type{border-top:1px solid var(--color-border)}.project-sidebar__section-title{color:var(--color-text-muted);padding:8px 20px 10px;font-size:11px;font-weight:700}.project-sidebar__nav--admin .project-sidebar__section .project-menu-button{min-height:36px;padding-left:32px;font-size:13px;font-weight:500}.project-menu-button{width:100%;min-height:50px;color:var(--color-text-sub);text-align:left;background:0 0;border:0;border-radius:0;align-items:center;gap:10px;padding:0 12px;font-size:15px;font-weight:600;display:flex}.project-menu-button:hover{color:var(--color-text);background:#1b2b40}.project-sidebar__chevron{flex:none;width:15px;height:15px;margin-left:auto;transition:transform .15s}.project-sidebar__chevron--open{transform:rotate(180deg)}.project-sidebar__sublist{padding:2px 0 8px;display:grid}.project-sidebar__subitem{width:100%;min-height:36px;color:var(--color-text-sub);text-align:left;background:0 0;border:0;align-items:center;gap:9px;padding:0 16px 0 42px;font-size:13px;display:flex}.project-sidebar__subitem span{color:var(--color-text-muted);font-size:18px;line-height:0}.project-sidebar__subitem:hover,.project-sidebar__subitem--active{color:var(--color-text);background:#1b2b40}.project-sidebar__substatus{color:var(--color-text-muted);padding:10px 16px 10px 42px;font-size:12px}.project-sidebar__nav--admin .project-sidebar__return{color:#e5eaf2;text-align:center;background:#2a3a55;border:1px solid #3a4d70;border-radius:5px;justify-content:center;gap:7px;width:calc(100% - 12px);min-height:44px;margin:10px 6px 12px;padding:0 8px;font-size:14px}.project-sidebar__nav--admin .project-sidebar__return:hover{background:#33456a}.project-sidebar__dashboard-link{border-top:1px solid var(--color-border);gap:9px;min-height:42px;margin-top:auto;padding:0 20px;font-size:12px;font-weight:500}.project-menu-button--active,.project-menu-button--active:hover{color:#fff;background:#172945;box-shadow:inset 3px 0 #3b82f6}.project-menu-button--admin-active{color:var(--color-text);background:var(--color-surface-sub);box-shadow:inset 3px 0 var(--color-primary)}.project-menu-button__icon{flex:none;width:18px;height:18px}.project-content{background:var(--color-bg);min-width:0;min-height:0;overflow:hidden}.project-map-wrapper{width:100%;height:100%;position:relative;overflow:hidden}.project-map-wrapper--admin{grid-template-columns:minmax(0,1fr) 360px;display:grid}.vworld-map-area{width:100%;min-width:0;height:100%;min-height:0;position:relative;overflow:hidden}.vworld-map{background:#101a28;width:100%;height:100%}.vworld-map__surface{width:100%;height:100%}#vworld-map #naviTopPannel3d>.dt-api-map--tool-btns{display:none!important}#vworld-map #naviTopPannel3d>.dt-api-map--tool-btns:first-child{display:flex!important}#vworld-map #naviTopPannel3d .dt-api-map--tool-bt-current,#vworld-map #naviBottomPannel3d{display:none!important}#vworld-map-parking{pointer-events:none;visibility:hidden;width:100vw;height:100vh;position:fixed;top:0;left:-100vw}.vworld-map-area--selecting .vworld-map{cursor:crosshair}.vworld-heading-card{z-index:10;color:#e5eaf2;pointer-events:none;background:#0f172ae0;border:1px solid #94a3b84d;border-radius:8px;width:158px;padding:14px;position:absolute;top:16px;left:16px;box-shadow:0 4px 12px #0003}.vworld-heading-card__title{font-size:14px;display:block}.vworld-heading-card__description{color:#aebbd0;margin-top:4px;font-size:11px;line-height:1.4;display:block}.vworld-heading-card__compass{background:#1e2d43e6;border:1px solid #53647d;border-radius:50%;width:114px;height:114px;margin:13px auto;position:relative}.vworld-heading-card__compass>span{font-size:11px;font-weight:700;position:absolute}.vworld-heading-card__north{top:5px;left:50%;transform:translate(-50%)}.vworld-heading-card__east{top:50%;right:7px;transform:translateY(-50%)}.vworld-heading-card__south{bottom:5px;left:50%;transform:translate(-50%)}.vworld-heading-card__west{top:50%;left:7px;transform:translateY(-50%)}.vworld-heading-card__compass .vworld-heading-card__needle{width:4px;height:calc(100% - 34px);transform:translate(-50%, -50%) rotate(var(--heading-rotation));transform-origin:50%;--heading-rotation:0deg;background:linear-gradient(#f87171 0 46%,#8292a9 46% 100%);border-radius:3px;top:50%;left:50%}.vworld-heading-card__compass .vworld-heading-card__center{background:#17263b;border:2px solid #e5eaf2;border-radius:50%;width:10px;height:10px;top:calc(50% - 5px);left:calc(50% - 5px)}.vworld-heading-card__footer{border-top:1px solid #94a3b833;justify-content:space-between;align-items:center;padding-top:10px;display:flex}.vworld-heading-card__footer strong{font-variant-numeric:tabular-nums;background:#1d2c44;border:1px solid #354b68;border-radius:999px;place-items:center;min-width:80px;height:28px;padding:0 12px;font-size:12px;font-weight:700;display:grid}.vworld-heading-card__footer button{color:#fff;cursor:pointer;pointer-events:auto;background:#3b82f6;border:0;border-radius:50%;place-items:center;min-width:30px;height:30px;padding:0;font-size:10px;font-weight:700;display:grid}.vworld-heading-card__footer button:hover:not(:disabled){background:#2563eb}.vworld-heading-card__footer button:focus-visible{outline:2px solid var(--color-primary-light);outline-offset:2px}.vworld-heading-card__footer button:disabled{cursor:default;opacity:.6}.vworld-camera-hud{z-index:10;color:#e5eaf2;pointer-events:none;background:#0f172ad1;border:1px solid #94a3b84d;border-radius:6px;min-width:178px;padding:9px 12px;font-size:12px;position:absolute;top:16px;right:72px;box-shadow:0 4px 12px #0003}.vworld-camera-hud div{justify-content:space-between;gap:14px;line-height:20px;display:flex}.vworld-camera-hud span{color:#aebbd0}.vworld-camera-hud strong{font-variant-numeric:tabular-nums;font-weight:600}.field-data-map-add{z-index:10;min-height:42px;padding:0 18px;position:absolute;bottom:24px;right:24px;box-shadow:0 8px 22px #00000059}.map-layer-control{z-index:10;max-width:calc(100% - 260px);min-height:44px;color:var(--color-text);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#0f172ae6;border:1px solid #94a3b847;border-radius:24px;align-items:center;gap:14px;padding:7px 10px 7px 16px;display:flex;position:absolute;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 10px 28px #0000006b}.map-layer-control>strong{border-right:1px solid #94a3b840;flex:none;padding-right:13px;font-size:12px}.map-layer-control__items{scrollbar-width:thin;align-items:center;gap:14px;min-width:0;display:flex;overflow-x:auto}.map-layer-control__item{color:var(--color-text-sub);white-space:nowrap;cursor:pointer;flex:none;align-items:center;gap:6px;font-size:11px;display:flex}.map-layer-control__dot{border-radius:50%;flex:0 0 7px;width:7px;height:7px;box-shadow:0 0 0 2px #ffffff14}.map-layer-control__switch{flex:0 0 28px;width:28px;height:16px;position:relative}.map-layer-control__switch input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.map-layer-control__switch>span{pointer-events:none;background:#475569;border-radius:8px;width:100%;height:100%;transition:background .15s;display:block}.map-layer-control__switch>span:after{content:"";background:#fff;border-radius:50%;width:12px;height:12px;transition:transform .15s;position:absolute;top:2px;left:2px}.map-layer-control__switch input:checked+span{background:#16a34a}.map-layer-control__switch input:checked+span:after{transform:translate(12px)}.map-layer-control__switch input:focus-visible+span{outline-offset:2px;outline:2px solid #4ade80}.map-model-layer-control{z-index:10;width:174px;color:var(--color-text);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#0f172ae6;border:1px solid #94a3b84d;border-radius:8px;padding:13px 14px 10px;position:absolute;top:16px;left:16px;box-shadow:0 8px 22px #00000057}.map-model-layer-control h2{border-bottom:1px solid #94a3b838;margin:0 0 8px;padding-bottom:9px;font-size:12px}.map-model-layer-control .map-layer-control__item{min-height:31px;color:var(--color-text-sub);justify-content:space-between}.map-model-layer-control .map-layer-control__item>span:first-child{flex:1}.field-data-picking{z-index:12;border:1px solid var(--color-primary);color:#fff;background:#0f172af0;border-radius:7px;align-items:center;gap:16px;padding:11px 14px;display:flex;position:absolute;top:18px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000059}.field-data-picking button,.field-data-map-popup__header>button{color:var(--color-text-sub);background:0 0;border:0;padding:0}.field-data-map-popup{z-index:11;border:1px solid var(--color-border-strong);background:#0f172af5;border-radius:8px;gap:12px;width:320px;max-height:min(520px,100% - 110px);padding:16px;display:grid;position:absolute;overflow-y:auto;transform:translate(-50%,-100%);box-shadow:0 16px 38px #00000073}.field-data-map-popup__header{justify-content:space-between;align-items:center;gap:12px;display:flex}.field-data-map-popup__header>div{align-items:baseline;gap:8px;display:flex}.field-data-map-popup__list,.field-data-map-popup__list button{gap:5px;display:grid}.field-data-map-popup__header span,.field-data-map-popup__header small,.field-data-map-popup__list span{color:var(--color-text-muted);font-size:11px}.field-data-map-popup__header>button{font-size:22px}.field-data-map-popup__list button{border:1px solid var(--color-border);color:var(--color-text);background:var(--color-surface-sub);text-align:left;border-radius:6px;padding:11px}.field-data-map-popup__list button:hover{border-color:var(--color-primary)}.field-data-map-popup__list strong{font-size:15px}.field-data-map-popup__list span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.field-data-map-popup__pagination{color:var(--color-text-muted);justify-content:center;align-items:center;gap:12px;font-size:12px;display:flex}.field-data-map-popup__pagination button{border:1px solid var(--color-border);width:28px;height:28px;color:var(--color-text);background:var(--color-surface-sub);border-radius:5px;padding:0}.field-data-map-popup__pagination button:disabled{opacity:.4;cursor:default}.field-data-modal{width:min(720px,100%)}.field-data-form,.field-data-detail{gap:20px;padding:22px 24px 24px;display:grid}.field-data-coordinate{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:10px;min-width:0;display:grid}.field-data-coordinate label{min-width:0;color:var(--color-text-muted);gap:7px;font-size:11px;display:grid}.field-data-coordinate input{border:1px solid var(--color-border);width:100%;min-width:0;height:40px;color:var(--color-text);background:var(--color-input);border-radius:6px;padding:0 11px}.field-data-coordinate .secondary-button{white-space:nowrap;height:40px}.field-data-type-picker{border:0;border-bottom:1px solid var(--color-border);min-width:0;margin:0;padding:0 0 14px}.field-data-type-picker legend{color:var(--color-text-muted);margin-bottom:9px;padding:0;font-size:12px}.field-data-type-picker>div{flex-wrap:wrap;gap:8px;display:flex}.field-data-type-picker button{border:1px solid var(--color-border);min-width:80px;min-height:34px;color:var(--color-text-sub);background:var(--color-surface-sub);border-radius:6px;padding:7px 16px;font-size:13px;font-weight:700}.field-data-type-picker button:hover{border-color:var(--color-primary);color:var(--color-text)}.field-data-type-picker .field-data-type-picker__active{border-color:var(--color-primary);color:#fff;background:var(--color-primary)}.field-data-form__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.field-data-form__grid label,.field-data-upload{color:var(--color-text-sub);gap:8px;font-size:12px;display:grid}.field-data-form__grid input,.field-data-form__grid select,.field-data-form__grid textarea,.field-data-filters input,.field-data-filters select{border:1px solid var(--color-border);width:100%;min-width:0;color:var(--color-text);background:var(--color-input);border-radius:6px}.field-data-form__grid input,.field-data-form__grid select,.field-data-filters input,.field-data-filters select{height:40px;padding:0 11px}.field-data-form__grid textarea{resize:vertical;padding:11px}.field-data-form__wide{grid-column:1/-1}.field-data-dropzone{border:1px dashed var(--color-border-strong);min-height:100px;color:var(--color-text);background:var(--color-surface-sub);text-align:center;border-radius:6px;place-content:center;gap:6px;display:grid}.field-data-dropzone small{color:var(--color-text-muted)}.field-data-dropzone:hover,.field-data-dropzone--dragging{border-color:var(--color-primary);background:var(--color-input)}.field-data-form__notice{color:var(--color-text-muted);padding-top:4px;font-size:12px;line-height:1.7}.field-data-form__notice p{margin:0}.field-data-form__actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.field-data-form__actions button{width:100%;min-height:42px}.field-data-selected-files,.field-data-detail__files ul{gap:7px;margin:0;padding:0;list-style:none;display:grid}.field-data-selected-files li,.field-data-detail__files li{border:1px solid var(--color-border);border-radius:5px;justify-content:space-between;align-items:center;gap:12px;padding:9px 11px;display:flex}.field-data-selected-files button,.field-data-detail__files li>button{color:var(--color-danger);background:0 0;border:0;font-size:11px}.field-data-detail__heading,.field-data-detail__heading>div:last-child,.field-data-detail__files>div{justify-content:space-between;align-items:center;gap:9px;display:flex}.field-data-detail__heading>div:first-child{gap:5px;display:grid}.field-data-detail__heading h3,.field-data-detail__files h4{margin:0}.field-data-detail__heading span,.field-data-detail__heading small,.field-data-detail__files p,.field-data-status{color:var(--color-text-muted);font-size:12px}.field-data-detail__content{min-height:90px;color:var(--color-text-sub);background:var(--color-surface-sub);white-space:pre-wrap;border-radius:6px;margin:0;padding:14px}.field-data-detail__files{gap:12px;display:grid}.field-data-detail__files a{min-width:0;color:var(--color-primary-light);flex:1;gap:3px;text-decoration:none;display:grid}.field-data-detail__files a span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.field-data-detail__files a small{color:var(--color-text-muted)}.settings-modal.field-data-viewer{grid-template-rows:auto minmax(0,1fr);width:min(1500px,100vw - 48px);height:min(900px,100vh - 48px);max-height:calc(100vh - 48px);display:grid;overflow:hidden}.field-data-viewer .settings-modal__header{align-items:center;padding:16px 20px}.field-data-viewer .settings-modal__header h2{min-width:0;margin:0}.field-data-viewer__title{align-items:center;gap:12px;min-width:0;display:flex}.field-data-viewer__title>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.field-data-viewer__title small{color:#fff;border-radius:999px;flex:none;padding:5px 9px;font-size:11px;font-weight:700}.field-data-viewer__content{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr) 390px;min-height:0;display:grid}.field-data-viewer__error{z-index:2;margin:0;position:absolute;top:76px;left:24px;right:414px;box-shadow:0 5px 20px #0000004d}.field-data-viewer__content>.field-data-status{grid-column:1/-1;place-items:center;display:grid}.field-data-viewer__preview{background:#0a101c;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;display:grid}.field-data-viewer__file-heading{border-bottom:1px solid var(--color-border);min-width:0;color:var(--color-text-sub);background:var(--color-surface-sub);justify-content:space-between;gap:16px;padding:11px 18px;font-size:12px;display:flex}.field-data-viewer__file-heading span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.field-data-viewer__file-heading small{color:var(--color-text-muted);flex:none}.field-data-viewer__preview-body{min-height:0;overflow:hidden}.field-data-viewer__sidebar{border-left:1px solid var(--color-border);background:var(--color-surface);grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;display:grid}.field-data-viewer__information{border-bottom:1px solid var(--color-border);padding:20px}.field-data-viewer__information h3,.field-data-viewer__files h3{margin:0;font-size:15px}.field-data-viewer__information dl{gap:11px;margin:17px 0;display:grid}.field-data-viewer__information dl>div{grid-template-columns:86px minmax(0,1fr);gap:10px;display:grid}.field-data-viewer__information dt{color:var(--color-text-muted);font-size:12px}.field-data-viewer__information dd{color:var(--color-text-sub);margin:0;font-size:13px}.field-data-viewer__description{gap:7px;display:grid}.field-data-viewer__description strong{color:var(--color-text-muted);font-size:12px}.field-data-viewer__description p{max-height:90px;color:var(--color-text-sub);white-space:pre-wrap;margin:0;font-size:13px;line-height:1.6;overflow-y:auto}.field-data-viewer__files{grid-template-rows:auto minmax(0,1fr);min-height:0;padding:18px 12px 12px;display:grid}.field-data-viewer__files-heading{justify-content:space-between;align-items:center;gap:10px;padding:0 8px 12px;display:flex}.field-data-viewer__files-heading .secondary-button{min-height:30px;padding:5px 9px;font-size:11px}.field-data-viewer__files ul{align-content:start;gap:6px;min-height:0;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.field-data-viewer__files li{background:var(--color-surface-sub);border:1px solid #0000;border-radius:6px;align-items:center;min-width:0;display:flex}.field-data-viewer__files li:hover{border-color:var(--color-border-strong)}.field-data-viewer__files li.is-active{border-color:var(--color-primary);background:#3b82f621}.field-data-viewer__file-select{min-width:0;color:var(--color-text);text-align:left;background:0 0;border:0;flex:1;justify-content:space-between;align-items:center;gap:12px;padding:11px;display:flex}.field-data-viewer__file-select span{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.field-data-viewer__file-select small{color:var(--color-text-muted);flex:none;font-size:11px}.field-data-viewer__file-delete{color:var(--color-danger);background:0 0;border:0;flex:none;padding:8px 10px;font-size:11px}.field-data-viewer__footer{border-top:1px solid var(--color-border);color:var(--color-text-muted);background:var(--color-surface);grid-column:1/-1;justify-content:space-between;align-items:center;gap:20px;padding:13px 20px;font-size:12px;display:flex}.field-data-viewer__footer .primary-button:disabled{cursor:default}.document-preview__pdf{background:#fff;border:0;width:100%;height:100%}.document-preview__message{height:100%;color:var(--color-text-sub);text-align:center;place-content:center;gap:8px;padding:32px;display:grid}.document-preview__message strong{color:var(--color-text);font-size:15px}.document-preview__message span{color:var(--color-text-muted);font-size:12px}.document-preview__document{color:#1f2937;background:#fff;height:100%;padding:38px 44px;line-height:1.6;overflow:auto}.document-preview__document img{max-width:100%;height:auto}.document-preview__document table{border-collapse:collapse}.document-preview__document th,.document-preview__document td{color:#1f2937;white-space:nowrap;border:1px solid #cbd5e1;min-width:80px;padding:6px 9px}.document-preview__spreadsheet{grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;display:grid}.document-preview__sheets{background:var(--color-surface-sub);gap:4px;padding:8px 10px 0;display:flex;overflow-x:auto}.document-preview__sheets button{border:1px solid var(--color-border);color:var(--color-text-muted);background:var(--color-surface);border-bottom:0;border-radius:5px 5px 0 0;flex:none;padding:7px 12px;font-size:11px}.document-preview__sheets button.is-active{color:#fff;background:var(--color-primary)}.document-preview__sheet{padding:22px}.field-data-room{height:100%;padding:28px 32px;overflow-y:auto}.field-data-room__header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.field-data-room__header h1,.field-data-room__header p{margin:0}.field-data-room__header p{color:var(--color-text-muted);margin-top:6px}.field-data-filters{grid-template-columns:minmax(220px,1fr) repeat(4,minmax(130px,180px));gap:9px;margin-bottom:16px;display:grid}.field-data-table{border:1px solid var(--color-border);border-radius:7px;overflow:hidden}.field-data-table__row{border:0;border-bottom:1px solid var(--color-border);width:100%;color:var(--color-text-sub);background:var(--list-row-bg);text-align:left;grid-template-columns:minmax(220px,1fr) repeat(3,minmax(90px,130px)) minmax(60px,80px) repeat(2,minmax(100px,120px));align-items:center;gap:14px;padding:13px 16px;display:grid}.field-data-table button:hover{background:var(--color-surface-sub)}.field-data-table__head{color:var(--color-text-muted);background:var(--list-header-bg);font-size:12px;font-weight:700}.field-data-table__row strong{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.field-data-table .field-data-status{text-align:center;margin:0;padding:32px}.field-data-room__error{z-index:2;position:absolute;top:16px;right:32px}.aerial-viewer-backdrop{z-index:40;background:#030812d1;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.aerial-viewer{border:1px solid var(--color-border-strong);background:var(--color-surface);border-radius:10px;grid-template-rows:50px minmax(0,1fr) 116px;width:min(1440px,100%);height:min(900px,100vh - 36px);display:grid;overflow:hidden;box-shadow:0 24px 70px #0000008c}.aerial-viewer:fullscreen{border:0;border-radius:0;width:100%;height:100%}.aerial-viewer__header{background:#14213a;justify-content:space-between;align-items:center;gap:18px;padding:7px 16px;display:flex}.aerial-viewer__header>div:first-child{gap:3px;min-width:0;display:grid}.aerial-viewer__header>div:first-child>div{align-items:center;gap:9px;display:flex}.aerial-viewer__header h2{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:15px;overflow:hidden}.aerial-viewer__header span{color:#22c55e;background:#22c55e24;border-radius:12px;padding:3px 8px;font-size:10px}.aerial-viewer__header small{color:var(--color-text-muted);font-size:10px}.aerial-viewer__header>div:last-child{gap:8px;display:flex}.aerial-viewer__header button{width:34px;height:34px;color:var(--color-text-sub);background:var(--color-surface-sub);border:0;border-radius:6px;font-size:18px}.aerial-viewer__rotation-toggle{border:1px solid var(--color-border);background:#080e1880;border-radius:7px;grid-template-columns:repeat(2,auto);gap:3px;padding:3px;display:grid}.aerial-viewer__header .aerial-viewer__rotation-toggle button{width:auto;min-width:72px;height:28px;color:var(--color-text-muted);background:0 0;padding:0 10px;font-size:11px;font-weight:700}.aerial-viewer__header .aerial-viewer__rotation-toggle button.is-active{color:#fff;background:var(--color-primary)}.aerial-viewer__header .aerial-viewer__rotation-toggle button:disabled{cursor:not-allowed;opacity:.35}.aerial-viewer__main{background:#080e18;place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.aerial-viewer__main>p{color:var(--color-text-muted)}.aerial-viewer__sphere{width:100%;height:100%}.aerial-viewer__comparison{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;min-width:0;height:100%;min-height:0;display:grid}.aerial-viewer__comparison-pane{min-width:0;min-height:0;position:relative;overflow:hidden}.aerial-viewer__comparison-pane+.aerial-viewer__comparison-pane{border-left:2px solid #ffffffd1}.aerial-viewer__comparison-pane>span{z-index:4;color:#fff;pointer-events:none;background:#080e18b8;border:1px solid #ffffff29;border-radius:6px;padding:7px 10px;font-size:11px;font-weight:700;position:absolute;top:14px;left:14px;box-shadow:0 4px 14px #00000047}.aerial-viewer__comparison-select{z-index:4;color:#fff;background:#080e18c7;border:1px solid #ffffff29;border-radius:6px;align-items:center;gap:8px;padding:6px 7px 6px 10px;display:flex;position:absolute;top:14px;left:14px;box-shadow:0 4px 14px #00000047}.aerial-viewer__comparison-select>span{white-space:nowrap;font-size:11px;font-weight:700}.aerial-viewer__comparison-select select{border:1px solid var(--color-border-strong);color:#fff;background:#101b2d;border-radius:4px;max-width:240px;height:28px;padding:0 26px 0 8px;font-size:11px}.aerial-viewer__mode-toggle{z-index:8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#080e18d1;border:1px solid #ffffff2e;border-radius:22px;grid-template-columns:repeat(2,auto);gap:3px;padding:4px;display:grid;position:absolute;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0006}.aerial-viewer__mode-toggle button{color:#ffffffb8;background:0 0;border:0;border-radius:17px;min-width:76px;height:34px;padding:0 14px;font-size:12px;font-weight:700}.aerial-viewer__mode-toggle button.is-active{color:#fff;background:var(--color-primary);box-shadow:0 3px 9px #2563eb61}.aerial-viewer__mode-toggle button:disabled{cursor:not-allowed;opacity:.35}.aerial-viewer__date-select{z-index:5;background:#14213ae6;border-radius:7px;padding:7px;position:absolute;top:14px;left:14px;box-shadow:0 4px 14px #0000004d}.aerial-viewer__date-select select{border:1px solid var(--color-border-strong);height:36px;color:var(--color-text);background:#101b2d;border-radius:5px;padding:0 30px 0 12px;font-size:12px;font-weight:700}.aerial-viewer__footer{background:#14213a;grid-template-columns:minmax(360px,1fr) auto auto;align-items:center;gap:16px;min-width:0;padding:9px 16px;display:grid}.aerial-viewer__gallery{grid-template-columns:28px minmax(0,1fr) 28px;align-items:center;gap:7px;min-width:0;display:grid}.aerial-viewer__gallery>div{grid-template-columns:repeat(5,minmax(70px,1fr));gap:6px;min-width:0;display:grid}.aerial-viewer__gallery button{color:var(--color-text);background:var(--color-surface-sub);border:1px solid #0000;border-radius:4px}.aerial-viewer__gallery>button{height:34px;font-size:22px}.aerial-viewer__gallery>button:disabled{opacity:.3}.aerial-viewer__gallery>div button{height:76px;padding:0;position:relative;overflow:hidden}.aerial-viewer__gallery>div button.aerial-viewer__thumb--active{border-color:#22c55e}.aerial-viewer__gallery img{object-fit:cover;width:100%;height:100%;display:block}.aerial-viewer__gallery span{color:#fff;text-overflow:ellipsis;white-space:nowrap;background:#0000009e;padding:3px;font-size:9px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.aerial-viewer__meta{color:var(--color-text-muted);white-space:nowrap;gap:5px;font-size:10px;display:grid}.aerial-viewer__points{color:#062a15;background:#22c55e;border:0;border-radius:6px;min-height:38px;padding:0 15px;font-weight:700}.aerial-room{background:var(--color-bg);height:100%;padding:18px 20px 32px;overflow-y:auto}.aerial-room__header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px;display:flex}.aerial-room__header>div{align-items:center;gap:9px;display:flex}.aerial-room__header h1{margin:0;font-size:17px}.aerial-room__header span{color:var(--color-text-muted);font-size:12px}.aerial-room__header select{border:1px solid var(--color-border);min-width:120px;height:36px;color:var(--color-text);background:var(--color-surface);border-radius:6px;padding:0 32px 0 12px;font-size:12px;font-weight:700}.aerial-room__map-button{color:#34d399;background:0 0;border:1px solid #10b981;border-radius:6px;height:36px;padding:0 15px;font-size:12px;font-weight:700}.aerial-room__map-button:hover{color:#d1fae5;background:#10b9811f}.aerial-room__grid{grid-template-columns:repeat(4,minmax(220px,1fr));gap:12px;display:grid}.aerial-room__card{border:1px solid var(--color-border);min-width:0;color:var(--color-text);background:var(--color-surface);text-align:left;border-radius:7px;padding:0;transition:border-color .16s,transform .16s;overflow:hidden;box-shadow:0 6px 18px #00000014}.aerial-room__card:hover:not(:disabled){border-color:var(--color-primary);transform:translateY(-1px)}.aerial-room__card:disabled{cursor:default;opacity:.7}.aerial-room__thumbnail{background:#102b25;height:126px;position:relative;overflow:hidden}.aerial-room__thumbnail img{object-fit:cover;width:100%;height:100%;display:block}.aerial-room__thumbnail>span{color:#4ade80;background:#031410e0;border-radius:4px;padding:3px 6px;font-size:10px;font-weight:800;position:absolute;bottom:7px;right:7px}.aerial-room__thumbnail-empty{color:#ffffff6b;background:linear-gradient(#77b5df 0 50%,#183f34 50%);place-items:center;width:100%;height:100%;font-size:11px;display:grid}.aerial-room__card-info{gap:5px;padding:10px 12px 11px;display:grid}.aerial-room__card-info strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.aerial-room__card-info small{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.aerial-room__empty{color:var(--color-text-muted);text-align:center;margin:60px 0}@media (width<=1380px){.aerial-room__grid{grid-template-columns:repeat(3,minmax(220px,1fr))}}.map-management .project-admin-panel__header{margin-bottom:22px}.map-management .project-admin-panel__header .primary-button{color:#fff;background:var(--color-primary);width:auto;height:auto;min-height:36px;font-size:13px}.map-management .project-admin-panel__header .primary-button:disabled{opacity:.55;cursor:not-allowed}.map-management__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;display:grid}.map-management__grid .form-field{min-width:0;margin-bottom:18px}.map-management__grid .form-field label{font-size:12px}.map-management__grid .form-field input{min-width:0;min-height:40px;padding:8px 10px;font-size:13px}.map-management__select{grid-column:1/-1;width:100%;min-height:38px;margin-bottom:22px}.map-management__select--active{border-color:var(--color-primary);color:var(--color-primary-light);background:var(--color-button-hover)}.project-placeholder{height:100%;padding:32px}.project-placeholder h1{letter-spacing:0;margin:0;font-size:22px}.project-system-info{background:var(--color-surface);height:100%;padding:32px;overflow-y:auto}.project-system-info h1{margin:0 0 24px;font-size:22px}.project-system-info__status{color:var(--color-text-sub)}.project-system-info__list{max-width:580px;margin:0}.project-system-info__row{border-bottom:1px solid var(--color-border);grid-template-columns:150px minmax(0,1fr);gap:20px;padding:20px 0;display:grid}.project-system-info__row dt{color:var(--color-text-muted);font-size:14px}.project-system-info__row dd{min-width:0;color:var(--color-text);overflow-wrap:anywhere;margin:0;font-size:14px}.project-system-info__filename{color:var(--color-text-sub);margin-bottom:12px;font-size:12px;display:block}.project-system-info__download{align-items:center;text-decoration:none;display:inline-flex}.project-map-message{margin:0;position:absolute;top:20px;left:20px}.project-admin-panel{border-left:1px solid var(--color-border);background:var(--color-surface);min-width:0;height:100%;padding:20px;overflow-y:auto}.project-admin-panel__header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:16px;padding-bottom:14px;display:flex}.project-admin-panel__header h2{margin:0;font-size:18px}.project-admin-panel__header button{width:32px;height:32px;color:var(--color-text-sub);background:0 0;border:0;font-size:24px}.project-admin-panel>p{color:var(--color-text-muted);margin:18px 0 0}.project-admin-panel__details{gap:10px;margin:20px 0;display:grid}.project-admin-panel__details dt{color:var(--color-text-muted);font-size:12px}.project-admin-panel__details dd{overflow-wrap:anywhere;margin:0 0 12px;font-size:14px}.project-admin-panel__details img{object-fit:contain;max-width:100%;max-height:80px}.route-image-setting .project-admin-panel__header .primary-button,.route-image-setting .project-admin-panel__header .route-image-setting__back,.route-image-setting .project-admin-panel__header .route-image-setting__delete{cursor:pointer;border-radius:6px;width:auto;height:36px;padding:0 12px;font-size:13px}.route-image-setting .project-admin-panel__header .primary-button{color:#fff;background:var(--color-primary)}.route-image-setting .project-admin-panel__header .route-image-setting__back{border:1px solid var(--color-border);color:var(--color-text-sub)}.route-image-setting__header-actions{align-items:center;gap:8px;display:flex}.route-image-setting__header-actions>span{color:var(--color-text-muted);white-space:nowrap;font-size:12px}.route-image-setting .project-admin-panel__header .route-image-setting__delete{color:var(--color-danger);font-size:12px}.route-image-setting__status{color:var(--color-text-muted);margin:18px 0;font-size:12px}.route-image-setting__list{border-top:1px solid var(--color-border)}.route-image-setting__item{border-bottom:1px solid var(--color-border);align-items:center;gap:10px;width:100%;display:flex}.route-image-setting__item-open{min-width:0;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:8px;padding:14px 0;display:flex}.route-image-setting__item-open:hover{color:var(--color-primary-light)}.route-image-setting__item-delete{color:var(--color-danger);cursor:pointer;background:0 0;border:0;padding:5px 0;font-size:11px}.route-image-setting__item-name{overflow-wrap:anywhere;flex:1;min-width:0;font-size:13px}.route-image-setting__item-count,.route-image-setting__item-edit{color:var(--color-text-muted);flex:none;font-size:11px}.route-image-setting__form{gap:20px;padding-top:20px;display:grid}.route-image-setting__form .form-field{gap:8px;min-width:0;display:grid}.route-image-setting__form .form-field label{color:var(--color-text-sub);font-size:12px}.route-image-setting__form .form-field>input:not([type=file]){border:1px solid var(--color-border);width:100%;height:40px;color:var(--color-text);background:var(--color-input);font:inherit;border-radius:6px;padding:0 12px;font-size:13px}.route-image-setting__file-input{opacity:0;width:1px;height:1px;position:absolute}.route-image-setting__dropzone{border:1px dashed var(--color-border-strong);width:100%;min-height:112px;color:var(--color-text);background:var(--color-surface-sub);text-align:center;cursor:pointer;border-radius:6px;place-content:center;gap:7px;padding:18px;display:grid}.route-image-setting__dropzone span{color:var(--color-text-muted);font-size:12px}.route-image-setting__dropzone--selected{border-color:var(--color-primary);background:var(--color-input)}.route-image-setting__dropzone--selected>strong{color:var(--color-primary-light);font-size:14px}.route-image-setting__dropzone .route-image-setting__selected-name{color:var(--color-text);overflow-wrap:anywhere;font-size:14px;font-weight:700}.route-image-setting__dropzone:hover,.route-image-setting__dropzone--dragging,.route-image-setting__dropzone:focus-visible{border-color:var(--color-primary);background:var(--color-input)}.route-image-setting__dropzone:disabled{opacity:.6;cursor:not-allowed}.route-image-setting__coordinates{gap:10px;display:grid}.route-image-setting__rotation{gap:8px;padding-bottom:6px;display:grid}.route-image-setting__rotation>label{color:var(--color-text-sub);font-size:12px}.route-image-setting__rotation>div{grid-template-columns:minmax(0,1fr) 72px 12px;align-items:center;gap:7px;display:grid}.route-image-setting__rotation input[type=range]{width:100%;accent-color:var(--color-primary)}.route-image-setting__rotation input[type=number]{border:1px solid var(--color-border);width:72px;height:36px;color:var(--color-text);background:var(--color-input);border-radius:5px;padding:0 7px}.route-image-setting__rotation span{color:var(--color-text-muted);font-size:12px}.route-image-setting__coordinates strong{color:var(--color-text);font-size:13px}.route-image-setting__coordinates p{color:var(--color-text-muted);margin:0 0 4px;font-size:12px;line-height:1.5}.route-image-setting__point{border:1px solid var(--color-border);width:100%;color:var(--color-text-sub);background:var(--color-input);border-radius:6px;padding:11px}.route-image-setting__point--active{border-color:var(--color-primary);background:var(--color-surface-sub)}.route-image-setting__point-label{color:#fff;background:var(--color-primary);border-radius:4px;padding:3px 6px;font-size:11px;font-weight:700}.route-image-setting__point-heading{align-items:center;gap:7px;font-size:12px;display:flex}.route-image-setting__point-heading button{color:var(--color-primary-light);cursor:pointer;background:0 0;border:0;margin-left:auto;padding:4px 0;font-size:11px}.route-image-setting__point-heading button:disabled{opacity:.55;cursor:not-allowed}.route-image-setting__point-inputs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:11px;display:grid}.route-image-setting__point-inputs label{color:var(--color-text-muted);gap:5px;font-size:11px;display:grid}.route-image-setting__point-inputs input{border:1px solid var(--color-border);width:100%;min-width:0;height:36px;color:var(--color-text);background:var(--color-surface);font:inherit;border-radius:5px;padding:0 8px;font-size:12px}.route-image-setting__point-inputs input:focus{outline:2px solid var(--color-primary)}.route-image-setting__submit{width:100%}.route-image-setting__submit:disabled{opacity:.55;cursor:not-allowed}.label-setting .project-admin-panel__header .primary-button,.label-setting .project-admin-panel__header .label-setting__back{border-radius:6px;width:auto;min-height:36px;padding:0 12px;font-size:13px}.label-setting .project-admin-panel__header .primary-button{color:#fff;background:var(--color-primary);white-space:nowrap;border:0}.label-setting__header-actions{flex:none;align-items:center;gap:8px;display:flex}.label-setting__header-actions>span{color:var(--color-text-muted);white-space:nowrap;font-size:12px}.label-setting__status{color:var(--color-text-muted);margin:18px 0;font-size:12px}.label-setting__list{border-top:1px solid var(--color-border)}.label-setting__item{border-bottom:1px solid var(--color-border);align-items:center;gap:10px;display:flex}.label-setting__item-open{min-width:0;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;padding:14px 0;display:flex}.label-setting__item-open:hover{color:var(--color-primary-light)}.label-setting__item-open strong{overflow-wrap:anywhere;min-width:0;font-size:13px}.label-setting__item-delete{color:var(--color-danger);cursor:pointer;background:0 0;border:0;padding:5px 0;font-size:11px}.label-setting__form{gap:12px;padding-top:14px;display:grid}.label-setting__form .form-field{gap:6px;min-width:0;margin-bottom:0;display:grid}.label-setting__form .form-field label,.label-setting__coordinate legend{color:var(--color-text-sub);font-size:12px}.label-setting__type{margin-bottom:0}.label-setting__type legend{color:var(--color-text-sub);margin-bottom:6px;font-size:12px;font-weight:400}.label-setting__type .role-segmented label{flex:1}.label-setting__type .role-segmented span{width:100%;height:40px}.label-setting__form .form-field>input,.label-setting__form .form-field>select,.label-setting__color-input input[type=text]{border:1px solid var(--color-border);width:100%;min-width:0;height:40px;min-height:40px;color:var(--color-text);background:var(--color-input);font:inherit;border-radius:6px;padding:0 12px;font-size:13px}.label-setting__color-row,.label-setting__coordinate-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.label-setting__color-input{grid-template-columns:40px minmax(0,1fr);gap:7px;display:grid}.label-setting__color-input input[type=color]{border:1px solid var(--color-border);background:var(--color-input);cursor:pointer;border-radius:6px;width:40px;height:40px;min-height:40px;padding:3px}.label-setting__preview{border:1px solid var(--color-border);background:var(--color-surface-sub);border-radius:6px;place-items:center;min-height:72px;padding:8px;display:grid}.label-preview--type1{overflow-wrap:anywhere;border-radius:999px;align-items:center;gap:7px;max-width:100%;padding:8px 13px;font-size:13px;font-weight:700;display:inline-flex}.label-preview--type1 span{font-size:10px}.label-preview--type2{text-align:center;border:1px solid #fff6;border-radius:5px;min-width:110px;font-size:12px;font-weight:700;overflow:hidden}.label-preview--type2>div{overflow-wrap:anywhere;padding:7px 12px}.label-preview--type2>div:last-child{color:#111;background:#fff}.label-setting__coordinate{border:1px solid var(--color-border);border-radius:6px;gap:8px;min-width:0;margin:0;padding:10px;display:grid}.label-setting__coordinate legend{padding:0 5px}.label-setting__coordinate>button{width:100%;min-height:36px}.label-setting__submit{width:100%}.label-setting__submit:disabled{opacity:.55;cursor:not-allowed}.glb-setting .project-admin-panel__header .primary-button,.glb-setting .project-admin-panel__header .glb-setting__back{white-space:nowrap;border-radius:6px;width:max-content;height:36px;min-height:36px;padding:0 12px;font-size:13px}.glb-setting .project-admin-panel__header .primary-button{color:#fff;background:var(--color-primary);border:0}.glb-setting .project-admin-panel__header .glb-setting__back{border:1px solid var(--color-border);color:var(--color-text-sub);background:0 0}.glb-setting .project-admin-panel__header{gap:8px}.glb-setting .project-admin-panel__header h2{min-width:0}.glb-setting__header-actions{flex:none;align-items:center;gap:8px;display:flex}.glb-setting__header-actions>span,.glb-setting__status{color:var(--color-text-muted);font-size:12px}.glb-setting__status{margin:18px 0}.glb-setting__list{border-top:1px solid var(--color-border)}.glb-setting__item{border-bottom:1px solid var(--color-border);align-items:center;gap:9px;display:flex}.glb-setting__item-open{min-width:0;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:0;flex:1;grid-template-columns:minmax(0,1fr) auto auto minmax(0,1.2fr);align-items:center;gap:8px;padding:14px 0;display:grid}.glb-setting__item-open:hover{color:var(--color-primary-light)}.glb-setting__item-open strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.glb-setting__item-open span,.glb-setting__item-open small{color:var(--color-text-muted);white-space:nowrap;font-size:11px}.glb-setting__item-open small{text-overflow:ellipsis;min-width:0;overflow:hidden}.glb-setting__item-delete,.glb-setting__file-remove{color:var(--color-danger);cursor:pointer;background:0 0;border:0;padding:5px 0;font-size:11px}.glb-setting__form{gap:12px;padding-top:14px;display:grid}.glb-setting__form .form-field{gap:6px;min-width:0;margin-bottom:0;display:grid}.glb-setting__form .form-field>label,.glb-setting__type legend{color:var(--color-text-sub);font-size:12px;font-weight:400}.glb-setting__form .form-field>input,.glb-setting__form .form-field>select{border:1px solid var(--color-border);width:100%;height:40px;min-height:40px;color:var(--color-text);background:var(--color-input);border-radius:6px;padding:0 12px;font-size:13px}.glb-setting .glb-setting__type{margin:0}.glb-setting__type legend{margin-bottom:6px}.glb-setting__type .role-segmented label{flex:1}.glb-setting__type .role-segmented span{width:100%;height:40px}.glb-setting__file-input{opacity:0;width:1px;height:1px;position:absolute}.glb-setting__dropzone{border:1px dashed var(--color-border-strong);min-height:92px;color:var(--color-text);background:var(--color-surface-sub);text-align:center;cursor:pointer;border-radius:6px;place-content:center;gap:6px;padding:12px;display:grid}.glb-setting__dropzone span{color:var(--color-text-muted);font-size:11px}.glb-setting__dropzone--dragging,.glb-setting__dropzone--selected{border-color:var(--color-primary);background:var(--color-input)}.glb-setting__file-remove{justify-self:end}.glb-setting__points{gap:9px;display:grid}.glb-setting__points>strong{font-size:13px}.glb-setting__point{border:1px solid var(--color-border);background:var(--color-input);border-radius:6px;gap:8px;padding:10px;display:grid}.glb-setting__point-heading{justify-content:space-between;align-items:center;display:flex}.glb-setting__point-heading span{color:#fff;background:var(--color-primary);border-radius:4px;padding:3px 6px;font-size:11px;font-weight:700}.glb-setting__point-heading em{color:var(--color-text-muted);font-size:11px;font-style:normal}.glb-setting__point-row{grid-template-columns:35px minmax(0,1fr) minmax(88px,.72fr);align-items:center;gap:5px;display:grid}.glb-setting__point-row b{color:var(--color-text-muted);font-size:11px}.glb-setting__point-row input{border:1px solid var(--color-border);width:100%;min-width:0;height:34px;color:var(--color-text);background:var(--color-surface);border-radius:5px;padding:0 6px;font-size:11px}.glb-setting__coordinate-inputs{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;min-width:0;display:grid}.glb-setting__point-row .glb-setting__paste-input{border-style:dashed;border-color:var(--color-border-strong)}.glb-setting__point-row .glb-setting__paste-input:focus{border-style:solid;border-color:var(--color-primary)}.glb-setting__point-row .glb-setting__paste-input[aria-invalid=true]{border-style:solid;border-color:var(--color-danger,#ef4444)}.glb-setting__point-row input[type=number]{appearance:textfield}.glb-setting__point-row input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.glb-setting__point-row input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.glb-setting__guide{color:var(--color-text-muted);margin:0;font-size:11px}.glb-setting__actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.glb-setting__actions button{min-height:40px}.glb-setting__actions button:disabled{opacity:.55;cursor:not-allowed}.aerial360-setting .project-admin-panel__header{gap:8px}.aerial360-setting .project-admin-panel__header h2{min-width:0}.aerial360-setting .project-admin-panel__header button{white-space:nowrap;cursor:pointer;border-radius:6px;width:max-content;height:36px;min-height:36px;padding:0 12px;font-size:13px}.aerial360-setting .project-admin-panel__header .primary-button{color:#fff;background:var(--color-primary);border:0}.aerial360-setting .project-admin-panel__header .secondary-button{border:1px solid var(--color-border);color:var(--color-text-sub);background:0 0}.aerial360-setting__header-actions{flex:none;align-items:center;gap:8px;display:flex}.aerial360-setting__header-actions>span,.aerial360-setting__status{color:var(--color-text-muted);font-size:12px}.aerial360-setting__status{margin:18px 0}.aerial360-setting__list{border-top:1px solid var(--color-border)}.aerial360-setting__item{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:9px;display:grid}.aerial360-setting__item>button{color:var(--color-text-sub);background:0 0;border:0;padding:5px 0;font-size:11px}.aerial360-setting__item>button:first-child{min-width:0;color:var(--color-text);text-align:left;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:14px 0;display:grid}.aerial360-setting__item>button:first-child:hover{color:var(--color-primary-light)}.aerial360-setting__item>button:first-child strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.aerial360-setting__item>button:first-child span,.aerial360-setting__item>button:first-child small{color:var(--color-text-muted);white-space:nowrap;font-size:11px}.aerial360-setting__item>button:first-child .aerial360-setting__sequence{color:var(--color-primary-light)}.aerial360-setting__item>button:last-child,.aerial360-setting__file>button:last-child{color:var(--color-danger)}.aerial360-setting__form{gap:20px;padding-top:20px;display:grid}.aerial360-setting__form h3{margin:0;font-size:14px}.aerial360-setting__form .form-field{gap:8px;min-width:0;margin:0}.aerial360-setting__form .form-field label,.aerial360-setting__coordinate legend,.aerial360-setting__grid>label{color:var(--color-text-sub);font-size:12px}.aerial360-setting__form .form-field>input,.aerial360-setting__form .form-field>select,.aerial360-setting__grid input{border:1px solid var(--color-border);width:100%;min-width:0;height:40px;min-height:40px;color:var(--color-text);background:var(--color-input);border-radius:6px;padding:0 12px;font-size:13px}.aerial360-setting__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.aerial360-setting__grid>label{gap:8px;display:grid}.aerial360-setting__coordinate{border:1px solid var(--color-border);border-radius:6px;gap:10px;min-width:0;margin:0;padding:10px;display:grid}.aerial360-setting__coordinate legend{padding:0 5px}.aerial360-setting__coordinate-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.aerial360-setting__coordinate-actions>button{width:100%;min-height:36px}.aerial360-setting__submit{width:100%;min-height:40px}.aerial360-setting__submit:disabled{opacity:.55;cursor:not-allowed}.aerial360-setting__files{border-top:1px solid var(--color-border);gap:10px;margin-top:8px;padding-top:14px;display:grid}.aerial360-setting__section-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.aerial360-setting__section-heading button{min-height:32px;padding:0 9px;font-size:11px}.aerial360-setting__file-list{border-top:1px solid var(--color-border)}.aerial360-setting__file{border-bottom:1px solid var(--color-border);align-items:center;gap:9px;display:flex}.aerial360-setting__file>button{background:0 0;border:0}.aerial360-setting__file>button:first-child{min-width:0;color:var(--color-text);text-align:left;flex:1;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:14px 0;display:grid}.aerial360-setting__file>button:first-child span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.aerial360-setting__file>button:first-child strong,.aerial360-setting__file>button:first-child small,.aerial360-setting__file>button:last-child{font-size:11px}.aerial360-setting__file>button:first-child strong,.aerial360-setting__file>button:first-child small{color:var(--color-text-muted);white-space:nowrap}.aerial360-setting__file-input{opacity:0;width:1px;height:1px;position:absolute}.aerial360-setting__dropzone{border:1px dashed var(--color-border-strong);width:100%;min-height:112px;color:var(--color-text);background:var(--color-surface-sub);text-align:center;cursor:pointer;border-radius:6px;place-content:center;gap:7px;padding:18px;display:grid}.aerial360-setting__dropzone span{color:var(--color-text-muted);font-size:12px}.aerial360-setting__dropzone--selected{border-color:var(--color-primary);background:var(--color-input)}.aerial360-setting__dropzone--selected>strong{color:var(--color-primary-light);font-size:14px}.aerial360-setting__dropzone:hover,.aerial360-setting__dropzone:focus-visible,.aerial360-setting__dropzone--dragging{border-color:var(--color-primary);background:var(--color-input)}.aerial360-setting__dropzone:disabled{opacity:.6;cursor:not-allowed}.aerial360-setting__current-file,.aerial360-setting__notice,.aerial360-setting__preview>p{color:var(--color-text-muted);margin:0;font-size:11px;line-height:1.5}.aerial360-setting__notice{border:1px solid var(--color-warning);color:var(--color-warning);border-radius:6px;padding:9px}.aerial360-setting__preview{gap:8px;display:grid}.aerial360-setting__viewer,.aerial360-setting__viewer-empty{border:1px solid var(--color-border);background:#080d16;border-radius:6px;width:100%;height:210px;overflow:hidden}.aerial360-setting__viewer-empty{color:var(--color-text-muted);place-items:center;font-size:12px;display:grid}.aerial360-setting__preview>button{width:100%;min-height:36px}.project-basic-form .project-admin-panel__header{margin-bottom:22px}.project-basic-form .project-admin-panel__header .primary-button{color:#fff;background:var(--color-primary);width:auto;height:auto;min-height:36px;font-size:13px}.project-basic-form .project-admin-panel__header .primary-button:hover{background:var(--color-primary-hover)}.sidebar-setting .project-admin-panel__header .primary-button{color:#fff;background:var(--color-primary);width:auto;height:auto;min-height:36px;font-size:13px}.sidebar-setting .project-admin-panel__header .primary-button:hover:not(:disabled){background:var(--color-primary-hover)}.sidebar-setting .project-admin-panel__header .primary-button:disabled{opacity:.55;cursor:not-allowed}.sidebar-setting__description{color:var(--color-text-sub);margin:20px 0 22px;font-size:12px;line-height:1.7}.sidebar-setting__list{border-top:1px solid var(--color-border)}.sidebar-setting__row{border-bottom:1px solid var(--color-border);height:52px;transform:translateY(calc(var(--sidebar-row-offset,0) * 52px));align-items:center;gap:10px;font-size:13px;transition:transform .18s,opacity .18s;display:flex;position:relative}.sidebar-setting__row--dragging{z-index:1;opacity:.22;border:1px dashed var(--color-primary-light);background:var(--color-surface-sub)}.sidebar-setting__drag-image{z-index:9999;opacity:.98;border:1px solid var(--color-primary-light);background:var(--color-button);pointer-events:none;border-radius:5px;padding:0 10px;position:fixed;top:0;left:0;transform:scale(1.03);box-shadow:0 12px 24px #0006}.sidebar-setting__row--fixed{justify-content:space-between;padding-left:26px;font-weight:600}.sidebar-setting__always{color:var(--color-text-muted);font-size:11px;font-weight:500}.sidebar-setting__handle{width:16px;color:var(--color-text-muted);cursor:grab;-webkit-user-select:none;user-select:none;text-align:center;flex:0 0 16px;font-size:19px}.sidebar-setting__handle:active{cursor:grabbing}.sidebar-setting__name{flex:1;min-width:0}.sidebar-setting__switch{cursor:pointer;flex:0 0 34px;width:34px;height:20px;position:relative}.sidebar-setting__switch input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.sidebar-setting__switch span{background:var(--color-border-strong);pointer-events:none;border-radius:10px;width:100%;height:100%;transition:background .15s;display:block}.sidebar-setting__switch span:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .15s;position:absolute;top:3px;left:3px}.sidebar-setting__switch input:checked+span{background:var(--color-primary)}.sidebar-setting__switch input:checked+span:after{transform:translate(14px)}.sidebar-setting__switch input:focus-visible+span{outline:2px solid var(--color-primary-light);outline-offset:2px}.sidebar-setting__hint,.sidebar-setting__status{color:var(--color-text-muted);margin:16px 0 0;font-size:12px;line-height:1.7}.map-layer-setting .project-admin-panel__header .primary-button{color:#fff;background:var(--color-primary);width:auto;height:auto;min-height:36px;font-size:13px}.map-layer-setting .project-admin-panel__header .primary-button:hover:not(:disabled){background:var(--color-primary-hover)}.map-layer-setting .project-admin-panel__header .primary-button:disabled{cursor:not-allowed;opacity:.55}.map-layer-setting__description{color:var(--color-text-sub);margin:20px 0 22px;font-size:12px;line-height:1.7}.map-layer-setting__groups{gap:26px;display:grid}.map-layer-setting__groups h3{color:var(--color-text);margin:0 0 10px;font-size:14px}.map-layer-setting__list{border-top:1px solid var(--color-border)}.map-layer-setting__row{border-bottom:1px solid var(--color-border);height:50px;color:var(--color-text-sub);justify-content:space-between;align-items:center;gap:16px;font-size:13px;display:flex}.map-layer-setting__row>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.map-layer-setting__status{color:var(--color-text-muted);margin:18px 0 0;font-size:12px}.map-layer-setting .sidebar-setting__switch input:disabled{cursor:not-allowed}.map-layer-setting .sidebar-setting__switch input:disabled+span{opacity:.55}@media (prefers-reduced-motion:reduce){.sidebar-setting__row{transition:none}}.section-setting__toolbar{color:var(--color-text-muted);justify-content:space-between;align-items:center;margin:16px 0;font-size:12px;display:flex}.section-setting__toolbar .primary-button{font-size:13px}.section-setting__toolbar .primary-button:disabled{opacity:.55;cursor:not-allowed}.section-setting__description,.section-setting__status{color:var(--color-text-muted);margin:0 0 18px;font-size:12px;line-height:1.6}.section-setting__list{border-top:1px solid var(--color-border)}.section-setting__row{border-bottom:1px solid var(--color-border);align-items:center;gap:12px;padding:10px 0;display:flex}.section-setting__row input{border:1px solid var(--color-border);width:100%;min-width:0;height:40px;color:var(--color-text);background:var(--color-input);font:inherit;border-radius:6px;padding:8px 12px;font-size:13px}.section-setting__row input:focus{border-color:var(--color-primary);outline:3px solid #3b82f63d}.section-setting__row input::placeholder{color:var(--color-text-muted)}.section-setting__delete{color:var(--color-danger);cursor:pointer;background:0 0;border:0;flex:none;padding:7px 2px;font-size:12px}.section-setting__delete:hover{color:#fb7185}.section-setting__add{border:1px dashed var(--color-border-strong);width:100%;min-height:40px;color:var(--color-text-sub);background:var(--color-surface-sub);cursor:pointer;border-radius:6px;margin-top:14px;font-size:13px}.section-setting__add:hover{color:var(--color-text);border-color:var(--color-primary)}.section-setting__delete:disabled,.section-setting__add:disabled{cursor:not-allowed;opacity:.55}.data-type-setting .project-admin-panel__header .primary-button{color:#fff;background:var(--color-primary);width:auto;height:auto;min-height:36px;font-size:13px}.data-type-setting .project-admin-panel__header .primary-button:hover:not(:disabled){background:var(--color-primary-hover)}.data-type-setting .project-admin-panel__header .primary-button:disabled{opacity:.55;cursor:not-allowed}.data-type-setting__description,.data-type-setting__status{color:var(--color-text-muted);margin:12px 0;font-size:12px;line-height:1.5}.data-type-card{border:1px solid var(--color-border);background:var(--color-surface-sub);transform:translateY(var(--data-type-offset,0px));border-radius:6px;margin:0 0 10px;padding:10px;transition:transform .18s,opacity .18s;position:relative}.data-type-card--dragging{z-index:1;opacity:.22;border-color:var(--color-primary-light);box-shadow:0 12px 24px #0000004d}.data-type-card__drag-image{z-index:9999;border:1px solid var(--color-primary-light);color:var(--color-text);background:var(--color-button);pointer-events:none;border-radius:5px;padding:10px;position:fixed;top:0;left:0;box-shadow:0 12px 24px #0006}.data-type-card__pointer-ghost{z-index:9999;border:1px solid var(--color-primary-light);color:var(--color-text);background:var(--color-button);pointer-events:none;border-radius:5px;padding:4px 8px;position:fixed;box-shadow:0 10px 22px #0006}.data-type-card__heading,.data-type-card__subtype{align-items:center;gap:8px;min-width:0;display:flex}.data-type-card__heading{border-bottom:1px solid var(--color-border);padding-bottom:8px}.data-type-card__heading input{font-weight:700}.data-type-card__subtypes{border-left:2px solid var(--color-border-strong);margin:9px 0 0 12px;padding:0 0 9px 10px}.data-type-card__subtypes-label{color:var(--color-text-muted);margin-bottom:4px;font-size:11px;font-weight:600;display:block}.data-type-card__subtype{border-bottom:1px solid var(--color-border);min-height:38px;transform:translateY(var(--data-subtype-offset,0px));transition:transform .18s,opacity .18s;position:relative}.data-type-card__subtype--dragging{z-index:1;opacity:.22;background:var(--color-input);box-shadow:0 8px 16px #00000040}.data-type-card__handle{width:16px;color:var(--color-text-muted);text-align:center;-webkit-user-select:none;user-select:none;cursor:grab;flex:0 0 16px;font-size:18px}.data-type-card__handle:active{cursor:grabbing}.data-type-card__handle--subtype{touch-action:none}.data-type-card__heading input,.data-type-card__subtype input{border:1px solid var(--color-border);min-width:0;height:32px;color:var(--color-text);background:var(--color-input);font:inherit;border-radius:5px;flex:1;padding:5px 8px;font-size:12px}.data-type-card input:focus-visible{outline:2px solid var(--color-primary-light);outline-offset:1px}.data-type-card input::placeholder{color:var(--color-text-muted)}.data-type-card__count{color:var(--color-text-muted);flex:none;font-size:11px}.data-type-card__delete{color:var(--color-danger);cursor:pointer;background:0 0;border:0;flex:none;padding:5px 0;font-size:11px}.data-type-card__delete:hover{color:#fb7185}.data-type-card__add,.data-type-setting__add{border:1px dashed var(--color-border-strong);width:100%;min-height:32px;color:var(--color-text-sub);cursor:pointer;background:0 0;border-radius:5px;font-size:12px}.data-type-card__add{margin-top:9px}.data-type-setting__add{background:var(--color-surface-sub);margin:2px 0 10px}.data-type-card__add:hover,.data-type-setting__add:hover{color:var(--color-text);border-color:var(--color-primary)}.data-type-card__field{margin-top:12px}.data-type-card__field>label{color:var(--color-text-sub);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.data-type-card__media{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;gap:8px;display:grid}.data-type-card__media .data-type-card__field{min-width:0}.data-type-card__field--preview{justify-items:center;display:grid}.data-type-card__field--preview>label{justify-self:start}.data-type-card__color{align-items:center;gap:8px;display:flex}.data-type-card__color input[type=color]{border:1px solid var(--color-border);background:var(--color-input);cursor:pointer;border-radius:5px;flex:0 0 36px;width:36px;height:32px;padding:3px}.data-type-card__color input[type=text]{border:1px solid var(--color-border);width:100%;min-width:0;height:32px;color:var(--color-text);background:var(--color-input);font:inherit;border-radius:5px;padding:5px 9px;font-size:12px}.data-type-card__upload{border:1px dashed var(--color-border-strong);width:100%;min-height:68px;color:var(--color-text-sub);background:var(--color-surface);text-align:center;cursor:pointer;border-radius:5px;place-content:center;gap:3px;padding:6px;font-size:11px;display:grid}.data-type-card__upload:hover{border-color:var(--color-primary)}.data-type-card__upload small{color:var(--color-text-muted);overflow-wrap:anywhere;font-size:11px}.data-type-card__preview{border:2px solid #fff;border-radius:50%;width:64px;height:64px;padding:3px}.data-type-card__preview-tile{border-radius:50%;place-items:center;width:100%;height:100%;padding:9px;display:grid;overflow:hidden}.data-type-card__preview img{object-fit:contain;width:100%;height:100%;display:block}.data-type-card__preview-name{width:100%;color:var(--color-text-sub);text-align:center;overflow-wrap:anywhere;margin-top:5px;font-size:11px;display:block}.data-type-card__delete:disabled,.data-type-card__add:disabled,.data-type-setting__add:disabled,.data-type-card__upload:disabled{cursor:not-allowed;opacity:.55}@media (prefers-reduced-motion:reduce){.data-type-card,.data-type-card__subtype{transition:none}}.retention-setting .project-admin-panel__header .primary-button{color:#fff;background:var(--color-primary);width:auto;height:auto;min-height:36px;font-size:13px}.retention-setting .project-admin-panel__header .primary-button:hover:not(:disabled){background:var(--color-primary-hover)}.retention-setting .project-admin-panel__header .primary-button:disabled{opacity:.55;cursor:not-allowed}.retention-setting__description,.retention-setting__empty{color:var(--color-text-muted);margin:18px 0;font-size:12px;line-height:1.6}.retention-setting__group{margin-top:22px}.retention-setting__group h3{border-bottom:1px solid var(--color-border-strong);color:var(--color-text);margin:0;padding-bottom:9px;font-size:14px;font-weight:700}.retention-setting__row{border-bottom:1px solid var(--color-border);min-height:46px;color:var(--color-text-sub);justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.retention-setting__row>span:first-child{overflow-wrap:anywhere;min-width:0}.retention-setting__value{color:var(--color-text-muted);flex:none;align-items:center;gap:8px;font-size:12px;display:flex}.retention-setting__value input{border:1px solid var(--color-border);width:62px;height:32px;color:var(--color-text);background:var(--color-input);font:inherit;text-align:right;appearance:textfield;border-radius:5px;padding:5px 7px;font-size:13px}.retention-setting__value input::-webkit-inner-spin-button{appearance:none;margin:0}.retention-setting__value input::-webkit-outer-spin-button{appearance:none;margin:0}.retention-setting__value input::placeholder{color:var(--color-text-muted)}.retention-setting__value input:focus-visible{outline:2px solid var(--color-primary-light);outline-offset:1px}.project-user-setting .project-admin-panel__header button{width:auto;height:auto;min-height:36px;padding:8px 12px;font-size:12px}.project-user-setting .project-admin-panel__header .primary-button{color:#fff;background:var(--color-primary)}.project-user-setting .project-admin-panel__header .primary-button:hover:not(:disabled){background:var(--color-primary-hover)}.project-user-setting .project-admin-panel__header .secondary-button{border:1px solid var(--color-border);color:var(--color-text);background:var(--color-button)}.project-user-setting .project-admin-panel__header .secondary-button:hover:not(:disabled){background:var(--color-button-hover)}.project-user-setting__search{border:1px solid var(--color-border);width:100%;height:38px;color:var(--color-text);background:var(--color-input);font:inherit;border-radius:5px;margin-top:18px;padding:8px 11px;font-size:13px}.project-user-setting__search::placeholder{color:var(--color-text-muted)}.project-user-setting__search:focus-visible{outline:2px solid var(--color-primary-light);outline-offset:1px}.project-user-setting__count{color:var(--color-text-muted);text-align:right;margin:13px 0 8px;font-size:12px}.project-user-setting__table{border-top:1px solid var(--color-border-strong)}.project-user-setting__row{border-bottom:1px solid var(--color-border);min-height:44px;color:var(--color-text);grid-template-columns:minmax(0,1.1fr) minmax(0,.8fr) 70px;align-items:center;gap:7px;font-size:12px;display:grid}.project-user-setting__row>span:not(.project-user-setting__actions){text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.project-user-setting__row--head{min-height:36px;color:var(--color-text-muted);font-size:11px;font-weight:700}.project-user-setting__actions{white-space:nowrap;gap:8px;display:flex}.project-user-setting__actions button{color:var(--color-text-sub);cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:11px}.project-user-setting__actions button:hover{color:var(--color-text)}.project-user-setting__actions .project-user-setting__delete{color:var(--color-danger)}.project-user-setting__actions .project-user-setting__delete:hover{color:#fb7185}.project-user-setting__empty{color:var(--color-text-muted);margin:18px 0;font-size:12px}.project-user-setting__retry{margin-top:12px;font-size:12px}.project-user-setting__form{padding-top:20px}.project-user-setting__form .form-field{gap:7px;margin-bottom:17px;display:grid}.project-user-setting__form .form-field label{font-size:12px}.project-user-setting__form .form-field input{min-height:40px;padding:8px 11px;font-size:13px}.project-user-setting__form .form-field small{color:var(--color-text-muted);font-size:11px;line-height:1.5}.project-user-setting__form-actions{justify-content:flex-end;gap:8px;margin-top:25px;display:flex}.project-user-setting__form-actions button{font-size:12px}.project-basic-form .form-field,.project-basic-logo.form-field{min-width:0;margin-bottom:18px}.project-basic-form__dates{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.project-basic-form__dates .form-field label{font-size:12px}.project-basic-form__dates input{min-width:0;padding:10px 6px;font-size:12px}.project-basic-form .region-select{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.project-basic-form .region-select select{border:1px solid var(--color-border);width:100%;min-width:0;min-height:42px;color:var(--color-text);background:var(--color-input);border-radius:6px;padding:0 4px;font-size:11px}.project-basic-logo__dropzone{border:1px dashed var(--color-border-strong);width:100%;min-height:112px;color:var(--color-text);background:var(--color-surface-sub);text-align:center;border-radius:6px;place-content:center;gap:7px;padding:18px;display:grid}.project-basic-logo__dropzone span{color:var(--color-text-muted);font-size:12px}.project-basic-logo__dropzone:hover,.project-basic-logo__dropzone--dragging,.project-basic-logo__dropzone:focus-visible{border-color:var(--color-primary);background:var(--color-input)}.project-basic-logo__dropzone:disabled{cursor:not-allowed;opacity:.6}.project-basic-logo__delete{align-self:flex-start}.project-basic-logo__preview{border:1px solid var(--color-border);background:var(--color-surface-sub);border-radius:6px;place-items:center;min-height:100px;padding:10px;display:grid}.project-basic-logo__preview img{object-fit:contain;max-width:100%;max-height:100px;display:block}.user-menu{align-self:stretch;align-items:center;display:flex;position:relative}.user-menu__trigger{height:100%;color:var(--color-text);background:0 0;border:0;align-items:center;gap:9px;padding:0 8px;display:flex}.user-menu__trigger:hover,.user-menu__trigger[aria-expanded=true]{background:var(--color-surface)}.user-avatar{color:#fff;background:var(--color-primary);border-radius:50%;place-items:center;width:30px;height:30px;font-size:13px;font-weight:800;display:grid}.user-menu__position{max-width:180px;color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;overflow:hidden}.user-menu__chevron{border-right:1px solid var(--color-text-muted);border-bottom:1px solid var(--color-text-muted);width:7px;height:7px;margin:-4px 2px 0 3px;transition:transform .15s;transform:rotate(45deg)}.user-menu__chevron--open{margin-top:4px;transform:rotate(225deg)}.user-dropdown{border:1px solid var(--color-border);background:var(--color-sidebar);border-radius:0 0 7px 7px;width:220px;position:absolute;top:calc(100% - 1px);right:0;overflow:hidden;box-shadow:0 16px 30px #00000052}.user-dropdown__identity{border-bottom:1px solid var(--color-border);gap:5px;padding:14px 16px;display:grid}.user-dropdown__identity strong{font-size:14px}.user-dropdown__identity span{color:var(--color-text-sub);font-size:12px;font-weight:600}.user-dropdown__actions{padding:5px 0;display:grid}.user-dropdown__actions button{width:100%;color:var(--color-text-sub);text-align:left;background:0 0;border:0;padding:11px 16px;font-size:13px;font-weight:600}.user-dropdown__actions button:hover{color:var(--color-text);background:var(--color-surface-sub)}.modal-backdrop{z-index:20;background:#030812b8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.settings-modal{border:1px solid var(--color-border-strong);background:var(--color-surface);border-radius:8px;width:min(620px,100%);max-height:calc(100vh - 48px);overflow-y:auto;box-shadow:0 24px 70px #00000073}.settings-modal__header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;gap:24px;padding:22px 24px;display:flex}.settings-modal__header h2{margin:0 0 7px;font-size:20px}.settings-modal__header p{color:var(--color-text-muted);margin:0;font-size:13px}.settings-modal__header-actions{align-items:center;gap:8px;display:flex}.modal-close{width:32px;height:32px;color:var(--color-text-sub);background:0 0;border:0;place-items:center;padding:0;font-size:24px;line-height:1;display:grid}.modal-close:hover{color:var(--color-text);background:var(--color-surface-sub)}.settings-modal__loading{color:var(--color-text-muted);text-align:center;margin:0;padding:48px 24px}.weather-detail-modal{width:min(520px,100%)}.weather-detail-modal__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:24px;display:grid}.weather-detail-modal__item{border:1px solid var(--color-border);background:var(--color-surface-sub);border-radius:6px;gap:12px;min-height:92px;padding:16px;display:grid}.weather-detail-modal__item span{color:var(--color-text-sub);font-size:12px}.weather-detail-modal__item strong{color:var(--color-text);font-size:20px;font-weight:600}.weather-detail-modal__source{color:var(--color-text-muted);margin:0;padding:0 24px 24px;font-size:12px}@media (width<=480px){.weather-detail-modal__grid{grid-template-columns:1fr}}.settings-form{padding:24px}.modal-form{max-width:none;padding:24px}.confirm-modal{width:min(440px,100%)}.confirm-modal__content{padding:24px}.confirm-modal__content>p{color:var(--color-text-sub);margin:0 0 24px;line-height:1.6}.settings-form__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;display:grid}.settings-form__wide{grid-column:1/-1}.settings-form input[readonly]{color:var(--color-text-muted);background:var(--color-surface-sub)}.menu-button{text-align:left;width:100%;color:var(--color-text-sub);background:0 0;border:0;border-radius:6px;padding:12px 14px;font-weight:600}.menu-button:hover{background:var(--color-surface-sub)}.menu-button--active{color:var(--color-primary-light);background:var(--color-surface)}.admin-tabs{border-bottom:1px solid var(--color-border);background:var(--color-bg);align-items:end;gap:4px;padding:0 24px;display:flex}.admin-tab{min-width:88px;height:40px;color:var(--color-text-sub);border-radius:6px 6px 0 0;place-items:center;padding:0 18px;font-size:14px;font-weight:700;text-decoration:none;display:grid}.admin-tab:hover{color:var(--color-text);background:var(--color-surface-sub)}.admin-tab--active{color:#fff;background:var(--color-primary)}.admin-tab--active:hover{background:var(--color-primary-hover)}.main-content{background:var(--color-bg);min-width:0;padding:28px 32px 40px}.page-heading{justify-content:space-between;align-items:end;margin-bottom:24px;display:flex}.page-heading h1{letter-spacing:0;margin:0 0 6px;font-size:26px}.page-heading p{color:var(--color-text-sub);margin:0}.status-badge{color:var(--color-success);background:#22c55e1f;border-radius:5px;padding:7px 10px;font-size:13px;font-weight:700}.dashboard-grid{grid-template-columns:repeat(12,1fr);gap:18px;display:grid}.panel{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;grid-column:span 4;min-height:170px;padding:20px;box-shadow:0 12px 28px #00000029}.panel--wide{grid-column:span 8}.panel h2{letter-spacing:0;margin:0 0 18px;font-size:17px}.panel-placeholder{border:1px dashed var(--color-border-strong);min-height:94px;color:var(--color-text-muted);background:var(--color-surface-sub);border-radius:6px;justify-content:center;align-items:center;font-size:14px;display:flex}.project-summary{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.summary-item{border-left:3px solid var(--color-primary);background:var(--color-surface-sub);padding:14px}.summary-item span{color:var(--color-text-muted);margin-bottom:7px;font-size:12px;display:block}.summary-item strong{font-size:15px}.primary-button,.secondary-button,.danger-button{border-radius:5px;min-height:36px;padding:8px 13px;font-weight:700}.primary-button{color:#fff;background:var(--color-primary);border:0}.primary-button:hover{background:var(--color-primary-hover)}.secondary-button{border:1px solid var(--color-border);color:var(--color-text);background:var(--color-button)}.secondary-button:hover{background:var(--color-button-hover)}.danger-button{color:#fff;background:#f43f5e29;border:1px solid #f43f5e80}.danger-button:hover{background:#f43f5e47}.primary-button:disabled,.secondary-button:disabled,.danger-button:disabled{cursor:wait;opacity:.7}.secondary-link{color:var(--color-primary-light);font-weight:700;text-decoration:none}.admin-form-panel,.admin-list-panel{background:var(--list-container-bg);grid-column:auto;margin-bottom:18px}.list-toolbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;display:flex}.panel .list-toolbar h2{margin:0}.list-count{color:var(--color-text-muted);font-size:13px}.account-filters{grid-template-columns:150px minmax(190px,260px) minmax(220px,320px);gap:10px;min-width:0;display:grid}.account-toolbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px;display:flex}.account-toolbar__actions{white-space:nowrap;justify-content:flex-end;align-items:center;gap:14px;display:flex}.account-filters label{min-width:0}.account-filters select,.account-filters input{border:1px solid var(--color-border);width:100%;height:40px;color:var(--color-text);background:var(--color-input);border-radius:6px;padding:0 12px}.account-filters select:focus,.account-filters input:focus{border-color:var(--color-primary);outline:2px solid #3b82f63d}.account-filters input::placeholder{color:var(--color-text-muted)}.project-search{width:min(280px,100%)}.project-search input{border:1px solid var(--color-border);width:100%;height:38px;color:var(--color-text);background:var(--color-input);border-radius:6px;padding:0 12px}.project-search input:focus{border-color:var(--color-primary);outline:2px solid #3b82f63d}.project-search input::placeholder{color:var(--color-text-muted)}.admin-form{gap:18px;max-width:760px;display:grid}.system-info-page{max-width:780px}.system-info-form{gap:0;max-width:560px}.system-info-policy{border-top:1px solid var(--color-border);margin-top:28px;padding-top:24px}.system-info-policy h2{margin:0 0 18px;font-size:17px}.system-info-policy p{color:var(--color-text-sub)}.system-info-policy__current,.system-info-policy__upload{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.system-info-policy__current span{color:var(--color-text-sub);flex-basis:100%;font-size:14px}.system-info-policy__current a{align-items:center;text-decoration:none;display:inline-flex}.system-info-policy__dropzone{border:1px dashed var(--color-border-strong);width:100%;min-height:112px;color:var(--color-text);background:var(--color-surface-sub);text-align:center;border-radius:6px;place-content:center;gap:7px;padding:18px;display:grid}.system-info-policy__dropzone span{color:var(--color-text-muted);font-size:12px}.system-info-policy__dropzone:hover,.system-info-policy__dropzone--dragging,.system-info-policy__dropzone:focus-visible{border-color:var(--color-primary);background:var(--color-input)}.system-info-policy__dropzone:disabled{cursor:not-allowed;opacity:.6}.admin-form--detail{gap:0;max-width:none}.admin-form textarea{border:1px solid var(--color-border);min-height:94px;color:var(--color-text);background:var(--color-input);resize:vertical;border-radius:6px;padding:12px 14px}.admin-form select{border:1px solid var(--color-border);min-height:42px;color:var(--color-text);background:var(--color-input);border-radius:6px;padding:0 12px}.admin-form input[readonly]{color:var(--color-text-muted);background:var(--color-surface-sub)}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.form-grid__wide{grid-column:1/-1}.role-field{border:0;min-width:0;margin:0 0 20px;padding:0}.role-field legend{color:var(--color-text-sub);margin-bottom:9px;padding:0;font-size:14px;font-weight:700}.role-segmented{gap:7px;display:flex}.role-segmented label{cursor:pointer}.role-segmented input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.role-segmented span{border:1px solid var(--color-border);min-width:72px;height:38px;color:var(--color-text-sub);background:var(--color-button);border-radius:6px;place-items:center;padding:0 16px;font-size:14px;font-weight:700;display:grid}.role-segmented label:hover span{background:var(--color-button-hover)}.role-segmented input:focus-visible+span{outline:2px solid var(--color-primary-light);outline-offset:2px}.role-segmented input:checked+span{border-color:var(--color-primary);color:#fff;background:var(--color-primary)}.form-actions{justify-content:flex-end;gap:10px;display:flex}.region-select{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.region-select__error{grid-column:1/-1}.inline-status{color:var(--color-text-sub);font-size:13px}.form-error{color:var(--color-danger);margin:0;font-size:13px}.admin-message{border-radius:6px;margin:0 0 16px;padding:12px 14px;font-weight:700}.admin-message--error{color:#fff;background:#f43f5e29;border:1px solid #f43f5e6b}.admin-message--success{color:var(--color-success);background:#22c55e1f;border:1px solid #22c55e59}.empty-state{border:1px dashed var(--color-border-strong);color:var(--color-text-muted);text-align:center;background:var(--color-surface-sub);border-radius:6px;margin:0;padding:30px}.admin-table{border-collapse:collapse;width:100%;font-size:14px}.admin-table th,.admin-table td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:middle;padding:12px 18px}.admin-table th{color:var(--color-text-sub);background:var(--list-header-bg);font-size:13px}.admin-table tbody tr{background:var(--list-row-bg)}.admin-table a,.link-button{color:var(--color-primary-light);font-weight:700}.table-actions{white-space:nowrap;justify-content:center;align-items:center;gap:8px;display:flex}.project-table{table-layout:fixed}.project-table th,.project-table td{text-align:center}.project-table__name{width:40%;text-align:left!important}.project-table__address{width:auto}.project-table__period{white-space:nowrap;width:190px}.project-table__tools{width:90px;text-align:center!important}.project-table__management{width:180px;text-align:center!important}.account-table{table-layout:fixed}.account-table th,.account-table td{overflow-wrap:anywhere}.account-table th:first-child{width:14%}.account-table th:nth-child(2){width:11%}.account-table th:nth-child(3){width:14%}.account-table th:nth-child(4){width:24%}.account-table th:nth-child(5){width:16%}.account-table th:nth-child(6){width:110px}.account-table__management{width:150px;text-align:center!important}.role-badge{white-space:nowrap;border-radius:4px;padding:5px 8px;font-size:12px;font-weight:700;display:inline-block}.role-badge--admin{color:var(--color-primary-light);background:#3b82f629}.role-badge--user{color:var(--color-text-sub);background:var(--color-button)}.pagination{justify-content:center;align-items:center;gap:6px;padding-top:20px;display:flex}.pagination button{border:1px solid var(--color-border);min-width:34px;height:34px;color:var(--color-text-sub);background:var(--color-button);border-radius:5px;padding:0 10px;font-size:13px}.pagination button:hover:not(:disabled){color:var(--color-text);background:var(--color-button-hover)}.pagination button:disabled{cursor:default;opacity:.4}.pagination .pagination__page--active{border-color:var(--color-primary);color:#fff;background:var(--color-primary)}.link-button{background:0 0;border:0;padding:0}.readonly-line{align-items:center;gap:12px;min-height:42px;display:flex}.readonly-line span{color:var(--color-text-sub);flex:1}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.project-detail-content{caret-color:#0000;width:100%;max-width:1040px}.project-detail-content input,.project-detail-content textarea{caret-color:auto}.project-info-panel,.project-logo-panel{width:100%}.project-info-panel>h2{margin-bottom:24px}.section-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.section-heading h2{margin:0}.project-logo-content{align-items:center;gap:24px;margin-top:18px;display:flex}.project-logo-preview{border:1px solid var(--color-border);background:var(--color-surface-sub);border-radius:6px;place-items:center;width:240px;height:140px;padding:12px;display:grid}.project-logo-preview img{object-fit:contain;max-width:100%;max-height:100%;display:block}.project-logo-meta{color:var(--color-text-sub);justify-items:start;gap:8px;display:grid}.project-logo-meta span{color:var(--color-text-muted);font-size:13px}.project-logo-empty{color:var(--color-text-sub);margin:18px 0 0}.detail-field--medium{max-width:680px}.detail-field--wide{max-width:900px}.form-grid--dates{grid-template-columns:repeat(2,minmax(0,1fr));max-width:680px}.form-grid--coordinates{max-width:800px}.form-grid--weather{grid-template-columns:repeat(2,minmax(0,1fr));max-width:440px}.form-grid--user{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-form--detail .form-field{min-width:0}.admin-form--detail .form-field label,.section-heading h2,.project-logo-empty{-webkit-user-select:none;user-select:none}.admin-form--detail input:focus,.admin-form--detail textarea:focus,.admin-form--detail select:focus{border-color:var(--color-primary);outline:2px solid #3b82f63d}.admin-form--detail input::placeholder{color:var(--color-text-muted);font-size:13px}@media (width<=1280px){.main-content{padding-left:24px;padding-right:24px}}@media (width<=900px){body{min-width:0}.login-page{grid-template-columns:1fr}.login-brand{padding:56px 28px 24px}.login-panel{align-items:start;padding:24px 28px 56px}.login-form{max-width:none}.admin-tabs{padding:0 16px;overflow-x:auto}.list-toolbar{flex-direction:column;align-items:stretch}.project-search{width:100%}.account-filters{grid-template-columns:1fr}.account-toolbar{flex-direction:column;align-items:stretch}.account-toolbar__actions{justify-content:flex-end}.form-grid--dates,.form-grid--coordinates,.form-grid--weather,.form-grid--user,.region-select{grid-template-columns:1fr}.project-logo-content{flex-direction:column;align-items:flex-start}}.psv-container{--psv-core-loaded:true;background:radial-gradient(#fff 0%,#fdfdfd 16%,#fbfbfb 33%,#f8f8f8 49%,#efefef 66%,#dfdfdf 82%,#bfbfbf 100%);width:100%;height:100%;margin:0;padding:0;position:relative;overflow:hidden;container:psv-container/size}.psv-container *{box-sizing:content-box}.psv-canvas-container{z-index:0;transition:opacity .1s linear;position:absolute;top:0;left:0}.psv-fullscreen-emulation{z-index:9999;width:100%!important;height:100%!important;position:fixed!important;top:0!important;left:0!important}.psv-loader-container{z-index:80;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.psv-loader{--psv-loader-border:3px;--psv-loader-tickness:10px;color:#ffffffb3;justify-content:center;align-items:center;width:150px;height:150px;display:flex;position:relative}.psv-loader-canvas{color:#3d3d3d80;z-index:-1;width:100%;height:100%;position:absolute;top:0;left:0}.psv-loader-text{text-align:center;font:600 16px sans-serif}.psv-loader--undefined .psv-loader-canvas{animation:2s cubic-bezier(.75,.25,.25,.75) infinite psv-loader}@keyframes psv-loader{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.psv-navbar{z-index:90;cursor:default;background:#3d3d3d80;width:100%;height:40px;font:16px sans-serif;transition:bottom .1s ease-in-out;display:flex;position:absolute;bottom:-40px;left:0}.psv-navbar--open{bottom:0}.psv-navbar,.psv-navbar *{box-sizing:content-box}.psv-button{cursor:pointer;color:#ffffffb3;background:0 0;flex:none;width:20px;height:20px;padding:10px;position:relative}.psv-button--active{background:#fff3}.psv-button--disabled{pointer-events:none;opacity:.5}.psv-button-svg{width:100%;vertical-align:initial;transition:transform .2s;transform:scale(1)}.psv-button:not(.psv-button--disabled):focus-visible{outline-offset:-2px;outline:2px solid #007cff}.psv-container:not(.psv--is-touch) .psv-button--hover-scale:not(.psv-button--disabled):hover .psv-button-svg{transform:scale(1.2)}.psv-move-button+.psv-move-button{margin-left:-10px}.psv-download-button{color:#ffffffb3!important;text-decoration:none!important}.psv-download-button:before,.psv-download-button:after{display:none!important}.psv-custom-button{width:auto;min-width:20px}.psv-custom-button--no-padding{height:100%;padding:0}.psv-caption{color:#ffffffb3;text-align:center;cursor:unset;padding:unset;height:unset;width:unset;flex:100%;overflow:hidden}.psv-caption-content{white-space:nowrap;padding:10px;display:inline-block}.psv-zoom-range.psv-button{width:80px;max-width:600px;height:1px;margin:10px 0;padding:9.5px 0}.psv-zoom-range-line{background:#ffffffb3;width:80px;height:1px;transition:all .3s;position:relative}.psv-zoom-range-handle{background:#ffffffb3;border-radius:50%;width:7px;height:7px;transition:transform .3s;position:absolute;top:-3px;transform:scale(1)}.psv-zoom-range:not(.psv-button--disabled):hover .psv-zoom-range-line{box-shadow:0 0 2px #ffffffb3}.psv-zoom-range:not(.psv-button--disabled):hover .psv-zoom-range-handle{transform:scale(1.3)}.psv-notification{z-index:100;box-sizing:border-box;opacity:0;justify-content:center;width:100%;padding:0 2em;transition-property:opacity,bottom;transition-duration:.2s;transition-timing-function:ease-in-out;display:flex;position:absolute;bottom:-40px}.psv-notification-content{color:#fff;background:#3d3d3dcc;border-radius:4px;max-width:50em;padding:.5em 1em;font:14px sans-serif}.psv-notification--visible{opacity:100;bottom:80px}.psv-overlay{z-index:110;opacity:.8;cursor:default;background:radial-gradient(#fff 0%,#fdfdfd 16%,#fbfbfb 33%,#f8f8f8 49%,#efefef 66%,#dfdfdf 82%,#bfbfbf 100%);flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.psv-overlay-image{text-align:center;color:#303030;width:100%}.psv-overlay-image svg{width:50%}@container psv-container (orientation:landscape){.psv-overlay-image svg{width:33%}}.psv-overlay-title{color:#000;text-align:center;margin-top:1em;font:30px sans-serif}.psv-overlay-text{color:#000c;opacity:.8;text-align:center;font:20px sans-serif}.psv-panel{z-index:90;opacity:0;cursor:default;background:#0a0a0ab3;width:400px;max-width:calc(100% - 9px);height:100%;margin-left:9px;transition-property:opacity,transform;transition-duration:.1s;transition-timing-function:ease-in-out;position:absolute;right:0;transform:translate(100%)}.psv--has-navbar .psv-panel{height:calc(100% - 40px)}.psv-panel-close-button{color:#fff;cursor:pointer;background:0 0;width:19.2px;height:19.2px;padding:6.4px;transition:background .3s ease-in-out;display:none;position:absolute;top:-1px;right:0}.psv-panel-close-button svg{transition:transform .3s ease-in-out}.psv-panel-close-button:hover{background:#000000e6}.psv-panel-close-button:hover svg{transform:scale(-1)}.psv-panel-resizer{cursor:col-resize;background-color:#000000e6;width:9px;height:100%;display:none;position:absolute;top:0;left:-9px}.psv-panel-resizer:before{content:"";background:0 0;width:1px;height:1px;margin-top:-14.5px;position:absolute;top:50%;left:5.5px;box-shadow:1px 0 #fff,3px 0 #fff,5px 0 #fff,1px 2px #fff,3px 2px #fff,5px 2px #fff,1px 4px #fff,3px 4px #fff,5px 4px #fff,1px 6px #fff,3px 6px #fff,5px 6px #fff,1px 8px #fff,3px 8px #fff,5px 8px #fff,1px 10px #fff,3px 10px #fff,5px 10px #fff,1px 12px #fff,3px 12px #fff,5px 12px #fff,1px 14px #fff,3px 14px #fff,5px 14px #fff,1px 16px #fff,3px 16px #fff,5px 16px #fff,1px 18px #fff,3px 18px #fff,5px 18px #fff,1px 20px #fff,3px 20px #fff,5px 20px #fff,1px 22px #fff,3px 22px #fff,5px 22px #fff,1px 24px #fff,3px 24px #fff,5px 24px #fff,1px 26px #fff,3px 26px #fff,5px 26px #fff,1px 28px #fff,3px 28px #fff,5px 28px #fff}.psv-panel-content{box-sizing:border-box;color:#dcdcdc;width:100%;height:100%;font:16px sans-serif;overflow:auto}.psv-panel-content:not(.psv-panel-content--no-margin){padding:1em}.psv-panel-content--no-interaction{-webkit-user-select:none;user-select:none;pointer-events:none}.psv-panel--open{opacity:1;transition-duration:.2s;transform:translate(0,0)}.psv-panel--open .psv-panel-close-button,.psv-panel--open .psv-panel-resizer{display:block}@container psv-container (width<=400px){.psv-panel{max-width:none;width:100%!important}.psv-panel-resizer{display:none!important}}.psv-panel-menu{flex-direction:column;height:100%;display:flex}.psv-panel-menu-title{flex:none;align-items:center;margin:24px 12px;font:24px sans-serif;display:flex}.psv-panel-menu-title svg{width:24px;height:24px;margin-right:12px}.psv-panel-menu-list{flex:1;margin:0;padding:0;list-style:none;overflow-x:hidden}.psv-panel-menu-item{cursor:pointer;justify-content:flex-start;align-items:center;min-height:1.5em;padding:.5em 1em;transition:background .1s ease-in-out;display:flex}.psv-panel-menu-item--active{outline-offset:-1px;outline:1px solid}.psv-panel-menu-item-icon{flex:none;width:1.5em;height:1.5em;margin-right:.5em}.psv-panel-menu-item-icon img{max-width:100%;max-height:100%}.psv-panel-menu-item-icon svg{width:100%;height:100%}.psv-panel-menu-item:focus-visible{outline-offset:-2px;outline:2px solid #007cff}.psv-panel-menu--stripped .psv-panel-menu-item:hover{background:#fff3}.psv-panel-menu--stripped .psv-panel-menu-item:nth-child(odd),.psv-panel-menu--stripped .psv-panel-menu-item:nth-child(odd):before{background:#ffffff1a}.psv-panel-menu--stripped .psv-panel-menu-item:nth-child(2n),.psv-panel-menu--stripped .psv-panel-menu-item:nth-child(2n):before{background:0 0}.psv-container:not(.psv--is-touch) .psv-panel-menu-item:hover{background:#fff3}.psv-tooltip{z-index:50;box-sizing:border-box;opacity:0;cursor:default;background:#3d3d3dcc;border-radius:4px;max-width:200px;transition-property:opacity,transform;transition-duration:.1s;transition-timing-function:ease-in-out;position:absolute}.psv-tooltip-content{color:#fff;text-shadow:0 1px #000;padding:.5em 1em;font:14px sans-serif}.psv-tooltip-arrow{border:7px solid #0000;width:0;height:0;position:absolute}.psv-tooltip--top-left,.psv-tooltip--top-center,.psv-tooltip--top-right{transform:translateY(5px)}.psv-tooltip--top-left .psv-tooltip-arrow,.psv-tooltip--top-center .psv-tooltip-arrow,.psv-tooltip--top-right .psv-tooltip-arrow{border-top-color:#3d3d3dcc}.psv-tooltip--bottom-left,.psv-tooltip--bottom-center,.psv-tooltip--bottom-right{transform:translateY(-5px)}.psv-tooltip--bottom-left .psv-tooltip-arrow,.psv-tooltip--bottom-center .psv-tooltip-arrow,.psv-tooltip--bottom-right .psv-tooltip-arrow{border-bottom-color:#3d3d3dcc}.psv-tooltip--left-top,.psv-tooltip--center-left,.psv-tooltip--left-bottom{transform:translate(5px)}.psv-tooltip--left-top .psv-tooltip-arrow,.psv-tooltip--center-left .psv-tooltip-arrow,.psv-tooltip--left-bottom .psv-tooltip-arrow{border-left-color:#3d3d3dcc}.psv-tooltip--right-top,.psv-tooltip--center-right,.psv-tooltip--right-bottom{transform:translate(-5px)}.psv-tooltip--right-top .psv-tooltip-arrow,.psv-tooltip--center-right .psv-tooltip-arrow,.psv-tooltip--right-bottom .psv-tooltip-arrow{border-right-color:#3d3d3dcc}.psv-tooltip--left-top,.psv-tooltip--top-left{box-shadow:-3px -3px #5a5a5ab3}.psv-tooltip--top-center{box-shadow:0 -3px #5a5a5ab3}.psv-tooltip--right-top,.psv-tooltip--top-right{box-shadow:3px -3px #5a5a5ab3}.psv-tooltip--left-bottom,.psv-tooltip--bottom-left{box-shadow:-3px 3px #5a5a5ab3}.psv-tooltip--bottom-center{box-shadow:0 3px #5a5a5ab3}.psv-tooltip--right-bottom,.psv-tooltip--bottom-right{box-shadow:3px 3px #5a5a5ab3}.psv-tooltip--center-left{box-shadow:-3px 0 #5a5a5ab3}.psv-tooltip--center-right{box-shadow:3px 0 #5a5a5ab3}.psv-tooltip--visible{opacity:1;transform:translate(0,0)}
