  :root{ --navy:#1F3864; --navy-dark:#132340; --gold:#B8860B; --sand:#F1ECDD; --ink:#22201B; --muted:#6B6353; --line:#E1D9C4; }
  *{box-sizing:border-box;}
  body{margin:0;font-family:'Segoe UI',system-ui,sans-serif;background:var(--sand);color:var(--ink);padding-bottom:90px;}
  header{background:var(--navy);color:#fff;padding:18px 16px;border-bottom:3px solid var(--gold);}
  header h1{font-family:Cambria,serif;font-size:18px;margin:0 0 2px;}
  header p{font-size:12px;color:#D9C58A;margin:0;}
  main{padding:14px;max-width:640px;margin:0 auto;}
  .card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:14px;}
  .card h2{font-size:13px;text-transform:uppercase;letter-spacing:0.5px;color:var(--navy);margin:0 0 12px;border-bottom:2px solid var(--gold);padding-bottom:6px;display:inline-block;}
  label{display:block;font-size:12px;color:var(--muted);margin:10px 0 4px;}
  input,textarea{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;font-size:14px;background:#FBFAF6;font-family:inherit;}
  textarea{min-height:70px;resize:vertical;}
  .produk-block{border:1px dashed var(--line);border-radius:9px;padding:12px;margin-top:10px;background:#FCFBF8;}
  .hint{font-size:11.5px;color:var(--muted);margin-top:4px;line-height:1.5;}
  .actions{
    position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);
    padding:12px 16px calc(12px + env(safe-area-inset-bottom));display:flex;gap:8px;
  }
  .btn{flex:1;padding:13px;border:none;border-radius:10px;font-weight:700;font-size:13.5px;cursor:pointer;}
  .btn-navy{background:var(--navy);color:#fff;}
  .btn-outline{background:#fff;border:1.5px solid var(--navy);color:var(--navy);}
  .toast{
    position:fixed;top:14px;left:50%;transform:translateX(-50%);background:var(--navy-dark);color:#fff;
    padding:10px 18px;border-radius:20px;font-size:12.5px;opacity:0;pointer-events:none;transition:opacity .25s;z-index:50;
  }
  .toast.show{opacity:1;}
  .back-link{color:#D9C58A;font-size:12px;text-decoration:none;}
