*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--cream: #faf8f4;--cream-dark: #f0ece3;--blush: #e8c4b8;--blush-dark: #c9907e;--rose: #b5524a;--rose-dark: #8a3d36;--gold: #c9a96e;--gold-light: #e8d5b0;--charcoal: #2c2825;--charcoal-mid: #5a534d;--charcoal-light: #8a8078;--white: #ffffff;--shadow-sm: 0 1px 3px rgba(44,40,37,.08);--shadow-md: 0 4px 16px rgba(44,40,37,.1);--shadow-lg: 0 12px 40px rgba(44,40,37,.14);--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--font-display: "Cormorant Garamond", Georgia, serif;--font-body: "DM Sans", sans-serif;--transition: all .2s ease}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--cream);color:var(--charcoal);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-display);font-weight:400;line-height:1.2}a{color:inherit;text-decoration:none}button{font-family:var(--font-body);cursor:pointer;border:none;outline:none}input,textarea,select{font-family:var(--font-body);font-size:14px}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;transition:var(--transition);white-space:nowrap}.btn-primary{background:var(--charcoal);color:var(--cream)}.btn-primary:hover{background:var(--charcoal-mid)}.btn-rose{background:var(--rose);color:var(--white)}.btn-rose:hover{background:var(--rose-dark)}.btn-gold{background:var(--gold);color:var(--charcoal)}.btn-gold:hover{background:var(--gold-light)}.btn-ghost{background:transparent;color:var(--charcoal-mid);border:1px solid var(--cream-dark)}.btn-ghost:hover{background:var(--cream-dark)}.btn-danger{background:#dc4a3d;color:#fff}.btn-danger:hover{background:#b83a2f}.btn-sm{padding:7px 14px;font-size:13px}.btn-lg{padding:14px 28px;font-size:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:13px;font-weight:500;color:var(--charcoal-mid)}.form-input{padding:10px 14px;border:1px solid var(--cream-dark);border-radius:var(--radius-sm);background:var(--white);color:var(--charcoal);font-size:14px;transition:var(--transition);width:100%}.form-input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px #c9a96e26}.form-input::placeholder{color:var(--charcoal-light)}textarea.form-input{resize:vertical;min-height:100px}.form-select{padding:10px 14px;border:1px solid var(--cream-dark);border-radius:var(--radius-sm);background:var(--white);color:var(--charcoal);font-size:14px;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%238a8078' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer}.form-select:focus{outline:none;border-color:var(--gold)}.card{background:var(--white);border-radius:var(--radius-md);border:1px solid var(--cream-dark);padding:24px;box-shadow:var(--shadow-sm)}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:100px;font-size:12px;font-weight:500}.badge-green{background:#e8f5e9;color:#2e7d32}.badge-red{background:#fce4e4;color:#c62828}.badge-amber{background:#fff8e1;color:#f57f17}.badge-blue{background:#e3f2fd;color:#1565c0}.badge-gray{background:var(--cream-dark);color:var(--charcoal-mid)}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;padding:10px 16px;font-size:12px;font-weight:500;color:var(--charcoal-light);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--cream-dark);background:var(--cream);white-space:nowrap}td{padding:12px 16px;border-bottom:1px solid var(--cream-dark);color:var(--charcoal)}tr:last-child td{border-bottom:none}tr:hover td{background:var(--cream)}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:16px}.spinner{width:36px;height:36px;border:2px solid var(--cream-dark);border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#2c282580;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .15s ease}.modal{background:var(--white);border-radius:var(--radius-lg);padding:32px;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:scaleIn .15s ease}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px}.modal-header h2{font-size:26px}.modal-close{background:none;color:var(--charcoal-light);padding:4px;border-radius:4px;display:flex;align-items:center}.modal-close:hover{background:var(--cream-dark);color:var(--charcoal)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.divider{display:flex;align-items:center;gap:12px;color:var(--charcoal-light);font-size:13px}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--cream-dark)}.page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:28px;flex-wrap:wrap;gap:12px}.page-header h1{font-size:32px}.page-header p{color:var(--charcoal-light);font-size:14px;margin-top:4px}.empty-state{text-align:center;padding:60px 24px;color:var(--charcoal-light)}.empty-state h3{font-family:var(--font-display);font-size:22px;margin-bottom:8px;color:var(--charcoal-mid)}.empty-state p{font-size:14px;margin-bottom:20px}.toast-container{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:8px}.toast{padding:12px 20px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;box-shadow:var(--shadow-md);animation:slideUp .2s ease}.toast-success{background:#2e7d32;color:#fff}.toast-error{background:#c62828;color:#fff}.toast-info{background:var(--charcoal);color:var(--cream)}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.card{padding:16px}.modal{padding:20px}.page-header h1{font-size:24px}.btn{padding:9px 16px;font-size:13px}.btn-sm{padding:7px 12px;font-size:12px}table{min-width:560px}th,td{padding:10px 12px;font-size:13px}}
