:root{--color-bg: #faf7f4;--color-surface: #ffffff;--color-surface-alt: #f8f4f0;--color-border: #e8ddd5;--color-border-light: #f0e8e2;--color-text: #2c2522;--color-text-muted: #8a7a72;--color-text-light: #b8a89e;--color-gold: #c9a96e;--color-gold-light: #e8d5b0;--color-gold-dark: #a8854a;--color-blush: #f2d7d5;--color-blush-dark: #d4a5a2;--color-champagne: #f5e6c8;--color-champagne-dark: #d9c49a;--color-success: #7aab7a;--color-warning: #d4a843;--color-danger: #c47070;--color-info: #7a9ab5;--font-serif: "Playfair Display", Georgia, serif;--font-sans: "Lato", system-ui, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(44,37,34,.06), 0 1px 2px rgba(44,37,34,.04);--shadow-md: 0 4px 12px rgba(44,37,34,.08), 0 2px 4px rgba(44,37,34,.05);--shadow-lg: 0 8px 24px rgba(44,37,34,.1), 0 4px 8px rgba(44,37,34,.06);--shadow-xl: 0 16px 40px rgba(44,37,34,.12), 0 8px 16px rgba(44,37,34,.08);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease;--sidebar-width: 240px;--nav-height-mobile: 64px;--content-max-width: 1100px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-weight:400;color:var(--color-text);background-color:var(--color-bg);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5{font-family:var(--font-serif);font-weight:600;line-height:1.25;color:var(--color-text)}a{color:var(--color-gold-dark);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-gold)}img,svg{display:block;max-width:100%}ul{list-style:none}button,input,select,textarea{font-family:var(--font-sans);font-size:var(--text-base)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-gold-light)}#root{min-height:100vh}.app-layout{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);background:var(--color-surface);border-right:1px solid var(--color-border-light);position:fixed;top:0;left:0;height:100vh;display:flex;flex-direction:column;z-index:100;box-shadow:var(--shadow-sm);overflow-y:auto}.sidebar-logo{padding:var(--space-6) var(--space-6) var(--space-4);border-bottom:1px solid var(--color-border-light)}.sidebar-logo-title{font-family:var(--font-serif);font-size:var(--text-xl);font-style:italic;color:var(--color-gold-dark);margin-bottom:var(--space-1)}.sidebar-logo-sub{font-size:var(--text-xs);color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase}.sidebar-nav{padding:var(--space-4) var(--space-3);flex:1}.nav-link{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:400;transition:all var(--transition-fast);margin-bottom:var(--space-1);text-decoration:none}.nav-link:hover{background:var(--color-surface-alt);color:var(--color-text)}.nav-link.active{background:var(--color-champagne);color:var(--color-gold-dark);font-weight:700}.nav-link svg{flex-shrink:0}.sidebar-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border-light)}.main-content{flex:1;margin-left:var(--sidebar-width);min-height:100vh;display:flex;flex-direction:column}.page-content{flex:1;padding:var(--space-8);max-width:var(--content-max-width);width:100%;margin:0 auto;animation:fadeInUp .35s ease both}.mobile-nav{display:none;position:fixed;bottom:0;left:0;right:0;height:var(--nav-height-mobile);background:var(--color-surface);border-top:1px solid var(--color-border-light);z-index:200;box-shadow:0 -4px 12px #2c25220f}.mobile-nav-inner{display:flex;height:100%;align-items:stretch}.mobile-nav-link{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--color-text-muted);font-size:10px;font-weight:400;text-decoration:none;transition:color var(--transition-fast);padding:var(--space-1)}.mobile-nav-link.active{color:var(--color-gold-dark)}.mobile-nav-link svg{width:20px;height:20px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:var(--space-6);transition:box-shadow var(--transition-base)}.card:hover{box-shadow:var(--shadow-md)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6)}.card-title{font-size:var(--text-lg);font-family:var(--font-serif)}.page-header{margin-bottom:var(--space-8)}.page-header h1{font-size:var(--text-3xl);font-style:italic;color:var(--color-text);margin-bottom:var(--space-2)}.page-header p{color:var(--color-text-muted);font-size:var(--text-base)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:700;cursor:pointer;border:none;transition:all var(--transition-fast);white-space:nowrap;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--color-gold) 0%,var(--color-gold-dark) 100%);color:#fff;box-shadow:0 2px 8px #a8854a4d}.btn-primary:hover:not(:disabled){box-shadow:0 4px 16px #a8854a66;transform:translateY(-1px);color:#fff}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-surface-alt);border-color:var(--color-gold-light)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){filter:brightness(.9)}.btn-ghost{background:transparent;color:var(--color-text-muted);padding:var(--space-2);border-radius:var(--radius-md)}.btn-ghost:hover:not(:disabled){background:var(--color-surface-alt);color:var(--color-text)}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--text-xs)}.form-group{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.form-label{font-size:var(--text-sm);font-weight:700;color:var(--color-text);letter-spacing:.02em}.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:var(--text-base);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);outline:none}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-gold);box-shadow:0 0 0 3px #c9a96e26}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-light)}.form-textarea{resize:vertical;min-height:80px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-4)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#2c252280;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-4);animation:fadeIn .2s ease}.modal{background:var(--color-surface);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);width:100%;max-width:560px;max-height:90vh;overflow-y:auto;animation:scaleIn .25s ease}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-6) var(--space-6) var(--space-4);border-bottom:1px solid var(--color-border-light)}.modal-title{font-size:var(--text-xl);font-family:var(--font-serif);font-style:italic}.modal-body{padding:var(--space-6)}.modal-footer{display:flex;gap:var(--space-3);justify-content:flex-end;padding:var(--space-4) var(--space-6) var(--space-6);border-top:1px solid var(--color-border-light)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:3px var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em}.badge-success{background:#7aab7a26;color:#4a8a4a}.badge-warning{background:#d4a84326;color:#a07820}.badge-danger{background:#c4707026;color:#a04040}.badge-info{background:#7a9ab526;color:#4a6a85}.badge-gold{background:var(--color-champagne);color:var(--color-gold-dark)}.badge-muted{background:var(--color-surface-alt);color:var(--color-text-muted)}.badge-blush{background:var(--color-blush);color:var(--color-blush-dark)}.progress-bar-container{background:var(--color-border-light);border-radius:var(--radius-full);height:8px;overflow:hidden}.progress-bar-fill{height:100%;border-radius:var(--radius-full);background:linear-gradient(90deg,var(--color-gold-light),var(--color-gold));transition:width .6s ease}.progress-bar-fill.danger{background:linear-gradient(90deg,#e88080,var(--color-danger))}.table-wrapper{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--color-border-light)}table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}thead{background:var(--color-surface-alt)}th{text-align:left;padding:var(--space-3) var(--space-4);font-size:var(--text-xs);font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}td{padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border-light);vertical-align:middle}tr:hover td{background:var(--color-surface-alt)}.stat-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);padding:var(--space-5) var(--space-6);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card-icon{width:40px;height:40px;border-radius:var(--radius-lg);background:var(--color-champagne);display:flex;align-items:center;justify-content:center;color:var(--color-gold-dark);margin-bottom:var(--space-4)}.stat-card-value{font-family:var(--font-serif);font-size:var(--text-2xl);font-weight:700;color:var(--color-text);line-height:1;margin-bottom:var(--space-1)}.stat-card-label{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6)}.spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-gold);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16);text-align:center;color:var(--color-text-muted)}.empty-state-icon{font-size:3rem;margin-bottom:var(--space-4);opacity:.4}.empty-state h3{font-size:var(--text-lg);color:var(--color-text-muted);margin-bottom:var(--space-2)}.empty-state p{font-size:var(--text-sm);max-width:280px}.filter-row{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-6)}.filter-chip{padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:700;cursor:pointer;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);transition:all var(--transition-fast)}.filter-chip:hover{border-color:var(--color-gold-light);color:var(--color-text)}.filter-chip.active{background:var(--color-champagne);border-color:var(--color-gold-light);color:var(--color-gold-dark)}.checkbox-wrapper{display:flex;align-items:center;gap:var(--space-3);cursor:pointer}.checkbox-wrapper input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-gold-dark);cursor:pointer;flex-shrink:0}.gold-divider{display:flex;align-items:center;gap:var(--space-4);color:var(--color-gold-light);margin:var(--space-6) 0}.gold-divider:before,.gold-divider:after{content:"";flex:1;height:1px;background:var(--color-gold-light)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 20% 50%,rgba(242,215,213,.5) 0%,transparent 60%),radial-gradient(ellipse at 80% 20%,rgba(245,230,200,.4) 0%,transparent 50%),radial-gradient(ellipse at 60% 80%,rgba(232,213,176,.3) 0%,transparent 50%),#faf7f4;padding:var(--space-8)}.login-card{background:#ffffffe6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(232,213,176,.5);border-radius:var(--radius-2xl);padding:var(--space-12) var(--space-10);text-align:center;max-width:440px;width:100%;box-shadow:var(--shadow-xl);animation:scaleIn .4s ease;position:relative;overflow:hidden}.login-card:before{content:"";position:absolute;top:-60px;left:50%;transform:translate(-50%);width:200px;height:120px;background:radial-gradient(ellipse,rgba(201,169,110,.15) 0%,transparent 70%);pointer-events:none}.login-floral{font-size:2rem;margin-bottom:var(--space-4);opacity:.8}.login-card h1{font-size:var(--text-4xl);font-style:italic;color:var(--color-text);margin-bottom:var(--space-2)}.login-card p{color:var(--color-text-muted);margin-bottom:var(--space-10);font-size:var(--text-sm)}@media (max-width: 1024px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.sidebar{display:none}.mobile-nav{display:flex}.main-content{margin-left:0;padding-bottom:var(--nav-height-mobile)}.page-content{padding:var(--space-6) var(--space-4)}.page-header h1{font-size:var(--text-2xl)}.grid-2,.grid-3,.grid-4,.form-row,.form-row-3{grid-template-columns:1fr}.modal{max-height:95vh;border-radius:var(--radius-xl)}}@media (max-width: 480px){.page-content,.card{padding:var(--space-4)}}
