@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400 700;font-display:swap;src:url(../../../fonts/source-sans-3-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400 700;font-display:swap;src:url(../../../fonts/source-sans-3-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--color-primary:#24605a;--color-primary-dark:#17443f;--color-primary-light:#5c948d;--color-primary-pale:#e8f2f0;--color-secondary:#55605e;--color-secondary-dark:#3b4544;--color-secondary-light:#7f8a88;--color-accent:#c2871c;--color-accent-dark:#9d6c11;--color-bg:#fff;--color-bg-warm:#f6f7f5;--color-bg-elevated:#fff;--color-bg-chrome:#fafbf9;--color-text:#1a2220;--color-text-muted:#566360;--color-text-light:#98a29f;--color-success:#1f8f63;--color-success-light:#e6f5ef;--color-error:#c0402c;--color-error-light:#fbeae6;--color-warning:#a8760a;--color-warning-light:#fbf3dd;--color-info:#2c6d9e;--color-info-light:#e9f2f9;--color-border:#e0e5e3;--color-border-light:#eef1f0;--shadow-sm:0 1px 3px #1428240d;--shadow-md:0 3px 14px #14282412;--shadow-lg:0 8px 28px #14282417;--shadow-hover:0 6px 20px #1428241c;--radius-sm:5px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--transition-fast:.14s ease;--transition-normal:.22s ease;--container-max:1120px;--container-pad:1.25rem;--font-family:"Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, "SFMono-Regular", "Source Code Pro", Menlo, Consolas, monospace;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:2rem;--font-size-4xl:2.75rem}*{box-sizing:border-box}html{height:100%}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;min-height:100%;margin:0;line-height:1.6;display:flex}main{flex:1}img{max-width:100%;height:auto}h1,h2,h3,h4,h5,h6{color:var(--color-text);letter-spacing:-.01em;margin:0 0 .5em;font-weight:700;line-height:1.25}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl);font-weight:600}p{margin:0 0 1em}.lead{font-size:var(--font-size-lg);color:var(--color-text-muted);font-weight:400}a{color:var(--color-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-primary-dark)}:focus-visible{outline:3px solid var(--color-primary-light);outline-offset:2px}code,kbd,samp{font-family:var(--font-mono);font-size:.9em}hr{border:0;border-top:1px solid var(--color-border);margin:var(--space-6) 0}.btn{font-family:var(--font-family);font-size:var(--font-size-base);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);border:2px solid #0000;justify-content:center;align-items:center;gap:.5em;padding:.5rem 1.1rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed}.btn:focus-visible{box-shadow:0 0 0 3px var(--color-primary-pale);outline:none}.btn-primary{color:#fff;background-color:var(--color-primary);border-color:var(--color-primary)}.btn-primary:hover:not(:disabled){color:#fff;background-color:var(--color-primary-dark);border-color:var(--color-primary-dark);box-shadow:var(--shadow-md)}.btn-secondary{color:var(--color-text);background-color:var(--color-bg);border-color:var(--color-border)}.btn-secondary:hover:not(:disabled){background-color:var(--color-bg-warm);border-color:var(--color-primary-light);color:var(--color-primary)}.btn-outline{color:var(--color-primary);border-color:var(--color-primary);background-color:#0000}.btn-outline:hover:not(:disabled){background-color:var(--color-primary);color:#fff}.btn-danger{color:#fff;background-color:var(--color-error);border-color:var(--color-error)}.btn-danger:hover:not(:disabled){background-color:#a1341f;border-color:#a1341f}.btn-ghost{color:var(--color-text-muted);background:0 0;border-color:#0000;padding:.35rem .6rem}.btn-ghost:hover:not(:disabled){color:var(--color-primary);background-color:var(--color-bg-warm)}.btn-lg{font-size:var(--font-size-lg);border-radius:var(--radius-lg);padding:.8rem 1.6rem}.btn-sm{font-size:var(--font-size-sm);border-radius:var(--radius-sm);padding:.3rem .75rem}.card{background-color:var(--color-bg-elevated);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-normal), border-color var(--transition-normal)}.card:hover{box-shadow:var(--shadow-md)}.card-clickable{cursor:pointer}.card-clickable:hover{box-shadow:var(--shadow-hover);border-color:var(--color-primary-light)}.card-header{background-color:var(--color-bg-warm);border-bottom:1px solid var(--color-border-light);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--space-3) var(--space-5);font-weight:600}.card-body{padding:var(--space-5)}.card-footer{background-color:var(--color-bg-warm);border-top:1px solid var(--color-border-light);border-radius:0 0 var(--radius-lg) var(--radius-lg);padding:var(--space-3) var(--space-5)}.field{margin-bottom:var(--space-5)}.field label{margin-bottom:var(--space-2);font-weight:600;display:block}.field-hint{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-top:var(--space-1)}.field-error{color:var(--color-error);font-size:var(--font-size-sm);margin-top:var(--space-1)}.form-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}input[type=text],input[type=email],input[type=number],input[type=datetime-local],input[type=search],textarea,select{width:100%;font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text);border:2px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg-elevated);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);padding:.55rem .9rem}input:focus,textarea:focus,select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-pale);outline:none}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--color-error)}.alert{border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);font-weight:500}.alert-success{background-color:var(--color-success-light);color:#16714d}.alert-error{background-color:var(--color-error-light);color:#a1341f}.alert-warning{background-color:var(--color-warning-light);color:#8a6108}.alert-info{background-color:var(--color-info-light);color:#235a83}.badge{border-radius:var(--radius-full);font-weight:600;font-size:var(--font-size-xs);background-color:var(--color-bg-warm);color:var(--color-text);white-space:nowrap;padding:.3em .7em;display:inline-block}.badge-primary{background-color:var(--color-primary);color:#fff}.flag{font-weight:600;font-size:var(--font-size-xs);border-radius:var(--radius-full);white-space:nowrap;cursor:help;padding:.2em .6em;display:inline-block}.flag-samedevice{background-color:var(--color-error-light);color:#a1341f}.flag-samename{background-color:var(--color-warning-light);color:#8a6108}.flag-ipburst{background-color:var(--color-bg-warm);color:var(--color-text-muted)}.flag-newdeviceforname{background-color:var(--color-info-light);color:#235a83}.table-wrap{border:1px solid var(--color-border-light);border-radius:var(--radius-lg);background-color:var(--color-bg-elevated);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}th{text-align:left;color:var(--color-text-muted);background-color:var(--color-bg-warm);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-light);white-space:nowrap;font-weight:600}td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-light);vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background-color:var(--color-bg-warm)}.numeric{font-variant-numeric:tabular-nums}.container{width:100%;max-width:var(--container-max);padding:0 var(--container-pad);margin:0 auto}.section{padding-block:var(--space-7)}.page-head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.stack{gap:var(--space-4);flex-direction:column;display:flex}.row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.text-muted{color:var(--color-text-muted)}.bg-warm{background-color:var(--color-bg-warm)}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.empty-state{text-align:center;color:var(--color-text-muted);padding:var(--space-7) var(--space-4)}.site-header{background-color:var(--color-bg-chrome);border-bottom:1px solid var(--color-border)}.site-footer{background-color:var(--color-bg-chrome);color:var(--color-text-muted);padding:var(--space-6) 0 var(--space-5);border-top:1px solid var(--color-border);font-size:var(--font-size-sm)}.site-footer a{color:var(--color-text-muted)}.site-footer a:hover{color:var(--color-primary)}.wall-root{--color-bg:#12211f;--color-bg-elevated:#1b2e2b;--color-bg-warm:#1a2f2c;--color-text:#f2f6f4;--color-text-muted:#9fb3ae;--color-border:#2d4440;--color-border-light:#243734;background-color:var(--color-bg);min-height:100vh;color:var(--color-text);padding:var(--space-5);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fade-in var(--transition-normal) ease-out}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=640px){:root{--font-size-4xl:2rem;--font-size-3xl:1.5rem;--font-size-2xl:1.25rem}.card-body{padding:var(--space-4)}}
