/* Shared officer interface tokens. */

.ulpin-app {
  --ui-background: #f4f7f8;
  --ui-surface: #ffffff;
  --ui-surface-subtle: #f0f5f3;
  --ui-surface-tint: #f6faf8;
  --ui-ink: #16272d;
  --ui-ink-soft: #31454d;
  --ui-muted: #66757d;
  --ui-divider: #dbe4e6;
  --ui-border-strong: #c6d3d7;
  --ui-primary: #235347;
  --ui-primary-hover: #183d34;
  --ui-primary-soft: #e8f2ed;
  --ui-info: #245e87;
  --ui-info-soft: #eaf4fc;
  --ui-success: #157347;
  --ui-success-soft: #e8f6ee;
  --ui-warning: #8a4b0f;
  --ui-warning-soft: #fff4de;
  --ui-danger: #b42318;
  --ui-danger-soft: #fff0ee;
  --ui-focus: #176b87;

  --ui-radius-8: 8px;
  --ui-radius-12: 12px;
  --ui-radius-16: 16px;
  --ui-radius-pill: 999px;

  --ui-space-1: 4px;
  --ui-space-2: 8px;
  --ui-space-3: 12px;
  --ui-space-4: 16px;
  --ui-space-5: 20px;
  --ui-space-6: 24px;
  --ui-space-8: 32px;

  --ui-font-sans:
    -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, "Helvetica Neue",
    Arial, sans-serif;
  --ui-font-mono: ui-monospace, "SFMono-Regular", Consolas, monospace;
  --ui-text-xs: 12px;
  --ui-text-sm: 13px;
  --ui-text-md: 15px;
  --ui-text-lg: 17px;
  --ui-text-xl: 22px;
  --ui-line-height: 1.45;

  --ui-header-height: 72px;
  --ui-toolbar-height: 44px;
  --ui-control-height: 40px;
  --ui-touch-height: 44px;

  --ui-left-rail-width: 308px;
  --ui-right-rail-width: 360px;
  --ui-right-rail-wide: 400px;
  --ui-bottom-tray-height: 172px;
  --ui-dialog-md: 760px;
  --ui-dialog-lg: 960px;
  --ui-max-content: 1600px;

  --ui-shadow-card: 0 2px 12px rgb(22 39 45 / 4%);
  --ui-shadow-overlay: 0 16px 42px rgb(22 39 45 / 14%);
  --ui-shadow-floating: 0 6px 18px rgb(22 39 45 / 8%);

  background: var(--ui-background);
  color: var(--ui-ink);
  font-family: var(--ui-font-sans);
  font-size: var(--ui-text-md);
  line-height: var(--ui-line-height);
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
  color-scheme: light;
}

.ulpin-app[data-ui-shell] {
  width: 100%;
  height: 100dvh;
  min-height: 0;
  overflow: hidden;
}

.ulpin-app :where(button, input, select, textarea) {
  font: inherit;
}
.ulpin-app
  :where(button, a, input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid var(--ui-focus);
  outline-offset: 3px;
}

.ulpin-app {
  position: fixed;
  inset: 0;
  overflow: auto;
  isolation: isolate;
  font-size: 14px;
  --ui-header-height: 64px;
}
.ulpin-app *,
.ulpin-app *::before,
.ulpin-app *::after {
  box-sizing: border-box;
}
.ulpin-app :where(h1, h2, h3, h4, p) {
  margin: 0;
}
.ulpin-app :where(a) {
  color: inherit;
  text-decoration: none;
}
.ulpin-app :where(button, input, select, textarea) {
  font: inherit;
}
.ulpin-app :where(button, a) {
  -webkit-tap-highlight-color: transparent;
}
.ulpin-app button {
  cursor: pointer;
}
.ulpin-app button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.ulpin-app :where(input, select, textarea) {
  max-width: 100%;
  min-height: 42px;
  color: var(--ui-ink);
  background: white;
  padding: 10px 12px;
  border: 1px solid var(--ui-divider);
  border-radius: 8px;
}
.ulpin-app :where(input[type="checkbox"], input[type="radio"]) {
  min-height: 18px;
  width: 18px;
  height: 18px;
  accent-color: var(--ui-primary);
}
.ulpin-app :where(input[type="range"]) {
  padding: 0;
  accent-color: var(--ui-primary);
}
.ulpin-app :where(label) {
  font-size: 13px;
  color: var(--ui-ink-soft);
}
.ulpin-app :where(h1) {
  font-size: 28px;
  letter-spacing: -0.8px;
  line-height: 1.2;
  font-weight: 650;
}
.ulpin-app :where(h2) {
  font-size: 16px;
  font-weight: 650;
  letter-spacing: -0.25px;
}
.ulpin-app :where(h3) {
  font-size: 14px;
  font-weight: 650;
}
.ulpin-app :where(small) {
  font-size: 12px;
}
.ulpin-app :where(svg) {
  flex-shrink: 0;
}
.ulpin-app .ui-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 9px 14px;
  background: white;
  border: 1px solid var(--ui-divider);
  border-radius: 8px;
  font-size: 13px;
  font-weight: 550;
  line-height: 1.2;
  color: var(--ui-ink-soft);
  transition:
    background 0.15s,
    border-color 0.15s;
  white-space: nowrap;
}
.ulpin-app .ui-button:hover:not(:disabled) {
  background: var(--ui-surface-subtle);
  border-color: #9cb4aa;
}
.ulpin-app .ui-button--primary {
  background: var(--ui-primary);
  border-color: var(--ui-primary);
  color: white;
}
.ulpin-app .ui-button--primary:hover:not(:disabled) {
  background: var(--ui-primary-hover);
}
.ulpin-app .ui-button--ghost {
  border-color: transparent;
  background: transparent;
}
.ulpin-app .ui-button--danger {
  color: var(--ui-danger);
  background: var(--ui-danger-soft);
}
.ulpin-app .ui-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 8px;
  border-radius: 5px;
  background: #edf1f1;
  color: #56646a;
  font-size: 11px;
  line-height: 1.4;
  font-weight: 550;
  white-space: nowrap;
}
.ulpin-app .ui-badge--info {
  background: var(--ui-info-soft);
  color: var(--ui-info);
}
.ulpin-app .ui-badge--success {
  background: var(--ui-success-soft);
  color: var(--ui-success);
}
.ulpin-app .ui-badge--warning {
  background: var(--ui-warning-soft);
  color: var(--ui-warning);
}
.ulpin-app .ui-badge--danger {
  background: var(--ui-danger-soft);
  color: var(--ui-danger);
}
.ulpin-app .ui-panel {
  min-width: 0;
  background: white;
  border: 1px solid var(--ui-divider);
  border-radius: 12px;
  overflow: hidden;
}
.ulpin-app .ui-panel-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 20px;
  border-bottom: 1px solid var(--ui-divider);
}
.ulpin-app .ui-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 12px;
  padding: 36px 24px;
}
.ulpin-app .ui-empty p {
  max-width: 350px;
  font-size: 13px;
  color: var(--ui-muted);
}
.ulpin-app .ui-empty-icon {
  display: grid;
  place-items: center;
  width: 50px;
  height: 50px;
  color: #708b81;
  background: var(--ui-surface-subtle);
  border-radius: 14px;
}
.ulpin-app .ui-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 42px 20px;
  gap: 12px;
  color: var(--ui-muted);
}
.ulpin-app .ui-error {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--ui-danger);
  background: var(--ui-danger-soft);
  padding: 14px 18px;
  border-radius: 8px;
  font-size: 13px;
}
.ulpin-app .ui-error span {
  flex: 1 1;
}
.ulpin-app .ui-dialog {
  padding: 0;
  width: min(860px, calc(100vw - 32px));
  max-height: 90dvh;
  border: 1px solid var(--ui-divider);
  border-radius: 16px;
  background: white;
  color: var(--ui-ink);
  box-shadow: var(--ui-shadow-overlay);
}
.ulpin-app .ui-dialog::backdrop {
  background: #16272d66;
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
}
.ulpin-app .ui-dialog-heading,
.ulpin-app .ui-dialog-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 24px;
  gap: 12px;
}
.ulpin-app .ui-dialog-heading {
  border-bottom: 1px solid var(--ui-divider);
}
.ulpin-app .ui-dialog-footer {
  border-top: 1px solid var(--ui-divider);
  justify-content: flex-end;
}
.ulpin-app .ui-dialog-body {
  padding: 24px;
}
.ulpin-app .ui-stat {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 18px;
  background: var(--ui-surface-tint);
  border: 1px solid #e6eeeb;
  border-radius: 10px;
}
.ulpin-app .ui-stat span,
.ulpin-app .ui-stat small {
  font-size: 12px;
  color: var(--ui-muted);
}
.ulpin-app .ui-stat strong {
  font-size: 25px;
  font-weight: 600;
  letter-spacing: -0.7px;
}
.ulpin-app .ui-spin {
  animation: ui-spin 1.2s linear infinite;
}
@keyframes ui-spin {
  to {
    transform: rotate(360deg);
  }
}
@media (prefers-reduced-motion: reduce) {
  .ulpin-app *,
  .ulpin-app *::before,
  .ulpin-app *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
.ui-parcel-identity {
  padding: 10px 12px;
  border: 1px solid var(--ui-divider);
  border-radius: 8px;
  background: #f4f7f3;
  display: grid;
  gap: 4px;
  font-size: 12px;
}
.ui-parcel-identity small {
  color: var(--ui-muted);
  font-size: 11px;
}
.ui-parcel-identity strong {
  font-size: 14px;
}
.ui-parcel-identity span {
  font-size: 11px;
  color: var(--ui-muted);
}
.ui-parcel-facts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
  font-size: 12px;
}
.ui-parcel-facts dd {
  margin: 0;
  text-align: right;
}
.ui-parcel-list-tabs {
  display: flex;
  padding: 8px 14px;
  gap: 8px;
}
.ui-parcel-list-tabs button {
  border: 1px solid var(--ui-divider);
  border-radius: 6px;
  background: white;
  padding: 6px 10px;
}
.ui-parcel-list-tabs button[aria-pressed="true"] {
  background: var(--ui-primary);
  color: white;
}
.ui-record-ulpin {
  font:
    10px ui-monospace,
    monospace;
  overflow-wrap: anywhere;
  line-height: 1.5;
}
.ui-block-report-downloads {
  border: 1px solid var(--ui-divider);
  border-radius: 8px;
  padding: 14px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 16px 0;
}
.ui-block-report-downloads h4,
.ui-block-report-downloads p {
  width: 100%;
  margin: 0;
}
.ui-block-report-downloads p {
  font-size: 12px;
  color: var(--ui-muted);
}

.ulpin-app kbd {
  font: 10px inherit;
  color: #8a9495;
}
.ulpin-app .ui-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #508a66;
}
.ulpin-app .ui-dot--offline {
  background: #b98139;
}
.ulpin-app .ui-content {
  min-height: calc(100dvh - var(--ui-header-height));
}
.ulpin-app .ui-skip {
  position: fixed;
  top: -100px;
  left: 10px;
  z-index: 100;
  background: white;
  padding: 10px 16px;
  border: 2px solid var(--ui-primary);
}
.ulpin-app .ui-skip:focus {
  top: 10px;
}
.ulpin-app .ui-search-input {
  display: flex;
  align-items: center;
  border: 1px solid var(--ui-divider);
  border-radius: 8px;
  padding: 0 12px;
  gap: 8px;
}
.ulpin-app .ui-search-input input {
  border: 0;
  flex: 1 1;
  min-width: 0;
  background: transparent;
}
.ulpin-app .ui-status-summary {
  display: flex;
  gap: 16px;
  align-items: center;
  padding-bottom: 24px;
  color: var(--ui-primary);
}
.ulpin-app .ui-status-summary p {
  color: var(--ui-muted);
  font-size: 13px;
  margin-top: 6px;
}
.ulpin-app .ui-service-list > div {
  display: flex;
  justify-content: space-between;
  padding: 14px 0;
  border-top: 1px solid var(--ui-divider);
}
.ulpin-app .ui-status-links {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  padding-top: 20px;
  font-size: 13px;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.ulpin-app .ui-status-links a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
@media (max-width: 700px) {
  .ulpin-app {
    --ui-header-height: 106px !important;
  }
}

.city-header{height:70px;min-height:70px;width:100%;display:flex;align-items:center;gap:18px;padding:0 22px;background:#fff;border-bottom:1px solid #dde7e1;position:relative;z-index:70;font-family:Inter,'Segoe UI',Arial,sans-serif;color:#2c5144;box-sizing:border-box}
.city-header *{box-sizing:border-box}.city-header a{text-decoration:none;color:inherit}.city-header button{cursor:pointer;font-family:inherit}.city-brand{flex-shrink:0;width:218px}.city-brand>span{display:flex;align-items:center;gap:10px;font-size:25px;font-weight:760;letter-spacing:-.8px;white-space:nowrap}.city-brand small{font-size:8px;letter-spacing:1.35px;font-weight:650;color:#8da194}.city-brand em{display:block;font-size:9px;color:#8b9e91;font-style:normal;letter-spacing:.15px;margin-top:4px}
.property-picker{padding:10px 0 15px;color:#5b7650;font-family:'Segoe UI',sans-serif}.property-picker>label{display:flex;flex-direction:column;gap:8px;font-size:11px}.property-picker>label>div{display:flex;align-items:center;gap:7px;padding:0 10px;background:white;border:1px solid #d4e3c9;border-radius:5px}.property-picker input{border:0!important;background:transparent!important;min-width:0;flex:1 1;min-height:40px;padding:8px!important;font-size:12px;color:#4e6d3d;outline:none}.property-picker [role=listbox]{max-height:240px;overflow:auto}.property-picker [role=option]{width:100%;display:flex;align-items:center;gap:10px;text-align:left;min-height:62px;padding:11px;border:1px solid #dde7d2;border-radius:5px;background:white;color:#587843;margin:6px 0}.property-picker [role=option][aria-selected=true]{background:#f1f7eb}.property-picker [role=option]>span{flex:1 1}.property-picker strong{font-size:12px;display:block}.property-picker small{font-size:9px;display:block;line-height:1.6;color:#93a07d;margin-top:4px;overflow-wrap:anywhere}.property-picker>p{font-size:10px;line-height:1.8;color:#8b9c77;margin-top:11px}.workspace-create-choice{display:flex;gap:8px;margin-bottom:15px}@media(max-width:620px){.property-picker input{font-size:16px}.property-picker [role=option]{min-height:66px}.property-picker [role=option] small{font-size:10px}}
.city-search{position:relative;display:flex;align-items:center;gap:10px;border:1px solid #dfe8e3;background:#f9fbf9;border-radius:6px;padding:0 12px;height:38px;flex:1 1;min-width:190px;max-width:420px;color:#8ba091}.city-search input{border:0!important;background:transparent!important;min-height:0!important;height:34px;padding:0!important;outline:none!important;min-width:0;width:100%;font:12px 'Segoe UI',sans-serif!important;color:#39594b!important}.city-search kbd{font:10px 'Segoe UI',sans-serif;white-space:nowrap;color:#9da99f}
.city-search-results{position:absolute;top:45px;left:0;width:max(100%,380px);max-width:calc(100vw - 30px);max-height:min(550px,75vh);overflow:auto;border:1px solid #ccdcd1;background:white;box-shadow:0 12px 40px #29433324;border-radius:9px;z-index:100;padding:6px}.city-search-results>button{width:100%;display:flex;align-items:center;gap:11px;border:0;border-radius:5px;background:#fff;padding:11px;text-align:left;color:#466956;font-size:12px;min-height:55px}.city-search-results>button[aria-selected=true]{background:#edf5ee}.city-search-results>button span{flex:1 1;min-width:0}.city-search-results strong{display:block;font-size:12px}.city-search-results small{display:block;font-size:10px;margin-top:4px;color:#8b9b8f;overflow-wrap:anywhere}.city-search-results p,.city-search-results footer{padding:11px;font-size:11px;color:#7e9285}.city-search-results footer{border-top:1px solid #e3eae4;display:flex;gap:10px;justify-content:space-between}.city-search-results footer a{color:#2f6f50}.city-search-results p button{border:0;background:#edf5ef;padding:4px 8px;color:#3c7658}
.city-nav{display:flex;align-items:center;gap:4px;margin-left:auto}.city-nav a{display:flex;align-items:center;gap:7px;white-space:nowrap;padding:10px 12px;border-radius:5px;font-size:12px;color:#6b8274}.city-nav a[aria-current=page]{background:#edf5ef;color:#285d46;font-weight:650}.city-dataset{position:relative;max-width:180px}.city-dataset>button{display:flex;align-items:center;gap:7px;max-width:100%;border:0;background:#fff;padding:8px;font-size:10px;color:#6d8675}.city-dataset>button span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.city-dataset-menu{position:absolute;top:44px;right:0;width:330px;max-width:calc(100vw - 24px);max-height:72vh;overflow:auto;border:1px solid #d5e1d8;border-radius:9px;background:white;box-shadow:0 10px 40px #29473425;padding:8px}.city-dataset-menu header{display:flex;align-items:center;justify-content:space-between;padding:6px 8px 10px}.city-dataset-menu header button{background:none;border:0;padding:5px}.city-dataset-menu a,.city-dataset-menu>button{display:flex;align-items:center;gap:10px;padding:12px 8px;border:0;border-bottom:1px solid #ecf0eb;background:#fff;width:100%;font-size:12px;line-height:1.45;color:#3c6752}.city-dataset-menu a span{flex:1 1}.city-dataset-menu small{display:block;color:#95a396;font-size:10px;margin-top:3px}.city-dataset-menu a[aria-current]{background:#edf5ee}.city-header-actions{display:flex;gap:6px;align-items:center}.city-header-actions button,.city-header-actions a{display:flex;align-items:center;gap:6px;border:1px solid #d7e3dc;border-radius:5px;background:#fff;padding:9px 11px;font-size:11px;color:#486c56;white-space:nowrap}.city-header-actions .check-button{background:#315d4d;color:#fff;border-color:#315d4d}.city-mobile-menu{display:none;border:1px solid #d8e3da;background:white;color:#385e49;border-radius:5px;width:40px;height:40px;align-items:center;justify-content:center}.city-header :focus-visible{outline:2px solid #438763!important;outline-offset:3px}
@media(max-width:1500px){.city-header{gap:12px;padding:0 16px}.city-brand{width:183px}.city-brand>span{font-size:23px}.city-brand small{font-size:7px}.city-nav a{font-size:11px;padding:9px}.city-dataset{max-width:130px}.city-header-actions button{padding:8px}.city-search{max-width:330px}}
@media(max-width:1220px){.city-dataset{max-width:42px}.city-dataset>button span,.city-dataset>button>svg:last-child{display:none}.city-header-actions button span{display:none}.city-nav a{padding:9px 7px}.city-nav a span{font-size:10px}.city-brand{width:168px}.city-brand small{display:none}.city-search{min-width:120px}}
@media(max-width:900px){.city-nav{display:none;position:absolute;right:12px;top:66px;width:240px;padding:9px;background:#fff;border:1px solid #d7e1d9;border-radius:8px;box-shadow:0 10px 30px #294f392a}.city-nav.is-open{display:flex;flex-direction:column;align-items:stretch}.city-nav a{min-height:44px;font-size:13px}.city-nav a span{font-size:13px}.city-mobile-menu{display:flex;flex-shrink:0}.city-search{max-width:none}.city-brand{width:160px}.city-header-actions{margin-left:auto}}
@media(max-width:620px){.city-header{height:60px;min-height:60px;padding:0 10px;gap:8px}.city-brand{width:102px}.city-brand>span{font-size:20px}.city-brand em{font-size:8px;white-space:nowrap;max-width:102px;overflow:hidden}.city-search{min-width:35px;padding:0 8px;height:38px}.city-search input{font-size:16px!important}.city-search input::placeholder{color:transparent}.city-search kbd{display:none}.city-header-actions{gap:4px}.city-header-actions button{min-height:38px;padding:8px}.city-header-actions button:not(:first-child){display:none}.city-dataset{max-width:30px}.city-dataset>button{padding:4px}.city-mobile-menu{width:36px;height:38px}.city-search-results{position:fixed;left:10px;right:10px;top:62px;width:auto}.city-nav{top:58px}.city-dataset-menu{position:fixed;right:10px;top:62px}}
/* Keep the status indicator visible when compact headers hide action text. */
.city-header-actions button .ui-dot{display:inline-block;flex-shrink:0}
.city-header-actions button[aria-label="Local workspace status"]{min-width:38px;justify-content:center}

/* Shared officer navigation: stable destinations before contextual tools. */
.city-header{gap:24px;padding:0 28px;height:68px;min-height:68px;box-shadow:none}.city-brand{width:auto}.city-brand>span{font-size:23px;gap:9px;letter-spacing:-.7px}.city-brand small{font-size:8px;letter-spacing:1px;display:inline}.city-nav{margin-left:10px;gap:3px;flex-shrink:0}.city-nav a{font-size:12px;padding:10px 12px}.city-nav a span{font-size:12px}.city-nav a>svg{display:none}.city-search{margin-left:auto;max-width:320px;min-width:180px;flex:1 1}.city-dataset{max-width:125px}.city-header-actions button[aria-label="Local workspace status"]{border:0;min-width:32px;padding:8px}.city-header-actions button[aria-label="Local workspace status"]>span:not(.ui-dot){display:none}
@media(max-width:1200px){.city-header{gap:14px;padding:0 20px}.city-brand small{display:none}.city-nav{margin-left:4px}.city-nav a{padding:10px 9px}.city-dataset{max-width:36px}.city-dataset>button span,.city-dataset>button>svg:last-child{display:none}.city-search{min-width:160px}.city-search kbd{display:none}}
@media(min-width:761px) and (max-width:900px){.city-header{gap:10px;padding:0 16px}.city-brand{width:auto}.city-brand>span{font-size:21px}.city-nav,.city-nav.is-open{display:flex;position:static;flex-direction:row;align-items:center;width:auto;padding:0;background:none;border:0;border-radius:0;box-shadow:none}.city-nav a{min-height:40px;padding:9px 7px}.city-nav a span{font-size:11px}.city-search{min-width:100px}.city-mobile-menu{display:none}.city-header-actions{margin-left:0}}
@media(max-width:760px){.city-header{height:60px;min-height:60px;gap:9px;padding:0 12px}.city-brand{width:auto}.city-brand>span{font-size:20px}.city-nav{display:none;position:absolute;right:12px;top:58px;width:230px;padding:8px;background:white;border:1px solid #d7e1d9;border-radius:7px;box-shadow:0 8px 24px #294f3920}.city-nav.is-open{display:flex;flex-direction:column;align-items:stretch}.city-nav a>svg{display:block}.city-nav a span{font-size:13px}.city-search{min-width:40px}.city-search input::placeholder{color:transparent}.city-dataset{max-width:28px}.city-mobile-menu{display:flex;flex-shrink:0}.city-header-actions{margin-left:0}.city-search-results{position:fixed;top:62px;left:10px;right:10px;width:auto}.city-dataset-menu{position:fixed;top:62px;right:10px}}

/* The operational components keep their tested domain behavior under the same
   City Studio design. These rules intentionally target its product scope. */
.ulpin-app.studio-operations{--ui-header-height:70px;--ui-primary:#315f4d;--ui-primary-hover:#254e3d;--ui-divider:#dce6df;--ui-ink:#29473c;--ui-ink-soft:#506a5c;--ui-muted:#788e80;--ui-surface-subtle:#f5f8f4;--ui-surface-tint:#f0f6ef;font-family:Inter,'Segoe UI',Arial,sans-serif;background:#f5f8f5;color:#2f4f40;font-size:13px}
.studio-operations .ui-content{height:calc(100dvh - 70px);overflow:auto;min-height:0}.studio-operations .ui-button{border-radius:6px;min-height:38px;font-size:12px;padding:8px 12px}.studio-operations :where(input,select,textarea){border-radius:5px;min-height:38px;font-size:12px}.studio-operations .ui-panel{border-radius:8px;box-shadow:0 2px 8px #36533a03}.studio-operations :where(h1){font-size:26px;letter-spacing:-.55px}.studio-operations .ui-badge{font-size:10px;border-radius:5px}.studio-operations .ui-dialog{border-radius:10px;max-height:calc(100dvh - 30px)}.studio-operations :focus-visible{outline:2px solid #438763;outline-offset:3px}
.studio-operations .block-directory,.studio-operations .register-directory{padding:30px 4%;max-width:1800px;margin:auto}.studio-operations .directory-heading{margin-bottom:24px}.studio-operations .directory-kicker{letter-spacing:1.5px;font-size:10px}.studio-operations .block-directory-grid{grid-template-columns:repeat(auto-fit,minmax(275px,1fr));gap:18px}.studio-operations .block-card{border-radius:9px;border-color:#dbe5dc;box-shadow:0 3px 12px #2a49370a}.studio-operations .block-card-map{height:185px;background:#eff4e9}.studio-operations .block-card-body{padding:18px}.studio-operations .block-card-body h2{font-size:16px;line-height:1.45}.studio-operations .property-card{border-radius:9px;box-shadow:0 2px 8px #2a493707}.studio-operations .property-card-grid{gap:15px}.studio-operations .property-card h3{font-size:15px}.studio-operations .directory-location-preview{background:white;border:1px solid #e1e9df;border-radius:7px;padding:14px;margin-bottom:22px}.studio-operations .directory-location-preview fieldset{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:12px;margin-top:12px;border:0;padding:0}.studio-operations .directory-location-preview label{display:flex;flex-direction:column;gap:7px}
.studio-operations .ui-block-page{height:100%;min-height:0}.studio-operations .ui-contextbar{min-height:60px;background:#fbfdfb;border-bottom:1px solid #dfe8df;padding:9px 17px}.studio-operations .ui-block-title h1{font-size:19px}.studio-operations .ui-block-grid{height:calc(100% - 61px);grid-template-columns:286px minmax(0,1fr) 336px;gap:0}.studio-operations .ui-block-left,.studio-operations .ui-block-inspector{border-radius:0;border-top:0;border-bottom:0;box-shadow:none;background:white}.studio-operations .ui-block-left{border-right:1px solid #dce5db}.studio-operations .ui-block-inspector{border-left:1px solid #dce5db}.studio-operations .ui-map-column{min-height:0;border:0;border-radius:0;overflow:hidden}.studio-operations .ui-map-stage{background:#dce8d3}.studio-operations .ui-map-toolbar{border-radius:6px;gap:5px;background:#fffffff2;box-shadow:0 2px 12px #28462b14}.studio-operations .ui-property-list>button{min-height:59px;border-bottom:1px solid #ecf0e9;padding:10px 14px}.studio-operations .ui-property-list>button[aria-current]{background:#eef5eb;border-left:3px solid #638e63}.studio-operations .ui-inspector-metrics>div{border-radius:6px;background:#f4f8f1}.studio-operations .ui-map-status{font-size:10px;padding:8px 14px;background:#ffffffd9}
.studio-operations .ui-photos{display:grid;grid-template-columns:1fr 1fr;gap:9px}.studio-operations .ui-photos img{object-fit:cover;aspect-ratio:4/3;border-radius:5px}.studio-operations [data-register-building]{height:100%;overflow:auto;background:#f5f8f5}.studio-operations [data-register-building]>header{background:white}.studio-operations [data-register-building] :where(th){font-size:11px;color:#788d7e;text-transform:none}.studio-operations [data-register-building] :where(td){font-size:12px}.studio-operations .property-scene{background:#ecf3e8;border-radius:7px}.studio-operations .ui-block-inspector .ui-property-summary h2{font-size:19px}
.studio-operations .normalized-map-notice{position:absolute;bottom:32px;left:12px;right:12px;display:flex;gap:9px;align-items:center;background:#fffdf0ed;border:1px solid #e0dbb4;border-radius:6px;padding:9px 12px;color:#85784d;font-size:11px;z-index:9}.studio-operations .normalized-map-notice button{margin-left:auto}.studio-operations .ui-map-world{position:absolute;top:61px;left:12px;z-index:11;background:#fff;border:1px solid #d8e2d6;border-radius:6px;padding:6px;font-size:11px;display:flex;gap:7px;align-items:center}.studio-operations .ui-map-world select{min-height:28px;padding:3px 5px;font-size:11px}
.studio-operations .saved-scene-proof{position:absolute;left:12px;bottom:54px;max-width:calc(100% - 24px);display:flex;flex-wrap:wrap;line-height:1.4;align-items:center;gap:7px;background:#ffffffed;border:1px solid #dde8da;border-radius:5px;padding:7px 10px;color:#537450;font-size:10px;pointer-events:none}.studio-operations .saved-scene-proof i{width:6px;height:6px;background:#689a5f;border-radius:50%}.studio-operations .saved-scene-proof span{color:#87967f;margin-left:0}.studio-operations .saved-layer-opacity{padding:10px 0;font-size:11px;color:#688260}.studio-operations .saved-layer-opacity summary{cursor:pointer}.studio-operations .saved-layer-opacity label{display:grid;grid-template-columns:1fr auto;gap:5px;padding:8px 4px;font-size:11px}.studio-operations .saved-layer-opacity input{grid-column:1/-1;height:15px;min-height:15px}
.studio-operations .quick-records>header,.studio-operations .quick-unit-card>header{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-bottom:12px}.studio-operations .quick-records>header strong{display:flex;align-items:center;gap:7px;font-size:13px}.studio-operations .quick-records>header span,.studio-operations .quick-unit-card>header span{font-size:10px;color:#8a9986}.studio-operations .quick-search{display:flex;flex-direction:column;gap:7px;font-size:11px;margin-bottom:10px}.studio-operations .quick-search input{font-size:12px;padding:9px}.studio-operations .quick-floor{border:1px solid #dce6d8;border-radius:7px;overflow:hidden;margin:10px 0;background:#fff}.studio-operations .quick-floor.active{border-color:#719867}.studio-operations .quick-floor>button{display:flex;align-items:center;gap:8px;width:100%;border:0;background:#f1f6ed;padding:12px 10px;color:#436344}.studio-operations .quick-floor>button strong{flex:1 1;text-align:left;font-size:12px}.studio-operations .quick-floor>button span{font-size:10px}.studio-operations .quick-floor>div>button{display:flex;gap:8px;align-items:center;border:0;border-top:1px solid #ebf0e7;background:white;width:100%;text-align:left;padding:10px;color:#586e50}.studio-operations .quick-floor>div>button span{flex:1 1;min-width:0}.studio-operations .quick-floor>div>button strong,.studio-operations .quick-floor small{display:block;font-size:11px}.studio-operations .quick-floor small{font-size:10px;color:#8d9d80;margin-top:4px}.studio-operations .quick-floor>div>button b{font-size:10px;font-weight:500}.studio-operations .quick-floor button[aria-pressed=true]{background:#e9f3e2}.studio-operations .quick-unit-card{padding:14px 12px;border:1px solid #cfdfc5;border-radius:7px;background:#f6faf2;margin-top:15px}.studio-operations .quick-unit-card code{display:block;font-size:9px;color:#8c9b7d;overflow-wrap:anywhere}.studio-operations .quick-unit-card dl>div{display:flex;justify-content:space-between;gap:6px;border-bottom:1px solid #e3ecdb;padding:8px 0;font-size:11px}.studio-operations .quick-unit-card dd{margin:0}.studio-operations .quick-unit-card p{font-size:11px;line-height:1.6;color:#7d9072;margin:9px 0}.studio-operations .quick-warning{background:#fff4e3;color:#9b713e;padding:10px!important;border-radius:5px;font-size:11px!important;line-height:1.6}.studio-operations .quick-subtitle{font-size:11px;margin:13px 0 6px;display:block}.studio-operations .quick-source{display:flex;align-items:center;gap:8px;border:1px solid #dde7d7;background:#fff;padding:11px 9px;margin:8px 0;border-radius:5px;color:#526f48;width:100%;text-align:left;min-height:45px}.studio-operations .quick-source span{flex:1 1;min-width:0;overflow-wrap:anywhere}.studio-operations .quick-source small{display:block;font-size:9px;color:#8c9b7e;margin-top:4px}.studio-operations .quick-source strong{font-size:11px}.studio-operations .quick-evidence h3{font-size:14px;margin-bottom:8px}.studio-operations .quick-evidence p{font-size:11px;color:#8a9a7f;line-height:1.6;margin-bottom:12px}.studio-operations .quick-shortcuts{display:grid;grid-template-columns:1fr;gap:7px;margin:12px 0}.studio-operations .ui-plan-svg{touch-action:none}
@media(max-width:1280px){.studio-operations .ui-block-grid{grid-template-columns:245px minmax(0,1fr) 304px}.studio-operations .city-header .city-nav a{font-size:11px}.studio-operations .directory-location-preview fieldset{grid-template-columns:1fr 1fr}.studio-operations .ui-context-actions .ui-button{font-size:11px}}
@media(max-width:1050px){.studio-operations .ui-block-grid{grid-template-columns:minmax(0,1fr) 306px;position:relative}.studio-operations .ui-block-left{display:none}.studio-operations .ui-left-open .ui-block-left{display:flex;position:absolute;left:0;top:0;bottom:0;width:280px;z-index:45;box-shadow:8px 0 30px #203b2926}.studio-operations .ui-mobile-layers{display:inline-flex}.studio-operations .ui-inspector-closed{grid-template-columns:1fr}.studio-operations .ui-context-actions .ui-button{min-width:34px;padding:7px}.studio-operations .block-directory,.studio-operations .register-directory{padding:22px}}
@media(max-width:700px){.ulpin-app.studio-operations{--ui-header-height:60px!important}.studio-operations .ui-content{height:calc(100dvh - 60px)}.studio-operations .ui-block-grid{grid-template-columns:1fr;height:calc(100% - 65px)}.studio-operations .ui-block-inspector{position:absolute;top:0;right:0;bottom:0;width:min(350px,94vw);z-index:40;box-shadow:-8px 0 30px #23443220}.studio-operations .ui-block-title h1{font-size:14px;max-width:180px;line-height:1.3}.studio-operations .ui-contextbar{padding:8px 10px}.studio-operations .ui-context-actions .ui-button{font-size:0;min-height:38px;width:38px}.studio-operations .ui-context-actions .ui-button svg{width:17px;height:17px}.studio-operations .ui-button{min-height:44px}.studio-operations :where(input,select,textarea){font-size:16px;min-height:44px}.studio-operations .ui-map-toolbar .ui-button{min-height:36px}.studio-operations .ui-map-world{top:64px}.studio-operations .directory-location-preview fieldset{grid-template-columns:1fr}.studio-operations .block-directory,.studio-operations .register-directory{padding:20px 12px}.studio-operations .block-directory-grid{grid-template-columns:1fr}.studio-operations .city-header :where(input){min-height:0}.studio-operations .ui-dialog-body{padding:17px}.studio-operations .ui-dialog-heading{padding:13px 16px}}

