/* Crackle orchestrator mockup tokens — slimmed from docs/Crackle Design System.html */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');

:root {
  --n-0:#ffffff; --n-25:#fbfaf9; --n-50:#f6f4f2; --n-100:#eeebe7;
  --n-200:#dedad4; --n-300:#c4bfb8; --n-400:#9b958d; --n-500:#706b64;
  --n-600:#4f4b45; --n-700:#36332e; --n-800:#201e1b; --n-900:#14161a;

  --p-50:#fdf2f0; --p-100:#fadad4; --p-200:#f2ada3; --p-300:#e8796c;
  --p-400:#dd5244; --p-500:#c93a2b; --p-600:#b3281a; --p-700:#942014;
  --p-800:#731a10; --p-900:#541912;

  --ink:#14161a;

  --ok-50:#e8f5ee; --ok-500:#1a7f4e; --ok-700:#0f5633;
  --warn-50:#fdf3df; --warn-500:#b78414; --warn-700:#8a6010;
  --err-50:#fbe9e7; --err-500:#c23826; --err-700:#8a2618;

  --d-1:#c93a2b; --d-2:#3d5b9a; --d-3:#1e8a8a; --d-4:#3e8f55;
  --d-5:#c98a3d; --d-6:#7a4d9c;

  --f-sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --f-mono:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,monospace;

  --sh-1:0 1px 2px rgba(17,20,26,.04),0 1px 1px rgba(17,20,26,.03);
  --sh-2:0 2px 4px rgba(17,20,26,.05),0 1px 2px rgba(17,20,26,.04);
  --sh-3:0 8px 16px rgba(17,20,26,.06),0 2px 4px rgba(17,20,26,.04);
  --sh-4:0 16px 32px rgba(17,20,26,.08),0 4px 8px rgba(17,20,26,.05);

  --r-xs:2px; --r-sm:4px; --r-md:6px; --r-lg:8px; --r-xl:12px; --r-full:999px;
  --dur-fast:120ms; --dur-base:200ms; --dur-slow:320ms;
  --ease-out:cubic-bezier(0.2,0.8,0.2,1); --ease-inout:cubic-bezier(0.4,0,0.2,1);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:var(--f-sans); color:var(--n-800); background:var(--n-25);
  -webkit-font-smoothing:antialiased; font-size:14px; line-height:1.5;
  font-feature-settings:'cv11','ss01';
}

.shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}
.side{
  border-right:1px solid var(--n-100); padding:24px 20px;
  background:var(--n-0); min-height:100vh;
}
.side .brand{display:flex;align-items:center;gap:10px;margin-bottom:32px}
.side .brand .mark{width:32px;height:32px;border-radius:7px;background:var(--ink);display:grid;place-items:center}
.side .brand .mark svg{width:20px;height:20px}
.side .brand .name{font-weight:600;font-size:15px;letter-spacing:-0.01em}
.side .brand .sub{font-size:11px;color:var(--n-500);font-weight:500;text-transform:uppercase;letter-spacing:0.08em}
.side .group{font-size:11px;color:var(--n-400);text-transform:uppercase;letter-spacing:0.08em;margin:20px 0 6px;font-weight:500}
.side nav a{display:block;padding:6px 10px;margin:0 -10px;border-radius:var(--r-sm);color:var(--n-600);text-decoration:none;font-size:13px;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}
.side nav a:hover{background:var(--n-50);color:var(--n-900)}
.side nav a.active{background:var(--p-50);color:var(--p-700);font-weight:500;box-shadow:inset 2px 0 0 var(--p-500)}

main{padding:32px 48px 80px;max-width:1200px}

.topnav{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 48px;border-bottom:1px solid var(--n-100);background:var(--n-0);
}
.topnav .title{font-weight:600;font-size:15px;color:var(--n-900)}
.topnav .right{display:flex;align-items:center;gap:16px}
.topnav .right .bell{position:relative;width:28px;height:28px;border-radius:var(--r-full);display:grid;place-items:center;color:var(--n-600)}
.topnav .right .bell .dot{position:absolute;top:4px;right:4px;width:7px;height:7px;border-radius:50%;background:var(--p-500)}

.org-switcher{
  display:flex;align-items:center;gap:10px;padding:6px 12px 6px 8px;border:1px solid var(--n-100);
  border-radius:var(--r-lg);background:var(--n-0);cursor:pointer;min-width:200px;
}
.org-switcher .av{width:22px;height:22px;border-radius:var(--r-sm);background:var(--ink);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:700}
.org-switcher .name{flex:1;font-size:13px;font-weight:500;color:var(--n-900)}
.org-switcher .chev{width:14px;height:14px;color:var(--n-500)}

.kicker{font-size:11px;color:var(--p-600);text-transform:uppercase;letter-spacing:0.1em;font-weight:600}
h1{font-size:28px;font-weight:600;letter-spacing:-0.02em;margin:4px 0 12px;color:var(--n-900)}
h2{font-size:20px;font-weight:600;letter-spacing:-0.015em;margin:0 0 10px;color:var(--n-900)}
h3{font-size:13px;font-weight:600;margin:0 0 12px;color:var(--n-700);text-transform:uppercase;letter-spacing:0.06em}
p.lede{color:var(--n-600);font-size:14px;max-width:56ch;margin:0 0 24px}

.card{background:var(--n-0);border:1px solid var(--n-100);border-radius:var(--r-md);padding:20px;box-shadow:var(--sh-1)}
.card .card-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}
.card .card-title{font-size:13px;font-weight:600;color:var(--n-700);text-transform:uppercase;letter-spacing:0.06em}
.card .card-sub{font-size:12px;color:var(--n-500)}

.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  padding:8px 14px;border-radius:var(--r-md);font-size:13px;font-weight:500;
  border:1px solid var(--n-200);background:var(--n-0);color:var(--n-800);cursor:pointer;
  transition:all var(--dur-fast) var(--ease-out);
}
.btn:hover{background:var(--n-50)}
.btn-primary{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn-primary:hover{background:var(--n-800)}
.btn-danger{background:var(--err-500);color:#fff;border-color:var(--err-500)}
.btn-ghost{background:transparent;border-color:transparent;color:var(--n-600)}
.btn-sm{padding:5px 10px;font-size:12px}

.input,.select,textarea{
  width:100%;padding:8px 12px;border:1px solid var(--n-200);border-radius:var(--r-md);
  font-size:13px;font-family:inherit;background:var(--n-0);color:var(--n-900);
  transition:border-color var(--dur-fast) var(--ease-out);
}
.input:focus,.select:focus,textarea:focus{outline:none;border-color:var(--p-500);box-shadow:0 0 0 3px var(--p-50)}
.label{display:block;font-size:12px;font-weight:500;color:var(--n-700);margin-bottom:4px}
.help{font-size:11px;color:var(--n-500);margin-top:4px}
.field{margin-bottom:16px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}

.badge{
  display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--r-full);
  font-size:11px;font-weight:500;font-family:var(--f-mono);
}
.badge-ok{background:var(--ok-50);color:var(--ok-700)}
.badge-warn{background:var(--warn-50);color:var(--warn-700)}
.badge-err{background:var(--err-50);color:var(--err-700)}
.badge-neutral{background:var(--n-100);color:var(--n-700)}
.badge-primary{background:var(--p-50);color:var(--p-700)}

.chip-filter{
  display:inline-flex;align-items:center;gap:6px;padding:4px 10px;
  background:var(--n-100);color:var(--n-700);
  border-radius:var(--r-full);font-size:11px;font-weight:500;
}
.chip-filter .x{color:var(--n-500);cursor:pointer;font-size:14px;line-height:1}
.chip-filter .x:hover{color:var(--n-900)}

.table{width:100%;border-collapse:collapse;font-size:13px}
.table th{text-align:left;padding:10px 12px;color:var(--n-500);font-weight:500;text-transform:uppercase;letter-spacing:0.06em;font-size:11px;border-bottom:1px solid var(--n-100)}
.table td{padding:12px;border-bottom:1px solid var(--n-100);color:var(--n-800)}
.table tr:last-child td{border-bottom:0}
.table tr:hover td{background:var(--n-25)}
.tabular{font-variant-numeric:tabular-nums}

.num{font-variant-numeric:tabular-nums}
.num-big{font-size:26px;font-weight:600;color:var(--n-900);letter-spacing:-0.02em}
.num-delta{font-size:12px;margin-top:4px;font-weight:500}
.num-delta.up{color:var(--ok-700)}
.num-delta.down{color:var(--err-700)}

.stepper{display:flex;align-items:center;gap:8px;margin-bottom:24px}
.stepper .step{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:var(--r-full);font-size:12px;color:var(--n-500)}
.stepper .step.active{background:var(--ink);color:#fff}
.stepper .step.done{color:var(--ok-700)}
.stepper .step .n{width:18px;height:18px;border-radius:50%;background:var(--n-100);color:var(--n-600);display:grid;place-items:center;font-size:10px;font-weight:600}
.stepper .step.active .n{background:var(--p-500);color:#fff}
.stepper .sep{width:12px;height:1px;background:var(--n-200)}

.banner{padding:12px 16px;border-radius:var(--r-md);font-size:13px;margin-bottom:16px;display:flex;align-items:center;gap:10px}
.banner-ok{background:var(--ok-50);color:var(--ok-700)}
.banner-warn{background:var(--warn-50);color:var(--warn-700)}
.banner-err{background:var(--err-50);color:var(--err-700)}
.banner-info{background:var(--p-50);color:var(--p-700)}

.empty{padding:48px;text-align:center;color:var(--n-500);font-size:13px}

.dropdown{position:relative;display:inline-block}
.dropdown-menu{
  position:absolute;top:calc(100% + 4px);right:0;min-width:280px;background:var(--n-0);
  border:1px solid var(--n-100);border-radius:var(--r-md);box-shadow:var(--sh-3);padding:6px;z-index:10;
}
.dropdown-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--r-sm);font-size:13px;color:var(--n-800);cursor:pointer}
.dropdown-item:hover{background:var(--n-50)}
.dropdown-item.active{background:var(--p-50);color:var(--p-700)}

.modal-backdrop{position:fixed;inset:0;background:rgba(17,20,26,.45);display:grid;place-items:center;z-index:100}
.modal{background:var(--n-0);border-radius:var(--r-lg);box-shadow:var(--sh-4);width:480px;max-width:calc(100vw - 48px);padding:24px}

.logo-mark{width:32px;height:32px;border-radius:7px;background:var(--ink);display:grid;place-items:center}
.logo-mark svg .arc{stroke:#fff;stroke-width:3;stroke-linecap:round;fill:none}
.logo-mark svg .pop{fill:var(--p-500)}
