@import"https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700&display=swap";:root{font-family:Nunito,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1e2c2f;background-color:#f5f8f4;line-height:1.5;font-weight:400;--color-primary: #3a7851;--color-primary-light: #5fa773;--color-secondary: #a5c3ae;--color-muted: #6b757b;--color-bg: #f5f8f4;--color-white: #ffffff;--shadow-soft: 0 25px 65px rgba(28, 72, 50, .12);--radius-lg: 28px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--color-bg);color:var(--color-muted);min-height:100vh}a{color:inherit;text-decoration:none}button{font-family:inherit}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-content{flex:1}.glass-card{background:#fffffff2;border-radius:var(--radius-lg);border:1px solid rgba(58,120,81,.07);box-shadow:var(--shadow-soft);padding:2rem}.tt-header{padding:1.5rem 3rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.tt-logo{display:flex;align-items:center;gap:.75rem;font-weight:800;color:var(--color-primary);font-size:1.35rem}.tt-logo img{height:58px}.tt-nav{display:flex;gap:1.5rem;font-weight:600;color:var(--color-muted)}.tt-nav .active{color:var(--color-primary)}.tt-header-actions{display:flex;align-items:center;gap:1rem}.tt-user-chip{background-color:var(--color-secondary);color:var(--color-primary);padding:.75rem 1rem;border-radius:18px;font-weight:600;min-width:240px;display:flex;flex-direction:column;gap:.35rem}.tt-user-chip-actions{display:flex;gap:.4rem;flex-wrap:wrap}.tt-user-chip-actions .tt-btn{padding:.4rem 1rem}.tt-footer{padding:2rem 3rem;display:flex;justify-content:space-between;align-items:center;color:var(--color-muted);font-size:.9rem}.tt-footer-links{display:flex;gap:1rem}.home{padding:2rem 3rem 4rem;display:flex;flex-direction:column;gap:2rem}.hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));align-items:center;gap:2rem;background:linear-gradient(145deg,#fdfefc,#e9f5eb)}.hero-text h1{font-size:3rem;color:var(--color-primary);margin-bottom:1rem}.hero-text .subtitle{color:var(--color-muted);margin-bottom:1.5rem;max-width:420px}.hero-deadline{display:block;margin-top:1rem;font-weight:600;color:var(--color-muted)}.hero-visual img{width:min(600px,90vw);max-width:700px;margin:0 auto;display:block;border-radius:40px;box-shadow:var(--shadow-soft)}.section{margin-top:2.5rem}.section-title{font-size:1.25rem;color:var(--color-primary);margin-bottom:1rem}.prize-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem}.prize-card{text-align:center}.prize-card img{height:90px;margin-bottom:1rem}.prize-card h3{color:var(--color-primary);margin-bottom:.5rem}.faq .accordion-item+.accordion-item{border-top:1px solid rgba(0,0,0,.05)}.accordion-trigger{width:100%;padding:1rem 0;background:none;border:none;display:flex;justify-content:space-between;font-size:1rem;color:var(--color-primary);cursor:pointer}.newsletter{display:flex;flex-direction:column;gap:1rem}.newsletter-form{display:flex;gap:1rem;flex-wrap:wrap}.tt-btn{border:none;border-radius:999px;padding:.9rem 1.8rem;cursor:pointer;font-weight:600;transition:transform .2s ease,box-shadow .2s ease}.tt-btn-primary{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));color:var(--color-white);box-shadow:0 10px 30px #3a785166}.tt-btn-ghost{background:transparent;border:1px solid rgba(58,120,81,.3);color:var(--color-primary)}.tt-btn-danger{background:#fef2f2;border:1px solid #fca5a5;color:#dc2626}.tt-btn-full{width:100%}.tt-btn:disabled{opacity:.6;cursor:not-allowed}.tt-input-group{display:flex;flex-direction:column;gap:.3rem;width:100%}.tt-input{padding:.95rem 1.15rem;border-radius:14px;border:1px solid rgba(58,120,81,.2);font-size:1rem;background-color:#fff}.auth-page{max-width:520px;margin:3rem auto}.auth-tabs{display:flex;gap:1rem;margin-bottom:1rem}.auth-tabs a,.auth-tabs button{background:transparent;border:none;font-weight:600;cursor:pointer;color:var(--color-muted)}.auth-tabs .active{color:var(--color-primary)}.auth-form{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem}.grid-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.error-text{color:#c62828}.success-text{color:#2e7d32;margin-top:.5rem}.dashboard-actions{display:flex;gap:1rem;margin:1.5rem 0}.participation-list{list-style:none;display:flex;flex-direction:column;gap:.8rem}.participation-list.detail li{display:flex;justify-content:space-between;border:1px solid rgba(58,120,81,.1);border-radius:16px;padding:1rem}.profile-list{list-style:none;display:flex;flex-direction:column;gap:.8rem}.profile-list li{display:flex;justify-content:space-between;border-bottom:1px solid rgba(0,0,0,.05);padding-bottom:.5rem}.table-wrapper{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.75rem;border-bottom:1px solid rgba(0,0,0,.05)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card{background:#fdfefc;border-radius:18px;padding:1.2rem;text-align:center}.distribution-list{list-style:none;display:flex;flex-direction:column;gap:.5rem}.distribution-list li{display:flex;justify-content:space-between}.page-loading{padding:3rem;text-align:center}.status-message{color:var(--color-primary);margin-top:.5rem}.enter-code-form{display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap;margin-top:1rem}.admin-shell{display:flex;gap:1.5rem;min-height:70vh}.admin-sidebar{width:260px;background:#f0f6f2;border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.admin-brand{display:flex;gap:.8rem;align-items:center}.admin-brand img{width:48px;height:48px;border-radius:16px}.admin-brand .title{font-weight:700;color:var(--color-primary)}.admin-nav{display:flex;flex-direction:column;gap:.6rem}.admin-nav a{padding:.65rem .8rem;border-radius:12px;color:var(--color-muted);font-weight:600}.admin-nav a.active{background:var(--color-primary);color:#fff}.admin-main{flex:1;display:flex;flex-direction:column;gap:1.5rem}.charts-grid{margin-top:2rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.chart-card{background:#f4f8f5cc;border-radius:20px;padding:1.5rem;border:1px solid rgba(58,120,81,.08);box-shadow:0 15px 45px #1c483214}.chart-card h3{margin-bottom:1rem;color:var(--color-primary)}.modal-backdrop{position:fixed;inset:0;background:#00000059;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000}.modal-card{background:var(--color-white);border-radius:var(--radius-lg);padding:2rem;max-width:420px;width:100%;box-shadow:var(--shadow-soft)}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem}.icon-inline{margin-right:.35rem;display:inline-block;vertical-align:middle}.admin-section{width:100%}.admin-section-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.admin-section+.admin-section{margin-top:1.5rem}.code-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;align-items:end}.code-form input,.code-form select{width:100%}.table-wrapper select{padding:.4rem .6rem;border-radius:10px;border:1px solid rgba(0,0,0,.1)}.admin-codes-page{display:flex;flex-direction:column;gap:1.5rem}.rules-page,.shop-page,.contact-page{margin:2rem auto;max-width:1100px;display:flex;flex-direction:column;gap:2rem}.rules-hero,.shop-hero,.contact-hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;align-items:center}.rules-hero img,.shop-hero img,.contact-hero img{width:100%;border-radius:32px;box-shadow:var(--shadow-soft)}.rules-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}.rules-section{background:#f4f8f5cc;border-radius:24px;padding:1.5rem;border:1px solid rgba(58,120,81,.08)}.rules-section h2{color:var(--color-primary);margin-bottom:.5rem}.product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem}.product-card{text-align:center}.product-card img{width:120px;margin:0 auto 1rem}.product-card strong{margin-top:.5rem;display:inline-block;color:var(--color-primary)}.contact-infos{list-style:none;margin-top:1rem;display:flex;flex-direction:column;gap:.4rem}.contact-form{display:flex;flex-direction:column;gap:1rem}.tt-textarea{padding:.95rem 1.15rem;border-radius:18px;border:1px solid rgba(58,120,81,.2);font-size:1rem;font-family:inherit;resize:vertical}
