:root{
  --primary:#D8A300;
  --accent:#2E7D5B;
  --bg:#F7F8FA;
  --card:#FFFFFF;
  --text:#1D2430;
  --muted:#697386;
  --border:#E8EBF0;
  --danger:#C93A2F;
  --shadow:0 10px 28px rgba(17,24,39,.08);
}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:linear-gradient(180deg,#FFF7CF 0,#F7F8FA 310px);color:var(--text)}
a{text-decoration:none;color:inherit}
.topbar{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 22px;background:rgba(255,255,255,.86);border-bottom:1px solid var(--border);backdrop-filter:blur(14px)}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;min-width:0}
.brand img{width:40px;height:40px;border-radius:10px}
.brand span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
nav{display:flex;gap:8px;align-items:center;overflow-x:auto}
nav a,nav a:visited{padding:9px 13px;border:1px solid var(--border);border-radius:999px;background:#fff;font-size:13px;font-weight:700}
nav a.active{background:linear-gradient(135deg,#FFE66D,#D8A300);border-color:transparent;color:#241B04}
.page{max-width:1120px;margin:0 auto;padding:22px}
.hero{padding:12px 0 18px}
.hero h1{font-size:28px;margin:0 0 8px;font-weight:800}
.hero p{margin:0;color:var(--muted);line-height:1.6}
.auth-page{min-height:100vh;background:linear-gradient(135deg,#FFE66D,#D8A300)}
.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:28px}
.auth-brand{text-align:center;color:#241B04}
.auth-brand img{width:76px;height:76px;margin:0 auto 12px;background:rgba(255,255,255,.36);border-radius:18px;padding:10px}
.auth-brand h1{margin:0;font-size:28px}
.auth-brand p{margin:6px 0 22px}
.auth-card,.form-card,.card,.empty-card{background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow)}
.auth-card{width:min(420px,100%);padding:24px}
.auth-card h2,.form-card h2{margin:0 0 6px}
.auth-card p{margin:0 0 18px;color:var(--muted);line-height:1.55}
label{display:block;margin:12px 0 6px;font-size:12px;font-weight:700;color:var(--muted)}
.input,.textarea{width:100%;border:1px solid var(--border);border-radius:10px;padding:12px 13px;font-size:14px;background:#FBFCFE;color:var(--text)}
.textarea{resize:vertical;min-height:92px}
.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:999px;background:#fff;padding:10px 14px;font-size:13px;font-weight:800;color:var(--text);cursor:pointer}
.btn.primary{background:linear-gradient(135deg,#FFE66D,#D8A300);border-color:transparent;color:#241B04}
.btn.danger{color:var(--danger);border-color:rgba(201,58,47,.25)}
.btn.block{width:100%;margin-top:16px}
.alert{padding:12px 14px;border-radius:10px;margin:0 0 14px;font-size:13px;font-weight:700}
.alert.success{background:rgba(46,125,91,.1);color:var(--accent)}
.alert.error{background:rgba(201,58,47,.1);color:var(--danger)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:14px}
.card,.empty-card,.form-card{padding:16px;margin-bottom:16px}
.card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.card h3{margin:0 0 4px;font-size:17px}
.card p,.note,.empty-card p{margin:0;color:var(--muted);line-height:1.5;font-size:13px}
.pill{display:inline-flex;padding:5px 10px;border-radius:999px;background:rgba(52,152,219,.12);color:#2471A3;font-size:11px;font-weight:800;white-space:nowrap}
.meta{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.meta span{background:#F2F4F7;border:1px solid var(--border);border-radius:999px;padding:6px 9px;font-size:12px;font-weight:700;color:var(--muted)}
.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
@media(max-width:680px){
  .topbar{align-items:flex-start;flex-direction:column}
  .page{padding:16px}
  .hero h1{font-size:24px}
}

/* Allow long order numbers and status labels to wrap on mobile. */
.grid{grid-template-columns:repeat(auto-fit,minmax(min(290px,100%),1fr))}.card{min-width:0;overflow-wrap:anywhere}.card-top{flex-wrap:wrap}.card-top>div{min-width:0}.pill{white-space:normal}nav{max-width:100%;flex-wrap:wrap}.card p{margin-bottom:7px}
