.layout{box-sizing:border-box;flex-direction:column;width:100%;max-width:1400px;margin:0 auto;padding:1.5rem 2rem;animation:.3s ease-out fadeIn;display:flex}.layout-wide{width:100%;max-width:1400px}.header{background:#0e152599;border-bottom:none;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:.75rem 1.25rem;display:flex}.header-responsive{gap:1rem}.header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.user-chip{min-height:34px;color:var(--text-dim);letter-spacing:.01em;background:#ffffff0a;border:1px solid #ffffff0f;border-radius:999px;align-items:center;padding:0 .75rem;font-size:.78rem;font-weight:500;display:inline-flex}.logo{letter-spacing:-.03em;color:var(--text-main);align-items:center;gap:10px;font-size:1.15rem;font-weight:700;display:flex}.logo svg{filter:drop-shadow(0 0 12px #818cf84d)}.metrics-grid{grid-template-columns:repeat(3,1fr);gap:.85rem;margin-bottom:1.5rem;display:grid}.metrics-grid-wide{grid-template-columns:repeat(3,1fr)}.metric-card{align-items:center;gap:1rem;padding:1.15rem 1.25rem;animation:.4s ease-out both fadeInUp;display:flex;position:relative;overflow:hidden}.metric-card:before{content:"";border-radius:inherit;opacity:0;transition:opacity var(--transition-normal);position:absolute;inset:0}.metric-card:hover:before{opacity:1}.metric-card:first-child:before{background:linear-gradient(135deg,#818cf80a,#0000 60%)}.metric-card:nth-child(2):before{background:linear-gradient(135deg,#34d3990a,#0000 60%)}.metric-card:nth-child(3):before{background:linear-gradient(135deg,#fbbf240a,#0000 60%)}.metric-card:first-child{animation-delay:50ms}.metric-card:nth-child(2){animation-delay:.1s}.metric-card:nth-child(3){animation-delay:.15s}.metric-icon{border-radius:var(--radius-sm);background:#ffffff08;flex-shrink:0;justify-content:center;align-items:center;padding:.7rem;display:flex}.metric-card:first-child .metric-icon{color:var(--primary)}.metric-card:nth-child(3) .metric-icon{color:var(--warn)}.metric-card h3{color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.15rem;font-size:.68rem;font-weight:600}.metric-card h2{letter-spacing:-.03em;margin:0;font-size:1.6rem;font-weight:700}.text-small{color:var(--accent);font-size:.75rem;font-weight:500}.sites-section{padding:1.25rem 1.5rem;animation:.5s ease-out .2s both fadeInUp}.sites-section-wide{box-sizing:border-box;width:100%}.section-header{margin-bottom:1.25rem}.section-header-row{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.section-description{color:var(--text-dim);margin:.3rem 0 0;font-size:.84rem;line-height:1.5}.sites-table{border-collapse:collapse;width:100%}.sites-table th{text-align:left;border-bottom:1px solid var(--border-light);color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;padding:.85rem 1rem;font-size:.75rem;font-weight:600}.sites-table td{border-bottom:1px solid #ffffff05;padding:.85rem 1rem}.badge{color:#c7d2fe;border-radius:var(--radius-xs);letter-spacing:.01em;background:#818cf81a;padding:3px 10px;font-family:JetBrains Mono,Fira Code,monospace;font-size:.8rem;font-weight:500}.badge-muted{color:var(--text-muted);background:#ffffff0f}.status-cell{flex-direction:column;gap:.3rem;display:flex}.status-pill{letter-spacing:.06em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;min-width:72px;padding:3px 10px;font-size:.7rem;font-weight:700;display:inline-flex}.status-pill-online{color:#6ee7b7;background:#34d3991a;box-shadow:0 0 8px #34d39914}.status-pill-offline{color:#fca5a5;background:#f871711a}.status-meta{color:var(--text-dim);font-size:.75rem}.endpoint-text{color:var(--text-muted);font-family:JetBrains Mono,Fira Code,monospace;font-size:.78rem}.monospace{font-family:JetBrains Mono,Fira Code,monospace}.truncate{white-space:nowrap;text-overflow:ellipsis;max-width:150px;display:inline-block;overflow:hidden}.actions{gap:6px;display:flex}.actions-wrap{flex-wrap:wrap}.actions-grid-mobile{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}.btn-icon{color:var(--text-dim);border-radius:var(--radius-xs);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:1px solid #ffffff0d;justify-content:center;align-items:center;padding:6px;display:flex}.btn-icon:hover{color:var(--text-main);background:#ffffff0f;border-color:#ffffff1a}.btn-icon.danger:hover{color:var(--error);background:#f8717114;border-color:#f8717133}.actions-grid-mobile .btn-icon{border-radius:var(--radius-sm);gap:.45rem;width:100%;min-height:42px;padding:.65rem .8rem}.actions-grid-mobile .btn-icon span{font-size:.82rem;font-weight:600}.modal-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;background:#000000a6;justify-content:center;align-items:center;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}.table-wrapper-spaced{margin-top:1rem;overflow-x:auto}.history-table-wrapper{background:linear-gradient(#080d1ac7 0%,#080d1a75 100%);border:1px solid #ffffff0d;border-radius:12px;overflow:hidden}.history-table-wrapper .rdt_Table,.history-table-wrapper .rdt_TableHead,.history-table-wrapper .rdt_TableBody,.history-table-wrapper .rdt_Pagination{background:0 0}.history-table-wrapper .rdt_Pagination{min-height:52px}.site-card-list{gap:.85rem;display:grid}.site-card-mobile{border-radius:var(--radius);transition:border-color var(--transition-fast);padding:1.1rem}.site-card-mobile:hover{border-color:#ffffff1a}.site-card-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.site-card-id{color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:600}.site-card-title{margin:.25rem 0 0;font-size:1.05rem;font-weight:650}.site-card-handshake{color:var(--text-dim);margin:.6rem 0 0;font-size:.82rem}.site-card-details{gap:.75rem;margin:.85rem 0 1rem;display:grid}.site-card-details dt{color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.3rem;font-size:.72rem;font-weight:600}.site-card-details dd{margin:0}.table-state{text-align:center;color:var(--text-dim);padding:2.5rem}.modal-content{width:100%;max-width:400px;padding:2rem;animation:.2s ease-out fadeInUp}.modal-wide{max-width:720px}.modal-medium{max-width:520px}.modal-qr{text-align:center;max-width:400px}.modal-body-qr{flex-direction:column;align-items:center;gap:1rem;padding:1.5rem;display:flex}.qr-surface{border-radius:var(--radius);background:#fff;padding:16px;box-shadow:0 4px 24px #00000080}.qr-caption{color:var(--text-muted);margin-top:.5rem;font-size:.9rem}.modal-success{text-align:center}.success-icon{margin:0 auto 1rem;display:block}.success-copy{color:var(--text-muted);line-height:1.6}.modal-header-row{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.modal-subtitle{color:var(--text-muted);margin:.35rem 0 0}.modal-header-spacing{margin-bottom:1.5rem}.script-toolbar{justify-content:space-between;align-items:center;gap:1rem;margin:1rem 0;display:flex}.script-section+.script-section{margin-top:1rem}.script-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.9rem}.button-inline{align-items:center;gap:.5rem;display:inline-flex}.script-block{border-radius:var(--radius-sm);color:#c7d2fe;white-space:pre-wrap;word-break:break-word;background:#040812f2;border:1px solid #ffffff0a;max-height:420px;margin:0;padding:1rem;font-family:JetBrains Mono,Fira Code,monospace;font-size:.78rem;line-height:1.7;overflow:auto}.error-text{color:var(--error)}.form-error{color:var(--error);margin-bottom:1rem}.form-group-compact{margin-bottom:.5rem}.checkbox-label{color:var(--text-main);cursor:pointer;align-items:center;gap:10px;display:flex}.checkbox-input{width:16px;height:16px;accent-color:var(--primary);margin:0}.select-option-dark{color:#f8fafc;background-color:#0f172a}.form-help{color:#ccc;margin-top:6px;font-size:.8rem;display:block}.form-help-error{color:var(--error)}.modal-actions{justify-content:flex-end;gap:1rem;margin-top:2rem;display:flex}.modal-actions-center{justify-content:center}.button-secondary{box-shadow:none;background:#ffffff0a;border:1px solid #ffffff14}.button-secondary:hover{box-shadow:none;background:#ffffff14;border-color:#ffffff1f}.button-cancel{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;padding:10px 22px;font-size:.875rem;font-weight:500}.button-cancel:hover{color:var(--text-main);background:#ffffff0a}.content-wide{width:100%}.ops-panel{margin-bottom:1.25rem;padding:1.25rem 1.35rem;animation:.45s ease-out .15s both fadeInUp}.ops-actions{flex-wrap:wrap;gap:.75rem;display:flex}.hidden-file-input{display:none}.button-disabled{opacity:.65;pointer-events:none}.ops-feedback{margin-bottom:1rem}.health-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.85rem;margin-top:.5rem;display:grid}.health-card{border-radius:var(--radius-sm);transition:border-color var(--transition-fast);padding:1rem}.health-card:hover{border-color:#ffffff1a}.health-card-row{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem;display:flex}.health-card-row strong{font-size:.88rem}.detail-header-copy{flex-direction:column;gap:.35rem;display:flex}.back-link{color:var(--text-dim);transition:color var(--transition-fast);align-items:center;gap:.5rem;font-size:.85rem;font-weight:500;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--primary)}.detail-title{margin-bottom:0}.detail-actions{flex-wrap:wrap;gap:.6rem;display:flex}.detail-hero{justify-content:space-between;gap:1.5rem;margin-bottom:1.5rem;padding:2rem;animation:.4s ease-out both fadeInUp;display:flex}.detail-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:600}.detail-site-name{letter-spacing:-.03em;margin:.3rem 0 .85rem;font-size:clamp(1.4rem,2.5vw,2rem);font-weight:700}.detail-hero-metrics{grid-template-columns:repeat(2,minmax(160px,1fr));gap:.85rem;min-width:min(100%,400px);display:grid}.metric-card-compact h2{font-size:1.35rem}.detail-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:1.25rem;display:grid}.detail-card{grid-column:span 4;padding:1.5rem;animation:.45s ease-out .1s both fadeInUp}.detail-card-span{grid-column:span 12}.detail-list{gap:.85rem;margin:0;display:grid}.detail-list dt{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.25rem;font-size:.78rem;font-weight:600}.detail-list dd{color:var(--text-main);margin:0;font-family:JetBrains Mono,Fira Code,monospace;font-size:.9rem}.detail-subnet-badge{color:#c7d2fe;background:#818cf814;border-radius:999px;align-items:center;padding:.4rem .85rem;font-family:JetBrains Mono,Fira Code,monospace;font-size:.85rem;font-weight:500;display:inline-flex}.detail-card-copy{margin-top:1rem;line-height:1.6}.detail-key{word-break:break-all;color:var(--text-muted);margin:0;font-family:JetBrains Mono,Fira Code,monospace;font-size:.85rem;line-height:1.7}.history-list{gap:1rem;display:grid}.history-item{border-radius:var(--radius-sm);transition:border-color var(--transition-fast);background:#080d1a8c;border:1px solid #ffffff0a;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.85rem 1rem;display:flex}.history-item:hover{border-color:#ffffff14}.history-title-row{align-items:center;gap:.75rem;margin-bottom:.35rem;display:flex}.history-metrics{color:var(--text-muted);flex-wrap:wrap;justify-content:flex-end;gap:1rem;font-size:.9rem;display:flex}.detail-empty{text-align:center;color:var(--text-dim);padding:3rem}.detail-error{color:var(--error)}.auth-shell{box-sizing:border-box;justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex;position:relative}.auth-shell:before{content:"";pointer-events:none;background:radial-gradient(50% 60% at 50% 0,#818cf80f,#0000),radial-gradient(40% 40% at 70% 100%,#34d3990a,#0000);position:absolute;inset:0}.auth-card{width:min(100%,400px);padding:2.5rem;animation:.4s ease-out fadeInUp;position:relative}.auth-card h1{margin-bottom:.35rem;font-size:1.35rem}.auth-card p{color:var(--text-dim);font-size:.82rem;line-height:1.6}.auth-card-compact{text-align:center;width:min(100%,360px)}.auth-brand{letter-spacing:-.02em;align-items:center;gap:.65rem;margin-bottom:1.5rem;font-size:1.05rem;font-weight:700;display:inline-flex}.auth-brand svg{filter:drop-shadow(0 0 12px #818cf84d)}.auth-form{margin-top:1.5rem}.auth-submit{justify-content:center;width:100%;margin-top:.5rem;padding:12px 22px;font-size:.875rem}@media (width<=960px){.layout{padding:1.25rem}.header-responsive,.detail-hero{flex-direction:column;align-items:stretch}.header-actions,.ops-actions{justify-content:stretch}.header-actions>.button-primary,.ops-actions>.button-primary,.ops-actions>label.button-primary{flex:220px;justify-content:center}.detail-hero-metrics{min-width:0}.detail-card{grid-column:span 12}}@media (width<=640px){.layout{padding:.85rem}.header,.sites-section,.ops-panel,.detail-hero,.detail-card,.modal-content{padding:1rem}.logo{font-size:1.15rem}.metrics-grid-wide,.health-grid{grid-template-columns:1fr}.metric-card{gap:1rem;padding:1.1rem}.metric-card h2{font-size:1.55rem}.metric-icon{padding:.85rem}.detail-actions,.actions-wrap,.modal-actions{width:100%}.modal-actions,.script-toolbar{flex-direction:column;align-items:stretch}.header-actions,.ops-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;width:100%;display:grid}.header-actions>.user-chip,.ops-actions>.button-primary:last-child,.ops-actions>label.button-primary:last-child{grid-column:1/-1}.header-actions>.button-primary,.header-actions>.user-chip,.ops-actions>.button-primary,.ops-actions>label.button-primary,.script-toolbar>.button-primary{justify-content:center;width:100%}.header-actions>.button-primary,.ops-actions>.button-primary,.ops-actions>label.button-primary{gap:.45rem;min-height:40px;padding:.7rem .9rem;font-size:.8rem}.header-actions>.button-primary:last-child{grid-column:1/-1}.header-actions>.user-chip{min-height:32px;padding:.45rem .75rem;font-size:.76rem}.script-toolbar>.button-primary{width:100%}.actions-grid-mobile{grid-template-columns:1fr 1fr}.detail-actions .button-primary,.header-actions .button-primary,.ops-actions .button-primary,.ops-actions label.button-primary,.modal-actions .button-primary,.modal-actions .button-cancel{justify-content:center;width:100%}.button-cancel{min-height:42px}.actions-grid-mobile .btn-icon{min-height:38px;padding:.58rem .7rem}.actions-grid-mobile .btn-icon span{font-size:.78rem}.detail-hero-metrics{grid-template-columns:1fr}.history-item,.health-card-row,.section-header-row,.site-card-header,.modal-header-row{flex-direction:column;align-items:flex-start}.history-metrics{justify-content:flex-start}.modal-overlay{box-sizing:border-box;align-items:flex-start;padding:.75rem;overflow-y:auto}.modal-content,.modal-wide,.modal-medium,.modal-qr{width:100%;max-width:none;margin:0}.script-block{max-height:300px;font-size:.82rem}.qr-surface svg{width:min(100%,260px);height:auto}}@media (width<=420px){.layout{padding:.7rem}.header,.sites-section,.ops-panel,.detail-hero,.detail-card,.modal-content{padding:.9rem}.actions-grid-mobile,.header-actions,.ops-actions{grid-template-columns:1fr}.status-pill{min-width:0}}:root{--bg-dark:#060a14;--bg-surface:#0e1525;--bg-panel:#0e1525bf;--bg-panel-hover:#1e293be6;--primary:#818cf8;--primary-hover:#6366f1;--primary-glow:#818cf81f;--accent:#34d399;--accent-glow:#34d3991f;--warn:#fbbf24;--text-main:#f1f5f9;--text-muted:#94a3b8;--text-dim:#475569;--border-light:#ffffff0f;--border-focus:#818cf880;--error:#f87171;--radius:14px;--radius-sm:10px;--radius-xs:6px;--shadow-card:0 1px 3px #0000004d, 0 0 0 1px #ffffff0a;--shadow-elevated:0 16px 64px #00000080;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);color:var(--text-main);background:var(--bg-dark);font-feature-settings:"cv02", "cv03", "cv04", "cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.5}*,:before,:after{box-sizing:border-box}body{background:radial-gradient(80% 50% at 20% -20%,#818cf80f,#0000),radial-gradient(60% 40% at 80% 110%,#34d3990a,#0000),linear-gradient(175deg,#060a14 0%,#0e1525 50%,#060a14 100%);min-height:100vh;margin:0;display:flex}#root{flex-direction:column;flex:1;display:flex}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#94a3b833;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#94a3b859}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulseGlow{0%,to{box-shadow:0 0 0 0 var(--primary-glow)}50%{box-shadow:0 0 16px 4px var(--primary-glow)}}.glass-panel{background:var(--bg-panel);-webkit-backdrop-filter:blur(24px)saturate(1.4);backdrop-filter:blur(24px)saturate(1.4);border:1px solid var(--border-light);border-radius:var(--radius);box-shadow:var(--shadow-card);transition:border-color var(--transition-normal), box-shadow var(--transition-normal)}.glass-panel:hover{border-color:#ffffff17}.glass-inset{border-radius:var(--radius-sm);background:#080d1a8c;border:1px solid #ffffff0d}.button-primary{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-hover) 100%);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:none;align-items:center;gap:8px;padding:10px 22px;font-size:.85rem;font-weight:600;display:inline-flex;box-shadow:0 1px 3px #0000004d,inset 0 1px #ffffff1a}.button-primary:hover{background:linear-gradient(135deg, var(--primary-hover) 0%, #4f46e5 100%);transform:translateY(-1px);box-shadow:0 4px 20px #818cf840,inset 0 1px #ffffff1a}.button-primary:active{transform:translateY(0);box-shadow:0 1px 2px #00000040}.button-danger{background:linear-gradient(135deg, var(--error) 0%, #ef4444 100%)}.button-danger:hover{background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);box-shadow:0 4px 16px #f8717140,inset 0 1px #ffffff1a}h1,h2,h3{color:var(--text-main);letter-spacing:-.025em;margin-top:0}h1{font-size:1.65rem;font-weight:700}h2{font-size:1.3rem;font-weight:650}h3{color:var(--text-muted);font-size:.95rem;font-weight:600}p{color:var(--text-muted);line-height:1.6}.input-glass{border:1px solid var(--border-light);color:#fff;border-radius:var(--radius-sm);box-sizing:border-box;width:100%;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);background:#080d1ab3;padding:11px 14px;font-family:inherit;font-size:.875rem}.input-glass:focus{border-color:var(--border-focus);outline:none;box-shadow:0 0 0 3px #818cf81a}.input-glass::placeholder{color:#94a3b88c}select.input-glass{color:var(--text-main);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background-color:#080d1a}.input-select{appearance:none;background-image:linear-gradient(45deg,#0000 50%,#93c5fd 50%),linear-gradient(135deg,#93c5fd 50%,#0000 50%);background-position:calc(100% - 18px) calc(50% - 2px),calc(100% - 12px) calc(50% - 2px);background-repeat:no-repeat;background-size:6px 6px,6px 6px;padding-right:2.75rem}select.input-glass option{color:#f8fafc;background-color:#080d1a}select.input-glass option:checked{background-color:var(--primary-hover);color:#fff}.input-glass:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--primary-glow);outline:none}.input-glass:disabled,.button-primary:disabled,.button-cancel:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.3);transform:none}.form-group{margin-bottom:1.5rem}.form-group label{color:var(--text-muted);letter-spacing:.01em;margin-bottom:.5rem;font-size:.85rem;font-weight:500;display:block}
