:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg0:#f8fafc;--bg1:#eef4f1;--ink:#0f172a;--muted:#64748b;--accent:#0f241f;--accent-ink:#f8fafc;--line:#0f172a17;--line-strong:#0f172a29;--danger:#b91c1c;--panel:#ffffffeb;color:var(--ink);background:radial-gradient(900px 500px at 12% -8%, #0f241f1c 0%, transparent 58%), radial-gradient(800px 480px at 100% 0%, #3b82f617 0%, transparent 52%), linear-gradient(160deg, var(--bg0), var(--bg1));font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.45}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit}.app-shell{min-height:100vh;padding:1.75rem clamp(1rem,2.6vw,2.5rem) 3rem}.app-shell.is-ready>.panel,.app-shell.is-ready>.notice{animation:.52s cubic-bezier(.22,1,.36,1) both surface-enter}.app-shell.is-ready>:nth-child(4){animation-delay:35ms}.app-shell.is-ready>:nth-child(5){animation-delay:70ms}.app-shell.is-ready>:nth-child(6){animation-delay:.105s}.app-shell.is-ready>:nth-child(n+7){animation-delay:.14s}.auth-shell{place-items:center;display:grid}.auth-card,.panel{border:1px solid var(--line);background:#ffffffeb;border-radius:1.1rem;box-shadow:0 18px 60px #0f172a14}.auth-card{width:min(100%,32rem);padding:1.4rem}.panel{margin-bottom:1rem;padding:1.05rem}.topbar{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.topbar-actions,.refresh-actions{align-items:center;gap:.65rem;display:flex}.live-status{border:1px solid var(--line);min-height:2.35rem;color:var(--muted);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffc7;border-radius:999px;align-items:center;gap:.55rem;padding:.4rem .72rem;font-size:.78rem;font-weight:740;display:flex}.live-status>span:last-child{line-height:1.05;display:grid}.live-status small{color:var(--muted);margin-top:.18rem;font-size:.62rem;font-weight:560}.live-dot{background:#94a3b8;border-radius:50%;width:.48rem;height:.48rem}.live-status.online .live-dot{background:#22c55e;animation:2.4s ease-out infinite live-pulse;box-shadow:0 0 #22c55e66}.live-status.offline{color:var(--danger)}.sync-label{color:var(--muted);font-size:.78rem;animation:1.1s ease-in-out infinite soft-pulse}.brand-row{align-items:center;gap:.9rem;display:flex}.app-mark{color:#f8fafc;background:#0f241f;border-radius:.9rem;place-items:center;width:2.85rem;height:2.85rem;display:grid;box-shadow:0 14px 40px #0f241f2e}.brand{letter-spacing:-.055em;margin:0;font-size:clamp(2rem,4vw,3rem);font-weight:780;line-height:.95}.sub{color:var(--muted);max-width:38rem;margin:.25rem 0 0}.eyebrow{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .25rem;font-size:.72rem;font-weight:760}.panel h2{letter-spacing:-.015em;margin:0;font-size:1rem}.section-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.9rem;display:flex}.row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.stack{gap:.85rem;display:grid}label{color:var(--muted);gap:.35rem;font-size:.88rem;font-weight:620;display:grid}input,select{border:1px solid var(--line);color:var(--ink);min-width:min(100%,18rem);font:inherit;background:#fff;border-radius:.72rem;outline:none;padding:.66rem .75rem}input:focus,select:focus{border-color:#0f241f73;box-shadow:0 0 0 3px #0f241f14}.btn,.mini-btn,.attachment-pill{font:inherit;border:1px solid #0000;border-radius:.72rem;justify-content:center;align-items:center;gap:.42rem;font-weight:680;line-height:1;transition:transform .18s cubic-bezier(.22,1,.36,1),box-shadow .18s,border-color .18s,background .18s;display:inline-flex}.btn{color:#f8fafc;background:#0f241f;padding:.62rem .88rem}.btn.secondary,.btn.ghost{color:var(--ink);border-color:var(--line-strong);background:#fff}.btn.ghost{color:var(--muted)}.btn:hover:not(:disabled),.mini-btn:hover:not(:disabled),.attachment-pill:hover:not(:disabled){border-color:#0f241f47;transform:translateY(-1px);box-shadow:0 8px 22px #0f241f17}.btn:disabled,.mini-btn:disabled,.attachment-pill:disabled{opacity:.45;cursor:not-allowed}.mini-btn,.attachment-pill{color:var(--ink);border-color:var(--line);background:#fff;padding:.34rem .52rem;font-size:.8rem}.icon{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:1rem;height:1rem}.icon.spin{animation:.76s linear infinite spin}.meta{color:var(--muted);font-size:.88rem}.notice{border:1px solid var(--line);color:var(--muted);background:#ffffffd6;border-radius:.85rem;align-items:center;gap:.45rem;margin:0 0 .75rem;padding:.72rem .85rem;display:flex}.notice.success{color:#166534;background:#dcfce7b8;border-color:#22c55e38}.error,.notice.error{color:var(--danger);white-space:pre-wrap;background:#fee2e29e;border-color:#b91c1c33}.stats{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.75rem;display:grid}.stat{border:1px solid var(--line);color:var(--muted);background:linear-gradient(#fff,#f8fafcd9);border-radius:.9rem;gap:.2rem;padding:.85rem .9rem;display:grid;position:relative;overflow:hidden}.stat strong{color:var(--ink);letter-spacing:-.04em;font-size:1.7rem;display:block}.stat-icon{color:#0f241f40;position:absolute;top:.75rem;right:.75rem}.status-badge{border:1px solid var(--line);text-transform:lowercase;border-radius:999px;align-items:center;width:fit-content;padding:.18rem .48rem;font-size:.76rem;font-weight:760;display:inline-flex}.status-badge.good{color:#166534;background:#dcfce7;border-color:#bbf7d0}.status-badge.warn{color:#92400e;background:#fef3c7;border-color:#fde68a}.status-badge.bad{color:#991b1b;background:#fee2e2;border-color:#fecaca}.status-badge.neutral{color:#475569;background:#f1f5f9;border-color:#e2e8f0}.table{border-collapse:separate;border-spacing:0;width:100%;font-size:.9rem}.content-reveal{animation:.44s cubic-bezier(.22,1,.36,1) both content-reveal}.table-skeleton{border-radius:.75rem;gap:0;display:grid;overflow:hidden}.skeleton-row{border-top:1px solid var(--line);gap:1.25rem;padding:.95rem .55rem;display:grid}.skeleton-row:first-child{border-top:0}.skeleton-line,.skeleton-number,.skeleton-input{background:#e8eeeb;border-radius:999px;display:block;position:relative;overflow:hidden}.skeleton-line:after,.skeleton-number:after,.skeleton-input:after{content:"";background:linear-gradient(90deg,#0000,#fffc,#0000);animation:1.45s ease-in-out infinite skeleton-shimmer;position:absolute;inset:0;transform:translate(-100%)}.skeleton-line{width:min(100%,9rem);height:.72rem}.skeleton-line.short{width:4.5rem}.skeleton-number{border-radius:.55rem;width:3.5rem;height:2.1rem;margin-top:.15rem}.skeleton-input{border-radius:.72rem;width:min(100%,18rem);height:2.55rem}.field-skeleton{gap:.5rem;display:grid}.table tr.live-item td{animation:1.15s cubic-bezier(.22,1,.36,1) both live-row-enter}.table th,.table td{border-top:1px solid var(--line);text-align:left;vertical-align:top;padding:.78rem .55rem}.table th{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;border-top:none;font-size:.74rem;font-weight:760}.review-tr:hover td{background:#f8fafca6}.mail-title{letter-spacing:-.01em;font-weight:720}.score-stack,.action-stack{gap:.42rem;display:grid}.reason-list{color:var(--muted);font-size:.82rem;line-height:1.35}.scan-range-card{border:1px solid var(--line);background:#f8fafca6;border-radius:1rem;grid-template-columns:minmax(18rem,.85fr) minmax(18rem,1.15fr);display:grid;overflow:hidden}.scan-presets{border-right:1px solid var(--line);background:#ffffffb8;padding:1rem}.scan-custom{padding:1rem}.scan-kicker{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.7rem;font-size:.74rem;font-weight:780}.scan-preset-row{gap:.5rem;margin-bottom:1.15rem;display:flex}.range-chip,.year-button,.quarter-button{color:var(--ink);font:inherit;background:0 0;border:0;border-radius:.55rem;padding:.25rem .38rem;font-weight:740}.range-chip.active,.year-button.active,.quarter-button.active{background:#0f241f1a}.year-list{gap:.45rem;display:grid}.year-row{grid-template-columns:3.1rem 2.7rem repeat(4,2.4rem);align-items:center;gap:.45rem;display:grid}.year-button{text-align:left;font-size:1.18rem}.year-count{color:var(--muted);font-size:.82rem}.selected-range{align-content:center;gap:.4rem;min-height:8rem;display:grid}.selected-range strong{letter-spacing:-.04em;font-size:1.55rem}.selected-range span{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.86rem}.artifact-row{flex-wrap:wrap;gap:.38rem;margin-top:.6rem;display:flex}.attachment-pill{max-width:18rem}.attachment-pill span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attachment-icon{color:#334155;background:#f1f5f9;border-radius:.48rem;place-items:center;width:1.55rem;height:1.55rem;display:grid}.attachment-icon.pdf{color:#b91c1c;background:#fee2e2}.attachment-icon.html{color:#7c2d12;background:#ffedd5}.attachment-icon.mail{color:#1d4ed8;background:#dbeafe}.attachment-icon.image{color:#047857;background:#d1fae5}.mail-preview{border:1px solid var(--line);background:#fff;border-radius:.95rem;padding:.75rem}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a8c;place-items:center;padding:clamp(.75rem,3vw,2rem);animation:.22s ease-out both backdrop-enter;display:grid;position:fixed;inset:0}.preview-dialog{background:#fff;border:1px solid #fff3;border-radius:1.2rem;grid-template-rows:auto minmax(0,1fr);width:min(100%,72rem);max-height:min(92vh,58rem);animation:.42s cubic-bezier(.22,1,.36,1) both dialog-enter;display:grid;overflow:hidden;box-shadow:0 30px 90px #0f172a59}.preview-dialog-header{border-bottom:1px solid var(--line);background:linear-gradient(#fff,#f8fafc);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem;display:flex}.preview-dialog-header h2{letter-spacing:-.02em;margin:0;font-size:1.05rem}.preview-dialog-body{background:#f8fafc;min-height:0;padding:.9rem;overflow:auto}.preview-frame{border:1px solid var(--line);background:#fff;border-radius:.8rem;width:100%;min-height:min(72vh,44rem)}.preview-text{border:1px solid var(--line);max-height:min(72vh,44rem);color:var(--ink);white-space:pre-wrap;background:#fff;border-radius:.8rem;margin:0;padding:.75rem;overflow:auto}.download-preview{border:1px dashed var(--line-strong);min-height:22rem;color:var(--muted);text-align:center;background:#fff;border-radius:1rem;place-items:center;gap:1rem;display:grid}.download-icon{fill:none;stroke:currentColor;stroke-width:1.4px;width:3rem;height:3rem}.rule-form{grid-template-columns:minmax(8rem,1fr) minmax(7rem,.75fr) minmax(9rem,.75fr) minmax(14rem,2fr) auto;align-items:stretch;gap:.65rem;display:grid}@media (width<=860px){.topbar,.section-head{flex-direction:column;align-items:stretch}.topbar-actions{justify-content:space-between}.refresh-actions{justify-content:flex-end}.table{display:block;overflow-x:auto}.rule-form,.scan-range-card{grid-template-columns:1fr}.scan-presets{border-right:0;border-bottom:1px solid var(--line)}.year-row{grid-template-columns:3.1rem 2.7rem repeat(4,1fr)}}@keyframes skeleton-shimmer{to{transform:translate(100%)}}@keyframes content-reveal{0%{opacity:0;filter:blur(3px);transform:translateY(8px)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes surface-enter{0%{opacity:0;transform:translateY(12px)scale(.995)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes live-row-enter{0%{opacity:0;background:#22c55e2e;transform:translateY(-8px)}40%{opacity:1;background:#22c55e1a;transform:translateY(0)}to{background:0 0}}@keyframes live-pulse{60%{box-shadow:0 0 0 .35rem #22c55e00}to{box-shadow:0 0 #22c55e00}}@keyframes soft-pulse{50%{opacity:.45}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes backdrop-enter{0%{opacity:0}}@keyframes dialog-enter{0%{opacity:0;transform:translateY(18px)scale(.97)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}
