*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #8B1A2B;--primary-light: #A82040;--primary-dark: #6B1420;--accent: #D4A853;--accent-light: #E8C778;--accent-dark: #B8903F;--background: #F7F6F3;--card: #FFFFFF;--surface: #EFEEE9;--text: #141414;--text-secondary: #7A7A7A;--border: #E5E2DC;--success: #1DB264;--error: #E03E3E;--warning: #E8A830;--overlay: rgba(0, 0, 0, .5)}body{font-family:Poppins,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--background);color:var(--text);min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}a{text-decoration:none;color:inherit}button{font-family:Poppins,sans-serif;cursor:pointer;border:none;outline:none}input,select,textarea{font-family:Poppins,sans-serif;outline:none}.page{flex:1;max-width:480px;margin:0 auto;width:100%;padding-bottom:80px;min-height:100vh;background:var(--background)}.page-header{display:flex;align-items:center;padding:16px 20px;gap:12px;background:var(--card);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.page-header .back-btn{background:none;border:none;color:var(--primary);display:flex;align-items:center;padding:4px}.page-header h1{font-size:18px;font-weight:600;flex:1}.btn-primary{background:var(--primary);color:#fff;border:none;padding:14px 24px;border-radius:12px;font-size:15px;font-weight:600;width:100%;transition:background .2s}.btn-primary:hover{background:var(--primary-light)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-outline{background:transparent;color:var(--primary);border:2px solid var(--primary);padding:12px 24px;border-radius:12px;font-size:15px;font-weight:600;width:100%;transition:all .2s}.btn-outline:hover{background:var(--primary);color:#fff}.card{background:var(--card);border-radius:16px;padding:16px;border:1px solid var(--border)}.modal-overlay{position:fixed;inset:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.modal-content{background:var(--card);border-radius:20px;max-width:440px;width:100%;max-height:85vh;overflow-y:auto;padding:24px}.badge{display:inline-flex;align-items:center;justify-content:center;background:var(--error);color:#fff;font-size:11px;font-weight:600;min-width:18px;height:18px;border-radius:9px;padding:0 5px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:var(--text-secondary)}.empty-state svg{margin-bottom:16px;opacity:.4}.empty-state p{font-size:15px}
