/* Advanced Team Hub Drill Builder. Compact one-rule-per-line format: the combined stylesheet budget (check-maintainability) leaves no room for comments or indentation here; see docs in the PR that introduced each block. */
.diag-overlay{position:fixed;inset:0;z-index:80;background:rgba(6, 14, 28, .62);backdrop-filter:blur(2px);display:flex;padding:10px;}
.diag-shell{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);width:100%;max-width:none;margin:auto;display:flex;flex-direction:column;height:calc(100dvh - 20px);max-height:calc(100dvh - 20px);overflow:hidden;}
.diag-topbar{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);background:linear-gradient(180deg, var(--primary), #082f70);color:#fff;}
.diag-topbar strong{font-size:16px;}
.diag-hint{font-size:12.5px;opacity:.85;flex:1;min-width:0;}
.diag-top-actions{display:flex;gap:8px;}
.diag-main{display:grid;grid-template-columns:188px 1fr 228px;gap:0;min-height:0;flex:1;align-items:start;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;}
.diag-overlay.details-closed .diag-main{grid-template-columns:188px 1fr 0;}
.diag-overlay.details-closed .diag-meta{display:none;}
.diag-palette{border-right:1px solid var(--border);padding:8px;overflow:visible;background:var(--surface-2);}
.diag-meta{border-left:1px solid var(--border);padding:12px;overflow:visible;}
.diag-canvas-wrap{position:sticky;top:0;align-self:start;width:100%;min-width:0;min-height:min(640px, calc(100dvh - 92px));max-height:calc(100dvh - 92px);padding:8px 10px 10px;display:flex;flex-direction:column;gap:8px;background:var(--bg);}
.diag-stage{position:relative;flex:0 1 auto;min-height:0;display:flex;align-items:flex-start;justify-content:center;}
.diag-canvas{width:100%;height:100%;display:flex;align-items:center;justify-content:center;}
.diag-svg{width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 210px);background:#fff;border:1px solid var(--border);border-radius:8px;touch-action:none;box-shadow:0 1px 2px rgba(6,20,40,.08);}
.diag-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;min-height:36px;}
.diag-tb-group{display:inline-flex;gap:4px;align-items:center;}
.diag-tb-right{margin-left:auto;}
.diag-toolbar .tbtn{display:inline-block;width:auto;margin:0;padding:6px 10px;font-size:12.5px;min-height:34px;}
.diag-toolbar .tbtn.tb:disabled{opacity:.45;cursor:default;}
.diag-toolbar .tbtn.warn:not(:disabled):hover{background:#fdecea;border-color:#d98a84;color:#8b1e28;}
.diag-props{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;min-height:44px;padding:6px 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface);font-size:13px;}
.diag-props-hint{color:var(--muted);font-weight:600;}
.diag-props-kind{font-weight:800;}
.diag-props-pos{color:var(--muted);font-weight:600;font-variant-numeric:tabular-nums;}
.diag-props-colour{display:inline-flex;align-items:center;gap:8px;}
.diag-props-field{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);font-weight:700;}
.diag-props-field input,.diag-props-field select{font:inherit;font-size:13px;font-weight:600;color:var(--text);padding:4px 6px;border:1px solid var(--border);border-radius:6px;background:var(--surface);}
.diag-props-field input{width:88px;}
.diag-props .colorswatch{width:20px;height:20px;}
.diag-props .tbtn{display:inline-block;width:auto;margin:0;padding:6px 10px;font-size:12.5px;}
.diag-props .tbtn.ok:not(:disabled){background:#167a3c;color:#fff;border-color:#167a3c;}
.diag-props .tbtn.warn:not(:disabled):hover{background:#fdecea;border-color:#d98a84;color:#8b1e28;}
.diag-props .tbtn.tb:disabled{opacity:.45;cursor:default;}
.tile-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:4px;}
.tile-grid.cols3{grid-template-columns:repeat(3, 1fr);}
.tbtn.tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:auto;margin:0;padding:3px 2px 4px;min-height:52px;text-align:center;}
.tile-art{display:block;width:30px;height:30px;}
.tile-art .tile-ico{display:block;width:30px;height:30px;}
.tile-cap{font-size:10px;font-weight:800;line-height:1.1;letter-spacing:.1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;}
.tbtn.tile.active .tile-ico{filter:drop-shadow(0 0 1px #fff) brightness(1.25);}
@media (min-width:821px){.diag-overlay:not(.is-animate) .diag-hud-bar:not(.drawing){display:none;}
.diag-hud{inset:10px;}
}
.diag-grp{margin-bottom:8px;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--surface);}
.diag-grp-h{display:flex;align-items:center;gap:6px;width:100%;padding:8px 10px;background:var(--surface-2);border:0;cursor:pointer;color:var(--text);}
.diag-grp-caret{width:12px;color:var(--muted);font-size:11px;}
.diag-grp-t{flex:1;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:800;}
.diag-grp-count{min-width:20px;text-align:center;font-size:11px;font-weight:800;color:var(--primary);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:1px 7px;}
.diag-grp-body{padding:8px;display:block;}
.diag-grp.collapsed .diag-grp-body{display:none;}
.tok-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px;}
.tok-grid .tok{text-align:center;}
.tbtn{display:block;width:100%;text-align:left;margin-bottom:5px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:7px 9px;font-size:13px;font-weight:700;cursor:pointer;}
.tok-grid .tbtn{margin-bottom:0;}
.tbtn:last-child{margin-bottom:0;}
.tbtn:hover{background:var(--surface-2);}
.tbtn.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 0 0 2px var(--accent);}
.tool-select{margin-bottom:8px;text-align:center;}
.diag-tip{margin:6px 2px 0;font-size:11px;color:var(--muted);}
.diag-lbl{font-size:11px;color:var(--muted);font-weight:700;}
.diag-color-row{display:flex;align-items:center;gap:8px;margin:4px 0 10px;flex-wrap:wrap;}
.diag-colors{display:flex;gap:6px;flex-wrap:wrap;}
.colorswatch{width:24px;height:24px;border-radius:50%;border:2px solid var(--border);cursor:pointer;padding:0;}
.colorswatch.is-white{border-color:#9aa7b8;}
.colorswatch.active{outline:3px solid var(--accent);outline-offset:1px;}
.diag-legend{margin-top:12px;}
.diag-legend-box{margin-top:5px;border:1px solid var(--border);border-radius:8px;padding:6px 8px;background:#fff;}
.diag-legend-svg{display:block;}
.diag-snap{display:flex;align-items:center;gap:7px;margin-top:12px;font-size:13px;font-weight:700;color:var(--muted);cursor:pointer;}
.diag-snap input{width:16px;height:16px;}
.diag-hud{position:absolute;inset:14px;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;}
.diag-hud-hint{align-self:center;max-width:92%;margin-top:2px;padding:7px 14px;border-radius:999px;background:rgba(11,35,64,.86);color:#fff;font-size:13px;font-weight:700;box-shadow:var(--shadow);opacity:0;transition:opacity .12s;}
.diag-hud-hint.armed{opacity:1;}
.diag-hud-bar{align-self:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;pointer-events:auto;}
.hud-btn{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:9px 16px;font-size:14px;font-weight:800;cursor:pointer;box-shadow:var(--shadow);min-height:40px;}
.hud-btn:hover{background:var(--surface-2);}
.hud-btn.ok{background:#167a3c;color:#fff;border-color:#167a3c;}
.hud-btn.warn{background:#b5341f;color:#fff;border-color:#b5341f;}
@media (max-width:820px){.diag-overlay{padding:0;}
.diag-shell{height:100dvh;max-height:100dvh;border-radius:0;}
.diag-main{display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
.diag-palette{flex:0 0 auto;overflow:visible;border-right:0;border-bottom:1px solid var(--border);display:grid;grid-template-columns:1fr 1fr;gap:6px;align-content:start;padding:8px;}
.diag-steps-h, .diag-steps, .diag-steps-actions{grid-column:1 / -1;}
.diag-steps-h{margin:0 2px 2px;}
.diag-steps{margin-bottom:2px;}
.diag-step{min-height:38px;padding:7px 10px;}
.diag-steps-actions{margin-bottom:4px;}
.diag-palette .tool-select{grid-column:1 / -1;}
.diag-color-row{grid-column:1 / -1;margin:0 2px 2px;}
.diag-grp{margin:0;}
.diag-grp-h{min-height:40px;}
.diag-grp-body{max-height:172px;overflow-y:auto;overscroll-behavior:contain;}
.diag-meta{order:3;border-left:0;border-top:1px solid var(--border);}
.diag-canvas-wrap{position:relative;top:auto;align-self:stretch;order:2;flex:0 0 auto;min-height:250px;max-height:none;padding:8px 10px 10px;gap:6px;}
.diag-stage{flex:0 0 auto;padding-bottom:66px;}
.diag-toolbar .diag-tb-group[aria-label="Editing"]{display:none;}
.diag-svg{width:100%;max-height:52vh;}
.diag-toolbar{gap:4px 8px;}
.diag-toolbar .tbtn{padding:6px 8px;font-size:12px;}
.diag-tb-right{display:none;}
.diag-props{display:none;}
.tile-grid{grid-template-columns:repeat(4, 1fr);}
.diag-hud{inset:10px;}
.diag-hud-bar{width:100%;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;padding:2px 0;}
.diag-hud-bar::-webkit-scrollbar{display:none;}
.hud-btn{padding:9px 14px;min-height:42px;font-size:14px;}
.diag-hud-bar .hud-btn{flex:0 0 auto;}
.tbtn{padding:9px;}
.diag-hint{display:none;}
.diag-topbar{flex-wrap:wrap;gap:5px 8px;padding:8px 10px;}
.diag-top-actions{flex:1;justify-content:flex-end;}
}
.diag-mode{display:inline-flex;background:rgba(255,255,255,.14);border-radius:999px;padding:3px;gap:2px;}
.diag-mode-btn{border:0;background:transparent;color:#fff;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:800;cursor:pointer;}
.diag-mode-btn.active{background:#fff;color:var(--primary);}
.diag-steps-h{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:800;margin:2px 2px 6px;}
.diag-steps-h span{color:var(--primary);}
.diag-steps{display:flex;flex-direction:column;gap:5px;margin-bottom:7px;}
.diag-step{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:9px;padding:8px 10px;font-size:13px;font-weight:700;cursor:pointer;}
.diag-step small{color:var(--muted);font-weight:700;}
.diag-step.active{background:var(--primary);color:#fff;border-color:var(--primary);}
.diag-step.active small{color:rgba(255,255,255,.8);}
.diag-steps-actions{display:flex;gap:6px;margin-bottom:10px;}
.diag-steps-actions .tbtn{margin:0;}
.diag-steps + .tool-select, .diag-steps-actions + .tool-select{margin-top:4px;}
.diag-anim-bar{align-self:center;display:flex;flex-wrap:wrap;align-items:center;gap:8px;justify-content:center;pointer-events:auto;background:rgba(255,255,255,.96);border:1px solid var(--border);border-radius:999px;padding:8px 12px;box-shadow:var(--shadow);}
.diag-scrub{width:min(360px, 42vw);accent-color:var(--primary);}
.diag-speed{display:inline-flex;gap:4px;}
.diag-speed .spd{padding:7px 10px;min-height:36px;}
.diag-anim-bar .hud-btn{min-height:38px;}
.hud-btn.active{background:var(--primary);color:#fff;border-color:var(--primary);}
.diag-overlay.is-animate .diag-svg{cursor:default;}
@media (max-width:820px){.diag-mode-btn{padding:7px 12px;}
.diag-scrub{width:60vw;}
.diag-anim-bar{gap:6px;padding:8px;}
.diag-anim-bar .hud-btn, .diag-speed .spd{min-height:42px;}
.diag-overlay.is-animate .diag-stage{padding-bottom:148px;}
.diag-overlay.is-animate .diag-svg{max-height:44vh;}
}
.diag-overlay{--surface:#ffffff;--surface-2:#f3f7fb;--text:#061735;--border:#cbd8e6;--primary:#062a4f;--accent:#ffc400;--bg:#eaf1f7;z-index:10020;}
.diag-overlay .btn{min-height:40px;border:1px solid rgba(255, 255, 255, .55);border-radius:9px;padding:8px 13px;background:#ffffff;color:#062a4f;font:inherit;font-weight:800;cursor:pointer;}
.diag-overlay .btn.primary{border-color:#187b85;background:#187b85;color:#ffffff;}
.diag-overlay .field{display:grid;gap:5px;margin-bottom:12px;color:var(--text);font-size:12px;font-weight:800;}
.diag-overlay .field input,
.diag-overlay .field select,
.diag-overlay .field textarea{width:100%;min-width:0;border:1px solid var(--border);border-radius:8px;padding:9px 10px;background:var(--surface);color:var(--text);font:inherit;font-weight:500;}
.diag-overlay .field textarea{min-height:84px;resize:vertical;}
.diag-overlay .req{color:#9c2430;}
.diag-save-error{margin:0 0 12px;border:1px solid #b9474f;border-radius:8px;padding:9px 10px;background:#fff0f1;color:#8b1e28;font-size:12px;font-weight:800;}
.drill-board-rich-preview{width:100%;height:auto;object-fit:contain;}
.diag-overlay.is-preview .diag-main{grid-template-columns:210px minmax(0, 1fr);}
.diag-overlay.is-preview .diag-meta{display:none;}
body.dark-mode .diag-overlay{--surface:#0f1b28;--surface-2:#142a3f;--text:#eaf2fb;--border:#29435c;--bg:#0a1622;}
@media (max-width:820px){.diag-shell{min-height:100dvh;max-height:100dvh;}
.diag-topbar strong{width:100%;font-size:15px;line-height:1.2;}
.diag-mode{width:100%;flex:1 0 100%;display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));}
.diag-mode-btn{min-height:36px;padding:5px 8px;}
.diag-top-actions{width:100%;flex:1 0 100%;display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));}
.diag-top-actions .btn{min-height:38px;padding:6px;font-size:12px;white-space:nowrap;}
.diag-overlay.is-preview .diag-mode{grid-template-columns:repeat(2, minmax(0, 1fr));}
.diag-overlay.is-preview .diag-top-actions{grid-template-columns:minmax(0, 1fr);}
.diag-overlay.is-preview .diag-main{grid-template-columns:minmax(0, 1fr);}
}
.plan-drill-browser{flex:1 1 100%;display:grid;grid-template-columns:minmax(240px, .9fr) minmax(300px, 1.1fr);gap:14px;align-items:stretch;min-width:0;}
.plan-drill-list{min-height:320px;max-height:360px;overflow-y:auto;padding:6px !important;}
.plan-drill-list option{padding:8px 9px;border-radius:6px;}
.plan-drill-preview{min-width:0;min-height:320px;border:1px solid #d7e2ee;border-radius:12px;background:#f8fbfe;padding:14px;}
.plan-picker-preview-card{display:grid;gap:12px;height:100%;}
.plan-picker-preview-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.plan-picker-preview-card header > div{display:grid;gap:4px;min-width:0;}
.plan-picker-preview-card h4{margin:0;color:#061735;font-size:17px;}
.plan-picker-preview-card > p{margin:0;color:#33465c;font-size:13px;white-space:pre-wrap;}
.plan-picker-board{display:grid;gap:6px;margin:0;align-content:start;}
.plan-picker-diagram{overflow:hidden;border:1px solid #d7e2ee;border-radius:10px;background:#eef6fb;}
.plan-picker-diagram .plan-picker-diagram-svg{display:block;width:100%;height:auto;}
.plan-picker-board figcaption{color:#6b7a8d;font-size:11px;font-weight:800;text-transform:uppercase;}
.plan-picker-no-board,
.plan-picker-empty{display:grid;place-content:center;gap:5px;min-height:210px;border:1px dashed #bdcad8;border-radius:10px;color:#5d6d80;text-align:center;}
.plan-picker-empty span{font-size:12px;}
body.dark-mode .plan-drill-preview{border-color:#29435c;background:#12202f;}
body.dark-mode .plan-picker-preview-card h4{color:#eaf2fb;}
body.dark-mode .plan-picker-preview-card > p{color:#b9c8da;}
body.dark-mode .plan-picker-diagram{border-color:#29435c;background:#142a3f;}
body.dark-mode .plan-picker-no-board,
body.dark-mode .plan-picker-empty{border-color:#3a526a;color:#b9c8da;}
@media (max-width:720px){.plan-drill-browser{grid-template-columns:1fr;}
.plan-drill-list{min-height:230px;max-height:260px;}
.plan-drill-preview{min-height:0;}
.plan-picker-preview-card header{flex-direction:column;}
}
