@import "https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#fdfaf5;--bg-card:#fff;--bg-elevated:#fff;--bg-subtle:#f5f1ea;--border:#e8e0d0;--border-strong:#d4c9b8;--text-1:#1a1535;--text-2:#6b6375;--text-3:#9b9098;--accent:#7c5cfc;--accent-dim:#7c5cfc1a;--accent-border:#7c5cfc40;--accent-text:#5b3fd4;--danger:#c84b2f;--danger-light:#fef0eb;--success:#1a7a4a;--success-light:#e8f5ee;--warning:#b87520;--warning-light:#fef5e7;--shadow-sm:0 1px 3px #1a15350f, 0 1px 2px #1a15350a;--shadow-md:0 4px 12px #1a153514, 0 2px 4px #1a15350a;color:var(--text-1);background:var(--bg);-webkit-font-smoothing:antialiased;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:DM Sans,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.6}body{background:var(--bg);min-height:100vh;margin:0}#root{text-align:left;width:100%;min-height:100vh}h1,h2,h3,h4{color:var(--text-1);font-family:DM Serif Display,Georgia,serif;font-weight:400;line-height:1.2}input,textarea,select{color:var(--text-1);background:var(--bg-card);border:1px solid var(--border);border-radius:8px;outline:none;font-family:DM Sans,system-ui,sans-serif;font-size:14px;transition:border-color .15s,box-shadow .15s}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}button{cursor:pointer;font-family:DM Sans,system-ui,sans-serif}::placeholder{color:var(--text-3)}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.pu{animation:1.5s ease-in-out infinite pulse;display:inline-block}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:1s linear infinite spin;display:inline-block}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.2s fadeIn}input[type=date]::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer}::selection{background:var(--accent-dim);color:var(--text-1)}@media print{body *{visibility:hidden}.print-area,.print-area *{visibility:visible}.print-area{width:100%;position:absolute;top:0;left:0;box-shadow:none!important;border:none!important}}
