.landing{overflow-x:clip}:root{--shadow-card: 0 6px 24px rgba(2, 6, 23, .06);--shadow-card-hover: 0 16px 40px rgba(2, 6, 23, .12);--shadow-float: 0 24px 60px rgba(2, 6, 23, .18)}.hero-section{padding:32px 0 0}.hero-stage{position:relative}.hero-image{width:100%;height:420px;border-radius:22px;overflow:hidden;background:linear-gradient(135deg,#d1fae5,#a7f3d0);box-shadow:var(--shadow-card)}.hero-image img{width:100%;height:100%;object-fit:cover;display:block}.hero-card{position:absolute;top:50%;left:44px;transform:translateY(-50%);width:min(420px,80%);background:#fffffff7;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--border);border-radius:20px;padding:32px 28px;box-shadow:var(--shadow-float)}.hero-eyebrow{display:block;font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--primary2);margin-bottom:12px}.hero-heading{margin:0 0 16px;font-size:36px;line-height:1.04;letter-spacing:-1.2px;font-weight:950;color:var(--text)}.hero-text{margin:0 0 24px;font-size:14.5px;line-height:1.6;color:var(--muted);font-weight:600}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.hero-actions .btn{padding:11px 20px;font-size:14px}.stats-section{padding:44px 0}.landing-stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--border);border-radius:var(--radius);background:#fff;overflow:hidden;box-shadow:var(--shadow-card)}.landing-stat{padding:24px 18px;text-align:center;border-right:1px solid var(--border);display:flex;flex-direction:column;align-items:center}.landing-stat:last-child{border-right:none}.landing-stat-icon{width:38px;height:38px;border-radius:12px;background:#16a34a1f;display:flex;align-items:center;justify-content:center;margin-bottom:10px}.landing-stat-num{font-size:26px;font-weight:950;color:var(--text);letter-spacing:-1.1px;line-height:1}.landing-stat-num.landing-stat-num--text{font-size:18px;letter-spacing:-.4px;line-height:1.1;white-space:nowrap}.landing-stat-label{font-size:11px;color:var(--muted);font-weight:800;margin-top:6px;text-transform:uppercase;letter-spacing:.06em}.landing-section{padding:44px 0}.section-heading{margin-bottom:36px}.section-heading-row{display:flex;align-items:center;gap:12px}.section-heading-row h2{margin:0;font-size:28px;letter-spacing:-.8px;line-height:1.1;color:var(--text)}.section-heading>p{margin:14px 0 0;color:var(--muted);font-weight:600;line-height:1.65;max-width:540px;font-size:14.5px}.section-icon{width:38px;height:38px;border-radius:12px;background:#16a34a1f;display:flex;align-items:center;justify-content:center;flex-shrink:0}.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:32px}.section-head .section-heading-row h2{font-size:26px}.section-head-link{flex-shrink:0}.inst-card{border-radius:var(--radius);border:1px solid var(--border);background:#fff;overflow:hidden;box-shadow:var(--shadow-card);transition:border-color var(--dur-2) var(--ease),transform var(--dur-2) var(--ease),box-shadow var(--dur-2) var(--ease)}@media(hover:hover){.inst-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card-hover);border-color:var(--border-strong)}.inst-card:hover .inst-img img{transform:scale(1.05)}}.inst-img{height:170px;overflow:hidden;background:var(--bg1);position:relative}.inst-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ease)}.inst-img.tenis{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.inst-img.padel{background:linear-gradient(135deg,#cffafe,#a5f3fc)}.inst-img.cafe{background:linear-gradient(135deg,#fef3c7,#fde68a)}.inst-img.parque{background:linear-gradient(135deg,#ede9fe,#ddd6fe)}.inst-icon-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:.35}.inst-body{padding:18px 16px}.inst-label{font-size:15px;font-weight:950;letter-spacing:-.2px;margin-bottom:6px}.inst-desc{font-size:13px;color:var(--muted);font-weight:700;line-height:1.55}.landing-section .grid4{gap:20px}.about-split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}.about-img-wrap{height:340px;border-radius:var(--radius);overflow:hidden;background:linear-gradient(135deg,#d1fae5,#a7f3d0);box-shadow:var(--shadow-card)}.about-img-wrap img{width:100%;height:100%;object-fit:cover;display:block}.about-text h2{margin:0}.about-text p{color:var(--muted);font-weight:600;line-height:1.7;margin:0 0 14px;font-size:14.5px}.about-text p:last-of-type{margin-bottom:0}.torneos-cta{display:flex;align-items:center;gap:24px;background:#f1faf4;border:1px solid rgba(22,163,74,.2);border-radius:20px;padding:32px 36px;color:var(--text)}.torneos-cta-icon{flex-shrink:0;width:56px;height:56px;border-radius:50%;background:linear-gradient(180deg,#22c55e,#16a34a);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px #16a34a40}.torneos-cta-text{flex:1;min-width:0}.torneos-cta-text h2{margin:0 0 6px;font-size:22px;letter-spacing:-.4px;color:var(--text)}.torneos-cta-text p{margin:0;color:var(--muted);font-weight:600;line-height:1.55;max-width:600px;font-size:13.5px}.torneos-cta .btn{flex-shrink:0}@media(max-width:980px){.hero-image{height:360px}.hero-card{left:24px;padding:28px 24px;width:min(380px,84%)}.hero-heading{font-size:32px}.landing-stats{grid-template-columns:repeat(2,1fr)}.landing-stat:nth-child(2){border-right:none}.landing-stat:nth-child(1),.landing-stat:nth-child(2){border-bottom:1px solid var(--border)}.stats-section,.landing-section{padding:36px 0}.section-heading{margin-bottom:30px}.section-heading-row h2,.section-head .section-heading-row h2{font-size:24px}.about-split{grid-template-columns:1fr;gap:32px}.about-img-wrap{height:240px}.torneos-cta{flex-direction:column;align-items:flex-start;gap:18px;padding:28px 24px}}@media(max-width:760px){.hero-section{padding-top:20px}.hero-image{height:260px;border-radius:18px}.hero-card{position:static;transform:none;width:auto;margin:-48px 12px 0;padding:24px 22px;border-radius:16px}.hero-heading{font-size:26px;letter-spacing:-.8px}.hero-text{font-size:13.5px}.hero-actions{width:100%}.hero-actions .btn{flex:1}.stats-section,.landing-section{padding:30px 0}.section-head{flex-direction:column;align-items:flex-start;gap:14px}.section-heading{margin-bottom:26px}.section-heading-row h2,.section-head .section-heading-row h2{font-size:22px}}.news-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px;align-items:stretch}.news-grid>*{display:flex;min-width:0}.news-grid>*>.news-card{width:100%}.news-card{cursor:pointer;overflow:hidden;display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none;background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 6px 24px #0206170f;transition:transform var(--dur-2) var(--ease),box-shadow var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease)}@media(hover:hover){.news-card:hover{transform:translateY(-5px);box-shadow:0 16px 40px #0206171f;border-color:var(--border-strong)}.news-card:hover .news-card-img{transform:scale(1.05)}.news-card:hover .news-card-more{gap:9px}}.news-card-media{height:170px;overflow:hidden;background:var(--bg1);position:relative;flex-shrink:0}.news-card-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ease)}.news-card-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#eef6f0}.news-card-placeholder img{width:60px;height:60px;object-fit:contain;opacity:.5}.news-card-body{padding:18px 18px 20px;display:flex;flex-direction:column;gap:7px;flex:1}.news-card-date{font-size:11px;font-weight:800;color:var(--primary2);text-transform:uppercase;letter-spacing:.04em}.news-card-title{font-weight:900;font-size:15.5px;line-height:1.3;letter-spacing:-.3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.news-card-excerpt{font-size:13px;font-weight:600;color:var(--muted);line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.news-card-excerpt-empty{min-height:1.55em}.news-card-more{margin-top:auto;padding-top:12px;display:inline-flex;align-items:center;gap:5px;font-weight:900;font-size:13px;color:var(--primary);transition:gap var(--dur-2) var(--ease)}.news-pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:32px}.news-pagination-info{font-size:13px;font-weight:800;color:var(--muted);min-width:100px;text-align:center}.news-empty{text-align:center;padding:48px 18px;color:var(--muted)}.news-empty-icon{font-size:40px;margin-bottom:12px;opacity:.45}.news-empty-text{font-weight:800;font-size:15px}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{background:linear-gradient(90deg,var(--bg1) 25%,rgba(255,255,255,.6) 50%,var(--bg1) 75%);background-size:800px 100%;animation:shimmer 1.6s infinite ease-in-out;border-radius:var(--radius-sm)}.skeleton-card{display:flex;flex-direction:column;overflow:hidden;height:100%;box-shadow:0 6px 24px #0206170f}.skeleton-img{width:100%;height:200px;border-radius:0}.skeleton-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:10px}.skeleton-date{height:12px;width:35%}.skeleton-title{height:18px;width:80%}.skeleton-excerpt{height:13px;width:95%}.news-detail-header{margin-bottom:16px}.news-detail-title{margin:0 0 6px;font-size:26px;letter-spacing:-.6px;line-height:1.1}.news-detail-date{font-size:12px;font-weight:800;color:var(--muted)}.news-detail-content{font-size:14.5px;line-height:1.65;color:var(--text);font-weight:500;word-break:break-word}.news-detail-content p{margin:0 0 12px}.news-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-top:20px}.news-gallery-img{width:100%;border-radius:var(--radius-sm);cursor:pointer;transition:transform var(--dur-2) var(--ease);object-fit:cover;aspect-ratio:16 / 10;border:1px solid var(--border)}@media(hover:hover){.news-gallery-img:hover{transform:scale(1.02)}}.news-gallery-single{grid-template-columns:1fr;max-width:700px}.news-back{display:inline-flex;align-items:center;gap:6px;font-weight:900;font-size:12.5px;color:var(--muted);margin-bottom:12px;transition:color var(--dur-2) var(--ease)}@media(hover:hover){.news-back:hover{color:var(--primary)}}.skeleton-detail-title{height:36px;width:60%;margin-bottom:10px}.skeleton-detail-date{height:14px;width:25%;margin-bottom:24px}.skeleton-detail-line{height:14px;width:100%;margin-bottom:10px}.skeleton-detail-line:nth-child(odd){width:90%}.skeleton-detail-line:last-child{width:55%}.news-lightbox{position:fixed;inset:0;z-index:100;background:#000000d9;display:flex;align-items:center;justify-content:center;cursor:zoom-out}.news-lightbox img{max-width:90vw;max-height:90vh;border-radius:var(--radius);object-fit:contain}.news-error{text-align:center;padding:48px 18px}.news-error-title{font-size:20px;font-weight:950;margin-bottom:8px}.news-error-text{color:var(--muted);font-weight:700;margin-bottom:16px}@media(max-width:980px){.news-detail-title{font-size:26px}}@media(max-width:600px){.news-grid{grid-template-columns:1fr;gap:16px}.news-detail-title{font-size:22px}.news-gallery{grid-template-columns:1fr}}.torneos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.torneo-card{cursor:pointer;overflow:hidden;display:flex;flex-direction:column;padding:0;transition:transform var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease),background var(--dur-2) var(--ease)}@media(hover:hover){.torneo-card:hover{transform:translateY(-2px)}}.torneo-card-media{position:relative;width:100%;aspect-ratio:4 / 5;overflow:hidden;background:var(--bg1)}.torneo-card-media img{width:100%;height:100%;object-fit:cover;display:block}.torneo-card-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:56px;background:radial-gradient(220px 160px at 30% 35%,rgba(22,163,74,.1),transparent 70%),linear-gradient(180deg,var(--bg1),rgba(246,247,251,.6))}.torneo-card-badge{position:absolute;top:10px;left:10px;font-size:11px;font-weight:900;padding:4px 10px;border-radius:999px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffd9;border:1px solid var(--border)}.torneo-card-foot{padding:12px 14px 14px;border-top:1px solid var(--border);background:linear-gradient(180deg,#16a34a0f,#16a34a05);display:flex;flex-direction:column;gap:4px;min-height:78px}.torneo-card-title{font-weight:900;font-size:15px;line-height:1.25;letter-spacing:-.2px;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.torneo-card-date{font-size:12px;color:var(--muted);font-weight:800}.torneo-detail-header{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:14px;align-items:stretch}.torneo-preset-chips{display:flex;flex-wrap:wrap;gap:6px}.torneo-preset-chip{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;background:#ffffffd9;color:var(--text);border:1px solid var(--border);font-weight:800;font-size:12px;line-height:1;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease),color var(--dur-2) var(--ease),transform var(--dur-1) var(--ease)}@media(hover:hover){.torneo-preset-chip:hover{border-color:var(--border-strong)}}.torneo-preset-chip:active{transform:translateY(1px)}.torneo-preset-chip.is-active{background:#16a34a1f;color:var(--primary2, #15803d);border-color:#16a34a73}.torneo-cat-chips{display:flex;flex-wrap:wrap;gap:8px;padding:4px 0}.torneo-cat-chip{display:inline-flex;align-items:center;padding:5px 12px;border-radius:999px;background:#16a34a1a;color:var(--primary2, #15803d);border:1px solid rgba(22,163,74,.25);font-weight:800;font-size:11.5px;line-height:1;-webkit-user-select:none;user-select:none}.torneo-cat-chip.is-all{background:var(--text);color:#fff;border-color:transparent}.torneo-info-hint{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border-radius:var(--radius);border:1px solid rgba(22,163,74,.25);background:#16a34a0f;color:var(--text);font-size:12.5px;line-height:1.5;font-weight:600}.torneo-info-hint-icon{flex-shrink:0;width:20px;height:20px;border-radius:999px;background:var(--primary, #16a34a);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:900}.torneo-detail-cartel{border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);background:var(--bg1)}.torneo-detail-cartel img{display:block;width:100%;height:100%;object-fit:cover}.torneo-detail-cartel .torneo-detail-cartel-placeholder{width:100%;aspect-ratio:4 / 5;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:64px;background:radial-gradient(220px 160px at 30% 35%,rgba(22,163,74,.1),transparent 70%),linear-gradient(180deg,var(--bg1),rgba(246,247,251,.6))}.torneo-info-table{border-radius:var(--radius);border:1px solid var(--border);background:#fffffff2;overflow:hidden;display:flex;flex-direction:column}.torneo-info-row{display:grid;grid-template-columns:140px 1fr;padding:10px 14px;border-bottom:1px solid var(--border);font-size:13.5px;align-items:start}.torneo-info-row:last-child{border-bottom:none}.torneo-info-label{font-weight:900;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em;padding-top:2px}.torneo-info-value{font-weight:700;color:var(--text);line-height:1.5;word-break:break-word}.torneo-info-link{color:var(--primary2, #15803d);font-weight:800;text-decoration:underline;text-underline-offset:3px;transition:color var(--dur-2) var(--ease)}.torneo-info-link:hover{color:var(--primary, #16a34a)}.torneo-action-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:4px}.torneo-action-btn{padding:9px 14px;border-radius:12px;border:1px solid var(--border);background:#ffffffe6;color:var(--text);font-weight:900;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:background var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease),transform var(--dur-1) var(--ease),color var(--dur-2) var(--ease)}@media(hover:hover){.torneo-action-btn:hover{border-color:var(--border-strong);background:#fff}}.torneo-action-btn:active{transform:translateY(1px)}.torneo-action-btn.is-active{border-color:#16a34a73;background:#16a34a1a;color:var(--primary2)}.torneo-action-btn .caret{font-size:11px;line-height:1;opacity:.8}.torneo-dropdown{position:relative}.torneo-dropdown-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:50;min-width:240px;max-width:320px;background:#fff;border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:0 8px 24px #02061714}.torneo-dropdown-item{display:block;width:100%;text-align:left;padding:10px 14px;background:transparent;border:none;font-weight:800;font-size:14px;color:var(--text);cursor:pointer;transition:background var(--dur-2) var(--ease),color var(--dur-2) var(--ease)}@media(hover:hover){.torneo-dropdown-item:hover{background:#16a34a14;color:var(--primary2)}}.torneo-dropdown-item.is-active{background:#16a34a1a;color:var(--primary2)}.torneo-dropdown-item+.torneo-dropdown-item{border-top:1px solid var(--border)}.torneo-content-panel{border-radius:var(--radius);border:1px solid var(--border);background:#fffffff2;padding:14px 16px;display:grid;gap:12px}.torneo-content-empty{color:var(--muted);font-weight:800;text-align:center;padding:30px 10px}.torneo-section-title{font-weight:900;font-size:15px;letter-spacing:-.2px;margin:0;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.torneo-section-title .meta{font-size:12px;color:var(--muted);font-weight:800}.torneo-inscritos-list{display:grid;gap:4px}.torneo-inscrito-row{padding:10px 12px;border-bottom:1px solid var(--border);display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;font-weight:700;font-size:14px}.torneo-inscrito-row:last-child{border-bottom:none}.torneo-admin-list{display:flex;flex-direction:column;gap:10px}.torneo-admin-row{cursor:pointer;display:grid;grid-template-columns:96px 1fr;gap:14px;padding:10px 14px;align-items:center;overflow:hidden}.torneo-admin-row-media{width:96px;height:72px;border-radius:10px;overflow:hidden;background:var(--bg1);border:1px solid var(--border);flex-shrink:0}.torneo-admin-row-media img{width:100%;height:100%;object-fit:cover;display:block}.torneo-admin-row-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:28px;background:radial-gradient(120px 80px at 30% 35%,rgba(22,163,74,.1),transparent 70%),linear-gradient(180deg,var(--bg1),rgba(246,247,251,.6))}.torneo-admin-row-body{display:flex;flex-direction:column;gap:4px;min-width:0}.torneo-admin-row-title{font-weight:900;font-size:15px;line-height:1.3;letter-spacing:-.2px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.torneo-admin-row-meta{font-size:12px;color:var(--muted);font-weight:800;display:flex;flex-wrap:wrap;gap:6px;align-items:center}@media(max-width:760px){.torneo-detail-header{grid-template-columns:1fr}.torneo-info-row{grid-template-columns:1fr;gap:2px;padding:10px 14px}}@media(max-width:600px){.torneo-admin-row{grid-template-columns:1fr}.torneo-admin-row-media{width:100%;height:140px}.torneo-admin-row-title{white-space:normal}}@media(max-width:480px){.torneos-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.torneo-action-btn{flex:1 1 calc(50% - 5px);justify-content:center}}.dash-hero{position:relative;overflow:hidden;min-height:88px;padding:18px 24px;display:flex;align-items:center;background:linear-gradient(100deg,var(--bg0) 0%,var(--bg0) 44%,rgba(255,255,255,.55) 66%,rgba(255,255,255,0) 100%),linear-gradient(100deg,#16a34a1a,#16a34a00 62%),url(/tenis.jpg) right center / cover no-repeat}.dash-hero-content{position:relative;z-index:1;max-width:62%}.dash-hero-title{margin:0;letter-spacing:-.6px;font-size:clamp(19px,2.4vw,24px)}.dash-hero-sub{margin:4px 0 0;color:var(--muted);font-weight:700;font-size:13px}.dash-kpi{position:relative;overflow:hidden;padding:16px 18px;transition:border-color var(--dur-2) var(--ease),transform var(--dur-2) var(--ease)}.dash-kpi:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,var(--kpi-color, transparent) 0%,transparent 44%);opacity:.06;pointer-events:none}.dash-kpi:after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--kpi-color, transparent);pointer-events:none}@media(hover:hover){.dash-kpi:hover{transform:translateY(-2px)}}.dash-kpi-top{position:relative;z-index:1;display:flex;align-items:center;gap:12px}.dash-kpi-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.dash-kpi-label{font-size:12px;font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}.dash-kpi-value{font-size:32px;font-weight:950;line-height:1.05;margin-top:2px}.dash-kpi-hint{position:relative;z-index:1;font-size:12px;color:var(--muted);font-weight:700;margin-top:10px}.dash-card-title{display:inline-flex;align-items:center;gap:10px}.dash-title-icon{width:30px;height:30px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.dash-track{display:grid;grid-template-columns:1.6fr 1fr;gap:14px;align-items:start}@media(max-width:900px){.dash-track{grid-template-columns:1fr}}.dash-list-row{display:grid;align-items:center;gap:10px;padding:11px 2px;border-bottom:1px solid var(--border)}.dash-list-row:last-child{border-bottom:none}.dash-list-row.is-clickable{cursor:pointer;border-radius:10px;transition:background var(--dur-1) var(--ease)}.dash-list-row.is-clickable:hover{background:var(--bg1)}.dash-list-main{min-width:0}.dash-list-title{font-weight:900;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-list-sub{font-size:12px;color:var(--muted);font-weight:700;margin-top:2px}.dash-dot{width:10px;height:10px;border-radius:50%;background:var(--primary);flex-shrink:0}.dash-empty{display:grid;justify-items:center;text-align:center;gap:10px;padding:26px 12px}.dash-empty-icon{width:64px;height:64px;border-radius:50%;background:var(--bg1);display:flex;align-items:center;justify-content:center;color:var(--muted)}.dash-empty-title{font-weight:900;font-size:15px}.dash-empty-sub{color:var(--muted);font-weight:700;font-size:13px;max-width:320px}.dash-link{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:0;background:none;border:none;cursor:pointer;color:var(--primary2);font-weight:900;font-size:13px}.dash-link:hover{color:var(--primary)}.dash-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.dash-action{display:flex;align-items:center;gap:11px;padding:11px 13px;border-radius:12px;cursor:pointer;background:var(--bg0);border:1px solid var(--border);transition:border-color var(--dur-1) var(--ease),transform var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease),background var(--dur-1) var(--ease)}.dash-action:hover{border-color:var(--act-color, var(--primary));background:#fff;transform:translateY(-2px);box-shadow:var(--shadow-sm)}.dash-action:active{transform:translateY(0);box-shadow:none}.dash-action-icon{width:38px;height:38px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--act-color, var(--primary));transition:transform var(--dur-1) var(--ease)}.dash-action:hover .dash-action-icon{transform:scale(1.08)}.dash-action-label{font-weight:900;font-size:13px;line-height:1.2;color:var(--text)}@media(max-width:720px){.dash-hero{background:linear-gradient(100deg,#16a34a1f,#16a34a00)}.dash-hero-content{max-width:100%}.dash-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}.profile-hero{position:relative;overflow:hidden;display:flex;align-items:center;gap:18px;padding:22px 24px;background:linear-gradient(100deg,#16a34a1a,#16a34a00 60%),#fffffff2}.profile-avatar{width:72px;height:72px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:950;color:#fff;text-transform:uppercase;background:linear-gradient(135deg,var(--primary),var(--primary2));box-shadow:0 6px 18px #16a34a47}.profile-hero-info{flex:1 1 auto;min-width:0}.profile-name{font-size:22px;font-weight:950;letter-spacing:-.4px;line-height:1.15;word-break:break-word}.profile-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.profile-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:900;padding:4px 11px;border-radius:999px;background:var(--bg1);color:var(--muted)}.profile-badge.is-member{background:#16a34a1f;color:var(--primary2)}.profile-badge.is-role{background:#2563eb1f;color:#2563eb}.profile-hero-actions{display:flex;gap:10px;flex-shrink:0}.profile-card-title{display:inline-flex;align-items:center;gap:10px}.profile-title-icon{width:30px;height:30px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.profile-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}.profile-field{display:flex;flex-direction:column;gap:4px;min-width:0}.profile-field.is-full{grid-column:1 / -1}.profile-field-label{font-size:11px;font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.profile-field-value{font-weight:800;font-size:14px;color:var(--text);word-break:break-word}.profile-field-value.is-empty{color:var(--muted);font-weight:700}@media(max-width:720px){.profile-hero{flex-direction:column;align-items:flex-start}.profile-hero-actions{width:100%}.profile-hero-actions .btn{flex:1 1 auto}}@media(max-width:560px){.profile-fields{grid-template-columns:1fr}}.page-header{position:relative;overflow:hidden;display:flex;align-items:center;gap:16px;padding:18px 22px}.page-header:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--ph-color, var(--primary))}.page-header:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(100deg,var(--ph-color, transparent),transparent 44%);opacity:.05}.page-header-icon{position:relative;z-index:1;width:50px;height:50px;border-radius:14px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.page-header-text{position:relative;z-index:1;flex:1 1 auto;min-width:0}.page-header-title{margin:0;letter-spacing:-.5px;font-size:clamp(20px,2.4vw,24px)}.page-header-sub{margin:4px 0 0;color:var(--muted);font-weight:700;font-size:13px}.page-header-actions{position:relative;z-index:1;display:flex;gap:10px;flex-shrink:0;flex-wrap:wrap}.section-title{display:inline-flex;align-items:center;gap:10px}.section-title-icon{width:30px;height:30px;border-radius:9px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}@media(max-width:720px){.page-header{flex-direction:column;align-items:flex-start}.page-header-actions{width:100%}.page-header-actions .btn{flex:1 1 auto}}:root{--bg0:#ffffff;--bg1:#f6f7fb;--text:#0f172a;--muted:#64748b;--border: rgba(148,163,184,.35);--border-strong: rgba(148,163,184,.55);--primary:#16a34a;--primary2:#15803d;--radius: 16px;--radius-sm: 12px;--shadow-sm: 0 1px 8px rgba(2, 6, 23, .05);--ring: 0 0 0 4px rgba(22,163,74,.18);--ease: cubic-bezier(.2,.8,.2,1);--dur-1: .14s;--dur-2: .22s}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,"Apple Color Emoji","Segoe UI Emoji";color:var(--text);background:#f7f8fa}a{color:inherit;text-decoration:none}.container{max-width:1280px;margin:0 auto;padding:0 28px}.container-wide{max-width:1360px;margin:0 auto;padding:0 28px}.header{position:sticky;top:0;z-index:60;background:#ffffffd1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);box-shadow:0 1px #0206170d}.header-inner{height:72px;display:flex;align-items:center;gap:20px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;color:var(--text)}.brand-logo{width:44px;height:44px;object-fit:contain}.brand-text{display:grid;line-height:1.12}.brand-title{font-weight:950;letter-spacing:-.3px;font-size:17px}.brand-sub{font-size:12px;color:var(--muted);font-weight:800;letter-spacing:.02em}.nav{display:flex;gap:28px;align-items:center}.nav-desktop{flex:1;justify-content:center}.nav-link{position:relative;padding:5px 2px;font-weight:800;font-size:14px;color:var(--text);transition:color var(--dur-2) var(--ease)}.header-actions{display:flex;gap:12px;align-items:center;flex-shrink:0}.header-actions .btn{border-radius:12px;gap:8px}.btn-lang{font-weight:900}.nav-toggle{display:none;margin-left:auto;width:44px;height:44px;align-items:center;justify-content:center;padding:0;color:var(--text);background:#ffffffbf;border:1px solid var(--border);border-radius:12px;cursor:pointer}@media(hover:hover){.nav-toggle:hover{border-color:var(--border-strong)}}.mobile-menu{background:#fffffffa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);padding:10px 18px 18px;display:grid;gap:14px}.mobile-menu-nav{display:grid;gap:4px}.mobile-menu-nav .nav-link{font-size:16px;padding:12px 14px;border-radius:12px}.mobile-menu-nav .nav-link.active{background:#16a34a1a}.mobile-menu-footer{display:grid;gap:8px;border-top:1px solid var(--border);padding-top:14px}.mobile-menu-footer .btn{width:100%}.mobile-menu-footer .btn-logout{color:#dc2626}@media(hover:hover){.nav-link:hover{color:var(--primary)}}.nav-link.active{color:var(--primary)}.nav .nav-link.active:after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:3px;border-radius:2px;background:var(--primary)}.card,.card-soft{border-radius:var(--radius);border:1px solid var(--border);background:#fffffff2;box-shadow:none;transition:border-color var(--dur-2) var(--ease),background var(--dur-2) var(--ease)}@media(hover:hover){.card:hover,.card-soft:hover{border-color:var(--border-strong);background:#fff}}.btn{border:1px solid transparent;border-radius:999px;padding:9px 14px;font-weight:900;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;position:relative;overflow:hidden;transition:transform var(--dur-1) var(--ease),filter var(--dur-1) var(--ease),background var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease)}@media(hover:hover){.btn:hover{transform:translateY(-1px)}}.btn:active{transform:translateY(1px) scale(.98)}.btn:focus-visible{outline:none;box-shadow:var(--ring)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-primary{color:#fff;background:linear-gradient(180deg,#22c55e,#16a34a)}@media(hover:hover){.btn-primary:hover{filter:brightness(1.04)}}.btn-ghost{background:#ffffffbf;border-color:var(--border);color:var(--text)}@media(hover:hover){.btn-ghost:hover{background:#fffffff2;border-color:var(--border-strong)}}.badge{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;border:1px solid var(--border);background:#16a34a1a;font-weight:900;color:var(--primary2);font-size:12px}.input{width:100%;border:1px solid var(--border);background:#f6f7f9eb;border-radius:12px;padding:10px 12px;font-size:14px;outline:none;transition:border-color var(--dur-2) var(--ease),box-shadow var(--dur-2) var(--ease)}.input:focus{border-color:#16a34a8c;box-shadow:var(--ring)}.hero{padding:26px 0 12px}.hero-card{padding:24px;display:grid;gap:10px}.hero-title{margin:0;font-size:38px;letter-spacing:-1px;line-height:1.05}.hero-sub{margin:0;color:var(--muted);font-size:14px;max-width:760px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.private-shell{min-height:100vh}.private-wrap{padding:16px 0 24px}.private-body{display:grid;grid-template-columns:240px 1fr;gap:16px}.sidebar{position:sticky;top:76px;height:calc(100vh - 90px);align-self:start;padding:10px}.sidebar-title{font-weight:950;font-size:12px;color:var(--muted);margin:6px 8px 10px;text-transform:uppercase;letter-spacing:.08em}.sidebar-link{display:block;padding:11px 12px;border-radius:14px;font-weight:900;color:var(--muted);transition:background var(--dur-2) var(--ease),color var(--dur-2) var(--ease),transform var(--dur-1) var(--ease)}@media(hover:hover){.sidebar-link:hover{background:#0f172a08;color:var(--text)}}.sidebar-link:active{transform:translateY(1px)}.sidebar-link.active{background:#fff9;color:var(--text);box-shadow:inset 0 0 0 1px #0f172a24}.reveal{opacity:0;transform:translateY(14px);transition:opacity .7s var(--ease),transform .7s var(--ease);will-change:transform,opacity}.reveal.is-visible{opacity:1;transform:translateY(0)}.stagger>*{opacity:0;transform:translateY(14px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.stagger.is-visible>*{opacity:1;transform:translateY(0)}.stagger.is-visible>*:nth-child(1){transition-delay:60ms}.stagger.is-visible>*:nth-child(2){transition-delay:.12s}.stagger.is-visible>*:nth-child(3){transition-delay:.18s}.stagger.is-visible>*:nth-child(4){transition-delay:.24s}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal,.stagger>*{opacity:1!important;transform:none!important}}.modal-overlay{position:fixed;inset:0;background:#0f172a8c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;z-index:100;padding:16px;animation:modal-fade .14s ease-out}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}.modal-window{background:#fff;border-radius:18px;border:1px solid var(--border);display:flex;flex-direction:column;max-height:calc(100vh - 32px);box-shadow:0 24px 64px #02061747;overflow:hidden;animation:modal-pop .18s var(--ease)}@keyframes modal-pop{0%{transform:translateY(8px) scale(.985);opacity:0}to{transform:none;opacity:1}}.modal-window.modal-sm{width:min(480px,100%)}.modal-window.modal-md{width:min(720px,100%)}.modal-window.modal-lg{width:min(960px,100%)}.modal-header{position:relative;padding:18px 56px 16px;border-bottom:1px solid var(--border);text-align:center;flex-shrink:0;background:linear-gradient(180deg,#fff,#f6f7fb99)}.modal-title{font-weight:900;font-size:18px;line-height:1.25;letter-spacing:-.2px;color:var(--text)}.modal-close{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:999px;border:1px solid var(--border);background:#f6f7f9e6;color:var(--muted);cursor:pointer;font-weight:900;font-size:13px;display:inline-flex;align-items:center;justify-content:center;transition:background var(--dur-2) var(--ease),color var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease)}@media(hover:hover){.modal-close:hover{background:#fff;color:var(--text);border-color:var(--border-strong)}}.modal-close:focus-visible{outline:none;box-shadow:var(--ring)}.modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;align-items:center;padding:18px 22px}.modal-body>*{width:100%;max-width:560px}.modal-body:has(>.admin-form){overflow:hidden;padding:0;align-items:stretch}.modal-body:has(>.admin-form)>*{max-width:none}.admin-form{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;width:100%}.admin-form-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:20px 22px;display:grid;gap:22px}.admin-form-footer{flex-shrink:0;padding:12px 22px;border-top:1px solid var(--border);background:#f6f7fbf2;display:flex;gap:10px;justify-content:flex-end;align-items:center;flex-wrap:wrap}.admin-section{display:grid;gap:12px}.admin-section-title{font-weight:900;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 2px;padding-bottom:8px;border-bottom:1px solid var(--border)}.admin-row{display:grid;gap:12px}.admin-row-2{grid-template-columns:1fr 1fr}.admin-row-3{grid-template-columns:1fr 1fr 1fr}.admin-row-4{grid-template-columns:repeat(4,1fr)}.admin-row-name-format{grid-template-columns:2fr 1fr}.admin-row-cat{grid-template-columns:1fr 1fr 110px auto;align-items:end}@media(max-width:720px){.admin-row-2,.admin-row-3,.admin-row-4,.admin-row-name-format,.admin-row-cat{grid-template-columns:1fr}}.admin-label{display:block;font-size:12px;font-weight:900;color:var(--muted);margin-bottom:6px;letter-spacing:.01em}.admin-hint{font-size:12px;color:var(--muted);font-weight:600;line-height:1.45}.admin-select{width:100%;border:1px solid var(--border);background:#f6f7f9eb;border-radius:12px;padding:10px 12px;font-size:14px;font-weight:600;color:var(--text);outline:none;cursor:pointer;transition:border-color var(--dur-2) var(--ease),box-shadow var(--dur-2) var(--ease)}.admin-select:focus{border-color:#16a34a8c;box-shadow:var(--ring)}.admin-textarea{width:100%;resize:vertical;min-height:84px;font-family:inherit;line-height:1.5}.admin-error{color:#b91c1c;background:#dc26260f;border:1px solid rgba(220,38,38,.25);border-radius:12px;padding:10px 14px;font-weight:800;font-size:13px;line-height:1.4}.admin-confirm{padding:22px;display:grid;gap:8px;text-align:center}.admin-confirm-msg{font-weight:800;font-size:15px;line-height:1.5;color:var(--text)}.admin-file{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px;border:1px dashed var(--border-strong);border-radius:14px;background:#f6f7f98c;transition:border-color var(--dur-2) var(--ease),background var(--dur-2) var(--ease)}.admin-file:hover{border-color:#16a34a73}.admin-file-preview{width:84px;height:84px;border-radius:12px;border:1px solid var(--border);background:var(--bg1);object-fit:cover;display:block;flex-shrink:0}.admin-file-empty{width:84px;height:84px;border-radius:12px;border:1px dashed var(--border);background:#fff9;display:grid;place-items:center;color:var(--muted);font-size:22px;flex-shrink:0}.admin-file-info{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1 1 200px}.admin-file input[type=file]{font-size:12.5px;font-weight:600;color:var(--muted);max-width:100%}.admin-file input[type=file]::file-selector-button{margin-right:10px;padding:7px 12px;border-radius:999px;border:1px solid var(--border);background:#ffffffe6;font-weight:800;font-size:12px;color:var(--text);cursor:pointer;transition:background var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease)}.admin-file input[type=file]::file-selector-button:hover{background:#fff;border-color:var(--border-strong)}.admin-file-filename{font-size:13px;font-weight:800;color:var(--text);word-break:break-all}.admin-file-link{font-size:13px;font-weight:800;color:var(--primary2);text-decoration:underline;text-underline-offset:3px}.admin-file-toggle{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted);font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none}.admin-card{border:1px solid var(--border);border-radius:14px;background:#fffffff5;padding:14px 16px}.admin-card+.admin-card{margin-top:12px}@media(max-width:980px){.container{padding:0 20px}.grid3{grid-template-columns:1fr}.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid2,.private-body{grid-template-columns:1fr}.hero-title{font-size:32px}.nav-desktop,.header-actions{display:none}.nav-toggle{display:inline-flex}.header-inner{height:60px;gap:10px}.brand-logo{width:40px;height:40px}.brand-title{font-size:15px}}@media(max-width:600px){.container{padding:0 18px}.grid4{grid-template-columns:1fr}.about-grid{grid-template-columns:1fr!important}.brand-sub{display:none}.modal-header{padding:16px 50px 14px}.modal-title{font-size:16px}.admin-form-body{padding:16px;gap:18px}.admin-form-footer{padding:10px 16px}}
