/* AI Models by BobWork. BobWork design system, dialect A (product chrome and documents).
   One colour, one meaning: blue = the action you can take, amber = a person must act,
   green = something was delivered, pink = failed or stopped. Machine values are set in mono. */
:root{
  --ink:#16172E;--ink-soft:#43466A;--muted:#666A8C;--paper:#fff;--wash:#F5F6FB;--line:#E7E9F4;--line-soft:#EEF0F8;
  --blue:#2F54FF;--blue-deep:#1B34C7;--blue-wash:#EDF0FF;
  --green:#0B7F5F;--green-wash:#E9F7F1;--amber:#94610A;--amber-wash:#FBF2DC;--pink:#B8315F;--pink-wash:#FBE7EF;
  --display:'Bricolage Grotesque',-apple-system,BlinkMacSystemFont,sans-serif;
  --body:'IBM Plex Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --r-sm:8px;--r-md:10px;--r-lg:14px;--r-xl:16px;
  --shadow-md:0 10px 24px -20px rgba(22,23,46,.5);--shadow-lg:0 30px 60px -40px rgba(22,23,46,.55);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--body)}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{font-family:var(--display);letter-spacing:-.02em;margin:0;text-wrap:balance}
p{margin:0}
button,input,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:6px}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
.mono{font-family:var(--mono)}
.eyebrow{font:600 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}

/* header */
.top{border-bottom:1px solid var(--line);background:rgba(255,255,255,.92);backdrop-filter:saturate(1.4) blur(8px);position:sticky;top:0;z-index:5}
.nav{display:flex;align-items:center;gap:6px;padding:12px 20px}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink);font:800 17px var(--display);letter-spacing:-.02em;margin-right:auto}
.brand:hover{text-decoration:none}
.brand small{font:600 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.navlink{color:var(--ink-soft);font-weight:500;font-size:14px;padding:8px 10px;border-radius:8px}
.navlink:hover{color:var(--blue);text-decoration:none}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--blue);color:#fff;border:1px solid transparent;border-radius:12px;padding:11px 18px;font:600 15px var(--body);cursor:pointer;transition:background .14s ease,border-color .14s ease;white-space:nowrap}
.btn:hover{background:var(--blue-deep);text-decoration:none}
.btn.ghost{background:#fff;color:var(--ink);border-color:var(--line)}
.btn.ghost:hover{background:var(--wash);border-color:#D5D9EC}
.btn.sm{padding:7px 13px;font-size:13px;border-radius:10px}
.btn.danger{background:#fff;color:var(--pink);border-color:#F1C9D8}
.btn.danger:hover{background:var(--pink-wash)}
.btn:disabled{opacity:.55;cursor:default}

/* status chips: a word, never a number */
.chip{display:inline-flex;align-items:center;font:600 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:4px 8px;border-radius:7px;background:var(--wash);color:var(--muted);white-space:nowrap}
.chip.amber{background:var(--amber-wash);color:var(--amber)}
.chip.green{background:var(--green-wash);color:var(--green)}
.chip.pink{background:var(--pink-wash);color:var(--pink)}
.chip.blue{background:var(--blue-wash);color:var(--blue-deep)}

/* forms */
.field{display:block;margin-bottom:14px}
.field>span{display:block;font-weight:600;font-size:13.5px;margin-bottom:5px}
.field>small{display:block;color:var(--muted);font-size:12.5px;margin-top:5px;line-height:1.45}
.input{width:100%;border:1.5px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff;outline:0;font-size:15px;transition:border-color .14s ease,box-shadow .14s ease}
.input:focus{border-color:var(--blue);box-shadow:0 0 0 4px var(--blue-wash)}
.input::placeholder{color:#A3A6BF}
textarea.input{resize:vertical;min-height:64px}
.msg{border-radius:10px;padding:10px 12px;font-size:14px;margin-bottom:12px}
.msg.bad{background:var(--pink-wash);color:var(--pink)}
.msg.info{background:var(--blue-wash);color:var(--blue-deep)}
.msg.ok{background:var(--green-wash);color:var(--green)}
[hidden]{display:none!important}

/* cards and key-value rows */
.card{border:1px solid var(--line);border-radius:var(--r-xl);background:#fff;padding:22px}
.kv{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--line-soft);font-size:14.5px}
.kv:last-child{border-bottom:0}
.kv>span:first-child{color:var(--ink-soft)}
.kv>span:last-child,.kv>b{font-family:var(--mono);font-weight:500;text-align:right;word-break:break-word}
.kv.total>span:last-child{font-weight:600}

/* dialog */
dialog{border:0;border-radius:18px;padding:0;width:min(480px,calc(100vw - 24px));color:var(--ink);box-shadow:0 40px 80px -30px rgba(22,23,46,.6)}
dialog::backdrop{background:rgba(22,23,46,.45)}
.dlg{padding:24px}
.dlg h2{font-size:22px;font-weight:700}
.dlg .close{position:absolute;top:14px;right:14px;border:0;background:none;cursor:pointer;color:var(--muted);padding:6px 9px;border-radius:8px;font:600 13px var(--body)}
.dlg .close:hover{background:var(--wash);color:var(--ink)}

footer.foot{border-top:1px solid var(--line);margin-top:56px;padding:26px 0 44px;color:var(--muted);font-size:13px;line-height:1.6}
footer.foot a{color:var(--ink-soft)}
footer.foot .row{display:flex;gap:6px 20px;flex-wrap:wrap;margin-bottom:10px}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media (max-width:700px){.navlink{display:none}}
