@import"https://fonts.googleapis.com/css2?family=Syne:wght@400;600;700;800&family=DM+Sans:ital,wght@0,300;0,400;0,500;1,300&display=swap";*{margin:0;padding:0;box-sizing:border-box}:root{--pink: #f472b6;--pink-light: #fba8d4;--pink-dark: #db2777;--blue: #60c8f5;--blue-light: #a5dff9;--blue-dark: #0ea5e9;--purple: #c084fc;--white: #ffffff;--bg: #0d0d14;--bg-card: rgba(255,255,255,.04);--bg-card-hover: rgba(255,255,255,.07);--border: rgba(255,255,255,.08);--border-accent: rgba(244,114,182,.3);--text: #f8f8fc;--text-sub: rgba(248,248,252,.6);--text-muted: rgba(248,248,252,.35);--gradient: linear-gradient(135deg, #f472b6 0%, #c084fc 50%, #60c8f5 100%);--gradient-soft: linear-gradient(135deg, rgba(244,114,182,.15) 0%, rgba(96,200,245,.15) 100%);--glass: rgba(255,255,255,.04);--glass-border: rgba(255,255,255,.1);--blur: blur(20px);--radius: 16px;--radius-sm: 10px;--radius-lg: 24px;--font-display: "Syne", sans-serif;--font-body: "DM Sans", sans-serif}body{font-family:var(--font-body);background:var(--bg);color:var(--text);overflow-x:hidden;min-height:100vh;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;background:radial-gradient(ellipse 800px 600px at 10% 0%,rgba(244,114,182,.12) 0%,transparent 60%),radial-gradient(ellipse 600px 600px at 90% 100%,rgba(96,200,245,.1) 0%,transparent 60%),radial-gradient(ellipse 500px 400px at 50% 50%,rgba(192,132,252,.06) 0%,transparent 60%);pointer-events:none;z-index:0}.glass{background:var(--glass);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border:1px solid var(--glass-border);border-radius:var(--radius)}.grad-text{background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.btn{font-family:var(--font-display);font-weight:600;font-size:.9rem;letter-spacing:.02em;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn-primary{background:var(--gradient);color:#fff;padding:.75rem 1.75rem}.btn-primary:hover{opacity:.88;transform:translateY(-1px)}.btn-secondary{background:var(--glass);border:1px solid var(--glass-border);color:var(--text);padding:.75rem 1.75rem}.btn-secondary:hover{background:var(--bg-card-hover)}.btn-ghost{background:transparent;border:1px solid var(--border-accent);color:var(--pink);padding:.65rem 1.5rem}.btn-ghost:hover{background:#f472b614}.form-group{margin-bottom:1.25rem}.form-label{display:block;font-size:.8rem;font-weight:500;color:var(--text-sub);margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.06em}.form-input{width:100%;padding:.75rem 1rem;background:#ffffff0d;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font-body);font-size:.95rem;transition:border-color .2s,box-shadow .2s;outline:none}.form-input:focus{border-color:#f472b680;box-shadow:0 0 0 3px #f472b614}.form-input::placeholder{color:var(--text-muted)}.error-message{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:.875rem;margin-bottom:1rem}.success-message{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);color:#86efac;padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:.875rem;margin-bottom:1rem}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;position:relative;z-index:1}.login-card{width:100%;max-width:420px;background:var(--glass);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:2.5rem}.login-logo h1{font-family:var(--font-display);font-size:1.75rem;font-weight:800;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.25rem}.login-logo p{color:var(--text-sub);font-size:.9rem;margin-bottom:2rem}.sidebar{width:220px;min-height:100vh;background:#0d0d14e6;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-right:1px solid var(--border);padding:1.5rem 1rem;display:flex;flex-direction:column;position:fixed;top:0;left:0;z-index:100}.sidebar-logo{font-family:var(--font-display);font-size:1.2rem;font-weight:800;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;padding:.5rem .75rem 1.5rem;border-bottom:1px solid var(--border);margin-bottom:1rem}.sidebar-nav{list-style:none;flex:1}.sidebar-nav li a{display:block;padding:.6rem .75rem;border-radius:var(--radius-sm);color:var(--text-sub);text-decoration:none;font-size:.875rem;font-weight:500;transition:all .15s}.sidebar-nav li a:hover{background:var(--bg-card-hover);color:var(--text)}.sidebar-nav li a.active{background:#f472b61f;color:var(--pink);border:1px solid rgba(244,114,182,.2)}.admin-layout{display:flex;min-height:100vh}.admin-content{margin-left:220px;flex:1;padding:2rem;position:relative;z-index:1}.page-header{margin-bottom:2rem}.page-header h1{font-family:var(--font-display);font-size:1.75rem;font-weight:800;margin-bottom:.25rem}.page-header p{color:var(--text-sub);font-size:.9rem}.card{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-border);border-radius:var(--radius);padding:1.5rem;margin-bottom:1.5rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-border);border-radius:var(--radius);padding:1.5rem;text-decoration:none;color:var(--text);transition:all .2s}.stat-card:hover{background:var(--bg-card-hover);border-color:#f472b633}.stat-card.gradient-purple{border-color:#c084fc4d;background:#c084fc0f}.stat-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-weight:600;margin-bottom:.5rem}.stat-value{font-family:var(--font-display);font-size:2.25rem;font-weight:800;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.table{width:100%;border-collapse:collapse;font-size:.875rem}.table th{text-align:left;padding:.75rem 1rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border)}.table td{padding:.875rem 1rem;border-bottom:1px solid rgba(255,255,255,.04);color:var(--text-sub)}.table tr:hover td{background:#ffffff05}.badge{display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:999px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.badge-green{background:#22c55e1f;color:#86efac;border:1px solid rgba(34,197,94,.2)}.badge-red{background:#ef44441f;color:#fca5a5;border:1px solid rgba(239,68,68,.2)}.badge-blue{background:#60c8f51f;color:var(--blue-light);border:1px solid rgba(96,200,245,.2)}.badge-purple{background:#c084fc1f;color:var(--purple);border:1px solid rgba(192,132,252,.2)}.badge-pink{background:#f472b61f;color:var(--pink-light);border:1px solid rgba(244,114,182,.2)}.checkouts-section{margin-bottom:2rem}.checkouts-section h2{font-family:var(--font-display);font-size:1.25rem;font-weight:700;margin-bottom:1rem}.checkout-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--glass);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:.5rem;transition:border-color .2s}.checkout-item:hover{border-color:#f472b633}.checkout-image{width:56px;height:56px;border-radius:8px;object-fit:cover}.checkout-details{flex:1}.checkout-details h3{font-size:.9rem;font-weight:600;margin-bottom:.25rem}.checkout-meta{display:flex;gap:.5rem;font-size:.75rem;color:var(--text-muted);flex-wrap:wrap}.checkout-price{font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--pink)}.checkout-date{font-size:.75rem;color:var(--text-muted);margin-top:.2rem}.view-link{font-size:.75rem;color:var(--blue);text-decoration:none}.view-link:hover{text-decoration:underline}.public-page{min-height:100vh;padding:2rem;max-width:720px;margin:0 auto;position:relative;z-index:1}.public-header{text-align:center;padding:4rem 0 3rem}.public-header h1{font-family:var(--font-display);font-size:clamp(2.5rem,6vw,4.5rem);font-weight:800;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.1;margin-bottom:1rem;filter:drop-shadow(0 0 40px rgba(244,114,182,.3))}.public-header p{color:var(--text-sub);font-size:1.1rem;font-weight:300;max-width:500px;margin:0 auto;line-height:1.7}.fade-in{animation:fadeIn .4s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.loading{display:flex;align-items:center;justify-content:center;min-height:100vh;font-family:var(--font-display);font-size:1rem;color:var(--text-muted)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#f472b640;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#f472b666}.mobile-reviews-section{display:none}@media(max-width:768px){.admin-content{margin-left:0;padding:1rem}.sidebar{display:none}.public-page{padding:1rem}}.main-content{margin-left:220px;flex:1;padding:2rem;position:relative;z-index:1}.page-title{font-family:var(--font-display);font-size:1.75rem;font-weight:800}.table-container{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-border);border-radius:var(--radius);padding:1.5rem;margin-bottom:1.5rem}.stat-change{font-size:.75rem;color:var(--text-muted);margin-top:.25rem}.stat-change.positive{color:#4ade80}.btn-danger{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:.5rem 1rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.875rem;font-weight:600;transition:all .2s}.btn-danger:hover{background:#ef444440}.input-group{display:flex;gap:.5rem}@media(max-width:768px){.admin-layout{flex-direction:column}.admin-content{margin-left:0!important;padding:1rem!important}.sidebar{display:none!important}.grid-profiles{grid-template-columns:1fr!important}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}table{font-size:.82rem;min-width:560px}}@media(max-width:600px){.portal-page{padding:1rem!important}.site-tabs{gap:.4rem!important}.site-tab{padding:.5rem .9rem!important;font-size:.85rem!important}.profile-card-actions{flex-direction:column!important}.profile-card-actions button{width:100%!important}.modal-backdrop{padding:0!important;align-items:flex-end!important}.modal-panel{max-width:100%!important;width:100%!important;border-radius:16px 16px 0 0!important;max-height:92vh!important;padding:1.25rem 1rem!important}.form-grid-2,.form-grid-3,.form-grid-addr{grid-template-columns:1fr!important}.modal-actions{flex-direction:column!important}.modal-actions button{width:100%!important}.export-buttons{gap:.35rem!important}.admin-profiles-grid{grid-template-columns:1fr!important}}input,select,textarea{font-size:16px}@media(max-width:768px){.admin-layout{flex-direction:column}.admin-content{margin-left:0!important;padding:1rem!important}.sidebar{display:none!important}.grid-profiles,.admin-profiles-grid{grid-template-columns:1fr!important}.modal-panel{max-width:calc(100% - 2rem)!important}table{font-size:.82rem}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width:600px){.login-page{padding:2rem 1rem 1rem;align-items:flex-start}.login-card{padding:1.5rem 1.25rem}.portal-page{padding:1rem!important}.site-tabs{gap:.4rem!important}.site-tab{padding:.6rem 1rem!important;font-size:.85rem!important;white-space:nowrap}.profile-card-actions{flex-direction:column!important}.profile-card-actions button{width:100%!important;flex:none!important}.modal-backdrop{padding:0!important;align-items:flex-end!important}.modal-panel{max-width:100%!important;width:100%!important;border-radius:16px 16px 0 0!important;max-height:92vh!important;padding:1.25rem 1rem 2rem!important}.form-grid-2,.form-grid-3,.form-grid-addr{grid-template-columns:1fr!important}.modal-actions{flex-direction:column!important}.modal-actions button{width:100%!important}.export-buttons{gap:.35rem!important}}
