:root{
  --paper:#FAFAF8; --card:#FFFFFF; --ink:#17181A; --ink-soft:#5B5D63; --ink-faint:#93928C;
  --line:#E4E2DC; --accent:#D6006F; --accent-soft:#FCE4F0; --success:#1F8A57; --success-soft:#DEF3E7;
  --danger:#C43044; --danger-soft:#FBE1E4; --radius:5px;
}
*{box-sizing:border-box;}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--paper);color:var(--ink);line-height:1.5;}
a{color:inherit;text-decoration:none;}
.container{max-width:1080px;margin:0 auto;padding:0 20px;}
.page{padding:30px 20px;}
h1,h2,h3{font-family:Georgia,serif;margin:0 0 .5em;}
p{color:var(--ink-soft);}
.nav{border-bottom:1px solid var(--line);background:var(--paper);}
.nav-row{display:flex;align-items:center;justify-content:space-between;height:60px;flex-wrap:wrap;gap:10px;}
.brand{font-weight:bold;font-size:1.2rem;}
.nav-links{display:flex;gap:18px;font-size:.9rem;flex-wrap:wrap;}
.nav-actions{display:flex;align-items:center;gap:10px;font-size:.85rem;}
.muted{color:var(--ink-faint);}
.btn{display:inline-block;padding:9px 16px;border-radius:var(--radius);border:1px solid transparent;font-weight:bold;font-size:.88rem;cursor:pointer;}
.btn-primary{background:var(--accent);color:#fff;}
.btn-ghost{background:transparent;border-color:var(--line);color:var(--ink);}
.btn-danger{background:var(--danger-soft);color:var(--danger);}
.btn-sm{padding:6px 12px;font-size:.8rem;}
.btn-block{width:100%;text-align:center;}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin-bottom:16px;}
.grid{display:grid;gap:18px;}
.grid-2{grid-template-columns:1fr;}
@media(min-width:760px){.grid-2{grid-template-columns:1fr 1fr;}}
.field{margin-bottom:14px;}
label{display:block;font-weight:bold;font-size:.85rem;margin-bottom:5px;}
input,select,textarea{width:100%;padding:9px 10px;border:1px solid #cbd0c3;border-radius:var(--radius);font-size:.95rem;}
table{width:100%;border-collapse:collapse;font-size:.88rem;}
th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);}
th{color:var(--ink-faint);font-size:.75rem;}
.badge{display:inline-block;font-size:.72rem;font-weight:bold;padding:3px 9px;border-radius:20px;}
.badge-received{background:#DCF0F8;color:#0091C7;}
.badge-paid{background:#FBF0D6;color:#E6A400;}
.badge-printing{background:var(--accent-soft);color:var(--accent);}
.badge-ready{background:var(--success-soft);color:var(--success);}
.badge-completed{background:#EEE;color:var(--ink-soft);}
.badge-rejected{background:var(--danger-soft);color:var(--danger);}
.alert{padding:12px 16px;border-radius:var(--radius);margin-bottom:18px;font-size:.9rem;}
.alert-success{background:var(--success-soft);color:var(--success);}
.alert-error{background:var(--danger-soft);color:var(--danger);}
.site-footer{border-top:1px solid var(--line);padding:24px 0;margin-top:40px;font-size:.82rem;color:var(--ink-faint);}
.hero{text-align:center;padding:50px 0;}
.steps{display:grid;gap:18px;grid-template-columns:1fr;}
@media(min-width:760px){.steps{grid-template-columns:repeat(3,1fr);}}
.file-row{display:flex;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line);}
.file-row input[type=number]{width:70px;}
.total-row{display:flex;justify-content:space-between;font-size:1.3rem;font-weight:bold;border-top:1px dashed #ccc;padding-top:10px;margin-top:10px;}
.dash{display:grid;gap:20px;grid-template-columns:1fr;}
@media(min-width:900px){.dash{grid-template-columns:200px 1fr;}}
.dash-nav a{display:block;padding:8px 10px;border-radius:var(--radius);margin-bottom:4px;color:var(--ink-soft);}
.dash-nav a.active{background:#F1F0EC;color:var(--ink);font-weight:bold;}
.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px;text-align:center;}
.stat .num{font-size:1.5rem;font-weight:bold;}
.stat .lbl{font-size:.78rem;color:var(--ink-faint);}
