:root{--color-sage-50:#f4f7f4;--color-sage-100:#e4ece5;--color-sage-200:#c4d2c6;--color-sage-300:#9bb09f;--color-sage-400:#6e8975;--color-sage-500:#4a6754;--color-sage-600:#2f4538;--color-sage-700:#243629;--color-sage-800:#1a2820;--color-sage-900:#101a14;--color-terracotta-50:#faf4ee;--color-terracotta-100:#f1e2d2;--color-terracotta-200:#e2c2a4;--color-terracotta-300:#cda078;--color-terracotta-400:#b4825a;--color-terracotta-500:#8c5e3c;--color-terracotta-600:#714a2f;--color-terracotta-700:#553825;--color-terracotta-800:#3a271a;--color-terracotta-900:#22170f;--color-neutral-0:#fff;--color-neutral-50:#f5f0e8;--color-neutral-100:#ece6dc;--color-neutral-200:#dcd4c6;--color-neutral-300:#bfb6a8;--color-neutral-400:#928a7e;--color-neutral-500:#6a6359;--color-neutral-600:#494640;--color-neutral-700:#2e2d2a;--color-neutral-800:#1f2220;--color-neutral-900:#121412;--color-rating-tier1-safe-bg:#dde8dc;--color-rating-tier1-safe-fg:#1f4030;--color-rating-tier1-safe-accent:#3f6b4e;--color-rating-tier2-likely-safe-bg:#e8ebd8;--color-rating-tier2-likely-safe-fg:#3d4717;--color-rating-tier2-likely-safe-accent:#6b7a2c;--color-rating-tier3-caution-bg:#f2e6cc;--color-rating-tier3-caution-fg:#5a4316;--color-rating-tier3-caution-accent:#a07a2b;--color-rating-tier4-avoid-if-possible-bg:#efd9c8;--color-rating-tier4-avoid-if-possible-fg:#6b3617;--color-rating-tier4-avoid-if-possible-accent:#b25526;--color-rating-tier5-avoid-bg:#e6cfc5;--color-rating-tier5-avoid-fg:#5a1e16;--color-rating-tier5-avoid-accent:#963024;--color-semantic-success-quiet:#3f6b4e;--color-semantic-info:#3f5a6b;--color-semantic-warn:#a07a2b;--color-semantic-error:#963024;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:28px;--space-7:40px;--space-8:56px;--space-9:80px;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-xl:28px;--radius-pill:999px;--duration-shortTick:.18s;--duration-snappy:.2s;--duration-natural:.22s;--duration-ratingReveal:.28s;--duration-imageFade:.32s;--duration-ambientLoop:1.2s;--ease-pregnancy:cubic-bezier(.32, .72, .24, 1);--font-display-xl-stack:Fraunces, "Tiempos Headline", Georgia, serif;--font-display-xl-size:40px;--font-display-xl-line-height:46px;--font-display-xl-weight:400;--font-display-lg-stack:Fraunces, "Tiempos Headline", Georgia, serif;--font-display-lg-size:33px;--font-display-lg-line-height:40px;--font-display-lg-weight:400;--font-title-stack:Fraunces, "Tiempos Headline", Georgia, serif;--font-title-size:27px;--font-title-line-height:34px;--font-title-weight:500;--font-subtitle-stack:Inter, "IBM Plex Sans", system-ui, -apple-system, sans-serif;--font-subtitle-size:22px;--font-subtitle-line-height:30px;--font-subtitle-weight:600;--font-body-lg-stack:Inter, "IBM Plex Sans", system-ui, -apple-system, sans-serif;--font-body-lg-size:18px;--font-body-lg-line-height:28px;--font-body-lg-weight:400;--font-body-stack:Inter, "IBM Plex Sans", system-ui, -apple-system, sans-serif;--font-body-size:16px;--font-body-line-height:24px;--font-body-weight:400;--font-body-sm-stack:Inter, "IBM Plex Sans", system-ui, -apple-system, sans-serif;--font-body-sm-size:14px;--font-body-sm-line-height:20px;--font-body-sm-weight:400;--font-caption-stack:Inter, "IBM Plex Sans", system-ui, -apple-system, sans-serif;--font-caption-size:12px;--font-caption-line-height:16px;--font-caption-weight:500;--font-mono-stack:"JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;--font-mono-size:14px;--font-mono-line-height:20px;--font-mono-weight:400}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background-color:var(--color-neutral-50);color:var(--color-neutral-700);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-size:14px;line-height:1.5}.app-shell{background:linear-gradient(to bottom, var(--color-sage-50) 0%, var(--color-neutral-50) 32%, var(--color-neutral-50) 100%);flex-direction:column;min-height:100%;display:flex}.app-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-neutral-200);background-color:var(--color-neutral-50);justify-content:space-between;align-items:center;display:flex}.app-brand{color:var(--color-sage-700);letter-spacing:.2px;font-family:Fraunces,Georgia,serif;font-size:18px;font-weight:500}.app-brand-eyebrow{text-transform:uppercase;letter-spacing:1.2px;color:var(--color-neutral-500);margin-bottom:2px;font-size:11px}.app-content{padding:var(--space-6) var(--space-5);flex:1;width:100%;max-width:1100px;margin:0 auto}.app-section-title{color:var(--color-sage-700);margin:0 0 var(--space-2) 0;font-family:Fraunces,Georgia,serif;font-size:28px;font-weight:500}.app-section-subtitle{color:var(--color-neutral-500);margin:0 0 var(--space-5) 0;font-size:16px}.app-card{background-color:var(--color-neutral-0);border:1px solid var(--color-neutral-200);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-3);box-shadow:0 3px 10px #1a28200a}.app-card-tinted{background-color:var(--color-sage-50);border-color:var(--color-sage-200)}.app-card-warning{background-color:var(--color-terracotta-50);border-color:var(--color-terracotta-200)}.app-card-row{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.app-button{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);cursor:pointer;border:1px solid #0000;font-family:inherit;font-size:14px;font-weight:500;transition:background-color .22s cubic-bezier(.32,.72,.24,1),border-color .22s cubic-bezier(.32,.72,.24,1);display:inline-flex}.app-button-primary{background-color:var(--color-sage-600);color:var(--color-neutral-50);border-color:var(--color-sage-600)}.app-button-primary:hover{background-color:var(--color-sage-700);border-color:var(--color-sage-700)}.app-button-primary:disabled{background-color:var(--color-neutral-300);border-color:var(--color-neutral-300);cursor:not-allowed}.app-button-secondary{background-color:var(--color-neutral-0);color:var(--color-sage-600);border-color:var(--color-neutral-200)}.app-button-secondary:hover{border-color:var(--color-sage-400)}.app-button-destructive{background-color:var(--color-neutral-0);color:var(--color-terracotta-600);border-color:var(--color-terracotta-300)}.app-button-destructive:hover{background-color:var(--color-terracotta-50);border-color:var(--color-terracotta-500)}.app-field-label{text-transform:uppercase;letter-spacing:1.2px;color:var(--color-neutral-500);margin-bottom:var(--space-1);font-size:11px;display:block}.app-input,.app-textarea,.app-select{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--color-neutral-200);border-radius:var(--radius-md);background-color:var(--color-neutral-0);color:var(--color-neutral-700);outline:none;font-family:inherit;font-size:14px;transition:border-color .22s cubic-bezier(.32,.72,.24,1);display:block}.app-input:focus,.app-textarea:focus,.app-select:focus{border-color:var(--color-sage-400)}.app-textarea{resize:vertical;min-height:120px;font-family:inherit;line-height:1.5}.app-table{border-collapse:collapse;border:1px solid var(--color-neutral-200);border-radius:var(--radius-md);background-color:var(--color-neutral-0);width:100%;overflow:hidden}.app-table th,.app-table td{padding:var(--space-3) var(--space-4);text-align:left;font-size:13px}.app-table th{background-color:var(--color-neutral-100);text-transform:uppercase;letter-spacing:1.2px;color:var(--color-neutral-500);border-bottom:1px solid var(--color-neutral-200);font-size:11px;font-weight:500}.app-table tr:not(:last-child) td{border-bottom:1px solid var(--color-neutral-100)}.app-table tr.app-row-clickable{cursor:pointer;transition:background-color .22s cubic-bezier(.32,.72,.24,1)}.app-table tr.app-row-clickable:hover{background-color:var(--color-sage-50)}.app-pill{padding:2px var(--space-3);text-transform:uppercase;letter-spacing:1px;border:.5px solid;border-radius:999px;align-items:center;font-size:11px;font-weight:500;display:inline-flex}.app-pill-active{background-color:var(--color-sage-100);color:var(--color-sage-700);border-color:var(--color-sage-200)}.app-pill-pending{background-color:var(--color-terracotta-50);color:var(--color-terracotta-600);border-color:var(--color-terracotta-200)}.app-pill-neutral{background-color:var(--color-neutral-100);color:var(--color-neutral-500);border-color:var(--color-neutral-200)}.app-pill-warning{background-color:var(--color-terracotta-50);color:var(--color-terracotta-700);border-color:var(--color-terracotta-300)}.app-filter-row{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.app-filter-chip{background-color:var(--color-neutral-0);color:var(--color-neutral-600);border:1px solid var(--color-neutral-200);padding:var(--space-2) var(--space-4);cursor:pointer;border-radius:999px;font-family:inherit;font-size:12px;transition:background-color .22s,border-color .22s}.app-filter-chip:hover{border-color:var(--color-sage-400)}.app-filter-chip-active{background-color:var(--color-sage-600);color:var(--color-neutral-50);border-color:var(--color-sage-600)}.app-empty{text-align:center;padding:var(--space-7);color:var(--color-neutral-500);font-size:14px}.app-error{background-color:var(--color-terracotta-50);color:var(--color-terracotta-700);border:1px solid var(--color-terracotta-200);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-3);font-size:13px}.app-success{background-color:var(--color-sage-50);color:var(--color-sage-700);border:1px solid var(--color-sage-200);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-3);font-size:13px}.app-login{padding:var(--space-7);flex:1;justify-content:center;align-items:center;display:flex}.app-login-card{background-color:var(--color-neutral-0);border:1px solid var(--color-neutral-200);border-radius:var(--radius-lg);padding:var(--space-7);width:100%;max-width:480px;box-shadow:0 6px 20px #1a28200f}.app-meta-row{gap:var(--space-5);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.app-meta-item{flex-direction:column;gap:2px;display:flex}.app-meta-label{text-transform:uppercase;letter-spacing:1px;color:var(--color-neutral-500);font-size:11px}.app-meta-value{color:var(--color-neutral-700);font-variant-numeric:tabular-nums;font-size:14px}.app-link{color:var(--color-sage-600);cursor:pointer;font-family:inherit;font-weight:500;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:none}.app-link:hover{text-decoration:underline}.app-stack{gap:var(--space-3);flex-direction:column;display:flex}.app-row{gap:var(--space-3);align-items:center;display:flex}.app-row-end{margin-left:auto}.app-disclaimer{color:var(--color-neutral-500);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-neutral-200);font-size:12px;line-height:1.5}.app-header-brand{flex-direction:column;gap:2px;display:flex}.app-brand-title{color:var(--color-sage-700);letter-spacing:.2px;font-family:Fraunces,Georgia,serif;font-size:18px;font-weight:500}.app-header-nav{align-items:center;gap:var(--space-2);display:flex}.app-nav-link{border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);color:var(--color-neutral-600);cursor:pointer;background:0 0;border:1px solid #0000;font-family:inherit;font-size:13px;font-weight:500;transition:background-color .22s cubic-bezier(.32,.72,.24,1),color .22s cubic-bezier(.32,.72,.24,1)}.app-nav-link:hover{background-color:var(--color-sage-50);color:var(--color-sage-700)}.app-nav-link-active{background-color:var(--color-sage-100);color:var(--color-sage-700);border-color:var(--color-sage-200)}.app-nav-link-signout{margin-left:var(--space-3);color:var(--color-terracotta-600)}.app-nav-link-signout:hover{background-color:var(--color-terracotta-50);color:var(--color-terracotta-700)}.app-main{padding:var(--space-6) var(--space-5);flex:1;width:100%;max-width:1100px;margin:0 auto}.app-footer{border-top:1px solid var(--color-neutral-200);padding:var(--space-4) var(--space-5);color:var(--color-neutral-500);background-color:var(--color-neutral-50);font-size:12px}.app-footer p{max-width:1100px;margin:0 auto;line-height:1.5}.app-dl{column-gap:var(--space-4);row-gap:var(--space-3);grid-template-columns:minmax(140px,200px) 1fr;margin:0;display:grid}.app-dl dt{text-transform:uppercase;letter-spacing:1.2px;color:var(--color-neutral-500);font-size:11px;font-weight:500}.app-dl dd{color:var(--color-neutral-700);margin:0;font-size:14px}.app-pre{background-color:var(--color-neutral-100);border:1px solid var(--color-neutral-200);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);font-family:var(--font-mono-stack);white-space:pre-wrap;word-break:break-word;color:var(--color-neutral-700);margin:0;font-size:12px;line-height:1.5}.app-firewall-banner{background-color:var(--color-terracotta-50);border:1px solid var(--color-terracotta-200);border-left:3px solid var(--color-terracotta-500);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-5);color:var(--color-terracotta-700);font-size:13px;line-height:1.5}.app-firewall-banner strong{color:var(--color-terracotta-800);font-weight:600}.app-firewall-banner code{background-color:var(--color-neutral-0);border-radius:var(--radius-xs);border:1px solid var(--color-terracotta-200);padding:1px 6px;font-size:12px}.app-card-title{color:var(--color-sage-700);margin:0 0 var(--space-2) 0;font-family:Fraunces,Georgia,serif;font-size:20px;font-weight:500}.app-card-subtitle{color:var(--color-neutral-500);margin:0 0 var(--space-5) 0;font-size:13px;line-height:1.5}.app-fieldset{margin:0 0 var(--space-4) 0;gap:var(--space-2);border:none;flex-direction:column;padding:0;display:flex}.app-fieldset legend{text-transform:uppercase;letter-spacing:1.2px;color:var(--color-neutral-500);margin-bottom:var(--space-2);padding:0;font-size:11px;display:block}.app-radio-row{align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-neutral-200);border-radius:var(--radius-md);cursor:pointer;font-size:13px;line-height:1.5;transition:border-color .22s cubic-bezier(.32,.72,.24,1);display:flex}.app-radio-row:hover{border-color:var(--color-sage-400)}.app-radio-row input[type=radio]{accent-color:var(--color-sage-600);flex-shrink:0;margin-top:3px}.app-radio-row strong{color:var(--color-neutral-700);font-weight:600}.app-char-counter{color:var(--color-neutral-400);margin-top:var(--space-1);font-variant-numeric:tabular-nums;font-size:11px}.app-confirm-row{gap:var(--space-3);padding:var(--space-4);background-color:var(--color-terracotta-50);border:1px solid var(--color-terracotta-200);border-radius:var(--radius-md);flex-direction:column;display:flex}.app-confirm-prompt{color:var(--color-terracotta-700);margin:0;font-size:13px;line-height:1.5}.app-confirm-prompt code{background-color:var(--color-neutral-0);border-radius:var(--radius-xs);border:1px solid var(--color-terracotta-200);padding:1px 6px;font-size:12px}
