
:root{
  --bg:#071018;
  --panel:#0d1822;
  --panel2:#111f2c;
  --line:#203345;
  --text:#f3f7fa;
  --muted:#8ca0b1;
  --green:#58df93;
  --yellow:#f6c453;
  --red:#ff6f70;
  --blue:#52a8ff;
  --shadow:0 18px 60px rgba(0,0,0,.28);
  --radius:16px;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif}
button,input,select{font:inherit}
button{cursor:pointer}
a{color:inherit}
.muted{color:var(--muted)}
.small{font-size:12px}
.hidden{display:none!important}
.boot-screen,.setup-shell{min-height:100vh;display:grid;place-items:center;padding:28px}
.spinner{width:32px;height:32px;border:3px solid #284153;border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 12px}
@keyframes spin{to{transform:rotate(360deg)}}
.setup-card,.login-card{width:min(520px,100%);background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:30px;box-shadow:var(--shadow)}
.brand-mark{width:42px;height:42px;border-radius:12px;display:block;background:transparent url('brand/glt-mark.png') center/cover no-repeat;color:transparent;font-size:0;line-height:0;text-indent:-9999px;overflow:hidden;margin-bottom:18px;box-shadow:0 8px 24px rgba(41,116,255,.22);flex:0 0 auto}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 50% 0%,#123049 0,#071018 44%)}
.login-card h1{font-size:34px;margin:0 0 5px}
.field{display:flex;flex-direction:column;gap:7px;margin:14px 0}
.field label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.input,select{width:100%;border:1px solid var(--line);background:#08131c;color:var(--text);border-radius:10px;padding:11px 12px;outline:none}
.input:focus,select:focus{border-color:#3c718f;box-shadow:0 0 0 3px rgba(82,168,255,.1)}
.btn{border:1px solid transparent;border-radius:10px;padding:10px 14px;background:#1a2c3a;color:var(--text);font-weight:700}
.btn:hover{filter:brightness(1.09)}
.btn-primary{background:var(--green);color:#03130b}
.btn-danger{background:#3a171a;border-color:#6e282e;color:#ffb5b5}
.btn-ghost{background:transparent;border-color:var(--line)}
.btn-sm{padding:7px 10px;font-size:12px}
.error-box{background:#351417;border:1px solid #6e282e;color:#ffb7b7;border-radius:10px;padding:10px 12px;margin:10px 0}
.notice{border:1px solid var(--line);background:#0a1620;border-radius:12px;padding:12px 14px;color:var(--muted)}
.app-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}
.sidebar{border-right:1px solid var(--line);background:#08131c;padding:22px 16px;position:sticky;top:0;height:100vh}
.side-brand{display:flex;gap:10px;align-items:center;margin:0 8px 28px}
.side-brand .brand-mark{margin:0;width:34px;height:34px;border-radius:9px}
.side-brand strong{font-size:18px}
.nav{display:flex;flex-direction:column;gap:5px}
.nav button{border:0;background:transparent;color:var(--muted);text-align:left;border-radius:9px;padding:10px 11px}
.nav button.active,.nav button:hover{background:#112331;color:var(--text)}
.sidebar-footer{position:absolute;bottom:18px;left:16px;right:16px;border-top:1px solid var(--line);padding-top:14px}
.main{min-width:0}
.topbar{height:70px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 26px;position:sticky;top:0;background:rgba(7,16,24,.94);backdrop-filter:blur(10px);z-index:10}
.event-select{min-width:260px}
.content{padding:26px;max-width:1500px;margin:0 auto}
.page-title{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:22px}
.page-title h1{margin:0;font-size:29px}
.page-title p{margin:6px 0 0;color:var(--muted)}
.grid{display:grid;gap:14px}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:17px;box-shadow:0 8px 30px rgba(0,0,0,.12)}
.card h3{margin:0 0 13px;font-size:15px}
.metric-label{text-transform:uppercase;letter-spacing:.08em;font-size:10px;color:var(--muted)}
.metric-value{font-size:28px;font-weight:800;margin-top:5px}
.metric-sub{font-size:11px;color:var(--muted);margin-top:6px}
.status{display:inline-flex;align-items:center;gap:7px;border-radius:999px;border:1px solid var(--line);padding:5px 9px;font-size:11px;font-weight:800;text-transform:uppercase}
.status:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--muted)}
.status.active,.status.live_data{color:#8ef0b8;border-color:#245d3c;background:#0e281c}.status.active:before,.status.live_data:before{background:var(--green)}
.status.waiting{color:#ffe099;border-color:#5c4a1e;background:#271f0d}.status.waiting:before{background:var(--yellow)}
.status.stale,.status.error{color:#ffadad;border-color:#623036;background:#2a1115}.status.stale:before,.status.error:before{background:var(--red)}
.status.finished,.status.stopped{color:#b9c7d2;background:#111a21}.status.finished:before,.status.stopped:before{background:#8499a9}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px}
table{border-collapse:collapse;width:100%;min-width:760px;background:var(--panel)}
th,td{text-align:left;padding:12px 13px;border-bottom:1px solid var(--line)}
th{font-size:10px;letter-spacing:.08em;color:var(--muted);text-transform:uppercase;background:#0a151e}
td{font-size:13px}
tr:last-child td{border-bottom:0}
.row-actions{display:flex;gap:7px;justify-content:flex-end}
.empty{padding:34px;text-align:center;color:var(--muted)}
.live-hero{background:linear-gradient(135deg,#0d1d28,#112b24);border-color:#245944}
.live-head{display:flex;justify-content:space-between;gap:15px;align-items:center}
.live-athlete{font-size:20px;font-weight:800}
.live-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:16px}
.live-metric{background:rgba(3,12,17,.42);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px}
.live-metric .v{font-weight:800;font-size:22px;margin-top:4px}
.section{display:none}.section.active{display:block}
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.68);display:grid;place-items:center;padding:18px;z-index:50}
.modal{width:min(620px,100%);background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:var(--shadow)}
.modal h2{margin:0 0 5px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}
.kv{display:grid;grid-template-columns:160px 1fr;gap:8px 14px;font-size:13px}
.kv div:nth-child(odd){color:var(--muted)}
.realtime-log{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;max-height:180px;overflow:auto;background:#071018;border:1px solid var(--line);border-radius:10px;padding:10px;color:#a9bdcc}
.badge{font-size:10px;border:1px solid var(--line);border-radius:999px;padding:4px 7px;color:var(--muted)}
@media(max-width:1050px){
  .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .live-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .app-shell{grid-template-columns:1fr}
  .sidebar{height:auto;position:relative;border-right:0;border-bottom:1px solid var(--line);padding:12px}
  .side-brand{margin:0 0 10px}.nav{flex-direction:row;overflow:auto}
  .sidebar-footer{position:static;margin-top:10px}
  .topbar{position:relative;padding:10px 14px;height:auto;gap:10px;align-items:stretch;flex-direction:column}
  .event-select{min-width:0}
  .content{padding:16px}
  .grid-4,.grid-3,.grid-2,.live-grid{grid-template-columns:1fr}
}

/* Platform V2 */
.nav-label{font-size:9px;letter-spacing:.14em;color:#5f7484;margin:16px 11px 4px;text-transform:uppercase}.form-card{padding:18px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}.check-grid label,.switch-row{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px}.toggle-card{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);background:#09141c;border-radius:12px;padding:13px;margin-bottom:14px}.toggle-card input{margin-top:3px}.toggle-card span{display:flex;flex-direction:column;gap:4px}.toggle-card small{color:var(--muted)}.toggle-card.compact{margin:9px 0}.warning-box{margin-top:12px;border:1px solid #63531f;background:#2a220d;color:#ffe399;border-radius:10px;padding:10px 12px;font-size:12px}.break{word-break:break-all}.flow-mini{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.flow-mini span{border:1px solid var(--line);background:#09131b;padding:8px 10px;border-radius:9px;font-size:12px}.flow-mini b{color:var(--muted)}.output-card{display:flex;flex-direction:column;gap:10px}.output-preview{aspect-ratio:16/9;background:#050a0e;border:1px solid #243440;border-radius:12px;position:relative;overflow:hidden}.mock-output{position:absolute;background:rgba(6,11,16,.78);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(8px);border-radius:13px;padding:11px 14px;color:white}.mock-output small,.mock-output span{display:block;color:#aab5bf;font-size:9px}.mock-output strong{display:block;margin:5px 0;font-size:13px}.full-preview .mock-output{right:5%;top:50%;transform:translateY(-50%);width:38%}.lower-preview .mock-output{left:8%;right:8%;bottom:8%;}.output-url{min-height:72px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.metric-editor{display:flex;flex-direction:column;gap:8px}.metric-edit-row{display:grid;grid-template-columns:1.1fr 1fr 70px;gap:8px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:8px}.metric-edit-row label{font-size:12px}.tiny{max-width:70px}.toast{position:fixed;right:20px;bottom:20px;z-index:90;max-width:420px;padding:12px 15px;border-radius:11px;border:1px solid var(--line);background:#10202c;color:white;box-shadow:var(--shadow)}.toast-error{background:#351417}.btn[href]{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
@media(max-width:900px){.form-grid,.check-grid{grid-template-columns:1fr}.metric-edit-row{grid-template-columns:1fr}.full-preview .mock-output{width:50%}}


/* Output Designer V2.2 */
.segmented{display:inline-flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#08131c}
.segmented button{border:0;border-right:1px solid var(--line);background:transparent;color:var(--muted);font-weight:800;font-size:11px;padding:10px 13px;cursor:pointer}
.segmented button:last-child{border-right:0}.segmented button.active{background:#173044;color:#fff}
.designer-preview-card{padding:0;overflow:hidden;margin-bottom:14px}.designer-preview-toolbar{display:flex;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.09em}
.designer-stage,.designer-mini-preview{aspect-ratio:16/9;position:relative;overflow:hidden;background-color:#b9c0c5;background-image:linear-gradient(45deg,#d9dde0 25%,transparent 25%),linear-gradient(-45deg,#d9dde0 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#d9dde0 75%),linear-gradient(-45deg,transparent 75%,#d9dde0 75%);background-size:28px 28px;background-position:0 0,0 14px,14px -14px,-14px 0}
.designer-stage{min-height:430px}.designer-mini-preview{border-radius:12px;border:1px solid var(--line);min-height:0}
.designer-preview-hud{position:absolute;display:flex;box-sizing:border-box;transform-origin:center;transition:all .12s ease}
.dp-full{flex-direction:column}.dp-full h4{margin:7px 0 16px;line-height:1.08}.dp-kicker{letter-spacing:.13em}.dp-grid{display:grid;grid-template-columns:1fr 1fr}
.dp-lower{align-items:center}.dp-id{min-width:180px}.dp-id strong{display:block;line-height:1.08}.dp-id small{display:block;margin-top:4px;font-size:9px}
.dp-metric{padding:10px 11px;min-width:0}.dp-metric b{display:block;white-space:nowrap;line-height:1.06}.dp-metric span{display:block;margin-top:4px;letter-spacing:.08em;white-space:nowrap}
.preview-left{left:4%}.preview-center{left:50%;translate:-50% 0}.preview-right{right:4%}.preview-top{top:5%}.preview-bottom{bottom:5%}.preview-center.preview-center{top:auto}
.designer-preview-hud.preview-left.preview-center,.designer-preview-hud.preview-right.preview-center{top:50%;translate:0 -50%}
.designer-preview-hud.preview-center.preview-center{left:50%;top:50%;translate:-50% -50%}
.dp-attrib{position:absolute;white-space:nowrap;color:#fff}.dp-attrib-inside-top-right{top:8px;right:10px}.dp-attrib-inside-bottom-right{bottom:8px;right:10px}.dp-attrib-outside-bottom-right{right:0;bottom:-25px}.dp-attrib-outside-bottom-left{left:0;bottom:-25px}
.designer-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.designer-controls{min-width:0}.designer-controls h3{margin-bottom:16px}
.designer-range{margin:13px 0}.designer-range label{display:flex;justify-content:space-between;gap:10px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.designer-range output{font-weight:800;color:var(--text);letter-spacing:0;text-transform:none}.designer-range input{width:100%;margin-top:7px;accent-color:var(--green)}
.color-field{margin:11px 0}.color-field>label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:6px}.color-field>div{display:grid;grid-template-columns:48px 1fr;gap:8px}.color-field input[type=color]{width:48px;height:40px;background:#08131c;border:1px solid var(--line);border-radius:9px;padding:3px}
.designer-metrics-card{margin-top:14px}.designer-section-head{display:flex;justify-content:space-between;align-items:start}.designer-section-head p{margin:4px 0 12px}
.designer-metric-header,.designer-metric-row{display:grid;grid-template-columns:72px minmax(180px,1.2fr) minmax(150px,1fr) 90px 90px;gap:8px;align-items:center}
.designer-metric-header{font-size:9px;color:var(--muted);letter-spacing:.09em;text-transform:uppercase;padding:8px 0;border-bottom:1px solid var(--line)}
.designer-metric-row{padding:8px 0;border-bottom:1px solid var(--line)}.designer-metric-row:last-child{border-bottom:0}
.designer-metric-order{display:flex;gap:4px}.mini-btn{width:29px;height:29px;border-radius:7px;border:1px solid var(--line);background:#0a1620;color:var(--text);cursor:pointer}.mini-btn:disabled{opacity:.25;cursor:default}
.designer-metric-name{display:flex;align-items:center;gap:8px;font-size:12px}.designer-metric-name span{width:18px;text-align:center}.unit-input,.decimals-input{min-width:0}
.designer-savebar{position:sticky;bottom:12px;z-index:8;margin-top:14px;padding:12px;border:1px solid var(--line);border-radius:14px;background:rgba(8,19,28,.94);backdrop-filter:blur(12px);display:flex;justify-content:flex-end;gap:9px;box-shadow:var(--shadow)}
.output-card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.output-card-head h3{margin-bottom:3px}.output-card-head p{margin:0}.row-actions.left{justify-content:flex-start}
.designer-mini-preview .designer-preview-hud{font-family:Arial,Helvetica,sans-serif}.designer-mini-preview .dp-attrib{display:none}
@media(max-width:1250px){.designer-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.designer-columns{grid-template-columns:1fr}.designer-stage{min-height:320px}.designer-metric-header{display:none}.designer-metric-row{grid-template-columns:70px 1fr}.designer-metric-row .input{grid-column:2}.designer-savebar{position:static;flex-direction:column}.designer-savebar .btn{width:100%}}


/* V2.3 Canvas + Mobile UX */
.mobile-menu,.mobile-close,.sidebar-backdrop{display:none}
.topbar-status{display:flex;align-items:center;gap:10px}
.output-resolution{font-size:10px;color:var(--muted);margin:7px 0 0!important;letter-spacing:.04em}
.canvas-summary{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:10px 0 12px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#09141d}
.canvas-summary strong{font-size:17px}.canvas-summary span{font-size:10px;color:var(--muted)}
.canvas-dimensions .field{margin-top:8px}
.designer-stage{min-height:0;width:100%}

@media(max-width:760px){
  body{padding-bottom:env(safe-area-inset-bottom)}
  .app-shell{display:block;min-height:100vh}
  .sidebar{position:fixed;z-index:60;left:0;top:0;width:min(84vw,310px);height:100dvh;transform:translateX(-105%);transition:transform .2s ease;box-shadow:22px 0 60px rgba(0,0,0,.45);padding-bottom:max(18px,env(safe-area-inset-bottom))}
  .sidebar.mobile-open{transform:translateX(0)}
  .sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(2px);z-index:55;opacity:0;pointer-events:none;transition:opacity .2s}
  .sidebar-backdrop.show{opacity:1;pointer-events:auto}
  .mobile-close{display:block;margin-left:auto;width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:#0a1721;color:#fff;font-size:22px;line-height:1}
  .mobile-menu{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border:1px solid var(--line);border-radius:10px;background:#0b1822;color:#fff;font-size:20px}
  .side-brand{margin-bottom:18px}
  .sidebar-footer{position:absolute}
  .topbar{height:auto;min-height:62px;padding:9px 12px;gap:8px;display:grid;grid-template-columns:40px minmax(0,1fr) auto}
  .event-select{min-width:0;width:100%;font-size:13px}
  .topbar-status #eventStatus{display:none}
  .topbar-status{gap:6px}.topbar-status .badge{font-size:9px;padding:5px 7px}
  .content{padding:14px 12px 28px}
  .page-title{flex-direction:column;gap:12px;margin-bottom:15px}
  .page-title h1{font-size:25px}.page-title p{font-size:13px}
  .grid-4,.grid-3,.grid-2{grid-template-columns:1fr}
  .card{padding:14px;border-radius:13px}
  .metric-value{font-size:24px}
  .live-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .live-head{align-items:flex-start;flex-direction:column}
  .row-actions{justify-content:flex-start;flex-wrap:wrap}
  .table-wrap{margin-left:-2px;margin-right:-2px;-webkit-overflow-scrolling:touch}
  table{min-width:700px}
  .form-grid{grid-template-columns:1fr}
  .segmented{width:100%}.segmented button{flex:1;padding:10px 8px}
  .designer-preview-toolbar{padding:9px 11px}
  .designer-stage{width:100%;min-height:0}
  .designer-columns{grid-template-columns:1fr}
  .designer-controls{padding:14px}
  .designer-range{margin:15px 0}
  .designer-range input{height:28px}
  .color-field>div{grid-template-columns:52px minmax(0,1fr)}
  .designer-metric-row{grid-template-columns:64px minmax(0,1fr);gap:7px}
  .designer-metric-row .input{grid-column:2}
  .designer-metric-name{min-width:0}
  .designer-savebar{position:sticky;bottom:max(8px,env(safe-area-inset-bottom));padding:9px;flex-direction:column}
  .designer-savebar .btn{width:100%}
  .output-card .designer-mini-preview{max-height:none}
  .toast{left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));max-width:none}
  .modal{width:calc(100vw - 18px);max-height:88dvh;overflow:auto;padding:18px}
}
@media(max-width:420px){
  .topbar{grid-template-columns:40px minmax(0,1fr)}
  .topbar-status{display:none}
  .live-grid{grid-template-columns:1fr 1fr}
  .metric-value{font-size:22px}
  .login-shell,.boot-screen,.setup-shell{padding:14px}
  .login-card,.setup-card{padding:22px 18px;border-radius:17px}
}


/* V2.4 Route / Map editor */
.route-upload-btn{cursor:pointer}
.route-empty{text-align:center;padding:56px 24px}.route-empty-icon{font-size:52px;color:var(--green);margin-bottom:8px}.route-empty p{max-width:650px;margin:8px auto 20px}
.route-summary-grid{display:grid;grid-template-columns:minmax(340px,.85fr) minmax(0,1.4fr);gap:14px;margin-bottom:14px}
.route-summary .field{margin-top:0}.route-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.route-kpis>div{padding:11px;border:1px solid var(--line);border-radius:10px;background:#09141d}.route-kpis span{display:block;font-size:8px;color:var(--muted);letter-spacing:.09em}.route-kpis strong{display:block;margin-top:4px;font-size:17px}
.card-head-simple{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.route-profile-card{min-width:0}.route-profile-wrap{position:relative;height:148px;padding:0 0 15px}.route-profile-wrap svg{width:100%;height:125px;display:block}.route-profile-scale{position:absolute;left:2px;right:2px;bottom:0;display:flex;justify-content:space-between;color:var(--muted);font-size:9px}
.route-editor-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(320px,.7fr);gap:14px;margin-bottom:14px}
.route-map-card{padding:0;overflow:hidden}.route-map-card .card-head-simple{padding:14px 16px 4px}.route-editor-map{height:590px;background:#0a151d;z-index:1}
.route-point-card h3{margin-bottom:12px}.route-place-btn{width:100%;margin:6px 0 10px}.route-place-btn.active{border-color:var(--green);box-shadow:0 0 0 2px rgba(98,208,255,.12)}
.route-coordinate-box{display:flex;flex-direction:column;gap:3px;padding:10px 11px;border:1px dashed #315267;border-radius:9px;color:var(--muted);font-size:10px;margin-bottom:12px;background:#08121a}.route-coordinate-box strong{color:var(--text);font-size:12px}
.check-grid.compact{margin:8px 0 14px}
.route-points-list{padding:0;overflow:hidden}.route-points-list>.card-head-simple{padding:14px 16px 8px}.route-point-row{display:grid;grid-template-columns:42px minmax(200px,1fr) auto auto;gap:10px;align-items:center;padding:10px 16px;border-top:1px solid var(--line)}.route-point-symbol{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#153044;border:2px solid #62d0ff;font-weight:900}.route-point-main strong{display:block}.route-point-main span{display:block;margin-top:3px;color:var(--muted);font-size:10px}.route-point-flags{display:flex;gap:5px;flex-wrap:wrap}
.route-type-start{background:#123b2b!important;border-color:#58d891!important}.route-type-finish{background:#3d2024!important;border-color:#ff7f89!important}.route-type-aid_station{background:#283b50!important;border-color:#78b8ff!important}.route-type-checkpoint{background:#3c3419!important;border-color:#e6c55c!important}.route-type-camera{background:#332544!important;border-color:#bc8cff!important}
.route-poi-icon-wrap{background:transparent;border:0}.route-poi{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#173044;border:2px solid #fff;color:#fff;font:800 13px Arial;box-shadow:0 3px 10px rgba(0,0,0,.45)}
.leaflet-tooltip{background:#08131c;color:#fff;border:1px solid #284356;box-shadow:0 6px 18px rgba(0,0,0,.35)}.leaflet-tooltip:before{border-top-color:#284356}
@media(max-width:1050px){.route-summary-grid,.route-editor-grid{grid-template-columns:1fr}.route-editor-map{height:520px}}
@media(max-width:760px){.route-kpis{grid-template-columns:1fr 1fr}.route-editor-map{height:54dvh;min-height:340px;max-height:520px}.route-point-row{grid-template-columns:38px minmax(0,1fr)}.route-point-flags,.route-point-row>.row-actions{grid-column:2}.route-point-row>.row-actions{justify-content:flex-start}.route-summary-grid{grid-template-columns:1fr}.route-profile-wrap{height:130px}}

/* V2.6 checkpoint-assisted matching */
.route-matching-box{margin:10px 0;padding:11px;border:1px solid #29475b;border-radius:10px;background:#091720}
.route-matching-box .form-grid{margin-top:8px}

/* V2.9 HUD manual height */
.height-control-disabled{opacity:.42;pointer-events:none}
.designer-height-info{margin:-4px 0 10px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:#08131c;color:var(--muted);font-size:10px}


/* V2.10 Automatic LiveTrack Intake */
.intake-notice{display:flex;gap:8px;align-items:flex-start;flex-direction:column;margin-bottom:14px}
.intake-notice strong{color:var(--text)}
.intake-email{display:flex;align-items:center;gap:6px;min-width:270px}
.intake-email code{font-size:10px;white-space:nowrap;color:#b8d8f2}
.icon-btn{border:1px solid var(--line);background:#0b1822;color:var(--muted);border-radius:7px;padding:5px 7px;font-size:8px;font-weight:800;letter-spacing:.04em}
.icon-btn:hover{color:var(--text);border-color:#355b73}
.danger-lite{color:#eaa3a8}
.intake-status{display:flex;align-items:center;gap:7px;white-space:nowrap}
@media(max-width:760px){.intake-email{min-width:250px}.intake-notice{font-size:11px}}

/* V2.10.2 athlete management */
.athlete-actions{flex-wrap:wrap;justify-content:flex-end}
@media(max-width:900px){.athlete-actions{min-width:210px}}

/* V2.10.4 Setup verification */
.setup-verified-wrap{display:flex;align-items:center;gap:7px;white-space:nowrap}
.setup-verified,.setup-unverified{display:inline-flex;align-items:center;gap:6px;font-size:9px;font-weight:800;letter-spacing:.06em;white-space:nowrap}
.setup-verified{color:#74e7ae}
.setup-unverified{color:var(--muted)}
.setup-dot{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px rgba(255,255,255,.03)}

/* V2.11 Slackline production outputs */
.slackline-output-title{margin-top:26px}.slackline-output-card{min-width:0}.slackline-mini{height:150px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,#060a0e,#020407);position:relative;overflow:hidden}.slackline-mini strong{position:absolute;right:20px;top:34px;font-size:52px;line-height:1;color:#fff;font-stretch:condensed}.slackline-mini span{position:absolute;right:20px;top:15px;font-size:13px;font-weight:800;color:#fff}.slackline-mini small{position:absolute;right:20px;bottom:22px;color:#fff;font-size:12px;letter-spacing:.05em;text-transform:uppercase}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:1000px){.grid-3{grid-template-columns:1fr}}

/* V2.12 Multi-event manager */
.event-manager-card{margin-bottom:16px}
.event-manager-card .table-wrap{margin-top:10px}
.current-event-card{margin-top:16px}
.event-row-current{background:rgba(98,208,255,.045)}
.event-current-badge{margin-left:8px;font-size:8px;vertical-align:middle}
.event-actions{justify-content:flex-end;flex-wrap:wrap}
.event-manager-card code{font-size:11px;color:#b8d8f2}
@media(max-width:760px){
  .event-actions{min-width:210px}
  .event-manager-card .table-wrap{overflow-x:auto}
}

/* V2.14 Disciplines + Event Page Editor */
.route-discipline-bar{display:grid;grid-template-columns:minmax(220px,360px) 1fr;align-items:end;gap:16px;margin-bottom:14px}.route-discipline-bar .field{margin:0}.route-discipline-bar .notice{margin:0}.public-brand-editor .color-input{height:48px;padding:5px}.public-brand-editor h3{margin-bottom:14px}@media(max-width:760px){.route-discipline-bar{grid-template-columns:1fr}}


/* V2.19.0 Phase 2 Health Center */
.health-pill{display:inline-flex;align-items:center;justify-content:center;min-width:76px;border:1px solid var(--line);border-radius:999px;padding:5px 9px;font-size:10px;font-weight:900;letter-spacing:.05em}
.health-ok{color:#8ef0b8!important;border-color:#245d3c!important;background:#0e281c!important}.health-warning{color:#ffe099!important;border-color:#5c4a1e!important;background:#271f0d!important}.health-critical{color:#ffadad!important;border-color:#623036!important;background:#2a1115!important}.health-idle{color:#aebdca!important;border-color:#334552!important;background:#101a22!important}
.health-value-ok{color:var(--green)}.health-value-warning{color:var(--yellow)}.health-value-critical{color:var(--red)}.health-value-idle{color:var(--muted)}
.health-top{font-weight:900}.health-summary-grid .metric-value{font-size:24px}.health-incident-critical td{background:rgba(255,111,112,.025)}.health-incident-warning td{background:rgba(246,196,83,.018)}
@media(max-width:760px){.health-summary-grid{grid-template-columns:1fr 1fr}.topbar-status #healthBadge{display:inline-flex}}
@media(max-width:420px){.health-summary-grid{grid-template-columns:1fr}.topbar-status #healthBadge{display:none}}


/* V2.19.1 Phase 2B Replay / Export */
.replay-toolbar{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.replay-session-field{min-width:320px;flex:1}.replay-speeds{display:flex;gap:5px;flex-wrap:wrap}.replay-speeds .active{border-color:var(--accent);color:var(--accent)}.replay-clock{display:flex;flex-direction:column;align-items:flex-end;min-width:100px}.replay-clock strong{font-size:18px}.replay-clock span{font-size:11px;color:var(--muted)}.replay-slider{width:100%;margin-top:14px;accent-color:var(--accent)}.replay-main-grid{grid-template-columns:minmax(0,2fr) minmax(280px,1fr)}.replay-map{height:480px;border-radius:12px;overflow:hidden;background:#081018;border:1px solid var(--line)}.replay-map-card{min-width:0}.leaflet-container{font-family:inherit}@media(max-width:980px){.replay-main-grid{grid-template-columns:1fr}.replay-map{height:420px}}@media(max-width:640px){.replay-session-field{min-width:100%}.replay-clock{align-items:flex-start}.replay-map{height:340px}}


/* V2.19.2 Phase 2C Director */
.director-bus-grid{display:grid;grid-template-columns:minmax(0,1fr) 150px minmax(0,1fr);gap:14px;align-items:stretch}.director-bus{position:relative;min-height:190px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:10px}.preview-bus{border-color:#315b72}.program-bus{border-color:#71383a}.director-bus-name{font-size:30px;font-weight:900;letter-spacing:-.03em}.director-bus-meta{color:var(--muted)}.director-take-column{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.btn-take{font-size:22px;font-weight:900;padding:18px 24px;background:#8b1f25;border-color:#c43c43;color:#fff;min-width:130px}.btn-take:disabled{opacity:.35}.director-transition{font-size:10px;color:var(--muted);font-weight:800;letter-spacing:.08em}.director-suggestion{margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-color:#594b21;background:#1a160a}.director-transition-controls{display:grid;grid-template-columns:auto auto minmax(130px,1fr);gap:8px;align-items:end}.director-athlete-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.director-athlete-card{border:1px solid var(--line);border-radius:12px;background:#08121a;padding:12px;display:flex;flex-direction:column;gap:10px}.director-athlete-card.is-preview{border-color:#4da8d5;box-shadow:inset 0 0 0 1px rgba(98,208,255,.15)}.director-athlete-card.is-program{border-color:#b34b50;box-shadow:inset 0 0 0 1px rgba(255,111,112,.14)}.director-athlete-head{display:flex;justify-content:space-between;gap:10px}.director-key{display:inline-flex;min-width:21px;height:21px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:5px;margin-right:7px;font-size:10px;color:var(--muted)}.director-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.director-metrics span{background:#0c1821;border-radius:7px;padding:7px}.director-metrics small{display:block;color:var(--muted);font-size:8px}.director-metrics b{display:block;margin-top:3px;font-size:12px}.btn-sm.btn-danger{padding:7px 10px}
@media(max-width:1100px){.director-athlete-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:800px){.director-bus-grid{grid-template-columns:1fr}.director-take-column{padding:4px}.btn-take{width:100%}.director-transition-controls{grid-template-columns:1fr 1fr}.director-transition-controls .field{grid-column:1/-1}.director-athlete-grid{grid-template-columns:1fr}}


/* V2.19.3 Phase 2D Timing / Results */
.timing-void{opacity:.52}.timing-void td{text-decoration-color:rgba(255,255,255,.15)}.timing-file-btn{display:inline-flex;cursor:pointer}.timing-authority{display:flex;gap:6px;flex-wrap:wrap}.timing-results-source{font-size:9px;color:var(--muted)}#section-timing code{font-size:10px}


/* V2.19.6 Context Help */
.help-trigger{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 11px;border:1px solid var(--line);border-radius:10px;background:#0b1822;color:var(--text);font-weight:800;font-size:10px;letter-spacing:.06em;cursor:pointer;white-space:nowrap}
.help-trigger:hover{border-color:#39718f;background:#102330}.help-trigger-icon{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--green);color:#06131a;font-size:13px;font-weight:900}.help-trigger-label{line-height:1}
.modal.help-shell{width:min(1080px,calc(100vw - 28px));max-height:90vh;overflow:hidden;padding:0}.help-modal{max-height:90vh;display:flex;flex-direction:column}.help-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:22px 24px 18px;border-bottom:1px solid var(--line)}.help-head h2{font-size:27px;margin:3px 0 5px}.help-head p{margin:0;color:var(--muted);max-width:760px;line-height:1.5}.help-kicker{font-size:9px;letter-spacing:.16em;color:var(--green);font-weight:800}.help-close{flex:0 0 36px;width:36px;height:36px;border:1px solid var(--line);border-radius:9px;background:#0b1822;color:var(--text);font-size:23px;cursor:pointer}.help-layout{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:0;flex:1}.help-nav{padding:14px;border-right:1px solid var(--line);overflow:auto;background:#08131b}.help-nav-btn{display:block;width:100%;text-align:left;border:0;border-radius:8px;background:transparent;color:var(--muted);padding:9px 10px;font-size:11px;cursor:pointer}.help-nav-btn:hover{background:#0d1e29;color:var(--text)}.help-nav-btn.active{background:#123044;color:#fff;box-shadow:inset 3px 0 0 var(--green)}.help-content{padding:22px 26px 30px;overflow:auto}.help-block{margin-bottom:23px}.help-block h3{font-size:14px;margin:0 0 9px}.help-block ul{margin:0;padding-left:19px;color:#c4d2dc;line-height:1.58}.help-block li+li{margin-top:5px}.help-footer-note{margin-top:26px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#091721;color:var(--muted);font-size:10px;line-height:1.45}
@media(max-width:760px){.topbar{grid-template-columns:40px minmax(0,1fr) auto auto}.help-trigger{width:38px;padding:0;justify-content:center}.help-trigger-label{display:none}.modal.help-shell{width:calc(100vw - 12px);max-height:94dvh}.help-modal{max-height:94dvh}.help-head{padding:17px 16px 14px}.help-head h2{font-size:23px}.help-layout{display:block;overflow:auto}.help-nav{display:flex;gap:6px;overflow:auto;border-right:0;border-bottom:1px solid var(--line);padding:9px}.help-nav-btn{width:auto;white-space:nowrap;padding:8px 10px}.help-nav-btn.active{box-shadow:inset 0 -3px 0 var(--green)}.help-content{padding:18px 17px 24px;overflow:visible}}
@media(max-width:420px){.topbar{grid-template-columns:40px minmax(0,1fr) 38px}.topbar-status{display:none}}

/* V2.19.6 Authorization Gate */
.access-denied-card{text-align:center;max-width:460px}.access-denied-card .brand-mark{margin:0 auto 18px}.access-denied-icon{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 14px;border:1px solid #623036;border-radius:50%;background:#2a1115;color:#ffadad;font-size:28px;font-weight:900}.access-denied-card h1{margin-bottom:9px}.access-denied-user{margin:18px 0 4px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#08131b;color:var(--text);font-size:12px;font-weight:800;word-break:break-all}

/* V2.19.7 Users admin */
#section-users .users-role{min-width:130px}
#section-users table td{vertical-align:middle}
#section-users .status.active{white-space:nowrap}
#section-users .status.waiting{white-space:nowrap}
@media (max-width:780px){
  #section-users .grid-2{grid-template-columns:1fr}
  #section-users .users-role{min-width:110px}
}


/* V2.19.8 — Event Readiness / Pre-flight Center */
.readiness-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 24px;border:1px solid var(--border);border-radius:16px;background:var(--card);margin-bottom:14px}
.readiness-hero-ready{box-shadow:inset 4px 0 0 #59df9a}.readiness-hero-warnings{box-shadow:inset 4px 0 0 #e9b949}.readiness-hero-not-ready{box-shadow:inset 4px 0 0 #ff6969}
.readiness-kicker{font-size:11px;letter-spacing:.14em;color:var(--muted);font-weight:700}.readiness-result{font-size:30px;line-height:1.05;font-weight:800;margin:5px 0 8px}
.readiness-score{display:flex;gap:10px;flex-wrap:wrap}.readiness-score span{min-width:72px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;text-align:center;background:rgba(255,255,255,.018)}.readiness-score b{display:block;font-size:20px}.readiness-score small{font-size:9px;letter-spacing:.12em;color:var(--muted)}
.readiness-note{margin-bottom:16px}.readiness-group{margin-top:16px}.readiness-group>h3{margin:0 0 9px;font-size:14px}
.readiness-check{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--card);margin:7px 0}
.readiness-icon{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-weight:800;border:1px solid var(--border)}
.readiness-pass .readiness-icon{color:#59df9a;border-color:rgba(89,223,154,.4);background:rgba(89,223,154,.08)}.readiness-warning .readiness-icon{color:#e9b949;border-color:rgba(233,185,73,.4);background:rgba(233,185,73,.08)}.readiness-fail .readiness-icon{color:#ff7b7b;border-color:rgba(255,105,105,.45);background:rgba(255,105,105,.08)}.readiness-info .readiness-icon{color:#76c8ff}
.readiness-check-head{display:flex;gap:10px;align-items:center;margin-bottom:3px}.readiness-pill{font-size:9px;letter-spacing:.08em;font-weight:800;border-radius:999px;padding:3px 7px;border:1px solid var(--border)}.readiness-pill-pass{color:#59df9a}.readiness-pill-warning{color:#e9b949}.readiness-pill-fail{color:#ff7b7b}.readiness-pill-info{color:#76c8ff}
@media(max-width:760px){.readiness-hero{align-items:flex-start;flex-direction:column}.readiness-check{grid-template-columns:32px minmax(0,1fr)}.readiness-check>.btn{grid-column:2;justify-self:start}.readiness-result{font-size:24px}}

/* V2.20 PUBLIC TV Director */
.public-tv-director-card{border-color:#294d63}.public-tv-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.public-tv-head h3{margin:4px 0}.public-tv-mode{border:1px solid var(--line);border-radius:999px;padding:7px 10px;font-size:10px;font-weight:900;letter-spacing:.08em}.public-tv-mode.mode-auto{color:#8ef1b9;border-color:#285d45}.public-tv-mode.mode-director{color:#8fd9ff;border-color:#315b72}.public-tv-mode.mode-hold{color:#f3c766;border-color:#655323}.public-tv-bus-grid{display:grid;grid-template-columns:minmax(0,1fr) 150px minmax(0,1fr);gap:14px;margin-top:14px}.public-tv-bus{border:1px solid var(--line);background:#08121a;border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:11px}.public-tv-bus.program{border-color:#315b72}.public-tv-bus>strong{font-size:17px}.public-tv-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.public-tv-take{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px}.public-tv-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:auto}.public-tv-history{margin-top:12px;max-height:220px;overflow:auto}@media(max-width:900px){.public-tv-bus-grid{grid-template-columns:1fr}.public-tv-take .btn-take{width:100%}.public-tv-form{grid-template-columns:1fr}}


/* V2.20.7 — Athletes admin responsive width fix
   Keep the Athletes table inside the available admin content width on desktop.
   Secondary long values are clipped with ellipsis instead of forcing horizontal scroll.
*/
#section-athletes .table-wrap{
  overflow-x:hidden;
  max-width:100%;
}

#section-athletes table{
  width:100%;
  min-width:0;
  table-layout:fixed;
}

#section-athletes th,
#section-athletes td{
  min-width:0;
  padding:10px 8px;
  vertical-align:middle;
}

/* Compact column allocation:
   1 BIB | 2 NAME | 3 CONTACT | 4 PERMANENT LT EMAIL | 5 SETUP |
   6 INTAKE TARGET | 7 RACE | 8 SOURCE | 9 PUBLIC | 10 EXACT GPS |
   remaining columns share compact space.
*/
#section-athletes th:nth-child(1),
#section-athletes td:nth-child(1){width:3%}

#section-athletes th:nth-child(2),
#section-athletes td:nth-child(2){width:7%}

#section-athletes th:nth-child(3),
#section-athletes td:nth-child(3){width:9%}

#section-athletes th:nth-child(4),
#section-athletes td:nth-child(4){width:19%}

#section-athletes th:nth-child(5),
#section-athletes td:nth-child(5){width:12%}

#section-athletes th:nth-child(6),
#section-athletes td:nth-child(6){width:14%}

#section-athletes th:nth-child(7),
#section-athletes td:nth-child(7){width:7%}

#section-athletes th:nth-child(8),
#section-athletes td:nth-child(8){width:8%}

#section-athletes th:nth-child(9),
#section-athletes td:nth-child(9),
#section-athletes th:nth-child(10),
#section-athletes td:nth-child(10){width:5.5%;text-align:center}

/* Long e-mail addresses must never dictate the table width. */
#section-athletes .intake-email{
  min-width:0;
  max-width:100%;
  width:100%;
  gap:4px;
}

#section-athletes .intake-email code{
  display:block;
  min-width:0;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

#section-athletes td a{
  display:block;
  min-width:0;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

#section-athletes .setup-verified-wrap,
#section-athletes .intake-status{
  min-width:0;
  max-width:100%;
}

#section-athletes .setup-verified,
#section-athletes .setup-unverified,
#section-athletes .status{
  font-size:8px;
  padding-left:6px;
  padding-right:6px;
}

#section-athletes .icon-btn{
  flex:0 0 auto;
  padding:4px 5px;
  font-size:7px;
}

#section-athletes .athlete-actions{
  min-width:0;
  gap:4px;
}

/* Medium desktop / laptop widths: remove secondary helper text before allowing scroll. */
@media(max-width:1450px){
  #section-athletes th,
  #section-athletes td{padding:9px 6px}
  #section-athletes th{font-size:8px}
  #section-athletes td{font-size:11px}
  #section-athletes .small,
  #section-athletes td small{font-size:8px}
}

/* On genuinely narrow screens horizontal scrolling is preferable to unreadably tiny cells. */
@media(max-width:1050px){
  #section-athletes .table-wrap{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
  #section-athletes table{
    min-width:1120px;
    table-layout:auto;
  }
  #section-athletes .intake-email{min-width:210px}
}


/* V2.20.8 — Route color editor */
.route-settings-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(90px,.55fr) minmax(145px,.75fr);
  gap:10px;
  align-items:end;
}
.route-color-control{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:40px;
}
.route-color-control input[type="color"]{
  flex:0 0 48px;
  width:48px;
  height:40px;
  padding:3px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#08131c;
  cursor:pointer;
}
.route-color-control code{
  min-width:76px;
  padding:9px 8px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#08131c;
  color:#b8d8f2;
  font-size:10px;
  text-align:center;
}
.discipline-name-color{display:flex;align-items:center;gap:9px}
.discipline-color-dot{
  display:inline-block;
  flex:0 0 14px;
  width:14px;
  height:14px;
  border-radius:50%;
  background:var(--discipline-color,#3B82F6);
  box-shadow:0 0 0 2px rgba(255,255,255,.12);
}
@media(max-width:760px){
  .route-settings-grid{grid-template-columns:1fr 1fr}
  .route-settings-grid .field:last-child{grid-column:1/-1}
}


/* V2.20.9 — Compact desktop admin sidebar */
@media(min-width:761px){
  .app-shell{
    grid-template-columns:220px minmax(0,1fr);
  }

  .sidebar{
    display:flex;
    flex-direction:column;
    height:100vh;
    min-height:0;
    padding:14px 12px 12px;
    overflow:hidden;
  }

  .side-brand{
    margin:0 6px 14px;
    gap:8px;
    flex:0 0 auto;
  }

  .side-brand .brand-mark{
    width:30px;
    height:30px;
    border-radius:8px;
  }

  .side-brand strong{
    font-size:16px;
    line-height:1.05;
  }

  .nav{
    min-height:0;
    flex:1 1 auto;
    gap:1px;
    overflow-y:auto;
    overflow-x:hidden;
    padding-right:2px;
    scrollbar-width:thin;
  }

  .nav-label{
    margin:9px 9px 3px;
    font-size:8px;
    line-height:1.1;
    letter-spacing:.13em;
  }

  .nav button{
    padding:7px 9px;
    border-radius:8px;
    font-size:13px;
    line-height:1.15;
    min-height:30px;
  }

  .sidebar-footer{
    position:static;
    flex:0 0 auto;
    left:auto;
    right:auto;
    bottom:auto;
    margin-top:7px;
    padding:7px 2px 0;
    border-top:1px solid var(--line);
  }

  .sidebar-footer .small{
    font-size:10px;
    line-height:1.15;
  }

  .sidebar-footer .btn{
    padding:6px 8px;
    font-size:11px;
  }
}

@media(min-width:761px) and (max-height:900px){
  .sidebar{padding-top:10px;padding-bottom:8px}
  .side-brand{margin-bottom:9px}
  .nav-label{margin-top:6px;margin-bottom:2px}
  .nav button{
    padding-top:5px;
    padding-bottom:5px;
    min-height:27px;
    font-size:12.5px;
  }
  .sidebar-footer{margin-top:4px;padding-top:5px}
}

@media(min-width:761px) and (max-height:760px){
  .side-brand{margin-bottom:6px}
  .nav-label{margin-top:4px;font-size:7.5px}
  .nav button{
    padding:4px 8px;
    min-height:25px;
    font-size:12px;
  }
  .sidebar-footer .btn{padding:5px 8px}
}
