*{box-sizing:border-box}body{margin:0;font-family:Montserrat,sans-serif;background-color:#011e1c;color:#fff;min-height:100vh}#root{min-height:100vh}.app-shell{display:flex;min-height:100vh;background-color:#011e1c}.app-main{flex:1;min-width:0}.side-nav-spacer{width:56px;flex-shrink:0}.side-nav{width:56px;background-color:#0d1716;border-right:1px solid #0f9077;padding:1.25rem .45rem;position:fixed;top:0;left:0;height:100vh;z-index:120;overflow:hidden;transition:width .2s ease,padding .2s ease,box-shadow .2s ease}.side-nav:hover,.side-nav:has(:focus-visible){width:220px;padding:1.25rem .75rem;box-shadow:8px 0 24px #00000059}.side-nav-brand{display:flex;align-items:center;margin:0 0 1.15rem;padding:.2rem .15rem;overflow:hidden;height:28px}.side-nav-logo{height:16px;width:auto;max-width:none;display:block;flex-shrink:0}.side-nav:hover .side-nav-logo,.side-nav:has(:focus-visible) .side-nav-logo{height:20px}.side-nav-icon{width:20px;height:20px;flex-shrink:0}.side-nav-label{opacity:0;overflow:hidden;white-space:nowrap;transition:opacity .15s ease}.side-nav:hover .side-nav-label,.side-nav:has(:focus-visible) .side-nav-label{opacity:1}.side-nav-list{display:flex;flex-direction:column;gap:.35rem}.side-nav-item{display:flex;align-items:center;gap:.75rem;width:100%;text-align:left;padding:.7rem .55rem;border:0;border-radius:6px;background:transparent;color:#ffffffc7;font-family:Montserrat,sans-serif;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}a.side-nav-item,a.side-nav-link{text-decoration:none;box-sizing:border-box}.side-nav-item:hover{background:#0fc4a01f;color:#e8fff8}.side-nav-item.active{background:#0fc4a033;color:#f9d7a1}@media (prefers-reduced-motion: reduce){.side-nav,.side-nav-label{transition:none}}.top-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background-color:#1b2d2b;border-bottom:1px solid #0f9077}.top-header-brand{display:flex;align-items:center;gap:1rem}.top-header-brand img{height:28px;width:auto}.top-header-title{font-size:1.1rem;font-weight:600;color:#f9d7a1;letter-spacing:.04em}.header-user{display:flex;align-items:center;gap:.9rem}.header-user-meta{display:flex;flex-direction:column;align-items:flex-end;line-height:1.25}.header-user-meta strong{color:#f4f7f6;font-size:13px}.header-user-meta span{color:#ffffff8c;font-size:11px}.content-panel{margin:1.25rem 1.5rem 2rem;padding:1.5rem 1.75rem 2rem;border-radius:7px;background-color:#1a2c2b}.page-title{margin:0 0 .4rem;font-size:2rem;font-weight:600;color:#f9d7a1}.page-sub{margin:0 0 1.25rem;color:#ffffffa6;font-size:14px}.filters-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;margin-bottom:0}.filters-block{margin-bottom:1.5rem}.filter-field label{display:block;margin-bottom:.35rem;color:#0fc4a0;font-size:13px}.filter-field input,.filter-field select{height:39px;min-width:160px;background-color:#121c1b;color:#fff;border:1px solid #0fc4a0;border-radius:4px;padding:.45rem .6rem;font-family:Montserrat,sans-serif}.filter-field input[type=datetime-local]{min-width:210px;color-scheme:dark}.datetime-now-btn{margin:0;padding:0 .4rem;height:20px;border:1px solid rgba(15,196,160,.55);border-radius:3px;background:transparent;color:#0fc4a0;font-family:Montserrat,sans-serif;font-size:11px;font-weight:600;letter-spacing:.02em;cursor:pointer;line-height:1}.datetime-now-btn:hover:not(:disabled){border-color:#0fc4a0;background:#0fc4a01f;color:#fff}.datetime-now-btn:disabled{opacity:.5;cursor:not-allowed}.date-presets-field{min-width:0}.date-presets{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;min-height:39px}.date-preset-btn{height:39px;padding:0 .75rem;border:1px solid rgba(15,196,160,.55);border-radius:4px;background:#121c1b;color:#ffffffd9;font-family:Montserrat,sans-serif;font-size:13px;cursor:pointer;white-space:nowrap}.date-preset-btn:hover:not(:disabled){border-color:#0fc4a0;color:#fff}.date-preset-btn:disabled{opacity:.55;cursor:not-allowed}.date-preset-btn-active{background:#0fc4a02e;border-color:#0fc4a0;color:#0fc4a0;font-weight:600}.filter-field-search{flex:1 1 280px;min-width:240px}.filter-label-row{display:flex;align-items:center;gap:.4rem;margin-bottom:.35rem}.filter-label-row label{margin-bottom:0}.search-info-btn{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border-radius:50%;border:1px solid #0fc4a0;background:transparent;color:#0fc4a0;font-family:Montserrat,sans-serif;font-size:11px;font-weight:700;font-style:italic;line-height:1;cursor:pointer}.search-info-btn:hover,.search-info-btn[aria-expanded=true]{background:#0fc4a02e;color:#e8fff8}.search-input-wrap{position:relative}.filter-field-search input{width:100%;min-width:240px}.search-help-popover{position:absolute;top:calc(100% + 8px);left:0;z-index:40;width:min(640px,92vw);max-height:min(420px,70vh);overflow:auto;padding:.85rem 1rem 1rem;border-radius:8px;border:1px solid #0f9077;background:#0d1716;box-shadow:0 12px 32px #00000073;color:#e8fff8}.search-help-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.65rem;color:#0fc4a0}.search-help-close{border:none;background:transparent;color:#9bbab3;font-size:1.25rem;line-height:1;cursor:pointer}.search-help-intro{margin:0 0 .85rem;padding-left:1.1rem;color:#c9e8df;font-size:13px;line-height:1.45}.search-help-intro li+li{margin-top:.35rem}.search-help-subtitle{margin-bottom:.45rem;color:#0fc4a0;font-size:13px;font-weight:600}.search-help-table-wrap{overflow-x:auto;scrollbar-width:thin;scrollbar-color:#0f9077 #121c1b}.search-help-table-wrap::-webkit-scrollbar{height:8px}.search-help-table-wrap::-webkit-scrollbar-track{background:#121c1b;border-radius:4px}.search-help-table-wrap::-webkit-scrollbar-thumb{background:#0f9077;border-radius:4px;border:2px solid #121c1b}.search-help-table-wrap::-webkit-scrollbar-thumb:hover{background:#0fc4a0}.search-help-table-wrap::-webkit-scrollbar-button{display:none;width:0;height:0}.search-help-table{width:100%;border-collapse:collapse;font-size:12px}.search-help-table th,.search-help-table td{text-align:left;vertical-align:top;padding:.4rem .5rem;border-bottom:1px solid rgba(15,144,119,.35)}.search-help-table th{color:#0fc4a0;font-weight:600;white-space:nowrap}.search-help-table code{color:#f0fff9;font-size:11px;word-break:break-all}.search-help-aliases{margin-top:.15rem;color:#7fa89e;font-size:11px}.keyword-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.keyword-chip{display:inline-flex;align-items:center;gap:.35rem;max-width:100%;padding:.25rem .35rem .25rem .65rem;border-radius:999px;border:1px solid rgba(15,196,160,.45);background:#0fc4a01f;color:#e8fff8;font-size:13px}.keyword-chip-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:320px}.keyword-chip-remove{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:50%;background:transparent;color:#f9d7a1;font-size:16px;line-height:1;cursor:pointer}.keyword-chip-remove:hover{background:#f9d7a126;color:#fff}.keyword-clear-all{height:28px;padding:0 .75rem;border-radius:999px;border:1px solid rgba(249,215,161,.45);background:transparent;color:#f9d7a1;font-family:Montserrat,sans-serif;font-size:12px;font-weight:600;cursor:pointer}.keyword-clear-all:hover{background:#f9d7a11f;color:#fff}.columns-toolbar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:.75rem;margin:0 0 1.25rem}.timezone-field{min-width:min(100%,280px);flex:1 1 auto}.timezone-field select{min-width:280px;max-width:420px;width:100%}.timezone-active-hint{color:#f9d7a1d9;font-weight:500;font-size:12px;text-transform:none;letter-spacing:0}.btn-primary{background:#0fc4a0;color:#011e1c;border:0;border-radius:4px;padding:.5rem .9rem;font-weight:600;font-family:Montserrat,sans-serif;cursor:pointer}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-bottom:1.75rem}@keyframes summary-card-enter{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes summary-value-in{0%{opacity:.45;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes summary-active-glow{0%,to{box-shadow:0 0 0 1px #0fc4a0,0 8px 22px #0fc4a029}50%{box-shadow:0 0 0 1px #0fc4a0,0 10px 28px #0fc4a047}}.summary-card{position:relative;background-color:#121c1b;border:1px solid #0f9077;border-radius:7px;padding:1.1rem 1.25rem;animation:summary-card-enter .45s ease backwards;animation-delay:calc(var(--card-index, 0) * 60ms);transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease,background-color .25s ease}.summary-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:linear-gradient(120deg,transparent 30%,rgba(15,196,160,.08) 50%,transparent 70%);transform:translate(-120%);transition:transform .6s ease}.summary-card.clickable{cursor:pointer}.summary-card.clickable:hover{transform:translateY(-4px);border-color:#0fc4a0;background-color:#152624;box-shadow:0 8px 24px #0fc4a02e,0 0 0 1px #0fc4a0}.summary-card.clickable:hover:after{transform:translate(120%)}.summary-card.clickable:active{transform:translateY(-1px) scale(.99)}.summary-card.active{border-color:#0fc4a0;background-color:#152624;box-shadow:0 0 0 1px #0fc4a0,0 8px 22px #0fc4a033}.summary-card.active:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;animation:summary-active-glow 2.4s ease-in-out infinite}.summary-card.is-loading .summary-value{color:#f9d7a159}.summary-label{color:#0fc4a0;font-size:13px;margin-bottom:.5rem}.summary-value{color:#f9d7a1;font-size:1.6rem;font-weight:700;line-height:1.2;display:inline-block;animation:summary-value-in .35s ease both;animation-delay:calc(.2s + var(--card-index, 0) * 60ms)}.summary-sub{margin-top:.35rem;color:#ffffffa6;font-size:12px}@media (prefers-reduced-motion: reduce){.summary-card,.summary-card.active:before,.summary-value,.summary-card:after{animation:none!important;transition:none!important;opacity:1;transform:none}.summary-card.clickable:hover{transform:none}}.section-title{margin:1.5rem 0 .75rem;color:#f9d7a1;font-size:1.15rem;font-weight:600}.pie-section{margin:0 0 1.75rem}.pie-section .section-title{margin-top:.25rem}.pie-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.pie-card{position:relative;background-color:#121c1b;border:1px solid #0f9077;border-radius:7px;padding:1rem 1.15rem 1.15rem;min-width:0}.pie-card-actions{position:absolute;top:.55rem;right:.55rem;z-index:2}.pie-title{margin:0 0 .75rem;padding-right:2rem;color:#0fc4a0;font-size:13px;font-weight:600;letter-spacing:.02em}.pie-download-btn{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;border:1px solid rgba(15,144,119,.65);border-radius:5px;background:#0fc4a01f;color:#e8fff8;cursor:pointer}.pie-download-btn:hover:not(:disabled){background:#0fc4a038;border-color:#0fc4a0;color:#fff}.pie-download-btn:disabled{opacity:.45;cursor:not-allowed}.pie-download-icon{width:15px;height:15px;display:block}.pie-download-spinner{width:12px;height:12px;border:2px solid rgba(232,255,248,.35);border-top-color:#e8fff8;border-radius:50%;animation:pie-download-spin .7s linear infinite}@keyframes pie-download-spin{to{transform:rotate(360deg)}}.pie-empty{padding:2rem .5rem;text-align:center;color:#ffffff8c;font-size:13px}.pie-body{display:flex;align-items:center;gap:1rem;min-width:0}.pie-svg-wrap{position:relative;width:168px;height:168px;flex:0 0 168px}.pie-svg{width:100%;height:100%;overflow:visible}.pie-slice{stroke:#121c1b;stroke-width:1.5;transition:opacity .15s ease,filter .15s ease}.pie-slice.is-clickable{cursor:pointer}.pie-slice.is-hover{filter:brightness(1.15)}.pie-center{position:absolute;top:28%;right:28%;bottom:28%;left:28%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none}.pie-center-value{color:#f9d7a1;font-size:1.05rem;font-weight:700;line-height:1.2}.pie-center-label{color:#ffffff8c;font-size:10px;text-transform:uppercase;letter-spacing:.06em;margin-top:.15rem}.pie-legend{list-style:none;margin:0;padding:0;flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:.3rem}.pie-legend-item{display:flex;align-items:center;gap:.5rem;width:100%;margin:0;padding:.25rem .35rem;border:0;border-radius:4px;background:transparent;color:#fff;font-family:Montserrat,sans-serif;text-align:left}.pie-legend-item.is-clickable{cursor:pointer}.pie-legend-item.is-clickable:hover,.pie-legend-item.is-hover{background:#0fc4a01a}.pie-swatch{width:10px;height:10px;border-radius:50%;flex-shrink:0}.pie-legend-label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.pie-legend-value{flex-shrink:0;font-size:12px;color:#f9d7a1;font-weight:600}.pie-legend-value em{margin-left:.4rem;font-style:normal;font-weight:500;color:#ffffff80}@media (max-width: 1100px){.pie-grid{grid-template-columns:1fr}}@media (max-width: 640px){.pie-body{flex-direction:column;align-items:stretch}.pie-svg-wrap{margin:0 auto}}@media (prefers-reduced-motion: reduce){.pie-slice{transition:none}}.table-wrap{overflow-x:auto;width:100%;scrollbar-width:thin;scrollbar-color:#0f9077 #121c1b}.table-wrap::-webkit-scrollbar{height:8px}.table-wrap::-webkit-scrollbar-track{background:#121c1b;border-radius:4px}.table-wrap::-webkit-scrollbar-thumb{background:#0f9077;border-radius:4px;border:2px solid #121c1b}.table-wrap::-webkit-scrollbar-thumb:hover{background:#0fc4a0}.table-wrap::-webkit-scrollbar-button{display:none;width:0;height:0}.styled-table-home{border-collapse:collapse;width:100%;font-size:14px;font-family:Montserrat,sans-serif}.styled-table-home thead tr{background-color:#022b28;border-bottom:2px solid white}.styled-table-home th{padding:12px 15px;color:#0cc4a0;text-align:center;white-space:nowrap}.styled-table-home td{padding:12px 15px;color:#fff;text-align:center;height:50px}.styled-table-home tbody tr:nth-of-type(2n){background-color:#012827}.styled-table-home tbody tr td{border-left:1.5px dotted #2b5552}.row-clickable{cursor:pointer}.row-stale td:first-child{box-shadow:inset 4px 0 #ff6b6b}.stale-banner,.site-name{font-weight:600}.site-id{color:#ffffff80;font-size:12px}.site-cell{text-align:left!important}.site-algo-toggle{display:inline-flex;align-items:center;gap:.25rem;margin-top:.4rem;padding:.15rem .5rem;border:1px solid #0fc4a0;border-radius:4px;background:transparent;color:#0fc4a0;font-size:12px;cursor:pointer}.site-algo-toggle:hover{background:#0fc4a01f}.site-algo-tooltip{position:fixed;z-index:400;min-width:180px;max-width:320px;max-height:280px;overflow-y:auto;padding:.5rem .65rem;border:1px solid #0fc4a0;border-radius:6px;background:#0d1716;box-shadow:0 8px 24px #00000073;pointer-events:none;text-align:left}.site-algo-tooltip-row{display:flex;justify-content:space-between;gap:1rem;color:#fff;font-size:12px;line-height:1.55}.site-algo-tooltip-row em{font-style:normal;color:#f9d7a1;font-weight:600}.site-algo-row td{background:#001a19;text-align:left!important;height:auto;padding:.75rem 1rem 1rem}.site-algo-row .empty-state{padding:.75rem}.site-algo-table{margin:0;font-size:13px}.site-algo-table th,.site-algo-table td{height:auto;padding:8px 10px}.reason-cell{text-align:left!important;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-pill{display:inline-block;padding:.2rem .55rem;border-radius:999px;font-size:12px;font-weight:600;border:1px solid transparent}.status-pill.processed{color:#0fc4a0;border-color:#0fc4a0}.status-pill.processing{color:#f9d7a1;border-color:#f9d7a1}.status-pill.rejected{color:#ffb347;border-color:#ffb347}.status-pill.failed,.status-pill.pacs-push-failed{color:#ff6b6b;border-color:#ff6b6b}.status-pill.ok,.status-pill.live{color:#0fc4a0;border-color:#0fc4a0}.status-pill.stale,.status-pill.error{color:#ff6b6b;border-color:#ff6b6b}.status-pill.unknown{color:#aaa;border-color:#555}.view-cell{text-align:center}.btn-view{height:30px;padding:0 .85rem;border:1px solid #0fc4a0;border-radius:4px;background:#0fc4a01f;color:#0fc4a0;font-weight:700;font-family:Montserrat,sans-serif;font-size:12px;cursor:pointer}.btn-view:hover:not(:disabled){background:#0fc4a0;color:#011e1c}.btn-view:disabled{opacity:.4;cursor:not-allowed}.table-footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;color:#fff;font-size:14px}.entries-select{background-color:#121c1b;color:#fff;border:1px solid #0fc4a0;border-radius:4px;padding:.2rem .4rem;margin:0 .35rem;font-family:Montserrat,sans-serif}.pagination{display:flex;justify-content:flex-end;list-style:none;padding:0;margin:0;gap:.15rem}.pagination li a{display:block;padding:.65rem .9rem;color:#fff;font-size:12px;border-radius:6px;cursor:pointer;text-decoration:none}.pagination .active a{background:#121c1b;border:1px solid #0fc4a0}.pagination .disabled a{opacity:.35;cursor:default}.error-banner{margin-bottom:1rem;padding:.75rem 1rem;border-radius:6px;border:1px solid #ff6b6b;background:#ff6b6b14;color:#ffb4b4;font-size:14px}.notice-banner{margin-bottom:1rem;padding:.75rem 1rem;border-radius:6px;border:1px solid #f9d7a1;background:#f9d7a114;color:#f9d7a1;font-size:14px}.empty-state{padding:2rem;text-align:center;color:#fff9}.api-key-input{min-width:220px}.loading-overlay{opacity:.55;pointer-events:none}.column-picker{position:relative}.btn-secondary{height:36px;padding:0 1rem;border-radius:4px;border:1px solid #0fc4a0;background:transparent;color:#0fc4a0;font-weight:600;font-family:Montserrat,sans-serif;cursor:pointer}.btn-secondary:hover{background:#0fc4a01f;color:#fff}.column-picker-panel{position:absolute;top:calc(100% + .4rem);right:0;left:auto;z-index:40;min-width:240px;max-width:min(360px,90vw);padding:.75rem;border-radius:6px;border:1px solid rgba(15,196,160,.4);background:#12201e;box-shadow:0 10px 28px #00000073}.column-picker-actions{display:flex;gap:.75rem;margin-bottom:.6rem}.link-btn{border:none;background:none;color:#f9d7a1;font-family:Montserrat,sans-serif;font-size:12px;font-weight:600;cursor:pointer;padding:0}.link-btn:hover{color:#fff;text-decoration:underline}.column-picker-list{list-style:none;margin:0;padding:0;max-height:280px;overflow:auto}.column-picker-item{display:flex;align-items:center;gap:.55rem;padding:.35rem .15rem;color:#e8fff8;font-size:13px;cursor:pointer;flex:1}.column-picker-item input{accent-color:#0fc4a0}.column-picker-hint{margin:.65rem 0 0;color:#ffffff73;font-size:11px}.column-picker-row{display:flex;align-items:center;gap:6px;padding:2px 4px;border-radius:4px;cursor:grab}.column-picker-row.drag-over{background:#0fc4a01f;box-shadow:inset 0 2px #0fc4a0}.column-drag-handle{color:#9aa3af;font-size:11px;letter-spacing:-2px;line-height:1;-webkit-user-select:none;user-select:none}.resizable-table{table-layout:fixed;width:max-content;min-width:100%}.resizable-table th,.resizable-table td{white-space:nowrap}.resizable-table th{overflow:hidden;text-overflow:ellipsis}.th-label{display:inline-block;max-width:calc(100% - 8px);overflow:hidden;text-overflow:ellipsis}.th-draggable{cursor:grab;-webkit-user-select:none;user-select:none}.th-draggable:active{cursor:grabbing}.th-drag-over{box-shadow:inset 3px 0 #0fc4a0}body.col-reordering{cursor:grabbing!important}.col-resizer{position:absolute;top:0;right:0;width:6px;height:100%;cursor:col-resize;-webkit-user-select:none;user-select:none;background:transparent}.col-resizer:hover,body.col-resizing .col-resizer{background:#0fc4a073}body.col-resizing{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.resizable-table td.cell-clip{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap;max-width:0}.resizable-table td.cell-full{overflow:visible}.login-screen{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;background:#011e1c;padding:1.5rem;padding-top:max(1.5rem,env(safe-area-inset-top));padding-bottom:max(1.5rem,env(safe-area-inset-bottom));padding-left:max(1.5rem,env(safe-area-inset-left));padding-right:max(1.5rem,env(safe-area-inset-right));position:relative;overflow-x:hidden;overflow-y:auto}.login-screen:before{content:"";position:absolute;top:-40%;right:-40%;bottom:-40%;left:-40%;background:radial-gradient(circle at 20% 10%,rgba(15,196,160,.25),transparent 45%),radial-gradient(circle at 75% 25%,rgba(249,215,161,.12),transparent 40%),radial-gradient(circle at 55% 75%,rgba(15,196,160,.18),transparent 45%),repeating-linear-gradient(65deg,rgba(15,196,160,.08) 0px,rgba(15,196,160,.08) 1px,transparent 1px,transparent 12px);transform:rotate(-6deg);animation:loginBgDrift 12s ease-in-out infinite;pointer-events:none}.login-screen:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 30% 40%,rgba(255,255,255,.07),transparent 40%),radial-gradient(circle at 60% 60%,rgba(255,255,255,.05),transparent 45%);pointer-events:none}@keyframes loginBgDrift{0%{transform:rotate(-6deg) translateZ(0) scale(1)}50%{transform:rotate(-6deg) translate3d(2.5%,-2%,0) scale(1.02)}to{transform:rotate(-6deg) translateZ(0) scale(1)}}.login-card{width:min(980px,100%);background:#1a2c2bc2;border:1px solid rgba(15,144,119,.75);border-radius:14px;overflow:hidden;padding:0;position:relative;box-shadow:0 18px 60px #00000059;animation:loginCardIn .52s cubic-bezier(.22,1,.36,1) both}.login-card.is-loading{transform:scale(.995)}@keyframes loginCardIn{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.login-loading-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:#011e1c4d;pointer-events:none;animation:scrimIn .22s ease both}@keyframes scrimIn{0%{opacity:0}to{opacity:1}}.login-grid{display:grid;grid-template-columns:1.1fr .95fr;min-height:540px}.login-left{padding:54px 46px;display:flex;align-items:center;justify-content:center;background:#011e1c40}.login-brand{max-width:420px;text-align:center}.login-brand-logo{height:46px;width:auto;margin-bottom:12px;filter:drop-shadow(0 8px 18px rgba(0,0,0,.35))}.login-brand-title{font-weight:900;color:#0fc4a0;font-size:46px;letter-spacing:.12em;margin-bottom:10px}.login-brand-tagline{color:#ffffffbf;font-family:Montserrat,sans-serif;font-size:13px;line-height:1.55}.login-right{padding:52px 46px;background:#011e1c52;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-left:1px solid rgba(15,144,119,.25);display:flex;flex-direction:column;justify-content:center;gap:12px}.login-title{text-align:center;font-weight:800;color:#f9d7a1;letter-spacing:.12em;font-size:18px;line-height:1.35;margin-bottom:4px}.login-subtitle{text-align:center;color:#ffffffa6;font-size:14px;margin-bottom:4px}.login-form{margin-top:14px;display:flex;flex-direction:column;gap:14px}.login-field{display:flex;align-items:center;gap:12px;padding:10px 6px 10px 4px;border-bottom:1px solid rgba(15,144,119,.7)}.login-field-icon{color:#0fc4a0f2;width:22px;display:flex;align-items:center;justify-content:center}.login-input{flex:1;min-width:0;width:100%;border:0;outline:none;background:transparent;color:#f4f7f6;font-family:Montserrat,sans-serif;font-size:16px}.login-input::placeholder{color:#ffffff8c}.btn-login{height:44px;border-radius:6px;border:0;background:#e6e6e6;color:#011e1c;font-weight:800;letter-spacing:.08em;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;margin-top:8px;transition:transform .12s ease,opacity .12s ease}.btn-login:hover:not(:disabled){transform:translateY(-1px)}.btn-login:disabled{opacity:.75;cursor:not-allowed}.btn-login-spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(1,30,28,.22);border-top-color:#011e1c;animation:loginSpinner .8s linear infinite}@keyframes loginSpinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login-bottom-links{margin-top:2px;display:flex;flex-direction:column;gap:6px}.login-link{font-size:12px;color:#ffffffb3;text-decoration:none;text-align:center}.login-link:hover{color:#f9d7a1;text-decoration:underline}@media (max-width: 900px){.login-grid{grid-template-columns:1fr;min-height:0}.login-left{padding:28px 24px 12px}.login-right{padding:12px 28px 36px;border-left:0;border-top:1px solid rgba(15,144,119,.25)}.login-brand-tagline{max-width:28rem;margin:0 auto}}@media (max-width: 640px){.login-screen{align-items:stretch;padding:.75rem;padding-top:max(.75rem,env(safe-area-inset-top));padding-bottom:max(.75rem,env(safe-area-inset-bottom));padding-left:max(.75rem,env(safe-area-inset-left));padding-right:max(.75rem,env(safe-area-inset-right))}.login-card{width:100%;margin:auto 0;border-radius:12px}.login-left{padding:1.25rem 1.1rem .5rem}.login-brand-logo{height:38px;margin-bottom:8px}.login-brand-tagline{font-size:11px;line-height:1.45;letter-spacing:.02em}.login-right{padding:.85rem 1.15rem 1.35rem;gap:8px}.login-title{font-size:14px;letter-spacing:.06em}.login-subtitle{font-size:13px}.login-form{margin-top:8px;gap:12px}.login-field{min-height:48px;padding:12px 4px}.btn-login{height:48px;width:100%}.login-link{font-size:13px;padding:.15rem 0}}.auth-signout{animation:authFadeOut .24s ease both;pointer-events:none}@keyframes authFadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:.35;transform:translateY(4px)}}.users-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.85fr);gap:1.25rem;align-items:start}.users-table-panel{min-width:0}.users-table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.65rem}.users-table-count{font-size:13px;color:#ffffffa6}.users-table-wrap{overflow:auto}.users-table-wrap tbody tr{cursor:pointer}.users-table-wrap tbody tr.users-row-selected{background:#0f907738}.users-table-wrap tbody tr:hover{background:#0f90771f}.users-sites-cell{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.users-edit-btn{padding:.25rem .55rem;font-size:12px}.user-role-pill{display:inline-block;padding:.12rem .45rem;border-radius:999px;font-size:11px;text-transform:capitalize;border:1px solid transparent}.user-role-pill.admin{color:#f9d7a1;border-color:#f9d7a173;background:#f9d7a114}.user-role-pill.viewer{color:#9fd9ce;border-color:#0f90778c;background:#0f90771f}.user-form{display:flex;flex-direction:column;gap:.4rem;background:#122422;border:1px solid #0f9077;border-radius:8px;padding:1rem 1.1rem 1.15rem;position:sticky;top:1rem}.user-form-header{margin-bottom:.25rem}.user-form h3{margin:0 0 .25rem;color:#f9d7a1}.user-form-editing{margin:0 0 .35rem;font-size:13px;color:#ffffffb8}.user-form-editing strong{color:#f4f7f6}.user-form label,.user-form legend{font-size:12px;color:#ffffffb3}.user-form input,.user-form select{padding:.45rem .6rem;border-radius:4px;border:1px solid #0f9077;background:#1a2c2b;color:#f4f7f6}.user-form-check{display:flex;align-items:flex-start;gap:.45rem;color:#f4f7f6;font-size:13px}.user-sites{border:1px solid #0f9077;border-radius:6px;padding:.6rem .7rem;margin:.4rem 0;display:flex;flex-direction:column;gap:.35rem;max-height:280px;overflow:auto}.user-sites-filter{width:100%;box-sizing:border-box}.user-sites-actions{display:flex;gap:.75rem;margin-bottom:.15rem}.btn-link{background:none;border:none;padding:0;color:#9fd9ce;font-size:12px;cursor:pointer;text-decoration:underline}.btn-link:hover{color:#f4f7f6}.user-site-id{display:block;font-size:11px;color:#ffffff73}.user-admin-note{margin:.35rem 0 0}.user-form-actions{display:flex;gap:.6rem;margin-top:.7rem}@media (max-width: 900px){.users-layout{grid-template-columns:1fr}}@media (max-width: 640px){.app-shell{flex-direction:column}.side-nav-spacer{display:none}.side-nav{position:sticky;top:0;left:0;width:100%;height:auto;z-index:200;border-right:0;border-bottom:1px solid #0f9077;padding:.55rem .35rem;overflow:visible}.side-nav:hover,.side-nav:has(:focus-visible){width:100%;padding:.55rem .35rem;box-shadow:none}.side-nav-brand{display:none}.side-nav-label{opacity:1;transition:none}.side-nav-list{flex-direction:row;gap:.35rem;width:100%;align-items:center;justify-content:space-between}.side-nav-item{width:auto;flex:1 1 0;justify-content:center;padding:.55rem .4rem}.content-panel{margin:.85rem .85rem 1.4rem;padding:1rem 1rem 1.25rem}.top-header-title{display:none}.top-header{padding:.55rem .85rem;gap:.5rem}.header-user{gap:.45rem;min-width:0}.header-user-meta{min-width:0}.header-user-meta strong{max-width:42vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.columns-toolbar{flex-direction:column;align-items:stretch;margin:0;gap:.5rem}.columns-toolbar+.section-title{margin-top:.65rem}.timezone-field,.timezone-field select{flex:0 0 auto;min-width:0;max-width:none;width:100%}.pie-section{margin-bottom:1rem}.filters-row{flex-direction:column;align-items:stretch}}
