.signup60-page{--signup-blue:#3479c9;--signup-blue-soft:#edf5ff;--signup-red:#c45c61;--signup-red-soft:#fff1f1;--signup-neutral:#f5f8f6;display:grid;gap:18px}
.signup60-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:24px 26px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 14px 38px #193c3109}
.signup60-hero h2{margin:6px 0 5px;font-size:24px;font-weight:650}.signup60-hero p{margin:0;color:#71827b;line-height:1.65}.signup60-hero-actions{display:flex;gap:9px;flex:none}.signup60-hero-actions button{min-height:44px}
.signup60-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.signup60-summary article{padding:16px 18px;border:1px solid var(--line);border-radius:11px;background:#fff}.signup60-summary small{display:block;color:#7b8983}.signup60-summary strong{display:block;margin-top:6px;font-size:22px;font-weight:650}.signup60-summary article:nth-child(2) strong{color:var(--signup-blue)}.signup60-summary article:nth-child(3) strong{color:var(--signup-red)}
.signup60-event-list{display:grid;gap:12px}.signup60-event-card{display:grid;grid-template-columns:minmax(250px,1.2fr) minmax(320px,1fr) auto;align-items:center;gap:20px;padding:20px 22px;border:1px solid var(--line);border-radius:12px;background:#fff}.signup60-event-card h3{margin:0 0 8px;font-size:17px}.signup60-event-meta,.signup60-side-progress{display:flex;flex-wrap:wrap;gap:8px 14px;color:#71817b;font-size:12px}.signup60-event-meta span{display:inline-flex;align-items:center;gap:5px}.signup60-status{display:inline-flex;align-items:center;width:max-content;margin-bottom:9px;padding:4px 9px;border-radius:14px;background:#edf3ef;color:#49665d;font-size:11px;font-weight:650}.signup60-status.open{background:#e8f3ef;color:#0d6b63}.signup60-status.locked{background:#f5eedf;color:#826625}.signup60-status.closed{background:#f2f2f2;color:#737b77}.signup60-side-progress{display:grid;grid-template-columns:1fr 1fr;gap:8px}.signup60-side-progress>div{padding:10px 12px;border-radius:8px;background:var(--signup-blue-soft);color:#356da9}.signup60-side-progress>div:last-child{background:var(--signup-red-soft);color:#a84d52}.signup60-side-progress b{display:flex;justify-content:space-between;gap:12px}.signup60-side-progress i{display:block;height:4px;margin-top:7px;border-radius:4px;background:#dbe8f7;overflow:hidden}.signup60-side-progress em{display:block;height:100%;background:var(--signup-blue)}.signup60-side-progress>div:last-child i{background:#f3dfe0}.signup60-side-progress>div:last-child em{margin-left:auto;background:var(--signup-red)}.signup60-card-actions{display:flex;gap:7px;white-space:nowrap}.signup60-card-actions button{min-height:40px;padding:8px 12px}
.signup60-empty{display:grid;place-items:center;min-height:260px;padding:48px 24px;border:1px dashed #ccd9d2;border-radius:13px;background:#fff;text-align:center}.signup60-empty svg{width:42px;height:42px;color:#6d9489}.signup60-empty h3{margin:15px 0 6px}.signup60-empty p{max-width:520px;margin:0 0 20px;color:#76857f;line-height:1.7}
.signup60-editor{display:grid;gap:16px}.signup60-editor-head{position:sticky;z-index:8;top:0;display:flex;align-items:center;gap:14px;padding:13px 16px;border:1px solid var(--line);border-radius:12px;background:#fbfdfbcc;box-shadow:0 8px 24px #183a300d;backdrop-filter:blur(12px)}.signup60-editor-head h2{margin:0;font-size:17px}.signup60-editor-head small{display:block;margin-top:3px;color:#7c8a84}.signup60-editor-actions{display:flex;gap:8px;margin-left:auto}.signup60-editor-actions button{min-height:40px}.signup60-save-state{display:inline-flex;align-items:center;gap:6px;color:#72817b;font-size:12px}.signup60-save-state:before{content:"";width:7px;height:7px;border-radius:50%;background:#86a399}.signup60-save-state.dirty:before{background:#d5a34e}
.signup60-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:5px;border:1px solid var(--line);border-radius:11px;background:#fff}.signup60-steps button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:0;background:transparent;color:#71817a}.signup60-steps button span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#eef2ef;font-size:11px;font-weight:700}.signup60-steps button.active{border-radius:8px;background:#e4f0ec;color:#0d6b63;font-weight:650}.signup60-steps button.active span{background:#0d6b63;color:#fff}
.signup60-panel{padding:24px 26px;border:1px solid var(--line);border-radius:13px;background:#fff}.signup60-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}.signup60-panel-heading h3{margin:0 0 5px;font-size:19px}.signup60-panel-heading p{margin:0;color:#7b8983;line-height:1.6}.signup60-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.signup60-form-grid label{margin:0 0 18px}.signup60-form-grid .wide{grid-column:1/-1}.signup60-field-help{display:block;margin-top:2px;color:#8a9791;font-size:11px;line-height:1.55}.signup60-inline-check{display:flex!important;grid-column:1/-1;align-items:flex-start;gap:9px;margin:4px 0 0!important;padding:13px 14px;border-radius:8px;background:#f5f8f6}.signup60-inline-check input{width:auto;margin-top:2px}
.signup60-side-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:min(100%,560px);padding:5px;border:1px solid var(--line);border-radius:11px;background:#f5f7f6}.signup60-side-switch button{display:flex;align-items:center;justify-content:space-between;min-height:46px;border:0;background:transparent}.signup60-side-switch button b{font-size:14px}.signup60-side-switch button span{font-size:11px}.signup60-side-switch button.blue.active{background:#fff;color:var(--signup-blue);box-shadow:0 3px 12px #3479c91a}.signup60-side-switch button.red.active{background:#fff;color:var(--signup-red);box-shadow:0 3px 12px #c45c611a}
.signup60-structure{display:grid;grid-template-columns:240px minmax(0,1fr);gap:16px}.signup60-group-rail{padding:10px;border:1px solid var(--line);border-radius:11px;background:#f7f9f8}.signup60-group-rail>header{display:flex;align-items:center;justify-content:space-between;padding:5px 5px 10px}.signup60-group-rail>header strong{font-size:13px}.signup60-group-rail>header button{min-height:34px;padding:5px 9px}.signup60-group-tab{width:100%;margin:4px 0;padding:11px 12px;border-color:transparent;background:transparent;text-align:left}.signup60-group-tab b{display:flex;justify-content:space-between;gap:10px}.signup60-group-tab small{display:block;margin-top:4px;color:#819088}.signup60-group-tab.active{border-color:#cadbd4;background:#fff;box-shadow:0 3px 12px #173b300b}.signup60-group-tab.active.blue{color:var(--signup-blue)}.signup60-group-tab.active.red{color:var(--signup-red)}.signup60-group-add{width:100%;margin-top:8px;border-style:dashed;background:#fff;color:#60756e}
.signup60-group-workspace{min-width:0}.signup60-group-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.signup60-group-header input{max-width:260px;font-size:16px;font-weight:650}.signup60-group-header .spacer{min-width:12px}.signup60-group-header button{min-height:38px}.signup60-squad-grid{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:10px}.signup60-squad{overflow:hidden;border:1px solid #dfe6e2;border-radius:10px;background:#fbfcfb}.signup60-squad>header{display:flex;align-items:center;gap:8px;padding:9px 11px;background:#f2f6f4}.signup60-squad>header strong{font-size:13px}.signup60-squad>header select{margin-left:auto;max-width:145px;padding:6px 8px;font-size:11px}.signup60-slot-template{display:grid;grid-template-columns:34px minmax(92px,.72fr) minmax(130px,1.28fr);align-items:center;gap:8px;min-height:51px;padding:7px 9px;border-top:1px solid #e8ece9;background:#fff}.signup60-slot-template>span{display:grid;place-items:center;width:28px;height:28px;border-radius:7px;background:#edf2ef;color:#65776f;font-size:11px;font-weight:700}.signup60-slot-template select,.signup60-slot-template input{width:100%;padding:7px 8px;font-size:12px}.signup60-slot-template select{border-left:5px solid var(--job,#cbd5d0)}
.signup60-dual-preview{display:grid;grid-template-columns:1fr 1fr;gap:12px}.signup60-preview-side{overflow:hidden;border:1px solid #dfe6e2;border-radius:11px;background:#fbfcfb}.signup60-preview-side>header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px}.signup60-preview-side.blue>header{background:var(--signup-blue-soft);color:#2f6cab}.signup60-preview-side.red>header{background:var(--signup-red-soft);color:#a94d52}.signup60-preview-groups{display:grid;gap:8px;padding:10px}.signup60-preview-group{padding:10px;border-radius:8px;background:#fff}.signup60-preview-group header{display:flex;justify-content:space-between;margin-bottom:8px;font-size:12px}.signup60-preview-teams{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.signup60-preview-team{padding:8px;border:1px solid #e7ece9;border-radius:7px}.signup60-preview-team>b{display:block;margin-bottom:6px;font-size:11px}.signup60-preview-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.signup60-preview-slots i{height:22px;border-left:5px solid var(--job,#cbd5d0);border-radius:4px;background:#f2f5f3}.signup60-publish-checks{display:grid;gap:8px;margin-top:16px}.signup60-check-row{display:flex;align-items:center;gap:10px;padding:11px 13px;border-radius:8px;background:#f5f8f6;color:#61736c}.signup60-check-row.ok:before{content:"✓";display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#dceee8;color:#0d6b63;font-weight:800}.signup60-check-row.bad:before{content:"!";display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#fae8e5;color:#a95048;font-weight:800}
.signup60-manage-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.signup60-manage-toolbar input{width:220px}.signup60-manage-toolbar .spacer{flex:1}.signup60-registration-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:11px}.signup60-registration-table{min-width:980px;border:0;border-radius:0}.signup60-registration-table tbody tr{cursor:pointer}.signup60-registration-table tbody tr:hover td{background:#f7faf8}.signup60-side-mark{display:inline-flex;align-items:center;gap:7px}.signup60-side-mark:before{content:"";width:6px;height:20px;border-radius:3px;background:var(--signup-blue)}.signup60-side-mark.red:before{background:var(--signup-red)}
.signup60-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.signup60-modal-grid .wide{grid-column:1/-1}.signup60-danger-zone{margin-top:18px;padding:15px;border:1px solid #edd8d4;border-radius:9px;background:#fffafa}.signup60-danger-zone h4{margin:0 0 5px;color:#9c4943}.signup60-danger-zone p{margin:0 0 12px;color:#866d68;font-size:12px;line-height:1.6}
.hall-post.signup60:before{background:linear-gradient(180deg,var(--signup-blue) 0 48%,var(--signup-red) 52% 100%)}.hall-post.signup60 .hall-type{background:#f8e6ee;color:#a34568}.hall-signup60-progress{display:grid;grid-template-columns:1fr 1fr;gap:8px}.hall-signup60-progress>div{padding:9px 10px;border-radius:8px;background:var(--signup-blue-soft);color:#356da9}.hall-signup60-progress>div:last-child{background:var(--signup-red-soft);color:#a84d52}.hall-signup60-progress b{display:flex;justify-content:space-between;gap:12px;font-size:12px}.hall-signup60-progress i{display:block;height:4px;margin-top:7px;border-radius:4px;background:#dbe8f7;overflow:hidden}.hall-signup60-progress em{display:block;height:100%;border-radius:inherit;background:var(--signup-blue)}.hall-signup60-progress>div:last-child i{background:#f3dfe0}.hall-signup60-progress>div:last-child em{margin-left:auto;background:var(--signup-red)}#dialog.signup60-hall-dialog{width:min(1040px,calc(100vw - 36px));max-height:92vh}.signup60-hall-preview{display:grid;gap:14px}.signup60-hall-preview-meta{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:0 2px 12px;border-bottom:1px solid var(--line)}.signup60-hall-preview-meta strong{font-size:17px}.signup60-hall-preview-meta span{color:#74847e;font-size:12px}.signup60-hall-dialog .signup60-preview-slots i.occupied{background:var(--job);box-shadow:inset 0 0 0 1px #ffffffa3}.signup60-hall-dialog .signup60-preview-groups{max-height:58vh;overflow:auto}
@media(max-width:1120px){.signup60-event-card{grid-template-columns:1fr auto}.signup60-side-progress{grid-column:1/-1;grid-row:2}.signup60-structure{grid-template-columns:190px minmax(0,1fr)}.signup60-squad-grid{grid-template-columns:1fr}}
@media(max-width:760px){.signup60-hero{align-items:flex-start;flex-direction:column}.signup60-hero-actions{width:100%}.signup60-hero-actions button{flex:1}.signup60-summary{grid-template-columns:1fr 1fr}.signup60-event-card{grid-template-columns:1fr}.signup60-side-progress{grid-column:auto;grid-row:auto}.signup60-card-actions{width:100%}.signup60-card-actions button{flex:1}.signup60-editor-head{position:static;align-items:flex-start;flex-wrap:wrap}.signup60-editor-actions{width:100%;margin-left:0}.signup60-editor-actions button{flex:1}.signup60-steps{grid-template-columns:1fr 1fr}.signup60-form-grid{grid-template-columns:1fr}.signup60-form-grid .wide{grid-column:auto}.signup60-panel{padding:20px 16px}.signup60-structure{grid-template-columns:1fr}.signup60-group-rail{display:flex;overflow-x:auto;gap:6px}.signup60-group-rail>header{position:sticky;left:0;min-width:92px;background:#f7f9f8}.signup60-group-tab{min-width:150px}.signup60-group-add{min-width:110px}.signup60-group-header{align-items:stretch;flex-wrap:wrap}.signup60-group-header input{max-width:none;flex:1}.signup60-dual-preview{grid-template-columns:1fr}.signup60-modal-grid{grid-template-columns:1fr}.signup60-modal-grid .wide{grid-column:auto}.signup60-hall-preview-meta{align-items:flex-start;flex-direction:column}.hall-signup60-progress{grid-template-columns:1fr}}
@media(max-width:480px){.signup60-summary{grid-template-columns:1fr}.signup60-side-switch{grid-template-columns:1fr}.signup60-slot-template{grid-template-columns:30px 1fr}.signup60-slot-template input{grid-column:2}.signup60-preview-teams{grid-template-columns:1fr}.signup60-editor-actions{display:grid;grid-template-columns:1fr 1fr}.signup60-editor-actions .primary{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.signup60-page *{scroll-behavior:auto!important;transition:none!important}}
.signup60-squad>header>input{min-width:90px;flex:1;padding:6px 8px;font-size:13px;font-weight:650}
.signup60-page button:focus-visible,.signup60-page input:focus-visible,.signup60-page select:focus-visible,.signup60-registration-table tbody tr:focus-visible{outline:3px solid #7fb0da;outline-offset:2px}.signup60-registration-table tbody tr:focus-visible td{background:#eef5fb}

/* 60v60 layout editor: reset the global application sidebar rules that also
   target semantic <aside> elements, then keep the group rail inside its grid. */
.signup60-layout-panel{min-width:0;overflow:visible}
.signup60-layout-panel>.signup60-panel-heading{align-items:center;margin-bottom:14px}
.signup60-backup-entry{display:inline-flex;align-items:center;gap:8px;min-height:42px;white-space:nowrap;background:#f7faf8}
.signup60-backup-entry b{display:grid;place-items:center;min-width:36px;height:24px;padding:0 7px;border-radius:13px;background:#e3eeea;color:#17675e;font-size:11px}
.signup60-layout-switch{display:flex;justify-content:flex-end;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #edf1ee}
.signup60-layout-switch .signup60-side-switch{width:min(100%,620px)}
.signup60-structure{grid-template-columns:184px minmax(0,1fr);align-items:start;gap:16px}
.signup60-group-rail{position:sticky!important;inset:auto!important;top:84px!important;display:block!important;flex-direction:initial!important;width:auto!important;height:auto!important;min-height:0!important;max-height:calc(100vh - 108px);overflow-y:auto;padding:10px!important;border:1px solid var(--line)!important;border-radius:11px;background:#f7f9f8}
.signup60-group-rail>header{height:auto!important;min-height:0!important;padding:5px 5px 10px!important;border:0!important;background:transparent!important}
.signup60-group-rail>header span{color:#829089;font-size:11px}
.signup60-group-workspace{width:100%;min-width:0}
.signup60-group-header{min-height:52px;margin-bottom:12px;padding:0 2px 10px;border-bottom:1px solid #edf1ee}
.signup60-group-header label{display:grid;gap:4px;min-width:220px;margin:0}
.signup60-group-header label>span{color:#788780;font-size:10px}
.signup60-group-header input{width:100%;max-width:300px;min-height:36px;padding:7px 9px}
.signup60-squad-grid{grid-template-columns:repeat(2,minmax(320px,1fr));gap:12px}
.signup60-squad{min-width:0}
.signup60-squad>header{min-height:42px;padding:7px 9px}
.signup60-squad>header input,.signup60-squad>header select{min-width:0;box-sizing:border-box}
.signup60-slot-template{grid-template-columns:28px minmax(100px,.72fr) minmax(150px,1.28fr);gap:7px;min-height:44px;margin:0;padding:6px 8px}
.signup60-slot-template>span{width:26px;height:26px}
.signup60-slot-template select,.signup60-slot-template input{min-width:0;box-sizing:border-box;padding:6px 7px}

#dialog.signup60-backup-dialog{width:min(760px,calc(100vw - 36px))}
.signup60-backup-intro{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:4px 0 16px;padding:12px 14px;border-radius:9px;background:#f4f7f5}
.signup60-backup-intro p{margin:0;color:#667870;line-height:1.6}
.signup60-backup-intro strong{flex:none;color:#17675e}
.signup60-backup-list{display:grid;gap:10px}
.signup60-backup-slot{display:grid;grid-template-columns:38px minmax(180px,1fr) auto;align-items:center;gap:12px;min-height:76px;padding:12px 14px;border:1px solid #dfe7e2;border-radius:10px;background:#fff}
.signup60-backup-slot>span{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:#edf3f0;color:#567169;font:600 12px Georgia,serif}
.signup60-backup-slot>div:nth-child(2){min-width:0}
.signup60-backup-slot>div:nth-child(2)>strong,.signup60-backup-slot>div:nth-child(2)>small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.signup60-backup-slot>div:nth-child(2)>small{margin-top:5px;color:#819089;font-size:11px}
.signup60-backup-slot.empty{border-style:dashed;background:#fbfcfb}
.signup60-backup-actions{display:flex;align-items:center;gap:6px;white-space:nowrap}
.signup60-backup-actions button,.signup60-backup-slot>button{min-height:36px;padding:7px 10px;font-size:12px}

@media(max-width:1180px){.signup60-squad-grid{grid-template-columns:1fr}}
@media(max-width:760px){.signup60-layout-panel>.signup60-panel-heading{align-items:flex-start}.signup60-layout-switch{justify-content:stretch}.signup60-layout-switch .signup60-side-switch{width:100%}.signup60-structure{grid-template-columns:1fr}.signup60-group-rail{position:static!important;display:flex!important;width:100%!important;max-height:none;overflow-x:auto;overflow-y:hidden}.signup60-group-rail>header{position:sticky;left:0;z-index:1;min-width:92px;background:#f7f9f8!important}.signup60-group-header label{min-width:0;flex:1}.signup60-backup-intro{align-items:flex-start;flex-direction:column}.signup60-backup-slot{grid-template-columns:38px minmax(0,1fr)}.signup60-backup-actions,.signup60-backup-slot>button{grid-column:1/-1}.signup60-backup-actions{display:grid;grid-template-columns:1fr 1fr}.signup60-backup-actions button{width:100%}}
@media(max-width:520px){.signup60-slot-template{grid-template-columns:28px minmax(0,1fr)}.signup60-slot-template input{grid-column:2}.signup60-panel-heading .signup60-backup-entry{width:100%;justify-content:center}.signup60-layout-panel>.signup60-panel-heading{flex-wrap:wrap}}

/* The event list shares the hall's compact hierarchy while keeping both sides
   visually distinct through accent rails instead of nested cards. */
.signup60-page{gap:14px}
.signup60-hero{align-items:center;padding:18px 20px;border-radius:11px;box-shadow:none}
.signup60-hero h2{font-size:20px}
.signup60-summary{gap:8px}.signup60-summary article{padding:12px 14px;border-radius:9px}.signup60-summary strong{margin-top:4px;font-size:19px}
.signup60-event-list{display:grid;width:100%;columns:auto;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:14px;align-items:start;container-type:inline-size}
.signup60-event-card{display:inline-grid;box-sizing:border-box;width:100%;margin:0 0 14px;padding:16px 17px;grid-template-columns:1fr;align-items:start;gap:12px;vertical-align:top;break-inside:avoid;page-break-inside:avoid;box-shadow:0 6px 20px #27493f08}
.signup60-event-card h3{margin-bottom:6px;font-size:16px}
.signup60-side-progress{grid-column:auto;grid-row:auto;gap:0;border-top:1px solid #edf1ef;border-bottom:1px solid #edf1ef}
.signup60-side-progress>div{padding:9px 2px;border-radius:0;background:transparent;border-left:3px solid var(--signup-blue);color:#356da9}
.signup60-side-progress>div:last-child{border-left-color:var(--signup-red);background:transparent;color:#a84d52}
.signup60-side-progress>div+div{border-top:0;margin-left:12px}
.signup60-event-card>*{min-width:0}
.signup60-event-card h3,.signup60-side-progress b span{overflow-wrap:anywhere}
.signup60-side-progress b span{min-width:0}
.signup60-side-progress b span:last-child{flex:none;white-space:nowrap}
.signup60-card-actions{flex-wrap:wrap}
.signup60-side-progress b,.signup60-side-progress i{margin-left:9px;margin-right:2px}
.signup60-card-actions{width:100%;white-space:normal}.signup60-card-actions button{flex:1;min-width:0}
.signup60-event-list:has(>.signup60-event-card:only-child){columns:1}
@container (min-width:820px){.signup60-event-card:only-child{grid-template-columns:minmax(220px,1.05fr) minmax(280px,1fr) minmax(200px,auto);align-items:center;column-gap:18px}.signup60-event-card:only-child .signup60-card-actions{width:auto}}
@media(max-width:760px){.signup60-event-list{columns:1}.signup60-event-card{margin-bottom:10px}.signup60-hero{padding:16px}}


.signup60-event-list>.signup60-event-card{margin:0}
@media(max-width:760px){.signup60-event-list{grid-template-columns:1fr}}
