:root{--clubos-purple: #2D0A4A;--clubos-purple-light: #5A1F88;--clubos-orange: #F97316;--clubos-orange-dark: #EA580C;--bg: #f5f5f7;--bar-bg: #ededf0;--card-bg: #ffffff;--text: #111827;--muted: #6B7280}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text)}.site-map svg text{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important}.app-shell{width:100%;max-width:100%;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.app-header{position:sticky;top:0;z-index:50;background:var(--clubos-purple);color:#fff;padding:.75rem 1rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #0003}.app-header h1{margin:0;font-size:1.1rem;font-weight:700}.app-header .subtitle{font-size:.75rem;opacity:.85}.user-menu{position:relative}.user-btn{background:#ffffff26;border:none;color:#fff;border-radius:999px;width:36px;height:36px;font-weight:700}.dropdown{position:absolute;right:0;top:120%;background:#fff;color:var(--text);border-radius:.5rem;box-shadow:0 4px 12px #00000026;min-width:160px;display:flex;flex-direction:column;padding:.5rem}.dropdown span{padding:.6rem;font-size:.85rem;border-bottom:1px solid #f3f4f6}.dropdown button{background:transparent;border:none;text-align:left;padding:.6rem;color:var(--text);font-size:.9rem;font-weight:500;border-radius:.375rem}.dropdown button:hover{background:#f3f4f6}.app-footer{position:fixed;bottom:0;width:100%;max-width:480px;background:#fff;border-top:1px solid #e5e7eb;display:flex;justify-content:space-around;padding:.5rem 0;z-index:50}.app-footer button{background:transparent;border:none;color:var(--muted);display:flex;flex-direction:column;align-items:center;font-size:.7rem;font-weight:600;flex:1;padding:.25rem}.app-footer button.active{color:var(--clubos-orange);font-weight:700}.content{flex:1;padding:1rem;overflow-y:auto}.card{background:var(--card-bg);border-radius:.75rem;padding:1rem;margin-bottom:1rem;box-shadow:0 1px 3px #0000000d}.selected-match{background:var(--clubos-purple);color:#fff;padding:1.25rem;border-radius:.75rem;margin-bottom:1rem}.selected-match .subtitle{opacity:.8;font-size:.8rem;margin-bottom:.25rem}.selected-match h2{margin:0 0 .5rem;font-size:1.4rem}.match-list-btn{display:block;width:100%;text-align:left;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:.75rem;margin-bottom:.5rem;color:var(--text)}.match-list-btn:active{background:#f3f4f6}.match-list-btn strong{display:block;margin-bottom:.2rem}.scoreboard{display:flex;justify-content:space-around;align-items:center;background:var(--clubos-purple);color:#fff;border-radius:.75rem;padding:1rem;margin-bottom:1rem}.score-side{text-align:center;flex:1}.score-team{font-size:.85rem;opacity:.9}.score-value{font-size:3rem;font-weight:800;margin:.25rem 0}.score-btns{display:flex;justify-content:center;gap:.5rem}.score-btns button{width:2.5rem;height:2.5rem;border-radius:999px;font-size:1.25rem;background:var(--clubos-orange);color:#fff;border:none;font-weight:700}.score-btns button:active{background:var(--clubos-orange-dark)}.score-divider{font-weight:700;opacity:.8}.btn{border:none;border-radius:.5rem;padding:.75rem 1rem;font-weight:600;font-size:.95rem}.btn-sm{padding:.5rem .75rem;font-size:.8rem;font-weight:700}.btn-primary{background:var(--clubos-purple);color:#fff}.btn-primary:active{background:var(--clubos-purple-light)}.btn-secondary{background:#f1f5f9;color:#334155;border:1px solid #E2E8F0}.btn-secondary:active{background:#e2e8f0}.btn-accent{background:var(--clubos-orange);color:#fff}.btn-accent:active{background:var(--clubos-orange-dark)}.btn-danger{background:#dc2626;color:#fff}.btn-row{display:flex;gap:.5rem;margin-top:1rem;flex-wrap:wrap}.btn-row .btn{flex:1;min-width:70px}.dlg-footer{display:flex;gap:.5rem;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-top:.75rem;padding-top:.75rem;border-top:1px solid #E5E7EB}.dlg-footer .dlg-group{display:flex;gap:.5rem;flex-wrap:wrap;margin-left:auto}.dlg-footer .btn{padding:.55rem .9rem;font-size:.85rem;display:inline-flex;align-items:center;justify-content:center;gap:.375rem;min-height:2.4rem}@media (max-width: 1023px){.dlg-footer .btn.ic .btn-label{display:none}.dlg-footer .btn.ic{padding:.55rem .75rem}.dlg-footer .btn.ic svg{width:18px;height:18px}.dlg-footer .btn.ic svg :is(path,circle,rect,line,polyline){stroke-width:2.5}.dlg-footer.tiles{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:.5rem}.dlg-footer.tiles .dlg-group{display:contents}.dlg-footer.tiles .btn{flex-direction:column;gap:.3rem;padding:.5rem .25rem;min-height:0}.dlg-footer.tiles .btn svg{width:20px;height:20px}.dlg-footer.tiles .btn .btn-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}}.form-row{display:flex;flex-direction:column;margin-bottom:.75rem}.form-row label{font-size:.8rem;color:var(--muted);margin-bottom:.25rem;font-weight:500}select,input{padding:.65rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:1rem;width:100%}.screens-page .screen-heading{margin:0 0 .5rem;font-size:1rem}.screens-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.screens-head .screen-heading{margin:0}.pair-code-row{display:flex;gap:.5rem}.pair-code-row .pair-code{flex:1;min-width:0;font-family:monospace;text-transform:uppercase;letter-spacing:.15em}.icon-btn{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:2.75rem;border:1px solid #d1d5db;border-radius:.5rem;background:#fff;color:var(--clubos-purple);cursor:pointer}.icon-btn:active{background:#f3f4f6}.sim-btn{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:2.4rem;border:none;border-radius:.5rem;color:#fff;cursor:pointer}.sim-btn-ok{background:#16a34a}.sim-btn-ok:hover{background:#15803d}.sim-btn-clear{background:#dc2626}.sim-btn-clear:hover{background:#b91c1c}.btn-block{width:100%;padding:.9rem;font-size:1.05rem;margin-top:.5rem}.screen-msg{margin:.5rem 0 0;font-size:.85rem;color:var(--muted)}.screen-row{display:flex;align-items:center;gap:.75rem}.screen-dot{width:.7rem;height:.7rem;border-radius:50%;flex:0 0 auto}.screen-dot.online{background:#22c55e}.screen-dot.offline{background:#9ca3af}.screen-name{flex:1;min-width:0;border:none;border-bottom:1px solid transparent;border-radius:0;padding:.25rem 0;font-weight:700;background:transparent}.screen-name:focus{outline:none;border-bottom-color:var(--clubos-purple-light)}.screen-tenant{font-size:.75rem;color:var(--muted);flex:0 0 auto}.screen-toggle{background:none;border:none;padding:0;font-size:.75rem;text-decoration:underline;color:var(--muted);cursor:pointer}.screen-meta{display:flex;gap:.75rem;flex-wrap:wrap;font-size:.75rem;color:var(--muted);margin-top:.35rem}.screen-err{color:#dc2626}.screen-config{margin-top:1rem}.screen-config .form-row select{margin-bottom:.35rem}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:.25rem .75rem}.check-item{display:flex;align-items:center;gap:.4rem;font-size:.9rem}.check-item input{width:1rem;height:1rem;flex:0 0 auto;accent-color:var(--clubos-purple)}.screen-delete{color:#dc2626}.screen-empty{text-align:center;color:var(--muted);padding:2rem 0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.modal{background:#fff;border-radius:.75rem;width:100%;max-width:400px;padding:1.25rem;max-height:90vh;overflow-y:auto}.modal h3{margin-top:0;color:var(--clubos-purple)}.poll-item{background:#fff;border-radius:.5rem;border:1px solid #e5e7eb;margin-bottom:.5rem;overflow:hidden}.poll-item summary{padding:.75rem 1rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer;list-style:none;font-weight:600}.poll-item summary::-webkit-details-marker{display:none}.poll-body{padding:1rem;border-top:1px solid #e5e7eb}.badge{font-size:.7rem;padding:.25rem .5rem;border-radius:999px;background:#e5e7eb;color:var(--text);font-weight:600}.badge.open{background:#22c55e;color:#fff}.badge.closed{background:#ef4444;color:#fff}.badge.results{background:#3b82f6;color:#fff}.poll-summary-right{display:flex;align-items:center;gap:.5rem}.chevron{display:inline-block;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid currentColor;transition:transform .2s ease}.poll-item[open]>summary .chevron{transform:rotate(180deg)}.poll-votes{list-style:none;padding:0;margin:.5rem 0 0}.poll-votes li{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #eee}.poll-votes li:last-child{border-bottom:none}.event-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #eee;font-size:.9rem}.event-row:last-child{border-bottom:none}.cal-card{border-radius:0;margin:0;padding:6px;box-shadow:none}@media (min-width: 768px){.cal-card{border-radius:.75rem;padding:12px;margin-bottom:1rem;box-shadow:0 1px 3px #0000000d}}.cal-bar{position:sticky;top:64px;z-index:40;display:flex;align-items:center;gap:6px;flex-wrap:wrap;background:var(--bar-bg);margin:-4px -4px 0;padding:4px 4px 6px;border-bottom:1px solid var(--outline, #e5e7eb)}@media (min-width: 1024px){.cal-bar{margin:-4px -16px 0;padding:4px 16px 6px}}.cal-bar .cal-group{display:flex;align-items:stretch;gap:6px;flex-wrap:nowrap}.cal-bar .cal-group:last-child{margin-left:auto}.cal-bar button,.res-bar .res-controls button{height:36px;width:36px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;font-size:12px;line-height:1;padding:0;border-radius:8px;flex:0 0 auto}.cal-bar input,.res-bar .res-controls input{height:36px;box-sizing:border-box;font-size:12px;line-height:1}.res-bar{position:sticky;top:64px;z-index:40;display:flex;flex-direction:column;gap:6px;background:var(--bar-bg);margin:0 -8px 12px;padding:4px 8px 8px;border-bottom:1px solid var(--outline, #e5e7eb)}@media (min-width: 640px){.res-bar{margin:0 -20px 12px;padding:4px 20px 8px}}@media (min-width: 1024px){.res-bar{margin:0 -32px 12px;padding:4px 32px 8px}}.res-bar .res-controls{display:flex;align-items:center;gap:4px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.res-bar .res-controls::-webkit-scrollbar{display:none}.res-bar .res-controls button.ctl-wide{width:auto;padding:0 10px;gap:5px}.res-bar .res-ctl-group{display:flex;align-items:center;gap:4px;flex-wrap:nowrap}@media (min-width: 640px){.res-bar .res-controls,.res-bar .res-ctl-group{gap:6px}}.res-bar .res-ctl-group.ml-auto{margin-left:auto}.res-tabs{scrollbar-width:none}.res-tabs::-webkit-scrollbar{display:none}.cal-week{scrollbar-width:none;-ms-overflow-style:none;scroll-snap-type:x proximity}.cal-week::-webkit-scrollbar{display:none}.cal-week>div>:nth-child(7n+1){scroll-snap-align:start}.cal-strip{display:flex;align-items:stretch;gap:2px;flex:1 1 180px;min-width:0;overflow:hidden;user-select:none;-webkit-user-select:none;touch-action:pan-y}.cal-strip button{border:0;background:none;font:inherit;color:inherit;padding:0;width:auto;height:auto}.cal-strip .cal-strip-day{flex:1 1 0;min-width:30px}.cal-strip .cal-strip-today{flex:0 0 auto;padding:0 8px;border-radius:8px;font-size:11px;font-weight:700;color:var(--clubos-purple);border:1px solid var(--outline, #d1d5db)}@media (max-width: 767px){.cal-bar button{height:44px;width:44px}.cal-bar input{height:44px}.cal-strip button{height:auto;width:auto}.cal-strip .cal-strip-day{aspect-ratio:1 / 1;align-self:center}.cal-strip .cal-strip-today{align-self:center;height:44px}.cal-strip{flex-basis:100%;order:3}}@keyframes cal-slide-r{0%{transform:translate(28px);opacity:.35}to{transform:translate(0);opacity:1}}@keyframes cal-slide-l{0%{transform:translate(-28px);opacity:.35}to{transform:translate(0);opacity:1}}.cal-slide-r{animation:cal-slide-r .18s ease-out}.cal-slide-l{animation:cal-slide-l .18s ease-out}
