:root{font-family:'DM Sans',Segoe UI,Arial,sans-serif;color:#f4f5fb;background:#090d14;font-synthesis:none;text-rendering:optimizeLegibility;--muted:#8990a3;--line:#202634;--panel:#101620;--purple:#9775fa;--green:#45d6a5}*{box-sizing:border-box}body{margin:0;min-width:350px;min-height:100vh;background:radial-gradient(ellipse at 70% -30%,#19152d 0%,transparent 45%),#090d14}.app-shell{min-height:100vh}.sidebar{width:242px;position:fixed;inset:0 auto 0 0;padding:28px 17px 18px;background:#0c1119;border-right:1px solid #1d2431;display:flex;flex-direction:column;z-index:2}.brand{display:flex;align-items:center;gap:11px;padding:0 8px 36px;text-decoration:none;color:inherit}.brand-mark{width:35px;height:35px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(140deg,#a388ff,#7454dc);font:700 20px 'Space Grotesk',sans-serif;color:white;box-shadow:0 5px 20px #8b6cf333}.brand-copy{display:flex;flex-direction:column;gap:3px}.brand-copy strong{font:700 17px 'Space Grotesk',sans-serif;letter-spacing:1.8px}.brand-copy small{font-size:8px;letter-spacing:1.2px;color:#858ca0}.nav-label,.section-kicker,.eyebrow,.stat-label,.list-heading,.page-footer{font-size:9px;font-weight:700;letter-spacing:1.3px;color:#858ca0}.nav-label{padding:0 10px 12px}.navigation{display:grid;gap:4px}.nav-item{height:42px;display:flex;align-items:center;gap:11px;padding:0 10px;border:1px solid transparent;border-radius:7px;color:#a2a8b8;text-decoration:none;font-size:12px;position:relative}.nav-icon{width:17px;text-align:center;font-size:17px;color:#858ca0}.nav-item.active{background:#1a1729;border-color:#302745;color:#d8d0ff}.nav-item.active .nav-icon{color:#aa90ff}.active-dot{position:absolute;right:12px;width:5px;height:5px;border-radius:50%;background:#ac91ff}.soon{margin-left:auto;color:#747c90;font-size:7px;letter-spacing:.6px}.sidebar-footer{margin-top:auto;display:flex;gap:10px;align-items:center;padding:13px 10px;border:1px solid #222a37;border-radius:8px;background:#101620}.local-dot,.status-dot{width:7px;height:7px;border-radius:50%;display:inline-block;background:#46d7a6;box-shadow:0 0 10px #46d7a666}.sidebar-footer>span:last-child{display:flex;flex-direction:column;gap:3px}.sidebar-footer strong{font-size:10px;font-weight:600}.sidebar-footer small{font-size:9px;color:#858ca0}.main-content{margin-left:242px;padding:0 48px 26px;max-width:1600px}.topbar{height:61px;border-bottom:1px solid #1e2531;display:flex;align-items:center;justify-content:space-between}.breadcrumb{font-size:9px;letter-spacing:1px;color:#788093}.breadcrumb span{padding:0 8px;color:#41495a}.breadcrumb strong{color:#c8cbd5;font-size:9px}.edition{display:flex;align-items:center;gap:7px;color:#9299aa;font-size:8px;font-weight:700;letter-spacing:1px}.edition span{width:6px;height:6px;background:#8e70f5;border-radius:50%}.page-heading{padding:40px 0 25px;display:flex;align-items:flex-end;justify-content:space-between}.eyebrow{color:#9d84f4;font-size:8px;display:flex;align-items:center;gap:8px}.eyebrow-line{width:18px;height:1px;background:#9775fa}h1,h2,h3,p{margin:0}h1{font:600 38px 'Space Grotesk',sans-serif;letter-spacing:-1.5px;margin-top:8px}h1 span{color:#a88aff}.intro{font-size:12px;color:#9199aa;margin-top:7px}.primary-button,.secondary-button{height:37px;border-radius:6px;padding:0 14px;border:1px solid transparent;font:600 11px 'DM Sans',sans-serif;cursor:pointer}.primary-button{background:#8a6bec;color:white;box-shadow:0 4px 16px #8a6bec25}.primary-button:hover{background:#9a7df5}.primary-button>span{font-size:16px;vertical-align:-1px;margin-right:5px}.stats-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:21px}.stat-card{height:75px;border:1px solid #202735;border-radius:8px;background:linear-gradient(110deg,#121923,#10151e);display:flex;align-items:center;padding:0 16px;gap:13px}.stat-icon{width:33px;height:33px;display:grid;place-items:center;border-radius:7px;font-size:17px}.stat-icon.purple{color:#b39bff;background:#2a2140}.stat-icon.green{color:#5be0b0;background:#16332e}.stat-icon.blue{color:#72b7fa;background:#182a3c}.stat-card>div{display:flex;flex-direction:column;gap:6px}.stat-label{font-size:8px;letter-spacing:.9px}.stat-card strong{font:600 16px 'Space Grotesk',sans-serif}.stat-card .saved-status{font:600 11px 'DM Sans',sans-serif;display:flex;align-items:center;gap:7px}.status-dot{width:6px;height:6px}.stat-card .stat-small{font:500 11px 'DM Sans',sans-serif}.library-panel{min-height:345px;border:1px solid #202735;border-radius:9px;background:#101620;overflow:hidden}.library-header{padding:19px 20px;display:flex;align-items:center;justify-content:space-between}.section-kicker{font-size:8px;color:#9b82f1}.library-header h2{font:600 17px 'Space Grotesk',sans-serif;margin-top:5px}.search-box{width:235px;height:34px;border:1px solid #2a3240;background:#0d121a;border-radius:6px;display:flex;align-items:center;padding:0 9px;gap:8px;color:#8991a3}.search-box>span{font-size:19px}.search-box input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:#e9eaf0;font:11px 'DM Sans',sans-serif}.search-box input::placeholder{color:#6e7789}.search-box kbd{border:1px solid #343c4b;border-radius:3px;padding:1px 4px;font:10px 'DM Sans',sans-serif;color:#737d8f}.list-heading,.map-row{display:grid;grid-template-columns:minmax(0,1fr) 145px 115px;align-items:center;padding:0 20px}.list-heading{height:36px;background:#0d121a;border-top:1px solid #202735;border-bottom:1px solid #202735;font-size:8px;letter-spacing:.85px}.actions-heading{text-align:right}.map-row{min-height:61px;border-bottom:1px solid #1c2430}.map-name{display:flex;align-items:center;gap:11px;font:600 12px 'Space Grotesk',sans-serif}.map-symbol{width:31px;height:31px;border:1px solid #363047;border-radius:6px;background:linear-gradient(135deg,#28213b,#191d2b);display:grid;place-items:center;color:#af97ff;font-size:15px}.map-date{font-size:10px;color:#969eae}.row-actions{display:flex;justify-content:flex-end;gap:6px}.icon-button{height:29px;width:30px;display:grid;place-items:center;border:1px solid #303848;border-radius:5px;background:#141b26;color:#9ca5b5;font-size:14px;cursor:pointer}.icon-button:hover{border-color:#7762ba;color:#c7b9ff}.icon-button.delete:hover{border-color:#814654;color:#ff8da0}.empty-state{min-height:235px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px}.empty-art{width:52px;height:52px;position:relative;border:1px solid #353047;border-radius:12px;background:#1a1827;color:#ad95fa;display:grid;place-items:center;font-size:24px;margin-bottom:13px}.empty-art i{position:absolute;right:-7px;bottom:-5px;width:19px;height:19px;border:2px solid #101620;border-radius:50%;display:grid;place-items:center;background:#8d70ed;color:white;font:600 13px 'DM Sans',sans-serif;font-style:normal}.empty-state h3{font:600 13px 'Space Grotesk',sans-serif}.empty-state p{max-width:320px;color:#8c94a5;font-size:10px;margin-top:6px;line-height:1.6}.secondary-button{border-color:#343c4c;background:#151c27;color:#d8dbe4}.secondary-button:hover{background:#202939}.empty-state .secondary-button{margin-top:14px}.list-footer{min-height:40px;border-top:1px solid #202735;display:flex;align-items:center;justify-content:space-between;padding:0 20px;color:#868e9f;font-size:9px}.list-footer>span:last-child{display:flex;align-items:center;gap:7px}.list-footer .local-dot{width:5px;height:5px}.page-footer{text-align:center;padding-top:19px;font-size:8px;letter-spacing:1px;color:#5f6879}.page-footer span{padding:0 5px;color:#957af1}.map-dialog{width:min(420px,calc(100% - 32px));border:1px solid #343247;border-radius:11px;background:#121722;color:#f4f5fb;padding:23px;box-shadow:0 24px 90px #000a}.map-dialog::backdrop{background:#03050ac9;backdrop-filter:blur(3px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.dialog-icon{width:35px;height:35px;border-radius:8px;display:grid;place-items:center;background:#2a2140;color:#b39bff}.close-dialog{font-size:20px}.map-dialog h2{font:600 20px 'Space Grotesk',sans-serif;margin-top:5px}.dialog-description{font-size:11px;color:#929aaa;margin-top:7px;margin-bottom:22px}.map-dialog label{display:block;font-size:10px;font-weight:600;margin-bottom:7px}.map-dialog label span{color:#c299ff}.map-dialog input{width:100%;height:39px;padding:0 11px;border:1px solid #343d4d;border-radius:6px;outline:0;background:#0d121a;color:#f4f5fb;font:12px 'DM Sans',sans-serif}.map-dialog input:focus{border-color:#9578f3;box-shadow:0 0 0 3px #9578f322}.map-dialog input::placeholder{color:#626c7d}.form-error{font-size:10px;color:#ff91a0;margin-top:7px}.dialog-actions{margin-top:23px;display:flex;justify-content:flex-end;gap:8px}.dialog-actions .primary-button{height:35px}.toast{position:fixed;right:24px;bottom:22px;z-index:5;padding:11px 15px;border:1px solid #315849;border-radius:7px;background:#14231f;color:#b6f0d8;font-size:11px;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .2s,transform .2s}.toast.visible{opacity:1;transform:translateY(0)}button:focus-visible,a:focus-visible{outline:2px solid #ac91ff;outline-offset:2px}[hidden]{display:none!important}

@media(max-width:900px){.sidebar{width:195px}.main-content{margin-left:195px;padding:0 25px 22px}.stats-row{grid-template-columns:1fr 1fr}.stat-card:last-child{display:none}}@media(max-width:620px){.sidebar{width:58px;padding:17px 7px}.brand{justify-content:center;padding:0 0 27px}.brand-copy,.nav-label,.nav-item:not(.active){display:none}.navigation{gap:7px}.nav-item.active{justify-content:center;padding:0}.nav-item.active .nav-icon{font-size:19px}.active-dot{right:4px}.sidebar-footer{padding:10px 0;justify-content:center}.sidebar-footer>span:last-child{display:none}.main-content{margin-left:58px;padding:0 15px 18px}.topbar{height:48px}.breadcrumb{font-size:7px}.edition{font-size:7px}.page-heading{padding:30px 0 19px;align-items:flex-start;gap:12px;flex-direction:column}h1{font-size:32px}.intro{font-size:11px}.stats-row{gap:8px}.stat-card{height:67px;padding:0 9px;gap:8px}.stat-card:last-child{display:none}.stat-icon{width:27px;height:27px}.stat-label{font-size:7px}.stat-card strong{font-size:14px}.stat-card .saved-status,.stat-card .stat-small{font-size:9px}.library-header{padding:15px;align-items:flex-start;gap:12px;flex-direction:column}.search-box{width:100%}.list-heading,.map-row{grid-template-columns:minmax(0,1fr) 68px 65px;padding:0 12px}.list-heading{font-size:7px}.map-name{gap:7px;font-size:10px}.map-symbol{width:26px;height:26px}.map-date{font-size:8px}.row-actions{gap:4px}.icon-button{width:27px;height:27px}.list-footer{padding:0 12px;font-size:8px}.empty-state{min-height:210px}}

/* Phase de poules */
.badge{display:inline-flex;align-items:center;min-height:27px;padding:0 10px;border:1px solid #332b4b;border-radius:20px;background:#1b1729;color:#b9a6ff;font-size:8px;font-weight:700;letter-spacing:.7px}.content-panel{border:1px solid #202735;border-radius:9px;background:#101620;overflow:hidden}.panel-heading{min-height:68px;display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid #202735}.panel-heading h2,.step-body h2{font:600 17px 'Space Grotesk',sans-serif;margin-top:5px}.quiet-label{color:#858da0;font-size:10px}.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:19px 20px}.team-card{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #252d3a;border-radius:7px;background:#0d131c}.team-index{width:29px;height:29px;display:grid;place-items:center;border-radius:6px;background:#28213b;color:#b39bff;font:600 11px 'Space Grotesk',sans-serif}.team-field{display:grid;gap:6px;flex:1}.team-field>span{font-size:8px;font-weight:700;letter-spacing:.9px;color:#8991a3}.team-field input,.map-round-row select{width:100%;height:34px;padding:0 9px;border:1px solid #303847;border-radius:5px;outline:0;background:#111823;color:#eff0f5;font:11px 'DM Sans',sans-serif}.team-field input:focus,.map-round-row select:focus{border-color:#9578f3;box-shadow:0 0 0 2px #9578f322}.team-field input::placeholder{color:#657084}.team-field input:disabled{opacity:.7}.panel-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 20px;border-top:1px solid #202735}.help-text{max-width:640px;color:#8d95a7;font-size:10px;line-height:1.6}.panel-actions .primary-button{flex:none}.form-error{margin:0 20px 12px;color:#ff9da9;font-size:10px}.form-error[hidden]{display:none}.setup-step{display:flex;gap:18px;padding:24px 22px}.step-number{flex:none;width:32px;height:32px;display:grid;place-items:center;border:1px solid #3b3156;border-radius:8px;background:#201b31;color:#b9a4ff;font:600 11px 'Space Grotesk',sans-serif}.step-body{flex:1;min-width:0}.step-body h2{margin:6px 0}.step-body>.help-text{margin-bottom:17px}.pool-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.pool-option{min-height:42px;display:flex;align-items:center;gap:9px;padding:7px 9px;border:1px solid #28303d;border-radius:6px;background:#0d131c;color:#d8dce5;font-size:10px;cursor:pointer}.pool-option:has(input:checked){border-color:#6f5aab;background:#1b1729}.pool-option input{accent-color:#9578f3}.pool-option .map-symbol{width:25px;height:25px;font-size:12px}.pool-option input:disabled{opacity:.6}.inline-note{margin-top:10px;padding:10px;border:1px solid #453c29;border-radius:6px;background:#201c13;color:#d8c99f;font-size:10px}.inline-note a{color:#beaaff}.step-actions{display:flex;align-items:center;gap:12px;margin-top:13px}.step-actions .primary-button,.step-actions .secondary-button{height:34px}.step-actions .start-button{background:#5ac49c;color:#071711;box-shadow:none}.draw-preview{margin-top:15px;padding:13px;border:1px solid #302a45;border-radius:7px;background:#14131e}.draw-title{display:flex;justify-content:space-between;color:#c4b4ff;font-size:10px;font-weight:700}.draw-title span{font-weight:400;color:#8e96a8}.draw-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.draw-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid #343047;border-radius:5px;background:#1d1a2a;color:#e4e0f5;font-size:10px}.draw-chip i{font-style:normal;color:#ad94ff;font-size:9px}.subnav{display:flex;gap:5px;margin:0 0 14px;padding:4px;width:max-content;border:1px solid #202735;border-radius:7px;background:#101620}.subnav-button{height:31px;padding:0 13px;border:0;border-radius:5px;background:transparent;color:#8991a3;font:500 10px 'DM Sans',sans-serif;cursor:pointer}.subnav-button.active{background:#29233a;color:#d9ceff}.subnav-button span{margin-left:5px;color:#a994fa}.round-section{padding:0 20px}.round-section+.round-section{border-top:1px solid #202735}.round-heading{display:flex;align-items:center;justify-content:space-between;padding:14px 0 8px}.round-heading h3{font:600 12px 'Space Grotesk',sans-serif}.round-heading span{font-size:9px;color:#81899a}.match-card{position:relative;display:grid;grid-template-columns:100px minmax(180px,1fr) auto;align-items:center;gap:14px;padding:13px 0;border-top:1px solid #1e2632}.match-status{display:flex;align-items:center;gap:6px;color:#8b93a4;font-size:9px;text-transform:capitalize}.match-status i{width:6px;height:6px;border-radius:50%;background:#737b8a}.match-status.en-cours i{background:#f1bb66}.match-status.terminé i{background:#4bd3a3}.match-main{display:grid;grid-template-columns:minmax(75px,1fr) 42px minmax(75px,1fr);align-items:center;gap:8px;text-align:center;font-size:11px}.match-main strong{font:600 12px 'Space Grotesk',sans-serif;color:#c2b0ff}.match-main span:last-child{text-align:left}.match-main span:first-child{text-align:right}.match-action{height:29px;padding:0 9px;font-size:9px;white-space:nowrap}.played-maps{grid-column:2/4;display:flex;gap:5px;flex-wrap:wrap;margin-top:-7px}.played-maps span{padding:3px 7px;border:1px solid #283345;border-radius:4px;color:#97a3b6;font-size:8px}.match-card.is-done .match-main strong{color:#78dfb8}.table-scroll{overflow:auto}.standings-table{width:100%;border-collapse:collapse;text-align:center;white-space:nowrap}.standings-table th{height:36px;background:#0d121a;color:#858da0;font-size:8px;letter-spacing:.7px}.standings-table td{height:42px;border-top:1px solid #202735;color:#cbd0db;font-size:10px}.standings-table .rank-cell{color:#a995f8;font-weight:700}.standings-table .standing-team{text-align:left;font-weight:600}.standings-table .points-cell{color:#bca6ff;font-weight:700}.tie-badge{display:inline-block;margin-left:8px;padding:3px 5px;border-radius:4px;background:#3a2b1c;color:#f3c176;font-size:7px;letter-spacing:.25px}.tie-note{padding:0 20px 16px}.match-dialog{width:min(560px,calc(100% - 30px))}.map-rounds{display:grid;gap:9px}.map-round-row{display:grid;grid-template-columns:42px 1fr 1fr;gap:9px;align-items:end;padding:10px;border:1px solid #28303d;border-radius:6px;background:#0d131c}.round-number{align-self:center;color:#aa95f6;font-size:8px;font-weight:700;letter-spacing:.5px}.map-round-row label{display:grid;gap:5px;color:#8790a2;font-size:8px}.map-round-row select{font-size:10px}.round-actions{display:flex;gap:7px;margin-top:9px}.round-actions .secondary-button{height:29px;padding:0 9px;font-size:9px}.match-dialog .dialog-actions{flex-wrap:wrap}.match-dialog .dialog-actions .secondary-button,.match-dialog .dialog-actions .primary-button{height:32px;font-size:9px}.match-dialog .form-error{margin:11px 0 0}.toast.toast-error{border-color:#70434a;background:#2a191e;color:#ffc0c8}
@media(max-width:900px){.pool-options{grid-template-columns:repeat(2,minmax(0,1fr))}.match-card{grid-template-columns:82px minmax(150px,1fr) auto;gap:8px}.match-main{font-size:10px}}
@media(max-width:620px){.team-grid{grid-template-columns:1fr;padding:13px}.panel-heading{padding:13px}.panel-actions{align-items:flex-start;flex-direction:column;padding:13px}.panel-actions .primary-button{align-self:flex-end}.setup-step{padding:17px 13px;gap:11px}.step-number{width:27px;height:27px}.pool-options{grid-template-columns:1fr}.match-card{grid-template-columns:1fr auto;gap:8px}.match-status{grid-column:1}.match-main{grid-column:1;grid-row:2}.match-action{grid-column:2;grid-row:1/3}.played-maps{grid-column:1/-1}.round-section{padding:0 12px}.round-heading{padding:12px 0 7px}.map-round-row{grid-template-columns:36px 1fr}.map-round-row label{grid-column:2}.round-number{grid-row:1/3}.match-dialog .dialog-actions{justify-content:stretch}.match-dialog .dialog-actions>*{flex:1}.tie-badge{display:block;width:max-content;margin:4px 0 0}.subnav{margin-bottom:10px}}
.played-rounds{grid-column:1/-1;display:grid;gap:5px;margin-top:-6px}.played-round{display:grid;grid-template-columns:60px minmax(90px,1fr) minmax(95px,auto);align-items:center;gap:8px;padding:4px 7px;border:1px solid #25303e;border-radius:5px;background:#0d131b}.played-round-label{color:#8992a4;font-size:8px}.played-round-map{color:#c8c3da;font-size:9px}.played-round-score{text-align:right;color:#88dfbb;font:600 9px 'Space Grotesk',sans-serif}.round-scoreline{grid-column:2/4;color:#a9b1c1;font-size:9px;padding-top:1px}.match-dialog .dialog-description{margin-bottom:15px}
@media(max-width:620px){.played-rounds{grid-column:1/-1}.map-round-row .round-scoreline{grid-column:2}}
.match-card .match-action{grid-column:3;grid-row:1}
@media(max-width:620px){.match-card .match-action{grid-column:2;grid-row:1/3}}

/* Phase éliminatoire */
#bracket-nav{margin-top:5px}.bracket-gate-message{padding:16px 20px 6px;color:#abb2c1;font-size:11px;line-height:1.6}.gate-action{margin:8px 20px 18px}.bracket-lanes{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:11px;align-items:start;overflow-x:auto;padding-bottom:8px}.bracket-lane{min-width:220px;padding:13px;border:1px solid #242c39;border-radius:9px;background:#0e141d}.lane-heading{display:flex;align-items:center;gap:9px;padding:0 0 13px;border-bottom:1px solid #252d3a}.lane-heading h2{font:600 13px 'Space Grotesk',sans-serif}.lane-heading small{display:block;margin-top:3px;color:#858da0;font-size:9px}.lane-dot{width:8px;height:8px;border-radius:50%}.high-dot{background:#a887ff;box-shadow:0 0 9px #a887ff55}.low-dot{background:#56b5e8}.place-dot{background:#d3ad67}.final-dot{background:#60d1aa;box-shadow:0 0 9px #60d1aa55}.lane-matches{display:grid;gap:10px;padding-top:12px}.elim-match-card{position:relative;padding:11px;border:1px solid #2b3442;border-radius:7px;background:linear-gradient(145deg,#151c27,#101620)}.high-lane .elim-match-card{border-left:2px solid #8b70d5}.low-lane .elim-match-card{border-left:2px solid #397fa2}.placement-lane .elim-match-card{border-left:2px solid #967644}.final-lane .elim-match-card{border-left:2px solid #378b6d}.elim-match-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.elim-match-heading strong{font:600 10px 'Space Grotesk',sans-serif}.elim-format{padding:3px 5px;border-radius:4px;background:#242038;color:#baa5ff;font-size:8px;font-weight:700}.elim-status{margin-top:7px;color:#8f98a9;font-size:8px}.status-completed .elim-status{color:#70d9ae}.status-needs-review .elim-status{color:#ffb875}.status-not-required .elim-status{color:#788193}.elim-sides{display:grid;grid-template-columns:minmax(0,1fr) 45px minmax(0,1fr);align-items:center;gap:5px;margin-top:9px;text-align:center;font-size:9px;line-height:1.4}.elim-sides b{color:#c4b2ff;font:600 11px 'Space Grotesk',sans-serif}.elim-sides span:first-child{text-align:right}.elim-sides span:last-child{text-align:left}.advancing-team{color:#e1d6ff;font-weight:700}.elim-flow{margin-top:8px;padding-top:7px;border-top:1px solid #242c38;color:#929aab;font-size:8px;line-height:1.5}.elim-rounds{display:grid;gap:4px;margin-top:7px}.elim-round{padding:4px 6px;border-radius:4px;background:#0c121a;color:#aeb7c6;font-size:8px;line-height:1.4}.old-participants{margin-top:7px;color:#ffbe88;font-size:8px}.elim-action{width:100%;height:28px;margin-top:9px;padding:0 7px;font-size:9px}.bracket-warning{margin-bottom:12px;padding:12px 14px;border:1px solid #694b2d;border-radius:7px;background:#241d16;color:#ffd19c;font-size:10px;line-height:1.6}.final-placements-panel,.prizes-panel{margin-top:14px}.final-placements{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;padding:5px 20px 14px}.placement-row{min-height:42px;display:grid;grid-template-columns:27px 100px minmax(0,1fr);align-items:center;gap:9px;border-bottom:1px solid #202735}.placement-rank{color:#ac95ff;font:700 12px 'Space Grotesk',sans-serif}.placement-label{color:#929aab;font-size:9px}.placement-row strong{font-size:10px;font-weight:600}.champion-row strong{color:#78e0b5}.prize-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:15px 20px 18px}.prize-row{display:flex;align-items:center;gap:10px;color:#b5bdca;font-size:9px}.prize-row>span{width:52px;flex:none}.prize-row input,.tie-order-row select{flex:1;min-width:0;height:32px;padding:0 9px;border:1px solid #303847;border-radius:5px;outline:0;background:#0d131c;color:#edf0f6;font:10px 'DM Sans',sans-serif}.prize-row input:focus,.tie-order-row select:focus{border-color:#9578f3}.prize-row input::placeholder{color:#667184}.tie-resolution-panel{margin:0 20px 18px;padding:12px;border:1px solid #594b2d;border-radius:7px;background:#201c15}.tie-resolution-title{margin-bottom:8px;color:#f0c77d;font-size:10px;font-weight:600}.tie-resolution-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:7px 0;border-top:1px solid #3a3324;color:#e2d6b6;font-size:9px}.tie-resolution-row .secondary-button{height:28px;padding:0 9px;font-size:9px;white-space:nowrap}.tie-badge.resolved{background:#17332c;color:#84e0bb}.tie-order-fields{display:grid;gap:8px}.tie-order-row{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10px;color:#aeb6c6;font-size:9px}.tie-break-dialog .dialog-description{line-height:1.6}
@media(max-width:1100px){.bracket-lanes{grid-template-columns:repeat(4,minmax(205px,1fr))}.final-placements,.prize-fields{grid-template-columns:1fr}}
@media(max-width:620px){.bracket-lanes{grid-template-columns:repeat(4,minmax(230px,78vw));margin-right:-5px}.placement-row{grid-template-columns:25px 72px minmax(0,1fr);gap:6px;padding:4px 0}.tie-resolution-panel{margin:0 12px 14px}.tie-resolution-row{align-items:flex-start;flex-direction:column}.tie-order-row{grid-template-columns:1fr}.bracket-gate-message{padding:13px}.gate-action{margin:6px 13px 14px}.final-placements,.prize-fields{padding-left:13px;padding-right:13px}}
.spectator-link{margin-top:8px!important;border:1px solid #292540;background:linear-gradient(100deg,#171525,#111923)!important;color:#d7caff!important}.spectator-link .external-mark{margin-left:auto;color:#65d8bd;font-size:11px}

/* Préparation sécurisée d’un nouveau tournoi et sélection d’un tournoi distant existant */
.cloud-tournament-switch{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;padding:0 20px 18px}.cloud-tournament-switch[hidden]{display:none}.cloud-tournament-switch label{display:grid;gap:6px;flex:1;min-width:220px;color:#a5adbd;font-size:10px}.cloud-tournament-switch select{height:35px;padding:0 10px;border:1px solid #303847;border-radius:6px;background:#0d131c;color:#edf0f6;font:10px 'DM Sans',sans-serif}.new-tournament-dialog{width:min(620px,calc(100vw - 28px));max-width:620px}.new-team-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin:16px 0}.new-tournament-dialog .new-team-fields label{display:grid;gap:6px;color:#a5adbd;font-size:10px}.new-team-fields input{height:36px;min-width:0;padding:0 10px;border:1px solid #303847;border-radius:6px;background:#0d131c;color:#edf0f6;font:11px 'DM Sans',sans-serif}.new-team-fields input:focus,.cloud-tournament-switch select:focus{outline:1px solid #9775fa;border-color:#9775fa}.new-tournament-dialog .reuse-maps-option{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:7px 9px;margin:10px 0 15px;color:#d7dbea;font-size:10px}.new-tournament-dialog .reuse-maps-option input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:#9775fa}.reuse-maps-option small{grid-column:2;color:#8990a3;font-size:9px}.new-tournament-dialog .dialog-actions{margin-top:18px}@media(max-width:560px){.new-team-fields{grid-template-columns:1fr}.cloud-tournament-switch{padding-left:13px;padding-right:13px}}

/* Sauvegardes et exports */
.data-panel{margin-bottom:14px}.data-description{padding:0 20px 14px;color:#a5adbd;font-size:10px;line-height:1.65}.data-actions{display:flex;flex-wrap:wrap;gap:8px;padding:0 20px 18px}.data-actions .primary-button,.data-actions .secondary-button{min-height:34px;font-size:10px}.file-button{display:inline-flex;align-items:center;cursor:pointer}.restore-summary{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:9px;margin:0 20px 18px;padding:12px;border:1px solid #574a7b;border-radius:7px;background:#171522}.restore-summary p{margin:0;color:#c5c0d4;font-size:9px;line-height:1.6}.restore-summary .primary-button,.restore-summary .secondary-button{min-height:31px;padding:0 10px;font-size:9px;white-space:nowrap}.csv-actions .secondary-button{background:#171d28}@media(max-width:700px){.restore-summary{grid-template-columns:1fr}.restore-summary button{width:100%}.data-description,.data-actions{padding-left:13px;padding-right:13px}}
.cloud-login-form { display: grid; grid-template-columns: repeat(2, minmax(180px, 1fr)); gap: 14px; margin: 16px 0; }
.cloud-login-form label { display: grid; gap: 7px; color: var(--muted, #9aa4b2); font-size: 13px; }
.cloud-login-form input { min-width: 0; padding: 11px 12px; border: 1px solid rgba(151, 133, 255, .25); border-radius: 9px; background: #101521; color: #f4f3fb; font: inherit; }
.cloud-login-form .data-actions { grid-column: 1 / -1; }
.cloud-actions { margin-top: 12px; }
#cloud-message { margin-top: 14px; }
@media (max-width: 680px) { .cloud-login-form { grid-template-columns: 1fr; } .cloud-login-form .data-actions { grid-column: auto; } }
