/* Local font files are distributed under the SIL Open Font License; see the per-family OFL files in fonts. */
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/inter-latin-ext.woff2") format("woff2");unicode-range:U+0100-024F,U+1E00-1EFF,U+20A0-20AB,U+20AD-20CF,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/inter-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+20AC,U+2122}
@font-face{font-family:"Manrope";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/manrope-latin-ext.woff2") format("woff2");unicode-range:U+0100-024F,U+1E00-1EFF,U+20A0-20AB,U+20AD-20CF,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Manrope";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/manrope-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+20AC,U+2122}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/dm-sans-latin-ext.woff2") format("woff2");unicode-range:U+0100-024F,U+1E00-1EFF,U+20A0-20AB,U+20AD-20CF,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/dm-sans-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+20AC,U+2122}
@font-face{font-family:"Nunito Sans";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/nunito-sans-latin-ext.woff2") format("woff2");unicode-range:U+0100-024F,U+1E00-1EFF,U+20A0-20AB,U+20AD-20CF,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Nunito Sans";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/nunito-sans-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+20AC,U+2122}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/source-sans-3-latin-ext.woff2") format("woff2");unicode-range:U+0100-024F,U+1E00-1EFF,U+20A0-20AB,U+20AD-20CF,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/source-sans-3-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+20AC,U+2122}
@font-face{font-family:"Public Sans";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/public-sans-latin-ext.woff2") format("woff2");unicode-range:U+0100-024F,U+1E00-1EFF,U+20A0-20AB,U+20AD-20CF,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Public Sans";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/public-sans-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+20AC,U+2122}
@font-face{font-family:"Work Sans";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/work-sans-latin-ext.woff2") format("woff2");unicode-range:U+0100-024F,U+1E00-1EFF,U+20A0-20AB,U+20AD-20CF,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Work Sans";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/work-sans-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+20AC,U+2122}
@font-face{font-family:"Lato";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/lato-latin-ext.woff2") format("woff2");unicode-range:U+0100-024F,U+1E00-1EFF,U+20A0-20AB,U+20AD-20CF,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Lato";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/lato-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+20AC,U+2122}
@font-face{font-family:"Open Sans";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/open-sans-latin-ext.woff2") format("woff2");unicode-range:U+0100-024F,U+1E00-1EFF,U+20A0-20AB,U+20AD-20CF,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Open Sans";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/open-sans-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+20AC,U+2122}
@font-face{font-family:"Roboto";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/roboto-latin-ext.woff2") format("woff2");unicode-range:U+0100-024F,U+1E00-1EFF,U+20A0-20AB,U+20AD-20CF,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Roboto";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/roboto-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+20AC,U+2122}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/montserrat-latin-ext.woff2") format("woff2");unicode-range:U+0100-024F,U+1E00-1EFF,U+20A0-20AB,U+20AD-20CF,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/montserrat-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+20AC,U+2122}

html[data-ui-font="arial"]{--ui-font:Arial,Helvetica,sans-serif}
html[data-ui-font="inter"]{--ui-font:"Inter",Arial,sans-serif}
html[data-ui-font="manrope"]{--ui-font:"Manrope",Arial,sans-serif}
html[data-ui-font="dm-sans"]{--ui-font:"DM Sans",Arial,sans-serif}
html[data-ui-font="nunito-sans"]{--ui-font:"Nunito Sans",Arial,sans-serif}
html[data-ui-font="source-sans-3"]{--ui-font:"Source Sans 3",Arial,sans-serif}
html[data-ui-font="public-sans"]{--ui-font:"Public Sans",Arial,sans-serif}
html[data-ui-font="work-sans"]{--ui-font:"Work Sans",Arial,sans-serif}
html[data-ui-font="lato"]{--ui-font:"Lato",Arial,sans-serif}
html[data-ui-font="open-sans"]{--ui-font:"Open Sans",Arial,sans-serif}
html[data-ui-font="roboto"]{--ui-font:"Roboto",Arial,sans-serif}
html[data-ui-font="montserrat"]{--ui-font:"Montserrat",Arial,sans-serif}

@media screen {
  html{--ui-font:Arial,Helvetica,sans-serif;--ui-screen-font:var(--ui-font)}
  body,button,input,select,textarea,h1,h2,h3,h4,h5,h6,.button,.brand,.page-heading,.card h1,.card h2,.card h3,
  .tool-card strong,.metric strong,.map-panel h2,.map-popup-code,.map-preview summary,
  .leaflet-popup-content-wrapper,.ops-body,.ops-body button,.ops-body input,.ops-body select,.ops-body textarea{
    font-family:var(--ui-font)!important
  }
  code,pre,kbd,samp,.code,.mono,.nav-key,.ops-nav-foot,.tkcm-coordinates,
  [class*="telekode-id"],[class*="public-id"],[data-machine-id]{font-family:"DM Mono",ui-monospace,SFMono-Regular,Menlo,monospace!important}

  .ui-appearance-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-left:auto;white-space:nowrap}
  .ui-appearance-controls form{margin:0}
  .ui-theme-toggle,.ui-country-choice,.ui-logout{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:auto;min-height:40px;margin:0;padding:8px 11px;border:1px solid rgba(255,255,255,.35);border-radius:5px;background:transparent;color:inherit;font:700 12px/1.2 var(--ui-font);text-decoration:none;cursor:pointer}
  .ui-theme-toggle:hover,.ui-country-choice:hover,.ui-logout:hover{background:rgba(255,255,255,.12);transform:none}
  .ui-theme-toggle:focus-visible,.ui-country-choice:focus-visible,.ui-logout:focus-visible{outline:3px solid #e5b84b;outline-offset:2px}
  .ui-country-choice{min-width:42px;font-size:21px;line-height:1}
  .ui-theme-icon{font-size:17px;line-height:1}
  body:not(.ops-body)>.ui-appearance-controls{position:fixed;z-index:50;top:12px;right:clamp(12px,3vw,30px);padding:5px;border-radius:8px;background:#122832;color:#fff;box-shadow:0 4px 16px rgba(0,0,0,.18)}
  .site-header>.ui-appearance-controls{position:static;padding:0;background:transparent;box-shadow:none}
  .ops-top>.ui-appearance-controls{margin-left:0}

  html[data-theme="dark"]{
    --ink:#edf4f2;--muted:#aebfbb;--paper:#101715;--surface:#18221f;--line:#34443f;
    --teal:#55c6b3;--teal-deep:#8edbcd;--citrus:#f0c765;--clay:#f08a70;
    --success:#183d34;--danger:#482624;--shadow:0 14px 38px rgba(0,0,0,.32)
  }
  html[data-theme="dark"] body{background:var(--paper);color:var(--ink)}
  html[data-theme="dark"] .site-header{background:#09110f;color:#f4f7f6}
  html[data-theme="dark"] .admin-rail{background:#17211e;border-color:var(--line)}
  html[data-theme="dark"] .admin-rail a{color:#c8d6d2}
  html[data-theme="dark"] .site-footer,
  html[data-theme="dark"] .card,
  html[data-theme="dark"] .tool-card{background:var(--surface);border-color:var(--line);color:var(--ink)}
  html[data-theme="dark"] label{color:#d5e0dd}
  html[data-theme="dark"] input,
  html[data-theme="dark"] textarea,
  html[data-theme="dark"] select{background:#111b18;color:var(--ink);border-color:#52655f}
  html[data-theme="dark"] option{background:#111b18;color:var(--ink)}
  html[data-theme="dark"] code,
  html[data-theme="dark"] .code{background:#24312d;color:#e5eeeb}
  html[data-theme="dark"] .flash{color:#ffe3dd}
  html[data-theme="dark"] .flash.success{color:#d9f6ec}
  html[data-theme="dark"] .public-hero,
  html[data-theme="dark"] .tkcm-index-hero{background:#0a1210;color:#f7faf9}
  html[data-theme="dark"] .public-hero input,
  html[data-theme="dark"] .public-hero select{background:#17211e;color:#edf4f2}
  html[data-theme="dark"] .public-hero button,
  html[data-theme="dark"] button:not(:where(.secondary,.danger,.ui-theme-toggle,.ui-logout,.ops-logout,.link-button,.icon-button,.client-row,.menu-toggle,.confirmation-cancel)),
  html[data-theme="dark"] .button:not(.secondary):not(.danger):not(.premium-link),
  html[data-theme="dark"] .ops-body .button:not(.secondary):not(.danger){color:#071b17}
  html[data-theme="dark"] .public-hero button:focus-visible,
  html[data-theme="dark"] button:not(:where(.ui-theme-toggle,.ui-logout)):focus-visible,
  html[data-theme="dark"] .button:not(.secondary):not(.danger):focus-visible{outline-color:#f5fbf9}
  html[data-theme="dark"] .ui-theme-toggle,
  html[data-theme="dark"] .ui-logout{color:inherit}
  html[data-theme="dark"] .actions button{color:var(--clay)}
  html[data-theme="dark"] .tkcm-index-table tr{background:var(--surface)}
  html[data-theme="dark"] .map-layout,
  html[data-theme="dark"] .map-panel{background:var(--surface);border-color:var(--line)}
  html[data-theme="dark"] .map-panel-actions{background:#202c28;border-color:var(--line)}
  html[data-theme="dark"] .map-filter-group{border-color:var(--line)}
  html[data-theme="dark"] .map-filter-group summary{color:#c4d2ce}
  html[data-theme="dark"] .map-search input,
  html[data-theme="dark"] .map-canvas-toolbar button,
  html[data-theme="dark"] .map-terrain-toggle{background:#17211e;color:var(--ink);border-color:#52655f}
  html[data-theme="dark"] .map-status,
  html[data-theme="dark"] .map-legend{background:rgba(18,29,26,.96);color:#dfe9e6;border-color:#52655f}

  html[data-theme="dark"] .ops-body{--ink:#edf4f2;--muted:#acbdb8;--line:#354740;--paper:#101715;--surface:#18221f;--green:#45b49f;--green-dark:#0b3029;--red:#e16e72;--amber:#e8ad4f;--shadow:0 12px 32px rgba(0,0,0,.32)}
  html[data-theme="dark"] .ops-nav{background:#15201d;border-color:var(--line)}
  html[data-theme="dark"] .ops-nav a{color:#c7d5d1}
  html[data-theme="dark"] .button.secondary,
  html[data-theme="dark"] .icon-button{background:#1b2925;color:#b6e9df;border-color:#52655f}
  html[data-theme="dark"] .filter-row,
  html[data-theme="dark"] .kanban-col{background:#15211d}
  html[data-theme="dark"] .collector-choices,
  html[data-theme="dark"] .kanban-card,
  html[data-theme="dark"] .drawer,
  html[data-theme="dark"] .drawer-head,
  html[data-theme="dark"] .modal-box{background:var(--surface);color:var(--ink);border-color:var(--line)}
  html[data-theme="dark"] .drawer-tabs button{color:var(--muted)}
  html[data-theme="dark"] .drawer-tabs button.active{color:#b6e9df}
  html[data-theme="dark"] th{background:#202d29;color:#bdcbc7}
  html[data-theme="dark"] .badge{background:#2c3d37;color:#dce8e4}
  html[data-theme="dark"] .badge.urgent{background:#512d2f;color:#ffd7d9}
  html[data-theme="dark"] .badge.blocked{background:#49391d;color:#ffe1a8}
  html[data-theme="dark"] .badge.ready{background:#1b4439;color:#c7f5e8}
  html[data-theme="dark"] .bulkbar,
  html[data-theme="dark"] .claim-state{background:#18362f;color:#c7f5e8}
  html[data-theme="dark"] .blocked-notice{background:#49391d;color:#ffe1a8}
  html[data-theme="dark"] .client-row{color:var(--ink)}
  html[data-theme="dark"] .client-row:hover{background:#20332d;color:#9fe1d4}
  html[data-theme="dark"] .error{background:#3b2223;color:#ffcdd0;border-color:#915054}
}

@media screen and (max-width:760px){
  .site-header{flex-wrap:wrap;padding-top:9px;padding-bottom:9px}
  .site-header>.ui-appearance-controls{order:2}
  .ui-theme-label{display:none}
  .ui-theme-toggle,.ui-logout{min-width:44px;min-height:44px;padding:9px 10px}
  .site-header .ui-logout{font-size:11px}
}
@media screen and (max-width:620px){
  .ops-top{min-height:72px;flex-wrap:wrap;padding-top:7px;padding-bottom:7px}
  .ops-top>.ui-appearance-controls{order:3;width:100%;justify-content:flex-end}
  .ops-top .ui-theme-label{display:inline}
}
@media print{
  .ui-appearance-controls{display:none!important}
}

/* The administrator's two-row toolbar replaces the separate scrolling rail. */
@media screen {
  .site-header.admin-header{
    min-height:65px;
    gap:clamp(8px,1.2vw,20px);
    padding:5px clamp(12px,2.4vw,36px);
    background:#2c3438;
  }
  .admin-header .brand{flex:none;font-size:14px;letter-spacing:0;color:#8ee0d8}
  .admin-header .brand-mark{width:25px;height:25px}
  .admin-header .admin-site-nav{
    display:flex;
    flex:1 1 auto;
    align-items:center;
    min-width:0;
    gap:clamp(8px,1.2vw,20px);
    margin-left:0;
    padding:0;
    background:transparent;
  }
  .admin-menu-home{display:flex;flex:none;flex-direction:column;align-items:center;justify-content:space-between;min-height:47px}
  .admin-header .admin-menu-home a,.admin-header .admin-menu-home span,
  .admin-header .admin-menu-config,.admin-header .admin-menu-pair a{
    display:block;
    width:max-content;
    max-width:100%;
    margin:0;
    padding:3px 4px;
    color:#8ee0d8;
    font-size:var(--admin-menu-font-size,10px);
    font-weight:800;
    line-height:1.35;
    text-decoration:none;
    text-align:center;
    white-space:nowrap;
  }
  .admin-header .admin-menu-home span{color:#f0f2f1;font-weight:500}
  .admin-menu-links{
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:max-content;
    grid-template-rows:1fr;
    justify-content:space-between;
    flex:1 1 auto;
    min-width:0;
    gap:clamp(4px,.65vw,14px);
    overflow-x:auto;
    scrollbar-width:thin;
  }
  .admin-menu-pair{display:flex;flex-direction:column;align-items:center;justify-content:space-between;min-height:47px}
  .admin-header .admin-menu-config{flex:none}
  .admin-header .admin-menu a:hover,.admin-header .admin-menu a:focus-visible,
  .admin-header .admin-menu a[aria-current="page"]{background:rgba(142,224,216,.18);color:#fff;outline-offset:1px}
  .admin-header>.ui-appearance-controls{
    flex:none;
    flex-direction:column;
    align-items:stretch;
    gap:5px;
    margin-left:0;
  }
  .admin-header .ui-logout-form{order:-1;align-self:flex-end}
  .admin-header .ui-theme-toggle,.admin-header .ui-logout{
    min-height:22px;
    padding:4px 7px;
    font-size:10px;
  }
  .admin-header .ui-theme-icon{font-size:12px}
  html[data-theme="dark"] .site-header.admin-header{background:#17211e}
}
@media screen and (max-width:760px) {
  .site-header.admin-header{flex-wrap:wrap}
  .admin-header>.ui-appearance-controls{order:1;margin-left:auto;flex-direction:row;align-items:center}
  .admin-header .ui-logout-form{order:0}
  .admin-header .ui-theme-toggle,.admin-header .ui-logout{min-height:36px}
  .admin-header .admin-site-nav{
    position:static;
    order:2;
    flex-basis:100%;
    width:100%;
    flex-direction:row;
    align-items:center;
    padding:0;
  }
  .admin-header .admin-menu-links{justify-content:start;gap:12px}
}