/* Feya Admin — design system lifted from the Feya app (welcome/index.html). */
@font-face{font-family:"Tenor";src:url("/static/fonts/tenor.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Jost";src:url("/static/fonts/jost-500.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Jost";src:url("/static/fonts/jost-600.woff2") format("woff2");font-weight:600;font-display:swap}

:root{
  --page:#F6EDF3; --ink:#1F1635; --dim:#5A4D72; --dimmer:#7A6AA0;
  --petal:#FFB4D4; --orchid:#C98FB6; --lilac:#D6C4F4; --peach:#FFCEB4;
  --purple:#5A3C8C; --purple-h:#6E4BA8; --border:#DCD3EA; --gold:#EAA636; --mint:#12B892;
  --opal:linear-gradient(115deg,#A8DDE3,#EFD980 26%,#F0A3CE 52%,#8B87B0 76%,#CFF2E0);
  --disp:"Tenor","Optima","Helvetica Neue",system-ui,sans-serif;
  --ui:"Tenor","Optima","Helvetica Neue",system-ui,sans-serif;
  --mono:"Jost","Century Gothic","Avenir Next",system-ui,sans-serif;
  --sh-md:0 10px 34px rgba(120,80,160,.14);
  --sh-lg:0 22px 60px rgba(120,80,160,.22);
  --card:rgba(255,255,255,.72);
}

*{box-sizing:border-box}
body{
  margin:0;background:
    radial-gradient(120% 95% at 50% 0%,rgba(255,252,254,.5),transparent 55%),
    linear-gradient(160deg,#FCEFF7,#EFE9F5 60%,#F3EEFB);
  background-attachment:fixed;
  color:var(--ink);font-family:var(--ui);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
::selection{background:var(--petal);color:#3a1030}

.mono{font-family:var(--mono)}
.disp{font-family:var(--disp);letter-spacing:.005em}
.eyebrow{font-family:var(--mono);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--orchid);font-weight:700}
.dim{color:var(--dim)} .dimmer{color:var(--dimmer)}

/* shell */
.wrap{max-width:80rem;margin:0 auto;padding:0 1.5rem}
nav.top{position:sticky;top:0;z-index:20;background:rgba(246,237,243,.82);backdrop-filter:blur(14px) saturate(1.1);border-bottom:1px solid var(--border)}
.brand{font-family:var(--disp);font-size:1.15rem;letter-spacing:.01em}
.brand b{color:var(--purple)}
.navlink{font-family:var(--mono);font-size:.72rem;letter-spacing:.11em;text-transform:uppercase;color:var(--dim);padding:.5rem .8rem;border-radius:999px;font-weight:600;transition:.15s}
.navlink:hover{color:var(--ink);background:rgba(255,255,255,.7)}
.navlink.active{color:var(--purple);background:rgba(255,255,255,.85);box-shadow:var(--sh-md)}

/* card */
.card{background:var(--card);border:1px solid var(--border);border-radius:20px;box-shadow:var(--sh-md);backdrop-filter:blur(8px)}

/* controls */
.input{font-family:var(--ui);font-size:.92rem;color:var(--ink);background:rgba(255,255,255,.85);border:1px solid var(--border);border-radius:999px;padding:.6rem 1rem;outline:none;transition:.15s}
.input:focus{border-color:var(--orchid);box-shadow:0 0 0 3px rgba(201,143,182,.18)}
.btn{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;font-weight:700;border-radius:999px;padding:.6rem 1.1rem;cursor:pointer;border:1px solid var(--border);background:rgba(255,255,255,.72);color:var(--ink);transition:.15s}
.btn:hover{border-color:var(--orchid)}
.btn[disabled]{opacity:.4;pointer-events:none}
.btn-primary{color:#3a1836;background:linear-gradient(120deg,rgba(255,255,255,.82),rgba(255,247,252,.66)),var(--opal);border-color:transparent;box-shadow:0 10px 26px -12px rgba(150,110,200,.6)}

/* table */
.tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:.9rem}
.tbl thead th{position:sticky;top:0;text-align:left;font-family:var(--mono);font-size:.64rem;letter-spacing:.13em;text-transform:uppercase;color:var(--dimmer);font-weight:700;padding:.7rem .85rem;background:rgba(246,237,243,.9);border-bottom:1px solid var(--border);white-space:nowrap}
.tbl thead th a{display:inline-flex;align-items:center;gap:.3rem}
.tbl thead th a:hover{color:var(--purple)}
.tbl tbody td{padding:.7rem .85rem;border-bottom:1px solid rgba(220,211,234,.6);vertical-align:middle}
.tbl tbody tr:hover{background:rgba(255,255,255,.5)}
.tbl tbody tr:last-child td{border-bottom:none}
.num{font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right}
.mono-cell{font-family:var(--mono);font-size:.82rem;color:var(--dim)}

/* badges */
.badge{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--mono);font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;font-weight:700;padding:.22rem .6rem;border-radius:999px;border:1px solid transparent}
.badge-on{color:#0a6b53;background:rgba(18,184,146,.14);border-color:rgba(18,184,146,.3)}
.badge-wait{color:var(--purple);background:rgba(90,60,140,.1);border-color:rgba(90,60,140,.22)}
.badge-locked{color:#8a5a12;background:rgba(234,166,54,.14);border-color:rgba(234,166,54,.32)}

/* detail */
.kv{display:grid;grid-template-columns:11rem 1fr;gap:.55rem 1rem}
.kv dt{font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--dimmer);padding-top:.15rem}
.kv dd{margin:0;color:var(--ink)}
.stat{display:flex;flex-direction:column;gap:.15rem}
.stat .big{font-family:var(--disp);font-size:1.9rem;line-height:1}
.stat .lbl{font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dimmer)}
.link{color:var(--purple);border-bottom:1px solid transparent}
.link:hover{border-color:var(--orchid)}
.empty{color:var(--dimmer);font-style:italic;padding:2rem;text-align:center}

[x-cloak]{display:none}
