:root {
  color-scheme: light;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #1f2937;
  background: #f8fafc;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

body { min-width: 320px; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
.tool-card { transition: transform .18s ease, box-shadow .18s ease; }
.tool-card:hover { transform: translateY(-3px); box-shadow: 0 18px 35px -22px rgb(15 23 42 / .35); }
.drop-zone { transition: border-color .15s ease, background-color .15s ease; }
.drop-zone.is-dragover { border-color: #4f46e5; background: #eef2ff; }
.field { width: 100%; border: 1px solid #cbd5e1; border-radius: .625rem; padding: .65rem .8rem; background: white; color: #111827; }
.field:focus { outline: 2px solid #a5b4fc; border-color: #6366f1; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; border-radius: .65rem; padding: .65rem 1rem; font-weight: 650; transition: background .15s ease, transform .15s ease; }
.btn:active { transform: translateY(1px); }
.btn-primary { background: #4f46e5; color: #fff; }
.btn-primary:hover { background: #4338ca; }
.btn-secondary { border: 1px solid #cbd5e1; background: #fff; color: #334155; }
.btn-secondary:hover { background: #f1f5f9; }
.btn:disabled { cursor: not-allowed; opacity: .5; }
.tool-panel { border: 1px solid #e2e8f0; border-radius: 1rem; background: #fff; box-shadow: 0 8px 24px -22px rgb(15 23 42 / .4); }
.notice { border-radius: .75rem; padding: .8rem 1rem; }
.notice-error { background: #fef2f2; color: #991b1b; }
.notice-success { background: #ecfdf5; color: #065f46; }
.notice-info { background: #eef2ff; color: #3730a3; }
.watermark { color: rgb(100 116 139 / .35); font-size: 10px; pointer-events: none; }
.resume-paper { width: 100%; max-width: 800px; min-height: 980px; margin: 0 auto; padding: 48px; color: #1f2937; background: #fff; box-shadow: 0 10px 35px -20px #0f172a; }
.resume-paper h2 { margin: 1.2rem 0 .4rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; font-size: .9rem; }
.resume-paper h2.resume-name { margin: 0; text-transform: none; letter-spacing: normal; font-size: 1.875rem; }
.resume-paper p { margin: .2rem 0; }
.invoice-paper { position: relative; max-width: 800px; margin: 0 auto; padding: 40px; background: white; color: #1f2937; }
.sort-handle { cursor: grab; color: #94a3b8; user-select: none; }
.pro-only:disabled { opacity: .6; }
@media (max-width: 640px) {
  .resume-paper { min-height: auto; padding: 24px; }
  .invoice-paper { padding: 24px; }
}
@media print {
  body { background: white !important; }
  .no-print, header, footer { display: none !important; }
  .invoice-paper, .resume-paper { box-shadow: none; }
}
