/* Shared module layouts use the same Horizon tokens as the dashboard. */
.file-layout{display:grid;grid-template-columns:175px 230px minmax(0,1fr);gap:15px}.file-tree{border:1px solid var(--line);border-radius:10px;background:#0c1926;overflow:auto;max-height:690px}.pane-label{padding:15px;border-bottom:1px solid var(--line);font-size:9px;color:#8eacc3;letter-spacing:.1em}.file-list-pane{border:1px solid var(--line);border-radius:10px;background:#0d1c2a;overflow:hidden;min-width:0}.file-crumb{display:flex;align-items:center;gap:7px;padding:11px 9px;background:#142b3d;border-bottom:1px solid var(--line)}.file-crumb>button{background:#1a354b;border:1px solid #35526b;color:#a3c7e2;font-size:13px;border-radius:5px;height:24px;width:24px;flex-shrink:0}.file-crumb>span{font-size:9px;color:#a7c3d8;overflow-wrap:anywhere;flex:1;line-height:1.8}.file-search{font-size:10px;margin:11px;width:calc(100% - 22px);min-height:31px;padding:7px 9px}.file-list-pane .file-list{border:0;border-radius:0;margin:0;max-height:585px;overflow:auto}.file-list-pane .file-row{padding:11px 10px;gap:7px;background:transparent}.file-list-pane .file-row.selected{background:#1b3b53}.file-list-pane .file-open{gap:8px}.file-list-pane .file-open strong{font-size:10px;max-width:170px}.file-list-pane .file-open small{font-size:8px;line-height:1.7}.file-delete{font-size:18px;color:#c28c96;background:none;border:0;padding:0 4px;flex-shrink:0}.file-editor-pane{border:1px solid var(--line);border-radius:10px;overflow:hidden;min-width:0;background:#0b1722}.file-tree .tree-root{margin:10px 0 5px}.file-tree .tree-folder{font-size:10px;width:100%;border-radius:0;padding-top:9px;padding-bottom:9px}.file-tree .tree-root{width:100%}.file-tree .tree-folder .icon{width:13px;height:13px}.file-tree .tree-folder.active{color:#91d1ff;background:#183b54}.delete-team{color:var(--red)!important;font-size:10px!important;margin-top:12px}
@media(max-width:1200px){.file-layout{grid-template-columns:150px 210px minmax(0,1fr);gap:12px}.file-list-pane .file-open strong{max-width:145px}}
@media(max-width:900px){.file-layout{grid-template-columns:170px minmax(0,1fr)}.file-editor-pane{grid-column:1/-1}.file-list-pane .file-list{max-height:250px}.file-tree{max-height:340px}.file-list-pane .file-open strong{max-width:none}.file-editor-pane .CodeMirror{height:390px}}
@media(max-width:520px){.file-layout{display:flex;flex-direction:column}.file-tree{max-height:170px}.file-tree .pane-label{font-size:8px;padding:11px}.file-list-pane .file-list{max-height:270px}.file-tree .tree-folder{display:inline-flex;width:auto;padding:7px 10px!important;font-size:9px}.file-tree .tree-root{font-size:10px}.file-editor-pane .CodeMirror{font-size:10px}}
.dev-hero{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:24px}.dev-hero h2{font-size:25px;margin:8px 0 10px}.dev-hero h2 em{font-style:normal;color:var(--blue)}.dev-hero p{font-size:12px;color:var(--muted)}.dev-hero-meta{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.dev-badge.good{color:var(--green);background:#17362f;border-color:#345b4c}.dev-badge.bad{color:var(--red);background:#402432;border-color:#6c3c50}.dev-badge.warn{color:var(--amber);background:#392f1f;border-color:#5c4d31}.dev-module-tabs{display:flex;gap:10px;margin-bottom:20px;overflow:auto;padding:0 0 4px}.dev-module-tab{display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:11px;background:var(--surface);padding:14px 18px;min-width:180px;text-align:left;flex:1}.dev-module-tab .icon{color:#7197b5;width:20px;height:20px}.dev-module-tab strong{display:block;font-size:12px;color:#b4cbdc}.dev-module-tab small{display:block;font-size:9px;color:#7898b0;margin-top:4px}.dev-module-tab.active{border-color:#5283a6;background:#18374d}.dev-module-tab.active strong,.dev-module-tab.active .icon{color:#9dd6ff}.dev-surface{border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:25px;min-width:0}.dev-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px}.dev-toolbar h3{font-size:20px;margin-top:6px}.dev-toolbar .button{font-size:11px;min-height:34px;padding:8px 12px}.dev-toolbar>.button .icon{width:14px;height:14px}.dev-note{color:var(--muted);font-size:12px;line-height:1.8;padding:14px 0}.dev-note.warn{color:var(--amber)}.dev-empty{border:1px dashed #36546b;border-radius:10px;background:#0c1c2980;padding:50px 25px}.dev-confirm .dialog-actions{justify-content:flex-end}.dev-confirm h2{font-size:24px}.dev-jobs-panel{margin-top:24px}.dev-jobs-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:12px}.dev-jobs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dev-job{border:1px solid var(--line);border-radius:10px;padding:16px;background:var(--surface)}.dev-job>div{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:8px}.dev-job strong{font-size:12px}.dev-job small{font-size:10px;display:block;overflow-wrap:anywhere}.dev-job progress{width:100%;height:4px;accent-color:var(--blue);margin-top:12px}.dev-jobs-count{font-size:10px}
.file-workspace{display:grid;grid-template-columns:210px minmax(0,1fr);gap:18px}.file-explorer{border:1px solid var(--line);border-radius:10px;background:#0c1926;overflow:hidden}.explorer-title{padding:15px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#9cbed8}.explorer-title .icon{width:15px;height:15px}.explorer-tree{padding:12px 10px}.tree-root,.tree-folder,.tree-child{display:flex;gap:8px;align-items:center;width:100%;background:none;border:0;color:#a4c4dc;text-align:left;padding:7px 8px;font-size:10px;border-radius:5px}.tree-root.active,.tree-folder.active{color:var(--blue);background:#173b54}.tree-child{padding-left:25px;color:#86a9c4}.tree-root:hover,.tree-folder:hover,.tree-child:hover{background:#192f43}.tree-root .icon,.tree-folder .icon,.tree-child .icon{width:13px;height:13px}.file-explorer-foot{padding:14px;border-top:1px solid var(--line);font-size:9px;color:#7394ae}.file-main{min-width:0}.file-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:13px}.file-actions .button{font-size:10px;min-height:31px;padding:6px 10px}.file-actions input{max-width:240px;font-size:11px;min-height:32px;margin-left:auto}.file-breadcrumb{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:10px;color:#8db1cc;margin-bottom:12px;overflow-wrap:anywhere}.file-breadcrumb button{border:0;background:none;padding:3px;color:var(--blue);font-size:10px}.file-list{border:1px solid var(--line);border-radius:9px;overflow:hidden;margin-bottom:18px}.file-row{display:flex;align-items:center;gap:12px;padding:10px 13px;border-bottom:1px solid var(--line);background:#122434}.file-row:last-child{border:0}.file-row:hover{background:#183146}.file-row>.icon{width:16px;height:16px;color:#7da8c9}.file-open{display:flex;align-items:center;gap:10px;flex:1;min-width:0;text-align:left;background:none;border:0;color:var(--text);padding:0}.file-open .icon{color:#8bbbdc;width:16px;height:16px}.file-open strong{font-size:11px;display:block;font-weight:500;overflow-wrap:anywhere}.file-open small{display:block;font-size:9px;color:#789cb6;margin-top:3px}.file-row>small{font-size:9px;color:#8baac0}.file-row .icon-button{width:26px;height:26px;font-size:13px}.file-row .icon-button .icon{width:13px;height:13px}.file-row-actions{display:flex;gap:6px}.file-editor{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#0b1722}.editor-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;background:#142637;border-bottom:1px solid var(--line);min-height:60px}.editor-toolbar strong{display:block;font-size:12px;overflow-wrap:anywhere}.editor-toolbar small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.editor-toolbar .button{font-size:10px;padding:7px 10px;min-height:30px}.editor-placeholder{padding:70px 20px;text-align:center;color:#6c95b4;font-size:12px}.editor-placeholder .code-illustration{font:40px var(--mono);color:#345b7a;margin-bottom:20px}.editor-placeholder h3{font-size:15px;color:#a4c4dc}.editor-placeholder p{font-size:11px;line-height:1.9;margin:12px 0 17px}.editor-placeholder small{font-size:9px}.editor-notice{padding:11px 14px;border-top:1px solid var(--line);font-size:10px;color:#8eafc7;overflow-wrap:anywhere}.CodeMirror{height:420px;font:12px/1.85 var(--mono)}.cm-s-horizon.CodeMirror{background:#0b1722;color:#c6d9e8}.cm-s-horizon .CodeMirror-gutters{background:#0d1c2a;border-color:#223e55}.cm-s-horizon .CodeMirror-linenumber{color:#507a99;font-size:10px;padding:0 11px}.cm-s-horizon .CodeMirror-cursor{border-left-color:#b4dbf8}.cm-s-horizon .CodeMirror-selected{background:#284c68}.cm-s-horizon .cm-comment{color:#6f91a8}.cm-s-horizon .cm-string{color:#87d2a9}.cm-s-horizon .cm-number{color:#e7bc83}.cm-s-horizon .cm-atom,.cm-s-horizon .cm-keyword{color:#ba9de8}.cm-s-horizon .cm-property,.cm-s-horizon .cm-def{color:#7dc4fa}.cm-s-horizon .cm-meta{color:#a4c1d9}.cm-s-horizon .cm-error{color:#ff9ca1;background:#482637}
.mod-search{display:grid;grid-template-columns:minmax(0,1fr) 105px 140px auto;gap:11px}.mod-search input,.mod-search select{font-size:12px;min-height:40px}.mod-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:24px}.mod-grid>.dev-empty{grid-column:1/-1}.mod-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-radius:12px;padding:19px;background:#142839}.mod-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.mod-letter{height:40px;width:40px;background:#234861;color:#9dd6ff;border-radius:11px;display:grid;place-items:center;font-size:20px;font-weight:600}.mod-card h4{font-size:15px;overflow-wrap:anywhere}.mod-card>p{font-size:11px;color:#95b4ca;margin-top:11px;line-height:1.85;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.mod-tags{display:flex;gap:6px;flex-wrap:wrap;margin:15px 0}.mod-tags .dev-badge{font-size:9px;padding:3px 6px}.mod-card-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto}.mod-card-foot small{font-size:9px;color:#83a3bb}.mod-card-foot .button{font-size:10px;min-height:31px;padding:7px 10px}.mod-pages{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:24px;font-size:11px;color:#90b2ca}.mod-pages .button{font-size:10px;min-height:30px;padding:6px 11px}.mod-details,.player-detail{border:1px solid #36546d;border-radius:12px;padding:22px;margin-top:22px;background:#112636}.version-row{display:flex;align-items:center;gap:15px;padding:16px 0;border-bottom:1px solid var(--line)}.version-row>div{flex:1;min-width:0}.version-row strong{display:block;font-size:12px}.version-row small{display:block;font-size:10px;color:#8fb0c8;margin-top:4px;overflow-wrap:anywhere}.version-row .button{font-size:10px;padding:7px 11px;min-height:31px}.dependency-list{font-size:11px;color:#8fb0c8;margin:12px 0}.dependency-list .text-button{font-size:10px;margin-left:8px}.backup-create{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:20px;background:#122d36;border:1px solid #34545d;border-radius:12px}.backup-create strong{font-size:13px}.backup-create p{font-size:11px;color:#91b3bd;margin-top:7px}.backup-groups{display:flex;gap:15px;flex-wrap:wrap}.backup-groups label{display:flex;align-items:center;gap:7px;margin:0;font-size:11px}.backup-overview{display:flex;gap:22px;flex-wrap:wrap;padding:21px 0;font-size:11px;color:var(--muted)}.dev-table th{font-size:10px;padding:12px 14px}.dev-table td{font-size:11px;padding:16px 14px}.dev-table strong{font-size:11px;display:block;font-weight:500;margin-bottom:7px;overflow-wrap:anywhere}.dev-table .dev-badge{font-size:9px}.table-actions{white-space:nowrap}.table-actions .button{font-size:9px;min-height:29px;padding:6px 8px;margin:3px}.dev-table td:first-child{white-space:normal}.dev-table td:nth-child(4){max-width:200px;overflow-wrap:anywhere}
.player-admin-tools{display:grid;grid-template-columns:minmax(0,1fr) 200px auto;gap:12px;margin:0 0 24px}.player-admin-tools input,.player-admin-tools select,.player-admin-tools .button{font-size:11px}.player-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.player-admin-grid>.dev-empty{grid-column:1/-1}.player-admin-card{border:1px solid var(--line);border-radius:12px;padding:20px;background:#142839}.player-admin-head{display:flex;align-items:center;gap:12px}.player-admin-head>div:nth-child(2){flex:1;min-width:0}.player-admin-head h4{font-size:13px;overflow-wrap:anywhere}.player-admin-head small{font-size:10px;color:#8eafc8;display:block;margin-top:5px}.player-card-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:17px}.player-card-actions .button{font-size:10px;padding:7px 10px;min-height:31px}#playersHost{padding:25px}.builtin-task{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid var(--line);border-radius:10px;background:#142b3b;margin-bottom:20px}.builtin-task>.icon{color:var(--amber)}.builtin-task strong{font-size:12px;display:block}.builtin-task p,.builtin-task small{font-size:10px;color:#94b0c4;display:block;margin-top:5px}.builtin-task .dev-badge{margin-left:auto}.task-list{display:grid;gap:13px}.task-card{border:1px solid var(--line);border-radius:11px;background:#142839;padding:20px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}.task-info{flex:1;min-width:180px}.task-info strong{font-size:13px}.task-info p,.task-info small{font-size:10px;color:#93b2ca;display:block;margin-top:5px}.task-last{font-size:10px;color:#91afc5;line-height:1.8}.task-actions{display:flex;gap:7px}.task-actions .button{font-size:10px;padding:7px 10px;min-height:31px}.task-form{border:1px solid #365974;border-radius:12px;background:#10283b;padding:23px;margin-bottom:22px}.task-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.task-fields .full{grid-column:1/-1}.task-form label{font-size:11px}.task-form input,.task-form select{font-size:12px}.task-check{display:flex;align-items:center;gap:8px;margin-top:20px}.task-check label{margin:0}.task-help{font-size:10px;color:#8eafc8;margin-top:9px;line-height:1.8}.task-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.dev-toolbar .eyebrow{font-size:9px}
@media(max-width:1100px){.dev-module-tab{min-width:160px;padding:13px}.dev-module-tab strong{font-size:11px}.mod-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.player-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.file-workspace{grid-template-columns:180px minmax(0,1fr)}.mod-search{grid-template-columns:minmax(0,1fr) 90px 120px auto}}
@media(max-width:780px){.dev-hero{align-items:flex-start;flex-direction:column;gap:16px}.dev-hero h2{font-size:22px}.dev-hero-meta{justify-content:flex-start}.dev-surface{padding:21px}.dev-module-tabs{gap:8px}.dev-module-tab{min-width:165px}.file-workspace{display:block}.file-explorer{margin-bottom:18px}.explorer-tree{display:flex;overflow:auto;flex-wrap:wrap}.tree-root,.tree-folder,.tree-child{width:auto}.file-explorer-foot{display:none}.mod-search{grid-template-columns:1fr 1fr}.mod-search input{grid-column:1/-1}.mod-search .button{grid-column:1/-1}.player-admin-tools{grid-template-columns:1fr 1fr}.player-admin-tools input{grid-column:1/-1}.dev-toolbar h3{font-size:18px}.task-card{gap:15px}.task-info{min-width:150px}.task-actions{margin-left:auto}}
@media(max-width:520px){.dev-hero h2{font-size:20px;line-height:1.4}.dev-hero p{font-size:11px}.dev-hero-meta{gap:6px}.dev-badge{font-size:9px}.dev-surface,#playersHost{padding:17px}.dev-module-tab{min-width:145px;padding:11px}.dev-module-tab .icon{width:17px;height:17px}.dev-module-tab strong{font-size:10px}.dev-module-tab small{font-size:8px}.dev-toolbar{gap:12px;align-items:flex-start;flex-wrap:wrap}.dev-toolbar h3{font-size:17px}.dev-toolbar .button{font-size:9px;min-height:29px;padding:6px 9px}.file-actions .button{font-size:9px}.file-actions input{max-width:none;margin:0;width:100%}.file-row{gap:8px;padding:11px 10px}.file-open strong{font-size:10px}.file-row>small{font-size:8px}.CodeMirror{font-size:10px;height:350px}.editor-toolbar{padding:12px;flex-wrap:wrap;gap:9px}.editor-toolbar strong{font-size:10px}.mod-grid,.player-admin-grid,.dev-jobs{grid-template-columns:1fr}.mod-card{padding:17px}.mod-search input,.mod-search select{font-size:10px;min-height:35px}.mod-card h4{font-size:14px}.version-row{flex-wrap:wrap}.version-row strong{font-size:11px}.version-row .button{font-size:9px}.backup-create{padding:16px}.backup-groups{gap:12px}.backup-groups label{font-size:10px}.backup-create .button{width:100%;font-size:11px}.backup-overview{gap:13px;font-size:10px}.dev-table th{padding:11px 10px;font-size:9px}.dev-table td{padding:13px 10px;font-size:10px}.table-actions .button{font-size:8px;min-height:25px;padding:4px 6px}.player-admin-tools{gap:9px}.player-admin-tools input,.player-admin-tools select,.player-admin-tools .button{font-size:10px}.player-admin-card{padding:17px}.player-admin-head h4{font-size:12px}.player-card-actions .button{font-size:9px}.task-card{padding:17px}.task-actions{margin-left:0;flex-wrap:wrap}.task-actions .button{font-size:9px}.task-fields{grid-template-columns:1fr}.task-form{padding:17px}.task-form input,.task-form select{font-size:11px}.builtin-task{padding:15px;align-items:flex-start;gap:10px;flex-wrap:wrap}.builtin-task strong{font-size:11px}.dev-jobs-heading .small{font-size:9px}.dev-note{font-size:10px}.dev-empty{padding:35px 17px;font-size:11px}}

.task-dialog{max-width:600px}.task-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.builtin-icon{color:var(--amber);font-size:27px;width:32px;text-align:center;flex-shrink:0}.task-info h4{font-size:13px}.task-dialog .backup-groups{margin-top:18px}.task-dialog .checkbox{margin-top:18px}.file-search{font-weight:400}@media(max-width:520px){.task-form-grid{grid-template-columns:1fr}.task-dialog{padding:23px}}
