/* Scene 1, »Podatki o objektih« — app styles, extracted from app/shared/app.css
   (only rules the title, 3D hero and objekt card use) and scoped under .app-frame
   so nothing leaks into the lander. Regenerate from the app instead of editing by hand. */

.app-frame { --navy: #1f2d25; --navy-2: #2f4034; --text: #23312a; --muted: #6f7c70; --ink: #111922; --paper: #fff; --surface: #fff; --white: #f9f7f4; --app-bg: #f5f5f5; --line: rgba(31, 45, 37, 0.12); --line-soft: rgba(31, 45, 37, 0.08); --line-warm: #ede8e0; --app-line: #e8e8e8; --teal: #1a6e7a; --sand: #c4a882; --vivid: #6f8058; --red: #b73a2e; --orange: #b47b26; --navy-rgb: 31, 45, 37; --teal-rgb: 26, 110, 122; --sand-rgb: 196, 168, 130; --vivid-rgb: 111, 128, 88; --red-rgb: 183, 58, 46; --orange-rgb: 180, 123, 38; --shadow: 0 8px 32px rgba(31, 45, 37, 0.08); --glass: rgba(255, 255, 255, 0.74); --radius: 12px; --radius-input: 5px; --radius-control: 6px; --font: 'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif; }
.app-frame { --white: var(--surface); --app-bg: var(--surface); --app-line: #e8e8e8; }
.app-frame { background: var(--white); font-family: Outfit, sans-serif; color: var(--text); margin: 0px; }

.app-frame *, .app-frame ::before, .app-frame ::after { box-sizing: border-box; }
.app-frame button, .app-frame input, .app-frame select, .app-frame textarea { font: inherit; }
.app-frame .btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; border: 1.5px solid var(--navy); border-radius: 999px; padding: 0px 22px; color: var(--navy); background: transparent; font-size: 14px; font-weight: 700; line-height: 1; cursor: pointer; text-decoration: none; white-space: nowrap; transition: background 0.15s, border-color 0.15s, color 0.15s, opacity 0.15s; }
.app-frame .btn-primary { background: var(--navy); color: var(--white); }
.app-frame .btn-primary:hover { border-color: var(--navy-2); background: var(--navy-2); }
.app-frame .btn-secondary:hover { background: rgba(var(--navy-rgb), 0.06); }
.app-frame .btn-sm { min-height: 34px; padding: 0px 16px; font-size: 12px; }
.app-frame .btn svg { width: 16px; height: 16px; flex-shrink: 0; }
.app-frame .btn-sm svg { width: 14px; height: 14px; }
.app-frame .btn:disabled { opacity: 0.48; cursor: default; }
.app-frame .icon-button { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 28px; height: 28px; padding: 0px; border: 0px; border-radius: var(--radius-control); background: transparent; color: var(--muted); cursor: pointer; transition: background 0.15s, color 0.15s; }
.app-frame .icon-button svg { width: 16px; height: 16px; transition: transform 0.15s; }
.app-frame .icon-button:hover:not(:disabled) { background: rgba(var(--navy-rgb), 0.06); color: var(--text); }
.app-frame .icon-button--danger:hover:not(:disabled) { background: rgba(var(--red-rgb), 0.08); color: var(--red); }
.app-frame .icon-button:disabled { opacity: 0.3; cursor: default; }
.app-frame input:where(:not([type="checkbox"], [type="radio"], [type="range"], [type="file"], [type="color"], [type="button"], [type="submit"], [type="reset"], [type="hidden"])), .app-frame select, .app-frame textarea { border: 1px solid var(--line); border-radius: var(--radius-input); background: var(--surface); color: var(--text); padding: 11px 12px; font-size: 14px; outline: none; }
.app-frame input:where(:not([type="checkbox"], [type="radio"], [type="range"], [type="file"], [type="color"], [type="button"], [type="submit"], [type="reset"], [type="hidden"])):focus, .app-frame select:focus, .app-frame textarea:focus { border-color: rgba(var(--vivid-rgb), 0.55); box-shadow: 0 0 0 3px rgba(var(--vivid-rgb), 0.13); }
.app-frame input:where(:not([type="checkbox"], [type="radio"], [type="range"], [type="file"], [type="color"], [type="button"], [type="submit"], [type="reset"], [type="hidden"])):disabled, .app-frame select:disabled, .app-frame textarea:disabled { border-color: rgba(var(--navy-rgb), 0.08); background: rgba(var(--navy-rgb), 0.045); color: rgba(35, 49, 42, 0.56); cursor: not-allowed; }
.app-frame textarea { resize: vertical; }
.app-frame .ui-select-host::after { content: none !important; }
.app-frame .ui-select-native { display: none !important; }
.app-frame .ui-select { position: relative; }
.app-frame .ui-select-trigger { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 10px; height: 42px; padding: 0px 14px; box-sizing: border-box; border-radius: 5px; border: 1.5px solid var(--line); background: var(--surface); color: var(--text); font-size: 13px; font-weight: 500; font-family: inherit; transition: border-color 0.15s, box-shadow 0.15s; }
.app-frame .ui-select-trigger::-webkit-details-marker { display: none; }
.app-frame .ui-select-trigger::marker { content: ""; }
.app-frame .ui-select-trigger:hover { border-color: rgba(var(--navy-rgb), 0.28); }
.app-frame .ui-select-value { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.app-frame .ui-select-chevron { display: inline-flex; flex-shrink: 0; color: var(--muted); transition: transform 0.15s, color 0.15s; }
.app-frame .ui-select-menu { position: fixed; z-index: 1000; background: var(--surface); border: 1px solid var(--line); border-radius: 12px; padding: 6px; box-shadow: 0 16px 40px rgba(var(--navy-rgb),0.16); max-height: 280px; overflow-y: auto; display: flex; flex-direction: column; gap: 2px; }
.app-frame .ui-select-option { text-align: left; border: 0px; background: transparent; cursor: pointer; font-family: inherit; font-size: 13px; font-weight: 500; color: var(--text); padding: 9px 11px; border-radius: 8px; transition: background 0.12s, color 0.12s; }
.app-frame .ui-select-option:hover { background: rgba(var(--navy-rgb),0.05); }
.app-frame .ui-select-option.selected { background: rgba(var(--teal-rgb),0.10); color: var(--teal); font-weight: 700; }
.app-frame .ui-select-option:disabled { color: rgba(35, 49, 42, 0.56); background: transparent; cursor: not-allowed; }
.app-frame .ui-select-search { position: sticky; top: -6px; z-index: 1; margin: -6px -6px 4px; padding: 9px 11px; border-top: 0px; border-right: 0px; border-left: 0px; border-image: initial; border-bottom: 1px solid var(--line); border-radius: 12px 12px 0px 0px; background: var(--surface); font-family: inherit; font-size: 13px; color: var(--text); }
.app-frame .ui-select-search:focus { outline: none; box-shadow: inset 0 -2px 0 var(--teal); }
.app-frame .ui-select-empty { padding: 9px 11px; font-size: 13px; color: var(--muted); }
.app-frame .ui-select-menu [hidden] { display: none; }
.app-frame .panel { border: 1px solid var(--line); border-radius: 8px; background: var(--surface); padding: 22px; }
.arh-app .panel-title { font-size: 22px; font-weight: 800; letter-spacing: -0.4px; margin-bottom: 5px; }
.arh-app .panel-title-row { display: flex; align-items: center; gap: 10px; margin-bottom: 5px; }
.arh-app .panel-title-row .panel-title { margin-bottom: 0px; }
.arh-app .panel-title-icon { display: inline-flex; align-items: center; justify-content: center; color: var(--teal); flex-shrink: 0; }
.arh-app .panel-title-icon svg { width: 22px; height: 22px; display: block; }
.arh-app .panel-foot { display: flex; justify-content: flex-end; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.arh-app .panel-foot > .btn-secondary:first-child { margin-right: auto; }
.arh-app .dgd-save-status { color: var(--muted); font-size: 12px; min-height: 18px; }
.arh-app .dgd-save-status:empty { display: none; }
.arh-app .dgd-long-text { width: 100%; min-height: 90px; field-sizing: content; resize: vertical; line-height: 1.55; }
.arh-app .foot-hint { margin-right: auto; align-self: center; color: var(--orange); font-size: 12.5px; font-weight: 600; }
.arh-app .form-full { grid-column: 1 / -1; }
.arh-app .form-field { margin-bottom: 16px; }
.arh-app .objekt-grid > .form-field, .arh-app .objekt-grid-4 > .form-field { margin-bottom: 0px; }
.arh-app .form-field.form-full { margin-top: 14px; }
.arh-app .form-field.form-full:first-child, .arh-app .objekt-grid-4 > .form-field.form-full { margin-top: 0px; }
.arh-app .form-field label { display: block; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: 1px; color: var(--muted); margin-bottom: 6px; }
.arh-app .form-field input:not([type="checkbox"]), .arh-app .form-field select, .arh-app .form-field textarea { width: 100%; box-sizing: border-box; padding: 0px 14px; border: 1.5px solid var(--line); border-radius: 10px; font-size: 13px; font-weight: 500; font-family: inherit; color: var(--text); background: var(--surface); outline: none; transition: border-color 0.15s, box-shadow 0.15s, background-color 0.15s; }
.arh-app .form-field input:not([type="checkbox"]), .arh-app .form-field select { height: 42px; }
.arh-app .form-field textarea { padding: 12px 14px; resize: vertical; line-height: 1.55; min-height: 110px; }
.arh-app .form-field input:not([type="checkbox"])::placeholder, .arh-app .form-field textarea::placeholder { color: var(--muted); opacity: 0.65; }
.arh-app .form-field input:not([type="checkbox"]):hover, .arh-app .form-field select:hover, .arh-app .form-field textarea:hover { border-color: rgba(var(--navy-rgb),0.26); }
.arh-app .form-field input:not([type="checkbox"]):focus, .arh-app .form-field select:focus, .arh-app .form-field textarea:focus { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(var(--teal-rgb),0.14); background-color: var(--surface); }
.arh-app .app-main .panel.active { overflow: visible; border: none; }
.arh-app textarea { font-family: inherit; font-size: 13px; font-weight: 500; line-height: 1.65; color: var(--text); width: 100%; box-sizing: border-box; padding: 12px 14px; background: var(--surface); border: 1.5px solid var(--line); border-radius: 10px; outline: none; transition: border-color 0.15s, box-shadow 0.15s, background-color 0.15s; }
.arh-app textarea:hover { border-color: rgba(var(--navy-rgb),0.26); }
.arh-app textarea:focus { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(var(--teal-rgb),0.14); background: var(--surface); }
.arh-app textarea::placeholder { color: var(--muted); opacity: 0.65; }
.arh-app .step-actions-row { display: flex; gap: 10px; align-items: center; justify-content: space-between; margin-bottom: 20px; }
.arh-app .step-actions-row .actions-right { display: flex; gap: 10px; }
.arh-app .idz-actions-msg { font-size: 12px; color: var(--muted); }
.arh-app .objekt-card { border: 1px solid var(--line-soft); border-radius: 12px; padding: 20px; margin-bottom: 16px; background: var(--surface); }
.arh-app .objekt-card-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; padding-bottom: 10px; border-bottom: 1px solid var(--line-soft); }
.arh-app .objekt-card-title { font-size: 14px; font-weight: 700; color: var(--text); }
.arh-app .objekt-card-actions { display: flex; gap: 12px; }
.arh-app .objekt-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 14px 16px; }
.arh-app .objekt-grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px 16px; }
.arh-app .objekt-grid > .form-field, .arh-app .objekt-grid-4 > .form-field { display: flex; flex-direction: column; }
.arh-app .objekt-grid > .form-field > label, .arh-app .objekt-grid-4 > .form-field > label { flex: 1 0 auto; display: flex; align-items: flex-end; }
.arh-app .objekt-section-label { font-size: 13px; font-weight: 700; letter-spacing: 0px; text-transform: none; color: var(--text); margin: 22px 0px 12px; padding-bottom: 6px; border-bottom: 1px solid var(--line-soft); }
.arh-app .idz-zazidana { padding: 0px 12px; height: 42px; display: flex; align-items: center; font-size: 13px; color: var(--muted); background: var(--app-bg); border: 1.5px solid var(--line-soft); border-radius: 8px; }
.arh-app .objekt-description { width: 100%; min-height: 180px; box-sizing: border-box; padding: 14px 16px; border: 1.5px solid var(--line-soft); border-radius: 8px; background: var(--surface); color: var(--text); outline: none; resize: vertical; font-family: inherit; font-size: 13px; line-height: 1.6; transition: border-color 0.15s; }
.arh-app .objekt-description:focus { border-color: var(--teal); }
.arh-app .dgd-root .objekt-description.dgd-long-text { min-height: 90px; field-sizing: content; }
.arh-app .objekt-description::placeholder { color: var(--muted); font-style: italic; }
.arh-app .objekt-preview { position: relative; width: 100%; height: 312px; background: var(--surface); border: 1px solid var(--line-soft); border-radius: 8px; margin: 0px 0px 16px; overflow: hidden; touch-action: none; }
.arh-app .objekt-preview canvas { display: block; width: 100%; height: 100%; cursor: grab; outline: none; }
.arh-app .objekt-preview canvas:active { cursor: grabbing; }
.arh-app .objekt-preview-labels { position: absolute; top: 0px; left: 0px; pointer-events: none; }
.arh-app .dgd-root .objekt-preview.building-model { height: 340px; }
.arh-app .building-model-caption { position: absolute; left: 12px; bottom: 10px; font-size: 11px; color: var(--muted); pointer-events: none; }
@media (max-width: 860px) { .arh-app .objekt-grid { grid-template-columns: 1fr; } }
@media (max-width: 860px) { .arh-app .objekt-grid-4 { grid-template-columns: 1fr 1fr; } }
@media (max-width: 860px) { .arh-app .step-actions-row { flex-direction: column; align-items: stretch; } }
.arh-app .dgd-root { font-family: var(--font); color: var(--text); }
.arh-app .dgd-root .objekt-card { border: 1px solid var(--line); padding: 20px; margin-bottom: 16px; background: var(--surface); }
.arh-app .dgd-root .objekt-card-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.arh-app .dgd-root .objekt-card-title { font-size: 14px; font-weight: 700; }
.arh-app .dgd-root .objekt-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px 16px; }
.arh-app .dgd-root .objekt-grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px 16px; }
.arh-app .dgd-root .objekt-grid-4 .form-full { grid-column: 1 / -1; }
.arh-app .dgd-root .objekt-preview { position: relative; width: 100%; height: 312px; background: var(--surface); border: 1px solid var(--line); border-radius: 8px; margin: 0px 0px 16px; overflow: hidden; touch-action: none; }
.arh-app .dgd-root .objekt-description { width: 100%; min-height: 180px; box-sizing: border-box; padding: 14px 16px; border: 1.5px solid var(--line); border-radius: var(--radius); background: var(--surface); color: var(--text); outline: none; resize: vertical; font-family: var(--font); font-size: 13px; line-height: 1.6; transition: border-color 0.15s, background 0.15s; }
.arh-app .dgd-root .objekt-description:focus { border-color: var(--navy); background: var(--white); }
.arh-app .dgd-validation { font-size: 11px; color: var(--red); text-align: right; margin-top: 12px; min-height: 14px; }

