:root{--color-bg-app: #1e1e1e;--color-bg-tab: #202020;--color-bg-sub-nav: #2c2c2c;--color-outline-bright: #5f6368;--color-outline-subtle: #363636;--color-text: #d2d2d2;--color-text-muted: #868686;--color-text-on-accent: #111111;--color-primary: #c7df30;--color-primary-hover: #d5ea4a;--color-primary-disabled: #83911f;--color-accent: #c7df30;--color-shadow: #0c0c0c;--color-map-space-outline: #3c4043;--focus-ring: #e5f26d;--font-family-base: Inter, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--line-height-base: 1.5;--radius-pill: 999px;--radius-md: .625rem;--shadow-sm: 0 2px 6px rgb(12 12 12 / 35%);--shadow-md: 0 8px 22px rgb(12 12 12 / 45%);--transition-fast: .14s ease;--transition-normal: .22s ease}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;font-synthesis:none;text-rendering:optimizeLegibility;overflow-x:hidden}body{margin:0;min-height:100vh;background-color:var(--color-bg-app);color:var(--color-text);font-family:var(--font-family-base);line-height:var(--line-height-base);overflow-x:hidden}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}a{color:inherit}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.btn-pill{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.5rem;padding:.625rem 1.125rem;border:1px solid transparent;border-radius:var(--radius-pill);font-size:.95rem;font-weight:600;line-height:1;text-decoration:none;cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-normal),transform var(--transition-fast)}.btn-pill:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-pill:active:not(:disabled){transform:translateY(0)}.btn-pill:disabled,.btn-pill[aria-disabled=true]{cursor:not-allowed;opacity:.65;box-shadow:none}.btn-primary{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-on-accent)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-primary:disabled,.btn-primary[aria-disabled=true]{background-color:var(--color-primary-disabled);border-color:var(--color-primary-disabled);color:#111111c7}.btn-accent{background-color:var(--color-bg-sub-nav);border-color:var(--color-outline-bright);color:var(--color-text)}.btn-accent:hover:not(:disabled){background-color:var(--color-bg-tab);border-color:var(--color-map-space-outline);color:#f0f0f0}.btn-accent:disabled,.btn-accent[aria-disabled=true]{background-color:#252525;border-color:var(--color-outline-subtle);color:var(--color-text-muted)}.icon-circle-btn{--icon-circle-btn-size: 1.75rem;display:inline-flex;align-items:center;justify-content:center;width:var(--icon-circle-btn-size);height:var(--icon-circle-btn-size);border:1px solid var(--color-outline-bright);border-radius:var(--radius-pill);background:var(--color-bg-tab);color:inherit;cursor:pointer;flex-shrink:0;transition:background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-normal),transform var(--transition-fast)}.icon-circle-btn--lg{--icon-circle-btn-size: 2rem}.icon-circle-btn:hover:not(:disabled){background:var(--color-bg-sub-nav);border-color:var(--color-map-space-outline);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.icon-circle-btn:active:not(:disabled){transform:translateY(0)}.icon-circle-btn:disabled,.icon-circle-btn[aria-disabled=true]{cursor:not-allowed;opacity:.65;box-shadow:none}.icon-circle-btn__icon{display:block}.text-display{margin:0;font-size:clamp(1.75rem,1.2rem + 2vw,2.75rem);font-weight:700;line-height:1.15;letter-spacing:-.02em}.text-title{margin:0;font-size:clamp(1.35rem,1.1rem + 1vw,2rem);font-weight:650;line-height:1.2}.text-subtitle{margin:0;font-size:1.125rem;font-weight:500;line-height:1.35;color:var(--color-text-muted)}.text-body{margin:0;font-size:1rem;font-weight:400}.text-body-sm{margin:0;font-size:.875rem;font-weight:400;color:var(--color-text-muted)}.text-caption{margin:0;font-size:.75rem;font-weight:500;line-height:1.3;letter-spacing:.02em;color:var(--color-text-muted)}.text-accent{color:var(--color-primary)}.form-shell{width:min(100% - 2rem,30rem);margin:3rem auto;padding:1.5rem;border:1px solid var(--color-outline-subtle);border-radius:var(--radius-md);background-color:var(--color-bg-tab);box-shadow:var(--shadow-sm)}.form-title{margin:0 0 .5rem}.form-subtitle{margin:0 0 1.5rem}.form-layout{display:grid;gap:1rem}.form-field{display:grid;gap:.375rem}.form-label{font-size:1.1rem;font-weight:550}.form-input{min-height:2.5rem;padding:.5rem .75rem;border:1px solid var(--color-outline-bright);border-radius:var(--radius-md);background-color:#171717;color:var(--color-text)}.form-input::placeholder{color:var(--color-text-muted)}.form-input:disabled{cursor:not-allowed;opacity:.72}.form-hint{margin:0;font-size:.8125rem;color:var(--color-text)}.form-error{margin:0;font-size:.8125rem;color:#ff8e8e}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;margin-top:.5rem;width:100%}.form-actions .btn-pill{margin:0}.widget-grid{display:flex;flex-wrap:wrap;align-items:stretch;justify-content:flex-start;gap:1rem}.widget-card{display:grid;gap:.75rem;min-width:300px;min-height:10rem;padding:1rem;border:1px solid var(--color-outline-subtle);border-radius:var(--radius-md);background-color:var(--color-bg-tab);box-shadow:var(--shadow-sm)}.widget-card--fit-content{width:fit-content;min-width:max-content}.widget-card__title{margin:0;padding-bottom:.35rem;border-bottom:1px solid var(--color-outline-subtle);font-size:1.2rem;font-weight:600;color:var(--color-text)}.widget-card__content{min-height:0}.table-global{width:100%;border-collapse:collapse;border:1px solid var(--color-outline-subtle);border-radius:var(--radius-md);overflow:hidden;background-color:var(--color-bg-tab)}.table-global caption{margin-bottom:.625rem;text-align:left;font-size:.9rem;color:var(--color-text-muted)}.table-global thead{background-color:#171717}.table-global th,.table-global td{padding:.625rem .75rem;border-bottom:1px solid var(--color-outline-subtle);text-align:left;vertical-align:top}.table-global th{font-weight:600;color:var(--color-text)}.table-global td{color:var(--color-text)}.table-global tbody tr:last-child td{border-bottom:0}.table-global tbody tr:hover{background-color:#ffffff08}.widget-stat{display:grid;gap:.8rem;width:fit-content}.widget-stat__metrics{display:flex;width:fit-content;flex-wrap:nowrap;gap:.65rem;margin:0}.widget-stat__metric{display:grid;gap:.25rem;justify-items:center;width:fit-content;padding:.65rem .5rem;border-radius:.55rem;background-color:#0003}.widget-stat__metric--interactive{cursor:pointer}.widget-stat__label{margin:0;font-size:.72rem;font-weight:600;line-height:1.3;white-space:nowrap;text-transform:uppercase;color:var(--color-text-muted);text-align:center}.widget-stat__value{margin:0;font-size:1.45rem;font-weight:600;color:var(--color-text);line-height:1}.toast-center-center{top:50%;left:50%;transform:translate(-50%,-50%)}.toast-top-center{top:0;right:0;width:100%}.toast-bottom-center{bottom:0;right:0;width:100%}.toast-top-full-width{top:0;right:0;width:100%}.toast-bottom-full-width{bottom:0;right:0;width:100%}.toast-top-left{top:12px;left:12px}.toast-top-right{top:12px;right:12px}.toast-bottom-right{right:12px;bottom:12px}.toast-bottom-left{bottom:12px;left:12px}.toast-title{font-weight:700}.toast-message{word-wrap:break-word}.toast-message a,.toast-message label{color:#fff}.toast-message a:hover{color:#ccc;text-decoration:none}.toast-close-button{position:relative;right:-.3em;top:-.3em;float:right;font-size:20px;font-weight:700;color:#fff;text-shadow:0 1px 0 #ffffff}.toast-close-button:hover,.toast-close-button:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.4}button.toast-close-button{padding:0;cursor:pointer;background:transparent;border:0}.toast-container{pointer-events:none;position:fixed;z-index:999999}.toast-container *{box-sizing:border-box}.toast-container .ngx-toastr{position:relative;overflow:hidden;margin:0 0 6px;padding:15px 15px 15px 50px;width:300px;border-radius:3px;background-position:15px center;background-repeat:no-repeat;background-size:24px;box-shadow:0 0 12px #999;color:#fff}.toast-container .ngx-toastr:hover{box-shadow:0 0 12px #000;opacity:1;cursor:pointer}.toast-info{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1MTIgNTEyJyB3aWR0aD0nNTEyJyBoZWlnaHQ9JzUxMic+PHBhdGggZmlsbD0ncmdiKDI1NSwyNTUsMjU1KScgZD0nTTI1NiA4QzExOS4wNDMgOCA4IDExOS4wODMgOCAyNTZjMCAxMzYuOTk3IDExMS4wNDMgMjQ4IDI0OCAyNDhzMjQ4LTExMS4wMDMgMjQ4LTI0OEM1MDQgMTE5LjA4MyAzOTIuOTU3IDggMjU2IDh6bTAgMTEwYzIzLjE5NiAwIDQyIDE4LjgwNCA0MiA0MnMtMTguODA0IDQyLTQyIDQyLTQyLTE4LjgwNC00Mi00MiAxOC44MDQtNDIgNDItNDJ6bTU2IDI1NGMwIDYuNjI3LTUuMzczIDEyLTEyIDEyaC04OGMtNi42MjcgMC0xMi01LjM3My0xMi0xMnYtMjRjMC02LjYyNyA1LjM3My0xMiAxMi0xMmgxMnYtNjRoLTEyYy02LjYyNyAwLTEyLTUuMzczLTEyLTEydi0yNGMwLTYuNjI3IDUuMzczLTEyIDEyLTEyaDY0YzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2MTAwaDEyYzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2MjR6Jy8+PC9zdmc+)}.toast-error{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1MTIgNTEyJyB3aWR0aD0nNTEyJyBoZWlnaHQ9JzUxMic+PHBhdGggZmlsbD0ncmdiKDI1NSwyNTUsMjU1KScgZD0nTTI1NiA4QzExOSA4IDggMTE5IDggMjU2czExMSAyNDggMjQ4IDI0OCAyNDgtMTExIDI0OC0yNDhTMzkzIDggMjU2IDh6bTEyMS42IDMxMy4xYzQuNyA0LjcgNC43IDEyLjMgMCAxN0wzMzggMzc3LjZjLTQuNyA0LjctMTIuMyA0LjctMTcgMEwyNTYgMzEybC02NS4xIDY1LjZjLTQuNyA0LjctMTIuMyA0LjctMTcgMEwxMzQuNCAzMzhjLTQuNy00LjctNC43LTEyLjMgMC0xN2w2NS42LTY1LTY1LjYtNjUuMWMtNC43LTQuNy00LjctMTIuMyAwLTE3bDM5LjYtMzkuNmM0LjctNC43IDEyLjMtNC43IDE3IDBsNjUgNjUuNyA2NS4xLTY1LjZjNC43LTQuNyAxMi4zLTQuNyAxNyAwbDM5LjYgMzkuNmM0LjcgNC43IDQuNyAxMi4zIDAgMTdMMzEyIDI1Nmw2NS42IDY1LjF6Jy8+PC9zdmc+)}.toast-success{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1MTIgNTEyJyB3aWR0aD0nNTEyJyBoZWlnaHQ9JzUxMic+PHBhdGggZmlsbD0ncmdiKDI1NSwyNTUsMjU1KScgZD0nTTE3My44OTggNDM5LjQwNGwtMTY2LjQtMTY2LjRjLTkuOTk3LTkuOTk3LTkuOTk3LTI2LjIwNiAwLTM2LjIwNGwzNi4yMDMtMzYuMjA0YzkuOTk3LTkuOTk4IDI2LjIwNy05Ljk5OCAzNi4yMDQgMEwxOTIgMzEyLjY5IDQzMi4wOTUgNzIuNTk2YzkuOTk3LTkuOTk3IDI2LjIwNy05Ljk5NyAzNi4yMDQgMGwzNi4yMDMgMzYuMjA0YzkuOTk3IDkuOTk3IDkuOTk3IDI2LjIwNiAwIDM2LjIwNGwtMjk0LjQgMjk0LjQwMWMtOS45OTggOS45OTctMjYuMjA3IDkuOTk3LTM2LjIwNC0uMDAxeicvPjwvc3ZnPg==)}.toast-warning{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1NzYgNTEyJyB3aWR0aD0nNTc2JyBoZWlnaHQ9JzUxMic+PHBhdGggZmlsbD0ncmdiKDI1NSwyNTUsMjU1KScgZD0nTTU2OS41MTcgNDQwLjAxM0M1ODcuOTc1IDQ3Mi4wMDcgNTY0LjgwNiA1MTIgNTI3Ljk0IDUxMkg0OC4wNTRjLTM2LjkzNyAwLTU5Ljk5OS00MC4wNTUtNDEuNTc3LTcxLjk4N0wyNDYuNDIzIDIzLjk4NWMxOC40NjctMzIuMDA5IDY0LjcyLTMxLjk1MSA4My4xNTQgMGwyMzkuOTQgNDE2LjAyOHpNMjg4IDM1NGMtMjUuNDA1IDAtNDYgMjAuNTk1LTQ2IDQ2czIwLjU5NSA0NiA0NiA0NiA0Ni0yMC41OTUgNDYtNDYtMjAuNTk1LTQ2LTQ2LTQ2em0tNDMuNjczLTE2NS4zNDZsNy40MTggMTM2Yy4zNDcgNi4zNjQgNS42MDkgMTEuMzQ2IDExLjk4MiAxMS4zNDZoNDguNTQ2YzYuMzczIDAgMTEuNjM1LTQuOTgyIDExLjk4Mi0xMS4zNDZsNy40MTgtMTM2Yy4zNzUtNi44NzQtNS4wOTgtMTIuNjU0LTExLjk4Mi0xMi42NTRoLTYzLjM4M2MtNi44ODQgMC0xMi4zNTYgNS43OC0xMS45ODEgMTIuNjU0eicvPjwvc3ZnPg==)}.toast-container.toast-top-center .ngx-toastr,.toast-container.toast-bottom-center .ngx-toastr{width:300px;margin-left:auto;margin-right:auto}.toast-container.toast-top-full-width .ngx-toastr,.toast-container.toast-bottom-full-width .ngx-toastr{width:96%;margin-left:auto;margin-right:auto}.ngx-toastr{background-color:#030303;pointer-events:auto}.toast-success{background-color:#51a351}.toast-error{background-color:#bd362f}.toast-info{background-color:#2f96b4}.toast-warning{background-color:#f89406}.toast-progress{position:absolute;left:0;bottom:0;height:4px;background-color:#000;opacity:.4}@media all and (max-width:240px){.toast-container .ngx-toastr.div{padding:8px 8px 8px 50px;width:11em}.toast-container .toast-close-button{right:-.2em;top:-.2em}}@media all and (min-width:241px)and (max-width:480px){.toast-container .ngx-toastr.div{padding:8px 8px 8px 50px;width:18em}.toast-container .toast-close-button{right:-.2em;top:-.2em}}@media all and (min-width:481px)and (max-width:768px){.toast-container .ngx-toastr.div{padding:15px 15px 15px 50px;width:25em}}
