@charset "UTF-8";:root{--sfc-blue: #004a8e;--sfc-blue-700: #003b72;--sfc-blue-900: #00264f;--sfc-blue-50: #e6eef8;--sfc-yellow: #ffd318;--sfc-yellow-600: #ebbd00;--sfc-green: #00783a;--sfc-green-50: #e7f4ea;--sfc-ball: #c96b47;--sfc-ink: #231f20;--color-primary: var(--sfc-blue);--color-primary-strong: var(--sfc-blue-700);--color-accent: var(--sfc-yellow);--color-on-accent: #1d1600;--color-secondary: var(--sfc-green);--color-bg: #ffffff;--color-bg-soft: #f4f6fa;--color-surface: #ffffff;--color-text: var(--sfc-ink);--color-muted: #5a6172;--color-line: #dfe3ec;--color-success: #1e7a35;--color-warning: #a76200;--color-danger: #b42318;--color-link: var(--sfc-blue);--sport-atletismo: #c96b47;--sport-futsal: #004a8e;--sport-rugby: #00783a;--sport-formacao: #b98a00;--sport-escola: #6a3fa0;--sport-clube: #231f20;--font-display: "Barlow Condensed", "Arial Narrow", sans-serif;--font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--fs-xl: clamp(2.6rem, 6vw, 4.75rem);--fs-l: clamp(2rem, 4vw, 3rem);--fs-m: clamp(1.5rem, 2.6vw, 2rem);--fs-s: 1.3rem;--fs-body: 1rem;--fs-caption: .82rem;--radius-s: 8px;--radius: 14px;--radius-l: 22px;--shadow-s: 0 2px 8px rgba(11, 35, 80, .08);--shadow: 0 14px 34px -14px rgba(11, 35, 80, .35);--container: 1200px;--header-h: 76px;--topbar-h: 38px;color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 16px)}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{margin:0;font:400 var(--fs-body)/1.65 var(--font-body);color:var(--color-text);background:var(--color-bg);overflow-x:hidden;-webkit-font-smoothing:antialiased}img,svg{max-width:100%;display:block}a{color:var(--color-link)}button{font:inherit}h1,h2,h3,h4{font-family:var(--font-display);font-weight:800;line-height:1.04;margin:0 0 .5em;letter-spacing:.005em;text-wrap:balance}.h-xl{font-size:var(--fs-xl);text-transform:uppercase}h1,.h-l{font-size:var(--fs-l);text-transform:uppercase}h2,.h-m{font-size:var(--fs-m);text-transform:uppercase}h3,.h-s{font-size:var(--fs-s);font-weight:700}p{margin:0 0 1em}.caption{font-size:var(--fs-caption);color:var(--color-muted)}:focus-visible{outline:3px solid var(--sfc-yellow);outline-offset:2px;box-shadow:0 0 0 5px var(--sfc-blue-900);border-radius:4px}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip-link{position:absolute;left:16px;top:-80px;z-index:200;background:var(--sfc-yellow);color:var(--color-on-accent);padding:.6em 1em;border-radius:var(--radius-s);font-weight:700}.skip-link:focus{top:12px}.container{width:min(var(--container),100% - 32px);margin-inline:auto}.section{padding:clamp(3.5rem,8vw,6rem) 0}.section--soft{background:var(--color-bg-soft)}.section--blue{background:var(--sfc-blue-900);color:#fff}.section--blue .eyebrow{color:var(--sfc-yellow)}.section-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem 2.5rem;margin-bottom:2.2rem}.section-head h2{margin:0}.section-head>p{max-width:48ch;color:var(--color-muted);margin:0}.section-head--center{flex-direction:column;align-items:center;text-align:center}.eyebrow{display:inline-flex;align-items:center;gap:.6rem;font:700 .78rem/1 var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--sfc-blue);margin:0 0 .9rem}.eyebrow:before{content:"";width:22px;height:3px;background:var(--sfc-yellow);border-radius:2px}.grid{display:grid;gap:1.25rem}.grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}.grid-3{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}.grid-4{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}@media(max-width:860px){.split{grid-template-columns:1fr}}.stack>*+*{margin-top:1rem}.center{text-align:center}.muted{color:var(--color-muted)}.prose{max-width:68ch;font-size:1.06rem}.rich h2,.rich h3{text-transform:none;margin:1.8rem 0 .6rem}.rich h2{font-size:1.6rem}.rich h3{font-size:1.25rem}.rich ul,.rich ol{padding-left:1.4rem;margin:0 0 1rem}.rich li{margin:.25rem 0}.rich li p{margin:0}.rich blockquote{margin:1.4rem 0;padding:.4rem 0 .4rem 1.1rem;border-left:4px solid var(--sfc-blue);color:var(--color-muted);font-style:italic}.rich a{color:var(--sfc-blue);text-decoration:underline;text-underline-offset:2px}.rich img{display:block;max-width:100%;height:auto;margin:1.4rem 0;border-radius:var(--radius)}.rich hr{border:0;border-top:1px solid var(--color-line);margin:2rem 0}.subnav{position:sticky;top:var(--header-h);z-index:20;background:#fff;border-bottom:1px solid var(--color-line)}@media(max-width:1080px){.subnav{top:66px}}.subnav__inner{display:flex;gap:1.4rem;overflow-x:auto;scrollbar-width:none}.subnav__inner a{flex:none;padding:.95rem 0;font-weight:600;font-size:.9rem;color:var(--color-text);text-decoration:none;border-bottom:3px solid transparent}.subnav__inner a:hover{color:var(--sfc-blue);border-color:var(--sfc-yellow)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:46px;padding:.75em 1.5em;border-radius:999px;border:2px solid transparent;font:700 .95rem/1 var(--font-body);letter-spacing:.01em;text-decoration:none;cursor:pointer;transition:transform .18s ease,background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn svg{width:1.15em;height:1.15em}.btn--primary{background:var(--sfc-blue);color:#fff}.btn--primary:hover{background:var(--sfc-blue-700)}.btn--accent{background:var(--sfc-yellow);color:var(--color-on-accent);box-shadow:0 8px 22px -10px #ffd318e6}.btn--accent:hover{background:var(--sfc-yellow-600)}.btn--outline{border-color:var(--sfc-blue);color:var(--sfc-blue);background:transparent}.btn--outline:hover{background:var(--sfc-blue);color:#fff}.btn--ghost-light{border-color:#ffffffbf;color:#fff;background:transparent}.btn--ghost-light:hover{background:#fff;color:var(--sfc-blue-900)}.btn--sm{min-height:38px;padding:.55em 1.05em;font-size:.87rem}.btn--block{width:100%}.link-arrow{display:inline-block;padding-block:.25rem;font-weight:700;text-decoration:none;color:var(--color-link)}.link-arrow:after{content:" \2192";transition:margin .2s}.link-arrow:hover:after{margin-left:4px}.link-arrow:hover{text-decoration:underline}.card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius);padding:1.5rem;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.card--link:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--sfc-blue)}.card h3{margin-bottom:.35rem}.badge{display:inline-flex;align-items:center;gap:.35em;padding:.28em .7em;border-radius:999px;font:700 .75rem/1.2 var(--font-body);letter-spacing:.06em;text-transform:uppercase;background:var(--sfc-blue-50);color:var(--sfc-blue);white-space:nowrap}.badge--accent{background:var(--sfc-yellow);color:var(--color-on-accent)}.badge--success{background:#e3f4e7;color:var(--color-success)}.badge--warning{background:#fff1d6;color:var(--color-warning)}.badge--danger{background:#fde7e5;color:var(--color-danger)}.badge--neutral{background:#eceef3;color:#444b5a}.badge[data-sport=atletismo]{background:#fbe9e4;color:#9a3a22}.badge[data-sport=futsal]{background:var(--sfc-blue-50);color:var(--sfc-blue)}.badge[data-sport=rugby]{background:var(--sfc-green-50);color:var(--sfc-green)}.badge[data-sport=formacao]{background:#fdf3cf;color:#7a5b00}.badge[data-sport=escola-de-desporto]{background:#efe7f8;color:var(--sport-escola)}.demo-bar{background:#fff6e0;color:#6b4300;text-align:center;font-size:.82rem;font-weight:600;padding:.45rem 16px}.empty-state{display:grid;justify-items:center;gap:.6rem;padding:2.5rem 1rem;text-align:center;color:var(--color-muted);background:#fff;border:1.5px dashed var(--color-line);border-radius:var(--radius)}.empty-state p{margin:0}.alert{display:flex;gap:.8rem;align-items:flex-start;padding:1rem 1.2rem;border-radius:var(--radius-s);border:1px solid;font-size:.95rem}.alert p:last-child{margin:0}.alert--info{background:var(--sfc-blue-50);border-color:#c7d5ee;color:var(--sfc-blue-900)}.alert--success{background:#e9f6ec;border-color:#bfe3c8;color:#14532d}.alert--warning{background:#fff6e0;border-color:#f5d68c;color:#6b4300}.chips{display:flex;flex-wrap:wrap;gap:.5rem}.chip{border:1.5px solid var(--color-line);background:var(--color-surface);color:var(--color-text);border-radius:999px;padding:.5em 1.05em;font:600 .88rem/1 var(--font-body);cursor:pointer;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s}.chip:hover{border-color:var(--sfc-blue)}.chip[aria-pressed=true],.chip.active{background:var(--sfc-blue);border-color:var(--sfc-blue);color:#fff}.form{display:grid;gap:1.1rem}.form-row{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}.field{display:grid;gap:.35rem}.field label,.field .label{font-weight:600;font-size:.9rem}.field .req{color:var(--color-danger)}.field input,.field select,.field textarea{font:inherit;color:var(--color-text);background:#fff;border:1.5px solid #c9cfdb;border-radius:var(--radius-s);padding:.72em .9em;width:100%;min-height:46px;transition:border-color .15s,box-shadow .15s}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--sfc-blue);box-shadow:0 0 0 3px #004a8e2e}.field input.ng-invalid.ng-touched,.field select.ng-invalid.ng-touched,.field textarea.ng-invalid.ng-touched{border-color:var(--color-danger)}.field textarea{min-height:120px;resize:vertical}.field .hint{font-size:.82rem;color:var(--color-muted)}.field .error{font-size:.82rem;color:var(--color-danger);font-weight:600}.check{display:flex;gap:.7rem;align-items:flex-start;font-size:.92rem}.check input{width:20px;height:20px;margin-top:.15rem;accent-color:var(--sfc-blue);flex:none}fieldset{border:1px solid var(--color-line);border-radius:var(--radius);padding:1.2rem 1.3rem 1.4rem;margin:0}fieldset legend{font:800 1.15rem/1 var(--font-display);text-transform:uppercase;padding:0 .4rem}.table-wrap{overflow-x:auto;border:1px solid var(--color-line);border-radius:var(--radius);background:var(--color-surface)}table.table{width:100%;border-collapse:collapse;font-size:.94rem}table.table th,table.table td{text-align:left;padding:.85rem 1rem;border-bottom:1px solid var(--color-line);white-space:nowrap}table.table th{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted);background:var(--color-bg-soft)}table.table tr:last-child td{border-bottom:0}table.table .num{text-align:right;font-variant-numeric:tabular-nums}table.table tr.highlight td{background:#fff9da;font-weight:700}.checklist{list-style:none;padding:0;margin:0;display:grid;gap:.55rem}.checklist li{position:relative;padding-left:1.85rem}.checklist li:before{content:"";position:absolute;left:0;top:.3rem;width:1.2rem;height:1.2rem;border-radius:50%;background:var(--sfc-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3 3 7-7' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/72% no-repeat}.media-ph{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--ph-a, var(--sfc-blue)) 0%,var(--ph-b, var(--sfc-blue-900)) 100%);display:grid;place-items:center;color:#ffffffeb}.media-ph:before{content:"";position:absolute;inset:0;background:repeating-conic-gradient(from 0deg at 50% 120%,rgba(255,255,255,.07) 0 6deg,transparent 6deg 14deg)}.media-ph>*{position:relative}.media-ph[data-sport=atletismo]{--ph-a: #d9694c;--ph-b: #8a2f1b}.media-ph[data-sport=rugby]{--ph-a: #2a8a3e;--ph-b: #114d1f}.media-ph[data-sport=formacao]{--ph-a: #e5bb00;--ph-b: #8f6b00}.media-ph[data-sport=escola-de-desporto]{--ph-a: #7d50b5;--ph-b: #44236e}@media(prefers-reduced-motion:no-preference){.fade-up{animation:fade-up .6s ease both}@keyframes fade-up{0%{opacity:0;transform:translateY(18px)}}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.linkish{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;min-height:36px;border:0;background:none;color:var(--color-link);font:600 .9rem var(--font-body);text-decoration:underline;cursor:pointer}.linkish--danger{color:var(--color-danger)}.linkish:disabled{opacity:.5;cursor:default}.adm-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.8rem 1.2rem;margin-bottom:1.2rem}.adm-head h1{margin:0;font-size:clamp(1.6rem,3vw,2rem)}.adm-head p{margin:.25rem 0 0;color:var(--color-muted)}.adm-panel{background:#fff;border:1px solid var(--color-line);border-radius:var(--radius);padding:1.1rem 1.2rem}.adm-panel>h2{margin:0 0 .8rem;font-size:1.15rem}.adm-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:1rem}.adm-toolbar .adm-search{flex:1 1 220px;min-height:42px;padding:0 .9rem;border:1.5px solid #c9cfdb;border-radius:var(--radius-s);font:inherit;background:#fff}.adm-toolbar .adm-search:focus{outline:none;border-color:var(--sfc-blue);box-shadow:0 0 0 3px #004a8e2e}.adm-table-wrap{overflow-x:auto;position:relative;background:#fff;border:1px solid var(--color-line);border-radius:var(--radius)}.adm-table{width:100%;border-collapse:collapse;font-size:.92rem}.adm-table th,.adm-table td{padding:.7rem .9rem;text-align:left;border-bottom:1px solid var(--color-line);vertical-align:middle}.adm-table thead th{font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted);background:#f8f9fc;white-space:nowrap}.adm-table tbody tr:last-child td{border-bottom:0}.adm-table tbody tr:hover{background:#fafbfd}.adm-table .num{text-align:right;font-variant-numeric:tabular-nums}.adm-table .act{text-align:right;white-space:nowrap}.st{display:inline-flex;align-items:center;gap:.3rem;padding:.2em .65em;border-radius:999px;font-size:.76rem;font-weight:700;white-space:nowrap}.st:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.st--published,.st--ok{background:#e3f4e7;color:var(--color-success)}.st--draft,.st--warn{background:#fff3c4;color:#6b4e00}.st--archived,.st--muted{background:var(--color-bg-soft);color:var(--color-muted)}.st--bad{background:#fde7e5;color:var(--color-danger)}.adm-empty{padding:2rem 1rem;text-align:center;color:var(--color-muted)}.adm-error{margin-bottom:1rem}
