:root{--sam-dark-base: #0B1929;--sam-dark-sidebar: #091420;--sam-dark-card: rgba(13, 30, 48, .8);--sam-dark-card-solid: #0D1E30;--sam-dark-input: #0A1825;--sam-teal-primary: #2DA0B4;--sam-teal-light: #7DD4E4;--sam-teal-muted: #5A8A9A;--sam-teal-dim: #3A6A7A;--sam-green: #4ADE80;--sam-amber: #FBBF24;--sam-red: #EF4444;--sam-text-primary: #E8F4F8;--sam-text-secondary: #9DC8D8;--sam-text-muted: #5A8A9A;--sam-text-dim: #3A6A7A;--sam-border-subtle: rgba(45, 160, 180, .12);--sam-border-accent: rgba(45, 160, 180, .15);--font-sans: system-ui, -apple-system, "Segoe UI", Arial, sans-serif;--font-mono: "SF Mono", "Fira Code", "Cascadia Code", "Consolas", monospace;--sidebar-width: 240px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:14px}body{font-family:var(--font-sans);color:var(--sam-text-primary);background:var(--sam-dark-base);-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--sam-teal-dim);border-radius:3px}.landing{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--sam-dark-base);text-align:center;padding:2rem}.landing img{margin-bottom:2rem}.landing h1{font-size:1.6rem;font-weight:600;color:var(--sam-text-primary);letter-spacing:.2em;text-transform:uppercase;margin-bottom:.75rem}.landing p{font-size:1rem;color:var(--sam-teal-primary);font-style:normal}.admin-layout{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);background:var(--sam-dark-sidebar);color:var(--sam-text-primary);display:flex;flex-direction:column;flex-shrink:0;position:fixed;top:0;left:0;bottom:0;z-index:100;transition:transform .2s ease;border-right:1px solid var(--sam-border-accent)}.sidebar-brand{padding:1.25rem 1.25rem 1rem;border-bottom:1px solid var(--sam-border-accent);display:flex;align-items:center;gap:.75rem}.sidebar-brand img{width:40px;height:40px;border-radius:50%}.sidebar-brand-text h2{font-size:.9rem;font-weight:500;color:var(--sam-text-primary);letter-spacing:.5px}.sidebar-brand-text span{font-family:var(--font-mono);font-size:.7rem;color:var(--sam-text-dim)}.sidebar-nav{flex:1;padding:.5rem 0;overflow-y:auto}.sidebar-section{padding:.75rem 1.25rem .25rem;font-family:var(--font-mono);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:var(--sam-text-dim)}.sidebar-nav a{display:flex;align-items:center;gap:.5rem;padding:.55rem 1.25rem;color:var(--sam-teal-muted);text-decoration:none;font-size:.85rem;font-weight:400;transition:background .15s,color .15s;border-left:2px solid transparent}.sidebar-nav a:hover{background:#2da0b40f;color:var(--sam-teal-light)}.sidebar-nav a.active{background:#2da0b41f;color:var(--sam-teal-light);border-left-color:var(--sam-teal-primary)}.sidebar-nav .future{color:var(--sam-text-dim);font-size:.8rem;padding:.4rem 1.25rem .4rem 2rem;cursor:default;opacity:.5}.main-content{flex:1;margin-left:var(--sidebar-width);min-height:100vh;background-image:radial-gradient(rgba(45,160,180,.04) 1px,transparent 1px);background-size:24px 24px}.page-header{padding:1rem 1.5rem;background:var(--sam-dark-sidebar);border-bottom:1px solid var(--sam-border-subtle);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50}.page-header h1{font-size:1.1rem;font-weight:600;color:var(--sam-text-primary)}.page-header .header-meta{font-family:var(--font-mono);font-size:.7rem;color:var(--sam-text-dim)}.page-body{padding:1.5rem}.hamburger{display:none;background:none;border:none;color:var(--sam-text-secondary);font-size:1.5rem;cursor:pointer;padding:.25rem}.sidebar-overlay{display:none}.data-table-wrapper{overflow-x:auto;background:var(--sam-dark-card);border-radius:8px;border:1px solid var(--sam-border-subtle)}.data-table{width:100%;border-collapse:collapse;font-size:.8rem}.data-table th{background:#2da0b40f;padding:.6rem .75rem;text-align:left;font-family:var(--font-mono);font-weight:600;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--sam-text-muted);white-space:nowrap;border-bottom:1px solid var(--sam-border-subtle);cursor:pointer;-webkit-user-select:none;user-select:none;position:sticky;top:0}.data-table th:hover{background:#2da0b41a}.data-table th .sort-arrow{margin-left:.25rem;opacity:.4}.data-table th .sort-arrow.active{opacity:1;color:var(--sam-teal-primary)}.data-table td{padding:.45rem .75rem;border-bottom:1px solid var(--sam-border-subtle);max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:.75rem;color:var(--sam-teal-light)}.data-table tr:nth-child(2n){background:#2da0b405}.data-table tr:hover{background:#2da0b40f}.data-table tr.clickable{cursor:pointer}.library-layout{display:flex;gap:1.5rem;align-items:flex-start}.table-list{width:280px;flex-shrink:0;background:var(--sam-dark-card);border-radius:8px;border:1px solid var(--sam-border-subtle);overflow:hidden}.table-list-group{padding:.5rem 0}.table-list-group-label{font-family:var(--font-mono);font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--sam-text-dim);padding:.5rem 1rem .25rem}.table-list-item{display:flex;align-items:center;justify-content:space-between;padding:.45rem 1rem;cursor:pointer;transition:background .1s;font-size:.8rem;color:var(--sam-text-secondary)}.table-list-item:hover{background:#2da0b40f}.table-list-item.active{background:#2da0b41f;color:var(--sam-teal-light)}.table-list-item .row-count{font-family:var(--font-mono);font-size:.7rem;color:var(--sam-text-muted);background:#2da0b414;padding:.1rem .5rem;border-radius:99px}.table-content{flex:1;min-width:0}.table-content h3{color:var(--sam-text-secondary)}.layer-badge{display:inline-block;font-family:var(--font-mono);font-size:.6rem;font-weight:600;padding:.15rem .45rem;border-radius:4px;text-transform:uppercase;letter-spacing:.04em}.layer-badge.l1{background:#4ade8026;color:var(--sam-green)}.layer-badge.l2{background:#fbbf2426;color:var(--sam-amber)}.layer-badge.l3{background:#2da0b426;color:var(--sam-teal-light)}.layer-badge.l4{background:#8b5cf626;color:#a78bfa}.layer-badge.sam{background:#fbbf241a;color:#d4a843}.layer-badge.ops{background:#5a8a9a26;color:var(--sam-text-muted)}.layer-badge.unknown{background:#5a8a9a1a;color:var(--sam-text-dim)}.status-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-bottom:1.5rem}.status-card{background:var(--sam-dark-card);border:1px solid var(--sam-border-subtle);border-radius:8px;padding:1.25rem}.status-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.status-card-title{font-weight:600;font-size:.9rem;color:var(--sam-text-secondary)}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.status-dot.green{background:var(--sam-green);box-shadow:0 0 6px #4ade8066}.status-dot.amber{background:var(--sam-amber);box-shadow:0 0 6px #fbbf2466}.status-dot.red{background:var(--sam-red);box-shadow:0 0 6px #ef444466}.status-dot.gray{background:var(--sam-text-dim)}.status-card-row{display:flex;justify-content:space-between;font-size:.8rem;padding:.25rem 0;color:var(--sam-text-secondary)}.status-card-row .label{color:var(--sam-text-muted)}.status-card-row span:last-child{font-family:var(--font-mono)}.report-cards{display:flex;flex-direction:column;gap:1rem}.report-card{background:var(--sam-dark-card);border:1px solid var(--sam-border-subtle);border-radius:8px;overflow:hidden}.report-card-header{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--sam-border-subtle);flex-wrap:wrap}.report-card-header .date{font-family:var(--font-mono);font-weight:500;font-size:.85rem;color:var(--sam-teal-light)}.report-card-body{padding:1.25rem}.report-section{margin-bottom:1rem}.report-section:last-child{margin-bottom:0}.report-section h4{font-family:var(--font-mono);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--sam-text-dim);margin-bottom:.4rem}.report-section p{font-size:.85rem;line-height:1.5;color:var(--sam-text-secondary)}.report-section pre{font-family:var(--font-mono);font-size:.75rem;background:#2da0b40a;border:1px solid var(--sam-border-subtle);color:var(--sam-teal-light);padding:.75rem;border-radius:6px;overflow-x:auto;white-space:pre-wrap;word-break:break-word;line-height:1.5}.detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:200}.detail-drawer{position:fixed;top:0;right:0;bottom:0;width:min(600px,90vw);background:var(--sam-dark-card-solid);z-index:201;overflow-y:auto;box-shadow:-4px 0 24px #0006}.detail-drawer-header{padding:1.25rem;border-bottom:1px solid var(--sam-border-subtle);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:var(--sam-dark-card-solid)}.detail-drawer-header h3{font-size:1rem;color:var(--sam-text-secondary)}.detail-drawer-body{padding:1.25rem}.detail-field{margin-bottom:.75rem}.detail-field .field-name{font-family:var(--font-mono);font-size:.7rem;font-weight:600;color:var(--sam-text-dim);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.15rem}.detail-field .field-value{font-family:var(--font-mono);font-size:.8rem;color:var(--sam-teal-light);word-break:break-word}.detail-field .field-value.json{font-size:.75rem;background:#2da0b40a;border:1px solid var(--sam-border-subtle);padding:.5rem;border-radius:4px;white-space:pre-wrap;max-height:300px;overflow-y:auto}.detail-field .field-value.null{color:var(--sam-text-dim);font-style:italic}.filter-bar{display:flex;gap:.75rem;align-items:center;margin-bottom:1rem;flex-wrap:wrap}.filter-bar input,.filter-bar select{font-family:var(--font-mono);font-size:.8rem;padding:.45rem .75rem;border:1px solid var(--sam-border-subtle);border-radius:6px;background:var(--sam-dark-input);color:var(--sam-text-primary)}.filter-bar input::placeholder{color:var(--sam-text-dim)}.filter-bar input:focus,.filter-bar select:focus{outline:none;border-color:var(--sam-teal-primary);box-shadow:0 0 0 2px #2da0b426}.filter-bar input{width:240px}.filter-bar .result-count{font-family:var(--font-mono);font-size:.75rem;color:var(--sam-text-muted)}.pagination{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;font-family:var(--font-mono);font-size:.8rem;color:var(--sam-text-muted)}.pagination button{font-family:var(--font-mono);font-size:.8rem;padding:.4rem .85rem;border:1px solid var(--sam-border-subtle);border-radius:6px;background:var(--sam-dark-card);color:var(--sam-text-secondary);cursor:pointer}.pagination button:disabled{opacity:.3;cursor:default}.pagination button:not(:disabled):hover{background:#2da0b414;border-color:var(--sam-teal-primary)}.btn-close{background:none;border:none;font-size:1.25rem;cursor:pointer;color:var(--sam-text-muted);padding:.25rem;line-height:1}.btn-close:hover{color:var(--sam-text-primary)}.loading{text-align:center;padding:3rem;color:var(--sam-text-muted);font-family:var(--font-mono);font-size:.85rem}.error-banner{background:#ef44441a;border:1px solid rgba(239,68,68,.25);color:var(--sam-red);padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem;font-size:.85rem}.log-feed{background:var(--sam-dark-card);border:1px solid var(--sam-border-subtle);border-radius:8px;overflow:hidden;font-family:var(--font-mono)}.log-feed-header{padding:.6rem 1rem;font-family:var(--font-mono);font-weight:600;font-size:.8rem;color:var(--sam-text-secondary);border-bottom:1px solid var(--sam-border-subtle);background:#2da0b40a;text-transform:uppercase;letter-spacing:.04em}.log-entry{display:grid;grid-template-columns:130px 160px 80px 60px 1fr;align-items:center;gap:.5rem;padding:.4rem 1rem;font-size:.75rem;border-bottom:1px solid var(--sam-border-subtle)}.log-entry:last-child{border-bottom:none}.log-entry .log-time{color:var(--sam-text-dim);font-size:.7rem;white-space:nowrap}.log-entry .log-script{color:var(--sam-teal-light);font-weight:500;white-space:nowrap}.log-entry .log-status{font-size:.7rem;padding:.1rem .4rem;border-radius:4px;font-weight:600;text-align:center}.log-entry .log-status.success{background:#4ade801f;color:var(--sam-green)}.log-entry .log-status.error,.log-entry .log-status.api_error,.log-entry .log-status.validation_error{background:#ef44441f;color:var(--sam-red)}.log-entry .log-duration{color:var(--sam-text-dim);font-size:.7rem;text-align:right}.log-entry .log-error{color:var(--sam-red);font-size:.7rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:99}.sidebar-overlay.open,.hamburger{display:block}.main-content{margin-left:0}.library-layout{flex-direction:column}.table-list,.filter-bar input{width:100%}.log-entry{grid-template-columns:1fr;gap:.15rem;padding:.5rem 1rem}}
