:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#192d34;background:#edf2f3}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #cbd8dc;border-radius:7px;background:#fff;color:#234049;padding:8px 11px}button:hover{background:#e6f1f2}button.primary{color:white;background:#14675c;border-color:#14675c}button.active{color:#fff;background:#163d47;border-color:#163d47}#walkRecordToggle.recording{color:#fff;background:#c0392b;border-color:#c0392b;animation:rec-pulse 1.4s infinite}@keyframes rec-pulse{0%,100%{opacity:1}50%{opacity:.6}}.flash{animation:flash-pulse .5s ease-out}@keyframes flash-pulse{0%{filter:drop-shadow(0 0 0 #ffd166)}50%{filter:drop-shadow(0 0 9px #ffd166)}100%{filter:drop-shadow(0 0 0 transparent)}}.tracer-line{pointer-events:none;animation:tracer-fade .26s ease-out forwards}@keyframes tracer-fade{0%{opacity:.9}100%{opacity:0}}header{height:66px;position:sticky;top:0;z-index:20;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:8px 20px;border-bottom:1px solid #d8e3e6}.brand{display:flex;align-items:center;gap:11px;white-space:nowrap}.mark{font-size:31px;color:#15887b}.brand strong{display:block;font-size:19px;letter-spacing:-.4px}.brand small{display:block;font-size:11px;color:#71838a}.top-actions{display:flex;gap:6px;overflow:auto;align-items:center}.top-actions button{white-space:nowrap;font-size:12px}.layer-toggle-inline{display:flex;align-items:center;gap:5px;font-size:11px;color:#567078;white-space:nowrap}.top-actions .layer-toggle-inline{font-size:12px}.layer-toggle-inline input{width:auto}#planPanel .layer-toggle-inline{margin-bottom:9px}.menu{position:relative;display:inline-flex}.menu-dropdown{position:fixed;z-index:999;background:#fff;border:1px solid #cbd8dc;border-radius:8px;box-shadow:0 10px 28px #14283c33;display:flex;flex-direction:column;gap:2px;padding:6px;min-width:150px}.menu-dropdown[hidden]{display:none}.menu-dropdown button{white-space:nowrap;text-align:left}.workspace{height:calc(100vh - 66px);min-height:560px;display:grid;grid-template-columns:205px minmax(420px,1fr) 294px;grid-template-rows:minmax(0,1fr);overflow:hidden}body.role-viewer #newBtn,body.role-viewer #exportMenu,body.role-viewer #duplicateBtn,body.role-viewer #deleteBtn,body.role-viewer .library,body.role-viewer .details{display:none!important}body.role-viewer .workspace{grid-template-columns:minmax(420px,1fr)}@media(max-width:960px){.workspace{grid-template-columns:150px minmax(320px,1fr) 230px}.item{font-size:12px;padding:7px}.top-actions button{font-size:11px;padding:7px 9px}}.library,.details{background:#fff;overflow:auto;min-height:0;overscroll-behavior:contain}.library{border-right:1px solid #dce6e8}.details{border-left:1px solid #dce6e8}.panel-head{font-size:11px;font-weight:800;letter-spacing:1.2px;color:#2a555d;padding:17px 16px 9px;border-bottom:1px solid #e9eff1}.panel-head span{float:right;font-size:10px;font-weight:400;letter-spacing:0;color:#80949b}#palette{padding:10px}.category-section{margin-bottom:2px}.category{all:unset;cursor:pointer;display:flex;align-items:center;gap:6px;width:100%;font-size:10px;font-weight:700;color:#8b9da2;letter-spacing:1px;margin:12px 5px 5px;padding:2px 0}.category:hover{color:#5f767d}.category-caret{display:inline-block;font-size:9px;transition:transform .15s}.category-section.collapsed .category-caret{transform:rotate(-90deg)}.category-section.collapsed .category-body{display:none}.item{width:100%;text-align:left;border:0;padding:8px 10px;margin:1px 0;display:flex;align-items:center;gap:9px;background:transparent;font-size:13px;touch-action:none}.palette-ghost{position:fixed;z-index:999;pointer-events:none;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;background:#163d47ee;color:#fff;font-size:20px;box-shadow:0 6px 18px #14273099;opacity:.92}.palette-ghost.over{background:#14675cee}.item:hover{background:#eaf4f2}.item .icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid #dae4e5;border-radius:4px;color:#136b61;font-size:15px}.tip{margin:12px;padding:10px;background:#f1f6f5;border-radius:6px;font-size:11px;line-height:1.5;color:#688087}main{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.toolbar{display:flex;justify-content:space-between;flex-wrap:wrap;gap:7px;background:#fff;border-bottom:1px solid #dce6e8;padding:8px}.tools{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.tools button{font-size:12px;padding:6px 8px}.tools label{font-size:11px;display:flex;align-items:center;gap:5px;color:#567078}.tools select{font-size:11px}.tools input[type=range]{width:70px}.canvas-wrap{overflow:auto;flex:1;min-height:0;overscroll-behavior:contain;padding:32px;background:#e9eff0;display:flex;align-items:flex-start;justify-content:center}#editor{display:block;background:#fff;box-shadow:0 9px 32px #28454b24;flex:none;touch-action:none}#editor g[data-id]{cursor:move}#editor g[data-id]:hover{filter:drop-shadow(0 0 3px #0a988f66)}.status{background:#fff;border-top:1px solid #dce6e8;padding:6px 14px;font-size:11px;color:#60767d;display:flex;justify-content:space-between}.fields{padding:12px 15px}.fields label{display:block;font-size:11px;font-weight:650;color:#587078;margin-bottom:9px}.fields input:not([type=checkbox]),.fields textarea,.fields select{width:100%;margin-top:4px;padding:7px;border:1px solid #d5e1e3;border-radius:5px;color:#1b3840;background:white;font-weight:400;resize:vertical}.fields input:focus,.fields textarea:focus{outline:2px solid #71bcb4}.split{display:grid;grid-template-columns:1fr 1fr;gap:8px}.muted{font-size:12px;color:#91a1a4}.layer{display:flex!important;gap:7px;align-items:center;margin:5px 0!important}.check{font-size:11px;padding:5px 0;color:#476269}.warn{color:#a36718}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#163d47;color:white;padding:10px 18px;border-radius:7px;display:none;box-shadow:0 4px 15px #0003;z-index:5}dialog{border:0;border-radius:12px;box-shadow:0 15px 60px #0004;min-width:360px;max-width:90vw}dialog::backdrop{background:#19383f80}dialog h2{font-size:18px}.saved{display:flex;gap:10px;align-items:center;border-bottom:1px solid #e4ecee;padding:10px}.saved div{flex:1}.saved small{display:block;color:#80949b}.dialog-actions{text-align:right;margin-top:15px}@media(max-width:1050px){.workspace{grid-template-columns:155px minmax(320px,1fr) 235px}.top-actions button{padding:6px}.library .item{font-size:11px}}@media(max-width:740px){header{height:auto;flex-wrap:wrap}.workspace{height:auto;display:flex;flex-direction:column}.library{max-height:160px}.library #palette{display:flex;overflow:auto}.library .category{display:none}.library .item{min-width:95px}.canvas-wrap{height:65vh}.details{max-height:none}}@media print{header,.library,.details,.toolbar,.status,#toast{display:none!important}.workspace,main,.canvas-wrap{display:block;height:auto;overflow:visible;padding:0;background:white}#editor{box-shadow:none;margin:auto;width:100%!important;height:auto!important}body{background:white}@page{size:A4 portrait;margin:10mm}}

.dialog-note{max-width:520px;font-size:12px;line-height:1.5;color:#60777d}.template-list{max-height:55vh;overflow:auto}.template-card{width:100%;text-align:left;display:block;padding:12px;margin:7px 0;border:1px solid #dae6e7;border-radius:8px;background:#f9fbfb}.template-card:hover{background:#e8f3f0}.template-card strong{display:block}.template-card small{display:block;color:#617a81;margin-top:3px}.dialog-field{display:block;margin:13px 0;font-size:12px;color:#4c6970}.dialog-field input,.dialog-field select{display:block;width:100%;margin-top:5px;padding:8px;border:1px solid #cbd8dc;border-radius:6px}

#hoverCard{position:fixed;z-index:10;pointer-events:none;max-width:300px;min-width:220px;background:#173a43;color:#f5f9f9;border:1px solid #497479;border-radius:10px;padding:12px 14px;box-shadow:0 10px 28px #142c3c55;font-size:12px;line-height:1.5}
#hoverCard[hidden]{display:none}#hoverCard strong{font-size:14px}#hoverCard .hover-id{font-size:11px;color:#abd0cc;margin-left:6px}#hoverCard .hover-row{display:flex;justify-content:space-between;gap:18px;margin-top:7px;border-top:1px solid #ffffff26;padding-top:7px}#hoverCard .hover-row span:first-child{color:#abc7c7}#hoverCard .hover-row span:last-child{text-align:right;font-weight:600}.modal-icon{width:38px;height:38px;display:grid;place-items:center;background:#edf4f3;color:#14675c;border-radius:10px;font-size:26px}dialog{padding:24px;min-width:min(420px,90vw)}dialog h2{margin:12px 0 5px}button.danger{background:#a9463e;color:#fff;border-color:#a9463e}button.danger:hover{background:#8b342e}.zone-choice{display:flex!important;align-items:center;gap:7px;margin:7px 0!important}.zone-help{font-size:11px;color:#819197;line-height:1.4;margin:7px 0 12px}

.walkthrough[hidden]{display:none}.walkthrough{position:fixed;inset:0;z-index:20;background:#132d37;color:#fff;overflow:hidden}.walk-canvas,.walk-canvas canvas{width:100%;height:100%;display:block;touch-action:none}.walk-top{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:flex-start;gap:15px;padding:18px 24px;background:linear-gradient(#102b37d9,#102b3700);pointer-events:none}.walk-title strong{display:block;font-size:21px}.walk-title span{font-size:11px;color:#c0d7db}.walk-top button{pointer-events:auto;background:#143a46;color:#fff;border-color:#80a3a9}.walk-crosshair{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:27px;font-weight:200;color:#fff9;text-shadow:0 0 4px #000;pointer-events:none}.walk-map{position:absolute;top:85px;right:20px;background:#15343fdf;border:1px solid #658a92;border-radius:9px;padding:8px;text-align:center;box-shadow:0 5px 20px #0004}.walk-map canvas{width:210px;height:235px;display:block}.walk-map span{font-size:11px;color:#c2d4d6}.walk-bottom{position:absolute;left:20px;bottom:18px;max-width:600px;background:#15343fe0;border:1px solid #688d94;border-radius:9px;padding:12px 16px;font-size:12px;line-height:1.7;color:#c4d8db}.walk-focus{font-weight:700;color:#fff;font-size:14px}.walk-intro{position:absolute;inset:0;display:grid;place-items:center;background:#122d37b8;backdrop-filter:blur(5px)}.walk-intro[hidden]{display:none}.walk-intro-card{width:min(460px,90vw);background:#fff;color:#19373f;padding:27px;border-radius:15px;box-shadow:0 20px 60px #0006}.walk-intro-card h2{margin:14px 0 8px}.walk-intro-card p{line-height:1.6;color:#62767d;font-size:13px}.walk-intro-card button{margin-left:7px}@media(max-width:700px){.walk-map{top:73px;right:9px;transform:scale(.7);transform-origin:top right}.walk-bottom{right:10px;left:10px;bottom:10px}.walk-top{padding:10px}}@media print{.walkthrough{display:none!important}}
.walk-touch-controls{display:none;position:absolute;inset:0;pointer-events:none}
.walkthrough.touch-mode .walk-touch-controls{display:block}
.walk-touch-joystick{position:absolute;left:22px;bottom:30px;width:118px;height:118px;border-radius:50%;background:#ffffff1f;border:2px solid #ffffff55;touch-action:none;pointer-events:auto}
.walk-touch-knob{position:absolute;left:50%;top:50%;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;background:#ffffffb3;box-shadow:0 2px 8px #0006;pointer-events:none}
.walk-touch-actions{position:absolute;right:18px;bottom:30px;display:flex;flex-direction:column;gap:10px;align-items:flex-end;pointer-events:auto}
.walk-touch-btn{min-width:88px;padding:13px 18px;border-radius:30px;border:2px solid #ffffff55;background:#15343fdd;color:#fff;font-weight:700;font-size:13px;touch-action:none}
.walk-touch-fire{background:#a9332eea;border-color:#ffb9a8}
.walkthrough.touch-mode .walk-bottom{bottom:auto;top:78px}

.walk-timer-panel{position:absolute;top:82px;left:20px;width:min(370px,calc(100vw - 40px));padding:13px 16px;background:#15343fe8;border:1px solid #668e93;border-radius:10px;box-shadow:0 5px 20px #0004}.timer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.timer-head span{font-size:12px;color:#b4d4d2}.timer-head strong{font:700 24px Consolas,monospace;font-variant-numeric:tabular-nums}.timer-actions{display:flex;gap:5px;margin:6px 0}.timer-actions button{background:#214956;color:#fff;border-color:#537d82;font-size:11px;padding:7px 8px;flex:1}.timer-actions button:hover{background:#31606a}.timer-actions button:disabled{opacity:.45;cursor:default}.walk-timer-panel small{display:block;color:#a5c0c1;font-size:10px;margin-top:7px}.walk-score{position:absolute;right:20px;top:345px;bottom:25px;width:245px;overflow:auto;background:#15343fe8;border:1px solid #668e93;border-radius:9px;padding:11px 13px;font-size:11px;line-height:1.5}.walk-score strong{font-size:13px}.score-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:8px}.score-grid div{background:#ffffff14;padding:6px;border-radius:5px}.score-grid b{font-size:14px;display:block}.score-section{border-top:1px solid #ffffff30;margin-top:12px;padding-top:8px;font-weight:700}.score-row{display:flex;justify-content:space-between;gap:8px;padding:3px 0;border-bottom:1px solid #ffffff18}.score-row span:last-child{text-align:right}.score-warn{color:#ffba85}.score-good{color:#a2dec9}.shot-feedback{position:absolute;left:50%;top:57%;transform:translateX(-50%);font-weight:800;font-size:23px;text-shadow:0 2px 8px #000b;pointer-events:none;opacity:0;transition:opacity .1s}.shot-feedback.show{opacity:1}.session-history{max-height:55vh;overflow:auto;min-width:min(450px,80vw)}.history-card{padding:12px 4px;border-bottom:1px solid #dce6e7;font-size:12px}.history-card strong{display:block}.history-card small{display:block;color:#74898e;margin:4px 0}.history-card button{margin:5px 5px 0 0;font-size:11px}@media(max-width:900px){.walk-score{right:10px;top:auto;bottom:130px;width:210px;max-height:230px}.walk-map{display:none}.walk-bottom{max-width:calc(100vw - 250px)}}@media(max-width:620px){.walk-timer-panel{top:64px;left:8px}.walk-score{top:auto;right:8px;bottom:94px;max-height:150px;width:calc(100vw - 16px)}.walk-bottom{display:none}}
.walk-timer-panel{position:absolute;top:82px;left:20px;width:min(370px,calc(100vw - 40px));padding:13px 16px;background:#15343fe8;border:1px solid #668e93;border-radius:10px;box-shadow:0 5px 20px #0004}.timer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.timer-head span{font-size:12px;color:#b4d4d2}.timer-head strong{font:700 24px Consolas,monospace;font-variant-numeric:tabular-nums}.walk-ammo{margin:0 0 8px;padding:5px 8px;border-radius:5px;background:#ffffff12;color:#d8e9ea;font:600 12px Consolas,monospace}.timer-actions{display:flex;gap:5px;margin:6px 0}.timer-actions button{background:#214956;color:#fff;border-color:#537d82;font-size:11px;padding:7px 8px;flex:1}.timer-actions button:hover{background:#31606a}.timer-actions button:disabled{opacity:.45;cursor:default}.walk-toggle{display:flex;align-items:center;gap:5px;font-size:11px;color:#cfe3e2;white-space:nowrap;flex:0 0 auto}.walk-timer-panel small{display:block;color:#a5c0c1;font-size:10px;margin-top:7px}.walk-score{position:absolute;right:20px;top:345px;bottom:25px;width:245px;overflow:auto;background:#15343fe8;border:1px solid #668e93;border-radius:9px;padding:11px 13px;font-size:11px;line-height:1.5}.walk-score strong{font-size:13px}.score-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:8px}.score-grid div{background:#ffffff14;padding:6px;border-radius:5px}.score-grid b{font-size:14px;display:block}.score-section{border-top:1px solid #ffffff30;margin-top:12px;padding-top:8px;font-weight:700}.score-row{display:flex;justify-content:space-between;gap:8px;padding:3px 0;border-bottom:1px solid #ffffff18}.score-row span:last-child{text-align:right}.score-warn{color:#ffba85}.score-good{color:#a2dec9}.shot-feedback{position:absolute;left:50%;top:57%;transform:translateX(-50%);font-weight:800;font-size:23px;text-shadow:0 2px 8px #000b;pointer-events:none;opacity:0;transition:opacity .1s}.shot-feedback.show{opacity:1}.session-history{max-height:55vh;overflow:auto;min-width:min(450px,80vw)}.history-card{padding:12px 4px;border-bottom:1px solid #dce6e7;font-size:12px}.history-card strong{display:block}.history-card small{display:block;color:#74898e;margin:4px 0}.history-card button{margin:5px 5px 0 0;font-size:11px}@media(max-width:900px){.walk-score{right:10px;top:auto;bottom:130px;width:210px;max-height:230px}.walk-map{display:none}.walk-bottom{max-width:calc(100vw - 250px)}}@media(max-width:620px){.walk-timer-panel{top:64px;left:8px}.walk-score{top:auto;right:8px;bottom:94px;max-height:150px;width:calc(100vw - 16px)}.walk-bottom{display:none}}

.walk-intro{pointer-events:none}.walk-intro-card{pointer-events:auto}
#webglErrorDialog{max-width:min(550px,94vw)}#webglErrorDialog details{margin-top:14px;color:#526b73;font-size:12px}#webglErrorDialog pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:150px;overflow:auto;background:#edf3f3;padding:10px;border-radius:7px}

/* Visier als echtes Foto der eigenen Waffe (Kimme/Korn bzw. Rotpunkt) statt gezeichneter CSS-Formen.
   Der Ausrichtungspunkt im zugeschnittenen Foto (Korn-Spitze bzw. Rotpunkt-Zentrum, ermittelt per
   tools/process_sight_images.py, siehe static/assets/sights/manifest.json) wird per transform exakt
   auf die Bildschirmmitte gelegt, wo der Raycast tatsächlich feuert. */
.walk-crosshair{width:190px;height:264px;transform:translate(-97.9px,-54.9px);background:url(/static/assets/sights/red-dot.png) no-repeat;background-size:190px 264px}
.walk-crosshair.iron{width:190px;height:210px;transform:translate(-92.7px,-16.4px);background-image:url(/static/assets/sights/iron-sight.png);background-size:190px 210px}
.walkthrough.ui-mode .walk-crosshair{opacity:.2}.walkthrough.ui-mode .walk-bottom::after{content:"Bedienmodus · in die 3D-Fläche klicken zum Weitergehen";display:block;margin-top:5px;color:#9fdbcf;font-weight:700}
.walk-safety-alert{position:absolute;top:92px;left:50%;transform:translateX(-50%);z-index:8;width:min(520px,calc(100vw - 32px));padding:14px 18px;border:1px solid #ffb5a9;border-left:6px solid #df4338;border-radius:10px;background:#fff7f4ed;color:#62231f;box-shadow:0 10px 34px #0006;backdrop-filter:blur(7px);animation:safety-pop .18s ease-out}.walk-safety-alert[hidden]{display:none}.walk-safety-alert strong{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:12px;color:#b52e27}.walk-safety-alert span{display:block;margin-top:4px;font-size:14px;font-weight:650}@keyframes safety-pop{from{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%,0)}}
.field-summary{display:block;margin-top:5px;color:#71868b;font-weight:400;line-height:1.35}.fields label>button{display:block;width:100%;margin-top:4px}.magazine-rows{display:grid;gap:8px;margin:15px 0;max-height:50vh;overflow:auto}.magazine-row{display:grid;grid-template-columns:34px minmax(90px,1fr) 110px 38px 38px 38px;gap:6px;align-items:end;padding:9px;background:#f2f7f6;border:1px solid #d9e5e5;border-radius:8px}.magazine-row .order{align-self:center;text-align:center;font-weight:800;color:#2b5b63}.magazine-row label{font-size:11px;color:#557077}.magazine-row input{display:block;width:100%;margin-top:3px;padding:7px;border:1px solid #cbd8dc;border-radius:5px}.zone-picker{max-height:190px;overflow:auto;padding:7px 9px;border:1px solid #d7e3e5;border-radius:7px;background:#f8fbfb}.zone-picker-actions{display:flex;gap:6px;margin:6px 0}.zone-picker-actions button{padding:5px 9px;font-size:11px}@media(max-width:600px){.magazine-row{grid-template-columns:32px 1fr 90px}.magazine-row button{grid-row:2}}
.graphic-editor-toolbar{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:10px 0}.graphic-editor-toolbar label{font-size:11px;color:#557077;display:flex;align-items:center;gap:5px}.graphic-editor-toolbar button{font-size:11px;padding:6px 9px}.graphic-canvas-wrap{position:relative;width:max-content;margin:0 auto}#graphicCanvas{display:block;border:1px solid #cbd8dc;border-radius:7px;background:#fff;cursor:crosshair;touch-action:none;max-width:100%}#graphicZoneOverlay{position:absolute;left:0;top:0;pointer-events:none}#graphicEditorHint{display:block;text-align:center;margin-top:8px}.dialog-actions.scope-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.admin-page{min-height:100vh;display:flex;flex-direction:column}.admin-wrap{flex:1;display:flex;align-items:center;justify-content:center;padding:30px}.admin-wrap-wide{display:block;max-width:900px;margin:0 auto}.admin-card{width:min(360px,100%);background:#fff;border:1px solid #dce6e8;border-radius:12px;padding:26px}.admin-card h1{margin:0 0 4px;font-size:20px}.admin-error{background:#fbe7e5;color:#8b342e;border:1px solid #f0c2bd;border-radius:7px;padding:8px 11px;font-size:12px;margin:12px 0 0}.admin-table{width:100%;border-collapse:collapse;margin-top:16px;font-size:13px}.admin-table th,.admin-table td{text-align:left;padding:9px 10px;border-bottom:1px solid #e9eff1}.admin-role-form{display:flex;gap:6px;align-items:center}.admin-role-form select{padding:6px}.admin-token-reveal{background:#eaf7f1;border:1px solid #9fd6b8;border-radius:8px;padding:12px 14px;margin:14px 0;font-size:13px}.admin-token-reveal code{display:block;margin-top:6px;padding:8px;background:#fff;border:1px solid #cfe6d8;border-radius:6px;word-break:break-all;font-size:13px}.admin-token-reveal img{display:block;margin:8px 0}.admin-inline-form{display:inline-flex;gap:5px;align-items:center;margin:2px 4px 2px 0}.admin-inline-form input{padding:5px;font-size:12px}.admin-token-list{list-style:none;margin:0 0 6px;padding:0;font-size:12px}.admin-token-list li{display:flex;gap:7px;align-items:center;margin:3px 0}.admin-token-list small{color:#819197}.dashboard-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:12px 0 18px;flex-wrap:wrap}.dashboard-head h1{margin:0;font-size:22px}.dashboard-empty{color:#71838a;font-size:13px;padding:20px;background:#fff;border:1px solid #dce6e8;border-radius:10px}.dashboard-card{display:flex;justify-content:space-between;align-items:center;gap:14px;background:#fff;border:1px solid #dce6e8;border-radius:10px;padding:14px 16px;margin-bottom:10px;flex-wrap:wrap}.dashboard-card-info strong{display:block;font-size:15px}.dashboard-card-info small{color:#80949b}.dashboard-card-actions{display:flex;gap:7px;flex-wrap:wrap}
.auth-status{display:flex;align-items:center;gap:9px;font-size:11px;color:#71838a;white-space:nowrap;padding-left:10px;border-left:1px solid #d8e3e6}.auth-status span{white-space:nowrap}.auth-status a,.auth-status form button{font-size:11px;padding:6px 9px}.auth-status form{display:inline;margin:0}.main-nav{display:flex;gap:4px;align-items:center}.main-nav-link{display:inline-flex;align-items:center;text-decoration:none;color:#567078;font-size:13px;font-weight:600;padding:8px 13px;border-radius:7px;white-space:nowrap}.main-nav-link:hover{background:#eaf4f2;color:#173e46}.main-nav-link.active{background:#163d47;color:#fff}.license-badge{display:inline-block;padding:4px 11px;border-radius:999px;font-size:11px;font-weight:700;background:#eef3f3;color:#44636a;white-space:nowrap}.license-badge-founder{background:#fde9c8;color:#8a5a12}.license-badge-pro{background:#dff3ea;color:#15664f}.license-badge-club{background:#e4e9fb;color:#333f94}
.btn-link-primary{display:inline-block;text-decoration:none;color:#fff;background:#14675c;border:1px solid #14675c;border-radius:7px;padding:8px 11px;font-size:14px}.btn-link-primary:hover{background:#0f5049}.button-link{display:inline-flex;align-items:center;text-decoration:none;cursor:pointer;border:1px solid #cbd8dc;border-radius:7px;background:#fff;color:#234049;padding:8px 11px;font-size:12px;white-space:nowrap}.button-link:hover{background:#e6f1f2}
.walk-safety-alert.dq{top:50%;transform:translate(-50%,-50%);width:min(640px,calc(100vw - 32px));padding:26px 30px;border:3px solid #fff;border-left:3px solid #fff;background:#c0261dfa;color:#fff;text-align:center;animation:dq-pulse 1s ease-in-out infinite}.walk-safety-alert.dq strong{font-size:46px;letter-spacing:.14em;color:#fff}.walk-safety-alert.dq span{font-size:17px;margin-top:10px}@keyframes dq-pulse{50%{box-shadow:0 0 0 12px #c0261d55,0 10px 34px #0006}}.score-grid .dq-card{grid-column:1/-1;background:#c0261d;color:#fff;font-weight:800;letter-spacing:.12em;text-align:center;padding:10px;border-radius:8px}.score-grid .dq-card b{display:block;margin-top:4px;font-size:12px;letter-spacing:0;font-weight:600;color:#fff}

.plan-steps{list-style:none;margin:8px 0;padding:0;max-height:260px;overflow:auto;font-size:12px}.plan-steps li{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:6px;padding:4px 6px;border-left:4px solid #14675c;background:#f4f8f8;margin-bottom:3px;border-radius:4px}.plan-steps li.plan-shoot{border-color:#c0392b}.plan-steps li.plan-reload{border-color:#2d6fa3}.plan-steps li.plan-wait{border-color:#7a7a7a}.plan-steps small{color:#71868b}.plan-steps input{width:54px;padding:2px 4px}.plan-steps button{padding:0 7px;line-height:20px}.plan-warnings{white-space:pre-line;color:#a5392f}#planLayer{pointer-events:none}
