@import"https://fonts.googleapis.com/css2?family=Roboto:wght@100;300;400;500;700;900&display=swap";@import"https://fonts.googleapis.com/css2?family=Work+Sans:wght@100;200;300;400;500;600;700;800;900&display=swap";@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@100;200;300;400;500;600;700;800;900&display=swap";@import"https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700;900&display=swap";.header{position:sticky;top:0;background:var(--color-primary);border-bottom:2px solid var(--color-neutral);z-index:1000}.header-content{display:flex;align-items:center;justify-content:space-between;height:64px;position:relative}.header-logos{display:flex;align-items:center;gap:var(--spacing-md);margin-right:var(--spacing-xl)}.caam-logo{height:48px;width:auto;object-fit:contain;display:block}.aca-logo-link{display:inline-block;transition:transform .2s ease}.aca-logo-link:hover{transform:scale(1.05)}.aca-logo{height:48px;width:auto;object-fit:contain;display:block}.header-nav{display:none;gap:var(--spacing-lg)}.nav-link{font-family:var(--font-header);font-weight:600;font-size:.875rem;letter-spacing:.05em;color:var(--color-secondary);transition:color var(--transition-fast);position:relative}.nav-link:hover{color:var(--color-accent)}.nav-link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--color-accent);transition:width var(--transition-fast)}.nav-link:hover:after{width:100%}.menu-toggle{display:flex;flex-direction:column;gap:4px;background:transparent;border:none;padding:var(--spacing-xs);cursor:pointer;min-height:auto}.menu-line{display:block;width:24px;height:2px;background:var(--color-secondary);transition:all var(--transition-fast)}.menu-toggle:hover .menu-line{background:var(--color-accent)}@media (min-width: 768px){.header-nav{display:flex}.menu-toggle{display:none}}@media (max-width: 767px){.header-nav{position:absolute;top:100%;left:0;right:0;background:var(--color-primary);border-bottom:2px solid var(--color-neutral);flex-direction:column;padding:var(--spacing-md);gap:var(--spacing-sm);display:none}.header-nav.active{display:flex}.nav-link{padding:var(--spacing-xs) 0;font-size:1rem}.aca-logo,.caam-logo{height:40px}}.home{min-height:100vh}.hero{position:relative;height:70vh;min-height:500px;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-background{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-primary)}.hero-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:.7}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0b0d1066,#0b0d10cc)}.hero-content{position:relative;z-index:2;text-align:center;padding:var(--spacing-lg)}.hero-title{font-size:clamp(3rem,10vw,6rem);font-weight:900;letter-spacing:-.03em;margin-bottom:var(--spacing-xs);color:var(--color-secondary);text-shadow:0 4px 24px rgba(0,0,0,.3)}.hero-title-container{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);margin-bottom:var(--spacing-sm)}.hero-logo{height:clamp(60px,10vw,120px);width:auto;object-fit:contain;filter:drop-shadow(0 4px 24px rgba(0,0,0,.3))}.hero-logo-large{width:clamp(350px,40vw,500px);height:auto;object-fit:contain;filter:drop-shadow(0 4px 24px rgba(0,0,0,.3))}.hero-subtitle{font-family:var(--font-header);font-size:clamp(.875rem,2vw,1.25rem);font-weight:600;letter-spacing:.1em;line-height:1.3;color:var(--color-secondary);margin-bottom:var(--spacing-lg);text-transform:uppercase}.hero-description{max-width:600px;margin:0 auto var(--spacing-md)}.hero-text{font-size:clamp(1rem,2vw,1.125rem);line-height:1.6;color:var(--color-secondary);opacity:.9}.hero-stats{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);flex-wrap:wrap;margin-bottom:var(--spacing-lg)}.hero-actions{display:flex;gap:var(--spacing-sm);justify-content:center;flex-wrap:wrap}.button-primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-secondary);padding:var(--spacing-sm) var(--spacing-md);font-weight:700}.button-primary:hover{background:transparent;color:var(--color-accent)}.button-secondary{background:transparent;border-color:var(--color-secondary);color:var(--color-secondary);padding:var(--spacing-sm) var(--spacing-md)}.button-secondary:hover{background:var(--color-secondary);color:var(--color-primary)}.stat-item{font-family:var(--font-header);font-size:clamp(1rem,2.5vw,1.5rem);font-weight:700;color:var(--color-accent)}.stat-divider{color:var(--color-neutral);font-size:1.5rem}.races-section{padding:var(--spacing-xl) 0;background:var(--color-primary)}.section-title{font-size:clamp(1.5rem,4vw,2rem);margin-bottom:var(--spacing-lg);text-align:center;color:var(--color-secondary)}.races-grid{display:grid;gap:var(--spacing-md);grid-template-columns:1fr}@media (min-width: 768px){.races-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.races-grid{grid-template-columns:repeat(3,1fr)}}.race-card{background:#f5f7fa05;border:2px solid var(--color-neutral);transition:all var(--transition-fast);overflow:hidden;position:relative}.race-card:hover{border-color:var(--color-secondary);transform:translateY(-2px)}.race-card-image{position:relative;height:200px;overflow:hidden}.race-image{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-fast)}.race-card:hover .race-image{transform:scale(1.05)}.race-content-main{display:flex;gap:var(--spacing-md)}.race-info{flex:1;min-width:0}.race-logos{display:flex;flex-direction:column;gap:var(--spacing-sm);align-items:center;justify-content:flex-start;padding-top:var(--spacing-xs);flex-shrink:0;width:auto;max-width:40%}.race-logo{height:auto;width:100%;max-height:50px;max-width:110px;object-fit:contain}.race-actions{margin-top:var(--spacing-md)}@media (min-width: 1024px){.race-logos{max-width:30%}.race-logo{max-height:50px;max-width:100px}.race-logo-label{font-size:.6rem}}@media (max-width: 767px){.race-logos{max-width:45%;gap:var(--spacing-sm)}.race-logo{max-height:45px;max-width:100px}.race-logo-label{font-size:.55rem}}@media (max-width: 480px){.race-content-main{gap:var(--spacing-sm)}.race-logos{gap:var(--spacing-xs);max-width:50%}.race-logo{max-height:45px;max-width:100px}.race-name{font-size:1.25rem}.race-meta{font-size:.75rem}}.race-status{position:absolute;bottom:0;left:0;right:0;padding:var(--spacing-xs) var(--spacing-sm);font-family:var(--font-header);font-size:.75rem;font-weight:700;letter-spacing:.1em;display:flex;align-items:center;gap:var(--spacing-xs)}.status-pending{background:var(--color-neutral);color:var(--color-primary)}.status-live{background:var(--color-accent);color:var(--color-secondary)}.status-completed{background:var(--color-success);color:var(--color-primary)}.live-indicator{width:8px;height:8px;border-radius:50%;background:var(--color-secondary);animation:pulse 2s infinite}.race-content{padding:var(--spacing-md)}.race-name{font-size:1.5rem;margin-bottom:var(--spacing-xs);color:var(--color-secondary)}.race-meta{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm);color:var(--color-neutral);font-size:.875rem}.race-date{font-weight:600;color:#fff!important}.race-location{font-family:var(--font-header);text-transform:uppercase;letter-spacing:.05em;color:#fff!important}.race-description{color:#fff!important;font-size:.875rem}.race-actions{display:flex;gap:var(--spacing-sm)}.quick-links{padding:var(--spacing-xl) 0;background:#f5f7fa05}.links-grid{display:grid;gap:var(--spacing-md);grid-template-columns:1fr}@media (min-width: 768px){.links-grid{grid-template-columns:repeat(3,1fr)}}.quick-link{display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);background:var(--color-primary);border:2px solid var(--color-neutral);transition:all var(--transition-fast);min-height:80px}.quick-link:hover{border-color:var(--color-accent);background:#e106001a}.link-text{font-family:var(--font-header);font-weight:700;font-size:.875rem;letter-spacing:.05em;color:var(--color-secondary)}.championship-preview{padding:var(--spacing-xl) 0;background:var(--color-primary)}.championship-podium{display:grid;gap:var(--spacing-md);grid-template-columns:1fr;max-width:800px;margin:0 auto}@media (min-width: 768px){.championship-podium{grid-template-columns:repeat(3,1fr)}}.podium-item{background:#f5f7fa05;border:2px solid var(--color-neutral);padding:var(--spacing-md);text-align:center;transition:all var(--transition-fast)}.podium-item.position-1{border-color:var(--color-warning)}.podium-item.position-2{border-color:var(--color-neutral)}.podium-item.position-3{border-color:#cd7f32}.podium-position{font-family:var(--font-mono);font-size:3rem;font-weight:700;line-height:1;margin-bottom:var(--spacing-sm);color:var(--color-secondary)}.driver-name{font-size:1.25rem;margin-bottom:var(--spacing-xs);color:var(--color-secondary)}.driver-team{font-size:.875rem;color:var(--color-neutral);margin-bottom:var(--spacing-xs)}.driver-points{font-size:1.125rem;font-weight:700;color:var(--color-accent)}@media (max-width: 480px){.hero{min-height:400px;height:auto;padding:var(--spacing-md) 0}.hero-content{padding:var(--spacing-md) var(--spacing-sm);max-width:100%}.hero-title{font-size:clamp(2rem,8vw,3rem);line-height:1.1;margin-bottom:var(--spacing-xs)}.hero-subtitle{font-size:clamp(.75rem,1.5vw,1rem);margin-bottom:var(--spacing-md)}.hero-description{margin-bottom:var(--spacing-sm)}.hero-text{font-size:clamp(.875rem,1.8vw,1rem);line-height:1.5}.hero-stats{gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.hero-actions{gap:var(--spacing-xs)}.button-primary{padding:var(--spacing-xs) var(--spacing-sm);font-size:.875rem}}@media (max-width: 375px){.hero{min-height:350px}.hero-content{padding:var(--spacing-sm)}.hero-title{font-size:1.75rem;word-break:break-word}.hero-subtitle{font-size:.7rem;letter-spacing:.05em}.hero-text{font-size:.8rem}.hero-actions{flex-direction:column;width:100%}.button-primary{width:100%;padding:var(--spacing-sm)}}@media (max-height: 600px) and (orientation: landscape){.hero{min-height:300px;height:60vh}.hero-title{font-size:2rem}.hero-subtitle{margin-bottom:var(--spacing-sm)}.hero-description{display:none}}.live-board{color:#e5e7eb;padding:0 16px 24px}.live-board-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 0 16px;border-bottom:1px solid #374151;margin-bottom:16px;color-scheme:dark}.live-board-filters,.live-board-filters label,.live-board-filters select,.live-board-filters input[type=search],.live-board-filters .toggle{font-size:13px;font-family:inherit;font-weight:400;color:#e5e7eb;line-height:1.3}.live-board-filters label{display:inline-flex;align-items:center;gap:6px}.live-board-filters select,.live-board-filters input[type=search],.live-board-filters .toggle{padding:6px 12px;background:#111827;border:1px solid #374151;border-radius:4px;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none}.live-board-filters select{background-image:linear-gradient(45deg,transparent 50%,#9ca3af 50%),linear-gradient(135deg,#9ca3af 50%,transparent 50%);background-position:calc(100% - 14px) 50%,calc(100% - 9px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:28px}.live-board-filters select option{background:#111827;color:#e5e7eb}.live-board-filters input[type=search]{cursor:text;min-width:200px}.live-board-filters .toggle:hover{border-color:#6b7280}.live-board-filters .toggle.active{background:#f59e0b;color:#111827;border-color:#f59e0b}.live-block{background:#1f2937;border-radius:8px;border:1px solid #374151;margin-bottom:20px;overflow-x:auto;-webkit-overflow-scrolling:touch}.live-block>header{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:#111827;border-bottom:1px solid #374151}.live-block h3{margin:0;font-size:14px;letter-spacing:.08em;color:#f3f4f6}.live-block .count{font-size:12px;color:#9ca3af;font-variant-numeric:tabular-nums}.live-block table{width:100%;border-collapse:collapse;font-size:13px;table-layout:auto}.live-block th,.live-block td{padding:8px 12px;text-align:left;border-bottom:1px solid #273448;color:#e5e7eb;white-space:nowrap;vertical-align:middle}.live-block tbody td:nth-child(2),.live-block tbody td[data-label=Vehicle],.live-block tbody td[data-label=Detall]{white-space:normal;word-break:break-word}.live-block th{font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:#fff;font-weight:600;background:#111827}.live-block tr:hover td{background:#f59e0b0a}.live-block .mono{font-family:JetBrains Mono,monospace;font-variant-numeric:tabular-nums}.live-block .position{font-weight:700;color:#f59e0b;font-variant-numeric:tabular-nums}.live-block .status-cell{font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#9ca3af}.live-block .empty-row{padding:16px;text-align:center;color:#6b7280;font-style:italic}.pending-block>header h3{color:#fbbf24}.classified-block>header h3{color:#10b981}.abandoned-block>header h3{color:#ef4444}.on-run-row td{background:#3b82f614}.on-run-row .status-cell{color:#60a5fa}.at-start-row .status-cell{color:#fbbf24}.status-abandoned .status-cell,.status-disqualified .status-cell{color:#f87171}.status-absent .status-cell{color:#9ca3af}.compare-cell{text-align:right;width:1%;white-space:nowrap}.compare-btn{background:transparent;color:#e5e7eb;border:1px solid #4b5563;border-radius:4px;padding:2px 8px;font-size:13px;font-weight:600;cursor:pointer;min-width:28px;transition:background .15s ease,border-color .15s ease}.compare-btn:hover:not(:disabled){border-color:#f59e0b;color:#f59e0b}.compare-btn.checked{background:#f59e0b;border-color:#f59e0b;color:#111827}.compare-btn:disabled{opacity:.35;cursor:not-allowed}.live-block tbody tr.compare-selected td{background:#f59e0b14}.live-block.compare-block{border-color:#3b82f6}.live-block.compare-block>header h3{color:#60a5fa}.compare-close{background:transparent;border:none;color:#9ca3af;font-size:18px;cursor:pointer}.compare-summary{display:flex;flex-wrap:wrap;gap:12px;padding:12px 16px;border-bottom:1px solid #273448}.compare-pilot{display:flex;flex-direction:column;padding:8px 12px;border-radius:4px;background:#3b82f61a;min-width:160px}.compare-pilot.color-1{background:#ef44441a}.compare-dorsal{font-weight:700;color:#93c5fd}.compare-pilot.color-1 .compare-dorsal{color:#fca5a5}.compare-name{font-size:14px;color:#f3f4f6}.compare-table{width:100%;border-collapse:collapse;font-size:13px}.compare-table th,.compare-table td{padding:8px 12px;text-align:left;border-bottom:1px solid #273448}.compare-table th{background:#111827;color:#fff;font-size:13px}.compare-diff.faster{color:#34d399}.compare-diff.slower{color:#fca5a5}.compare-chart{padding:16px}.compare-grid{display:grid;gap:4px 8px;padding:12px 16px;font-size:13px}.compare-grid-cell{padding:6px 8px;border-bottom:1px solid #273448}.compare-grid-corner{border:none}.compare-grid-pilot{display:flex;flex-direction:column;font-size:13px;border-bottom:2px solid #273448;padding-bottom:8px}.compare-grid-pilot strong{font-size:14px}.compare-grid-pilot.color-0{color:#93c5fd;border-bottom-color:#3b82f6}.compare-grid-pilot.color-1{color:#fca5a5;border-bottom-color:#ef4444}.compare-grid-pilot.color-2{color:#6ee7b7;border-bottom-color:#10b981}.compare-grid-rowlabel{color:#9ca3af;font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.compare-grid-rowlabel.summary{color:#fff;font-size:13px;font-weight:700;border-top:1px solid #374151}.compare-grid-cell.summary{font-weight:600;border-top:1px solid #374151}.compare-grid-cell.compare-best{background:#10b98126;color:#34d399;font-weight:700;border-radius:3px}.compare-grid-grouplabel{font-size:14px;font-weight:600;color:#9ca3af;border-bottom:1px solid #273448;padding-bottom:8px}.compare-grid-grouplabel.color-0{color:#93c5fd}.compare-grid-grouplabel.color-1{color:#fca5a5}.compare-grid-grouplabel.color-2{color:#6ee7b7}.compare-positions-grid{font-size:14px}.compare-positions-grid .compare-grid-rowlabel{font-size:14px;text-transform:none;letter-spacing:0;color:#d1d5db}.compare-positions-grid .compare-grid-rowlabel.summary{font-size:14px}.pos-cell{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:6px}.pos-general{font-weight:700;font-size:14px}.pos-token{font-size:14px;font-weight:600;color:#9ca3af;letter-spacing:.02em}.compare-hint{font-size:12px;font-weight:400;color:#93c5fd;margin-left:6px;letter-spacing:0;text-transform:none}.compare-tabs{display:flex;gap:4px;padding:0 16px;border-bottom:1px solid #273448}.compare-tab{background:transparent;border:none;color:#fff;padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer;opacity:.65;border-bottom:2px solid transparent;transition:opacity .15s ease,border-color .15s ease}.compare-tab:hover{opacity:1}.compare-tab.active{opacity:1;border-bottom-color:#60a5fa}.compare-tabpanel{min-height:120px}.category-marker{display:inline-flex;align-items:center;gap:6px}.category-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#ef4444;box-shadow:0 0 0 1px #ef44444d}.category-pos{font-variant-numeric:tabular-nums;font-weight:600;color:#f3f4f6}.warning-icon{margin-left:6px;display:inline-block;animation:warning-blink 1s ease-in-out infinite}@keyframes warning-blink{0%,to{opacity:1;filter:none}50%{opacity:.35;filter:drop-shadow(0 0 4px #fbbf24)}}.live-board .stats-section{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;justify-content:flex-start}.live-board .stat-card{flex:0 0 auto;width:130px}.live-board .stat-card{background:#1f2937;border:1px solid #374151;border-radius:6px;padding:10px 8px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.live-board .stat-card h4{font-size:10px;color:#9ca3af;letter-spacing:.06em;margin:0 0 4px;font-weight:600;text-transform:uppercase;line-height:1.2;max-width:100%;overflow-wrap:break-word;word-break:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.live-board .stat-card .stat-value{margin:0;font-size:18px;font-weight:700;color:#f3f4f6;font-variant-numeric:tabular-nums;line-height:1.15;max-width:100%;overflow-wrap:break-word;word-break:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.live-board .stat-card .stat-value.mono{font-family:JetBrains Mono,monospace;font-size:14px}@media (max-width: 640px){.live-board{padding:0 8px 16px}.live-board .stats-section{gap:6px;justify-content:center}.live-board .stat-card{width:calc(50% - 4px);padding:8px 6px}.live-board .stat-card .stat-value{font-size:16px}}@media (max-width: 768px){.live-block table,.live-block thead,.live-block tbody,.live-block th,.live-block td,.live-block tr{display:block}.live-block thead{display:none}.live-block tbody tr{border-bottom:1px solid #273448;padding:8px 12px;display:grid;grid-template-columns:auto 1fr 1fr auto;gap:6px 10px;align-items:center}.live-block tbody td{border:none;padding:0;font-size:13px;overflow-wrap:break-word;word-break:break-word;min-width:0}.live-block tbody td.position{grid-row:1;grid-column:1;font-size:22px;line-height:1;padding-right:4px}.live-block tbody td.position+td{grid-row:1;grid-column:2 / 4;font-size:14px}.live-block tbody td.compare-cell{grid-row:1;grid-column:4;text-align:right}.live-block tbody td[data-label=Grup]{grid-row:2;grid-column:1 / 3}.live-block tbody td[data-label="Pro."]{grid-row:2;grid-column:3}.live-block tbody td[data-label=Hist]{grid-row:2;grid-column:4}.live-block tbody td[data-label=Vehicle]{grid-row:3;grid-column:1 / -1}.live-block tbody td[data-label="Tram 1"]{grid-row:4;grid-column:1}.live-block tbody td[data-label="Tram 2"]{grid-row:4;grid-column:2}.live-block tbody td[data-label=Temps]{grid-row:4;grid-column:3}.live-block tbody td[data-label=Delta]{grid-row:4;grid-column:4}.live-block tbody td[data-label="Temps total"]{grid-row:4;grid-column:1 / -1}.live-block tbody td[data-label]:before{content:attr(data-label);display:block;color:#9ca3af;font-size:10px;line-height:1.2;text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}.live-block.pending-block tbody tr{grid-template-columns:1fr 1fr 1fr}.live-block.pending-block tbody td.status-cell{grid-row:1;grid-column:1 / -1;color:#fbbf24;font-size:12px;font-weight:700}.live-block.pending-block tbody td.status-cell:before{content:"";display:none}.live-block.pending-block tbody td.status-cell+td{grid-row:2;grid-column:1 / -1;font-size:14px}.live-block.pending-block tbody td[data-label=Grup]{grid-row:3;grid-column:1}.live-block.pending-block tbody td[data-label="Pro."]{grid-row:3;grid-column:2}.live-block.pending-block tbody td[data-label=Hist]{grid-row:3;grid-column:3}.live-block.pending-block tbody td[data-label=Vehicle]{grid-row:4;grid-column:1 / -1}.live-block.abandoned-block tbody tr{grid-template-columns:auto 1fr}.live-block.abandoned-block tbody td.status-cell{grid-row:1;grid-column:1;font-size:12px;font-weight:700}.live-block.abandoned-block tbody td.status-cell+td{grid-row:1;grid-column:2}.live-block.abandoned-block tbody td[data-label=Grup]{grid-row:2;grid-column:1}.live-block.abandoned-block tbody td[data-label=Vehicle]{grid-row:2;grid-column:2}}.trofeus-panel{background:linear-gradient(135deg,#111827,#1f2937);border:1px solid #374151;border-radius:12px;padding:16px;margin:16px 16px 24px;color:#f3f4f6}.trofeus-panel header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;border-bottom:1px solid #273448;padding-bottom:10px}.trofeus-panel header h3{margin:0;font-size:1.1rem;letter-spacing:.05em;color:#fbbf24}.trofeus-close{background:#ffffff14;color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:8px;width:32px;height:32px;cursor:pointer}.trofeus-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.trofeus-card{background:#1f293799;border:1px solid #374151;border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:8px}.trofeus-card h4{margin:0;font-size:.92rem;letter-spacing:.05em;text-transform:uppercase;color:#fbbf24;font-weight:700}.trofeus-card-general{background:linear-gradient(135deg,#f59e0b2e,#1f293799 80%);border-color:#f59e0b}.trofeus-card-general h4{color:#fbbf24}.trofeus-card-promo{border-color:#3b82f6}.trofeus-card-promo h4{color:#93c5fd}.trofeus-card-hist{border-color:#10b981}.trofeus-card-hist h4{color:#6ee7b7}.trofeus-row{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;padding:6px 0;border-top:1px solid rgba(55,65,81,.6);font-size:.92rem}.trofeus-row:first-of-type{border-top:none}.trofeus-pos{font-weight:700;color:#fbbf24;min-width:26px;text-align:center;font-variant-numeric:tabular-nums}.trofeus-pilot{min-width:0;display:flex;flex-direction:column;gap:1px}.trofeus-name-line{display:inline}.trofeus-dorsal{font-weight:700;color:#f59e0b;margin-right:4px}.trofeus-vehicle{font-size:.78rem;color:#9ca3af}.trofeus-tags{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.trofeus-tag{background:#60a5fa24;color:#93c5fd;border:1px solid rgba(96,165,250,.4);padding:2px 10px;border-radius:999px;font-size:.92rem;letter-spacing:.02em;font-weight:600}.trofeus-empty{text-align:center;padding:24px;color:#9ca3af;font-style:italic}@media (max-width: 600px){.trofeus-panel{margin:12px 8px 16px;padding:12px}.trofeus-grid{grid-template-columns:1fr}}.cc-panel{background:linear-gradient(135deg,#111827,#1f2937);border:1px solid #374151;border-radius:12px;padding:16px;margin:16px 16px 24px;color:#f3f4f6}.cc-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;border-bottom:1px solid #273448;padding-bottom:10px}.cc-header h3{margin:0;font-size:1.1rem;letter-spacing:.05em;color:#fbbf24}.cc-close{background:#ffffff14;color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:8px;width:32px;height:32px;cursor:pointer}.cc-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:16px}.cc-tabs{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid #374151;flex:1}.cc-tab{background:transparent;color:#f3f4f6;border:none;padding:8px 14px;font-size:.9rem;font-weight:600;letter-spacing:.02em;cursor:pointer;border-bottom:2px solid transparent;opacity:.7;transition:opacity .15s ease,border-color .15s ease}.cc-tab:hover{opacity:1}.cc-tab.active{opacity:1;border-bottom-color:#fbbf24;color:#fbbf24}.cc-download{background:transparent;color:#fbbf24;border:2px solid #fbbf24;border-radius:6px;padding:8px 16px;font-size:.85rem;font-weight:600;letter-spacing:.04em;cursor:pointer;transition:background .15s ease,color .15s ease}.cc-download:hover{background:#fbbf24;color:#111827}.cc-table-wrap{margin-bottom:18px}.cc-table-title{margin:0 0 6px;font-size:.92rem;letter-spacing:.06em;color:#fbbf24;font-weight:700;text-transform:uppercase}.cc-table-scroll{overflow-x:auto;border:1px solid #374151;border-radius:8px}.cc-table{width:100%;border-collapse:collapse;font-size:.85rem;table-layout:fixed;min-width:880px}.cc-table col.cc-col-label{width:150px}.cc-table col.cc-col-data{width:auto}.cc-table th,.cc-table td{padding:6px 8px;text-align:center;border-bottom:1px solid rgba(55,65,81,.6);border-right:1px solid rgba(55,65,81,.4);white-space:nowrap;overflow-wrap:break-word}.cc-table th:last-child,.cc-table td:last-child{border-right:none}.cc-table thead th{background:#1f2937d9;color:#d1d5db;font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.cc-table tbody th{background:#1f293799;color:#fbbf24;text-align:left;font-weight:700;font-size:.8rem;letter-spacing:.04em}.cc-table .cc-row-highlight td,.cc-table .cc-row-highlight th{background:#fbbf240f}.cc-table .cc-row-dorsals td{font-style:italic;color:#9ca3af;font-size:.78rem;white-space:normal;word-break:break-word;line-height:1.35}.cc-table .cc-row-dorsals th{font-size:.72rem;color:#9ca3af;letter-spacing:.05em}@media (max-width: 600px){.cc-panel{margin:12px 8px 16px;padding:12px}.cc-toolbar{flex-direction:column;align-items:stretch}.cc-download{width:100%}}.race-detail{min-height:100vh;background:var(--color-primary);padding-bottom:var(--spacing-xl)}.race-empty-state{padding:48px 24px;text-align:center;color:#9ca3af;background:#1f2937;border:1px solid #374151;border-radius:8px;margin:24px 16px}.race-empty-state.error{color:#f87171;border-color:#7f1d1d;background:#ef444414}.race-empty-state h3{color:#f3f4f6;margin:0 0 12px}.race-body{padding:16px 0}.race-tabs{display:flex;flex-wrap:wrap;gap:4px;margin-top:12px;border-bottom:1px solid #374151;padding-bottom:0}.race-tab{background:transparent;color:#fff;border:none;padding:10px 16px;font-size:15px;font-weight:600;letter-spacing:.02em;cursor:pointer;border-bottom:2px solid transparent;position:relative;transition:border-color .15s ease,opacity .15s ease;opacity:.7}.race-tab:hover{opacity:1}.race-tab.active{opacity:1;border-bottom-color:#f59e0b}.race-tab-active-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#10b981;margin-left:6px;vertical-align:middle;box-shadow:0 0 6px #10b98199}.stats-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-lg);padding:var(--spacing-lg);background:#1a1c20;border-radius:8px;border:2px solid var(--color-neutral)}.stats-section .stat-card,div.stats-section div.stat-card,.race-detail .stats-section .stat-card{background:#000!important;background-color:#000!important;border:2px solid #E10600!important;border-color:#e10600!important;padding:var(--spacing-md)!important;border-radius:4px!important;text-align:center!important}.stats-section .stat-card h4{font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;color:#e10600!important;margin-bottom:var(--spacing-sm)}.stats-section .stat-value{font-size:1.5rem;font-weight:900;color:#e10600!important;margin:0}.race-header{background:linear-gradient(180deg,#1a1c20 0%,var(--color-primary) 100%);padding:var(--spacing-xl) 0;margin-bottom:var(--spacing-lg);border-bottom:2px solid var(--color-neutral)}.race-title-container{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);margin-bottom:var(--spacing-xs)}.race-title-logo{height:clamp(50px,8vw,100px);width:auto;object-fit:contain;filter:drop-shadow(0 4px 24px rgba(0,0,0,.3))}.race-title-year{font-size:clamp(2rem,5vw,3rem);font-weight:900;text-transform:uppercase;letter-spacing:-.03em;color:var(--color-secondary);text-shadow:0 4px 24px rgba(220,53,69,.3);font-family:var(--font-header)}.race-title-name{font-size:clamp(1.5rem,4vw,2rem);font-weight:900;text-transform:uppercase;letter-spacing:-.03em;color:var(--color-secondary);text-shadow:0 4px 24px rgba(220,53,69,.3);font-family:var(--font-header)}.race-title{font-size:clamp(2rem,5vw,3rem);margin-bottom:var(--spacing-xs);color:var(--color-secondary)}.race-subtitle{font-family:var(--font-header);font-size:1rem;color:var(--color-neutral);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--spacing-md)}.race-name{font-size:1.5rem;color:var(--color-accent);margin:var(--spacing-md) 0;text-transform:uppercase}div.race-detail header.race-header div.container div.race-actions{display:flex!important;flex-direction:row!important;gap:16px!important;justify-content:center!important;align-items:center!important;flex-wrap:wrap!important;margin-top:var(--spacing-md)!important;margin-bottom:var(--spacing-lg)!important}div.race-detail header.race-header div.container div.race-actions button.action-button{width:auto!important;max-width:none!important;flex:none!important;flex-grow:0!important;flex-shrink:0!important;padding:12px 20px!important;background:#000!important;border:2px solid #E10600!important;color:#e10600!important;border-radius:6px!important;white-space:nowrap!important;font-size:.875rem!important;font-weight:600!important;cursor:pointer!important;transition:all var(--transition-fast)!important;min-height:36px!important;height:auto!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-family:var(--font-header)!important;gap:var(--spacing-xs)!important;text-decoration:none!important;box-sizing:border-box!important}div.race-detail header.race-header div.container div.race-actions button.action-button:hover{background:#e10600!important;border-color:#e10600!important;color:#000!important;transform:translateY(-2px)!important;box-shadow:0 4px 12px #e106004d!important}.race-detail .back-navigation .action-button,.race-detail .race-body .action-button{padding:10px 18px;background:transparent;border:2px solid var(--color-accent);color:var(--color-accent);border-radius:6px;font-family:var(--font-header);font-size:.85rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;display:inline-flex;align-items:center;gap:6px;min-height:36px;transition:all var(--transition-fast)}.race-detail .back-navigation .action-button:hover,.race-detail .race-body .action-button:hover{background:var(--color-accent);color:#fff}.race-detail .back-navigation{display:flex;justify-content:flex-start;padding:0 0 var(--spacing-lg) 0}.action-button:hover{background:var(--color-accent);color:var(--color-primary);transform:translateY(-2px)}.action-button:disabled{opacity:.5;cursor:not-allowed}.trophies-section{background:var(--color-surface);border-bottom:2px solid var(--color-neutral);padding:var(--spacing-lg) 0;margin-bottom:var(--spacing-lg)}.trophies-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.trophies-header h3{font-size:1.5rem;color:var(--color-secondary)}.close-button{background:transparent;border:none;color:var(--color-neutral);font-size:1.5rem;cursor:pointer;transition:color var(--transition-fast);padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.close-button:hover{color:var(--color-secondary)}.trophies-content{display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}@media (max-width: 768px){.trophies-content{grid-template-columns:1fr}}.trophy-category{background:var(--color-primary);padding:var(--spacing-sm);border-radius:4px;border:1px solid var(--color-neutral)}.trophy-category h4{color:var(--color-accent);margin-bottom:var(--spacing-xs);font-size:1rem;text-transform:uppercase}.trophy-item{display:flex;gap:var(--spacing-sm);padding:var(--spacing-xs) 0;border-bottom:1px solid rgba(255,255,255,.1)}.trophy-item:last-child{border-bottom:none}.trophy-position{color:var(--color-secondary);font-weight:600;min-width:30px}.trophy-driver{color:var(--color-text)}.no-trophies{text-align:center;color:var(--color-neutral);padding:var(--spacing-lg)}.race-selector{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.race-button{background:transparent;border:2px solid var(--color-accent);color:var(--color-accent);padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-header);font-weight:600;font-size:.875rem;text-transform:uppercase;cursor:pointer;transition:all var(--transition-fast);border-radius:4px}.race-button:hover{background:#e106001a;transform:translateY(-1px)}.race-button.active{background:var(--color-accent);color:var(--color-secondary)}.tram-times{display:flex;flex-direction:column;gap:2px;font-size:.875rem}.tram1-time{color:var(--color-warning);font-size:.8rem}.tram2-time{color:var(--color-accent);font-size:.8rem}.final-time{color:var(--color-secondary);font-weight:700}.chart-mode-selector{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-sm);justify-content:center;flex-wrap:wrap}.chart-mode-selector label{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--color-secondary);font-size:.9rem;cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);border-radius:4px;transition:background-color .2s ease}.chart-mode-selector label:hover{background-color:#3b82f61a}.chart-mode-selector input[type=radio]{accent-color:var(--color-accent)}.line-chart-container{width:100%;max-width:100%;overflow:hidden;display:flex;flex-direction:column;align-items:center}.line-chart-container canvas{max-width:100%;height:auto}@media (max-width: 767px){.chart-mode-selector{gap:var(--spacing-sm)}.chart-mode-selector label{font-size:.8rem;padding:var(--spacing-xs)}}.time-with-trams{display:flex;flex-direction:column;gap:var(--spacing-xs)}.tram-label{font-size:.8rem;opacity:.8;margin-left:var(--spacing-sm)}.position-label{color:var(--color-accent);font-size:.75rem;font-weight:600;margin-left:4px;opacity:.9}.time-with-intermediate{display:flex;flex-direction:column;gap:2px}.intermediate-label{color:var(--color-warning);font-size:.8rem;opacity:.8}.controls-section{margin-bottom:0;position:relative;z-index:1}.controls-section.menu-open{z-index:10002}.view-modes{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);flex-wrap:wrap}.mode-button{background:transparent;border:2px solid white;color:#fff!important;padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-header);font-weight:600;text-transform:uppercase;cursor:pointer;transition:all var(--transition-fast);font-size:.875rem}.mode-button:hover{border-color:var(--color-secondary);color:var(--color-secondary)}.mode-button.active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-secondary)}.filters{display:flex;gap:var(--spacing-md);flex-wrap:wrap;align-items:center;justify-content:flex-start;width:100%}.search-box{flex:1 1 auto;min-width:200px;max-width:300px}.search-input{width:100%;padding:var(--spacing-sm);background:#f5f7fa0d;border:2px solid var(--color-neutral);color:var(--color-secondary);font-family:var(--font-body);font-size:1rem;transition:all var(--transition-fast)}.search-input:focus{outline:none;border-color:var(--color-accent);background:#f5f7fa14}.category-select{flex:0 0 auto;min-width:200px;width:100%;min-height:44px;padding:var(--spacing-sm);background:#f5f7fa0d;border:2px solid var(--color-neutral);color:var(--color-secondary);font-family:var(--font-header);font-weight:600;text-transform:uppercase;font-size:.875rem;cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:space-between}.category-select:focus{outline:none;border-color:var(--color-accent)}.category-select.open{border-color:var(--color-accent)}.category-select-wrapper{position:relative;min-width:200px}.category-select-wrapper.open{z-index:10000}.category-options{position:absolute;top:calc(100% + 4px);left:0;right:0;background-color:#2a2a2a;border:2px solid var(--color-neutral);border-radius:6px;display:flex;flex-direction:column;z-index:10001;overflow:hidden;box-shadow:0 8px 16px #00000059}.promo-toggle{flex:0 0 auto;min-width:100px;min-height:44px;padding:var(--spacing-sm) var(--spacing-md);background:#f5f7fa0d;border:2px solid var(--color-neutral);color:var(--color-secondary);font-family:var(--font-header);font-weight:600;font-size:.875rem;cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;text-transform:uppercase}.promo-toggle:hover{border-color:var(--color-accent);background:#ff4a651a}.promo-toggle.active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}@media (max-width: 767px){.filters{flex-direction:column;gap:var(--spacing-sm);align-items:stretch}.search-box{min-width:unset;max-width:unset;width:100%}.category-select{min-width:unset;width:100%;font-size:.8rem}}.category-option{background:transparent;border:none;color:#e0e0e0;font-family:var(--font-header);font-weight:600;text-transform:uppercase;font-size:.875rem;padding:10px 12px;text-align:left;cursor:pointer;transition:all var(--transition-fast)}.category-option:hover,.category-option:focus,.category-option.selected{background-color:var(--color-accent);color:var(--color-secondary);outline:none}.comparison-section{background:#f5f7fa05;border:2px solid var(--color-accent);padding:var(--spacing-md);margin-bottom:var(--spacing-lg)}.comparison-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);flex-wrap:wrap;gap:var(--spacing-sm);position:relative;padding-right:40px}.comparison-section h3{margin:0;color:var(--color-accent)}.close-comparison-button{position:absolute;top:0;right:0;background:transparent;border:none;color:var(--color-neutral);font-size:1.5rem;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);min-height:auto}.close-comparison-button:hover{color:var(--color-accent);background:#e106001a;border-radius:50%}@media (min-width: 768px) and (max-width: 1000px){.comparison-header{padding-right:50px}.close-comparison-button{top:5px;right:10px}}.comparison-tabs{display:flex;gap:var(--spacing-xs);flex-wrap:wrap;max-width:calc(100% - 40px)}.comparison-tab{background:transparent;border:2px solid var(--color-neutral);color:var(--color-neutral);padding:var(--spacing-xs) var(--spacing-sm);font-family:var(--font-header);font-weight:600;text-transform:uppercase;cursor:pointer;transition:all var(--transition-fast);font-size:.75rem;min-height:auto}.comparison-tab:hover{border-color:var(--color-secondary);color:var(--color-secondary)}.comparison-tab.active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-secondary)}.comparison-drivers{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-md);max-width:100%}.comparison-card{position:relative;background:#f5f7fa0d;border:2px solid var(--color-neutral);padding:var(--spacing-md)}.remove-button{position:absolute;top:var(--spacing-xs);right:var(--spacing-xs);background:var(--color-accent);color:var(--color-secondary);border:none;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;padding:0;min-height:auto}.comparison-card h4{margin-bottom:var(--spacing-sm);color:var(--color-secondary)}.driver-vehicle{font-size:.875rem;color:var(--color-neutral);opacity:.8;margin-bottom:var(--spacing-sm);font-style:italic}.comparison-times{font-family:var(--font-mono);font-size:.875rem;color:var(--color-neutral)}.comparison-times div{margin-bottom:4px}.time-used{background:#18c9641a;color:var(--color-success)!important;font-weight:600;padding:2px 4px;border-left:3px solid var(--color-success)}.comparison-diff{text-align:center;padding-top:var(--spacing-sm);border-top:2px solid var(--color-neutral);color:var(--color-success)}.comparison-positions{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-md);max-width:100%}.position-card{position:relative;background:#f5f7fa0d;border:2px solid var(--color-neutral);padding:var(--spacing-md)}.position-info{display:flex;flex-direction:column;gap:var(--spacing-sm)}.position-row{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xs) 0;border-bottom:1px solid rgba(138,143,152,.2)}.position-row:last-child{border-bottom:none}.position-value{font-family:var(--font-mono);font-weight:700;color:var(--color-accent);font-size:1.125rem}.comparison-charts{margin-top:var(--spacing-md)}.chart-simple{display:flex;flex-direction:column;gap:var(--spacing-md);margin-top:var(--spacing-md)}.chart-row{background:#f5f7fa05;border:2px solid var(--color-neutral);padding:var(--spacing-md)}.chart-label{font-family:var(--font-header);font-weight:700;text-transform:uppercase;color:var(--color-secondary);margin-bottom:var(--spacing-sm);text-align:center}.chart-bars{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.chart-bar{display:flex;align-items:center;gap:var(--spacing-sm)}.bar-pilot{font-weight:600;color:var(--color-secondary);min-width:120px;font-size:.875rem}.bar-fill{flex:1;background:#8a8f9833;border:2px solid var(--color-neutral);padding:var(--spacing-xs) var(--spacing-sm);position:relative;display:flex;align-items:center;justify-content:center;min-height:40px}.bar-fill.winner{background:#18c9641a;border-color:var(--color-success);color:var(--color-success)}.bar-time{font-family:var(--font-mono);font-weight:700;font-size:1rem}.chart-diff{text-align:center;font-size:.875rem;color:var(--color-warning);font-weight:600;font-style:italic}.chart-wrapper{display:flex;justify-content:center;margin:var(--spacing-md) 0;width:100%;overflow:hidden}.line-chart-container{width:100%;height:100%;display:flex;justify-content:center;overflow:hidden}.line-chart-container canvas{max-width:100%;height:auto;display:block}.chart-analysis{margin-top:var(--spacing-lg);background:#f5f7fa05;border:2px solid var(--color-neutral);padding:var(--spacing-md);width:100%;overflow:hidden;box-sizing:border-box}.chart-analysis .analysis-grid{width:100%;max-width:min(600px,calc(100vw - 160px));margin:0 auto;overflow:hidden}@media (max-width: 479px){.chart-analysis .analysis-grid{max-width:calc(100vw - 80px)}}@media (min-width: 480px) and (max-width: 767px){.chart-analysis .analysis-grid{max-width:calc(100vw - 120px)}}@media (max-width: 767px){.analysis-row{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.analysis-result{width:100%;justify-content:flex-start;flex-wrap:wrap}.winner-name,.loser-name{max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analysis-diff{margin-left:auto}}.chart-analysis h5{margin:0 0 var(--spacing-sm) 0;color:var(--color-secondary);font-size:1rem}.analysis-grid{display:flex;flex-direction:column;gap:var(--spacing-xs)}.analysis-row{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xs) 0;border-bottom:1px solid rgba(138,143,152,.2);min-width:0;overflow:hidden}.analysis-row.total{border-bottom:none;border-top:2px solid var(--color-accent);padding-top:var(--spacing-sm);margin-top:var(--spacing-xs)}.analysis-label{font-family:var(--font-header);font-weight:600;font-size:.875rem;color:var(--color-neutral);text-transform:uppercase}.analysis-result{display:flex;align-items:center;gap:var(--spacing-xs);font-family:var(--font-mono);min-width:0;flex-wrap:wrap;justify-content:flex-end}.winner-name{color:var(--color-success);font-weight:700}.loser-name{color:var(--color-neutral);font-weight:400}.analysis-diff{color:var(--color-warning);font-weight:700;background:#f5a6231a;padding:2px 6px;border-radius:2px}.vs{color:var(--color-neutral);font-size:.75rem;font-style:italic}.single-time,.single-best,.single-sum{color:var(--color-secondary);font-weight:600;font-family:var(--font-mono);font-size:1rem;display:block;margin-bottom:var(--spacing-xs)}.single-best{color:var(--color-warning)}.single-sum{color:var(--color-success)}.results-table{overflow-x:auto;overflow-y:visible;margin-bottom:var(--spacing-lg);position:relative;padding-top:0}.desktop-only{display:block}.mobile-only{display:none}.results-mobile{margin-bottom:var(--spacing-lg);position:relative;padding-top:80px}.mobile-result-card{background:#f5f7fa05;border-bottom:1px solid rgba(138,143,152,.2);padding:var(--spacing-sm);transition:all var(--transition-fast)}.mobile-result-card:hover{background:#f5f7fa0d}.mobile-result-card.selected{background:#e106001a;border-left:3px solid var(--color-accent)}.mobile-result-main{display:flex;align-items:flex-start;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.mobile-position{font-family:var(--font-mono);font-weight:700;color:var(--color-accent);font-size:1.125rem;min-width:30px;flex-shrink:0}.mobile-pilot-time{flex:1;min-width:0}.mobile-pilot{font-weight:600;color:var(--color-secondary);font-size:1rem;margin-bottom:2px;word-break:break-word}.mobile-time{font-weight:700;color:var(--color-secondary);font-size:1.125rem}.mobile-compare-button{background:transparent;border:2px solid var(--color-neutral);color:var(--color-neutral);width:35px;height:35px;padding:0;cursor:pointer;transition:all var(--transition-fast);min-height:auto;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1rem}.mobile-compare-button:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.mobile-compare-button:disabled{opacity:.3;cursor:not-allowed}.mobile-result-details{display:flex;gap:var(--spacing-sm);font-size:.875rem;color:var(--color-neutral);flex-wrap:wrap;align-items:center;margin-left:42px}.mobile-category{text-transform:uppercase;font-weight:500}.mobile-times-used{font-style:italic;color:var(--color-neutral)}.mobile-delta{color:var(--color-warning);font-weight:600;margin-left:auto}.results-table table{width:100%;border-collapse:collapse;table-layout:auto}.results-table th{background:#f5f7fa05;padding:var(--spacing-sm);text-align:left;font-family:var(--font-header);font-weight:700;text-transform:uppercase;font-size:.875rem;color:#fff!important;border-bottom:2px solid var(--color-neutral);letter-spacing:.05em}.results-table td{padding:var(--spacing-sm);border-bottom:1px solid rgba(138,143,152,.2);color:var(--color-secondary);vertical-align:middle;box-sizing:border-box}.results-table tr:hover{background:#f5f7fa05}.results-table tr.selected{background:#e106001a;position:relative}.results-table tr.selected:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--color-accent)}td.position{font-family:var(--font-mono);font-weight:700;color:var(--color-accent);width:60px;vertical-align:middle;text-align:center;padding:var(--spacing-sm);height:inherit;box-sizing:border-box;display:table-cell!important}.results-table tbody tr{height:auto}.results-table tbody tr td{vertical-align:middle;height:inherit}.pilot{font-weight:600;color:var(--color-secondary)}.category{font-size:.875rem;color:var(--color-neutral);text-transform:uppercase}.classe{font-size:.875rem;color:var(--color-neutral)}.time{font-weight:700;color:var(--color-secondary)}.times-used{font-size:.75rem;color:var(--color-neutral);font-style:italic}.delta{color:var(--color-warning);font-size:.875rem}.actions{width:50px;text-align:center;position:relative}.column-tooltip{position:absolute;top:-35px;left:50%;transform:translate(-50%);background:var(--color-accent);color:var(--color-secondary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:4px;font-size:.75rem;white-space:nowrap;z-index:10;opacity:.9;animation:tooltipFloat 2s ease-in-out infinite}.column-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--color-accent)}@keyframes tooltipFloat{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-3px)}}.floating-help-banner{position:fixed;top:20px;right:20px;z-index:1000;max-width:320px;animation:slideInRight .3s ease-out;pointer-events:none}.banner-content{background:#18c964f2;border:2px solid var(--color-success);border-radius:8px;padding:var(--spacing-sm);display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm);box-shadow:0 4px 12px #00000026;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:all}.banner-content span{color:var(--color-secondary);font-weight:600;font-size:.9rem}.view-comparison-button{background:var(--color-success);color:var(--color-secondary);border:none;padding:var(--spacing-xs) var(--spacing-sm);border-radius:4px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all var(--transition-fast);min-height:auto;white-space:nowrap}.view-comparison-button:hover{background:#0ea472;transform:translateY(-1px)}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.selection-help-banner{position:absolute;right:15px;top:10px;z-index:9999;display:flex;flex-direction:column;align-items:center;animation:bounceIn .6s ease-out}.banner-arrow{font-size:1.5rem;color:var(--color-accent);animation:bounceArrow 1.5s ease-in-out infinite;margin-bottom:5px;text-shadow:0 2px 4px rgba(0,0,0,.3);filter:drop-shadow(0 2px 4px rgba(225,6,0,.4))}.banner-content-header{background:var(--color-accent);color:var(--color-secondary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:6px;font-size:.8rem;font-weight:600;white-space:nowrap;box-shadow:0 4px 12px #e1060066;border:2px solid rgba(225,6,0,.9);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@keyframes bounceIn{0%{opacity:0;transform:scale(.3) translateY(-20px)}50%{opacity:.8;transform:scale(1.05)}70%{transform:scale(.95)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes bounceArrow{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}.compare-button{background:transparent;border:2px solid var(--color-neutral);color:var(--color-neutral);width:30px;height:30px;padding:0;cursor:pointer;transition:all var(--transition-fast);min-height:auto;display:inline-flex;align-items:center;justify-content:center}.compare-button:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.compare-button:disabled{opacity:.3;cursor:not-allowed}.stats-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md)}.stat-card{background:#f5f7fa05;border:2px solid var(--color-neutral);padding:var(--spacing-md);text-align:center}.stat-card h4{font-size:.875rem;color:var(--color-neutral);margin-bottom:var(--spacing-xs);letter-spacing:.05em}.stat-value{font-size:1.5rem;font-weight:700;color:var(--color-accent)}@media (max-width: 767px){.desktop-only{display:none}.mobile-only{display:block}.view-modes{flex-direction:column}.mode-button{width:100%}.filters{flex-direction:column}.search-box{width:100%}.stats-section{grid-template-columns:1fr}.comparison-header{flex-direction:column;align-items:stretch}.close-comparison-button{top:-5px;right:-5px}.comparison-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:var(--spacing-xs)}.comparison-tab{text-align:center;padding:6px var(--spacing-xs);font-size:.65rem}.comparison-positions{grid-template-columns:1fr}.comparison-drivers{grid-template-columns:1fr;max-width:400px;margin:0 auto var(--spacing-md) auto}.comparison-positions{max-width:450px;margin:0 auto}.chart-bar{flex-direction:column;align-items:stretch;gap:var(--spacing-xs)}.bar-pilot{min-width:auto;text-align:center;font-size:1rem}.floating-help-banner{position:fixed;top:10px;left:10px;right:10px;max-width:none}.banner-content{flex-direction:column;text-align:center;gap:var(--spacing-xs)}.banner-content span{font-size:.85rem}.column-tooltip{display:none}.selection-help-banner{right:15px;top:10px}.banner-content-header{font-size:.75rem;padding:6px var(--spacing-xs)}}.no-data-message{text-align:center;padding:var(--spacing-xl) var(--spacing-lg)!important;background:#f5f7fa05;border-top:2px solid var(--color-neutral)}.no-data-content{display:flex;flex-direction:column;gap:var(--spacing-md);align-items:center}.race-date{font-family:var(--font-header);font-size:1.125rem;font-weight:600;color:var(--color-secondary);display:flex;align-items:center;gap:var(--spacing-xs)}.live-message{font-size:1rem;color:var(--color-accent);display:flex;align-items:center;gap:var(--spacing-xs)}.waiting-message{font-size:1rem;color:var(--color-neutral);font-style:italic;opacity:.8;animation:pulse 2s infinite ease-in-out}.mobile-no-data-card{background:#f5f7fa05;border:2px solid var(--color-neutral);padding:var(--spacing-xl);text-align:center;border-radius:8px}@keyframes pulse{0%,to{opacity:.8}50%{opacity:.4}}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center;gap:var(--spacing-md)}.loading-spinner{width:40px;height:40px;border:3px solid var(--color-neutral);border-top:3px solid var(--color-secondary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-state p{color:var(--color-neutral);font-size:1.125rem}.error-state h3{color:var(--color-accent);margin-bottom:var(--spacing-sm)}.error-state p{color:var(--color-neutral);opacity:.8}.last-update{font-size:.875rem;color:var(--color-neutral);opacity:.7;margin-top:var(--spacing-xs)}@media (max-width: 768px){.documents-list{grid-template-columns:1fr;gap:12px;max-width:100%;padding:0 16px}.document-card{padding:16px}.document-icon{font-size:1.25rem}.document-title{font-size:1rem}.document-date{font-size:.85rem}}.historic{min-height:100vh;background:var(--color-primary)}.classification-section{padding-bottom:var(--spacing-xl)}.year-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl);flex-wrap:wrap;gap:var(--spacing-md)}.year-title{font-size:1.75rem;color:var(--color-accent);font-weight:700}.source-link{background:#18c9641a;border:2px solid var(--color-success);color:var(--color-success);padding:var(--spacing-xs) var(--spacing-sm);border-radius:4px;font-weight:600;font-size:.875rem;transition:all var(--transition-fast)}.source-link:hover{background:var(--color-success);color:var(--color-secondary);transform:translateY(-1px)}.champion-card{background:linear-gradient(135deg,#e106001a,#e106000d);border:3px solid var(--color-accent);border-radius:8px;padding:var(--spacing-xl);text-align:center;margin-bottom:var(--spacing-xl);position:relative;overflow:hidden}.champion-card:before{content:"🏆";position:absolute;top:-20px;right:-20px;font-size:100px;opacity:.1;transform:rotate(15deg)}.champion-badge{display:inline-block;background:var(--color-accent);color:var(--color-secondary);padding:var(--spacing-xs) var(--spacing-md);border-radius:20px;font-weight:700;font-size:.875rem;letter-spacing:.05em;margin-bottom:var(--spacing-md)}.champion-name{font-size:2rem;color:var(--color-secondary);font-weight:700;margin-bottom:var(--spacing-xs)}.champion-car{color:var(--color-neutral);font-size:1.125rem;margin-bottom:var(--spacing-sm)}.champion-points{font-size:1.5rem;color:var(--color-accent);font-weight:700;font-family:var(--font-mono)}.categories-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.category-card{background:#f5f7fa05;border:2px solid var(--color-neutral);border-radius:8px;padding:var(--spacing-lg)}.category-title{font-size:1.25rem;color:var(--color-accent);margin-bottom:var(--spacing-md);text-align:center;text-transform:uppercase;letter-spacing:.05em}.pilots-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.pilot-row{display:flex;align-items:center;padding:var(--spacing-sm);background:#f5f7fa05;border-radius:4px;transition:all var(--transition-fast)}.pilot-row:hover{background:#f5f7fa0d;transform:translate(5px)}.pilot-position{font-weight:700;font-size:1.125rem;color:var(--color-accent);width:40px;text-align:center}.pilot-name{flex:1;color:var(--color-secondary);font-weight:600;padding:0 var(--spacing-sm)}.pilot-points{font-family:var(--font-mono);color:var(--color-warning);font-weight:700;background:#f5a6231a;padding:4px 8px;border-radius:4px}.previous-years{margin-top:var(--spacing-xl)}.section-title{font-size:1.5rem;color:var(--color-secondary);margin-bottom:var(--spacing-lg);text-align:center}.years-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-md)}.year-card{background:#f5f7fa05;border:2px solid var(--color-neutral);border-radius:8px;padding:var(--spacing-lg);text-align:center;transition:all var(--transition-fast);cursor:pointer}.year-card.placeholder{opacity:.5;cursor:default}.year-card:not(.placeholder):hover{background:#f5f7fa0d;border-color:var(--color-accent);transform:translateY(-2px)}.year{display:block;font-size:1.5rem;font-weight:700;color:var(--color-secondary);margin-bottom:var(--spacing-xs)}.coming-soon{font-size:.875rem;color:var(--color-neutral);font-style:italic}@media (max-width: 767px){.year-header{flex-direction:column;text-align:center}.champion-name{font-size:1.5rem}.categories-grid{grid-template-columns:1fr}.pilot-row{font-size:.875rem}.pilot-position{font-size:1rem;width:35px}.years-grid{grid-template-columns:1fr}}.documents-wrap{width:100%}.pdl-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.pdl-search,.pdl-filter{padding:10px 14px;background:#1a1c20;border:1px solid #2e3135;border-radius:6px;color:#fff;font-size:14px;font-family:inherit}.pdl-search{flex:1 1 280px;min-width:240px}.pdl-filter{flex:0 1 240px;cursor:pointer}.pdl-search:focus,.pdl-filter:focus{outline:none;border-color:#e10600}.pdl-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.pdl-item{margin:0}.pdl-card{display:flex;align-items:center;gap:14px;background:#1a1c20;border:1px solid #2e3135;border-radius:8px;padding:12px 16px;text-decoration:none;color:inherit;transition:border-color .15s ease,transform .15s ease}.pdl-card:hover{border-color:#e10600;transform:translateY(-1px)}.pdl-card:focus-visible{outline:2px solid #E10600;outline-offset:2px}.pdl-icon{font-size:28px;flex:0 0 auto}.pdl-body{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1 auto}.pdl-title{font-size:16px;font-weight:600;color:#fff;overflow-wrap:break-word;word-break:break-word}.pdl-meta{display:flex;flex-wrap:wrap;gap:6px 10px;font-size:12px;color:#fff;opacity:.85}.pdl-apartment{background:#e1060026;color:#fff;border:1px solid rgba(225,6,0,.5);border-radius:4px;padding:1px 8px;font-weight:600;letter-spacing:.02em}.pdl-date,.pdl-size{font-variant-numeric:tabular-nums}.documents-loading,.documents-error,.documents-empty{text-align:center;padding:40px 16px;color:#fff;background:#1a1c20;border:1px solid #2e3135;border-radius:8px}.documents-error{color:#fca5a5;border-color:#7f1d1d}.documents-empty .empty-icon{font-size:32px;margin-bottom:8px}.documents-error .error-icon{margin-right:6px}@media (max-width: 600px){.pdl-card{padding:10px 12px;gap:10px}.pdl-icon{font-size:24px}.pdl-title{font-size:15px}}.reglament{min-height:100vh;background:var(--color-primary)}.hero-section{background:linear-gradient(180deg,#1a1c20 0%,var(--color-primary) 100%);padding:var(--spacing-xl) 0;margin-bottom:var(--spacing-lg);border-bottom:2px solid var(--color-neutral)}.page-title{font-size:clamp(2rem,5vw,3rem);margin-bottom:var(--spacing-xs);color:var(--color-secondary)}.page-title-container{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);margin-bottom:var(--spacing-xs);flex-wrap:wrap}.page-title-text{font-size:clamp(2rem,5vw,3rem);font-weight:900;text-transform:uppercase;letter-spacing:-.03em;color:var(--color-secondary);text-shadow:0 4px 24px rgba(0,0,0,.3)}.page-title-logos{display:flex;gap:var(--spacing-sm);align-items:center}.page-title-year{font-size:clamp(2rem,5vw,3rem);font-weight:900;text-transform:uppercase;letter-spacing:-.03em;color:var(--color-secondary);text-shadow:0 4px 24px rgba(0,0,0,.3);font-family:var(--font-header)}.page-subtitle{font-family:var(--font-header);font-size:1rem;color:var(--color-neutral);text-transform:uppercase;letter-spacing:.1em}.reglament-section{padding-bottom:var(--spacing-xl)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px;color:var(--color-neutral)}.loading-spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.3);border-top:3px solid var(--color-secondary);border-radius:50%;animation:spin 1s linear infinite}.error-message{display:flex;align-items:center;gap:12px;background:#dc26261a;border:1px solid #dc2626;color:#dc2626;padding:16px 20px;border-radius:8px;margin:20px 0}.error-icon{font-size:18px}.empty-state{text-align:center;padding:60px 20px;color:var(--color-neutral)}.empty-state h3{color:var(--color-secondary);margin-bottom:8px}.empty-state p{color:var(--color-neutral)}.documents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:24px;margin-bottom:40px}.document-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;overflow:hidden;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.document-card:hover{transform:translateY(-4px);box-shadow:0 8px 32px #0003;border-color:var(--color-secondary)}.document-header{background:#ffffff1a;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.1)}.document-icon{font-size:1.5rem;color:var(--color-secondary)}.document-badge{background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;padding:4px 12px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.document-content{padding:20px}.document-title{color:var(--color-secondary);font-size:1.1rem;font-weight:600;margin-bottom:8px;line-height:1.3}.document-filename{color:#fff9;font-size:12px;font-family:Monaco,Menlo,monospace;background:#ffffff0d;padding:4px 8px;border-radius:4px;display:inline-block;margin-bottom:16px}.document-meta{display:flex;flex-direction:column;gap:8px}.meta-item{display:flex;justify-content:space-between;align-items:center;font-size:13px}.meta-label{color:#ffffffb3;font-weight:500}.meta-value{color:var(--color-neutral);font-weight:600;text-align:right}.document-actions{padding:16px 20px;background:#ffffff0d;border-top:1px solid rgba(255,255,255,.1);display:flex;gap:12px}.action-button{flex:1;padding:10px 16px;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:6px}.action-button.view{background:#ffffff1a;color:var(--color-neutral);border:1px solid rgba(255,255,255,.2)}.action-button.view:hover{background:#fff3;transform:translateY(-1px)}.action-button.download{background:linear-gradient(135deg,var(--color-secondary) 0%,#f59e0b 100%);color:var(--color-primary)}.action-button.download:hover{transform:translateY(-1px);box-shadow:0 4px 12px #f2ce314d}.info-section{margin-top:40px}.info-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:24px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.info-card h3{color:var(--color-secondary);margin-bottom:12px;font-size:1.1rem}.info-card p{color:#fffc;margin-bottom:16px;line-height:1.5}.info-list li{color:#ffffffb3;padding:6px 0 6px 20px;position:relative;line-height:1.4}.info-list li:before{content:"•";color:var(--color-secondary);position:absolute;left:0;font-weight:700}@media (max-width: 768px){.documents-grid{grid-template-columns:1fr;gap:16px}.document-card{margin:0 10px}.document-actions{flex-direction:column;gap:8px}.action-button{width:100%}.meta-item{flex-direction:column;align-items:flex-start;gap:2px}.meta-value{text-align:left}}.reglament-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl);flex-wrap:wrap;gap:var(--spacing-md)}.section-title{font-size:1.75rem;color:var(--color-accent);font-weight:700}.download-btn{background:var(--color-success);color:var(--color-primary);padding:var(--spacing-sm) var(--spacing-lg);border-radius:4px;font-weight:700;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;transition:all var(--transition-fast);display:inline-flex;align-items:center;gap:var(--spacing-xs)}.download-btn:hover{background:#16d465;transform:translateY(-2px);box-shadow:0 4px 12px #18c9644d}.download-btn:before{content:"⬇";font-size:1.125rem}.pdf-viewer{background:#f5f7fa05;border:2px solid var(--color-neutral);border-radius:8px;padding:var(--spacing-md);margin-bottom:var(--spacing-xl);min-height:800px}.pdf-frame{width:100%;height:800px;border:none;border-radius:4px;background:#fff}.reglament-info{margin-top:var(--spacing-xl)}.info-card{background:#f5f7fa05;border:2px solid var(--color-neutral);border-radius:8px;padding:var(--spacing-lg)}.info-card h3{color:var(--color-accent);font-size:1.25rem;margin-bottom:var(--spacing-md);text-transform:uppercase;letter-spacing:.05em}.info-list{list-style:none;padding:0;margin:0}.info-list li{color:var(--color-secondary);padding:var(--spacing-sm) 0;padding-left:var(--spacing-lg);position:relative;border-bottom:1px solid rgba(106,115,125,.2)}.info-list li:last-child{border-bottom:none}.info-list li:before{content:"▸";position:absolute;left:0;color:var(--color-accent);font-weight:700}.documents-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;max-width:1000px;margin:0 auto}.document-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000001a;border:2px solid transparent;cursor:pointer;transition:all .3s ease}.document-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #00000026;border-color:#2a5298}.document-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.document-icon{font-size:1.5rem;flex-shrink:0}.document-title{font-size:1.1rem;font-weight:600;color:#1e3c72;line-height:1.3}.document-meta{display:flex;align-items:center;gap:8px}.document-date{font-size:.9rem;color:#6b7280;display:flex;align-items:center;gap:4px}@media (max-width: 767px){.reglament-header{flex-direction:column;text-align:center}.documents-list{grid-template-columns:1fr;gap:12px;max-width:100%;padding:0 16px}.document-card{padding:16px}.document-icon{font-size:1.25rem}.document-title{font-size:1rem}.document-date{font-size:.85rem}.pdf-viewer{padding:var(--spacing-sm)}.pdf-frame{height:600px}.download-btn{width:100%;justify-content:center}}.manual-entry-button{padding:8px 16px;border-radius:4px;border:none;cursor:pointer;font-size:14px;font-weight:500;margin:4px;background-color:#3b82f6;color:#fff}.manual-entry-button:hover{background-color:#2563eb}.mde-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.mde-modal{background:#fff;border-radius:8px;width:90%;max-width:700px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003}.mde-header{padding:16px 20px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.mde-header h2{margin:0;font-size:18px;font-weight:600;color:#1f2937}.mde-close{background:none;border:none;font-size:24px;cursor:pointer;color:#6b7280}.mde-body{padding:20px;color:#1f2937}.mde-hint{background:#eff6ff;border-left:3px solid #3b82f6;padding:10px 12px;margin:0 0 16px;font-size:13px;color:#1e3a8a}.mde-step{margin-bottom:20px}.mde-step h3{margin:0 0 8px;font-size:14px;font-weight:600;color:#374151}.mde-slot-select,.mde-mapping select{width:100%;padding:8px 10px;border:1px solid #d1d5db;border-radius:4px;background:#fff;color:#1f2937;font-size:14px}.mde-drop{border:2px dashed #cbd5e1;border-radius:8px;padding:24px;text-align:center;cursor:pointer;background:#f9fafb;color:#4b5563;font-size:14px;transition:all .2s}.mde-drop:hover,.mde-drop.drag-over{border-color:#3b82f6;background:#eff6ff}.mde-mapping{display:grid;gap:10px}.mde-map-row{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:10px}.mde-map-row label{font-size:13px;color:#374151;font-weight:500}.mde-required{color:#111827}.mde-req-dot{color:#dc2626;margin-left:4px}.mde-preview table{width:100%;border-collapse:collapse;font-size:13px;color:#1f2937}.mde-preview th,.mde-preview td{padding:6px 10px;text-align:left;border-bottom:1px solid #e5e7eb}.mde-preview thead{background:#f3f4f6}.mde-preview th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#4b5563}.mde-msg{padding:10px 12px;border-radius:4px;margin-top:12px;font-size:13px}.mde-msg.ok{background:#d1fae5;color:#065f46;border:1px solid #10b981}.mde-msg.err{background:#fee2e2;color:#991b1b;border:1px solid #ef4444}.mde-msg.info{background:#dbeafe;color:#1e3a8a;border:1px solid #3b82f6}.mde-footer{padding:16px 20px;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:10px}.mde-cancel,.mde-submit{padding:8px 16px;border-radius:4px;border:none;font-size:14px;font-weight:500;cursor:pointer}.mde-cancel{background:#e5e7eb;color:#374151}.mde-cancel:hover{background:#d1d5db}.mde-submit{background:#10b981;color:#fff}.mde-submit:hover:not(:disabled){background:#059669}.mde-submit:disabled{opacity:.5;cursor:not-allowed}.auth-section{margin-top:16px;background:#ecfdf5;border:2px solid #10b981;border-radius:8px;padding:16px;color:#064e3b}.auth-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px;border-bottom:1px solid rgba(16,185,129,.25);padding-bottom:10px}.auth-section-header h3{margin:0 0 4px;font-size:1rem;letter-spacing:.04em;color:#047857}.auth-section-sub{margin:0;font-size:.82rem;color:#047857;opacity:.85}.auth-section-close{background:#fffc;color:#064e3b;border:1px solid #10b981;border-radius:6px;padding:6px 10px;font-size:.78rem;cursor:pointer;white-space:nowrap}.auth-section-close:hover{background:#fff}.auth-section-state{padding:24px;text-align:center;color:#047857}.auth-section-state.error{color:#b91c1c}.auth-section-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.auth-col-actions{background:#ffffffb3;border:1px solid rgba(16,185,129,.4);border-radius:8px;padding:10px 12px}.auth-col-actions h4{margin:0 0 4px;font-size:.92rem;color:#047857;display:flex;align-items:center;justify-content:space-between}.auth-count{font-size:.78rem;color:#064e3b;font-weight:600;background:#10b98126;border-radius:999px;padding:2px 8px}.auth-validated{margin:4px 0 8px;font-size:.78rem;color:#047857;font-weight:600}.auth-not-validated{margin:4px 0 8px;font-size:.78rem;color:#6b7280;font-style:italic}.auth-col-buttons{display:flex;gap:6px;flex-wrap:wrap}.auth-validate-btn{background:#10b981;color:#fff;border:1px solid #10b981;border-radius:6px;padding:6px 12px;font-size:.82rem;font-weight:600;cursor:pointer}.auth-validate-btn:hover{background:#059669}.auth-validate-btn:disabled{opacity:.5;cursor:not-allowed}.auth-clear-btn{background:transparent;color:#b91c1c;border:1px solid #f87171;border-radius:6px;padding:6px 10px;font-size:.78rem;cursor:pointer}.auth-clear-btn:hover{background:#ef444414}.auth-clear-btn:disabled{opacity:.5;cursor:not-allowed}.auth-table-wrap{max-height:480px;overflow-y:auto;background:#fff;border:1px solid rgba(16,185,129,.3);border-radius:8px}.auth-table{width:100%;border-collapse:collapse;font-size:.88rem;color:#1f2937}.auth-table thead th{position:sticky;top:0;background:#d1fae5;border-bottom:1px solid #10b981;padding:8px 10px;text-align:left;font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;color:#065f46}.auth-table tbody td{padding:6px 10px;border-bottom:1px solid #e5e7eb}.auth-table tbody tr:hover td{background:#10b9810d}.auth-cell-dorsal{font-weight:700;color:#047857;font-variant-numeric:tabular-nums;width:60px}.auth-cell-grup{width:60px;text-align:center;color:#6b7280}.auth-cell-check{width:110px;text-align:center}.auth-cell-check input[type=checkbox]{width:18px;height:18px;cursor:pointer}.auth-cell-check input[type=checkbox]:disabled{opacity:.4;cursor:not-allowed}@media (max-width: 600px){.auth-section-toolbar{grid-template-columns:1fr}.auth-section-header h3{font-size:.95rem}}.championship-import-section{background:#fff;border-radius:12px;overflow:hidden;margin-bottom:20px;box-shadow:0 2px 8px #0000001a}.section-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:15px 20px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background .3s ease}.section-header:hover{background:linear-gradient(135deg,#5a67d8,#6b4093)}.section-header h3{margin:0;font-size:18px;font-weight:600;display:flex;align-items:center;gap:10px}.expand-icon{font-size:14px;transition:transform .3s ease}.section-content{padding:20px;background:#fafafa}.import-info{margin-bottom:20px;padding:15px;background:#fff;border-radius:8px;border-left:4px solid #667eea}.info-header{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.info-header>div{flex:1}.import-info p{margin:5px 0;color:#333;font-size:14px}.format-hint{font-size:12px!important;color:#666!important;font-family:monospace}.csv-drop-zone{border:2px dashed #ddd;border-radius:8px;padding:40px 20px;text-align:center;background:#fff;transition:all .3s ease;cursor:pointer}.csv-drop-zone:hover{border-color:#667eea;background:#667eea0d}.csv-drop-zone.dragging{border-color:#667eea;background:#667eea1a;transform:scale(1.02)}.csv-drop-zone.has-data{border-color:#4caf50;background:#4caf500d}.drop-icon{font-size:48px;display:block;margin-bottom:15px}.csv-drop-zone p{margin:10px 0;color:#666;font-size:14px}.or-text{font-size:12px!important;color:#999!important;text-transform:uppercase}.file-select-btn{display:inline-block;padding:10px 20px;background:#667eea;color:#fff;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background .3s ease}.file-select-btn:hover{background:#5a67d8}.file-loaded{display:flex;align-items:center;justify-content:center;gap:15px;padding:20px}.file-icon{font-size:32px}.file-name{font-size:16px;color:#333;font-weight:500}.clear-btn{background:#dc3545;color:#fff;border:none;border-radius:50%;width:30px;height:30px;font-size:16px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.clear-btn:hover{background:#c82333;transform:rotate(90deg)}.import-message{margin:20px 0;padding:12px 16px;border-radius:6px;font-size:14px;font-weight:500}.import-message.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.import-message.error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.import-message.info{background:#d1ecf1;color:#0c5460;border:1px solid #bee5eb}.preview-section{margin-top:20px}.preview-section h4{margin:0 0 10px;color:#333;font-size:16px;font-weight:600}.preview-table-container{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 4px #0000001a}.preview-table{width:100%;border-collapse:collapse}.preview-table thead{background:#667eea;color:#fff}.preview-table th{padding:10px;text-align:left;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.preview-table tbody tr{border-bottom:1px solid #f0f0f0}.preview-table tbody tr:hover{background:#f8f9fa}.preview-table td{padding:10px;font-size:13px;color:#333}.more-rows{padding:10px;text-align:center;color:#666;font-size:13px;font-style:italic;background:#f8f9fa;margin:0}.import-btn{margin-top:20px;width:100%;padding:12px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.import-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.import-btn:disabled{opacity:.6;cursor:not-allowed}.delete-data-btn{background:#dc3545;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;white-space:nowrap}.delete-data-btn:hover:not(:disabled){background:#c82333;transform:translateY(-1px);box-shadow:0 2px 8px #dc35454d}.delete-data-btn:disabled{opacity:.6;cursor:not-allowed}.delete-confirm-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999}.delete-confirm-modal .modal-content{background:#fff;border-radius:12px;padding:30px;max-width:400px;box-shadow:0 10px 40px #0003}.delete-confirm-modal h4{margin:0 0 15px;color:#dc3545;font-size:20px}.delete-confirm-modal p{margin:10px 0;color:#333;font-size:14px}.delete-confirm-modal .warning-text{color:#dc3545;font-weight:600;font-style:italic}.modal-buttons{display:flex;gap:15px;margin-top:25px;justify-content:flex-end}.cancel-btn{background:#6c757d;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease}.cancel-btn:hover:not(:disabled){background:#5a6268}.confirm-delete-btn{background:#dc3545;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.confirm-delete-btn:hover:not(:disabled){background:#c82333}.cancel-btn:disabled,.confirm-delete-btn:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.info-header{flex-direction:column}.delete-data-btn{width:100%}.preview-table{font-size:11px}.preview-table th,.preview-table td{padding:6px}}.inscrits-upload-section{background:#fff;border-radius:12px;overflow:hidden;margin-bottom:20px;box-shadow:0 2px 8px #0000001a}.inscrits-upload-section .section-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:15px 20px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background .3s ease}.inscrits-upload-section .section-header:hover{background:linear-gradient(135deg,#5a67d8,#6b4093)}.inscrits-upload-section .section-header h3{margin:0;font-size:18px;font-weight:600;display:flex;align-items:center;gap:10px}.inscrits-upload-section .expand-icon{font-size:14px}.inscrits-upload-section .section-content{padding:20px;background:#fafafa;color:#333}.inscrits-upload-section .format-hint{font-size:12px;color:#555;margin:0 0 16px;line-height:1.5;background:#fff;padding:10px 12px;border-left:4px solid #667eea;border-radius:4px}.inscrits-upload-section .format-hint code{background:#eef2ff;padding:2px 6px;border-radius:3px;color:#3730a3;font-family:monospace}.inscrits-upload-section .race-status-table{margin-bottom:16px;overflow-x:auto;background:#fff;border-radius:8px;box-shadow:0 1px 4px #0000000f}.inscrits-upload-section .race-status-table table{width:100%;border-collapse:collapse;font-size:13px;color:#333}.inscrits-upload-section .race-status-table th,.inscrits-upload-section .race-status-table td{padding:8px 12px;text-align:left;border-bottom:1px solid #f0f0f0;color:#333}.inscrits-upload-section .race-status-table thead{background:#667eea;color:#fff}.inscrits-upload-section .race-status-table th{color:#fff;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.inscrits-upload-section .delete-inscrits-btn{background:transparent;border:1px solid #fca5a5;color:#dc2626;border-radius:4px;padding:3px 8px;font-size:13px;cursor:pointer;transition:background .15s ease}.inscrits-upload-section .delete-inscrits-btn:hover{background:#fee2e2}.inscrits-upload-section .race-status-table tr.selected{background:#667eea14;font-weight:600}.inscrits-upload-section .upload-controls{margin-bottom:16px}.inscrits-upload-section .race-selector{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:#333;font-weight:500}.inscrits-upload-section .race-selector select{padding:8px 10px;background:#fff;color:#333;border:1px solid #ccc;border-radius:4px;font-size:13px;cursor:pointer}.inscrits-upload-section .csv-drop-zone{border:2px dashed #ddd;border-radius:8px;padding:30px 20px;text-align:center;background:#fff;transition:all .3s ease;margin-bottom:12px;color:#333}.inscrits-upload-section .csv-drop-zone.dragging{border-color:#667eea;background:#667eea14}.inscrits-upload-section .csv-drop-zone.has-data{border-color:#4caf50;background:#4caf500d;border-style:solid}.inscrits-upload-section .drop-icon{font-size:40px;display:block;margin-bottom:10px;color:#333}.inscrits-upload-section .csv-drop-zone p{margin:6px 0;color:#555;font-size:13px}.inscrits-upload-section .or-text{color:#999!important;text-transform:uppercase;font-size:11px!important}.inscrits-upload-section .file-select-btn{display:inline-block;padding:10px 20px;background:#667eea;color:#fff;border-radius:6px;cursor:pointer;font-weight:500;font-size:14px}.inscrits-upload-section .file-select-btn:hover{background:#5a67d8}.inscrits-upload-section .file-loaded{display:flex;align-items:center;justify-content:center;gap:12px;padding:10px}.inscrits-upload-section .file-icon{font-size:28px}.inscrits-upload-section .file-name{font-size:15px;color:#333;font-weight:500;font-family:monospace}.inscrits-upload-section .clear-btn{background:#dc3545;color:#fff;border:none;border-radius:50%;width:28px;height:28px;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center}.inscrits-upload-section .clear-btn:hover{background:#c82333}.inscrits-upload-section .import-message{padding:12px 16px;border-radius:6px;font-size:14px;margin-bottom:12px;font-weight:500}.inscrits-upload-section .import-message.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.inscrits-upload-section .import-message.error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.inscrits-upload-section .import-message.info{background:#d1ecf1;color:#0c5460;border:1px solid #bee5eb}.inscrits-upload-section .preview-section{margin-top:16px}.inscrits-upload-section .preview-section h4{margin:0 0 10px;font-size:15px;color:#333;font-weight:600}.inscrits-upload-section .preview-table-container{overflow-x:auto;background:#fff;border-radius:8px;box-shadow:0 1px 4px #0000000f}.inscrits-upload-section .preview-table{width:100%;border-collapse:collapse;font-size:13px;color:#333}.inscrits-upload-section .preview-table thead{background:#667eea;color:#fff}.inscrits-upload-section .preview-table th{color:#fff;padding:10px;text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.inscrits-upload-section .preview-table td{padding:8px 10px;color:#333;border-bottom:1px solid #f0f0f0}.inscrits-upload-section .preview-table tr:hover td{background:#f8f9fa}.inscrits-upload-section .more-rows{padding:10px;text-align:center;color:#666;font-size:12px;font-style:italic;background:#f8f9fa;margin:0}.inscrits-upload-section .import-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 20px;border-radius:8px;cursor:pointer;font-weight:600;font-size:15px;width:100%;margin-top:12px;transition:all .3s ease}.inscrits-upload-section .import-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.inscrits-upload-section .import-btn:disabled{opacity:.5;cursor:not-allowed}.timekeeper{min-height:100vh;background:var(--color-primary);color:var(--color-secondary)}.timekeeper.loading{display:flex;align-items:center;justify-content:center}.loading-spinner{font-size:1.5rem;color:var(--color-accent)}.timekeeper-header{background:linear-gradient(180deg,#1a1c20 0%,var(--color-primary) 100%);padding:var(--spacing-lg) 0;border-bottom:2px solid var(--color-neutral)}.timekeeper-title{font-size:2rem;margin:0;color:var(--color-secondary)}.timekeeper-actions{display:flex;gap:var(--spacing-sm);margin-left:auto}.refresh-button,.logout-button{background:transparent;border:2px solid var(--color-accent);color:var(--color-accent);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;transition:all var(--transition-fast);border-radius:4px}.refresh-button:hover,.logout-button:hover{background:var(--color-accent);color:var(--color-secondary)}.timekeeper-layout{display:flex;flex-direction:column;gap:var(--spacing-xl);padding:var(--spacing-xl) 0}.timekeeper-section{background:#f5f7fa05;border:2px solid var(--color-neutral);padding:var(--spacing-lg);border-radius:8px}.error-banner{background:#dc2626;color:#fff;padding:var(--spacing-md);margin-bottom:var(--spacing-lg);border-radius:4px}.timekeeper-login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-primary);padding:var(--spacing-lg)}.login-container{width:100%;max-width:500px}.login-card{background:#f5f7fa0d;border:2px solid var(--color-neutral);padding:var(--spacing-xl);border-radius:8px}.login-header{text-align:center;margin-bottom:var(--spacing-lg)}.login-header h1{font-size:2rem;margin-bottom:var(--spacing-xs);color:var(--color-secondary)}.login-header p{color:var(--color-neutral);margin:0}.login-form{margin-bottom:var(--spacing-lg)}.form-group{margin-bottom:var(--spacing-md)}.form-group label{display:block;margin-bottom:var(--spacing-xs);font-weight:600;color:var(--color-secondary)}.form-group input{width:100%;padding:var(--spacing-sm);background:var(--color-primary);border:2px solid var(--color-neutral);color:var(--color-secondary);border-radius:4px;font-size:1rem}.form-group input:focus{outline:none;border-color:var(--color-accent)}.error-message{background:#dc2626;color:#fff;padding:var(--spacing-sm);margin-bottom:var(--spacing-md);border-radius:4px;font-size:.875rem}.login-button{width:100%;background:var(--color-accent);color:var(--color-secondary);border:none;padding:var(--spacing-md);font-size:1rem;font-weight:600;border-radius:4px;cursor:pointer;transition:all var(--transition-fast)}.login-button:hover:not(:disabled){background:#d60400}.login-button:disabled{opacity:.6;cursor:not-allowed}.login-info{color:var(--color-neutral);font-size:.875rem}.login-info ul{margin:var(--spacing-sm) 0 0 var(--spacing-md);padding:0}.login-info li{margin-bottom:var(--spacing-xs)}.live-status-monitor h2{margin:0 0 var(--spacing-lg) 0;color:var(--color-secondary);display:flex;align-items:center;gap:var(--spacing-sm)}.overview-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.stat-card{background:#1a1c20!important;border:2px solid var(--color-neutral);padding:var(--spacing-md);text-align:center;border-radius:4px}.stat-card.live{border-color:var(--color-accent)}.stat-card.completed{border-color:var(--color-success)}.stat-number{font-size:2rem;font-weight:900;margin-bottom:var(--spacing-xs);color:var(--color-secondary)!important}.overview-stats .stat-label{font-size:.875rem;color:var(--color-neutral)!important;text-transform:uppercase;letter-spacing:.05em}.live-races-indicator{display:flex;align-items:center;gap:var(--spacing-sm);background:#e106001a;padding:var(--spacing-md);border-radius:4px;border:2px solid var(--color-accent)}.pulsing-dot{width:12px;height:12px;background:var(--color-accent);border-radius:50%;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.status-table{background:var(--color-primary);border:2px solid var(--color-neutral);border-radius:4px;overflow:hidden}.status-table-header,.status-table-row{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr 1fr;gap:var(--spacing-md);padding:var(--spacing-md);border-bottom:1px solid var(--color-neutral)}.status-table-header{background:#f5f7fa0d;font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-secondary)}.status-table-row:last-child{border-bottom:none}.race-info{display:flex;flex-direction:column}.race-name{font-weight:600;color:var(--color-secondary)}.race-date{font-size:.875rem;color:var(--color-neutral)}.status-indicator{display:inline-block;padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:600;color:#fff;text-align:center}.update-info{display:flex;flex-direction:column;font-size:.875rem}.update-time{font-weight:600;color:var(--color-secondary)}.update-date{color:var(--color-neutral)}.no-update,.no-duration{color:var(--color-neutral);font-style:italic}.live-duration,.completed-duration{display:flex;flex-direction:column;align-items:flex-start}.duration-label{font-size:.75rem;color:var(--color-neutral)}.system-info{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-neutral);display:flex;gap:var(--spacing-lg)}.info-item{display:flex;gap:var(--spacing-xs)}.info-label{color:var(--color-neutral);font-weight:600}.info-value{color:var(--color-secondary)}.race-control-panel h2{color:var(--color-secondary);margin-bottom:var(--spacing-md)}.control-description{color:var(--color-neutral);margin-bottom:var(--spacing-lg)}.race-controls-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:var(--spacing-lg)}.race-control-card{background:var(--color-primary);border:2px solid var(--color-neutral);padding:var(--spacing-md);border-radius:4px}.race-control-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-md)}.race-name{font-size:1.25rem;font-weight:600;margin:0 0 var(--spacing-xs) 0;color:var(--color-secondary)}.race-meta{display:flex;flex-direction:column;gap:var(--spacing-xs);font-size:.875rem;color:var(--color-neutral)}.race-status-badge{display:flex;align-items:center;gap:var(--spacing-xs);padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:600;color:#fff!important}.race-stats{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-md);font-size:.875rem}.stat-item{display:flex;justify-content:space-between}.stat-label{color:var(--color-neutral)}.stat-value{color:var(--color-secondary);font-weight:600}.intermediate-badge{background:var(--color-accent);color:var(--color-secondary);padding:2px 6px;border-radius:4px;font-size:.75rem;font-weight:600}.race-actions{display:flex;flex-direction:column;align-items:stretch;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.polling-interval-selector{display:inline-flex;align-items:center;gap:6px;background:var(--color-surface, #1a1c20);border:1px solid var(--color-neutral, #2e3135);border-radius:4px;padding:6px 10px;color:var(--color-text, #ffffff);font-size:12px;font-weight:500;min-height:44px;white-space:nowrap}.polling-interval-selector select{background:var(--color-surface, #1a1c20);color:var(--color-text, #ffffff);border:1px solid var(--color-neutral, #2e3135);border-radius:3px;padding:2px 6px;font-size:12px;cursor:pointer}.race-actions .action-button{padding:var(--spacing-xs) var(--spacing-sm)!important;border-radius:4px!important;border:none!important;font-size:.875rem!important;font-weight:600!important;cursor:pointer!important;transition:all var(--transition-fast)!important;color:#fff!important;min-height:44px!important;width:100%!important;max-width:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;white-space:normal!important;overflow-wrap:anywhere!important;line-height:1.3!important}.race-actions .start-button{background:var(--color-success)!important;color:#fff!important}.race-actions .stop-button{background:var(--color-accent)!important;color:#fff!important}.race-actions .extract-button,.race-actions .restart-button{background:var(--color-warning)!important;color:var(--color-primary)!important}.race-actions .reset-button{background:#dc2626!important;color:#fff!important}.race-actions .simulate-button{background:#8b5cf6!important;color:#fff!important}.race-actions .start-true-live-button{background:#059669!important;color:#fff!important}.race-actions .stop-true-live-button{background:#dc2626!important;color:#fff!important}.race-actions .test-button{background:transparent!important;border:2px solid var(--color-neutral)!important;color:var(--color-neutral)!important}.race-actions .action-button:hover:not(:disabled){transform:translateY(-1px)!important;opacity:.9!important}.race-actions .action-button:disabled{opacity:.6!important;cursor:not-allowed!important}.heat-test-panel{margin-top:20px;padding:15px;background-color:#f3f4f6;border-radius:8px;border:2px solid #8b5cf6}.heat-test-panel h4{color:#8b5cf6;margin-bottom:15px}.heat-test-panel p{font-size:12px;margin-bottom:15px;color:#6b7280}.heat-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.heat-button{padding:10px!important;background-color:#10b981!important;color:#fff!important;border:none!important;border-radius:6px!important;cursor:pointer!important;font-weight:600!important}.heat-button:hover:not(:disabled){opacity:.9!important}.heat-button.heat-1{background-color:#10b981!important}.heat-button.heat-2{background-color:#3b82f6!important}.heat-button.heat-3{background-color:#f59e0b!important}.heat-button.heat-4{background-color:#ef4444!important}.heat-test-actions{margin-top:15px;display:flex;gap:10px}.heat-test-actions .action-button{flex:1;padding:10px!important;border:none!important;border-radius:6px!important;cursor:pointer!important;color:#fff!important}.action-button.simulate-all-button{background-color:#6366f1!important}.action-button.clear-simulation-button{background-color:#dc2626!important}.heat-test-info{margin-top:10px;padding:8px;background-color:#fef3c7;border-radius:4px;font-size:11px;color:#92400e}.heat-mapping-panel{margin-top:20px;padding:15px;border-radius:8px;border:2px solid}.heat-mapping-panel.configured{background-color:#ecfdf5;border-color:#10b981}.heat-mapping-panel.not-configured{background-color:#fef3c7;border-color:#f59e0b}.heat-mapping-panel h4{margin-bottom:15px}.heat-mapping-panel.configured h4{color:#10b981}.heat-mapping-panel.not-configured h4{color:#f59e0b}.heat-mapping-info{font-size:12px;margin-bottom:15px;color:#000}.heat-mapping-label{font-size:13px;margin-bottom:10px;display:block;color:#000;font-weight:700}.heat-mapping-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}.heat-mapping-row span{min-width:120px;font-weight:700;color:#000}.heat-mapping-select{flex:1;padding:5px;border-radius:4px;border:1px solid #d1d5db;background-color:#fff;color:#000}.heat-mapping-actions{margin-top:15px;display:flex;gap:10px}.heat-mapping-actions button{flex:1;padding:10px!important;border:none!important;border-radius:6px!important;cursor:pointer!important;color:#fff!important;font-weight:600!important}.save-mapping-button{background-color:#10b981!important}.test-mapping-button{background-color:#3b82f6!important}.race-timeline{background:#f5f7fa05;padding:var(--spacing-sm);border-radius:4px;margin-bottom:var(--spacing-md)}.timeline-item{display:flex;justify-content:space-between;font-size:.875rem;margin-bottom:var(--spacing-xs)}.timeline-item:last-child{margin-bottom:0}.timeline-label{color:var(--color-neutral)}.timeline-value{color:var(--color-secondary);font-weight:600}.live-duration{color:var(--color-accent)}.error-info{background:#dc26261a;border:1px solid #dc2626;padding:var(--spacing-sm);border-radius:4px;font-size:.875rem}.error-info strong{color:#dc2626}.config-layout{display:grid;grid-template-columns:300px 1fr;gap:var(--spacing-lg)}.race-selection-grid{display:flex;flex-direction:column;gap:var(--spacing-sm)}.race-select-button{background:var(--color-primary);border:2px solid var(--color-neutral);padding:var(--spacing-md);text-align:left;cursor:pointer;transition:all var(--transition-fast);border-radius:4px}.race-select-button:hover{border-color:var(--color-accent)}.race-select-button.selected{border-color:var(--color-accent);background:#e106001a}.race-select-name{font-weight:600;color:var(--color-secondary);margin-bottom:var(--spacing-xs)}.race-select-status{font-size:.875rem;color:var(--color-neutral);text-transform:uppercase}.config-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.config-header h3{margin:0;color:var(--color-secondary)}.config-actions{display:flex;gap:var(--spacing-sm)}.edit-button,.save-button,.cancel-button,.test-button{padding:var(--spacing-xs) var(--spacing-md);border-radius:4px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.edit-button,.test-button{background:transparent;border:2px solid var(--color-neutral);color:var(--color-neutral)}.save-button{background:var(--color-success);color:#fff;border:none}.cancel-button{background:var(--color-accent);color:#fff;border:none}.config-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.config-section{background:#f5f7fa05;padding:var(--spacing-md);border-radius:4px;border:1px solid var(--color-neutral)}.config-section h4{margin:0 0 var(--spacing-md) 0;color:var(--color-secondary)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-md)}.form-field{display:flex;flex-direction:column}.form-field label{margin-bottom:var(--spacing-xs);font-weight:600;color:var(--color-secondary);font-size:.875rem}.form-field input{padding:var(--spacing-sm);background:var(--color-primary);border:2px solid var(--color-neutral);color:var(--color-secondary);border-radius:4px}.form-field input:focus{outline:none;border-color:var(--color-accent)}.form-field input:disabled{opacity:.6;cursor:not-allowed}.checkbox-field{flex-direction:row;align-items:center;gap:var(--spacing-sm)}.checkbox-field input{width:auto}.current-config-info{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-neutral)}.current-config-info h4{margin:0 0 var(--spacing-md) 0;color:var(--color-secondary)}.status-info{display:flex;flex-direction:column;gap:var(--spacing-sm)}.info-row{display:flex;justify-content:space-between;font-size:.875rem}.info-row span:first-child{color:var(--color-neutral)}.info-row span:last-child{color:var(--color-secondary);font-weight:600}.status.live{color:var(--color-accent)}.status.completed{color:var(--color-success)}.status.pending{color:var(--color-neutral)}@media (max-width: 1024px){.config-layout{grid-template-columns:1fr}.race-selection-grid{flex-direction:row;overflow-x:auto;padding-bottom:var(--spacing-sm)}.race-select-button{min-width:150px;flex-shrink:0}}@media (max-width: 768px){.timekeeper-header .container{flex-direction:column;gap:var(--spacing-md)}.timekeeper-actions{margin-left:0}.race-controls-grid{grid-template-columns:1fr}.status-table-header,.status-table-row{grid-template-columns:1fr;gap:var(--spacing-sm)}.status-table-header>div,.status-table-row>div{display:flex;justify-content:space-between}.status-table-header>div:before,.status-table-row>div:before{content:attr(data-label);font-weight:600;color:var(--color-neutral)}.form-grid{grid-template-columns:1fr}}.classificacio-page{min-height:100vh;padding:80px 0 40px;background:var(--color-primary, #0b0d10);color:var(--color-text, #ffffff);overflow-x:hidden;width:100%}.classificacio-header{display:flex;flex-direction:column;align-items:center;gap:18px;margin-bottom:30px}.classificacio-header-content{display:flex;flex-direction:column;gap:var(--spacing-sm, 16px);width:100%;align-items:center}.page-title-container{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);flex-wrap:nowrap}.page-title-main{font-size:clamp(2rem,5vw,3rem);font-weight:900;text-transform:uppercase;letter-spacing:-.03em;color:#fff;text-shadow:0 4px 24px rgba(255,255,255,.3);font-family:var(--font-header);text-align:center}.page-title-logos{display:flex;gap:var(--spacing-md, 24px);align-items:center;justify-content:center;flex-wrap:wrap}.page-title-logo{height:clamp(40px,8vw,80px);width:auto;object-fit:contain;filter:drop-shadow(0 4px 24px rgba(0,0,0,.3))}.download-pdf-btn{background:#e10600;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px;position:static;float:none;flex:0 0 auto;width:fit-content;max-width:100%;margin:0;z-index:0;white-space:nowrap}.download-pdf-btn:hover:not(:disabled){background:#c82333;transform:translateY(-2px);box-shadow:0 4px 12px #e106004d}.download-pdf-btn:disabled{opacity:.5;cursor:not-allowed;background:#6c757d;color:#fff}.filters-container{background:var(--color-surface, #1a1c20);padding:20px;border-radius:12px;margin-bottom:30px;border:1px solid var(--color-neutral, #2e3135);box-shadow:0 4px 16px #0000004d;display:flex;gap:30px;flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:15px}.filter-group label{font-weight:600;color:#fff;font-size:14px;text-transform:uppercase;letter-spacing:.5px}.filter-buttons{display:flex;gap:10px}.filter-btn{padding:8px 20px;border:2px solid var(--color-neutral, #2e3135);background:var(--color-surface, #1a1c20);color:var(--color-text, #ffffff);border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease}.filter-btn:hover{border-color:#e10600;color:#e10600;background:#e106001a}.filter-btn.active{background:#e10600;color:#fff;border-color:#e10600}.grup-select{padding:8px 15px;border:2px solid var(--color-neutral, #2e3135);border-radius:6px;font-size:14px;font-weight:500;background:var(--color-surface, #1a1c20)!important;color:var(--color-text, #ffffff)!important;cursor:pointer;transition:border-color .3s ease}.grup-select:hover:not(:disabled){border-color:#e10600}.grup-select:disabled{opacity:.5;cursor:not-allowed}.grup-select option{background:#1a1c20!important;color:#fff!important;padding:8px;border:none!important}.grup-select option:checked{background:#e10600!important;color:#fff!important}.grup-select option:hover{background:#2e3135!important;color:#fff!important}.classificacio-table-container{background:var(--color-surface, #1a1c20);border-radius:12px;overflow-x:auto;overflow-y:hidden;border:1px solid var(--color-neutral, #2e3135);box-shadow:0 4px 16px #0000004d;-webkit-overflow-scrolling:touch;width:100%}.classificacio-table{width:100%;min-width:800px;border-collapse:collapse}.classificacio-table thead{background:linear-gradient(135deg,#e10600,#a02530);color:#fff}.classificacio-table thead th{padding:15px;text-align:left;font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.5px}.classificacio-table thead th.race-points,.classificacio-table thead th.total-points{text-align:center}.classificacio-table tbody tr{border-bottom:1px solid var(--color-neutral, #2e3135);transition:background-color .2s ease}.classificacio-table tbody tr:hover{background-color:#ffffff0d}.classificacio-table tbody tr.podium{background:linear-gradient(90deg,rgba(255,215,0,.15) 0%,transparent 100%)}.classificacio-table tbody td{padding:12px 15px;font-size:14px;color:var(--color-text, #ffffff)}.position{font-weight:700;font-size:16px;color:#e10600;display:flex;align-items:center;gap:8px}.trophy{font-size:20px}.pilot-name{font-weight:600;color:var(--color-text, #ffffff);font-size:15px}.grup-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2)}.grup-badge.grup-1{background:#ff6b6b33;border-color:#ff6b6b;color:#ff6b6b}.grup-badge.grup-2{background:#4ecdc433;border-color:#4ecdc4;color:#4ecdc4}.grup-badge.grup-3{background:#45b7d133;border-color:#45b7d1;color:#45b7d1}.grup-badge.grup-4{background:#96ceb433;border-color:#96ceb4;color:#96ceb4}.grup-badge.grup-5{background:#feca5733;border-color:#feca57;color:#feca57}.grup-badge.grup-6{background:#ff9ff333;border-color:#ff9ff3;color:#ff9ff3}.grup-badge.grup-7{background:#48dbfb33;border-color:#48dbfb;color:#48dbfb}.promo-badge{display:inline-block;padding:4px 12px;border-radius:20px;background:#667eea33;border:1px solid #667eea;color:#667eea;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.pos-grup,.pos-promo{text-align:center;font-weight:600;color:#fff;font-size:14px}.pos-grup{color:#4ecdc4}.pos-promo{color:#667eea}.race-points,.total-points{text-align:center}.points-detail{display:flex;flex-direction:column;align-items:center;gap:2px}.points-detail .total{font-weight:600;font-size:16px;color:var(--color-text, #ffffff)}.points-detail .breakdown{font-size:11px;color:#fff}.total-points strong{font-size:18px;color:#e10600;font-weight:700}.no-data-message{background:var(--color-surface, #1a1c20);border-radius:12px;padding:60px 20px;text-align:center;border:1px solid var(--color-neutral, #2e3135);box-shadow:0 4px 16px #0000004d}.no-data-message p{margin:10px 0;color:#fff;font-size:16px}.no-data-message .info-text{color:#fff;font-size:14px}.loading-message{text-align:center;padding:60px 20px;font-size:18px;color:#fff}@media (max-width: 1200px){.classificacio-header{padding-bottom:72px}}@media (max-width: 900px){.page-title-container{flex-wrap:wrap;row-gap:var(--spacing-md, 16px)}.page-title-main{flex:1 0 100%;font-size:clamp(1.95rem,4.6vw,2.6rem)}.page-title-logos{width:100%;gap:var(--spacing-lg, 24px)}.page-title-logo{height:clamp(42px,7vw,68px)}.download-pdf-btn{flex:0 0 100%;width:max-content;margin:4px auto 0}}@media (max-width: 768px){.classificacio-page{padding:60px 10px 20px}.container{padding:0;width:100%;max-width:100%}.classificacio-header{gap:15px;padding:0 10px 88px}.page-title-main{font-size:clamp(1.85rem,6vw,2.4rem)}.page-title-logo{height:clamp(40px,9vw,64px)}.download-pdf-btn{justify-content:center;font-size:14px;padding:10px 16px;width:fit-content;max-width:100%}.filters-container{flex-direction:column;gap:15px;margin:0 10px 20px;padding:15px}.filter-group{flex-direction:column;align-items:stretch;gap:8px}.filter-buttons{width:100%}.filter-btn{flex:1;padding:10px 15px}.grup-select{width:100%;padding:10px}.classificacio-table-container{margin:0 10px;border-radius:8px}.classificacio-table{font-size:11px}.classificacio-table thead th{padding:10px 6px;font-size:11px;white-space:nowrap}.classificacio-table tbody td{padding:8px 6px;font-size:11px;white-space:nowrap}.points-detail .breakdown{display:none}.points-detail .total{font-size:13px}.total-points strong,.trophy{font-size:14px}.pilot-name{font-size:12px;max-width:100px;overflow:hidden;text-overflow:ellipsis}.grup-badge{font-size:10px;padding:2px 6px}.pos-grup,.pos-promo{font-size:11px}.classificacio-table-container{position:relative}.classificacio-table-container:after{content:"→";position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:20px;color:#e10600;animation:scroll-hint 2s ease-in-out infinite;pointer-events:none}@keyframes scroll-hint{0%,to{opacity:.3;transform:translateY(-50%) translate(0)}50%{opacity:1;transform:translateY(-50%) translate(5px)}}.classificacio-table-container.scrolled:after{display:none}}@media (max-width: 480px){.page-title-container{gap:var(--spacing-sm, 12px)}.page-title-main{font-size:clamp(1.6rem,7vw,2rem)}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1e3c72,#2a5298);padding:20px}.login-container{background:#fff;border-radius:12px;padding:40px;box-shadow:0 20px 40px #0000001a;width:100%;max-width:450px;animation:fadeInUp .6s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:30px}.login-header h1{color:#1e3c72;margin:0 0 8px;font-size:2.5rem;font-weight:700}.login-header p{color:#666;margin:0;font-size:1rem}.login-form{margin-bottom:30px}.form-group label{display:block;margin-bottom:6px;color:#333;font-weight:500}.form-group input{width:100%;padding:12px 16px;border:2px solid #e1e5e9;border-radius:8px;font-size:16px;transition:border-color .3s ease;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#2a5298;box-shadow:0 0 0 3px #2a52981a}.form-group input:disabled{background-color:#f8f9fa;cursor:not-allowed}.login-button{width:100%;padding:14px;background:linear-gradient(135deg,#1e3c72,#2a5298);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 16px #2a52984d}.login-button:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none}.error-message{background:#fee;color:#c53030;padding:12px 16px;border-radius:8px;margin-bottom:20px;border-left:4px solid #fc8181;font-size:14px}.loading{text-align:center;color:#666;font-size:18px;padding:40px}.demo-users{border-top:1px solid #e1e5e9;padding-top:20px}.demo-users h3{color:#333;margin:0 0 15px;font-size:1rem;text-align:center}.demo-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.demo-user-button{background:#f8f9fa;border:1px solid #e1e5e9;border-radius:6px;padding:10px 8px;cursor:pointer;transition:all .2s ease;font-size:12px;text-align:center}.demo-user-button:hover:not(:disabled){background:#e9ecef;border-color:#2a5298}.demo-user-button:disabled{opacity:.6;cursor:not-allowed}.demo-user-button strong{display:block;color:#333;margin-bottom:4px}.demo-user-button small{color:#666;font-size:10px}@media (max-width: 480px){.login-container{padding:30px 20px;margin:10px}.login-header h1{font-size:2rem}.demo-grid{grid-template-columns:1fr;gap:6px}.demo-user-button{padding:12px}}.dashboard{background:#f8fafc;padding:20px}.welcome-section{background:linear-gradient(135deg,#1e3c72,#2a5298);border-radius:16px;padding:32px;margin-bottom:28px;color:#fff;display:flex;justify-content:space-between;align-items:flex-start;gap:32px;box-shadow:0 8px 32px #1e3c724d}.welcome-content{flex:1}.welcome-content h1{margin:0 0 8px;font-size:2rem;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.1)}.welcome-subtitle{margin:0 0 20px;font-size:1rem;opacity:.9;font-weight:400}.user-role-info{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.role-badge{background:#fff3;color:#fff;padding:6px 16px;border-radius:20px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border:1px solid rgba(255,255,255,.3)}.capabilities{font-size:14px;opacity:.85;font-style:italic}.signature-status{margin-top:10px;display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;font-size:13px;font-weight:600;border:1px solid rgba(255,255,255,.35)}.signature-status.ok{background:#10b9812e;color:#d1fae5}.signature-status.missing{background:#f59e0b38;color:#fef3c7}.signature-status-link{background:transparent;border:none;color:inherit;text-decoration:underline;cursor:pointer;font-size:12px;padding:0;font-weight:700;text-transform:lowercase;letter-spacing:.04em}.signature-status-link:hover{opacity:.8}.quick-stats{display:flex;gap:20px;flex-shrink:0}.stat-item{background:#ffffff26;border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:20px 24px;text-align:center;min-width:80px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.stat-value{font-size:2rem;font-weight:800;line-height:1;margin-bottom:4px;text-shadow:0 2px 4px rgba(0,0,0,.1)}.stat-label{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:#fff;font-weight:600}.dashboard-grid{display:grid;grid-template-columns:1fr;gap:16px;align-items:start}.dashboard-grid>div{background:#fff;border-radius:16px;box-shadow:0 4px 16px #00000014;overflow:hidden;border:1px solid #f1f5f9}.dashboard-grid h3{margin:0 0 20px;color:#1e3c72;font-size:1.25rem;font-weight:700;padding:24px 28px 0;display:flex;align-items:center;gap:8px}.stats-section{grid-column:1;grid-row:1}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;padding:0 28px;margin-bottom:32px}.stat-card{background:#fafafa;border:1px solid #e5e7eb;border-radius:12px;padding:20px;display:flex;align-items:center;gap:16px;transition:all .2s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.stat-card.total{border-left:4px solid #6b7280}.stat-card.pending{border-left:4px solid #f59e0b}.stat-card.published{border-left:4px solid #3b82f6}.stat-card.signed{border-left:4px solid #10b981}.stat-icon{font-size:2rem;opacity:.8;flex-shrink:0}.stat-content{flex:1}.stat-number{font-size:1.8rem;font-weight:800;color:#1f2937;line-height:1;margin-bottom:4px}.stat-title{font-size:13px;color:#6b7280;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.apartment-stats{padding:0 28px 28px}.apartment-stats h4{margin:0 0 16px;color:#374151;font-size:1rem;font-weight:600}.apartment-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.apartment-stat{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:12px 16px;display:flex;align-items:center;gap:12px}.apartment-icon{font-size:1.2rem;flex-shrink:0}.apartment-name{flex:1;font-size:13px;color:#374151;font-weight:500}.apartment-count{font-size:14px;font-weight:700;color:#1f2937;background:#f3f4f6;padding:2px 8px;border-radius:12px}.pending-section{grid-column:2;grid-row:1 / 3}.pending-list{padding:0 28px 28px}.pending-item{border-bottom:1px solid #f1f5f9;padding:16px 0}.pending-item:last-child{border-bottom:none}.pending-content{display:flex;justify-content:space-between;align-items:center;gap:16px}.pending-main{flex:1;display:flex;align-items:center;gap:12px}.pending-apartment{font-size:1.2rem;flex-shrink:0}.pending-info{flex:1;min-width:0}.pending-label{font-size:14px;font-weight:600;color:#1f2937;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pending-meta{font-size:12px;color:#6b7280}.pending-action{background:linear-gradient(135deg,#059669,#047857);color:#fff;border:none;padding:8px 12px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;flex-shrink:0}.pending-action:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0596694d}.recent-section{grid-column:1;grid-row:2;display:flex;flex-direction:column;min-height:0;height:auto}.empty-recent{text-align:center;padding:40px 28px;color:#6b7280}.empty-icon{font-size:2.5rem;margin-bottom:12px;opacity:.6}.empty-recent p{margin:0;font-size:14px}.recent-list{padding:0 28px;max-height:400px;overflow-y:auto;flex:0 1 auto}.recent-item{border-bottom:1px solid #f1f5f9;padding:16px 0}.recent-item:last-child{border-bottom:none}.recent-content{display:flex;align-items:center;gap:12px}.recent-apartment{font-size:1.2rem;flex-shrink:0}.recent-info{flex:1;min-width:0}.recent-label{font-size:14px;font-weight:600;color:#1f2937;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-meta{font-size:12px;color:#6b7280}.recent-status{flex-shrink:0}.status-indicator{font-size:1rem;opacity:.8}.status-indicator.pending{color:#f59e0b}.status-indicator.published{color:#3b82f6}.load-more-container{padding:16px 28px 28px;text-align:center}.load-more-btn{background:linear-gradient(135deg,#1e3c72,#2a5298);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.load-more-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #1e3c724d}.load-more-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.notifications-section{background:#fefce8;border-left:4px solid #f59e0b}.notifications-list{padding:0 28px 28px}.notification-item{border-bottom:1px solid #f1f5f9;padding:16px 0}.notification-item:last-child{border-bottom:none}.notification-content{display:flex;justify-content:space-between;align-items:center;gap:16px}.notification-main{flex:1;display:flex;align-items:center;gap:12px}.notification-apartment{font-size:1.2rem;flex-shrink:0}.notification-info{flex:1;min-width:0}.notification-label{font-size:14px;font-weight:600;color:#1f2937;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-meta{font-size:12px;color:#6b7280}.notification-action{background:linear-gradient(135deg,#059669,#047857);color:#fff;border:none;padding:8px 12px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;flex-shrink:0}.notification-action:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0596694d}.documents-section{background:#f0f9ff;border-left:4px solid #3b82f6}.documents-overview{padding:0 28px 28px}.documents-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:16px;width:100%;text-align:left}.documents-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a;border-color:#3b82f6}.documents-icon{font-size:2.5rem;opacity:.8;color:#3b82f6;flex-shrink:0}.documents-content{flex:1}.documents-title{font-size:16px;font-weight:700;color:#1f2937;margin-bottom:4px}.documents-desc{font-size:13px;color:#6b7280;margin-bottom:8px;line-height:1.4}.documents-stats{font-size:12px;color:#3b82f6;font-weight:600}.upload-section{background:#f0fdf4;border-left:4px solid #10b981}.upload-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:16px;width:100%;text-align:left;margin:0 28px 28px}.upload-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a;border-color:#10b981}.upload-icon{font-size:2.5rem;opacity:.8;color:#10b981;flex-shrink:0}.upload-content{flex:1}.upload-title{font-size:16px;font-weight:700;color:#1f2937;margin-bottom:4px}.upload-desc{font-size:13px;color:#6b7280;line-height:1.4}.actions-section{grid-column:1 / -1;grid-row:3}.actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;padding:0 28px 28px}.action-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;cursor:pointer;transition:all .2s ease;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.action-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a;border-color:#2a5298}.action-card.upload{border-left:4px solid #3b82f6}.action-card.documents{border-left:4px solid #6b7280}.action-card.signatures{border-left:4px solid #f59e0b}.action-card.users{border-left:4px solid #10b981}.action-icon{font-size:2rem;opacity:.8}.action-title{font-size:14px;font-weight:600;color:#1f2937;margin:0}.action-desc{font-size:12px;color:#6b7280;margin:0;line-height:1.4}.dashboard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;gap:20px}.loading-spinner{width:40px;height:40px;border:4px solid #e5e7eb;border-top:4px solid #2a5298;border-radius:50%;animation:spin 1s linear infinite}.dashboard-loading span{color:#6b7280;font-size:16px}@media (max-width: 1200px){.dashboard-grid{grid-template-columns:1fr;gap:20px}.pending-section,.recent-section,.actions-section{grid-column:1;grid-row:auto}}@media (max-width: 768px){.dashboard{padding:16px}.welcome-section{flex-direction:column;gap:20px;padding:24px}.welcome-content h1{font-size:1.5rem}.quick-stats{flex-direction:row;justify-content:space-around;width:100%}.stat-item{min-width:60px;padding:16px}.stat-value{font-size:1.5rem}.stats-grid{grid-template-columns:1fr;gap:12px}.apartment-grid,.actions-grid{grid-template-columns:1fr}.dashboard-grid h3{padding:20px 20px 0;font-size:1.1rem}.stats-section .stats-grid,.apartment-stats,.pending-list,.recent-list,.actions-grid{padding:0 20px 20px}.pending-content,.recent-content{flex-direction:column;align-items:flex-start;gap:8px}.pending-action{align-self:flex-end}.user-role-info{flex-direction:column;align-items:flex-start;gap:8px}}@media (max-width: 480px){.welcome-section{padding:20px}.welcome-content h1{font-size:1.3rem}.quick-stats{gap:12px}.stat-item{padding:12px 16px}.stat-value{font-size:1.2rem}.stat-label{font-size:11px}}.label-selector{position:relative;width:100%}.input-container{position:relative;display:flex;align-items:center}.label-input{width:100%;padding:12px 16px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;transition:all .2s ease;background:#fff}.label-input:focus{outline:none;border-color:#2a5298;box-shadow:0 0 0 3px #2a52981a}.label-input:disabled{background-color:#f9fafb;cursor:not-allowed;color:#6b7280}.input-loading{position:absolute;right:12px;top:50%;transform:translateY(-50%)}.loading-spinner-small{width:16px;height:16px;border:2px solid #e5e7eb;border-top:2px solid #2a5298;border-radius:50%;animation:spin 1s linear infinite}.suggestions-empty{padding:20px}.empty-state{text-align:center;color:#6b7280}.empty-state .empty-icon{font-size:2rem;margin-bottom:8px;display:block}.empty-state p{margin:0 0 4px;font-size:14px;font-weight:500}.empty-state small{font-size:12px;opacity:.8}.suggestions-dropdown{position:absolute;top:100%;left:0;right:0;z-index:1000;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 25px #0000001a;margin-top:4px;max-height:300px;overflow:hidden;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.suggestions-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f8fafc;border-bottom:1px solid #e5e7eb;font-size:12px;font-weight:600;color:#374151}.suggestions-header small{color:#6b7280;font-weight:400}.suggestions-list{max-height:200px;overflow-y:auto}.suggestion-item{padding:12px 16px;cursor:pointer;transition:background-color .15s ease;border-bottom:1px solid #f3f4f6}.suggestion-item:last-child{border-bottom:none}.suggestion-item:hover,.suggestion-item.selected{background-color:#f0f4ff}.suggestion-item.create-new{border-top:1px solid #e5e7eb;background:#fafafa;font-style:italic}.suggestion-item.create-new:hover{background-color:#f0fdf4}.suggestion-content{display:flex;justify-content:space-between;align-items:center;width:100%}.suggestion-main{display:flex;align-items:center;gap:10px;flex:1}.suggestion-icon{font-size:16px;width:20px;text-align:center}.suggestion-label{color:#374151;font-size:14px;font-weight:500}.suggestion-meta{display:flex;align-items:center;gap:8px}.usage-count{font-size:11px;color:#6b7280;background:#f3f4f6;padding:2px 6px;border-radius:10px;font-weight:600;min-width:20px;text-align:center}.category-badge{font-size:10px;padding:2px 8px;border-radius:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.category-badge.new{background-color:#dcfce7;color:#166534}.label-info{margin-top:4px;display:flex;justify-content:flex-end}.character-count{font-size:11px;color:#6b7280}.suggestion-item.selected{background-color:#2a5298;color:#fff}.suggestion-item.selected .suggestion-label{color:#fff}.suggestion-item.selected .usage-count{background:#fff3;color:#fff}.suggestion-item.selected .category-badge{background:#fff3!important;color:#fff!important}.category-official{color:#1e3a8a}.category-technical{color:#dc2626}.category-results{color:#059669}.category-logistics{color:#7c3aed}.suggestions-list::-webkit-scrollbar{width:6px}.suggestions-list::-webkit-scrollbar-track{background:#f1f5f9}.suggestions-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.suggestions-list::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media (max-width: 768px){.suggestions-dropdown{margin-top:2px;border-radius:6px}.suggestion-item{padding:14px 16px}.suggestion-label{font-size:15px}.suggestions-header{padding:10px 16px}.suggestion-meta{gap:6px}.usage-count{font-size:10px;padding:1px 5px}.category-badge{font-size:9px;padding:2px 6px}}.suggestions-simple{padding:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #e5e7eb}.no-match{font-size:14px;color:#6b7280;flex:1}.add-new-btn{background:linear-gradient(135deg,#1e3c72,#2a5298);color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.add-new-btn:hover{transform:translateY(-1px);box-shadow:0 2px 8px #2a52984d}.add-new-btn:active{transform:translateY(0)}.document-upload{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000001a;margin-bottom:24px}.upload-header{margin-bottom:20px}.upload-header h3{margin:0 0 8px;color:#1e3c72;font-size:1.3rem;display:flex;align-items:center;gap:8px}.upload-header p{margin:0;color:#666;font-size:14px}.upload-form{display:flex;flex-direction:column;gap:20px}.dropzone{border:2px dashed #d1d5db;border-radius:12px;padding:40px 20px;text-align:center;cursor:pointer;transition:all .3s ease;background:#fafafa;min-height:120px;display:flex;align-items:center;justify-content:center}.apartments-loading,.apartments-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;text-align:center;color:#666;grid-column:1 / -1}.apartments-loading .loading-spinner{width:20px;height:20px;border:2px solid #e5e7eb;border-top:2px solid #1e3c72;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:10px}.apartments-empty .empty-icon{font-size:2rem;margin-bottom:10px}.apartments-empty p{margin:0;font-size:14px}.dropzone:hover{border-color:#2a5298;background:#f0f4ff}.dropzone.drag-over{border-color:#2a5298;background:#e0f2fe;transform:scale(1.02)}.dropzone.has-file{border-color:#059669;background:#f0fdf4}.dropzone-content{display:flex;flex-direction:column;align-items:center;gap:8px}.dropzone-icon{font-size:2.5rem;margin-bottom:8px}.dropzone-text{margin:0;font-size:16px;color:#374151}.dropzone-text strong{color:#2a5298}.dropzone-hint{margin:0;font-size:12px;color:#6b7280}.selected-file{display:flex;align-items:center;gap:12px;background:#fff;padding:16px;border-radius:8px;box-shadow:0 2px 4px #0000001a;width:100%;max-width:400px}.file-icon{font-size:2rem;color:#dc2626}.file-info{flex:1;text-align:left}.file-name{font-weight:600;color:#374151;margin-bottom:4px;word-break:break-all}.file-size{font-size:12px;color:#6b7280}.remove-file{background:#ef4444;color:#fff;border:none;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:12px;transition:background-color .2s}.remove-file:hover{background:#dc2626}.remove-file:disabled{background:#9ca3af;cursor:not-allowed}.upload-progress{position:absolute;bottom:12px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;background:#fff;padding:8px 16px;border-radius:20px;box-shadow:0 2px 8px #0003}.progress-bar{width:120px;height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#1e3c72,#2a5298);border-radius:3px;transition:width .3s ease}.progress-text{font-size:12px;font-weight:600;color:#374151;min-width:35px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:600;color:#374151;font-size:14px}.form-group select,.form-group input[type=text]{padding:12px 16px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;transition:border-color .2s ease}.form-group select:focus,.form-group input[type=text]:focus{outline:none;border-color:#2a5298;box-shadow:0 0 0 3px #2a52981a}.apartment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.apartment-option{display:block;cursor:pointer;transition:transform .2s ease}.apartment-option input[type=radio]{display:none}.apartment-content{display:flex;align-items:center;gap:12px;padding:16px;border:2px solid #e5e7eb;border-radius:8px;background:#fff;transition:all .2s ease}.apartment-option:hover .apartment-content{border-color:#2a5298;transform:translateY(-2px);box-shadow:0 4px 12px #2a529826}.apartment-option.selected .apartment-content{border-color:#2a5298;background:#f0f4ff;box-shadow:0 4px 12px #2a529826}.apartment-icon{font-size:1.5rem}.apartment-name{font-weight:600;color:#374151;font-size:14px}.upload-button{background:linear-gradient(135deg,#1e3c72,#2a5298);color:#fff;border:none;padding:16px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .3s ease;margin-top:8px}.upload-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #2a52984d}.upload-button:disabled{background:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}.loading-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.info-message{display:flex;align-items:center;gap:8px;background:#f0f9ff;color:#1e3a8a;padding:12px 16px;border-radius:8px;border-left:4px solid #3b82f6;font-size:14px}.info-message p{margin:0;color:#1e3a8a!important}.info-message strong{color:#1e40af!important}.info-icon{font-size:16px}.form-hint{color:#374151;font-size:14px;margin:8px 0 0;line-height:1.5}.error-message{display:flex;align-items:center;gap:8px;background:#fef2f2;color:#dc2626;padding:12px 16px;border-radius:8px;border-left:4px solid #dc2626;font-size:14px}@media (max-width: 768px){.document-upload{margin:16px;padding:20px}.dropzone{padding:30px 16px;min-height:100px}.dropzone-icon{font-size:2rem}.apartment-grid{grid-template-columns:1fr}.selected-file{max-width:100%}.file-name{font-size:14px}.upload-button{padding:14px 20px;font-size:15px}}.form-group.has-error label{color:#dc2626}.form-group.has-error .race-selector,.race-selector.has-error,.form-group.has-error .label-selector,.form-group.has-error select,.form-group.has-error input{border-color:#dc2626!important;box-shadow:0 0 0 1px #fecaca}.dropzone.has-error{border-color:#dc2626;background:#fef2f2}.required-mark{color:#dc2626;margin-left:4px;font-weight:700}.field-error-message{margin-top:6px;color:#b91c1c;font-size:13px;font-weight:500}.signature-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:modalOverlayAppear .3s ease}@keyframes modalOverlayAppear{0%{opacity:0}to{opacity:1}}.signature-modal{background:#fff;border-radius:16px;width:100%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 25px 50px #00000040;animation:modalSlideIn .3s ease}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 28px 20px;border-bottom:1px solid #e5e7eb;background:#fafafa;flex-shrink:0}.header-content h2{margin:0 0 4px;color:#1e3c72;font-size:1.4rem;font-weight:700}.header-content p{margin:0;color:#6b7280;font-size:14px}.close-button{background:#f3f4f6;border:none;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:#6b7280;font-size:16px;flex-shrink:0}.close-button:hover{background:#e5e7eb;color:#374151;transform:scale(1.05)}.modal-content{padding:28px;flex:1;overflow-y:auto;min-height:0}.document-info{margin-bottom:24px}.document-header-info{display:flex;align-items:center;gap:16px;margin-bottom:20px;padding:20px;background:#f8fafc;border-radius:12px}.document-icon{font-size:2.5rem;color:#dc2626;flex-shrink:0}.document-details{flex:1}.document-title{margin:0 0 6px;color:#1f2937;font-size:1.2rem;font-weight:600;line-height:1.3}.document-filename{color:#6b7280;font-size:13px;font-family:Monaco,Menlo,monospace;background:#fff;padding:4px 8px;border-radius:4px;display:inline-block;border:1px solid #e5e7eb}.document-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.meta-item{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:#fff;border-radius:8px;border:1px solid #e5e7eb}.meta-label{color:#6b7280;font-weight:500;font-size:13px}.meta-value{color:#374151;font-weight:600;font-size:13px;text-align:right}.meta-value.apartment-info{font-weight:700}.meta-value.required-role{background:#dbeafe;color:#1e40af;padding:2px 8px;border-radius:12px;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.signature-info{display:flex;flex-direction:column;gap:20px}.role-selection{background:#f0fdf4;border:1px solid #86efac;border-radius:12px;padding:20px}.role-label{display:block;margin-bottom:8px;font-size:14px;font-weight:600;color:#15803d}.role-selector{width:100%;padding:10px 12px;border:1px solid #86efac;border-radius:8px;background:#fff;font-size:14px;font-weight:500;color:#1f2937;cursor:pointer;transition:border-color .2s ease}.role-selector:hover{border-color:#4ade80}.role-selector:focus{outline:none;border-color:#22c55e;box-shadow:0 0 0 3px #22c55e1a}.signature-warning{display:flex;gap:16px;padding:20px;background:#fefbf2;border-left:4px solid #f59e0b;border-radius:8px}.warning-icon{font-size:1.5rem;color:#f59e0b;flex-shrink:0;margin-top:2px}.warning-content h4{margin:0 0 8px;color:#92400e;font-size:1rem;font-weight:600}.warning-content p{margin:0 0 12px;color:#78350f;font-size:14px;line-height:1.5}.warning-content ul{margin:0;padding-left:20px;color:#78350f;font-size:13px}.warning-content li{margin-bottom:4px}.signing-as{background:#f0f9ff;border:1px solid #bae6fd;border-radius:12px;padding:20px}.signing-user{display:flex;align-items:center;gap:16px}.user-avatar{width:50px;height:50px;background:linear-gradient(135deg,#1e3c72,#2a5298);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;flex-shrink:0}.user-info{flex:1}.user-name{font-weight:700;color:#1e40af;font-size:16px;margin-bottom:2px}.user-role{color:#6b7280;font-size:13px;margin-bottom:6px}.signing-role{color:#1e40af;font-size:14px;font-weight:600}.document-actions{display:flex;justify-content:center}.preview-button{background:#f3f4f6;color:#374151;border:1px solid #d1d5db;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px}.preview-button:hover{background:#e5e7eb;transform:translateY(-1px);box-shadow:0 4px 8px #0000001a}.modal-actions{padding:20px 28px;background:#fafafa;border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;flex-shrink:0}.cancel-button{background:#fff;color:#6b7280;border:1px solid #d1d5db;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.cancel-button:hover{background:#f9fafb;color:#374151;border-color:#9ca3af}.confirm-button{background:linear-gradient(135deg,#059669,#047857);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px;box-shadow:0 2px 4px #05966933}.confirm-button:hover{transform:translateY(-1px);box-shadow:0 6px 16px #0596694d}.confirm-icon{font-size:16px}.legal-notice{padding:16px 28px 20px;background:#f9fafb;border-top:1px solid #f3f4f6;text-align:center;flex-shrink:0}.legal-notice small{color:#6b7280;font-size:11px;line-height:1.4;font-style:italic}.modal-content::-webkit-scrollbar{width:6px}.modal-content::-webkit-scrollbar-track{background:#f1f5f9}.modal-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}@media (max-width: 768px){.signature-modal-overlay{padding:40px 10px 10px;align-items:flex-start}.signature-modal{max-height:calc(100vh - 80px)}.modal-header{padding:20px 20px 16px}.header-content h2{font-size:1.2rem}.modal-content{padding:20px}.document-header-info{flex-direction:column;text-align:center;gap:12px}.document-meta-grid{grid-template-columns:1fr}.meta-item{flex-direction:column;align-items:flex-start;gap:4px}.meta-value{text-align:left}.signature-warning,.signing-user{flex-direction:column;text-align:center;gap:12px}.modal-actions{flex-direction:column;padding:16px 20px}.cancel-button,.confirm-button{width:100%;justify-content:center}.legal-notice{padding:12px 20px 16px}}@media (max-width: 480px){.signature-modal-overlay{padding:20px 5px 5px}.signature-modal{max-height:calc(100vh - 40px);border-radius:12px}.modal-header{padding:16px 16px 12px}.header-content h2{font-size:1.1rem}.modal-content{padding:16px;max-height:calc(100vh - 160px)}.document-header-info{padding:16px}.document-icon{font-size:2rem}.document-title{font-size:1.1rem}.signature-warning,.signing-as,.role-selection{padding:16px}.modal-actions{padding:12px 16px;position:sticky;bottom:0;background:#fff;border-top:1px solid #e5e7eb}.cancel-button,.confirm-button{padding:14px 16px;font-size:16px}.legal-notice{padding:8px 16px 12px;font-size:10px}}.pdf-placer{display:flex;flex-direction:column;gap:12px;width:100%}.pdf-placer-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;background:#fafbfc;border:1px solid #e6e9ed;border-radius:10px;padding:10px 12px}.pdf-placer-mode{display:flex;flex-wrap:wrap;gap:12px;font-size:13px;color:#1e3c72;font-weight:600}.pdf-placer-mode label{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.pdf-placer-mode input[type=radio]{accent-color:#1e3c72}.pdf-placer-pager{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#1e3c72}.pdf-placer-pager button{width:36px;height:36px;border-radius:8px;border:1px solid #c5cad1;background:#fff;color:#1e3c72;cursor:pointer;font-size:14px}.pdf-placer-pager button:disabled{opacity:.45;cursor:not-allowed}.pdf-placer-page-toggle{font-size:13px;color:#1e3c72;font-weight:600}.pdf-placer-page-toggle label{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.pdf-placer-page-toggle input[type=checkbox]{width:18px;height:18px;accent-color:#1e3c72}.pdf-placer-canvas-wrapper{position:relative;width:100%;background:#2a2f36;border-radius:10px;overflow:hidden;-webkit-user-select:none;user-select:none;touch-action:pan-y}.pdf-placer-canvas{display:block;width:100%;height:auto}.pdf-placer-state,.pdf-placer-error{padding:24px;text-align:center;color:#fff;font-size:14px}.pdf-placer-error{color:#ffb4a8}.pdf-placer-group{position:absolute;pointer-events:auto;touch-action:none}.pdf-placer-group.is-draggable{cursor:move}.pdf-placer-group.is-locked{cursor:default}.pdf-placer-slot{position:absolute;top:0;border:1.5px dashed #1e3c72;background:#ffffff8c;box-sizing:border-box}.pdf-placer-slot.is-ghost{border-color:#94a3b8;background:#94a3b833}.pdf-placer-slot-caption{position:absolute;bottom:calc(100% + 2px);left:0;font:600 11px/1.1 -apple-system,Helvetica,Arial,sans-serif;color:#1e3c72;background:#ffffffeb;border-radius:4px;padding:2px 6px;white-space:nowrap;pointer-events:none}.pdf-placer-slot.is-ghost .pdf-placer-slot-caption{color:#475569;background:#f1f5f9eb;font-weight:500}.pdf-placer-mode-locked{font-size:12px;color:#64748b;font-weight:500;font-style:italic}.pdf-placer-resize{position:absolute;right:-10px;bottom:-10px;width:22px;height:22px;background:#1e3c72;border:2px solid #fff;border-radius:50%;cursor:nwse-resize;touch-action:none}.pdf-placer-tap-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;text-align:center;font-size:14px;color:#ffffffd9;pointer-events:none;background:#0000002e}.pdf-placer-summary{font-size:.88rem;color:#5a6068}.pdf-placer-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.pdf-placer-btn{padding:12px 18px;border-radius:8px;font-size:14px;font-weight:600;border:1px solid transparent;cursor:pointer}.pdf-placer-btn:disabled{opacity:.55;cursor:not-allowed}.pdf-placer-btn-primary{background:#1e3c72;color:#fff}.pdf-placer-btn-primary:not(:disabled):hover{background:#16315e}.pdf-placer-btn-secondary{background:#fff;color:#1e3c72;border-color:#c5cad1}.pdf-placer-btn-secondary:not(:disabled):hover{background:#f1f3f5}@media (max-width: 600px){.pdf-placer-toolbar{flex-direction:column;align-items:stretch}.pdf-placer-mode,.pdf-placer-pager{justify-content:space-between}.pdf-placer-actions{justify-content:stretch}.pdf-placer-actions .pdf-placer-btn{flex:1;min-width:0}}.sign-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f1624b3;display:flex;align-items:stretch;justify-content:center;padding:16px;z-index:1000;overflow-y:auto}.sign-modal{background:#fff;border-radius:14px;box-shadow:0 20px 60px #00000059;width:100%;max-width:920px;margin:auto;display:flex;flex-direction:column;overflow:hidden}.sign-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid #eef0f3;background:linear-gradient(135deg,#1e3c72,#2a5298);color:#fff}.sign-modal-header h3{margin:0 0 4px;font-size:1.1rem}.sign-modal-header p{margin:0;font-size:.88rem;opacity:.9}.sign-modal-close{background:#ffffff1f;color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:8px;width:36px;height:36px;font-size:14px;cursor:pointer;flex-shrink:0}.sign-modal-body{padding:16px 18px 20px;display:flex;flex-direction:column;gap:12px;max-height:calc(100vh - 110px);overflow-y:auto}.sign-modal-state,.sign-modal-warn{padding:16px;text-align:center;color:#5a6068}.sign-modal-warn{background:#fff8e6;color:#855300;border-radius:10px;border:1px solid #fce5b3}.sign-modal-error{background:#fff5f4;color:#b42318;padding:10px 12px;border-radius:8px;font-size:.9rem}.sign-modal-direct{display:flex;gap:14px;align-items:center;padding:12px 14px;background:#f0f7ff;border:1px solid #b8d4f0;border-radius:10px}.sign-modal-direct strong{display:block;color:#1e3c72;font-size:.98rem;margin-bottom:2px}.sign-modal-direct p{margin:0;color:#4b5563;font-size:.85rem;line-height:1.4}.sign-modal-direct-btn{flex-shrink:0;padding:10px 16px;background:#1e3c72;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.sign-modal-direct-btn:hover:not(:disabled){background:#16315e}.sign-modal-direct-btn:disabled{opacity:.55;cursor:not-allowed}@media (max-width: 600px){.sign-modal-direct{flex-direction:column;align-items:stretch}}@media (max-width: 600px){.sign-modal-backdrop{padding:0}.sign-modal{border-radius:0;max-width:100%;min-height:100vh}.sign-modal-body{max-height:none}}.document-list{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.order-controls{display:inline-flex;flex-direction:row;gap:2px;margin-left:8px;align-items:center}.order-button{background:transparent;border:1px solid #e5e7eb;color:#6b7280;width:20px;height:20px;padding:0;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;transition:all .2s ease}.order-button:hover{background:#f3f4f6;border-color:#2a5298;color:#2a5298;transform:scale(1.1)}.order-button:active{transform:scale(.95)}.order-button:disabled{opacity:.3;cursor:not-allowed}.order-button:disabled:hover{background:transparent;border-color:#e5e7eb;color:#6b7280;transform:none}.signing-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;padding:8px 12px;background:#f0f9ff;border:1px solid #0ea5e9;border-radius:6px;font-size:14px;font-weight:500;color:#0369a1;transition:all .2s ease}.signing-checkbox:hover{background:#e0f2fe;border-color:#0284c7}.signing-checkbox input[type=checkbox]{margin:0;cursor:pointer}.signing-checkbox input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.checkbox-label{cursor:pointer;-webkit-user-select:none;user-select:none}.bulk-actions{background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;padding:12px 16px;margin-top:16px;display:flex;align-items:center;gap:16px}.bulk-info{flex:1;font-size:14px;font-weight:500;color:#92400e}.bulk-sign-button{background:#dc2626;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.bulk-sign-button:hover:not(:disabled){background:#b91c1c}.bulk-sign-button:disabled{opacity:.5;cursor:not-allowed}.bulk-clear-button{background:#6b7280;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.bulk-clear-button:hover{background:#4b5563}.list-header{background:#f8fafc;padding:20px 24px;border-bottom:1px solid #e5e7eb}.header-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.header-title h3{margin:0;color:#1e3c72;font-size:1.3rem;display:flex;align-items:center;gap:8px}.stats-summary{font-size:13px;color:#6b7280;background:#fff;padding:6px 12px;border-radius:16px;border:1px solid #e5e7eb}.filters{display:flex;gap:12px;flex-wrap:wrap}.filter-group select,.search-input{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;background:#fff;min-width:140px}.search-input{min-width:200px}.filter-group select:focus,.search-input:focus{outline:none;border-color:#2a5298;box-shadow:0 0 0 2px #2a52981a}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px}.loading-spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top:3px solid #2a5298;border-radius:50%;animation:spin 1s linear infinite}.empty-state{text-align:center;padding:60px 20px;color:#6b7280}.empty-icon{font-size:3rem;margin-bottom:16px;opacity:.6}.empty-state h4{margin:0 0 8px;color:#374151;font-size:1.1rem}.empty-state p{margin:0;font-size:14px}.documents-grid{padding:20px;display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:20px}.document-list .document-card{border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;transition:all .2s ease;background:#fff;text-align:left!important}.document-list .document-card *{text-align:left!important}.document-list .document-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a;border-color:#2a5298}.document-header{padding:10px 16px;background:#fafafa;display:flex;flex-wrap:wrap;align-items:center;gap:8px;border-bottom:1px solid #f0f0f0}.document-apartment{display:inline-flex;align-items:center;gap:6px}.apartment-badge,.status-badge{font-size:11px;padding:4px 10px;border-radius:14px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.pending{background:#fef3c7;color:#92400e}.status-badge.uploaded{background:#e0f2fe;color:#0277bd}.status-badge.signed{background:#d1fae5;color:#065f46}.status-badge.published{background:#dbeafe;color:#1e40af}.status-badge.unknown{background:#f3f4f6;color:#6b7280}.document-list .document-content{padding:12px 16px;text-align:left}.document-list .document-main{margin-bottom:8px;text-align:left}.document-list .document-label{margin:0 0 2px;color:#1f2937;font-size:15px;font-weight:600;line-height:1.3;text-align:left}.document-list .document-filename{color:#6b7280;font-size:12px;font-family:Monaco,Menlo,monospace;background:transparent;text-align:left;padding:0;border-radius:0;display:block;width:auto}.meta-item.meta-pending{background:#fef3c7;color:#92400e;padding:6px 10px;border-radius:6px;margin-top:4px}.meta-item.meta-pending .meta-value{color:#92400e;font-weight:600}.document-list .document-meta{display:flex;flex-direction:column;gap:2px;align-items:flex-start;color:#1f2937;font-size:13px;line-height:1.4}.document-list .meta-item{display:flex;flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:4px;font-size:13px;text-align:left;color:#1f2937;padding:0;background:transparent;border:none}.document-list .meta-item>div:first-child{color:#6b7280;font-weight:500;font-size:13px}.document-list .meta-value{color:#111827;font-weight:600;text-align:left;max-width:100%;white-space:normal;display:inline;overflow:visible;text-overflow:clip}.document-list .meta-value:before{content:"";margin:0}.document-actions{padding:8px 16px;background:#fafafa;border-top:1px solid #f0f0f0;display:flex;gap:8px;flex-wrap:wrap}.action-button{padding:8px 12px;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:4px;min-height:32px}.action-button:disabled{cursor:not-allowed;opacity:.6}.action-button.view{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.action-button.view:hover:not(:disabled){background:#e5e7eb;transform:translateY(-1px)}.action-button.sign{background:linear-gradient(135deg,#059669,#047857);color:#fff}.action-button.sign:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #0596694d}.action-button.delete{background:#fef2f2;color:#dc2626;border:1px solid #fecaca;padding:8px 10px}.action-button.delete:hover:not(:disabled){background:#fee2e2;border-color:#fca5a5;transform:translateY(-1px)}.button-spinner{width:12px;height:12px;border:1.5px solid rgba(255,255,255,.3);border-top:1.5px solid white;border-radius:50%;animation:spin 1s linear infinite}.action-button.delete .button-spinner{border-color:#dc26264d;border-top-color:#dc2626}.error-message{display:flex;align-items:center;gap:8px;background:#fef2f2;color:#dc2626;padding:12px 20px;border-left:4px solid #dc2626;margin:16px 20px;border-radius:4px;font-size:14px}@media (max-width: 768px){.documents-grid{grid-template-columns:1fr;padding:16px;gap:16px}.list-header{padding:16px}.header-title{flex-direction:column;align-items:flex-start;gap:12px}.filters{flex-direction:column;gap:8px}.filter-group select,.search-input{min-width:100%}.document-header{flex-direction:column;align-items:flex-start;gap:8px;padding:12px 16px}.document-content{padding:16px}.document-actions{padding:12px 16px;gap:6px}.action-button{font-size:11px;padding:6px 10px}.meta-item{flex-direction:column;align-items:flex-start;gap:2px}.meta-value{max-width:100%;text-align:left}}.documents-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;margin-top:16px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;color:#1f2937}.pagination-summary{color:#4b5563;font-size:13px}.pagination-controls{display:flex;align-items:center;gap:8px}.pagination-controls button{padding:6px 12px;background:#2563eb;color:#fff;border:none;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer}.pagination-controls button:hover:not(:disabled){background:#1d4ed8}.pagination-controls button:disabled{background:#d1d5db;cursor:not-allowed}.pagination-page{color:#1f2937;font-weight:500;white-space:nowrap}.pagination-perpage{display:inline-flex;align-items:center;gap:6px;color:#4b5563;font-size:13px}.pagination-perpage select{padding:4px 6px;background:#fff;color:#1f2937;border:1px solid #d1d5db;border-radius:4px;font-size:13px;cursor:pointer}@media (max-width: 600px){.documents-pagination{flex-direction:column;align-items:stretch}.pagination-controls{justify-content:center}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;box-sizing:border-box}.modal-content{background:#fff;border-radius:12px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 30px #0000004d;position:relative}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 30px;border-bottom:1px solid #e5e7eb;background:#f8f9fa;border-radius:12px 12px 0 0}.modal-header h3{margin:0;color:#1e3c72;font-size:1.25rem;display:flex;align-items:center;gap:8px}.close-button{background:none;border:none;font-size:20px;cursor:pointer;color:#6b7280;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.close-button:hover{background:#f3f4f6;color:#374151}.modal-body{padding:30px}.error-message{display:flex;align-items:center;gap:8px;background:#fef2f2;color:#dc2626;padding:12px 16px;border-radius:8px;border-left:4px solid #dc2626;font-size:14px;margin-bottom:20px}.user-info-display{background:#f8f9fa;border-radius:8px;padding:16px;margin-bottom:24px;border:1px solid #e5e7eb}.info-item{margin-bottom:8px;font-size:14px;color:#1f2937}.info-item:last-child{margin-bottom:0}.info-item strong{color:#374151;font-weight:600}.form-group{margin-bottom:20px}.form-group label{display:block;font-weight:600;color:#374151;margin-bottom:6px;font-size:14px}.form-group input,.form-group select{width:100%;padding:12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-family:inherit;background:#fff;color:#000!important;box-sizing:border-box;transition:border-color .2s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.form-group input:disabled,.form-group select:disabled{background:#f9fafb;color:#000!important;cursor:not-allowed}.role-description{font-size:12px;color:#6b7280;margin-top:4px;font-style:italic}.field-description{font-size:12px;color:#6b7280;margin-top:4px}.checkbox-label{display:flex!important;align-items:center;gap:8px;font-weight:400!important;cursor:pointer}.checkbox-label input[type=checkbox]{width:auto!important;margin:0}.checkbox-text{font-size:14px;color:#000!important}.password-section{background:#f8f9fa;border-radius:8px;padding:20px;border:1px solid #e5e7eb}.password-section h4{margin:0 0 12px;color:#374151;font-size:16px;font-weight:600}.reset-password-button{background:linear-gradient(135deg,#059669,#047857);color:#fff;border:none;padding:10px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .3s ease;margin-bottom:8px}.reset-password-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0596694d}.reset-password-button:disabled{background:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}.info-box{display:flex;align-items:flex-start;gap:12px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:16px;font-size:14px;color:#1e40af}.info-icon{font-size:16px;margin-top:2px}.modal-footer{display:flex;gap:12px;justify-content:flex-end;padding:24px 30px;border-top:1px solid #e5e7eb;background:#f8f9fa;border-radius:0 0 12px 12px}.cancel-button{background:#fff;color:#6b7280;border:1px solid #d1d5db;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.cancel-button:hover{background:#f9fafb;border-color:#9ca3af;color:#374151}.cancel-button:disabled{opacity:.5;cursor:not-allowed}.create-button,.update-button{background:linear-gradient(135deg,#1e3c72,#2a5298);color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s ease;min-width:120px;justify-content:center}.create-button:hover,.update-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #2a52984d}.create-button:disabled,.update-button:disabled{background:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}@media (max-width: 480px){.modal-overlay{padding:10px}.modal-header,.modal-body,.modal-footer{padding-left:20px;padding-right:20px}.modal-footer{flex-direction:column;gap:8px}.cancel-button,.create-button,.update-button{width:100%;justify-content:center}}.pwd-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f1624a6;display:flex;align-items:center;justify-content:center;padding:16px;z-index:1100}.pwd-modal{background:#fff;border-radius:12px;width:100%;max-width:440px;box-shadow:0 20px 60px #00000059;overflow:hidden}.pwd-modal-header{background:linear-gradient(135deg,#1e3c72,#2a5298);color:#fff;padding:14px 18px;display:flex;align-items:center;justify-content:space-between}.pwd-modal-header h3{margin:0;font-size:1.05rem}.pwd-modal-close{background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:8px;width:32px;height:32px;cursor:pointer}.pwd-modal-body{padding:18px 18px 16px;display:flex;flex-direction:column;gap:14px}.pwd-modal-message{margin:0;font-size:.92rem;color:#4b5563}.pwd-modal-row{display:flex;flex-direction:column;gap:4px}.pwd-modal-row label{font-size:.78rem;font-weight:600;color:#4b5563;text-transform:uppercase;letter-spacing:.05em}.pwd-modal-value-row{display:flex;gap:6px}.pwd-modal-value{flex:1;min-width:0;padding:10px 12px;border:1px solid #d6dae0;border-radius:8px;background:#f6f8fa;color:#1e3c72;font-size:14px}.pwd-modal-value-mono{font-family:JetBrains Mono,SF Mono,monospace;font-weight:600;letter-spacing:.02em}.pwd-modal-copy{padding:0 14px;border:1px solid #1e3c72;background:#1e3c72;color:#fff;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.pwd-modal-copy.ok{background:#047857;border-color:#047857}.pwd-modal-copy:hover{background:#16315e}.pwd-modal-copy.ok:hover{background:#036148}.pwd-modal-copy-both{margin-top:4px;padding:10px 12px;border:1px dashed #1e3c72;border-radius:8px;background:#fff;color:#1e3c72;font-size:13px;font-weight:600;cursor:pointer}.pwd-modal-copy-both.ok{border-style:solid;background:#ecfdf3;border-color:#047857;color:#047857}.pwd-modal-footer{display:flex;justify-content:flex-end;margin-top:4px}.pwd-modal-done{padding:9px 16px;border:1px solid #c5cad1;background:#fff;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;color:#1e3c72}.user-management{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.users-header{display:flex;justify-content:space-between;align-items:center;padding:30px;border-bottom:1px solid #e5e7eb;background:#f8f9fa}.users-header h3{color:#1e3c72;margin:0 0 8px;font-size:1.5rem;display:flex;align-items:center;gap:8px}.users-header p{margin:0;color:#000;font-size:14px}.add-user-button{background:linear-gradient(135deg,#1e3c72,#2a5298);color:#fff;border:none;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s ease}.add-user-button:hover{transform:translateY(-2px);box-shadow:0 8px 20px #2a52984d}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px;color:#000}.loading-spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top:3px solid #1e3c72;border-radius:50%;animation:spin 1s linear infinite}.loading-spinner-small{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-message{display:flex;align-items:center;gap:8px;background:#fef2f2;color:#dc2626;padding:12px 16px;border-radius:8px;border-left:4px solid #dc2626;font-size:14px;margin:20px 30px}.error-icon{font-size:16px}.users-table-container{overflow-x:auto}.users-table{width:100%;border-collapse:collapse}.users-table th{background:#f8f9fa;padding:16px 20px;text-align:left;font-family:inherit;font-weight:600;text-transform:uppercase;font-size:12px;color:#374151;border-bottom:2px solid #e5e7eb;letter-spacing:.05em}.users-table td{padding:20px;border-bottom:1px solid #f3f4f6;vertical-align:middle}.users-table tr:hover{background:#f9fafb}.users-table tr.current-user{background:#fef3cd;border-left:4px solid #f59e0b}.user-info{display:flex;flex-direction:column;gap:4px}.user-name{font-weight:600;color:#374151;font-size:14px}.user-email{font-size:13px;color:#6b7280;font-family:Monaco,Menlo,monospace}.role-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:16px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:600}.status-badge.active{background:#dcfce7;color:#166534}.status-badge.inactive{background:#fee2e2;color:#dc2626}.date-info{display:flex;flex-direction:column;gap:2px}.date-info>div:first-child{font-size:14px;color:#374151;font-weight:500}.created-by{font-size:12px;color:#6b7280;font-style:italic}.user-actions{display:flex;gap:8px;align-items:center}.action-button{background:transparent;border:1px solid #e5e7eb;color:#6b7280;width:32px;height:32px;padding:0;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .2s ease}.action-button:hover{background:#f3f4f6;transform:scale(1.05)}.action-button.edit:hover{border-color:#2563eb;color:#2563eb}.action-button.reset-password:hover,.action-button.toggle-status.activate:hover{border-color:#059669;color:#059669}.action-button.toggle-status.deactivate:hover{border-color:#dc2626;color:#dc2626}.action-button.delete:hover{border-color:#dc2626;color:#dc2626;background:#fef2f2}.action-loading{display:flex;align-items:center;gap:8px;font-size:12px;color:#000}.empty-state{text-align:center;padding:60px 20px;color:#000}.empty-state .empty-icon{font-size:3rem;margin-bottom:16px;opacity:.6;display:block}.empty-state p{margin:0;font-size:16px}@media (max-width: 768px){.users-header{flex-direction:column;gap:16px;align-items:stretch;text-align:center}.add-user-button{justify-content:center}.users-table th,.users-table td{padding:12px}.user-actions{flex-wrap:wrap;gap:4px}.action-button{width:28px;height:28px;font-size:12px}.role-badge{font-size:10px;padding:4px 8px}}.signature-pad{display:flex;flex-direction:column;align-items:center;gap:12px}.signature-pad-canvas{position:relative;border:2px dashed #c5cad1;border-radius:10px;background:#fff;overflow:hidden;touch-action:none;flex-shrink:0}.signature-pad-canvas canvas{display:block;cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none}.signature-pad-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:15px;color:#9aa0a8;pointer-events:none;letter-spacing:.08em;text-transform:uppercase}.signature-pad-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.signature-pad-btn{padding:10px 16px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:opacity .15s ease,transform .05s ease}.signature-pad-btn:disabled{opacity:.5;cursor:not-allowed}.signature-pad-btn-primary{background:#1e3c72;color:#fff}.signature-pad-btn-primary:not(:disabled):hover{background:#16315e}.signature-pad-btn-secondary{background:#fff;color:#1e3c72;border-color:#c5cad1}.signature-pad-btn-secondary:not(:disabled):hover{background:#f1f3f5}@media (max-width: 600px){.signature-pad-actions{justify-content:stretch}.signature-pad-actions .signature-pad-btn{flex:1;min-width:0}}.signature-cropper{display:flex;flex-direction:column;align-items:center;gap:12px}.signature-cropper-frame{position:relative;border:2px dashed #c5cad1;border-radius:10px;background:linear-gradient(45deg,#f5f7fa 25%,transparent 25%),linear-gradient(-45deg,#f5f7fa 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#f5f7fa 75%),linear-gradient(-45deg,transparent 75%,#f5f7fa 75%);background-color:#fff;background-size:14px 14px;background-position:0 0,0 7px,7px -7px,-7px 0;overflow:hidden;touch-action:none;cursor:grab;flex-shrink:0}.signature-cropper-frame:active{cursor:grabbing}.signature-cropper-frame img{position:absolute;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none;max-width:none}.signature-cropper-state{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#6c757d;font-size:14px}.signature-cropper-state.error{color:#b42318}.signature-cropper-controls{display:flex;align-items:center;gap:8px;width:350px}.signature-cropper-controls input[type=range]{flex:1;accent-color:#1e3c72}.signature-cropper-zoom{width:32px;height:32px;border:1px solid #c5cad1;background:#fff;border-radius:8px;color:#1e3c72;font-size:18px;font-weight:700;cursor:pointer;line-height:1}.signature-cropper-zoom:hover{background:#f1f3f5}.signature-cropper-bg-toggle{display:flex;align-items:center;gap:8px;width:350px;font-size:.85rem;color:#4b5563;cursor:pointer}.signature-cropper-bg-toggle input[type=checkbox]{width:16px;height:16px;accent-color:#1e3c72;flex-shrink:0}.signature-cropper-actions{display:flex;gap:8px;width:350px;justify-content:flex-end}.signature-cropper-btn{padding:10px 16px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;border:1px solid transparent}.signature-cropper-btn:disabled{opacity:.55;cursor:not-allowed}.signature-cropper-btn-primary{background:#1e3c72;color:#fff}.signature-cropper-btn-primary:not(:disabled):hover{background:#16315e}.signature-cropper-btn-secondary{background:#fff;color:#1e3c72;border-color:#c5cad1}.signature-cropper-btn-secondary:not(:disabled):hover{background:#f1f3f5}@media (max-width: 380px){.signature-cropper-controls,.signature-cropper-actions{width:100%}}.signature-profile{display:flex;flex-direction:column;gap:16px}.signature-profile-compact{flex-direction:row;align-items:center;gap:10px;background:#ecfdf3;border:1px solid #b8e7ce;color:#027a48;padding:10px 14px;border-radius:10px;font-size:.92rem;font-weight:600}.signature-profile-section:has(#signature-profile[aria-hidden=true]){display:none}.signature-profile-compact-label{flex:1}.signature-profile-link{background:transparent;border:none;color:#1e3c72;font-weight:600;cursor:pointer;padding:0;text-decoration:underline;font-size:.9rem}.signature-profile-link:hover{color:#16315e}.signature-profile-link-collapse{align-self:flex-end;margin-top:-22px;font-size:.82rem;color:#6c757d}.signature-profile-header{position:relative}.signature-profile-header h3{margin:0 0 6px;color:#1e3c72;font-size:1.2rem}.signature-profile-hint{margin:0;color:#5a6068;font-size:.92rem;line-height:1.4}.signature-profile-state{font-size:.95rem;color:#5a6068}.signature-profile-current{display:flex;flex-direction:column;gap:12px}.signature-profile-preview{background:linear-gradient(45deg,#f5f7fa 25%,transparent 25%),linear-gradient(-45deg,#f5f7fa 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#f5f7fa 75%),linear-gradient(-45deg,transparent 75%,#f5f7fa 75%);background-size:14px 14px;background-position:0 0,0 7px,7px -7px,-7px 0;border:1px solid #d6dae0;border-radius:10px;padding:16px;display:flex;align-items:center;justify-content:center;min-height:140px}.signature-profile-preview img{max-width:100%;max-height:200px;height:auto}.signature-profile-meta{font-size:.85rem;color:#6c757d}.signature-profile-actions{display:flex;flex-wrap:wrap;gap:8px}.signature-profile-editor{display:flex;flex-direction:column;gap:12px;background:#fafbfc;padding:14px;border-radius:10px;border:1px solid #e6e9ed}.signature-profile-or{text-align:center;font-size:.85rem;color:#99a0a8;text-transform:uppercase;letter-spacing:.1em}.signature-profile-cropper-hint{margin:0 0 4px;font-size:.85rem;color:#5a6068;text-align:center}.signature-profile-upload{align-self:center}.signature-profile-btn{padding:10px 16px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;border:1px solid transparent}.signature-profile-btn:disabled{opacity:.55;cursor:not-allowed}.signature-profile-btn-secondary{background:#fff;color:#1e3c72;border-color:#c5cad1}.signature-profile-btn-secondary:not(:disabled):hover{background:#f1f3f5}.signature-profile-btn-danger{background:#fff;color:#b42318;border-color:#f3c5c0}.signature-profile-btn-danger:not(:disabled):hover{background:#fff5f4}.signature-profile-error{background:#fff5f4;color:#b42318;padding:10px 12px;border-radius:8px;font-size:.9rem}.signature-profile-info{background:#ecfdf3;color:#027a48;padding:10px 12px;border-radius:8px;font-size:.9rem}@media (max-width: 600px){.signature-profile-actions{flex-direction:column}.signature-profile-actions .signature-profile-btn{width:100%}}.race-assignments{display:flex;flex-direction:column;gap:16px}.race-assignments-header h3{margin:0 0 6px;color:#1e3c72;font-size:1.2rem}.race-assignments-hint{margin:0;color:#5a6068;font-size:.92rem;line-height:1.4}.race-assignments-tabs{display:flex;flex-wrap:wrap;gap:6px;border-bottom:1px solid #e6e9ed;padding-bottom:8px}.race-assignments-tab{padding:8px 14px;border-radius:8px;border:1px solid #d6dae0;background:#fff;color:#1e3c72;font-size:13px;font-weight:600;cursor:pointer;letter-spacing:.04em}.race-assignments-tab:hover{background:#f1f3f5}.race-assignments-tab.active{background:#1e3c72;color:#fff;border-color:#1e3c72}.race-assignments-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.race-assignments-block{border:1px solid #e6e9ed;border-radius:10px;background:#fafbfc;padding:14px;display:flex;flex-direction:column;gap:10px}.race-assignments-block-header{display:flex;flex-direction:column;gap:2px}.race-assignments-block-title{font-weight:700;color:#1e3c72}.race-assignments-block-hint{font-size:.8rem;color:#6c757d}.race-assignments-empty{color:#6c757d;font-size:.88rem;font-style:italic}.race-assignments-users{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.race-assignments-user{border:1px solid #e6e9ed;border-radius:8px;background:#fff;transition:border-color .15s ease,background .15s ease}.race-assignments-user.checked{border-color:#1e3c72;background:#eef2f9}.race-assignments-user label{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;width:100%}.race-assignments-user input[type=checkbox]{width:18px;height:18px;flex-shrink:0;accent-color:#1e3c72}.race-assignments-user-info{display:flex;flex-direction:column;min-width:0}.race-assignments-user-name{font-weight:600;color:#1e3c72;font-size:.93rem}.race-assignments-user-meta{font-size:.78rem;color:#6c757d}.race-assignments-user-warning{color:#b54708;font-weight:600}.race-assignments-actions{display:flex;justify-content:flex-end}.race-assignments-save{padding:10px 18px;background:#1e3c72;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.race-assignments-save:disabled{opacity:.55;cursor:not-allowed}.race-assignments-state{font-size:.95rem;color:#5a6068}.race-assignments-error{background:#fff5f4;color:#b42318;padding:10px 12px;border-radius:8px;font-size:.9rem}.race-assignments-info{background:#ecfdf3;color:#027a48;padding:10px 12px;border-radius:8px;font-size:.9rem}@media (max-width: 600px){.race-assignments-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:10px;-webkit-overflow-scrolling:touch}.race-assignments-tab{flex-shrink:0}.race-assignments-actions{justify-content:stretch}.race-assignments-save{width:100%}}.legal-page{min-height:100vh;background:#f5f5f5}.legal-page .hero-section{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:80px 0 60px;margin-bottom:40px}.legal-page .page-title{font-size:2.5rem;font-weight:700;margin-bottom:10px;text-align:center}.legal-page .page-subtitle{text-align:center;opacity:.9;font-size:1.1rem}.legal-content{padding:0 20px 60px}.legal-document{background:#fff;border-radius:8px;padding:40px;box-shadow:0 2px 4px #0000001a;max-width:900px;margin:0 auto}.last-updated{color:#666;font-style:italic;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #eee}.legal-document h2{color:#333;font-size:1.8rem;margin-top:40px;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid #667eea}.legal-document h3{color:#555;font-size:1.3rem;margin-top:25px;margin-bottom:15px}.legal-document p{line-height:1.6;margin-bottom:15px;color:#444}.legal-document ul{margin:15px 0;padding-left:30px}.legal-document li{line-height:1.8;margin-bottom:8px;color:#444}.legal-document strong{color:#333;font-weight:600}.legal-document a{color:#667eea;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}.legal-document a:hover{border-bottom-color:#667eea}.contact-box{background:#f8f9fa;border-left:4px solid #667eea;padding:20px;margin:20px 0;border-radius:4px}.contact-box p{margin:5px 0}.cookie-table{margin:20px 0;overflow-x:auto}.cookie-table table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #ddd}.cookie-table th{background:#667eea;color:#fff;padding:12px;text-align:left;font-weight:600}.cookie-table td{padding:12px;border-top:1px solid #eee}.cookie-table tr:hover td{background:#f8f9fa}.cookie-table code{background:#f4f4f4;padding:2px 6px;border-radius:3px;font-family:Courier New,monospace;font-size:.9em}@media (max-width: 768px){.legal-page .page-title{font-size:1.8rem}.legal-document{padding:25px 20px}.legal-document h2{font-size:1.4rem}.legal-document h3{font-size:1.1rem}.cookie-table{font-size:.9rem}.cookie-table th,.cookie-table td{padding:8px}}@media (max-width: 480px){.legal-page .hero-section{padding:60px 0 40px}.legal-document{padding:20px 15px}.cookie-table{font-size:.8rem}.cookie-table th,.cookie-table td{padding:6px;font-size:.85rem}}.font-test{min-height:100vh;padding:var(--spacing-xl) 0;background:var(--color-primary)}.test-title{text-align:center;margin-bottom:var(--spacing-xl);color:var(--color-accent);font-size:2rem}.test-section{margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);border:1px solid var(--color-neutral);border-radius:8px;background:#f5f7fa0d}.test-section-title{margin-bottom:var(--spacing-md);color:var(--color-secondary);font-size:1.25rem;border-bottom:2px solid var(--color-accent);padding-bottom:var(--spacing-xs)}.current-heading{font-family:var(--font-header);font-weight:700;font-size:46px;line-height:1.1;margin-bottom:var(--spacing-md);color:var(--color-secondary)}.current-text{font-family:var(--font-body);font-weight:400;font-size:17px;line-height:1.5;color:var(--color-secondary);margin-bottom:var(--spacing-sm)}.roboto-heading{font-family:Roboto,sans-serif;font-weight:900;font-size:46px;line-height:1.1;margin-bottom:var(--spacing-md);color:var(--color-secondary);text-transform:uppercase;letter-spacing:-.02em}.roboto-text{font-family:Roboto,sans-serif;font-weight:400;font-size:17px;line-height:1.5;color:var(--color-secondary);margin-bottom:var(--spacing-sm)}.work-sans-heading{font-family:Work Sans,sans-serif;font-weight:900;font-size:46px;line-height:1.1;margin-bottom:var(--spacing-md);color:var(--color-secondary);text-transform:uppercase;letter-spacing:-.02em}.work-sans-text{font-family:Work Sans,sans-serif;font-weight:400;font-size:17px;line-height:1.5;color:var(--color-secondary);margin-bottom:var(--spacing-sm)}.montserrat-heading{font-family:Montserrat,sans-serif;font-weight:900;font-size:46px;line-height:1.1;margin-bottom:var(--spacing-md);color:var(--color-secondary);text-transform:uppercase;letter-spacing:-.02em}.montserrat-text{font-family:Montserrat,sans-serif;font-weight:400;font-size:17px;line-height:1.5;color:var(--color-secondary);margin-bottom:var(--spacing-sm)}.comparison{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-md)}.card-example{padding:var(--spacing-md);border:1px solid var(--color-neutral);border-radius:8px;background:#f5f7fa1a}.card-example.current{border-color:var(--color-warning)}.card-example.proposed{border-color:var(--color-success)}.card-example.proposed.roboto{border-color:var(--color-accent);background:#e106001a}.card-title{font-size:24px;font-weight:700;margin-bottom:var(--spacing-xs);color:var(--color-accent)}.card-date,.card-location,.card-description{margin-bottom:var(--spacing-xs);color:var(--color-secondary)}.style-tests{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-md)}.style-test{padding:var(--spacing-md);border:1px solid var(--color-neutral);border-radius:8px;background:#f5f7fa1a}.work-sans-heading.small{font-size:24px}.work-sans-heading.medium{font-size:32px}.work-sans-text.bold{font-weight:600}.montserrat-heading.small{font-size:24px}.montserrat-heading.medium{font-size:32px}.montserrat-text.bold{font-weight:600}@media (max-width: 768px){.current-heading,.work-sans-heading,.montserrat-heading{font-size:32px}.current-text,.work-sans-text,.montserrat-text{font-size:16px}.comparison{grid-template-columns:1fr}}:root{--color-primary: #0B0D10;--color-secondary: #F5F7FA;--color-accent: #E10600;--color-success: #18C964;--color-warning: #F5A623;--color-neutral: #8A8F98;--font-mono: "JetBrains Mono", "SF Mono", monospace;--font-header: "Roboto", -apple-system, sans-serif;--font-body: "Roboto", -apple-system, sans-serif;--spacing-unit: 8px;--spacing-xs: 8px;--spacing-sm: 16px;--spacing-md: 24px;--spacing-lg: 32px;--spacing-xl: 48px;--transition-fast: .2s ease-out}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:manipulation}body{font-family:var(--font-body);font-weight:400;font-size:17px;background:var(--color-primary);color:var(--color-secondary);line-height:1.5;min-height:100vh;overflow-x:hidden}p,li,span,div{font-family:var(--font-body);font-weight:400;font-size:17px;line-height:1.5}h1,h2,h3,h4,h5,h6{font-family:var(--font-header);font-weight:900;font-size:46px;text-transform:uppercase;letter-spacing:-.02em;line-height:1.1}h2{font-size:38px}h3{font-size:32px}h4{font-size:28px}h5{font-size:24px}h6{font-size:20px}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}button,.button{font-family:var(--font-header);font-weight:600;text-transform:uppercase;background:transparent;border:2px solid var(--color-secondary);color:var(--color-secondary);padding:var(--spacing-xs) var(--spacing-sm);cursor:pointer;transition:all var(--transition-fast);min-height:44px;display:inline-flex;align-items:center;justify-content:center}button:hover,.button:hover{background:var(--color-secondary);color:var(--color-primary)}button:active,.button:active{transform:translateY(1px)}button.accent,.button.accent{border-color:var(--color-accent);color:var(--color-accent)}button.accent:hover,.button.accent:hover{background:var(--color-accent);color:var(--color-secondary)}a{color:inherit;text-decoration:none}.container{width:100%;max-width:1440px;margin:0 auto;padding:0 var(--spacing-sm)}@media (min-width: 768px){.container{padding:0 var(--spacing-md)}}@media (min-width: 1024px){.container{padding:0 var(--spacing-lg)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app{min-height:100vh;display:flex;flex-direction:column}main{flex:1}.footer{background:var(--color-primary);border-top:2px solid var(--color-neutral);padding:var(--spacing-lg) 0;margin-top:var(--spacing-xl)}.footer-content{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.footer-logo{flex-shrink:0}.footer-logo-img{height:161px;width:auto;object-fit:contain}.footer-info{display:flex;flex-direction:column;gap:var(--spacing-xs);align-items:flex-start}.footer-text{text-align:left;font-family:var(--font-header);font-size:.875rem;font-weight:600;letter-spacing:.05em;color:var(--color-neutral);text-transform:uppercase;margin:0}.footer-links{display:flex;gap:var(--spacing-sm);align-items:center;font-size:.85rem}.footer-links a{color:var(--color-neutral);text-decoration:none;transition:color .3s ease;padding:4px 8px}.footer-links a:hover{color:#fff}.footer-separator{color:var(--color-neutral);opacity:.5}@media (max-width: 768px){.footer-links{flex-direction:column;gap:var(--spacing-xs)}.footer-separator{display:none}}
