:root{--primary: #ffde00;--primary-600: #ccaf00;--bg: #f6f7f9;--panel: #ffffff;--text: #0f172a;--muted: #6b7280;--on-primary: #111111;--danger: #ef4444;--danger-700: #b91c1c;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .04);--shadow-md: 0 6px 18px rgba(16, 24, 40, .06);--radius: 10px;--gap-xs: 6px;--gap-sm: 12px;--gap-md: 20px;--gap-lg: 32px;--header-h: 64px;--base: 16px;--scale: 1;--font-sans: Inter, Roboto, system-ui, -apple-system, "Segoe UI", "Helvetica Neue", Arial}@media (min-width:1920px){:root{--scale: 1.12;--base: 17px;--gap-md: 28px}}@media (min-width:2560px){:root{--scale: 1.4;--base: 18px;--gap-md: 36px;--header-h: 88px}}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;width:100%;margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:calc(var(--base) * var(--scale))}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}.no-scroll,html.no-scroll,body.no-scroll{overflow:hidden!important}.kiosk{min-height:100vh;display:grid;grid-template-rows:var(--header-h) 1fr;gap:var(--gap-md);padding:var(--gap-sm)}.kiosk .page{width:100%;height:100%;display:flex;gap:var(--gap-md)}.page-body{flex:1;display:flex;gap:var(--gap-md);align-items:stretch}.common-component{background:var(--panel);border-radius:var(--radius);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;overflow:hidden}.common-component-header{padding:calc(var(--gap-sm) * .6) calc(var(--gap-sm) * .9);border-bottom:1px solid rgba(15,23,42,.04);font-weight:700;color:var(--on-primary);background:var(--primary);border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);text-align:center}.common-component .common-component-header{display:flex;align-items:center;gap:var(--gap-sm);justify-content:center}.common-component .common-component-header .header-left,.common-component .common-component-header .header-right{position:relative;flex:0 0 auto}.common-component .common-component-header .header-center{flex:1 1 auto;display:flex;justify-content:center;align-items:center}.app-header{height:var(--header-h);display:flex;align-items:center;padding:0 var(--gap-md);background:transparent;position:relative}.app-header .title{font-weight:700;color:var(--text);font-size:1.15rem;margin:0 auto;text-align:center}.app-header .brand{background:var(--primary);color:var(--on-primary);padding:.4rem .9rem;border-radius:var(--radius);font-weight:700}.card{background:var(--panel);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:calc(var(--gap-sm) * 1);display:flex;flex-direction:column;gap:var(--gap-sm)}.card-lg{padding:var(--gap-md);box-shadow:var(--shadow-md)}.kiosk-grid{display:grid;grid-template-columns:repeat(var(--columns, 4),1fr);gap:var(--gap-sm);align-items:stretch;min-height:calc(100vh - var(--header-h) - (var(--gap-md) * 2))}.kiosk-grid>*{min-height:0}h1,h2,h3{margin:0;font-weight:600}h1{font-size:1.6rem}h2{font-size:1.25rem}p{margin:0}.muted{color:var(--muted)}.common-component-header h3,.common-component-header .title{margin:0;width:100%;text-align:center}.table{width:100%;border-collapse:collapse;font-size:.95rem}.table th{text-align:left;padding:.6rem;font-weight:700;color:var(--text);background:transparent}.table td{padding:.6rem;color:var(--text);border-top:1px solid rgba(15,23,42,.04)}.ranking-table{table-layout:fixed}.ranking-table td.team-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.match{display:flex;flex-direction:column;gap:.5rem;padding:.6rem;border-radius:var(--radius)}.match .teams{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.match .team-logo{width:64px;height:48px;object-fit:contain}.match .score{font-weight:700;font-size:1.6rem}.match.compact .team-logo{width:48px;height:36px}.badge-forfeit{position:absolute;top:8px;right:8px;background:#ef44440f;color:var(--danger);padding:4px 8px;border-radius:var(--radius);font-weight:700}.row{display:flex;gap:var(--gap-sm);align-items:center}.col{display:flex;flex-direction:column;gap:var(--gap-sm)}*:focus{outline:3px solid rgba(16,24,40,.06);outline-offset:2px}@media (max-width:800px){.kiosk-grid{grid-template-columns:1fr;height:auto}.app-header .title{font-size:1rem}}:root{--primary-color: var(--primary);--primary-dark: var(--primary-600);--primary-light: var(--primary-600);--spacing-small: var(--gap-sm);--spacing-medium: var(--gap-md);--spacing-large: var(--gap-lg);--border-radius: var(--radius);--box-shadow: var(--shadow-sm);--header-height: var(--header-h);--text-color: var(--text);--text-color-light: var(--on-primary);--background-light: var(--bg)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--bg);padding:var(--gap-md)}.login-box{width:100%;max-width:420px;background-color:var(--panel);padding:var(--gap-md);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.login-header{display:flex;flex-direction:column;align-items:center;margin-bottom:var(--gap-md)}.login-logo{width:96px;height:96px;object-fit:contain;margin-bottom:var(--gap-sm)}.login-title{font-size:1.5rem;font-weight:700;color:var(--text);text-align:center}.login-form .form-group{margin-bottom:var(--gap-md)}.login-form label{display:block;font-size:.875rem;color:var(--muted);margin-bottom:.25rem}.login-form input{width:100%;padding:.5rem;font-size:1rem;border-radius:var(--radius);border:1px solid rgba(15,23,42,.08);background-color:var(--panel);color:var(--text);box-sizing:border-box}.btn.submit{width:100%;background-color:var(--primary);color:var(--on-primary);padding:.5rem 1rem;font-size:.875rem;font-weight:500;border:none;border-radius:var(--radius);cursor:pointer;transition:background-color .2s}.error-message{color:var(--danger);font-size:.875rem;margin-bottom:var(--gap-sm)}.dashboard-header{background:var(--primary);color:var(--on-primary);padding:var(--gap-sm) var(--gap-md);box-shadow:var(--shadow-sm);border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius)}.header-content{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;position:relative}.logo-container{display:flex;align-items:center}.logo{height:3rem;width:auto}.logo-title{margin-left:var(--gap-sm);font-size:1.75rem;font-weight:700;color:var(--text)}.nav-menu{display:flex;flex-grow:1;justify-content:center}.nav-list{list-style:none;display:flex;gap:var(--gap-md);margin:0;padding:0}.nav-link{color:var(--text);text-decoration:none;font-size:1rem;font-weight:500;padding:.2rem var(--gap-sm);border-radius:var(--radius);transition:background-color .2s ease,color .2s ease}.nav-link:hover,.nav-link.active{background:var(--primary-600);color:var(--on-primary)}.logout-button{background:var(--primary-600);color:var(--on-primary);border:none;border-radius:var(--radius);padding:.2rem var(--gap-sm);font-size:1rem;font-weight:500;cursor:pointer}.logout-button:hover{background:var(--primary);color:var(--text)}.burger-menu{display:none;background:none;border:none;font-size:2rem;color:var(--text);cursor:pointer;z-index:20}@media (max-width: 768px){.nav-menu{position:absolute;top:100%;left:0;right:0;flex-direction:column;background-color:var(--primary);border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius);transform:translateY(-100%);transition:transform .3s ease;z-index:10}.nav-menu.open{transform:translateY(0)}.nav-list{flex-direction:column;align-items:center;width:100%}.burger-menu{display:block}.logout-button{display:none}.logout-button-mobile{display:block;width:100%;padding:var(--gap-sm);background:var(--primary-600);color:var(--on-primary);border:none;border-radius:var(--radius);font-size:1rem;font-weight:500;cursor:pointer}.logout-button-mobile:hover{background:var(--primary);color:var(--text)}.nav-item{width:100%;text-align:center}.nav-link{width:100%;padding:var(--gap-sm)}}.dashboard-title{font-size:1.5rem;font-weight:700;margin-bottom:var(--gap-md);color:var(--text)}.dashboard-cards{display:flex;gap:var(--gap-md);flex-wrap:wrap}.dashboard-card{background-color:var(--panel);border-radius:var(--radius);padding:var(--gap-md);flex:1;min-width:200px;cursor:pointer;text-align:center;box-shadow:var(--shadow-sm);transition:transform .2s ease,background-color .2s ease}.dashboard-card:hover{background-color:#0f172a0a;transform:translateY(-2px)}.dashboard-card h3{font-size:1rem;margin-bottom:var(--gap-sm);color:var(--text)}.dashboard-value{font-size:2rem;font-weight:700;color:var(--text)}.error-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:var(--gap-md);background-color:var(--bg)}.error-title{font-size:calc(var(--base) * 2);font-weight:700;color:var(--primary);margin-bottom:var(--gap-md);text-align:center}.error-image{display:block;width:50vw;max-width:420px;height:auto;margin-bottom:var(--gap-md)}.error-status{font-size:calc(var(--base) * 1.5);font-weight:700;color:var(--text);margin-bottom:var(--gap-md);text-align:center}.error-message{font-size:calc(var(--base) * 1);text-align:center;max-width:40vw;color:var(--text)}.match-card-header{padding:var(--gap-sm);color:var(--text);font-weight:700;border-bottom:1px solid rgba(15,23,42,.04)}.no-match{padding:var(--gap-md);text-align:center;font-size:1.15rem;font-weight:700;color:var(--muted)}.match.compact .match-card-header{padding:calc(var(--gap-sm) / 2)}.match.compact .no-match{font-size:1rem;padding:var(--gap-sm)}@media (min-width:2560px){.match-card-header{padding:var(--gap-md)}.no-match{font-size:1.5rem;padding:var(--gap-lg)}}.match-date-time{text-align:center;font-size:.95rem;margin-top:var(--gap-sm);color:var(--muted)}.match-teams{display:flex;justify-content:space-between;align-items:center}.team{flex:1;text-align:center}.team-logo{height:calc(26px * var(--scale));margin:0 auto;display:block;object-fit:contain}:root{--team-name-max: .7rem}.match .team .team-name,.match-teams .team .team-name,.match .team-name{margin-top:calc(var(--gap-sm) / 2);font-size:clamp(.72rem,1.1vw,var(--team-name-max));line-height:1.1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-clamp:2;max-height:2.2em;overflow:hidden;text-overflow:ellipsis;white-space:normal;text-align:center;padding:0 .25rem}.match .team .team-name.highlight,.match .team-name.highlight{font-weight:700;color:var(--primary)}.match-score{flex:1;text-align:center;position:relative}.score{font-size:calc(1.25rem * var(--scale));font-weight:700;color:var(--text);line-height:1}.score-line{display:inline-flex;align-items:center;gap:.35rem}.score-val{min-width:1.5ch;display:inline-block}.score-val.empty{visibility:hidden}.score-sep{color:inherit;margin:0 .25rem;display:inline-block;line-height:1;font-weight:700}.score:empty .score-sep{display:none}.score.no-score{display:none}.forfeit{position:absolute;top:calc(50% + 1.1rem);left:50%;transform:translate(-50%);color:var(--danger);font-size:.95rem;font-weight:700;background:transparent;padding:0 6px;pointer-events:none}.match.compact:not(.show-meta) .match-date-time{display:none}.match .team .team-name,.match-teams .team .team-name,.match .team-name{font-size:clamp(.6rem,.9vw,var(--team-name-max))!important;line-height:1.05!important;max-height:2.1em!important;overflow:hidden!important}@media (min-width: 2560px){.match{--match-height: 120px;min-height:var(--match-height);display:flex;flex-direction:column;justify-content:center}.match.show-meta{--match-height: 140px}.match-date-time{font-size:1.1rem;margin-top:var(--gap-md)}.team-logo{height:84px}.team-name{font-size:1rem}.score{font-size:2.4rem}.forfeit{font-size:1.1rem;margin-top:var(--gap-md)}.match-teams{gap:var(--gap-md)}}@media (min-width: 1280px) and (max-width: 2559px){:root{--team-name-max: .9rem}.team-logo{height:52px}.team-name{font-size:.8em}.score{font-size:calc(1.6rem * var(--scale))}}.ranking-table-body{max-height:320px;overflow:auto;border-top:1px solid rgba(15,23,42,.06);padding-right:6px}.ranking-table-content{width:100%;border-collapse:collapse;font-size:.88rem}.ranking-table-content.fixed-layout{table-layout:fixed}.ranking-table-content thead th{background-color:transparent;text-align:left;font-weight:700;border-bottom:2px solid rgba(15,23,42,.06);padding:.35rem .4rem}.center{text-align:center}.right{text-align:right}.bold{font-weight:700}.ranking-table-content tbody td{padding:.22rem .32rem;border-bottom:1px solid rgba(15,23,42,.06)}.ranking-row td.team-name,.ranking-table-content tbody td:nth-child(2){white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.ranking-table-content tbody td.center,.ranking-table-content tbody td.right{white-space:nowrap}.even-row{background-color:#0f172a05}.odd-row{background-color:var(--panel)}.ranking-row.highlight{background:var(--primary)}.ranking-row.highlight td{color:var(--on-primary);font-weight:700}.ranking-table-content tbody tr:last-child td{border-bottom:none}@media (min-width: 1200px){.ranking-table-body{max-height:420px}}@media (min-width: 2560px){.ranking-table-body{max-height:800px}.ranking-table-content{font-size:1.2rem}.ranking-table-content thead th,.ranking-table-content tbody td{font-size:1.2rem;padding:var(--gap-sm)}}.team-header-card{border-radius:var(--radius);overflow:hidden;padding:0}.team-header-title{font-size:clamp(1.2rem,1.6vw,1.8rem);font-weight:700;margin:0;color:var(--on-primary)}.team-header-subtitle{font-size:.95rem;font-weight:600;margin:0;color:var(--on-primary);opacity:.92}.team-header-meta{display:flex;flex-direction:column;gap:.25rem}.team-header-card>.common-component-header{border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius)}@media (min-width: 2560px){.team-header-card{padding:var(--gap-md)}.team-header-title{font-size:clamp(1.5rem,1.5vw,2rem)}.team-header-subtitle{font-size:clamp(1rem,1.2vw,1.25rem)}}.competition-matches-body{padding:calc(var(--gap-sm) * 1.2);overflow:visible}.no-matches{text-align:center;color:var(--muted);font-size:1rem}.divider{margin:0;border-top:1px solid rgba(15,23,42,.06)}.competition-match-item{display:block;padding:0;border-bottom:1px solid rgba(15,23,42,.04)}.team-column{background:var(--panel);box-shadow:var(--shadow-sm);border-radius:var(--radius);padding:calc(var(--gap-sm) * .6);flex:1;display:flex;flex-direction:column;justify-content:flex-start}.team-content{margin-top:calc(var(--gap-sm) * .6);overflow:visible}.team-ranking,.team-last-match{margin-bottom:calc(var(--gap-sm) * .6);overflow:visible}.card-shadow{border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-sm);overflow:visible;padding:0}.card-header{padding:.6rem .8rem;border-bottom:1px solid rgba(15,23,42,.06);font-weight:700;color:var(--text)}.header-container{display:flex;align-items:center;justify-content:space-between;height:var(--header-h);background:var(--primary);padding:0 var(--gap-md);box-shadow:var(--shadow-sm);z-index:10;position:relative}.header-container .brand{background:var(--primary-600);color:var(--on-primary);padding:.35rem .8rem;border-radius:var(--radius);font-weight:700}.header-left,.header-right{display:flex;align-items:center;gap:var(--gap-sm);z-index:11}.header-center{position:absolute;left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:10;width:60%}.header-title{font-size:1.15rem;font-weight:700;color:var(--text);margin:0;text-align:center;line-height:1;pointer-events:auto}.club-page{display:flex;flex-direction:column;width:100%;min-height:100vh;background-color:var(--bg)}.club-container{flex-grow:1;display:grid;grid-template-columns:repeat(var(--columns, 4),minmax(0,1fr));gap:var(--gap-sm);padding:var(--gap-sm);overflow:visible}.club-container>*{min-width:0}.team-column{min-width:0}.club-column{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;background-color:var(--panel);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:var(--gap-sm)}.no-teams-message{text-align:center;font-size:1.2rem;color:var(--text);margin-top:var(--gap-lg)}@media (max-width: 900px){.club-container{grid-template-columns:1fr!important}}.event-card{display:flex;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);min-height:clamp(6rem,10vh,12rem)}.event-card-date{background:var(--primary);color:var(--on-primary);display:flex;flex-direction:column;align-items:center;justify-content:center;width:30%;padding:var(--gap-sm);gap:.2rem}.event-card-date .day{font-size:clamp(1.2rem,2.5vw,1.6rem);font-weight:700;margin:0}.event-card-date .month,.event-card-date .time{font-size:clamp(.9rem,1.2vw,1.1rem);font-weight:600;margin:0}.event-card-content{background:var(--panel);color:var(--text);padding:var(--gap-sm);display:flex;flex-direction:column;justify-content:center;width:70%;gap:.2rem}.event-card-content .title{font-size:clamp(1rem,1.2vw,1.4rem);font-weight:700;text-align:center;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-card-content .description{font-size:clamp(.8rem,1vw,1rem);color:var(--muted);text-align:center;margin:0;word-wrap:break-word;overflow-wrap:break-word}.post-card{display:flex;flex-direction:column;background-color:var(--panel);border-radius:var(--radius);box-shadow:var(--shadow-sm);height:100%;box-sizing:border-box;overflow:visible}.post-image-container{width:100%;flex:1 1 50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background-color:#0f172a08}.post-image{height:100%;object-fit:cover;object-position:center}.post-content{width:100%;flex:1 1 50%;display:flex;flex-direction:column;justify-content:space-between;padding:var(--gap-sm);overflow:visible;box-sizing:border-box}.post-title{font-size:clamp(1rem,1.5vw,1.2rem);font-weight:700;color:var(--text);margin:0;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.post-text{flex-grow:1;font-size:clamp(.88rem,1vw,1rem);color:var(--text);overflow:hidden;word-break:break-word;margin-top:var(--gap-sm)}.post-text h1,.post-text h2,.post-text h3{font-size:clamp(1rem,1.5vw,1.2rem);font-weight:700;margin:.5em 0}.post-text p{margin:.5em 0}.post-text ul,.post-text ol{margin:.5em 0;padding-left:1.2em}.post-text li{margin-bottom:.3em;line-height:1.4}.post-text a{color:var(--primary);text-decoration:underline;overflow-wrap:break-word}.post-text strong{font-weight:700}.infos-page{display:flex;flex-direction:column;width:100%;min-height:100vh;background-color:var(--bg)}.infos-container{flex-grow:1;display:flex;gap:var(--gap-sm);padding:var(--gap-sm);height:auto;overflow:visible}.infos-header{background-color:var(--primary);color:var(--on-primary);border-radius:var(--radius);box-shadow:var(--shadow-sm);text-align:center}.infos-header-title{font-size:1.5rem;font-weight:700}.infos-column{display:flex;flex-direction:column;flex-grow:1;background-color:var(--panel);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:var(--gap-sm);overflow:visible;gap:var(--gap-sm)}.events-column{flex:1 1 25%}.events-list{display:flex;flex-direction:column;height:auto;overflow:visible;margin-top:var(--gap-md);gap:var(--gap-sm)}.events-list-footer{margin-top:auto;background-color:var(--primary);color:var(--on-primary);padding:.5rem;text-align:center;font-size:clamp(1rem,1.2vw,1.5rem);font-weight:700;border-radius:var(--radius);display:flex;align-items:center;justify-content:center}.events-list-footer h4{margin:0;line-height:1.2}.event-item{margin-bottom:var(--gap-md)}.no-events-message,.error-message,.loading-message{text-align:center;font-size:clamp(.9rem,1vw,1.2rem);color:var(--text)}.error-message{color:var(--danger);font-weight:700}.placeholder-column{flex:1 1 75%;display:flex;flex-direction:column;overflow:visible}.placeholder-content{flex-grow:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-auto-rows:1fr;gap:var(--gap-sm);height:100%}.post-placeholder{background-color:#0f172a08;border-radius:var(--radius);box-shadow:var(--shadow-sm);height:100%;display:flex;justify-content:center;align-items:center;color:#0f172a59;font-size:1rem}.no-posts-message{text-align:center;font-size:clamp(.9rem,1vw,1.2rem);color:var(--text)}.events-table-wrapper{padding:var(--gap-md)}.events-table-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--gap-md);margin-bottom:var(--gap-md)}.events-table-title{font-size:1.2rem;font-weight:700;color:var(--text)}.events-table-description{font-size:.95rem;color:var(--muted);margin-top:var(--gap-sm)}.events-table-add-button .btn-primary{background-color:var(--primary);color:var(--on-primary);border:none;border-radius:var(--radius);padding:.5rem 1rem;font-weight:500;font-size:.95rem}.events-table-container{overflow-x:auto}.events-table{width:100%;border-collapse:collapse}.table-actions{width:100px}.table-row:nth-child(2n){background-color:#0f172a05}.table-cell{padding:.6rem;font-size:.95rem;color:var(--text);word-break:break-word;vertical-align:top}.table-cell-actions{display:flex;gap:.5rem;align-items:center}.action-icon{cursor:pointer;display:flex;align-items:center;justify-content:center}.action-icon.edit{color:var(--primary)}.action-icon.edit:hover{color:var(--primary-600)}.events-table-add-button{margin-top:var(--gap-sm);margin-left:auto}.event-passed{background-color:#0f172a05;color:var(--muted)}.event-passed .action-icon{opacity:.8}.event-status{font-size:.85rem;color:var(--muted);margin-left:.5rem}.event-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100}.event-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080}.event-modal-container{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:var(--gap-md);z-index:110}.event-modal-dialog{width:100%;max-width:500px;background-color:var(--panel);border-radius:var(--radius);box-shadow:var(--shadow-md);overflow:visible}.event-modal-panel{padding:var(--gap-md);box-sizing:border-box}.event-modal-title{font-size:1.25rem;font-weight:700;margin-bottom:var(--gap-md);color:var(--text)}.event-modal-form .form-group{margin-bottom:var(--gap-md)}.event-modal-form label{display:block;font-size:.875rem;margin-bottom:.25rem;color:var(--text)}.event-modal-form input,.event-modal-form textarea{width:100%;padding:.5rem;border:1px solid rgba(15,23,42,.08);border-radius:var(--radius);font-size:1rem;color:var(--text);background-color:var(--panel);box-sizing:border-box;max-width:100%}.modal-actions{display:flex;justify-content:flex-end;gap:var(--gap-sm)}.btn{padding:.5rem 1rem;border-radius:var(--radius);font-size:.875rem;cursor:pointer;font-weight:500;border:none}.btn.cancel{background-color:#0f172a0f;color:var(--text)}.btn.cancel:hover{background-color:#0f172a1a}.btn.submit{background-color:var(--primary);color:var(--on-primary)}.btn.submit:hover{background-color:var(--primary-600)}.modal-enter-from,.modal-leave-to{opacity:0}.modal-enter-to,.modal-leave-from{opacity:1}.modal-panel-enter-from{opacity:0;transform:scale(.95)}.modal-panel-enter-to,.modal-panel-leave-from{opacity:1;transform:scale(1)}.modal-panel-leave-to{opacity:0;transform:scale(.95)}.events-table-container{background-color:var(--panel);padding:var(--gap-md);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.posts-table-wrapper{padding:var(--gap-md)}.posts-table-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:var(--gap-md);margin-bottom:var(--gap-md)}.posts-table-title{font-size:1.25rem;font-weight:700;color:var(--text)}.posts-table-description{font-size:.95rem;color:var(--muted);margin-top:var(--gap-sm)}.posts-table-add-button{margin-top:var(--gap-sm);margin-left:auto}.btn-primary{background-color:var(--primary);color:var(--on-primary);border:none;border-radius:var(--radius);padding:.5rem 1rem;font-weight:500;font-size:.95rem;cursor:pointer}.btn-primary:hover{background-color:var(--primary-600)}.btn-primary:focus-visible{outline:3px solid rgba(16,24,40,.06);outline-offset:2px}.posts-table-container{overflow-x:auto}.posts-table{width:100%;border-collapse:collapse}.table-header{text-align:left;padding:.6rem;font-weight:700;color:var(--text);background:transparent;border-bottom:1px solid rgba(15,23,42,.06)}.table-row:nth-child(2n){background:#0f172a05}.table-cell{background:var(--panel);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:.6rem;vertical-align:top}.action-row{display:flex;justify-content:space-between;align-items:center;padding:.6rem .8rem;border-bottom:1px solid rgba(15,23,42,.06)}.action-icon{cursor:pointer;max-height:none;overflow:visible;display:inline-flex;align-items:center;justify-content:center}.post-title{font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:36ch;display:block}.action-icon.edit:hover{color:var(--muted);font-size:.95rem}.action-icon.delete{color:var(--danger)}.action-icon.delete:hover{color:var(--danger-700)}.post-image-preview{width:40px;height:40px;object-fit:cover;border-radius:var(--radius);border:1px solid rgba(15,23,42,.08)}.text-muted{color:var(--muted)}.post-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100}.post-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;z-index:105}.post-modal-container{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:var(--gap-md);z-index:110}.post-modal-dialog{width:100%;max-width:720px;background:var(--panel);border-radius:var(--radius);box-shadow:var(--shadow-md);overflow:hidden}.post-modal-panel{padding:var(--gap-md);box-sizing:border-box}.post-modal-title{font-size:1.25rem;font-weight:700;margin-bottom:var(--gap-md);color:var(--text)}.post-modal-form .form-group{margin-bottom:var(--gap-md)}.post-modal-form label{display:block;font-size:.9rem;margin-bottom:.25rem;color:var(--text)}.post-modal-form input[type=text],.post-modal-form textarea{width:100%;padding:.5rem;border:1px solid rgba(15,23,42,.08);border-radius:var(--radius);font-size:1rem;color:var(--text);background:var(--panel);box-sizing:border-box}.image-upload{display:flex;align-items:center;gap:var(--gap-sm)}.image-label{display:flex;align-items:center;gap:var(--gap-xs);font-size:.9rem;color:var(--muted);cursor:pointer}.image-label:hover{color:var(--primary)}.image-preview{width:48px;height:48px;object-fit:cover;border-radius:var(--radius);border:1px solid rgba(15,23,42,.08)}.markdown-preview h3{font-size:.95rem;font-weight:600;margin-bottom:.5rem;color:var(--text)}.preview-box{padding:var(--gap-sm);background:#0f172a05;border-radius:var(--radius);border:1px solid rgba(15,23,42,.06);font-size:.9rem;line-height:1.5}.modal-actions{display:flex;justify-content:flex-end;gap:var(--gap-sm);margin-top:var(--gap-sm)}.btn{padding:.5rem 1rem;border-radius:var(--radius);font-size:.9rem;cursor:pointer;font-weight:500;border:none}.btn.cancel{background:#0f172a0f;color:var(--text)}.btn.cancel:hover{background:#0f172a1a}.btn.submit{background:var(--primary);color:var(--on-primary)}.btn.submit:hover{background:var(--primary-600)}.icon{width:20px;height:20px}.posts-table-container{background-color:var(--panel);padding:var(--gap-md);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.loading-message{font-size:.875rem;color:var(--text);margin-top:var(--gap-sm)}
