:root{--color-bg: #f8f8f8;--color-surface: #FFFFFF;--color-surface-warm: #EFE6E2;--color-border: #E7DBD8;--color-border-subtle: #F0E8E5;--color-text: #271D1D;--color-text-muted: #9A8585;--color-text-light: #BCA9A6;--color-primary: #9A7C7C;--color-primary-hover: #8A6E6E;--color-primary-dark: #271D1D;--color-header-bg: #f8f8f8;--color-critical: #DC2626;--color-high: #EA580C;--color-medium: #D97706;--color-low: #16A34A;--color-success: #16A34A;--radius: 10px;--radius-sm: 6px;--shadow-sm: 0 1px 3px rgba(39, 29, 29, .08);--shadow-card: 0 4px 16px rgba(39, 29, 29, .06), 0 1px 3px rgba(39, 29, 29, .04);--shadow-card-hover: 0 8px 28px rgba(39, 29, 29, .1), 0 2px 6px rgba(39, 29, 29, .06);--shadow-header: 0 4px 24px rgba(39, 29, 29, .28);--shadow-focus: 0 0 0 3px rgba(154, 124, 124, .22)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:13px;color:var(--color-text);background:var(--color-bg);line-height:1.5;overflow-x:hidden;-webkit-font-smoothing:antialiased}#root{min-height:100vh;display:flex;flex-direction:column}.pane{display:flex;flex-direction:column;height:100vh;background:var(--color-bg)}.pane-header{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:64px;padding:12px 18px;background:var(--color-header-bg);border-bottom:1px solid var(--color-border);box-shadow:0 2px 12px #271d1d0f;position:sticky;top:0;z-index:10;flex-shrink:0}.header-logo{height:26px;width:auto;display:block;flex-shrink:0}.pane-body{flex:1;overflow-y:auto;padding:18px 16px 22px;display:flex;flex-direction:column;gap:14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 16px;border-radius:var(--radius-sm);font-size:12.5px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:background .16s,border-color .16s,box-shadow .16s,transform .12s;white-space:nowrap;letter-spacing:.01em}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff;width:100%;box-shadow:0 4px 16px #9a7c7c52}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:0 6px 22px #9a7c7c66;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-ghost{background:transparent;color:var(--color-text);border-color:var(--color-border)}.btn-ghost:hover:not(:disabled){background:var(--color-surface-warm);border-color:var(--color-primary);color:var(--color-primary)}.btn-sm{padding:5px 11px;font-size:11.5px;width:auto}.form-group{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.form-label{font-size:10px;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.09em}.form-input{width:100%;padding:9px 11px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:13px;color:var(--color-text);background:var(--color-surface);outline:none;transition:border-color .15s,box-shadow .15s}.form-input:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.form-input::placeholder{color:var(--color-text-light)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:12px;box-shadow:var(--shadow-card);transition:box-shadow .2s}.welcome-panel{background:var(--color-primary-dark);color:#fff;border-radius:var(--radius);padding:16px;box-shadow:0 8px 28px #271d1d38}.welcome-panel p{color:#ffffffb8;font-size:12px}.setup-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow-card)}.score-card{position:relative;overflow:hidden;text-align:center;padding:20px 14px 16px;background:var(--color-primary-dark);color:#fff;border-radius:var(--radius);box-shadow:0 8px 28px #271d1d38}.score-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 80% 20%,rgba(154,124,124,.35) 0%,transparent 60%),radial-gradient(ellipse at 20% 80%,rgba(154,124,124,.15) 0%,transparent 50%);pointer-events:none}.score-card>*{position:relative}.score-card .progress{background:#ffffff24}.score-card .progress-bar{background:var(--color-primary)}.stat-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.stat-card{text-align:center;padding:10px 6px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.tabs{display:flex;gap:2px;padding:3px;background:var(--color-surface-warm);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.tab{flex:1;padding:7px 4px;background:transparent;border:none;border-radius:calc(var(--radius-sm) - 2px);font-size:11px;font-weight:600;color:var(--color-text-muted);cursor:pointer;transition:background .15s,color .15s}.tab.active{background:var(--color-surface);color:var(--color-primary);box-shadow:0 2px 8px #271d1d14}.tab:not(.active):hover{color:var(--color-text)}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:9999px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em}.badge-critical{background:#fef2f2;color:var(--color-critical);border:1px solid #FECACA}.badge-high{background:#fff7ed;color:var(--color-high);border:1px solid #FED7AA}.badge-medium{background:#fffbeb;color:var(--color-medium);border:1px solid #FDE68A}.badge-low{background:#f0fdf4;color:var(--color-low);border:1px solid #BBF7D0}.progress{height:6px;background:var(--color-border);border-radius:9999px;overflow:hidden}.progress-bar{height:100%;border-radius:9999px;background:var(--color-primary);transition:width .5s ease}.spinner{width:20px;height:20px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-box{background:#fef2f2;border:1px solid #FECACA;border-radius:var(--radius-sm);padding:11px 12px;color:var(--color-critical);font-size:12px;line-height:1.5}.divider{height:1px;background:var(--color-border);margin:8px 0}.section-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--color-text-muted);margin-bottom:8px}.text-muted{color:var(--color-text-muted)}.collapse-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:6px 0;-webkit-user-select:none;user-select:none}.collapse-header:hover .collapse-title{color:var(--color-primary)}.collapse-title{font-size:13px;font-weight:600;color:var(--color-text)}.collapse-chevron{font-size:10px;color:var(--color-text-muted);transition:transform .2s}.collapse-chevron.open{transform:rotate(90deg)}
