/* ============================================================
   Automated Worx — Design System v1 (orb-led)
   One palette, one type scale, one component set.
   Load AFTER page resets; use the aw-* classes.
   ============================================================ */

:root{
  /* ground */
  --aw-bg:#070b14; --aw-bg-2:#0b1120; --aw-panel:#0e1626; --aw-panel-2:#131d31; --aw-panel-3:#182338;
  --aw-line:rgba(122,178,255,.12); --aw-line-2:rgba(122,178,255,.22);
  /* ink */
  --aw-ink:#eaf0fc; --aw-dim:#98a6c4; --aw-faint:#5f6f8f;
  /* brand — the orb */
  --aw-cyan:#13e8ff; --aw-blue:#3b82f6; --aw-violet:#8b7bff;
  /* semantic (never used as the accent) */
  --aw-ok:#2fd57e; --aw-warn:#f5a742; --aw-bad:#ff5a74;
  --aw-grad:linear-gradient(120deg,var(--aw-cyan),var(--aw-blue) 60%,var(--aw-violet));
  --aw-grad-btn:linear-gradient(135deg,var(--aw-cyan),var(--aw-blue));
  --aw-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;
  --aw-sans:'Sora','Inter',system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --aw-body:'Inter',system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --aw-r:14px; --aw-r-sm:10px;
}

.aw{ background:var(--aw-bg); color:var(--aw-ink); font-family:var(--aw-body); line-height:1.6; -webkit-font-smoothing:antialiased; }
.aw a{ color:var(--aw-cyan); text-decoration:none; }
.aw a:hover{ text-decoration:underline; }
.aw-mono{ font-family:var(--aw-mono); }
.aw h1,.aw h2,.aw h3,.aw .aw-display{ font-family:var(--aw-sans); }

/* --- type helpers --- */
.aw-display{ font-weight:800; letter-spacing:-.03em; line-height:1.03;
  background:linear-gradient(120deg,#fff,#c4e6ff 55%,#a99bff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent; }
.aw-eyebrow{ font-family:var(--aw-mono); font-size:12px; letter-spacing:.26em; text-transform:uppercase; color:var(--aw-cyan); }
.aw-sub{ color:var(--aw-dim); }

/* --- buttons --- */
.aw-btn{ border:none; border-radius:var(--aw-r-sm); font-weight:650; cursor:pointer; font-size:.95rem;
  padding:12px 22px; font-family:inherit; transition:.16s; display:inline-flex; align-items:center; justify-content:center; gap:8px; text-decoration:none; }
.aw-btn:disabled{ opacity:.55; cursor:default; }
.aw-btn-primary{ background:var(--aw-grad-btn); color:#00131b; box-shadow:0 6px 20px -6px rgba(19,232,255,.5); }
.aw-btn-primary:hover:not(:disabled){ filter:brightness(1.06); transform:translateY(-1px); text-decoration:none; }
.aw-btn-ghost{ background:transparent; border:1px solid var(--aw-line-2); color:var(--aw-ink); }
.aw-btn-ghost:hover{ background:rgba(19,232,255,.06); border-color:var(--aw-cyan); text-decoration:none; }
.aw-btn-text{ background:transparent; color:var(--aw-cyan); padding:12px 10px; }
.aw-btn-sm{ padding:8px 15px; font-size:.85rem; }
.aw-btn-lg{ padding:15px 30px; font-size:1.02rem; }
.aw-btn-block{ width:100%; }

/* --- fields --- */
.aw-field{ margin-bottom:18px; }
.aw-field label{ display:block; font-size:.85rem; color:var(--aw-dim); margin-bottom:8px; font-weight:500; }
.aw-input,.aw-select,.aw-textarea{ width:100%; padding:12px 14px; background:var(--aw-bg-2); border:1px solid var(--aw-line-2);
  border-radius:var(--aw-r-sm); color:var(--aw-ink); font-size:.98rem; font-family:inherit; transition:.16s; }
.aw-input:focus,.aw-select:focus,.aw-textarea:focus{ outline:none; border-color:var(--aw-cyan); box-shadow:0 0 0 3px rgba(19,232,255,.15); background:rgba(19,232,255,.03); }
.aw-input::placeholder,.aw-textarea::placeholder{ color:var(--aw-faint); }
.aw-textarea{ min-height:96px; resize:vertical; }

/* --- pills --- */
.aw-pill{ display:inline-block; font-family:var(--aw-mono); font-size:11px; letter-spacing:.05em; text-transform:uppercase;
  padding:3px 10px; border-radius:999px; border:1px solid var(--aw-line-2); color:var(--aw-dim); }
.aw-pill-ok{ color:var(--aw-ok); border-color:rgba(47,213,126,.4); background:rgba(47,213,126,.08); }
.aw-pill-warn{ color:var(--aw-warn); border-color:rgba(245,167,66,.4); background:rgba(245,167,66,.08); }
.aw-pill-brand{ color:var(--aw-cyan); border-color:rgba(19,232,255,.4); background:rgba(19,232,255,.08); }

/* --- cards & stats --- */
.aw-card{ background:var(--aw-panel-2); border:1px solid var(--aw-line); border-radius:var(--aw-r); padding:20px; transition:.18s; position:relative; overflow:hidden; }
.aw-card--accent::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--aw-grad); opacity:.7; }
.aw-card:hover{ transform:translateY(-3px); border-color:var(--aw-line-2); box-shadow:0 16px 36px -20px rgba(19,232,255,.3); }
.aw-stat{ background:var(--aw-panel-2); border:1px solid var(--aw-line); border-radius:var(--aw-r); padding:18px; }
.aw-stat .n{ font-size:1.9rem; font-weight:800; letter-spacing:-.02em; font-variant-numeric:tabular-nums;
  background:var(--aw-grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.aw-stat .l{ font-family:var(--aw-mono); font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--aw-faint); margin-top:3px; }
.aw-grid{ display:grid; gap:14px; }
.aw-grid-auto{ grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); }

/* --- tabs --- */
.aw-tabs{ display:flex; gap:26px; border-bottom:1px solid var(--aw-line); }
.aw-tab{ padding:11px 2px; color:var(--aw-dim); cursor:pointer; font-size:.95rem; border-bottom:2px solid transparent; margin-bottom:-1px; background:none; border-top:none; border-left:none; border-right:none; }
.aw-tab.is-active{ color:var(--aw-cyan); border-bottom-color:var(--aw-cyan); }

/* ============================================================
   ONBOARDING SHELL
   ============================================================ */
.aw-onb{ min-height:100vh; display:flex; flex-direction:column; align-items:center; justify-content:flex-start;
  padding:96px 20px 60px; position:relative; overflow-x:hidden; }
.aw-onb::before{ content:""; position:fixed; inset:0; z-index:0; pointer-events:none;
  background:radial-gradient(90% 60% at 12% -8%,rgba(19,232,255,.10),transparent 55%),
             radial-gradient(90% 60% at 100% 0%,rgba(139,123,255,.10),transparent 52%); }
.aw-onb > *{ position:relative; z-index:1; }
.aw-onb-topbar{ position:fixed; top:0; left:0; right:0; z-index:5; display:flex; align-items:center; justify-content:space-between;
  padding:16px 24px; background:rgba(7,11,20,.7); backdrop-filter:blur(10px); border-bottom:1px solid var(--aw-line); }
.aw-brand{ display:flex; align-items:center; gap:10px; font-family:var(--aw-sans); font-weight:800; font-size:1.05rem; color:var(--aw-ink); }
.aw-brand .o{ width:24px; height:24px; border-radius:7px; background:var(--aw-grad); box-shadow:0 0 14px rgba(19,232,255,.5); }
.aw-onb-steps{ display:flex; gap:8px; }
.aw-onb-steps i{ height:4px; width:30px; border-radius:2px; background:var(--aw-panel-3); }
.aw-onb-steps i.done,.aw-onb-steps i.current{ background:var(--aw-grad); }
.aw-onb-inner{ width:100%; max-width:480px; text-align:center; }
.aw-onb-inner h1{ font-size:1.9rem; font-weight:800; letter-spacing:-.02em; margin-bottom:8px; }
.aw-onb-inner .aw-sub{ margin-bottom:26px; }
.aw-onb-panel{ background:var(--aw-panel); border:1px solid var(--aw-line); border-radius:var(--aw-r); padding:30px; text-align:left; }

/* ============================================================
   DASHBOARD SHELL
   ============================================================ */
.aw-dash{ display:grid; grid-template-columns:230px 1fr; min-height:100vh; }
.aw-dash-side{ background:var(--aw-bg-2); border-right:1px solid var(--aw-line); padding:20px 16px; position:sticky; top:0; height:100vh; overflow-y:auto; }
.aw-dash-side .aw-brand{ margin-bottom:26px; padding:0 6px; }
.aw-nav{ display:grid; gap:3px; }
.aw-nav .sec{ font-family:var(--aw-mono); font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--aw-faint); padding:14px 12px 6px; }
.aw-nav a{ padding:10px 12px; border-radius:9px; color:var(--aw-dim); font-size:.92rem; text-decoration:none; display:flex; gap:10px; align-items:center; }
.aw-nav a:hover{ background:rgba(255,255,255,.03); color:var(--aw-ink); text-decoration:none; }
.aw-nav a.is-active{ background:rgba(19,232,255,.1); color:var(--aw-cyan); box-shadow:inset 2px 0 0 var(--aw-cyan); }
.aw-dash-main{ padding:30px 34px; max-width:1200px; }
.aw-dash-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:24px; flex-wrap:wrap; gap:12px; }
.aw-dash-head h1{ font-size:1.5rem; font-weight:700; letter-spacing:-.01em; }
@media(max-width:820px){ .aw-dash{ grid-template-columns:1fr; } .aw-dash-side{ position:static; height:auto; display:flex; flex-wrap:wrap; gap:6px; } .aw-nav{ grid-auto-flow:column; grid-auto-columns:max-content; } .aw-nav .sec{ display:none; } }

.aw-empty{ text-align:center; padding:60px 20px; color:var(--aw-faint); }

/* --- forms extras --- */
.aw-error{ background:rgba(255,90,116,.1); border:1px solid rgba(255,90,116,.4); color:#ffb3c0; padding:12px 15px; border-radius:var(--aw-r-sm); margin-bottom:18px; font-size:.9rem; display:none; }
.aw-error.show{ display:block; }
.aw-check{ display:flex; gap:10px; align-items:flex-start; margin-bottom:13px; }
.aw-check input{ margin-top:3px; width:16px; height:16px; accent-color:var(--aw-cyan); cursor:pointer; flex:none; }
.aw-check label{ color:var(--aw-dim); font-size:.9rem; cursor:pointer; }
.aw-section-label{ font-family:var(--aw-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--aw-faint); margin:6px 0 14px; }
.aw-hr{ height:1px; background:var(--aw-line); border:none; margin:22px 0; }
