:root{
  --navy-deep:#06192A;
  --navy:#0B2A42;
  --sand:#F1EADA;
  --foam:#FBF8F1;
  --blue:#1C7DB0;
  --rust:#B0542A;
  --line:#E2DAC6;
  --ink:#0B2A42;
}
*,*::before,*::after{box-sizing:border-box;}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
  background:var(--sand);
  color:var(--ink);
}
a{color:var(--blue);}
.wrap{max-width:1000px;margin:0 auto;padding:32px 24px;}
.narrow{max-width:420px;margin:80px auto;padding:0 24px;}

.card{background:var(--foam);border:1px solid var(--line);border-radius:14px;padding:32px;box-shadow:0 10px 30px rgba(11,42,66,0.08);}

h1,h2,h3{font-family:Georgia,'Times New Roman',serif;margin:0 0 6px;color:var(--navy);}
h1{font-size:1.6rem;}
.muted{color:#6b7280;font-size:0.9rem;}

.topbar{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:var(--navy);color:var(--foam);}
.topbar a{color:var(--foam);text-decoration:none;font-size:0.9rem;opacity:0.85;}
.topbar a:hover{opacity:1;}
.topbar .brand{font-weight:700;letter-spacing:0.02em;}

label{display:block;font-size:0.82rem;font-weight:600;margin-bottom:6px;color:#4b5563;}
input[type=text],input[type=email],input[type=tel],input[type=date],input[type=number],input[type=password],textarea,select{
  width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;
  font-size:0.95rem;font-family:inherit;background:#fff;
}
textarea{resize:vertical;min-height:70px;}
.field{margin-bottom:16px;}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}

.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:8px;border:none;font-size:0.92rem;font-weight:600;cursor:pointer;text-decoration:none;}
.btn-primary{background:var(--rust);color:#fff;}
.btn-secondary{background:var(--navy);color:#fff;}
.btn-ghost{background:transparent;color:var(--navy);border:1px solid var(--line);}
.btn-danger{background:#fff;color:#b3261e;border:1px solid #f2c6c2;}
.btn:hover{opacity:0.9;}

table{width:100%;border-collapse:collapse;}
th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);font-size:0.9rem;}
th{font-size:0.75rem;text-transform:uppercase;letter-spacing:0.04em;color:#6b7280;}
.actions{display:flex;gap:10px;flex-wrap:wrap;}

.badge{display:inline-block;padding:3px 10px;border-radius:100px;font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:0.03em;}
.badge-invoice{background:#e6f0f6;color:var(--blue);}
.badge-quote{background:#f5eee0;color:#8a6a2f;}

.error-box{background:#fdecea;border:1px solid #f5c2bd;color:#8a2a20;padding:10px 14px;border-radius:8px;font-size:0.88rem;margin-bottom:16px;}

.line-items-table input{width:100%;}
.line-items-table td{padding:6px 6px;}
.remove-row{background:none;border:none;color:#b3261e;cursor:pointer;font-size:1.1rem;line-height:1;padding:4px 8px;}

.doc-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px;}
.doc-header .brand-name{font-family:Georgia,serif;font-size:1.5rem;font-weight:700;color:var(--navy);}
.doc-header .brand-tag{font-size:0.8rem;color:#6b7280;}
.doc-meta{text-align:right;font-size:0.9rem;}
.doc-meta .doc-type{font-size:1.3rem;font-weight:700;letter-spacing:0.04em;color:var(--rust);text-transform:uppercase;}
.doc-parties{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:28px;font-size:0.92rem;}
.doc-parties .label{font-size:0.72rem;text-transform:uppercase;letter-spacing:0.05em;color:#6b7280;margin-bottom:4px;}
.doc-total-row td{font-weight:700;font-size:1.05rem;border-top:2px solid var(--navy);}
.doc-notes{margin-top:24px;font-size:0.88rem;color:#4b5563;white-space:pre-wrap;}

@media print{
  .no-print{display:none !important;}
  body{background:#fff;}
  .card{box-shadow:none;border:none;padding:0;}
  .wrap{max-width:100%;padding:0;}
}
