/* Situational Awareness Engine v2 — Apple style. Scoped to .sae2 / .sae2-admin */

.sae2, .sae2-admin {
    --blue:#0071e3; --blue-h:#0077ed; --ink:#1d1d1f; --gray:#6e6e73;
    --line:#d2d2d7; --bg:#f5f5f7; --card:#fff; --green:#30d158;
    font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",sans-serif;
    color:var(--ink); -webkit-font-smoothing:antialiased;
}
.sae2 *, .sae2-admin * { box-sizing:border-box; }

.sae2 { max-width:1000px; margin:20px auto; }
.sae2-admin { max-width:1040px; margin:20px 20px 60px 0; }

/* Header */
.sae2-head { margin-bottom:24px; }
.sae2-kicker { font-size:12px; letter-spacing:.12em; color:var(--blue); font-weight:600; margin-bottom:6px; }
.sae2-title { font-size:32px; font-weight:700; letter-spacing:-.02em; margin:0 0 6px; color:var(--ink); }
.sae2-sub { font-size:15px; color:var(--gray); margin:0; }

/* Tabs (admin) */
.sae2-tabs { display:flex; gap:4px; margin-bottom:22px; border-bottom:1px solid var(--line); }
.sae2-tab { text-decoration:none; color:var(--gray); padding:11px 18px; font-size:15px; font-weight:500; border-bottom:2px solid transparent; margin-bottom:-1px; }
.sae2-tab:hover { color:var(--ink); }
.sae2-tab.on { color:var(--blue); border-bottom-color:var(--blue); }

/* Toast */
.sae2-toast { background:rgba(48,209,88,.12); color:#1c7a33; border:1px solid rgba(48,209,88,.3);
    padding:12px 18px; border-radius:12px; font-size:14px; font-weight:500; margin-bottom:20px; }
.sae2-toast small { font-weight:400; color:#555; }

.sae2-keysrc { font-size:13px; color:var(--gray); margin-bottom:14px; }
.sae2-keysrc strong { color:var(--ink); }

/* Stats */
.sae2-stats { display:flex; gap:14px; margin-bottom:24px; flex-wrap:wrap; }
.sae2-stat { background:var(--card); border:1px solid var(--line); border-radius:16px;
    padding:18px 24px; min-width:120px; box-shadow:0 1px 3px rgba(0,0,0,.04); }
.sae2-stat-n { display:block; font-size:30px; font-weight:700; color:var(--ink); letter-spacing:-.02em; }
.sae2-stat-l { display:block; font-size:13px; color:var(--gray); margin-top:2px; }

/* Table */
.sae2-table { background:var(--card); border:1px solid var(--line); border-radius:16px; overflow:hidden; box-shadow:0 1px 3px rgba(0,0,0,.04); }
.sae2-tr { display:flex; align-items:center; gap:10px; padding:13px 20px; border-bottom:1px solid #f0f0f2; font-size:14px; }
.sae2-tr:last-child { border-bottom:none; }
.sae2-th { background:#fafafc; font-size:12px; color:var(--gray); font-weight:600; letter-spacing:.02em; text-transform:uppercase; }
.t1 { flex:0 0 70px; } .t2 { flex:0 0 160px; } .t3 { flex:0 0 56px; text-align:center; color:var(--gray); }
.t4 { flex:0 0 60px; text-align:center; } .t5 { flex:0 0 130px; } .t6 { flex:1; color:var(--gray); font-size:13px; }
.t6 em { font-style:normal; color:#aaa; } .t7 { flex:0 0 30px; text-align:center; }

.sae2-chip { font-size:12px; font-weight:600; padding:4px 11px; border-radius:100px; white-space:nowrap; }
.sae2-score { display:inline-flex; align-items:center; justify-content:center; width:42px; height:30px;
    border-radius:9px; font-weight:700; font-size:14px; color:var(--c); background:color-mix(in srgb, var(--c) 14%, transparent); }
.sae2-short { font-size:10px; background:rgba(255,69,58,.14); color:#ff453a; padding:2px 7px; border-radius:6px; font-weight:600; }
.sae2-del { color:#ff453a; text-decoration:none; font-size:15px; opacity:.6; }
.sae2-del:hover { opacity:1; }

/* Formula + disclaimer */
.sae2-formula { margin-top:16px; padding:14px 20px; background:var(--card); border:1px solid var(--line);
    border-radius:14px; font-size:13px; color:var(--ink); }
.sae2-disclaimer { font-size:12px; color:var(--gray); margin-top:12px; line-height:1.5; }

/* Forms */
.sae2-h3 { font-size:18px; font-weight:600; margin:28px 0 14px; color:var(--ink); letter-spacing:-.01em; }
.sae2-form { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.sae2-form input, .sae2-form select, .sae2-settings input {
    font-family:inherit; font-size:15px; color:var(--ink); background:var(--bg);
    border:1px solid transparent; border-radius:10px; padding:10px 13px; outline:none; transition:all .2s; }
.sae2-form input:focus, .sae2-settings input:focus { background:#fff; border-color:var(--blue); box-shadow:0 0 0 4px rgba(0,113,227,.15); }
.sae2-form input[name=ticker]{ width:90px; } .sae2-form input[type=number]{ width:70px; }

.sae2-settings { display:flex; flex-direction:column; gap:16px; max-width:520px; background:var(--card);
    border:1px solid var(--line); border-radius:16px; padding:26px; box-shadow:0 1px 3px rgba(0,0,0,.04); }
.sae2-settings label { display:flex; flex-direction:column; gap:6px; font-size:14px; font-weight:500; color:var(--ink); }
.sae2-settings input { width:100%; }
.sae2-row { display:flex; gap:12px; } .sae2-row label { flex:1; }

.sae2-btn { background:var(--blue); color:#fff; border:none; font-family:inherit; font-size:15px;
    font-weight:500; padding:11px 22px; border-radius:100px; cursor:pointer; transition:all .2s; }
.sae2-btn:hover { background:var(--blue-h); transform:scale(1.02); }
.sae2-btn:active { transform:scale(.98); }

.sae2-note { font-size:13px; color:var(--gray); line-height:1.5; margin:0; }

/* Help */
.sae2-help-card { background:var(--card); border:1px solid var(--line); border-radius:16px; padding:28px; max-width:680px; box-shadow:0 1px 3px rgba(0,0,0,.04); }
.sae2-shortcode { display:inline-block; background:var(--ink); color:#fff; font-family:"SF Mono",Menlo,monospace;
    font-size:16px; padding:12px 22px; border-radius:12px; margin:8px 0; letter-spacing:.02em; }
.sae2-steps { list-style:none; padding:0; margin:0; }
.sae2-steps li { padding:12px 0; border-bottom:1px solid #f0f0f2; font-size:14px; }
.sae2-steps li:last-child { border-bottom:none; }
.sae2-auto { font-size:11px; background:rgba(48,209,88,.14); color:#1c7a33; padding:3px 9px; border-radius:6px; margin-left:8px; }
.sae2-manual { font-size:11px; background:rgba(255,159,10,.16); color:#9a6200; padding:3px 9px; border-radius:6px; margin-left:8px; }
