.hotspot-editor,.tour-editor{max-width:760px;margin:0 auto;padding:1.5rem}.hotspot-editor__toolbar,.tour-editor__toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.hotspot-editor__heading,.tour-editor__heading{margin:0;font-size:1.3rem;color:var(--nv-green-dark, #244f30)}.hotspot-editor__new,.hotspot-form__submit,.tour-editor__add,.tour-editor__submit{background:var(--nv-green, #2f6b3f);color:#fff;border:none;border-radius:6px;padding:.55rem 1rem;font-weight:600;cursor:pointer}.hotspot-editor__new:disabled,.tour-editor__add:disabled,.tour-editor__submit:disabled,.hotspot-form__submit:disabled{opacity:.6;cursor:not-allowed}.placement-surface{border:1px solid var(--nv-border, #c9d2c9);border-radius:8px;background:#eef2ee;cursor:crosshair;max-width:100%;height:auto}.placement-surface__bg{fill:#eef2ee}.placement-surface__grid{stroke:#d3ddd3;stroke-width:1}.placement-surface__axis{stroke:#b4c2b4;stroke-width:1.5}.placement-surface__dot{fill:var(--nv-green, #2f6b3f);opacity:.8}.placement-surface__dot--active{fill:#b3261e}.placement-surface__crosshair{fill:none;stroke:#b3261e;stroke-width:2}.placement-surface__label{font-size:11px;fill:var(--nv-green-dark, #244f30)}.placement-scene{border:1px solid var(--nv-border, #c9d2c9);border-radius:8px;overflow:hidden}.placement-scene--not-ready{background:#eef2ee}.placement-scene__message{margin:0;max-width:480px;color:#5a675b;font-size:.9rem}.placement-scene__error{position:absolute}.hotspot-editor__overview{margin-bottom:1rem}.hotspot-editor__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.hotspot-editor__item{display:flex;align-items:center;gap:.75rem;padding:.6rem .8rem;background:#fff;border:1px solid var(--nv-border, #c9d2c9);border-radius:8px}.hotspot-editor__item-type{text-transform:uppercase;font-size:.7rem;font-weight:700;letter-spacing:.04em;background:#e7f3ea;color:var(--nv-green-dark, #244f30);border-radius:4px;padding:.15rem .4rem}.hotspot-editor__item-title{font-weight:600;flex:1}.hotspot-editor__item-pos{font-size:.8rem;color:#5a675b}.hotspot-editor__item-actions{display:flex;gap:.4rem}.hotspot-editor__empty,.hotspot-editor__error{color:#5a675b}.hotspot-form,.tour-editor__form{display:flex;flex-direction:column;gap:1rem}.hotspot-form__field,.tour-editor__field,.tour-editor__speed{display:flex;flex-direction:column;gap:.35rem}.hotspot-form__field label,.tour-editor__field label,.tour-editor__speed label{font-size:.85rem;font-weight:600}.hotspot-form__field input,.hotspot-form__field textarea,.hotspot-form__field select,.tour-editor__field input,.tour-editor__speed input,.tour-editor__vec input{padding:.5rem .6rem;border:1px solid var(--nv-border, #c9d2c9);border-radius:6px;font-size:.95rem}.hotspot-form__field input[aria-invalid=true],.hotspot-form__field textarea[aria-invalid=true],.tour-editor__field input[aria-invalid=true],.tour-editor__speed input[aria-invalid=true]{border-color:var(--nv-error, #b3261e)}.hotspot-form__coords{display:flex;gap:.5rem}.hotspot-form__coords .hotspot-form__field{flex:1}.hotspot-form__field-error,.tour-editor__field-error{margin:0;font-size:.8rem;color:var(--nv-error, #b3261e)}.hotspot-form__error,.tour-editor__error{padding:.7rem .85rem;background:#fce8e6;color:var(--nv-error, #b3261e);border:1px solid #f3c1bd;border-radius:6px}.tour-editor__saved{padding:.7rem .85rem;background:#e7f3ea;color:var(--nv-green-dark, #244f30);border:1px solid #bcd9c4;border-radius:6px}.hotspot-form__hint,.tour-editor__hint{margin:0;font-size:.8rem;color:#5a675b}.hotspot-form__actions,.tour-editor__actions{display:flex;gap:.75rem;justify-content:flex-end}.tour-editor__waypoints{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}.tour-editor__waypoint{padding:.9rem;background:#fff;border:1px solid var(--nv-border, #c9d2c9);border-radius:8px;display:flex;flex-direction:column;gap:.6rem}.tour-editor__waypoint-header{display:flex;align-items:center;justify-content:space-between}.tour-editor__waypoint-header h3{margin:0;font-size:1rem}.tour-editor__waypoint-controls{display:flex;gap:.4rem}.tour-editor__vec{display:flex;gap:.5rem;border:1px solid var(--nv-border, #c9d2c9);border-radius:6px;padding:.5rem}.tour-editor__vec legend{font-size:.8rem;font-weight:600;padding:0 .3rem}.tour-editor__vec label{display:flex;flex-direction:column;font-size:.8rem;flex:1;gap:.2rem}.starting-point-editor{max-width:760px;margin:0 auto;padding:1.5rem}.starting-point-editor__pick-target{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.75rem;font-size:.9rem}.starting-point-editor__pick-label{font-weight:600;color:var(--nv-green-dark, #244f30)}.starting-point-editor__pick-target label{display:inline-flex;align-items:center;gap:.3rem;cursor:pointer}.starting-point-editor__scene{margin-bottom:1rem}.starting-point-editor__lock-height{margin-bottom:1rem;font-size:.9rem}.starting-point-editor__lock-height label{display:inline-flex;align-items:flex-start;gap:.4rem;cursor:pointer;line-height:1.4}.field-editor{display:flex;align-items:flex-start;gap:.6rem;padding:.6rem;background:#fff;border:1px solid var(--nv-border, #c9d2c9);border-radius:8px}.field-editor__inputs{flex:1;display:flex;flex-direction:column;gap:.6rem}.field-editor__remove{flex-shrink:0;margin-top:1.6rem;background:#fce8e6;color:var(--nv-error, #b3261e);border:1px solid #f3c1bd;border-radius:6px;padding:.4rem .7rem;font-weight:600;cursor:pointer}.field-editor__remove:disabled{opacity:.6;cursor:not-allowed}.image-collection{display:flex;flex-direction:column;gap:.6rem;padding:.6rem;background:#fff;border:1px solid var(--nv-border, #c9d2c9);border-radius:8px}.image-collection__header{display:flex;align-items:center;justify-content:space-between}.image-collection__label{font-size:.85rem;font-weight:600}.image-collection__count{font-size:.8rem;color:#5a675b}.image-collection__empty{margin:0;font-size:.85rem;color:#5a675b}.image-collection__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.image-collection__item{display:flex;align-items:center;gap:.6rem;padding:.4rem .5rem;border:1px solid var(--nv-border, #c9d2c9);border-radius:6px;background:#f7faf7}.image-collection__thumb{width:48px;height:48px;object-fit:cover;border-radius:4px;flex-shrink:0;background:#eef2ee}.image-collection__url{flex:1;font-size:.8rem;color:#3a463b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-collection__cover-badge{flex-shrink:0;text-transform:uppercase;font-size:.65rem;font-weight:700;letter-spacing:.04em;background:#e7f3ea;color:var(--nv-green-dark, #244f30);border-radius:4px;padding:.15rem .4rem}.image-collection__item-actions{display:flex;gap:.3rem;flex-shrink:0}.image-collection__item-actions button{border:1px solid var(--nv-border, #c9d2c9);background:#fff;border-radius:6px;padding:.3rem .5rem;cursor:pointer;font-size:.85rem}.image-collection__item-actions button:disabled{opacity:.5;cursor:not-allowed}.image-collection__remove{color:var(--nv-error, #b3261e);border-color:#f3c1bd!important;background:#fce8e6!important;font-weight:600}.image-collection__add{display:flex;flex-direction:column;gap:.35rem}.image-collection__add-label{font-size:.85rem;font-weight:600}.image-collection__progress{margin:0;font-size:.8rem;color:#5a675b}.image-collection__message{margin:0;font-size:.8rem}.image-collection__message--error{color:var(--nv-error, #b3261e)}.image-collection__message--status{color:#5a675b}.section-editor{display:flex;flex-direction:column;gap:1rem;padding:1rem;background:var(--nv-surface, #f6f8f6);border:1px solid var(--nv-border, #c9d2c9);border-radius:10px}.section-editor__header{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.75rem}.section-editor__header .hotspot-form__field{flex:1;min-width:12rem}.section-editor__remove{flex-shrink:0;margin-top:1.6rem;background:#fce8e6;color:var(--nv-error, #b3261e);border:1px solid #f3c1bd;border-radius:6px;padding:.4rem .7rem;font-weight:600;cursor:pointer}.section-editor__remove:disabled{opacity:.6;cursor:not-allowed}.section-editor__fields{display:flex;flex-direction:column;gap:.6rem}.section-editor__fields-header{display:flex;align-items:center;justify-content:space-between}.section-editor__fields-label{font-size:.85rem;font-weight:600}.section-editor__count{font-size:.8rem;color:#5a675b}.section-editor__empty{margin:0;font-size:.85rem;color:#5a675b}.section-editor__field-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.section-editor__field-item{display:flex;align-items:flex-start;gap:.4rem}.section-editor__field-item .field-editor{flex:1}.section-editor__field-move{display:flex;flex-direction:column;gap:.3rem;margin-top:.6rem}.section-editor__field-move button{border:1px solid var(--nv-border, #c9d2c9);background:#fff;border-radius:6px;padding:.25rem .5rem;cursor:pointer}.section-editor__field-move button:disabled{opacity:.5;cursor:not-allowed}.section-editor__add-field{align-self:flex-start;border:1px solid var(--nv-border, #c9d2c9);background:#fff;border-radius:6px;padding:.4rem .8rem;font-weight:600;cursor:pointer}.section-editor__add-field:disabled{opacity:.6;cursor:not-allowed}.section-editor__message{margin:0;font-size:.8rem}.section-editor__message--status{color:#5a675b}.detail-editor{display:flex;flex-direction:column;gap:1rem}.detail-editor__field-error{margin:0;font-size:.8rem;color:var(--nv-error, #b3261e)}.detail-editor__sections{display:flex;flex-direction:column;gap:.6rem}.detail-editor__sections-header{display:flex;align-items:center;justify-content:space-between}.detail-editor__sections-label{font-size:.9rem;font-weight:600}.detail-editor__count{font-size:.8rem;color:#5a675b}.detail-editor__empty{margin:0;font-size:.85rem;color:#5a675b}.detail-editor__section-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.detail-editor__section-item{display:flex;align-items:flex-start;gap:.5rem}.detail-editor__section-item .section-editor{flex:1}.detail-editor__section-move{display:flex;flex-direction:column;gap:.3rem;margin-top:.4rem}.detail-editor__section-move button{border:1px solid var(--nv-border, #c9d2c9);background:#fff;border-radius:4px;cursor:pointer;padding:.2rem .45rem}.detail-editor__section-move button:disabled{opacity:.5;cursor:not-allowed}.detail-editor__add-section{align-self:flex-start;border:1px solid var(--nv-border, #c9d2c9);background:#fff;border-radius:4px;cursor:pointer;padding:.4rem .8rem;font-size:.85rem}.detail-editor__add-section:disabled{opacity:.6;cursor:not-allowed}.detail-editor__message{margin:0;font-size:.8rem}.detail-editor__message--status{color:#5a675b}.title-block-editor{max-width:760px;margin:0 auto;padding:1.5rem}.title-block-editor__group{margin:0 0 1.25rem;padding:.9rem 1rem 1.1rem;border:1px solid var(--nv-border, #c9d2c9);border-radius:8px}.title-block-editor__group>legend{padding:0 .4rem;font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:var(--nv-green-dark, #244f30)}.title-block-editor__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem 1rem}.title-block-editor__field{display:flex;flex-direction:column;gap:.3rem}.title-block-editor__label{font-size:.78rem;font-weight:600;color:var(--nv-green-dark, #244f30)}.title-block-editor__field input,.title-block-editor__field textarea{width:100%;box-sizing:border-box;padding:.45rem .55rem;border:1px solid var(--nv-border, #c9d2c9);border-radius:6px;font:inherit}.title-block-editor__empty{margin:0 0 .75rem;font-size:.85rem;color:var(--nv-muted, #6b766b)}.title-block-editor__revisions{list-style:none;margin:0 0 .75rem;padding:0;display:flex;flex-direction:column;gap:.6rem}.title-block-editor__revision{display:grid;grid-template-columns:80px 1fr 120px auto;gap:.6rem;align-items:end}.title-block-editor__revision-remove{background:#fce8e6;color:var(--nv-error, #b3261e);border:1px solid #f3c1bd;border-radius:6px;padding:.45rem .7rem;font-weight:600;cursor:pointer}.title-block-editor__revision-remove:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 640px){.title-block-editor__revision{grid-template-columns:1fr}}.hotspot-form__title{margin:0;font-size:1.2rem;color:var(--nv-green-dark, #244f30)}.hotspot-form__placement{display:flex;flex-direction:column;gap:.4rem}.hotspot-form__pick-message{margin:0;font-size:.8rem;color:var(--nv-green-dark, #244f30);font-weight:600}.hotspot-form__position{border:1px solid var(--nv-border, #c9d2c9);border-radius:8px;padding:.75rem .85rem;margin:0}.hotspot-form__position>legend{padding:0 .4rem;font-size:.85rem;font-weight:600;color:var(--nv-green-dark, #244f30)}.tour-editor__overview,.hotspot-form__overview{margin-bottom:1rem}.hotspot-form__actions button[type=button]{background:#fff;color:var(--nv-green-dark, #244f30);border:1px solid var(--nv-border, #c9d2c9);border-radius:6px;padding:.55rem 1rem;font-weight:600;cursor:pointer;transition:background .15s ease}.hotspot-form__actions button[type=button]:hover:not(:disabled){background:#f1f5f1}.hotspot-form__actions button[type=button]:disabled{opacity:.6;cursor:not-allowed}.hotspot-editor__item-actions button{background:#fff;color:var(--nv-green-dark, #244f30);border:1px solid var(--nv-border, #c9d2c9);border-radius:6px;padding:.35rem .7rem;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s ease}.hotspot-editor__item-actions button:hover{background:#e7f3ea}.capture-point-placer{max-width:900px;margin:0 auto;padding:1.5rem}.capture-point-placer__toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;flex-wrap:wrap;gap:.75rem}.capture-point-placer__heading{margin:0;font-size:1.3rem;color:var(--nv-green-dark, #244f30)}.capture-point-placer__tools{display:flex;gap:.5rem}.capture-point-placer__tool-btn{background:#fff;color:var(--nv-green-dark, #244f30);border:1px solid var(--nv-border, #c9d2c9);border-radius:6px;padding:.45rem .85rem;font-weight:600;cursor:pointer;font-size:.85rem;transition:background .15s,border-color .15s}.capture-point-placer__tool-btn:hover{background:#e7f3ea}.capture-point-placer__tool-btn--active{background:var(--nv-green, #2f6b3f);color:#fff;border-color:var(--nv-green, #2f6b3f)}.capture-point-placer__tool-btn--active:hover{background:#256633}.capture-point-placer__hint{margin:0 0 .75rem;font-size:.85rem;color:#5a675b}.capture-point-placer__scale-form{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.capture-point-placer__scale-label{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600}.capture-point-placer__scale-input{width:80px;padding:.4rem .5rem;border:1px solid var(--nv-border, #c9d2c9);border-radius:6px;font-size:.9rem}.capture-point-placer__canvas-container{position:relative;border:1px solid var(--nv-border, #c9d2c9);border-radius:8px;overflow:hidden;margin-bottom:1rem}.capture-point-placer__canvas{display:block;width:100%;height:auto;cursor:crosshair;max-height:600px;object-fit:contain}.capture-point-placer__guidelines{margin-bottom:.75rem}.capture-point-placer__guideline-text{margin:0;font-size:.85rem;color:#5a675b}.capture-point-placer__guideline-text strong{color:var(--nv-green-dark, #244f30)}.capture-point-placer__warning{padding:.7rem .85rem;background:#fce8e6;color:var(--nv-error, #b3261e);border:1px solid #f3c1bd;border-radius:6px;margin-bottom:.75rem;font-size:.85rem}.capture-point-placer__warning p{margin:0 0 .4rem}.capture-point-placer__warning-list{margin:0;padding-left:1.25rem;font-size:.8rem}.capture-point-placer__panel{padding:1rem;background:#fff;border:1px solid var(--nv-border, #c9d2c9);border-radius:8px;margin-top:1rem}.capture-point-placer__panel-heading{margin:0 0 .75rem;font-size:1.05rem;color:var(--nv-green-dark, #244f30)}.capture-point-placer__panel-field{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.capture-point-placer__panel-field label{display:flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:600}.capture-point-placer__zone-select{padding:.4rem .5rem;border:1px solid var(--nv-border, #c9d2c9);border-radius:6px;font-size:.85rem}.capture-point-placer__custom-zone-input{padding:.4rem .5rem;border:1px solid var(--nv-border, #c9d2c9);border-radius:6px;font-size:.85rem;width:150px}.capture-point-placer__assign-btn{background:var(--nv-green, #2f6b3f);color:#fff;border:none;border-radius:6px;padding:.4rem .75rem;font-weight:600;font-size:.8rem;cursor:pointer}.capture-point-placer__assign-btn:hover{background:#256633}.capture-point-placer__delete-btn{background:transparent;color:var(--nv-error, #b3261e);border:1px solid var(--nv-error, #b3261e);border-radius:6px;padding:.4rem .75rem;font-weight:600;font-size:.8rem;cursor:pointer}.capture-point-placer__delete-btn:hover{background:#fce8e6}.panorama-workspace__list{margin:1.5rem 0;padding:1rem 1.25rem;background:#f8faf8;border:1px solid var(--nv-border, #c9d2c9);border-radius:8px}.panorama-workspace__list-heading{margin:0 0 .75rem;font-size:1rem;color:var(--nv-green-dark, #244f30)}.panorama-workspace__panorama-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.panorama-workspace__panorama-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:#fff;border:1px solid var(--nv-border, #c9d2c9);border-radius:6px}.panorama-workspace__panorama-label{font-weight:600;font-size:.9rem;color:var(--nv-green-dark, #244f30)}.panorama-workspace__panorama-status{font-size:.8rem;font-weight:600;padding:.2rem .6rem;border-radius:10px}.panorama-workspace__panorama-status--published{background:#e7f3ea;color:#2f6b3f}.panorama-workspace__panorama-status--processing{background:#fff3e0;color:#e65100;animation:pano-pulse 1.5s ease-in-out infinite}.panorama-workspace__panorama-status--failed{background:#fce8e6;color:#b3261e}@keyframes pano-pulse{0%,to{opacity:1}50%{opacity:.6}}.panorama-workspace__processing-hint{margin:.75rem 0 0;font-size:.8rem;color:#5a675b;font-style:italic}.panorama-workspace__no-tour{margin:1.5rem 0;padding:1rem 1.25rem;background:#f4f7f4;border:1px dashed var(--nv-border, #c9d2c9);border-radius:6px;color:#5a675b;font-size:.9rem}.panorama-hotspot-editor{margin:1.5rem 0;padding:1rem 1.25rem;background:#fff;border:1px solid var(--nv-border, #c9d2c9);border-radius:8px}.panorama-hotspot-editor__heading{margin:0 0 .75rem;font-size:1.15rem;color:var(--nv-green-dark, #244f30)}.panorama-hotspot-editor__selector{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.panorama-hotspot-editor__selector label{font-weight:600;font-size:.85rem}.panorama-hotspot-editor__selector select{flex:1;max-width:320px;padding:.4rem .6rem;border:1px solid var(--nv-border, #c9d2c9);border-radius:6px;font-size:.9rem}.panorama-hotspot-editor__tabs{display:flex;gap:.5rem;margin-bottom:1rem}.panorama-hotspot-editor__tab{background:#fff;color:var(--nv-green-dark, #244f30);border:1px solid var(--nv-border, #c9d2c9);border-radius:6px;padding:.45rem .85rem;font-weight:600;cursor:pointer;font-size:.8rem;transition:background .15s,border-color .15s}.panorama-hotspot-editor__tab:hover{background:#e7f3ea}.panorama-hotspot-editor__tab--active{background:var(--nv-green, #2f6b3f);color:#fff;border-color:var(--nv-green, #2f6b3f)}.panorama-hotspot-editor__panel{margin-top:.5rem}.panorama-hotspot-editor__toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.panorama-hotspot-editor__toolbar span{font-size:.85rem;color:#5a675b}.panorama-hotspot-editor__add-btn{background:var(--nv-green, #2f6b3f);color:#fff;border:none;border-radius:6px;padding:.4rem .8rem;font-weight:600;font-size:.8rem;cursor:pointer}.panorama-hotspot-editor__add-btn:hover{background:#256633}.panorama-hotspot-editor__add-btn:disabled{opacity:.5;cursor:not-allowed}.panorama-hotspot-editor__empty{font-size:.85rem;color:#5a675b;margin:0}.panorama-hotspot-editor__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.panorama-hotspot-editor__item{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:#f8faf8;border:1px solid var(--nv-border, #c9d2c9);border-radius:6px;font-size:.85rem}.panorama-hotspot-editor__item-label{flex:1;font-weight:600;color:var(--nv-green-dark, #244f30)}.panorama-hotspot-editor__item-pos{font-size:.8rem;color:#5a675b}.panorama-hotspot-editor__item-actions{display:flex;gap:.4rem}.panorama-hotspot-editor__item-actions button{background:transparent;border:1px solid var(--nv-border, #c9d2c9);border-radius:4px;padding:.25rem .5rem;font-size:.75rem;cursor:pointer}.panorama-hotspot-editor__item-actions button:hover{background:#e7f3ea}.panorama-hotspot-editor__form{padding:1rem;background:#f8faf8;border:1px solid var(--nv-border, #c9d2c9);border-radius:8px}.panorama-hotspot-editor__form h3{margin:0 0 .75rem;font-size:1rem;color:var(--nv-green-dark, #244f30)}.panorama-hotspot-editor__field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.75rem}.panorama-hotspot-editor__field label{font-size:.8rem;font-weight:600;color:#3a4a3b}.panorama-hotspot-editor__field input,.panorama-hotspot-editor__field select,.panorama-hotspot-editor__field textarea{padding:.4rem .6rem;border:1px solid var(--nv-border, #c9d2c9);border-radius:6px;font-size:.85rem}.panorama-hotspot-editor__typed{border:1px solid var(--nv-border, #c9d2c9);border-radius:8px;padding:.75rem;margin-bottom:.75rem}.panorama-hotspot-editor__typed legend{font-weight:600;font-size:.85rem;color:var(--nv-green-dark, #244f30)}.panorama-hotspot-editor__actions{display:flex;gap:.5rem;margin-top:.75rem}.panorama-hotspot-editor__actions button{padding:.45rem .85rem;border-radius:6px;font-weight:600;font-size:.85rem;cursor:pointer}.panorama-hotspot-editor__actions button[type=submit]{background:var(--nv-green, #2f6b3f);color:#fff;border:none}.panorama-hotspot-editor__actions button[type=submit]:hover{background:#256633}.panorama-hotspot-editor__actions button[type=button]{background:#fff;border:1px solid var(--nv-border, #c9d2c9)}.panorama-hotspot-editor__error{padding:.5rem .75rem;background:#fce8e6;color:var(--nv-error, #b3261e);border:1px solid #f3c1bd;border-radius:6px;margin-bottom:.75rem;font-size:.85rem}.panorama-hotspot-editor__placer{margin-bottom:.75rem}.panorama-hotspot-editor__placer-hint{margin:0 0 .4rem;font-size:.8rem;color:#5a675b}.panorama-hotspot-editor__transform{border:1px solid var(--nv-border, #c9d2c9);border-radius:8px;padding:.75rem .85rem;margin-bottom:.75rem}.panorama-hotspot-editor__transform legend{font-weight:600;font-size:.85rem;color:var(--nv-green-dark, #244f30);padding:0 .4rem}.panorama-hotspot-editor__transform-row{display:flex;align-items:center;gap:.6rem;margin-bottom:.5rem}.panorama-hotspot-editor__transform-row label{flex:0 0 110px;font-size:.8rem;font-weight:600;color:#3a4a3b}.panorama-hotspot-editor__transform-row input[type=range]{flex:1}.panorama-hotspot-editor__transform-num{width:64px;padding:.3rem .4rem;border:1px solid var(--nv-border, #c9d2c9);border-radius:6px;font-size:.8rem}.panorama-hotspot-editor__transform-unit{width:12px;color:#5a675b;font-size:.8rem}.panorama-delete__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:grid;place-items:center;padding:1rem;z-index:100}.panorama-delete__dialog{background:#fff;max-width:460px;width:100%;padding:1.5rem;border-radius:12px;box-shadow:0 12px 40px #00000040}.panorama-delete__title{margin:0 0 .75rem;font-size:1.2rem;color:var(--nv-error, #b3261e)}.panorama-delete__body{margin:0 0 1rem;line-height:1.5}.panorama-delete__cascade{padding:.7rem .85rem;background:#fff3e0;color:#8a4b00;border:1px solid #f0c98c;border-radius:6px;margin-bottom:1rem;font-size:.85rem}.panorama-delete__cascade-heading{margin:0 0 .4rem;font-weight:600}.panorama-delete__cascade-list{margin:0;padding-left:1.25rem;line-height:1.5}.panorama-delete__no-cascade{margin:0 0 1rem;font-size:.85rem;color:#5a675b}.panorama-delete__actions{display:flex;justify-content:flex-end;gap:.5rem}.panorama-delete__cancel{background:#fff;border:1px solid var(--nv-border, #c9d2c9);color:var(--nv-green-dark, #244f30);border-radius:6px;padding:.5rem 1rem;font-weight:600;font-size:.9rem;cursor:pointer}.panorama-delete__cancel:hover{background:#f1f5f1}.panorama-delete__confirm{background:var(--nv-error, #b3261e);color:#fff;border:none;border-radius:6px;padding:.5rem 1rem;font-weight:600;font-size:.9rem;cursor:pointer}.panorama-delete__confirm:hover{background:#98201a}.panorama-list-item{display:flex;align-items:center;gap:.75rem;padding:.65rem .85rem;background:#fff;border:1px solid var(--nv-border, #c9d2c9);border-radius:8px;list-style:none}.panorama-list-item[data-dragging=true]{box-shadow:0 4px 12px #00000026}.panorama-list-item__drag-handle{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:grab;color:var(--nv-muted, #6b756b);font-size:1.1rem;padding:.25rem .4rem;touch-action:none}.panorama-list-item__drag-handle:active{cursor:grabbing}.panorama-list-item__info{display:flex;flex-direction:column;flex:1 1 auto;min-width:0}.panorama-list-item__label{font-weight:600;color:var(--nv-green-dark, #244f30);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panorama-list-item__zone{font-size:.8rem;color:var(--nv-muted, #6b756b)}.panorama-list-item__status{font-size:.75rem;font-weight:600;padding:.2rem .55rem;border-radius:999px;white-space:nowrap}.panorama-list-item__status--processing{background:#fff4d6;color:#8a6100}.panorama-list-item__status--published{background:#e2f3e4;color:#1f6b2e}.panorama-list-item__status--failed{background:#fde2e1;color:#a3221c}.panorama-list-item__actions{display:flex;gap:.4rem}.panorama-list-item__edit,.panorama-list-item__delete{background:#fff;border:1px solid var(--nv-border, #c9d2c9);border-radius:6px;padding:.35rem .7rem;font-size:.8rem;font-weight:600;cursor:pointer}.panorama-list-item__delete{color:#a3221c;border-color:#e7b4b1}.panorama-manager{display:flex;flex-direction:column;gap:.85rem}.panorama-manager__summary{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .85rem;padding:.6rem .85rem;background:#f5f8f5;border:1px solid var(--nv-border, #c9d2c9);border-radius:8px;font-size:.85rem}.panorama-manager__count{font-weight:600;color:var(--nv-green-dark, #244f30)}.panorama-manager__count--processing{color:#8a6100}.panorama-manager__count--failed{color:#a3221c}.panorama-manager__limit{margin-left:auto;font-weight:600;color:var(--nv-muted, #6b756b)}.panorama-manager__limit--reached{color:#a3221c}.panorama-manager__error{padding:.6rem .85rem;background:#fde2e1;color:#a3221c;border:1px solid #e7b4b1;border-radius:8px;font-size:.85rem}.panorama-manager__empty{margin:0;padding:1rem;color:var(--nv-muted, #6b756b);font-size:.9rem;text-align:center}.panorama-manager__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.panorama-manager__edit-row{padding:.75rem;background:#f9faf9;border:1px solid var(--nv-border, #c9d2c9);border-radius:8px}.tour-list{display:flex;flex-direction:column;gap:.85rem}.tour-list__header{display:flex;align-items:center;justify-content:space-between}.tour-list__title{margin:0;font-size:1.1rem;color:var(--nv-green-dark, #244f30)}.tour-list__create{display:flex;flex-direction:column;gap:.35rem}.tour-list__create-label{font-size:.85rem;font-weight:600;color:var(--nv-muted, #6b756b)}.tour-list__create-row{display:flex;gap:.5rem}.tour-list__create-input,.tour-list__rename-input{flex:1;padding:.5rem .65rem;border:1px solid var(--nv-border, #c9d2c9);border-radius:8px;font-size:.9rem}.tour-list__create-input[aria-invalid=true],.tour-list__rename-input[aria-invalid=true]{border-color:#a3221c}.tour-list__create-btn,.tour-list__rename-save{padding:.5rem .85rem;background:var(--nv-green-dark, #244f30);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer}.tour-list__create-btn:disabled,.tour-list__rename-save:disabled{opacity:.6;cursor:default}.tour-list__field-error{margin:0;color:#a3221c;font-size:.8rem}.tour-list__empty{margin:0;padding:1rem;color:var(--nv-muted, #6b756b);font-size:.9rem;text-align:center}.tour-list__items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.tour-list__item{display:flex;align-items:center;gap:.75rem;padding:.6rem .85rem;background:#f9faf9;border:1px solid var(--nv-border, #c9d2c9);border-radius:8px}.tour-list__item--selected{border-color:var(--nv-green-dark, #244f30);background:#f0f6f1}.tour-list__select{flex:1;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:0;background:none;border:none;cursor:pointer;text-align:left}.tour-list__name{font-weight:600;color:var(--nv-green-dark, #244f30)}.tour-list__status{font-size:.8rem;font-weight:600}.tour-list__status--draft{color:var(--nv-muted, #6b756b)}.tour-list__status--published{color:#2e7d32}.tour-list__actions,.tour-list__rename-actions{display:flex;gap:.4rem}.tour-list__rename-btn,.tour-list__delete-btn,.tour-list__rename-cancel{padding:.4rem .7rem;background:#fff;border:1px solid var(--nv-border, #c9d2c9);border-radius:8px;font-size:.85rem;cursor:pointer}.tour-list__delete-btn{color:#a3221c;border-color:#e7b4b1}.tour-list__delete-btn:disabled{opacity:.6;cursor:default}.tour-list__rename{display:flex;flex-direction:column;gap:.4rem;width:100%}.tour-configurator{margin:1.5rem 0;padding:1.25rem 1.5rem;background:#fff;border:1px solid var(--nv-border, #c9d2c9);border-radius:10px}.tour-configurator>header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.tour-configurator__title{margin:0;font-size:1.2rem;color:var(--nv-green-dark, #244f30)}.tour-configurator__status{font-size:.78rem;font-weight:600;padding:.25rem .65rem;border-radius:999px;white-space:nowrap}.tour-configurator__status--draft{background:#eef3ef;color:var(--nv-muted, #6b756b)}.tour-configurator__status--published{background:#e7f3ea;color:var(--nv-green-dark, #244f30)}.tour-configurator__form{display:flex;flex-direction:column;gap:1rem}.tour-configurator__field{display:flex;flex-direction:column;gap:.35rem}.tour-configurator__field>label{font-size:.9rem;font-weight:600;color:#3a4a3b}.tour-configurator__field input[type=text],.tour-configurator__field input[type=date],.tour-configurator__field select{padding:.5rem .6rem;border:1px solid var(--nv-border, #c9d2c9);border-radius:6px;font-size:.9rem;background:#fff;color:var(--nv-text, #1b261c)}.tour-configurator__field input[type=file]{font-size:.85rem}.tour-configurator__field select[aria-invalid=true]{border-color:var(--nv-error, #b3261e)}.tour-configurator__hint{margin:0;font-size:.8rem;color:#5a675b;line-height:1.4}.tour-configurator__field-error{margin:0;font-size:.8rem;color:var(--nv-error, #b3261e);font-weight:600}.tour-configurator__slider-row{display:flex;align-items:center;gap:.75rem}.tour-configurator__slider-row input[type=range]{flex:1;accent-color:var(--nv-green, #2f6b3f)}.tour-configurator__slider-value{flex:0 0 auto;min-width:4.5rem;text-align:right;font-size:.85rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--nv-green-dark, #244f30)}.tour-configurator__audio-info{display:flex;align-items:center;gap:.75rem;padding:.5rem .65rem;background:#f8faf8;border:1px solid var(--nv-border, #c9d2c9);border-radius:8px}.tour-configurator__audio-info img{border-radius:6px}.tour-configurator__audio-info button{margin-left:auto;background:#fff;border:1px solid #e7b4b1;color:var(--nv-error, #b3261e);border-radius:6px;padding:.3rem .7rem;font-size:.8rem;font-weight:600;cursor:pointer}.tour-configurator__audio-info button:hover:not(:disabled){background:#fce8e6}.tour-configurator__audio-info button:disabled{opacity:.5;cursor:default}.tour-configurator__error{padding:.6rem .85rem;background:#fce8e6;color:var(--nv-error, #b3261e);border:1px solid #f3c1bd;border-radius:6px;font-size:.85rem}.tour-configurator__success{padding:.6rem .85rem;background:#e7f3ea;color:var(--nv-green-dark, #244f30);border:1px solid #bcd9c4;border-radius:6px;font-size:.85rem}.tour-configurator__warnings{padding:.7rem .85rem;background:#fff6e0;color:#6b5400;border:1px solid #f0dca0;border-radius:6px;font-size:.85rem}.tour-configurator__warnings ul{margin:.4rem 0 0;padding-left:1.25rem}.tour-configurator__actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.tour-configurator__save-btn,.tour-configurator__publish-btn{background:var(--nv-green, #2f6b3f);color:#fff;border:none;border-radius:6px;padding:.55rem 1.1rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s ease}.tour-configurator__save-btn:hover:not(:disabled),.tour-configurator__publish-btn:hover:not(:disabled){background:#256633}.tour-configurator__unpublish-btn{background:#fff;color:var(--nv-green-dark, #244f30);border:1px solid var(--nv-border, #c9d2c9);border-radius:6px;padding:.55rem 1.1rem;font-size:.9rem;font-weight:600;cursor:pointer}.tour-configurator__unpublish-btn:hover:not(:disabled){background:#f1f5f1}.tour-configurator__save-btn:disabled,.tour-configurator__publish-btn:disabled,.tour-configurator__unpublish-btn:disabled{opacity:.6;cursor:default}.export-guide{margin:1.5rem 0;padding:1.25rem 1.5rem;background:#fff;border:1px solid var(--nv-border, #c9d2c9);border-radius:10px}.export-guide--collapsed{padding:.75rem 1rem}.export-guide__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.export-guide__title{margin:0;font-size:1.2rem;color:var(--nv-green-dark, #244f30)}.export-guide__actions{display:flex;align-items:center;gap:.4rem}.export-guide__toggle{background:#fff;color:var(--nv-green-dark, #244f30);border:1px solid var(--nv-border, #c9d2c9);border-radius:6px;padding:.4rem .85rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s ease}.export-guide__toggle:hover{background:#e7f3ea}.export-guide__dismiss{background:transparent;border:1px solid var(--nv-border, #c9d2c9);border-radius:6px;width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;color:#5a675b;font-size:.9rem;cursor:pointer}.export-guide__dismiss:hover{background:#fce8e6;color:var(--nv-error, #b3261e);border-color:#f3c1bd}.export-guide__quality{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .85rem;padding:.75rem .85rem;border-radius:8px;margin-bottom:1rem;border:1px solid var(--nv-border, #c9d2c9);background:#f8faf8}.export-guide__quality-label{font-size:.9rem}.export-guide__quality-resolution{font-size:.8rem;font-weight:600;font-variant-numeric:tabular-nums;padding:.15rem .5rem;border-radius:999px;background:#fff;border:1px solid var(--nv-border, #c9d2c9);color:var(--nv-green-dark, #244f30)}.export-guide__quality-description{flex:1 1 100%;margin:0;font-size:.8rem;color:#5a675b;line-height:1.4}.export-guide__quality--low{background:#fff3e0;border-color:#f0c98c}.export-guide__quality--standard{background:#eef3ef;border-color:#bcd9c4}.export-guide__quality--high,.export-guide__quality--ultra{background:#e7f3ea;border-color:#bcd9c4}.export-guide__section{margin-bottom:1.1rem}.export-guide__section:last-child{margin-bottom:0}.export-guide__section-title{margin:0 0 .5rem;font-size:1rem;color:var(--nv-green-dark, #244f30)}.export-guide__list{margin:0;padding-left:1.25rem;display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;line-height:1.45;color:var(--nv-text, #1b261c)}.export-guide__list strong{color:var(--nv-green-dark, #244f30)}.export-guide__table{width:100%;border-collapse:collapse;font-size:.82rem;border:1px solid var(--nv-border, #c9d2c9);border-radius:8px;overflow:hidden}.export-guide__table thead{background:#eef3ef}.export-guide__table th{text-align:left;font-weight:600;color:var(--nv-green-dark, #244f30);padding:.5rem .65rem}.export-guide__table td{padding:.5rem .65rem;border-top:1px solid var(--nv-border, #c9d2c9);color:var(--nv-text, #1b261c)}.export-guide__table tbody tr:nth-child(2n){background:#f8faf8}.analytics-dashboard{margin:1.5rem 0;padding:1.25rem 1.5rem;background:#fff;border:1px solid var(--nv-border, #c9d2c9);border-radius:10px}.analytics-dashboard__title{margin:0 0 1rem;font-size:1.2rem;color:var(--nv-green-dark, #244f30)}.analytics-dashboard__subtitle{margin:0 0 .6rem;font-size:1rem;color:var(--nv-green-dark, #244f30)}.analytics-dashboard__filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.85rem;margin-bottom:1rem}.analytics-dashboard__filter-field{display:flex;flex-direction:column;gap:.3rem}.analytics-dashboard__filter-field label{font-size:.8rem;font-weight:600;color:#3a4a3b}.analytics-dashboard__filter-field input[type=date]{padding:.45rem .55rem;border:1px solid var(--nv-border, #c9d2c9);border-radius:6px;font-size:.9rem}.analytics-dashboard__refresh{background:var(--nv-green, #2f6b3f);color:#fff;border:none;border-radius:6px;padding:.5rem 1.1rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s ease}.analytics-dashboard__refresh:hover:not(:disabled){background:#256633}.analytics-dashboard__refresh:disabled{opacity:.6;cursor:default}.analytics-dashboard__error{padding:.6rem .85rem;background:#fce8e6;color:var(--nv-error, #b3261e);border:1px solid #f3c1bd;border-radius:6px;font-size:.85rem;margin-bottom:1rem}.analytics-dashboard__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin:0 0 1.25rem}.analytics-dashboard__stat{display:flex;flex-direction:column;gap:.25rem;padding:.85rem 1rem;background:#f8faf8;border:1px solid var(--nv-border, #c9d2c9);border-radius:8px}.analytics-dashboard__stat dt{font-size:.78rem;font-weight:600;color:#5a675b}.analytics-dashboard__stat dd{margin:0;font-size:1.5rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--nv-green-dark, #244f30)}.analytics-dashboard__top-points{margin-bottom:1.25rem}.analytics-dashboard__ranked-list{list-style:none;margin:0;padding:0;counter-reset:rank;display:flex;flex-direction:column;gap:.4rem}.analytics-dashboard__ranked-item{counter-increment:rank;display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:#f8faf8;border:1px solid var(--nv-border, #c9d2c9);border-radius:6px;font-size:.85rem}.analytics-dashboard__ranked-item:before{content:counter(rank);flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:999px;background:var(--nv-green, #2f6b3f);color:#fff;font-size:.75rem;font-weight:700}.analytics-dashboard__ranked-label{flex:1;font-weight:600;color:var(--nv-green-dark, #244f30);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analytics-dashboard__ranked-count{flex:0 0 auto;font-size:.8rem;color:#5a675b;font-variant-numeric:tabular-nums}.analytics-dashboard__heatmap-section{padding-top:1rem;border-top:1px solid #eef1ee}.analytics-dashboard__heatmap-legend{display:flex;flex-wrap:wrap;gap:.6rem 1rem;margin-bottom:.75rem}.analytics-dashboard__legend-item{display:flex;align-items:center;gap:.35rem;font-size:.78rem;color:#5a675b}.analytics-dashboard__legend-swatch{display:inline-block;width:1rem;height:1rem;border-radius:4px;border:1px solid rgba(0,0,0,.1)}.analytics-dashboard__floor-plan{position:relative;width:100%;min-height:14rem;background:#f1f5f1;border:1px solid var(--nv-border, #c9d2c9);border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center}.analytics-dashboard__floor-plan-img{display:block;width:100%;height:auto}.analytics-dashboard__heatmap-marker{position:absolute;width:1.1rem;height:1.1rem;border-radius:999px;transform:translate(-50%,-50%);border:2px solid #fff;box-shadow:0 1px 4px #00000059}.analytics-dashboard__no-data{margin:0;padding:1.5rem 1rem;text-align:center;font-size:.85rem;color:#5a675b}.analytics-dashboard__legend-label{font-size:.78rem;color:#5a675b}.panorama-manager__count--total{color:var(--nv-green-dark, #244f30)}.panorama-manager__count--published{color:#1f6b2e}.narrative-editor{max-width:760px;margin:0 auto;padding:1.5rem}.narrative-editor__form{display:flex;flex-direction:column;gap:1rem}.narrative-editor__toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.narrative-editor__heading{margin:0;font-size:1.3rem;color:var(--nv-green-dark, #244f30)}.narrative-editor__count{font-size:.85rem;color:#5a675b}.narrative-editor__chapters{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.25rem}.narrative-editor__chapter{padding:1rem;background:#fff;border:1px solid var(--nv-border, #c9d2c9);border-radius:8px;display:flex;flex-direction:column;gap:.75rem}.narrative-editor__chapter-header{display:flex;align-items:center;justify-content:space-between}.narrative-editor__chapter-header h3{margin:0;font-size:1rem}.narrative-editor__chapter-controls{display:flex;gap:.4rem}.narrative-editor__points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem;margin-left:.75rem;border-left:2px solid var(--nv-border, #c9d2c9);padding-left:.75rem}.narrative-editor__point{padding:.6rem .75rem;background:#f8faf8;border:1px solid var(--nv-border, #c9d2c9);border-radius:6px;display:flex;flex-direction:column;gap:.5rem}.narrative-editor__point-header{display:flex;align-items:center;justify-content:space-between}.narrative-editor__point-label{font-size:.85rem;font-weight:600;color:var(--nv-green-dark, #244f30)}.narrative-editor__point-controls{display:flex;gap:.3rem}.narrative-editor__field{display:flex;flex-direction:column;gap:.35rem}.narrative-editor__field label{font-size:.85rem;font-weight:600}.narrative-editor__field input,.narrative-editor__field textarea,.narrative-editor__field select{padding:.5rem .6rem;border:1px solid var(--nv-border, #c9d2c9);border-radius:6px;font-size:.95rem}.narrative-editor__field input[aria-invalid=true],.narrative-editor__field textarea[aria-invalid=true],.narrative-editor__field select[aria-invalid=true]{border-color:var(--nv-error, #b3261e)}.narrative-editor__field-error{margin:0;font-size:.8rem;color:var(--nv-error, #b3261e)}.narrative-editor__actions{display:flex;gap:.75rem;justify-content:flex-end}.narrative-editor__add-chapter,.narrative-editor__add-point,.narrative-editor__submit{background:var(--nv-green, #2f6b3f);color:#fff;border:none;border-radius:6px;padding:.55rem 1rem;font-weight:600;cursor:pointer}.narrative-editor__add-point{align-self:flex-start;padding:.4rem .75rem;font-size:.85rem}.narrative-editor__add-chapter:disabled,.narrative-editor__add-point:disabled,.narrative-editor__submit:disabled{opacity:.6;cursor:not-allowed}.narrative-editor__error{padding:.7rem .85rem;background:#fce8e6;color:var(--nv-error, #b3261e);border:1px solid #f3c1bd;border-radius:6px}.narrative-editor__saved{padding:.7rem .85rem;background:#e7f3ea;color:var(--nv-green-dark, #244f30);border:1px solid #bcd9c4;border-radius:6px}.narrative-editor__hint{margin:0;font-size:.8rem;color:#5a675b}.share-configurator{background:#fff;max-width:560px;margin:0 auto;padding:1.75rem;border-radius:12px;box-shadow:0 8px 30px #00000014;display:flex;flex-direction:column;gap:1.25rem}.share-configurator__title{margin:0;font-size:1.25rem;color:var(--nv-green-dark, #244f30)}.share-configurator__url{display:flex;flex-direction:column;gap:.25rem}.share-configurator__url-label{font-size:.85rem;font-weight:600}.share-configurator__url-value{word-break:break-all;color:var(--nv-green, #2f6b3f)}.share-configurator__analytics{display:flex;gap:1.5rem;margin:0;padding:.9rem 1rem;background:var(--nv-surface, #f3f6f2);border-radius:8px}.share-configurator__stat{display:flex;flex-direction:column;gap:.2rem}.share-configurator__stat dt{font-size:.78rem;font-weight:600;color:#5b665c}.share-configurator__stat dd{margin:0;font-size:1.05rem;font-weight:700;color:var(--nv-text, #1b261c)}.share-configurator__analytics-error{margin:0;font-size:.85rem;color:#5b665c}.share-configurator__form{display:flex;flex-direction:column;gap:1rem}.share-configurator__field{display:flex;flex-direction:column;gap:.5rem}.share-configurator__toggle{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.95rem}.share-configurator__subfield{display:flex;flex-direction:column;gap:.35rem;padding-left:1.5rem}.share-configurator__subfield label{font-size:.85rem;font-weight:600}.share-configurator__subfield input,.share-configurator__subfield select{padding:.6rem .7rem;border:1px solid var(--nv-border, #c9d2c9);border-radius:6px;font-size:1rem;font-family:inherit}.share-configurator__subfield input[aria-invalid=true]{border-color:var(--nv-error, #b3261e)}.share-configurator__hint{margin:0;font-size:.8rem;color:#5b665c}.share-configurator__field-error{margin:0;font-size:.82rem;color:var(--nv-error, #b3261e)}.share-configurator__error{padding:.7rem .85rem;background:#fce8e6;color:var(--nv-error, #b3261e);border:1px solid #f3c1bd;border-radius:6px;font-size:.9rem}.share-configurator__success{padding:.7rem .85rem;background:#e6f4ea;color:var(--nv-green-dark, #244f30);border:1px solid #b7dcc2;border-radius:6px;font-size:.9rem}.share-configurator__actions{display:flex;justify-content:flex-end}.share-configurator__actions button{background:var(--nv-green, #2f6b3f);color:#fff;border:none;border-radius:6px;padding:.55rem 1rem;font-weight:600;cursor:pointer}.share-configurator__actions button:disabled{opacity:.6;cursor:default}.admin-main{padding:1.5rem}.project-manager{max-width:960px;margin:0 auto}.project-manager__toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.project-manager__heading{margin:0;font-size:1.3rem;color:var(--nv-green-dark, #244f30)}.project-manager__new,.project-form__submit,.project-delete__confirm{background:var(--nv-green, #2f6b3f);color:#fff;border:none;border-radius:6px;padding:.55rem 1rem;font-weight:600;cursor:pointer}.project-manager__search{display:flex;flex-direction:column;gap:.3rem;margin-bottom:1rem}.project-manager__search label{font-size:.85rem;font-weight:600}.project-manager__search input{padding:.55rem .7rem;border:1px solid var(--nv-border, #c9d2c9);border-radius:6px;font-size:1rem;max-width:360px}.project-manager__error,.project-form__error,.project-delete__error{padding:.7rem .85rem;background:#fce8e6;color:var(--nv-error, #b3261e);border:1px solid #f3c1bd;border-radius:6px;font-size:.9rem;margin-bottom:1rem}.project-manager__table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 4px 16px #0000000f}.project-manager__table th,.project-manager__table td{text-align:left;padding:.7rem .9rem;border-bottom:1px solid var(--nv-border, #c9d2c9)}.project-manager__sort{background:transparent;border:none;font-weight:700;cursor:pointer;padding:0;color:var(--nv-text, #1b261c)}.project-manager__empty{text-align:center;color:#5b665c;padding:1.5rem}.project-manager__row-actions{display:flex;gap:.4rem;flex-wrap:wrap}.project-manager__row-actions button{border:1px solid var(--nv-border, #c9d2c9);background:#fff;border-radius:6px;padding:.35rem .7rem;cursor:pointer}.project-manager__row-actions .project-manager__delete{color:var(--nv-error, #b3261e);border-color:#f3c1bd}.project-form{background:#fff;max-width:560px;margin:0 auto;padding:1.75rem;border-radius:12px;box-shadow:0 8px 30px #00000014;display:flex;flex-direction:column;gap:1rem}.project-form__title{margin:0;font-size:1.25rem;color:var(--nv-green-dark, #244f30)}.project-form__field{display:flex;flex-direction:column;gap:.35rem}.project-form__field label{font-size:.85rem;font-weight:600}.project-form__field input,.project-form__field textarea{padding:.6rem .7rem;border:1px solid var(--nv-border, #c9d2c9);border-radius:6px;font-size:1rem;font-family:inherit}.project-form__field input[aria-invalid=true],.project-form__field textarea[aria-invalid=true]{border-color:var(--nv-error, #b3261e)}.project-form__field-error{margin:0;font-size:.82rem;color:var(--nv-error, #b3261e)}.project-form__actions,.project-delete__actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:.5rem}.project-form__cancel,.project-delete__cancel{background:#fff;border:1px solid var(--nv-border, #c9d2c9);border-radius:6px;padding:.55rem 1rem;cursor:pointer}.project-delete__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:grid;place-items:center;padding:1rem;z-index:100}.project-delete__dialog{background:#fff;max-width:420px;width:100%;padding:1.5rem;border-radius:12px;box-shadow:0 12px 40px #00000040}.project-delete__title{margin:0 0 .75rem;font-size:1.2rem;color:var(--nv-error, #b3261e)}.project-delete__body{margin:0 0 1rem;line-height:1.5}.project-workspace{max-width:960px;margin:0 auto}.project-workspace__toolbar{display:flex;align-items:baseline;gap:1rem;margin-bottom:1.5rem}.project-workspace__back{flex:none;background:#fff;color:var(--nv-green-dark, #244f30);border:1px solid var(--nv-border, #c9d2c9);border-radius:6px;padding:.5rem 1rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s ease}.project-workspace__back:hover{background:#e7f3ea}.project-workspace__heading{margin:0}.project-workspace__client{color:#555}.project-workspace__panels{display:grid;gap:2rem}.project-workspace__tabs{display:flex;gap:.25rem;border-bottom:1px solid #d8e0d8;margin:.5rem 0 1rem}.project-workspace__tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;padding:.6rem 1rem;font:inherit;font-weight:600;color:#5a675b;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.project-workspace__tab:hover{color:#244f30}.project-workspace__tab--active{color:#244f30;border-bottom-color:#2f6b3f}.panorama-workspace{display:flex;flex-direction:column;gap:1.25rem}.panorama-workspace__intro{display:flex;flex-direction:column;gap:.25rem}.panorama-workspace__heading{margin:0;font-size:1.1rem;color:#244f30}.panorama-workspace__hint{margin:0;color:#5a675b;font-size:.85rem}:root{--nv-green: #2f6b3f;--nv-green-dark: #244f30;--nv-bg: #f4f6f4;--nv-error: #b3261e;--nv-border: #c9d2c9;--nv-text: #1b261c}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--nv-text);background:var(--nv-bg)}.admin-root{min-height:100vh}.admin-root--checking{display:grid;place-items:center;min-height:100vh;color:var(--nv-green-dark)}.admin-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:var(--nv-green);color:#fff}.admin-header button{background:transparent;border:1px solid rgba(255,255,255,.7);color:#fff;padding:.4rem .9rem;border-radius:6px;cursor:pointer}.login{display:grid;place-items:center;min-height:100vh;padding:1rem}.login__form{width:100%;max-width:360px;background:#fff;padding:2rem;border-radius:12px;box-shadow:0 8px 30px #00000014;display:flex;flex-direction:column;gap:1rem}.login__title{margin:0 0 .5rem;font-size:1.4rem;color:var(--nv-green-dark);text-align:center}.login__field{display:flex;flex-direction:column;gap:.35rem}.login__field label{font-size:.85rem;font-weight:600}.login__field input{padding:.6rem .7rem;border:1px solid var(--nv-border);border-radius:6px;font-size:1rem}.login__field input[aria-invalid=true]{border-color:var(--nv-error)}.login__submit{margin-top:.5rem;padding:.7rem;background:var(--nv-green);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer}.login__submit:disabled{opacity:.6;cursor:not-allowed}.login__error{padding:.7rem .85rem;background:#fce8e6;color:var(--nv-error);border:1px solid #f3c1bd;border-radius:6px;font-size:.9rem}.asset-uploader{display:flex;flex-direction:column;gap:1.25rem;max-width:640px;padding:1.5rem}.asset-uploader__title{margin:0;font-size:1.2rem;color:var(--nv-green-dark)}.asset-field{display:flex;flex-direction:column;gap:.35rem;padding:1rem;background:#fff;border:1px solid var(--nv-border);border-radius:10px}.asset-field__label{font-size:.95rem;font-weight:600}.asset-field__hint{margin:0;font-size:.8rem;color:#5a675b}.asset-field input[type=file]{font-size:.9rem}.asset-field__progress{margin:.25rem 0 0;font-size:.85rem;color:var(--nv-green-dark)}.asset-field__message{margin:.25rem 0 0;font-size:.85rem;border-radius:6px;padding:.5rem .7rem}.asset-field__message--error{background:#fce8e6;color:var(--nv-error);border:1px solid #f3c1bd}.asset-field__message--success{background:#e7f3ea;color:var(--nv-green-dark);border:1px solid #bcd9c4}.asset-field__skipped{margin:.4rem 0 0;padding-left:1.1rem;font-size:.8rem}.asset-status{margin:.5rem 0 0;font-size:.85rem;font-weight:600;border-radius:6px;padding:.5rem .7rem}.asset-status--processing{background:#fff6e0;color:#6b5400;border:1px solid #f0dca0}.asset-status--published{background:#e7f3ea;color:var(--nv-green-dark);border:1px solid #bcd9c4}.asset-status--failed{background:#fce8e6;color:var(--nv-error);border:1px solid #f3c1bd}.panorama-uploader{display:flex;flex-direction:column;gap:.35rem;padding:1rem;background:#fff;border:1px solid var(--nv-border);border-radius:10px;max-width:640px}.panorama-uploader__label{font-size:.95rem;font-weight:600}.panorama-uploader__hint{margin:0;font-size:.8rem;color:#5a675b}.panorama-uploader input[type=file]{font-size:.9rem}.panorama-uploader__progress{display:flex;flex-direction:column;gap:.4rem;margin-top:.5rem}.panorama-uploader__progress-text{font-size:.85rem;color:var(--nv-green-dark)}.panorama-uploader__progress-bar{height:8px;background:#e0e5e0;border-radius:4px;overflow:hidden}.panorama-uploader__progress-fill{height:100%;background:var(--nv-green);border-radius:4px;transition:width .2s ease}.panorama-uploader__cancel{align-self:flex-start;background:transparent;border:1px solid var(--nv-border);color:var(--nv-error);padding:.3rem .8rem;border-radius:6px;font-size:.8rem;cursor:pointer}.panorama-uploader__cancel:hover{background:#fce8e6}.panorama-uploader__errors{margin:.4rem 0 0;padding:.5rem .7rem .5rem 1.6rem;background:#fce8e6;color:var(--nv-error);border:1px solid #f3c1bd;border-radius:6px;font-size:.85rem;list-style:disc}.panorama-uploader__error-item{margin:.15rem 0}.panorama-uploader__message{margin:.25rem 0 0;font-size:.85rem;border-radius:6px;padding:.5rem .7rem}.panorama-uploader__message--error{background:#fce8e6;color:var(--nv-error);border:1px solid #f3c1bd}.panorama-uploader__message--success{background:#e7f3ea;color:var(--nv-green-dark);border:1px solid #bcd9c4}.drawing-uploader{display:flex;flex-direction:column;gap:.6rem;padding:1rem;background:#fff;border:1px solid var(--nv-border);border-radius:10px;max-width:640px}.drawing-uploader__title{margin:0;font-size:1.2rem;color:var(--nv-green-dark)}.drawing-uploader__field{display:flex;flex-direction:column;gap:.25rem}.drawing-uploader__label{font-size:.95rem;font-weight:600}.drawing-uploader__hint{margin:0;font-size:.8rem;color:#5a675b}.drawing-uploader input[type=text],.drawing-uploader select,.drawing-uploader textarea{font-size:.9rem;padding:.4rem .5rem;border:1px solid var(--nv-border);border-radius:6px}.drawing-uploader input[type=file]{font-size:.9rem}.drawing-uploader__selected{margin:.15rem 0 0;font-size:.8rem;color:#5a675b}.drawing-uploader__error{margin:.15rem 0 0;font-size:.8rem;color:var(--nv-error)}.drawing-uploader__submit{align-self:flex-start;background:var(--nv-green);border:none;color:#fff;padding:.5rem 1.1rem;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer}.drawing-uploader__submit:disabled{opacity:.6;cursor:default}.drawing-uploader__progress{display:flex;flex-direction:column;gap:.4rem;margin-top:.5rem}.drawing-uploader__progress-text{font-size:.85rem;color:var(--nv-green-dark)}.drawing-uploader__progress-bar{height:8px;background:#e0e5e0;border-radius:4px;overflow:hidden}.drawing-uploader__progress-fill{height:100%;background:var(--nv-green);border-radius:4px;transition:width .2s ease}.drawing-uploader__message{margin:.25rem 0 0;font-size:.85rem;border-radius:6px;padding:.5rem .7rem}.drawing-uploader__message--error{background:#fce8e6;color:var(--nv-error);border:1px solid #f3c1bd}.drawing-uploader__message--success{background:#e7f3ea;color:var(--nv-green-dark);border:1px solid #bcd9c4}.drawing-repository{display:flex;flex-direction:column;gap:.75rem}.drawing-repository__toolbar{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.drawing-repository__title{margin:0;font-size:1.2rem;color:var(--nv-green-dark)}.drawing-repository__clear{font-size:.8rem;padding:.3rem .6rem;border:1px solid var(--nv-border);border-radius:4px;background:#fff;color:var(--nv-green-dark);cursor:pointer}.drawing-repository__clear:disabled{opacity:.5;cursor:default}.drawing-repository__group{display:flex;flex-direction:column;gap:.25rem}.drawing-repository__group-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.95rem;font-weight:600;color:var(--nv-text);padding:.3rem .1rem;border-bottom:1px solid var(--nv-border)}.drawing-repository__categories{list-style:none;margin:0;padding:0 0 0 .5rem;display:flex;flex-direction:column;gap:.1rem}.drawing-repository__category-button{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;font-size:.88rem;padding:.35rem .5rem;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--nv-text);text-align:left;cursor:pointer}.drawing-repository__category-button:hover{background:#eef3ef}.drawing-repository__category-button--selected{background:#e7f3ea;border-color:var(--nv-green);color:var(--nv-green-dark);font-weight:600}.drawing-repository__count{flex:0 0 auto;min-width:1.6rem;text-align:center;font-size:.75rem;padding:.05rem .4rem;border-radius:999px;background:#e0e5e0;color:var(--nv-green-dark)}.drawing-metadata-form{display:flex;flex-direction:column;gap:.6rem;padding:1rem;background:#fff;border:1px solid var(--nv-border);border-radius:10px;max-width:640px}.drawing-metadata-form__title{margin:0;font-size:1.2rem;color:var(--nv-green-dark)}.drawing-metadata-form__field{display:flex;flex-direction:column;gap:.25rem}.drawing-metadata-form__label{font-size:.95rem;font-weight:600}.drawing-metadata-form input[type=text],.drawing-metadata-form select,.drawing-metadata-form textarea{font-size:.9rem;padding:.4rem .5rem;border:1px solid var(--nv-border);border-radius:6px}.drawing-metadata-form__error{margin:.15rem 0 0;font-size:.8rem;color:var(--nv-error)}.drawing-metadata-form__actions{display:flex;gap:.5rem;margin-top:.25rem}.drawing-metadata-form__save{background:var(--nv-green);border:none;color:#fff;padding:.5rem 1.1rem;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer}.drawing-metadata-form__save:disabled{opacity:.6;cursor:default}.drawing-metadata-form__cancel{background:#fff;border:1px solid var(--nv-border);color:var(--nv-green-dark);padding:.5rem 1.1rem;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer}.drawing-metadata-form__cancel:disabled{opacity:.6;cursor:default}.drawing-metadata-form__message{margin:.25rem 0 0;font-size:.85rem;border-radius:6px;padding:.5rem .7rem}.drawing-metadata-form__message--error{background:#fce8e6;color:var(--nv-error);border:1px solid #f3c1bd}.drawing-metadata-form__message--success{background:#e7f3ea;color:var(--nv-green-dark);border:1px solid #bcd9c4}.version-history{display:flex;flex-direction:column;gap:.75rem}.version-history__title{margin:0;font-size:1.1rem}.version-history__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.version-history__item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .75rem;border:1px solid var(--nv-border, #d9dce1);border-radius:6px;background:#fff}.version-history__item--current{border-color:var(--nv-green, #2e7d4f);background:#f3f9f5}.version-history__item--selected{box-shadow:0 0 0 2px var(--nv-green, #2e7d4f)}.version-history__select{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0;background:none;border:none;padding:0;text-align:left;cursor:pointer;font:inherit;color:inherit}.version-history__version-number{font-weight:600;white-space:nowrap}.version-history__badge{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;padding:.1rem .4rem;border-radius:999px;background:var(--nv-green, #2e7d4f);color:#fff}.version-history__meta{display:flex;flex-direction:column;gap:.1rem;font-size:.8rem;color:var(--nv-muted, #5b6168);min-width:0}.version-history__uploader{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.version-history__actions{display:flex;gap:.4rem;flex-shrink:0}.version-history__action{font:inherit;font-size:.8rem;padding:.3rem .6rem;border:1px solid var(--nv-border, #d9dce1);border-radius:5px;background:#fff;cursor:pointer}.version-history__action:disabled{opacity:.6;cursor:default}.version-history__action--delete{color:var(--nv-error, #c5221f);border-color:#f1c4c2}.version-history__message{margin:0;font-size:.85rem;padding:.5rem .75rem;border-radius:6px}.version-history__message--error{background:#fce8e6;color:var(--nv-error, #c5221f);border:1px solid #f1c4c2}.version-history__dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0006;z-index:100}.version-history__dialog{background:#fff;border-radius:8px;padding:1.25rem;max-width:28rem;width:calc(100% - 2rem);display:flex;flex-direction:column;gap:.75rem;box-shadow:0 8px 30px #0003}.version-history__dialog-text{margin:0}.version-history__dialog-actions{display:flex;justify-content:flex-end;gap:.5rem}.drawing-preview{display:flex;flex-direction:column;gap:.5rem;width:100%;min-height:0;padding:.85rem;background:#fff;border:1px solid var(--nv-border);border-radius:12px;box-shadow:0 2px 10px #0000000d}.drawing-preview__sr-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.drawing-preview__toolbar{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding-bottom:.6rem;border-bottom:1px solid #eef1ee}.drawing-preview__info{display:flex;align-items:center;gap:.5rem;min-width:0;margin-right:auto}.drawing-preview__filename{font-size:.9rem;font-weight:600;color:var(--nv-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:16rem}.drawing-preview__version-tag{flex:0 0 auto;font-size:.72rem;font-weight:600;padding:.1rem .45rem;border-radius:999px;background:#eef3ef;color:var(--nv-green-dark)}.drawing-preview__zoom,.drawing-preview__pages,.drawing-preview__actions{display:flex;align-items:center;gap:.5rem}.drawing-preview__btn{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem;line-height:1;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#1e293b;cursor:pointer;text-decoration:none;transition:background .15s ease,border-color .15s ease}.drawing-preview__btn:hover{background:#f1f5f9;border-color:var(--nv-green)}.drawing-preview__btn:disabled{opacity:.5;cursor:default}.drawing-preview__action{font-size:1.2rem;color:var(--nv-green-dark)}.drawing-preview__zoom-readout,.drawing-preview__page-readout{min-width:4rem;text-align:center;font-variant-numeric:tabular-nums;color:#334155}button.drawing-preview__zoom-readout{min-height:44px;padding:0 .4rem;border:1px solid transparent;border-radius:6px;background:transparent;cursor:pointer}button.drawing-preview__zoom-readout:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1}button.drawing-preview__zoom-readout:disabled{opacity:.5;cursor:default}.drawing-preview__area{position:relative;flex:1 1 auto;min-height:18rem;overflow:auto;display:flex;align-items:center;justify-content:center;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px}.drawing-preview__canvas,.drawing-preview__image{display:block;margin:auto;background:#fff;box-shadow:0 2px 8px #0000001f}.drawing-preview__pdf{width:100%;height:100%;border:0;background:#fff}.drawing-preview__pptx{align-self:flex-start;margin:auto;background:#fff;box-shadow:0 2px 8px #0000001f}.drawing-preview__overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:1rem;text-align:center;background:#f1f5f9eb}.drawing-preview__overlay--loading{color:#475569}.drawing-preview__error-text{margin:0;color:#b91c1c}.drawing-preview__download{min-height:44px;display:inline-flex;align-items:center;padding:0 1rem;border-radius:6px;background:#2563eb;color:#fff;text-decoration:none}.drawing-preview__download:hover{background:#1d4ed8}@media (max-width: 480px){.drawing-preview__toolbar{justify-content:space-between;gap:.5rem}.drawing-preview__info{flex:1 1 100%;margin-right:0}.drawing-preview__filename{max-width:100%}}.floor-link-editor{display:flex;flex-direction:column;gap:.75rem}.floor-link-editor__title{margin:0;font-size:1.05rem;color:#1e293b}.floor-link-editor__empty{margin:0;color:#64748b;font-style:italic}.floor-link-editor__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.floor-link-editor__item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .75rem;border:1px solid #e2e8f0;border-radius:8px;background:#fff}.floor-link-editor__floor{display:flex;align-items:center;gap:.5rem;min-width:0}.floor-link-editor__kind{flex:none;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;padding:.15rem .4rem;border-radius:999px;color:#fff}.floor-link-editor__kind--panorama{background:#2563eb}.floor-link-editor__kind--walkthrough{background:#7c3aed}.floor-link-editor__floor-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#1e293b}.floor-link-editor__remove{flex:none;min-height:36px;padding:0 .75rem;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#b91c1c;cursor:pointer}.floor-link-editor__remove:disabled{opacity:.5;cursor:default}.floor-link-editor__add{display:flex;flex-direction:column;gap:.4rem}.floor-link-editor__label{font-weight:600;color:#334155}.floor-link-editor__add-controls{display:flex;gap:.5rem}.floor-link-editor__select{flex:1 1 auto;min-width:0;min-height:38px;padding:0 .5rem;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#1e293b}.floor-link-editor__add-button{flex:none;min-height:38px;padding:0 1rem;border:none;border-radius:6px;background:#2563eb;color:#fff;cursor:pointer}.floor-link-editor__add-button:disabled{opacity:.5;cursor:default}.floor-link-editor__hint{margin:0;color:#64748b;font-size:.85rem}.floor-link-editor__error{margin:0;color:#b91c1c}.delete-confirm-dialog__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0f172a80}.delete-confirm-dialog{width:100%;max-width:28rem;padding:1.25rem;border-radius:10px;background:#fff;box-shadow:0 10px 30px #00000040;display:flex;flex-direction:column;gap:.75rem}.delete-confirm-dialog:focus{outline:2px solid #2563eb;outline-offset:2px}.delete-confirm-dialog__title{margin:0;font-size:1.1rem;color:#1e293b}.delete-confirm-dialog__message{margin:0;color:#334155;line-height:1.5}.delete-confirm-dialog__error{margin:0;color:#b91c1c}.delete-confirm-dialog__actions{display:flex;justify-content:flex-end;gap:.5rem}.delete-confirm-dialog__button{min-height:38px;padding:0 1rem;border-radius:6px;cursor:pointer}.delete-confirm-dialog__button:disabled{opacity:.5;cursor:default}.delete-confirm-dialog__button--cancel{border:1px solid #cbd5e1;background:#fff;color:#1e293b}.delete-confirm-dialog__button--confirm{border:none;background:#dc2626;color:#fff}.drawing-manager{display:flex;flex-direction:column;gap:1rem}.drawing-manager__header{display:flex;align-items:center;justify-content:space-between}.drawing-manager__title{margin:0;font-size:1.4rem;color:var(--nv-green-dark)}.drawing-manager__banner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem .85rem;border-radius:6px;font-size:.9rem}.drawing-manager__banner--error{background:#fce8e6;color:var(--nv-error);border:1px solid #f3c1bd}.drawing-manager__retry{flex:0 0 auto;font-size:.8rem;padding:.3rem .7rem;border:1px solid #f3c1bd;border-radius:5px;background:#fff;color:var(--nv-error);cursor:pointer}.drawing-manager__layout{display:flex;flex-wrap:wrap;align-items:flex-start;gap:1.5rem}.drawing-manager__sidebar{display:flex;flex-direction:column;gap:1.25rem;flex:1 1 320px;min-width:0;max-width:420px}.drawing-manager__detail{display:flex;flex-direction:column;gap:1.25rem;flex:2 1 480px;min-width:0}.drawing-manager__loading,.drawing-manager__placeholder,.drawing-manager__empty{margin:0;font-size:.9rem;color:var(--nv-green-dark)}.drawing-manager__placeholder{padding:2rem 1rem;text-align:center;background:#fff;border:1px dashed var(--nv-border);border-radius:10px}.drawing-manager__list{display:flex;flex-direction:column;gap:.6rem}.drawing-manager__list-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:0 .1rem}.drawing-manager__list-heading{font-size:.95rem;font-weight:600;color:var(--nv-green-dark)}.drawing-manager__list-total{flex:0 0 auto;min-width:1.6rem;text-align:center;font-size:.75rem;padding:.05rem .45rem;border-radius:999px;background:#e0e5e0;color:var(--nv-green-dark)}.drawing-card-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:.6rem}.drawing-card-grid__item{display:flex}.drawing-card{display:flex;align-items:flex-start;gap:.75rem;width:100%;padding:.75rem;border:1px solid var(--nv-border);border-radius:10px;background:#fff;text-align:left;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.drawing-card:hover{border-color:var(--nv-green);box-shadow:0 4px 14px #2f6b3f1f;transform:translateY(-1px)}.drawing-card:focus-visible{outline:2px solid var(--nv-green);outline-offset:2px}.drawing-card--selected{border-color:var(--nv-green);background:#f0f7f1;box-shadow:inset 3px 0 0 var(--nv-green)}.drawing-card__type{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:2.6rem;height:2.6rem;border-radius:8px;font-size:.7rem;font-weight:700;letter-spacing:.03em;color:#fff;background:#64748b}.drawing-card__type--pdf{background:#c0392b}.drawing-card__type--png,.drawing-card__type--jpg{background:#2f6b3f}.drawing-card__type--svg{background:#7c4dff}.drawing-card__type--pptx{background:#d35400}.drawing-card__body{display:flex;flex-direction:column;gap:.2rem;min-width:0;flex:1 1 auto}.drawing-card__title{font-size:.95rem;font-weight:600;color:var(--nv-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawing-card__category{font-size:.78rem;color:var(--nv-green-dark)}.drawing-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.15rem;font-size:.72rem;color:#64748b}.drawing-card__number{padding:.05rem .4rem;border-radius:4px;background:#eef3ef;color:var(--nv-green-dark);font-weight:600}.drawing-card__updated:before{content:"·";margin-right:.4rem;color:#cbd5e1}.drawing-manager__detail-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.drawing-manager__detail-title{margin:0;font-size:1.2rem;color:var(--nv-green-dark);min-width:0;overflow:hidden;text-overflow:ellipsis}.drawing-manager__delete{flex:0 0 auto;font-size:.85rem;padding:.4rem .85rem;border:1px solid #f1c4c2;border-radius:6px;background:#fff;color:var(--nv-error);cursor:pointer}.drawing-manager__delete:hover{background:#fce8e6}.drawing-preview--fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:var(--nv-surface-strong, #0a1f16);display:flex;flex-direction:column;padding:1rem;border:none;border-radius:0;box-shadow:none}.drawing-preview--fullscreen .drawing-preview__toolbar{border-bottom-color:#ffffff26}.drawing-preview--fullscreen .drawing-preview__filename{color:#fff}.drawing-preview--fullscreen .drawing-preview__area{flex:1 1 auto;min-height:0}.drawing-preview__btn--fullscreen{margin-left:0}.panorama-uploader__field{display:flex;flex-direction:column;gap:.35rem}.panorama-uploader input[type=text],.panorama-uploader input[type=number],.panorama-uploader select,.panorama-uploader textarea{padding:.5rem .6rem;border:1px solid var(--nv-border);border-radius:6px;font-size:.9rem;font-family:inherit;background:#fff;color:var(--nv-text)}.panorama-uploader textarea{min-height:3.5rem;resize:vertical}.panorama-uploader input[aria-invalid=true]{border-color:var(--nv-error)}.panorama-uploader__position{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr;align-items:center;gap:.4rem .6rem;border:1px solid var(--nv-border);border-radius:8px;padding:.75rem .85rem;margin:0}.panorama-uploader__position>legend{grid-column:1 / -1;padding:0;font-size:.95rem;font-weight:600}.panorama-uploader__position label{font-size:.85rem;font-weight:600;color:#3a4a3b}.panorama-uploader__position input{width:100%}@media (max-width: 480px){.panorama-uploader__position{grid-template-columns:auto 1fr}}.drawing-card__versions:before{content:"·";margin-right:.4rem;color:#cbd5e1}.version-history__timestamp{font-size:.78rem;color:var(--nv-muted, #5b6168)}.drawing-preview__overlay--error{color:#b91c1c;background:#fef2f2f0}input[type=file]{font-family:inherit;color:var(--nv-text)}input[type=file]::file-selector-button{margin-right:.75rem;padding:.45rem .9rem;border:1px solid var(--nv-border);border-radius:6px;background:#fff;color:var(--nv-green-dark);font-size:.85rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s ease,border-color .15s ease}input[type=file]::file-selector-button:hover{background:#e7f3ea;border-color:var(--nv-green)}input[type=file]:disabled::file-selector-button{opacity:.6;cursor:not-allowed}
