@import "https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=DM+Sans:wght@300;400;500;600&display=swap";
*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--ink:#0f0e0c;--cream:#f5f0e8;--warm:#e8dfc8;--accent:#c8401a;--accent2:#1a6bc8;--muted:#6a6055;--border:#d4cabb;--card:#fff;--green:#1a7a45;--green-bg:#edf7f0}body{background:var(--cream);color:var(--ink);background-image:radial-gradient(at 20%,#c8401a0f 0%,#0000 60%),radial-gradient(at 80% 20%,#1a6bc80f 0%,#0000 60%);min-height:100vh;font-family:DM Sans,sans-serif;line-height:1.6}.btn-primary{background:var(--ink);width:100%;color:var(--cream);cursor:pointer;text-align:center;border:none;border-radius:8px;margin-top:8px;padding:12px;font-family:DM Sans,sans-serif;font-size:.95rem;font-weight:500;text-decoration:none;transition:all .18s;display:block}.btn-primary:hover{background:#2a2820;transform:translateY(-1px);box-shadow:0 4px 16px #0f0e0c2e}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-accent{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:10px 24px;font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:500;transition:all .18s}.btn-accent:hover{background:#a83312;transform:translateY(-1px);box-shadow:0 4px 16px #c8401a40}.btn-accent:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-ghost{color:var(--ink);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:8px;padding:9px 20px;font-family:DM Sans,sans-serif;font-size:.875rem;font-weight:500;transition:all .15s}.btn-ghost:hover{background:var(--warm)}.btn-danger{color:#e05050;cursor:pointer;background:0 0;border:1px solid #e05050;border-radius:8px;padding:9px 20px;font-family:DM Sans,sans-serif;font-size:.875rem;font-weight:500;transition:all .15s}.btn-danger:hover{background:#fdf0f0}.btn-sm{padding:6px 14px!important;font-size:.8rem!important}.form-group{margin-bottom:16px}.form-group label{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:.78rem;font-weight:600;display:block}.form-group input,.form-group textarea{border:1px solid var(--border);background:var(--cream);width:100%;color:var(--ink);border-radius:8px;outline:none;padding:11px 14px;font-family:DM Sans,sans-serif;font-size:.95rem;transition:border-color .15s}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent);background:#fff}.error{color:var(--accent);margin-top:10px;font-size:.83rem}.auth-container{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:var(--card);border:1px solid var(--border);border-radius:20px;width:100%;max-width:420px;padding:44px 40px;box-shadow:0 8px 40px #0f0e0c17}.auth-card h1{letter-spacing:-.02em;margin-bottom:6px;font-family:DM Serif Display,serif;font-size:1.9rem}.auth-card .subtitle{color:var(--muted);margin-bottom:28px;font-size:.9rem}.auth-link{text-align:center;color:var(--muted);margin-top:20px;font-size:.875rem}.auth-link a{color:var(--accent);font-weight:600;text-decoration:none}.auth-link a:hover{text-decoration:underline}.success-icon{text-align:center;margin-bottom:12px;font-size:2.5rem}.dashboard-nav{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:100;background:#f5f0e8e6;justify-content:space-between;align-items:center;padding:18px 40px;display:flex;position:sticky;top:0}.logo{letter-spacing:-.02em;color:var(--ink);font-family:DM Serif Display,serif;font-size:1.5rem;text-decoration:none}.logo em{color:var(--accent);font-style:italic}.nav-right{align-items:center;gap:16px;display:flex}.user-name{color:var(--muted);font-size:.875rem;font-weight:500}.dashboard-main{max-width:1100px;margin:0 auto;padding:48px 32px}.dashboard-header{justify-content:space-between;align-items:center;margin-bottom:32px;display:flex}.dashboard-header h1{letter-spacing:-.02em;font-family:DM Serif Display,serif;font-size:2rem}.qr-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.qr-card{background:var(--card);border:1px solid var(--border);cursor:pointer;border-radius:16px;padding:24px;transition:all .2s;position:relative;overflow:hidden}.qr-card:before{content:"";background:linear-gradient(90deg, var(--accent), var(--accent2));opacity:0;height:3px;transition:opacity .2s;position:absolute;top:0;left:0;right:0}.qr-card:hover{transform:translateY(-2px);box-shadow:0 8px 32px #0f0e0c1a}.qr-card:hover:before{opacity:1}.qr-card-name{white-space:nowrap;text-overflow:ellipsis;margin-bottom:4px;font-size:1rem;font-weight:600;overflow:hidden}.qr-card-url{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-bottom:16px;font-size:.8rem;overflow:hidden}.qr-card-stats{border-top:1px solid var(--warm);color:var(--muted);gap:16px;margin-bottom:8px;padding-top:14px;font-size:.85rem;display:flex}.qr-card-stats strong{color:var(--ink)}.qr-card-date{color:var(--muted);font-size:.75rem}.empty-state{text-align:center;border:2px dashed var(--border);color:var(--muted);border-radius:16px;flex-direction:column;align-items:center;gap:16px;padding:72px 24px;display:flex}.overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;background:#0f0e0c8c;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal{background:var(--card);border:1px solid var(--border);border-radius:20px;width:460px;max-width:94vw;max-height:90vh;padding:40px;animation:.25s slideUp;overflow-y:auto;box-shadow:0 32px 80px #0f0e0c2e}.modal h2{letter-spacing:-.02em;margin-bottom:20px;font-family:DM Serif Display,serif;font-size:1.6rem}.modal-top{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.modal-top h2{margin-bottom:0}.modal-actions{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.modal-detail{width:520px}.qr-preview{background:var(--cream);border:1px solid var(--border);border-radius:12px;justify-content:center;margin-bottom:20px;padding:16px;display:flex}.detail-stats{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px;display:grid}.stat-card{background:var(--cream);text-align:center;border-radius:10px;flex-direction:column;gap:4px;padding:14px;display:flex}.stat-val{color:var(--ink);font-family:DM Serif Display,serif;font-size:1.6rem;line-height:1}.stat-lbl{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem}.detail-field{margin-bottom:12px}.detail-label{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;font-size:.75rem;font-weight:600;display:block}.detail-value{background:var(--cream);color:var(--muted);word-break:break-all;border:1px solid var(--border);border-radius:8px;padding:10px 14px;font-size:.85rem;display:block}.detail-value.accent{color:var(--accent2);font-weight:600}.toast{background:var(--ink);color:var(--cream);z-index:9000;white-space:nowrap;border-radius:100px;padding:12px 24px;font-size:.875rem;animation:.3s slideUp;position:fixed;bottom:32px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0f0e0c33}.landing{flex-direction:column;min-height:100vh;display:flex}.landing-nav{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:100;background:#f5f0e8d9;justify-content:space-between;align-items:center;padding:20px 48px;display:flex;position:sticky;top:0}.nav-actions{align-items:center;gap:12px;display:flex}.hero{text-align:center;max-width:800px;margin:0 auto;padding:100px 24px 80px}.hero-tag{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);background:#c8401a0d;border:1px solid #c8401a4d;border-radius:100px;margin-bottom:24px;padding:5px 14px;font-size:.75rem;font-weight:600;display:inline-block}.hero h1{letter-spacing:-.03em;margin-bottom:20px;font-family:DM Serif Display,serif;font-size:clamp(2.6rem,6vw,4.2rem);line-height:1.08}.hero h1 em{color:var(--accent);font-style:italic}.hero p{color:var(--muted);max-width:480px;margin:0 auto 36px;font-size:1.1rem;line-height:1.65}.hero-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.hero-btn{padding:13px 32px!important;font-size:1rem!important}.how-it-works{text-align:center;width:100%;max-width:960px;margin:0 auto;padding:80px 24px}.how-it-works h2{letter-spacing:-.02em;margin-bottom:48px;font-family:DM Serif Display,serif;font-size:2rem}.steps-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;display:grid}.step-card{background:var(--card);border:1px solid var(--border);text-align:center;border-radius:16px;padding:32px 24px;transition:all .2s}.step-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #0f0e0c14}.step-icon{margin-bottom:16px;font-size:2rem}.step-card h3{margin-bottom:10px;font-family:DM Serif Display,serif;font-size:1.2rem}.step-card p{color:var(--muted);font-size:.9rem;line-height:1.6}.cta{background:var(--ink);color:var(--cream);text-align:center;margin-top:auto;padding:80px 24px}.cta h2{letter-spacing:-.02em;margin-bottom:10px;font-family:DM Serif Display,serif;font-size:2.2rem}.cta p{color:#b0a898;margin-bottom:32px;font-size:1rem}.cta .btn-accent{background:var(--accent)}.landing-footer{background:var(--ink);color:#6a6055;border-top:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:24px 48px;font-size:.85rem;display:flex}.landing-footer .logo{color:var(--cream);font-size:1.2rem}@media (max-width:600px){.dashboard-nav{padding:16px 20px}.dashboard-main{padding:32px 16px}.dashboard-header{flex-direction:column;align-items:flex-start;gap:16px}.auth-card{padding:32px 24px}.modal{padding:28px 20px}.detail-stats{grid-template-columns:repeat(2,1fr)}.modal-actions{flex-direction:column}.modal-actions button{width:100%}}
