/*
 * TrueGIS Maps permanent component styles.
 *
 * Static presentation belongs here rather than being injected by JavaScript.
 * JavaScript may still set calculated values (for example map positions,
 * generated grid tracks and progress values), but it must not create the
 * permanent visual design after first paint.
 */

/* ======================
   Attribute table grid and column manager
   Source: js/ui/attributeTableGrid.js
====================== */
.attrtable-grid{overflow:visible}
    .attrrow-header>.attrcell{position:relative}
    .tg-column-resize-handle{position:absolute;top:0;right:-9px;z-index:7;width:19px;height:100%;cursor:col-resize;touch-action:none;user-select:none}
    .tg-column-resize-handle::after{content:"";position:absolute;top:14%;bottom:14%;left:9px;width:2px;border-radius:2px;background:rgba(255,255,255,.3)}
    .tg-column-resize-handle::before{content:attr(data-width);position:absolute;right:50%;top:-36px;display:none;transform:translateX(50%);padding:5px 8px;border-radius:7px;background:rgba(15,23,42,.96);color:#fff;font-size:12px;line-height:1;white-space:nowrap;pointer-events:none}
    .tg-column-resize-handle:hover::after,.tg-column-resize-handle.is-dragging::after{background:var(--accent);width:4px;left:8px}
    .tg-column-resize-handle.is-dragging::before{display:block}
    body.tg-resizing-attribute-column{cursor:col-resize!important;user-select:none!important}
    .tg-column-manager{position:relative;display:flex;justify-content:flex-end;gap:8px;margin:0 0 8px}
    .tg-column-manager-toggle,.tg-column-manager>button,.tg-column-manager button{min-height:38px;border:1px solid rgba(148,163,184,.32);border-radius:8px;background:rgba(15,23,42,.72);color:inherit;padding:7px 11px;font:inherit;cursor:pointer}
    .tg-column-manager-panel{position:absolute;right:0;top:46px;z-index:40;width:min(520px,calc(100vw - 28px));max-height:min(72vh,650px);overflow:auto;padding:12px;border:1px solid rgba(148,163,184,.35);border-radius:12px;background:rgba(15,23,42,.98);box-shadow:0 12px 30px rgba(0,0,0,.35)}
    .tg-column-manager-panel[hidden]{display:none}
    .tg-column-manager-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
    .tg-column-manager-heading strong{font-size:14px}
    .tg-column-manager-list{display:grid;gap:7px}
    .tg-column-manager-row{display:grid;grid-template-columns:minmax(120px,1fr) auto auto auto auto auto;align-items:center;gap:6px;min-height:46px;padding:5px 6px;border-radius:9px;background:rgba(148,163,184,.08)}
    .tg-column-manager-check{display:flex;align-items:center;gap:8px;min-width:0;font-size:13px}
    .tg-column-manager-check span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .tg-column-width-value{min-width:58px;text-align:center;font-variant-numeric:tabular-nums;font-size:12px;opacity:.85}
    .tg-column-manager-row button{min-width:40px;min-height:38px;padding:4px 7px;font-size:16px;line-height:1}
    .tg-column-manager-row button[data-auto]{font-size:12px;min-width:52px}
    .tg-column-manager-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(148,163,184,.24)}
    @media (pointer:coarse),(max-width:700px){
      .tg-column-resize-handle{right:-18px;width:36px;min-width:36px}
      .tg-column-resize-handle::after{top:10%;bottom:10%;left:17px;width:3px;background:rgba(255,255,255,.5)}
      .tg-column-resize-handle.is-dragging::after{width:5px;left:16px;background:var(--accent)}
      .tg-column-resize-handle::before{top:-40px;padding:7px 10px;font-size:13px}
      .tg-column-manager-toggle,.tg-column-manager>button{min-height:46px;padding:10px 14px}
      .tg-column-manager-panel{position:fixed;left:10px;right:10px;top:auto;bottom:max(10px,env(safe-area-inset-bottom));width:auto;max-height:78vh}
      .tg-column-manager-row{grid-template-columns:minmax(130px,1fr) 48px 48px 58px;grid-template-areas:"label minus plus auto" "label value up down";min-height:92px;gap:7px}
      .tg-column-manager-check{grid-area:label;align-self:stretch}
      .tg-column-manager-row [data-minus]{grid-area:minus}.tg-column-manager-row [data-plus]{grid-area:plus}.tg-column-manager-row [data-auto]{grid-area:auto}
      .tg-column-width-value{grid-area:value;min-width:48px}
      .tg-column-manager-row [data-up]{grid-area:up}.tg-column-manager-row [data-down]{grid-area:down}
      .tg-column-manager-row button{min-width:48px;min-height:44px;font-size:18px}
      .tg-column-manager-row button[data-auto]{min-width:58px;font-size:12px}
    }

/* ======================
   Custom fields
   Source: js/ui/customFields.js
====================== */
.tg-custom-fields-toggle.is-active{border-color:var(--accent);box-shadow:0 0 0 1px rgba(133,255,76,.3)}
    .tg-custom-fields{margin:10px 0 12px;padding:12px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(0,0,0,.22)}
    .tg-custom-fields[hidden]{display:none!important}
    .tg-custom-fields__top{display:flex;align-items:end;gap:8px;flex-wrap:wrap}
    .tg-custom-fields__field{display:grid;gap:4px;min-width:150px;flex:1 1 170px}
    .tg-custom-fields__field label{font-size:12px;color:var(--muted)}
    .tg-custom-fields input,.tg-custom-fields select{min-height:36px;width:100%;padding:7px 9px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#111;color:#fff}
    .tg-custom-fields__status{min-height:20px;margin:8px 0 0;font-size:12px;color:var(--muted)}
    .tg-custom-fields__status.is-error{color:#ff8d8d}.tg-custom-fields__status.is-ok{color:var(--accent)}
    .tg-custom-fields__section{margin-top:12px}
    .tg-custom-fields__section-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px;font-size:13px;font-weight:700}
    .tg-custom-fields__list{display:grid;gap:6px}
    .tg-custom-field-row{display:grid;grid-template-columns:minmax(130px,1fr) 130px auto auto;gap:7px;align-items:center;padding:7px;border:1px solid rgba(255,255,255,.1);border-radius:9px;background:rgba(255,255,255,.035)}
    .tg-custom-field-row__name{font-weight:600;overflow-wrap:anywhere}
    .tg-custom-fields__table-wrap{overflow:auto;max-height:360px;border:1px solid rgba(255,255,255,.1);border-radius:9px}
    .tg-custom-fields__table{border-collapse:separate;border-spacing:0;min-width:100%;width:max-content;background:rgba(0,0,0,.16)}
    .tg-custom-fields__table th,.tg-custom-fields__table td{padding:6px;border-right:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);vertical-align:middle;min-width:150px}
    .tg-custom-fields__table th{position:sticky;top:0;z-index:1;background:#181a18;text-align:left;font-size:12px}
    .tg-custom-fields__table th:first-child,.tg-custom-fields__table td:first-child{position:sticky;left:0;z-index:2;min-width:160px;background:#181a18}
    .tg-custom-fields__table th:first-child{z-index:3}
    .tg-custom-fields__table input[type=checkbox]{width:20px;min-height:20px}
    .tg-custom-fields__empty{padding:10px;color:var(--muted);font-size:13px;border:1px dashed rgba(255,255,255,.15);border-radius:9px}
    @media(max-width:700px){.tg-custom-field-row{grid-template-columns:1fr 1fr}.tg-custom-field-row .btn{width:100%}.tg-custom-fields__top>*{flex:1 1 100%}}

/* ======================
   Dynamic attribute fields
   Source: js/ui/dynamicAttributes.js
====================== */
.attr-commandbar__group--fields{min-width:150px}
    .attr-commandbar__group--fields .tg-custom-fields-toggle{width:100%}
    .attrcell-custom{overflow:visible}
    .attr-custom-input{width:100%;min-width:130px;height:34px;padding:6px 8px;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:rgba(0,0,0,.24);color:#fff}
    .attr-custom-input[type=checkbox]{width:20px;min-width:20px;height:20px;accent-color:var(--accent)}
    .attrcell-header.attrcell-custom{color:rgba(174,255,133,.95)}

/* ======================
   Location API tools
   Source: js/ui/locationApis.js
====================== */
.tg-location-api-panel{width:min(1050px,calc(100vw - 28px));background:linear-gradient(180deg,#10151d,#0b1017)}
    .tg-location-api-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
    .tg-location-api-card{padding:14px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.035)}
    .tg-location-api-card h3{margin:0 0 6px;font-size:15px}.tg-location-api-card p{margin:0 0 10px;color:rgba(255,255,255,.65);font-size:12px;line-height:1.45}
    .tg-location-api-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tg-location-api-fields .tg-field--wide{grid-column:1/-1}
    .tg-location-api-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
    .tg-location-api-status{min-height:20px;margin-top:8px;font-size:12px;color:rgba(255,255,255,.68)}
    .tg-location-api-status.is-error{color:#ffb4b4}.tg-location-api-status.is-ok{color:var(--accent)}.tg-location-api-status.is-busy{color:#ffd479}
    .tg-location-api-note{padding:9px 10px;border-radius:10px;background:rgba(255,196,0,.08);border:1px solid rgba(255,196,0,.22);font-size:12px;line-height:1.4;color:rgba(255,255,255,.8)}
    .tg-app-launcher__action{display:block;width:100%;border:0;background:transparent;text-align:left;cursor:pointer;font:inherit}
    @media(max-width:760px){.tg-location-api-grid,.tg-location-api-fields{grid-template-columns:1fr}.tg-location-api-panel{margin:8px auto;max-height:calc(100dvh - 16px)}}

/* ======================
   Quote preferences
   Source: js/ui/quotePreferences.js
====================== */
.tg-zen-quote__never-show {
      all: unset !important;
      box-sizing: border-box !important;
      color: rgba(255,255,255,0.66) !important;
      font-size: 11px !important;
      line-height: 1.1 !important;
      cursor: pointer !important;
      white-space: nowrap !important;
      text-decoration: none !important;
    }

    .tg-zen-quote__never-show:hover {
      color: var(--accent, #85ff4c) !important;
      text-decoration: underline !important;
      text-underline-offset: 2px !important;
    }

    .tg-zen-quote__never-show:focus-visible {
      outline: 2px solid var(--accent, #85ff4c) !important;
      outline-offset: 2px !important;
    }

    @media (max-width: 700px) {
      .tg-zen-quote__never-show {
        font-size: 10px !important;
      }
    }

/* ======================
   what3words search suggestions
   Source: js/ui/w3wSearch.js
====================== */
.search-input-wrap { position: relative; }
    .tg-w3w-suggestions {
      position: absolute;
      z-index: 6000;
      top: calc(100% + 6px);
      left: 0;
      right: 0;
      overflow: hidden;
      border: 1px solid rgba(255,255,255,.18);
      border-radius: 10px;
      background: #171a17;
      box-shadow: 0 14px 34px rgba(0,0,0,.4);
    }
    .tg-w3w-suggestion {
      display: block;
      width: 100%;
      padding: 10px 12px;
      border: 0;
      border-bottom: 1px solid rgba(255,255,255,.08);
      border-radius: 0;
      background: transparent;
      color: #fff;
      text-align: left;
      cursor: pointer;
    }
    .tg-w3w-suggestion:last-child { border-bottom: 0; }
    .tg-w3w-suggestion:hover,
    .tg-w3w-suggestion:focus-visible,
    .tg-w3w-suggestion.is-active {
      background: rgba(133,255,76,.12);
      outline: none;
    }
    .tg-w3w-suggestion strong { display: block; font-size: 14px; }
    .tg-w3w-suggestion span { display: block; margin-top: 2px; color: #bbb; font-size: 12px; }
    .tg-w3w-empty { padding: 10px 12px; color: #bbb; font-size: 13px; }

/* ======================
   what3words map tools
   Source: js/ui/what3wordsMapTools.js
====================== */
.tg-w3w-layer-row .tg-map-layer-list__name{display:flex;align-items:center;gap:6px}
    .tg-w3w-layer-row .tg-w3w-mark{font-weight:800;letter-spacing:-.08em;color:#ff4b6e}
    .tg-w3w-layer-actions{display:grid;gap:7px;padding:8px 0 2px;border-top:1px solid rgba(255,255,255,.08);margin-top:6px}
    .tg-w3w-layer-actions .btn{width:100%;justify-content:center}
    .tg-w3w-layer-status{min-height:18px;font-size:11px;line-height:1.35;color:rgba(255,255,255,.66)}
    .tg-w3w-layer-status.is-error{color:#ffb4b4}.tg-w3w-layer-status.is-busy{color:#ffd479}
    .tg-w3w-result{position:absolute;right:14px;bottom:14px;z-index:10020;width:min(340px,calc(100% - 28px));box-sizing:border-box;padding:13px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(10,15,22,.95);box-shadow:0 14px 40px rgba(0,0,0,.38);color:#fff}
    .tg-w3w-result[hidden]{display:none!important}.tg-w3w-result__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
    .tg-w3w-result__title{font-size:12px;font-weight:700;color:rgba(255,255,255,.72)}
    .tg-w3w-result__close{border:0;background:transparent;color:#fff;font-size:20px;line-height:1;cursor:pointer;padding:0 2px}
    .tg-w3w-result__words{display:block;font-size:20px;font-weight:800;line-height:1.25;color:#fff;text-decoration:none;overflow-wrap:anywhere}
    .tg-w3w-result__words:hover{text-decoration:underline}.tg-w3w-result__place{margin-top:6px;font-size:12px;color:rgba(255,255,255,.7)}
    .tg-w3w-result__actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}.tg-w3w-result__actions .btn{flex:1 1 110px}
    .tg-w3w-result__credit{display:block;margin-top:9px;font-size:10px;color:rgba(255,255,255,.52);text-decoration:none}
    .tg-w3w-result__credit:hover{text-decoration:underline}
    @media(max-width:700px){.tg-w3w-result{right:8px;bottom:8px;width:calc(100% - 16px)}}

/* ======================
   what3words table tools
   Source: js/ui/what3wordsTableTools.js
====================== */
.attr-commandbar__group--w3w .attr-commandbar__label{color:#ff6b83}
    .tg-w3w-table-status{flex:1 1 220px;min-width:180px;font-size:12px;color:rgba(255,255,255,.68)}
    .tg-w3w-table-status.is-error{color:#ffb4b4}.tg-w3w-table-status.is-ok{color:var(--accent)}
    .tg-w3w-cell{overflow-wrap:anywhere}.tg-w3w-cell a{color:#fff;text-decoration:none}.tg-w3w-cell a:hover{text-decoration:underline}
    .attrrow--points.tg-has-w3w-column{grid-template-columns:28px 160px 200px 96px 96px 110px 110px 130px 170px 420px 300px 230px 440px}
    .attrrow--lines.tg-has-w3w-column{grid-template-columns:28px 160px 260px 150px 96px 96px 110px 110px 140px 420px 300px 230px 440px}
    .attrrow--polygons.tg-has-w3w-column{grid-template-columns:28px 160px 260px 140px 140px 96px 96px 110px 110px 140px 420px 300px 230px 440px}

/* ======================
   Zen quotes
   Source: js/ui/zenQuotes.js
====================== */
.tg-zen-quote {
      width: 100% !important;
      min-height: 0 !important;
      margin: 0 !important;
      padding: 8px 12px !important;
      border: 0 !important;
      border-bottom: 1px solid rgba(255,255,255,0.10) !important;
      background: rgba(0,0,0,0.38) !important;
      color: rgba(255,255,255,0.88) !important;
      display: flex !important;
      flex-wrap: wrap !important;
      align-items: center !important;
      justify-content: center !important;
      gap: 7px 10px !important;
      text-align: center !important;
      box-sizing: border-box !important;
    }

    .tg-zen-quote[hidden] {
      display: none !important;
    }

    .tg-zen-quote__text {
      flex: 1 1 620px !important;
      min-width: 0 !important;
      max-width: 1120px !important;
      font-size: 13px !important;
      line-height: 1.35 !important;
      overflow: visible !important;
      text-overflow: clip !important;
      white-space: normal !important;
      overflow-wrap: break-word !important;
      word-break: normal !important;
    }

    .tg-zen-quote__quote {
      font-weight: 650 !important;
      color: #fff !important;
    }

    .tg-zen-quote__author {
      color: var(--muted, #ccc) !important;
    }

    .tg-zen-quote__controls {
      flex: 0 0 auto !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      gap: 5px !important;
      white-space: nowrap !important;
      min-width: 0 !important;
    }

    .tg-zen-quote__source {
      all: unset !important;
      box-sizing: border-box !important;
      color: rgba(255,255,255,0.62) !important;
      font-size: 11px !important;
      line-height: 1.1 !important;
      cursor: pointer !important;
      text-decoration: none !important;
    }

    .tg-zen-quote__source:hover {
      color: var(--accent, #85ff4c) !important;
      text-decoration: underline !important;
      text-underline-offset: 2px !important;
    }

    .tg-zen-quote__button {
      all: unset !important;
      box-sizing: border-box !important;
      flex: 0 0 24px !important;
      width: 24px !important;
      height: 24px !important;
      min-width: 24px !important;
      min-height: 24px !important;
      max-width: 24px !important;
      max-height: 24px !important;
      padding: 0 !important;
      margin: 0 !important;
      border-radius: 999px !important;
      border: 1px solid rgba(255,255,255,0.16) !important;
      background: rgba(255,255,255,0.05) !important;
      color: rgba(255,255,255,0.82) !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      cursor: pointer !important;
      line-height: 1 !important;
      font-size: 14px !important;
      font-weight: 700 !important;
      box-shadow: none !important;
    }

    .tg-zen-quote__button:hover {
      background: rgba(133,255,76,0.16) !important;
      color: #fff !important;
      border-color: rgba(133,255,76,0.45) !important;
    }

    .tg-zen-quote__button:focus-visible,
    .tg-zen-quote__source:focus-visible {
      outline: 2px solid var(--accent, #85ff4c) !important;
      outline-offset: 2px !important;
    }

    @media (max-width: 700px) {
      .tg-zen-quote {
        padding: 8px 10px !important;
        align-items: flex-start !important;
        gap: 7px !important;
        text-align: left !important;
      }

      .tg-zen-quote__text {
        flex: 1 1 100% !important;
        max-width: none !important;
        width: 100% !important;
        font-size: 12px !important;
        line-height: 1.35 !important;
        text-align: left !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
      }

      .tg-zen-quote__controls {
        width: 100% !important;
        justify-content: flex-end !important;
      }

      .tg-zen-quote__source {
        display: inline-flex !important;
        align-items: center !important;
        font-size: 10px !important;
        max-width: none !important;
        overflow: visible !important;
        text-overflow: clip !important;
        white-space: nowrap !important;
      }

      .tg-zen-quote__button {
        flex-basis: 24px !important;
        width: 24px !important;
        height: 24px !important;
        min-width: 24px !important;
        min-height: 24px !important;
        max-width: 24px !important;
        max-height: 24px !important;
        font-size: 13px !important;
      }
    }

/* ======================
   Scaled print reference output
   Source: js/config.js
====================== */
#scaledPrintOutput,
    .scaled-print-output {
      margin: 18px auto 0 !important;
      width: min(980px, calc(100vw - 32px)) !important;
      max-width: 100% !important;
      min-width: 0 !important;
      overflow: hidden !important;
      box-sizing: border-box !important;
    }

    .scaled-print-status,
    .scaled-print-error {
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      gap: 10px !important;
      flex-wrap: wrap !important;
      padding: 12px 14px !important;
      border-radius: 14px !important;
      background: rgba(255,255,255,0.04) !important;
      border: 1px solid rgba(255,255,255,0.10) !important;
      color: var(--text) !important;
      box-sizing: border-box !important;
    }

    .scaled-print-error {
      color: #ffb4b4 !important;
      border-color: rgba(255, 120, 120, 0.25) !important;
    }

    .scaled-print-result,
    .scaled-print-result--pdf {
      padding: 12px !important;
      border-radius: 18px !important;
      background: rgba(0,0,0,0.22) !important;
      border: 1px solid rgba(255,255,255,0.10) !important;
      max-width: 100% !important;
      overflow: hidden !important;
      box-sizing: border-box !important;
      margin: 0 auto 24px !important;
    }

    .scaled-print-actions,
    .scaled-print-result--pdf .scaled-print-actions {
      display: flex !important;
      justify-content: center !important;
      align-items: center !important;
      gap: 10px !important;
      margin: 0 0 10px !important;
      flex-wrap: wrap !important;
      width: 100% !important;
    }

    .scaled-print-actions .btn,
    .scaled-print-result--pdf .scaled-print-actions .btn {
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      width: auto !important;
      min-width: 0 !important;
      padding: 10px 14px !important;
      border-radius: 12px !important;
      border: 1px solid rgba(255,255,255,0.18) !important;
      background: rgba(255,255,255,0.05) !important;
      color: var(--text) !important;
      text-decoration: none !important;
      line-height: 1.15 !important;
      box-shadow: none !important;
    }

    .scaled-print-actions .btn:hover,
    .scaled-print-result--pdf .scaled-print-actions .btn:hover {
      background: var(--accent) !important;
      color: #000 !important;
      border-color: var(--accent) !important;
    }

    .scaled-print-preview,
    .scaled-print-preview--pdf {
      display: flex !important;
      justify-content: center !important;
      align-items: center !important;
      max-height: 360px !important;
      overflow: auto !important;
      max-width: 100% !important;
      min-width: 0 !important;
      margin: 0 auto !important;
      padding: 0 !important;
      box-sizing: border-box !important;
    }

    .scaled-print-preview img,
    .scaled-print-preview embed,
    .scaled-print-preview iframe,
    .scaled-print-preview object,
    .scaled-print-preview--pdf img,
    .scaled-print-preview--pdf embed,
    .scaled-print-preview--pdf iframe,
    .scaled-print-preview--pdf object {
      display: block !important;
      width: 100% !important;
      max-width: 920px !important;
      min-width: 0 !important;
      height: auto !important;
      max-height: 340px !important;
      object-fit: contain !important;
      border-radius: 14px !important;
      border: 1px solid rgba(255,255,255,0.10) !important;
      box-sizing: border-box !important;
      background: rgba(0,0,0,0.35) !important;
    }

    .scaled-print-preview embed,
    .scaled-print-preview iframe,
    .scaled-print-preview object,
    .scaled-print-preview--pdf embed,
    .scaled-print-preview--pdf iframe,
    .scaled-print-preview--pdf object {
      height: 340px !important;
      min-height: 0 !important;
    }

    .scaled-print-attrib {
      display: none !important;
    }

    @media (max-width: 700px) {
      #scaledPrintOutput,
      .scaled-print-output {
        width: min(980px, calc(100vw - 32px)) !important;
        max-width: calc(100vw - 32px) !important;
        margin: 18px auto 0 !important;
      }

      .scaled-print-result,
      .scaled-print-result--pdf {
        padding: 12px !important;
        border-radius: 18px !important;
      }

      .scaled-print-actions,
      .scaled-print-result--pdf .scaled-print-actions {
        display: flex !important;
        gap: 10px !important;
        margin-bottom: 10px !important;
      }

      .scaled-print-actions .btn,
      .scaled-print-result--pdf .scaled-print-actions .btn {
        flex: 1 1 130px !important;
        text-align: center !important;
        padding: 10px 12px !important;
      }

      .scaled-print-preview,
      .scaled-print-preview--pdf {
        max-height: 360px !important;
      }

      .scaled-print-preview img,
      .scaled-print-preview embed,
      .scaled-print-preview iframe,
      .scaled-print-preview object,
      .scaled-print-preview--pdf img,
      .scaled-print-preview--pdf embed,
      .scaled-print-preview--pdf iframe,
      .scaled-print-preview--pdf object {
        max-height: 340px !important;
      }

      .scaled-print-preview embed,
      .scaled-print-preview iframe,
      .scaled-print-preview object {
        height: 340px !important;
      }

      .scaled-print-result--pdf .scaled-print-preview--pdf {
        aspect-ratio: 1.62 / 1 !important;
        height: auto !important;
        max-height: none !important;
        overflow: hidden !important;
        border-radius: 14px !important;
        background: #fff !important;
      }

      .scaled-print-result--pdf .scaled-print-preview--pdf embed,
      .scaled-print-result--pdf .scaled-print-preview--pdf iframe,
      .scaled-print-result--pdf .scaled-print-preview--pdf object {
        height: 100% !important;
        max-height: none !important;
        min-height: 0 !important;
        border: 0 !important;
        border-radius: 14px !important;
        background: #fff !important;
      }
    }

/* ======================
   PDF preview editor
   Source: js/print/pdfPreviewEditor.js
====================== */
.tg-pdfjs-preview{margin:18px auto;width:min(100%,1120px);border:1px solid rgba(133,255,76,.22);border-radius:14px;background:rgba(10,12,10,.82);box-shadow:0 18px 44px rgba(0,0,0,.32);overflow:hidden}
    .tg-pdfjs-preview__bar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.045)}
    .tg-pdfjs-preview__title{font-weight:700;color:#fff}.tg-pdfjs-preview__status{color:var(--muted,#ccc);font-size:13px;margin-left:8px}
    .tg-pdfjs-preview__actions,.tg-pdfjs-preview__tools,.tg-pdfjs-preview__group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
    .tg-pdfjs-preview__tools{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.18)}
    .tg-pdfjs-preview__group{padding:6px;border-radius:10px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08)}
    .tg-pdfjs-preview__label{color:var(--muted,#ccc);font-size:12px;font-weight:700;width:100%}
    .tg-pdfjs-preview__btn,.tg-pdfjs-preview__link,.tg-pdfjs-preview__select,.tg-pdfjs-preview__color{display:inline-flex;align-items:center;justify-content:center;min-height:34px;border-radius:8px;border:1px solid var(--btn-border,#444);background:rgba(255,255,255,.08);color:#fff;text-decoration:none;cursor:pointer;user-select:none}
    .tg-pdfjs-preview__btn,.tg-pdfjs-preview__link{padding:7px 10px}.tg-pdfjs-preview__select{padding:6px 8px}.tg-pdfjs-preview__color{width:44px;padding:2px 4px}
    .tg-pdfjs-preview__btn:hover,.tg-pdfjs-preview__link:hover{border-color:var(--accent,#85ff4c);color:var(--accent,#85ff4c)}
    .tg-pdfjs-preview__btn.is-active{border-color:var(--accent,#85ff4c);color:#111;background:var(--accent,#85ff4c)}
    .tg-pdfjs-preview__btn--primary{border-color:rgba(133,255,76,.62);background:rgba(133,255,76,.16)}
    .tg-pdfjs-preview__swatch{width:20px;height:20px;border-radius:50%;border:1px solid rgba(255,255,255,.55);display:inline-block;background:currentColor}
    .tg-pdfjs-preview__hint{color:var(--muted,#ccc);font-size:13px;margin-left:auto;width:100%}
    .tg-pdfjs-preview__pages{max-height:78vh;overflow:auto;padding:14px;display:grid;gap:16px;justify-items:center;touch-action:pan-y}
    .tg-pdfjs-preview__page{position:relative;max-width:100%;background:#fff;border-radius:4px;box-shadow:0 10px 30px rgba(0,0,0,.42);overflow:hidden}.tg-pdfjs-preview__pdf-canvas{display:block;max-width:100%;height:auto}
    .tg-pdfjs-annotation-layer,.tg-pdfjs-ink-canvas,.tg-pdfjs-text-layer{position:absolute;inset:0;width:100%;height:100%}.tg-pdfjs-annotation-layer{pointer-events:none}.tg-pdfjs-ink-canvas{pointer-events:none!important}.tg-pdfjs-text-layer{pointer-events:none;z-index:3}
    .tg-pdfjs-preview[data-mode="draw"] .tg-pdfjs-annotation-layer,.tg-pdfjs-preview[data-mode="text"] .tg-pdfjs-annotation-layer,.tg-pdfjs-preview[data-mode="select"] .tg-pdfjs-annotation-layer{pointer-events:auto}
    .tg-pdfjs-preview[data-mode="draw"] .tg-pdfjs-annotation-layer{cursor:crosshair;touch-action:none}.tg-pdfjs-preview[data-mode="text"] .tg-pdfjs-annotation-layer{cursor:text}.tg-pdfjs-preview[data-mode="select"] .tg-pdfjs-annotation-layer{cursor:default}
    .tg-pdfjs-annotation-text{position:absolute;min-width:72px;max-width:min(520px,80%);min-height:24px;padding:2px 4px;border:1px dashed currentColor;border-radius:3px;background:rgba(255,255,255,.86);white-space:pre-wrap;overflow-wrap:anywhere;outline:none;cursor:text;z-index:4;pointer-events:auto}
    .tg-pdfjs-annotation-text.is-selected{box-shadow:0 0 0 2px rgba(133,255,76,.9);background:rgba(255,255,255,.96)}.tg-pdfjs-preview[data-mode="select"] .tg-pdfjs-annotation-text{cursor:move}.tg-pdfjs-annotation-text:empty::before{content:"Tap Edit Text";color:rgba(214,0,0,.5)}
    .tg-pdfjs-preview__error{padding:14px;color:#ffb4b4}
    @media(max-width:700px){
      .tg-pdfjs-preview{width:calc(100vw - 12px)!important;border-radius:10px;margin-left:auto!important;margin-right:auto!important}.tg-pdfjs-preview__bar,.tg-pdfjs-preview__tools{padding:10px!important}
      .tg-pdfjs-preview__actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}.tg-pdfjs-preview__actions>*{width:100%;min-height:42px}
      .tg-pdfjs-preview__tools{display:grid!important;grid-template-columns:1fr;gap:8px}.tg-pdfjs-preview__group{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;padding:8px}.tg-pdfjs-preview__group--main{grid-template-columns:repeat(3,minmax(0,1fr))}.tg-pdfjs-preview__group--download{grid-template-columns:repeat(2,minmax(0,1fr))}.tg-pdfjs-preview__label{grid-column:1/-1}.tg-pdfjs-preview__btn,.tg-pdfjs-preview__select,.tg-pdfjs-preview__color{width:100%;min-height:44px}.tg-pdfjs-preview__hint{font-size:12px}.tg-pdfjs-preview__pages{max-height:66vh;padding:8px}.tg-pdfjs-annotation-text{min-width:96px;max-width:78%}
    }

/* ======================
   Static app launcher preference
====================== */
.tg-app-launcher__preference {
  border-top: 1px solid rgba(255,255,255,.12);
  margin-top: 6px;
  padding: 10px 12px 4px;
}
.tg-app-launcher__preference label {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  color: inherit;
  font-size: 13px;
}
