*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#faf8f5;--bg-secondary:#f5f0eb;--bg-tertiary:#ede6dd;--bg-card:#fff;--bg-sidebar:#2d2a26;--accent-rose:#d4a5a5;--accent-rose-light:#e8c4c4;--accent-champagne:#e8d5b7;--accent-champagne-light:#f2e6d5;--accent-lavender:#c4b7d1;--accent-sage:#b8c4b8;--accent-peach:#f5c6a5;--accent-cream:#f7f0e3;--text-primary:#2d2a26;--text-secondary:#6b6560;--text-muted:#9a948e;--text-inverse:#fff;--success:#7cb07c;--success-light:#e8f5e8;--warning:#e8b86d;--warning-light:#fff8e8;--error:#d47070;--error-light:#fff0f0;--info:#7ba3c4;--info-light:#f0f5f9;--border-light:#e8e4df;--border-medium:#d4cec6;--shadow-sm:0 1px 2px rgba(45,42,38,.05);--shadow-md:0 4px 12px rgba(45,42,38,.08);--shadow-lg:0 8px 24px rgba(45,42,38,.12);--shadow-card:0 2px 8px rgba(45,42,38,.06);--shadow-hover:0 8px 20px rgba(45,42,38,.15);--font-primary:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-display:"Poppins",var(--font-primary);--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:2rem;--text-4xl:2.5rem;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.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;--transition-fast:150ms ease;--transition-normal:250ms ease;--transition-slow:350ms ease;--sidebar-width:260px;--header-height:64px}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-primary);background-color:var(--bg-primary);line-height:1.5;min-height:100vh}body,h1,h2,h3,h4,h5,h6{color:var(--text-primary)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--font-semibold);line-height:1.3}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base)}p{color:var(--text-secondary);line-height:1.6}a{color:inherit;text-decoration:none}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-error{color:var(--error)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-family:var(--font-primary);font-size:var(--text-sm);font-weight:var(--font-medium);border-radius:var(--radius-lg);border:none;cursor:pointer;transition:all var(--transition-normal);white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--text-primary);color:var(--text-inverse)}.btn-primary:hover:not(:disabled){background:#1a1816;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-light)}.btn-secondary:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--border-medium)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--bg-secondary);color:var(--text-primary)}.btn-success{background:var(--success);color:#fff}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--text-base)}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--text-xs)}.btn-icon{width:40px;height:40px;padding:0;border-radius:var(--radius-md)}.card{background:var(--bg-card);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-card);transition:all var(--transition-normal)}.card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.card-flat{box-shadow:none;border:1px solid var(--border-light)}.card-flat:hover{box-shadow:none;transform:none;border-color:var(--border-medium)}.card-rose{background:linear-gradient(135deg,var(--accent-rose-light) 0,var(--accent-rose) 100%)}.card-champagne{background:linear-gradient(135deg,var(--accent-champagne-light) 0,var(--accent-champagne) 100%)}.card-lavender{background:linear-gradient(135deg,#ddd6e8 0,var(--accent-lavender) 100%)}.card-sage{background:linear-gradient(135deg,#d4e0d4 0,var(--accent-sage) 100%)}.input-group{display:flex;flex-direction:column;gap:var(--space-2)}.input-label{font-size:var(--text-sm);font-weight:var(--font-medium)}.input,.input-label{color:var(--text-primary)}.input{width:100%;padding:var(--space-3) var(--space-4);font-family:var(--font-primary);font-size:var(--text-base);background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);transition:all var(--transition-fast)}.input:focus{outline:none;border-color:var(--text-primary);box-shadow:0 0 0 3px rgba(45,42,38,.1)}.input::placeholder{color:var(--text-muted)}.input-lg{padding:var(--space-4) var(--space-5);font-size:var(--text-lg)}.input-search{padding-left:var(--space-10);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%239A948E'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:var(--space-4) center;background-size:20px}.table-container{background:var(--bg-card);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-card)}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-weight:var(--font-medium);color:var(--text-muted);background:var(--bg-secondary)}.table td,.table th{padding:var(--space-4) var(--space-6);font-size:var(--text-sm);border-bottom:1px solid var(--border-light)}.table td{color:var(--text-primary)}.table tr:last-child td{border-bottom:none}.table tr:hover td,.tag{background:var(--bg-secondary)}.tag{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);font-size:var(--text-xs);font-weight:var(--font-medium);border-radius:var(--radius-full);color:var(--text-secondary)}.tag-success{background:var(--success-light);color:var(--success)}.tag-warning{background:var(--warning-light);color:#a67d3a}.tag-error{background:var(--error-light);color:var(--error)}.tag-info{background:var(--info-light);color:var(--info)}.tag-vip{background:linear-gradient(135deg,#f5e6d3 0,var(--accent-champagne) 100%);color:#8b6914}.avatar{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-full);background:var(--accent-lavender);color:var(--text-primary);font-weight:var(--font-medium);font-size:var(--text-sm);overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.avatar-sm{width:32px;height:32px;font-size:var(--text-xs)}.avatar-lg{width:56px;height:56px;font-size:var(--text-lg)}.skeleton{background:linear-gradient(90deg,var(--bg-secondary) 25%,var(--bg-tertiary) 50%,var(--bg-secondary) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:var(--radius-md)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.spinner{width:24px;height:24px;border:2px solid var(--border-light);border-top-color:var(--text-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.modal-overlay{position:fixed;inset:0;background:rgba(45,42,38,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn var(--transition-fast)}.modal{background:var(--bg-card);border-radius:var(--radius-2xl);padding:var(--space-8);max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:slideUp var(--transition-normal)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){:root{--sidebar-width:0px}.hide-mobile{display:none!important}}@media (min-width:769px){.hide-desktop{display:none!important}}.btn,.card,a,button,input,select,textarea{transition:all .15s cubic-bezier(.4,0,.2,1)}.btn:active:not(:disabled),button:active:not(:disabled){transform:scale(.97);transition:transform .05s ease}.page-enter{opacity:0;transform:translateY(10px)}.page-enter-active{opacity:1;transform:translateY(0);transition:opacity .2s ease,transform .2s ease}.toast{animation:toastIn .25s ease-out forwards}.toast-exit{animation:toastOut .2s ease-in forwards}@keyframes toastIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes toastOut{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}.optimistic-loading{position:relative;pointer-events:none}.optimistic-loading:after{content:"";position:absolute;inset:0;background:hsla(0,0%,100%,.5);animation:optimisticPulse .8s ease-in-out infinite alternate}@keyframes optimisticPulse{0%{opacity:.3}to{opacity:.6}}.spinner-fast{animation:spin .5s linear infinite}.hover-lift{transition:transform .15s ease,box-shadow .15s ease}.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}.btn-loading{position:relative;color:transparent!important;pointer-events:none}.btn-loading:after{content:"";position:absolute;width:18px;height:18px;top:50%;left:50%;margin-top:-9px;margin-left:-9px;border:2px solid hsla(0,0%,100%,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.list-item{transition:opacity .2s ease,transform .2s ease,background .15s ease}.list-item-enter{opacity:0;transform:translateX(-10px)}.list-item-enter-active{opacity:1;transform:translateX(0)}.list-item-exit{opacity:0;transform:translateX(10px)}.input-valid{border-color:var(--success)!important;background-color:var(--success-light)!important}.input-error{border-color:var(--error)!important;background-color:var(--error-light)!important;animation:shake .3s ease}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}.success-check{animation:checkPop .3s ease-out forwards}@keyframes checkPop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.btn-ripple{position:relative;overflow:hidden}.btn-ripple:before{content:"";position:absolute;width:100%;height:100%;background:radial-gradient(circle,hsla(0,0%,100%,.3) 0,transparent 70%);transform:scale(0);opacity:0;transition:transform .4s ease,opacity .4s ease}.btn-ripple:active:before{transform:scale(2);opacity:1;transition:transform 0s,opacity 0s}html{scroll-behavior:smooth}:focus{outline:none}:focus-visible{outline:2px solid var(--text-primary);outline-offset:2px}.skeleton-container{min-height:100px}.modal-fast .modal-overlay{animation-duration:.15s}.modal-fast .modal{animation-duration:.2s}.quick-action{transition:all .12s ease}.quick-action:hover{transform:scale(1.02)}.quick-action:active{transform:scale(.98)}.progress-bar{height:3px;background:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent-rose),var(--accent-champagne));transition:width .3s ease}.progress-bar-indeterminate .progress-bar-fill{width:30%;animation:indeterminate 1.2s ease-in-out infinite}@keyframes indeterminate{0%{transform:translateX(-100%)}to{transform:translateX(400%)}}@media (max-width:1024px){:root{--header-height:60px;--space-6:1.25rem;--space-8:1.75rem}}@media (max-width:768px){:root{--header-height:56px;--text-4xl:2rem;--text-3xl:1.75rem;--text-2xl:1.25rem}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}}.touch-target{min-height:44px;min-width:44px}@media (max-width:768px){.btn:not(.btn-sm):not(.btn-icon),button:not(.btn-sm):not(.btn-icon){min-height:44px}.input,input[type=date],input[type=email],input[type=number],input[type=password],input[type=tel],input[type=text],input[type=time],select,textarea{min-height:44px;font-size:16px}}.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:768px){.table-mobile-cards{display:block}.table-mobile-cards thead{display:none}.table-mobile-cards tbody{display:flex;flex-direction:column;gap:var(--space-3)}.table-mobile-cards tr{display:flex;flex-direction:column;padding:var(--space-4);background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.table-mobile-cards td{display:flex;justify-content:space-between;padding:var(--space-2) 0;border-bottom:1px solid var(--border-light)}.table-mobile-cards td:last-child{border-bottom:none}.table-mobile-cards td:before{content:attr(data-label);font-weight:var(--font-medium);color:var(--text-muted);margin-right:var(--space-3)}.modal{width:100%;max-width:100%;min-height:50vh;max-height:90vh;border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;margin:auto 0 0;padding:var(--space-5)}.modal-overlay{align-items:flex-end}.modal-fullscreen{min-height:100vh;max-height:100vh;border-radius:0;margin:0}}@media (max-width:767px){.show-mobile{display:block!important}.show-mobile-flex{display:flex!important}.show-mobile-grid{display:grid!important}}@media (min-width:768px){.show-mobile,.show-mobile-flex,.show-mobile-grid{display:none!important}}@media (min-width:768px) and (max-width:1023px){.show-tablet{display:block!important}.hide-tablet{display:none!important}}.scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.scroll-x::-webkit-scrollbar{height:4px}.scroll-x::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:var(--radius-full)}@media (max-width:768px){.mobile-stack{flex-direction:column!important}.mobile-full,.mobile-stack>*{width:100%!important;max-width:100%!important}.mobile-hidden{display:none!important}.card:hover{transform:none;box-shadow:var(--shadow-card)}.mobile-gap-sm>*+*{margin-top:var(--space-2)}.mobile-gap-md>*+*{margin-top:var(--space-4)}}.responsive-grid-2{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:var(--space-4);gap:var(--space-4)}@media (max-width:768px){.responsive-grid-2{grid-template-columns:1fr}}.responsive-grid-3{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--space-4);gap:var(--space-4)}@media (max-width:1024px){.responsive-grid-3{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.responsive-grid-3{grid-template-columns:1fr}}.responsive-grid-4{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--space-4);gap:var(--space-4)}@media (max-width:1200px){.responsive-grid-4{grid-template-columns:repeat(3,1fr)}}@media (max-width:1024px){.responsive-grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.responsive-grid-4{grid-template-columns:1fr}}@supports (padding-bottom:env(safe-area-inset-bottom)){.safe-area-bottom{padding-bottom:max(var(--space-4),env(safe-area-inset-bottom))}}.btn,a,button{touch-action:manipulation}.animate-slide-up{animation:slideUp var(--transition-normal) ease-out}.animate-slide-in-right{animation:slideInRight var(--transition-normal) ease-out}.animate-fade{animation:fadeIn var(--transition-fast) ease-out}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.btn-group-mobile{display:flex;gap:var(--space-2)}@media (max-width:768px){.btn-group-mobile{flex-direction:column}.btn-group-mobile>*{width:100%}}.fab-container{position:fixed;bottom:var(--space-6);right:var(--space-6);z-index:90;display:flex;flex-direction:column;gap:var(--space-3)}@supports (padding-bottom:env(safe-area-inset-bottom)){.fab-container{bottom:calc(var(--space-6) + env(safe-area-inset-bottom))}}.fab{width:56px;height:56px;border-radius:var(--radius-full);background:var(--text-primary);color:var(--text-inverse);border:none;box-shadow:0 4px 16px rgba(0,0,0,.2);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.fab:hover{transform:scale(1.05);box-shadow:0 6px 20px rgba(0,0,0,.25)}.fab:active{transform:scale(.95)}.pull-indicator{display:flex;justify-content:center;padding:var(--space-4);color:var(--text-muted)}.bottom-sheet{position:fixed;bottom:0;left:0;right:0;background:var(--bg-card);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;box-shadow:0 -4px 24px rgba(0,0,0,.15);z-index:100;max-height:90vh;overflow-y:auto;transform:translateY(100%);transition:transform var(--transition-normal)}.bottom-sheet.open{transform:translateY(0)}.bottom-sheet-handle{width:36px;height:4px;background:var(--border-medium);border-radius:var(--radius-full);margin:var(--space-3) auto var(--space-4)}.swipe-hint{display:none}@media (max-width:768px){.swipe-hint{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2);font-size:var(--text-xs);color:var(--text-muted)}.swipe-hint:before{content:"←"}.swipe-hint:after{content:"→"}}