.formation-page{--sf-wrap-max: 1500px;--sf-card-bg: #ffffff;--sf-card-border: #e2e8f0;--sf-shadow: 0 12px 28px rgba(15, 23, 42, .08);--sf-accent: #2563eb;--sf-accent-ghost: #e0e7ff;--sf-text: #0f172a;--sf-muted: #475569}.formation-page *{box-sizing:border-box}.formation-wrap{max-width:var(--sf-wrap-max);margin:0 auto;display:grid;gap:18px}.formation-header{display:grid;gap:8px}.formation-title-input{max-width:260px}.formation-title-input input::-moz-placeholder{color:#64748b99}.formation-title-input input::placeholder{color:#64748b99}.formation-title{margin:0;font-size:clamp(1.7rem,2.6vw,2.4rem);color:var(--sf-text);letter-spacing:.01em}.formation-lead{margin:0;color:var(--sf-muted);line-height:1.7}.formation-layout{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(300px,.9fr);gap:18px;align-items:start}.formation-page--new .formation-layout{grid-template-columns:minmax(0,1.72fr) minmax(340px,1.02fr)}.formation-stage-card{background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid var(--sf-card-border);border-radius:18px;padding:16px;box-shadow:var(--sf-shadow);display:grid;gap:16px}.formation-toolbar{display:flex;flex-wrap:wrap;gap:10px 12px;align-items:center}.formation-toolbar__group{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.formation-label{display:flex;flex-direction:column;gap:4px;font-size:.88rem;font-weight:600;color:var(--sf-muted)}.formation-label--inline{flex-direction:row;align-items:center;gap:10px}.formation-label input,.formation-label select{border:1px solid #cbd5e1;border-radius:10px;padding:.35rem .6rem;font-size:.95rem;background:#f8fafc;color:var(--sf-text);min-width:140px}.formation-page--new .formation-label select,.formation-page--new .formation-field select{box-sizing:border-box;height:auto;min-height:3.25rem;line-height:1.25;padding:.78rem 2.6rem .78rem .9rem;background-position:calc(100% - .95rem) center}.formation-page--new .formation-roster__number,.formation-page--new .formation-roster__color{box-sizing:border-box;height:auto;min-height:3.05rem;line-height:1.2;padding:.68rem .75rem;background-position:calc(100% - .7rem) center}.formation-toggle{flex-direction:row;gap:8px;align-items:center;font-weight:600}.formation-toggle--button{border:1px solid #cbd5e1;border-radius:999px;padding:.35rem .75rem;background:#f8fafc;color:var(--sf-text);cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .15s ease}.formation-toggle--button input{accent-color:var(--sf-accent)}.formation-toggle--button:has(input:checked){background:var(--sf-accent-ghost);border-color:#2563eb80;color:#1e3a8a}.formation-toggle--button:hover{transform:translateY(-1px)}.formation-stage canvas{width:100%;height:auto;border-radius:16px;border:1px solid #d7dde7;background:#0f172a;display:block;touch-action:none}.formation-hint{margin-top:8px;color:#64748b;font-size:.9rem}.formation-panel{display:grid;gap:14px;align-items:start}.formation-page--new .formation-panel,.formation-page--new .formation-card{min-width:0}.formation-page--new .formation-panel{gap:12px}.formation-page--new .formation-panel .formation-card{gap:10px;padding:12px 14px;border-radius:14px}.formation-page--new .formation-inspector{gap:8px}.formation-page--new .formation-field{gap:4px}.formation-page--new .formation-panel .formation-field--inline{gap:8px}.formation-page--new .formation-panel .formation-label,.formation-page--new .formation-panel .formation-field label{line-height:1.3}.formation-page--new .formation-panel .formation-label select,.formation-page--new .formation-panel .formation-field select{min-height:2.8rem;padding:.58rem 2.35rem .58rem .82rem}.formation-page--new .formation-panel .formation-field input,.formation-page--new .formation-panel .formation-field textarea{padding:.45rem .65rem}.formation-page--new .formation-label--inline{width:100%;flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.formation-page--new .formation-label--inline select{flex:1 1 220px;max-width:320px;min-width:160px;width:auto}.formation-panel.has-floating-selected{padding-top:var(--sf-floating-selected-space, 0px)}.formation-card{background:var(--sf-card-bg);border:1px solid var(--sf-card-border);border-radius:16px;padding:14px 16px;box-shadow:var(--sf-shadow);display:grid;gap:12px}.formation-card--selected{border-color:#2563eb8c;box-shadow:0 14px 30px #2563eb2e}.formation-card--selected.is-floating{position:fixed;z-index:60;margin:0}.formation-card--selected.is-spotlight{animation:formationSpotlight 1.25s ease}@keyframes formationSpotlight{0%{box-shadow:0 0 #2563eb00;border-color:#2563eb40;transform:translateY(0)}40%{box-shadow:0 0 0 10px #3b82f647;border-color:#3b82f6f2;transform:translateY(-2px)}to{box-shadow:0 16px 34px #2563eb38;border-color:#2563eb99;transform:translateY(0)}}.formation-card h2{margin:0;font-size:1.05rem;color:var(--sf-text)}.formation-card__head{display:flex;align-items:center;justify-content:space-between;gap:8px}.formation-card__close{display:none;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid #cbd5e1;border-radius:999px;background:#f8fafc;color:#334155;font-size:1rem;line-height:1;cursor:pointer}.formation-page--new .formation-card__close{width:32px;height:32px;min-width:32px;min-height:32px;padding:0!important;border-radius:999px;border:1px solid rgba(220,38,38,.35);background:#fff!important;color:#dc2626!important;box-shadow:0 6px 14px #dc26261f;flex:0 0 auto}.formation-card__close:hover{background:#e2e8f0}.formation-page--new .formation-card__close:hover{background:#fee2e2!important;border-color:#dc262680;color:#b91c1c!important}.formation-card--selected.is-floating .formation-card__close{display:inline-flex}.formation-inspector{display:grid;gap:10px}.formation-field{display:grid;gap:6px}.formation-field--inline{display:flex;align-items:center;justify-content:flex-start;gap:10px;flex-wrap:nowrap;width:100%;overflow:hidden}.formation-field--inline input[type=checkbox]{-moz-appearance:checkbox;-webkit-appearance:checkbox;appearance:auto;display:inline-block;float:none;opacity:1;z-index:1;margin:0;width:1rem;height:1rem;flex:0 0 auto}.formation-field--inline label{display:inline-block;font-size:.9rem;font-weight:600;color:var(--sf-muted);margin:0;padding:0;white-space:nowrap;max-width:calc(100% - 1.5rem);overflow:hidden;text-overflow:ellipsis}.formation-field--inline input[type=checkbox]+label:before{content:none;display:none}.formation-field label{font-size:.85rem;color:var(--sf-muted);font-weight:600}.formation-field input,.formation-field select,.formation-field textarea{border:1px solid #cbd5e1;border-radius:10px;padding:.4rem .6rem;font-size:.95rem;background:#f8fafc;color:var(--sf-text);width:100%}.formation-field textarea{resize:vertical;min-height:2.4rem;line-height:1.4}#main .formation-page--new #selectedName{border-radius:12px;padding:.42rem .62rem;min-height:2.85rem;height:2.85rem;max-height:2.85rem;line-height:1.2;resize:none;overflow:hidden}#main .formation-page--new.is-multiline-names #selectedName{min-height:4.5rem;height:auto;max-height:none;resize:vertical;overflow:auto}.formation-actions{display:flex;flex-wrap:wrap;gap:8px}.formation-share{display:grid;gap:8px;padding-top:6px;border-top:1px dashed #e2e8f0}.formation-share__row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.formation-share__url{border:1px solid #cbd5e1;border-radius:10px;padding:.4rem .6rem;font-size:.95rem;background:#f8fafc;color:var(--sf-text);width:100%}.formation-share__note{margin:0;font-size:.85rem;color:#64748b}.formation-share__note.is-error{color:#b91c1c}.formation-download{display:grid;gap:10px}.formation-download__actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.formation-roster{display:grid;gap:8px}.formation-page--new .formation-roster{gap:6px}.formation-roster__row{display:grid;grid-template-columns:38px 72px minmax(0,1fr) 150px;gap:8px;align-items:center;padding:8px 10px;border-radius:12px;border:1px solid #e2e8f0;background:#f8fafc;transition:border .15s ease,box-shadow .15s ease,transform .15s ease}.formation-page--new .formation-roster__row{grid-template-columns:30px minmax(46px,.68fr) minmax(76px,1.18fr) minmax(76px,.92fr);gap:6px;align-items:center;padding:7px 10px;border-radius:12px;background:linear-gradient(180deg,#fbfcff,#f4f7ff);border-color:#2563eb2e;box-shadow:0 7px 16px #0f172a0d}.formation-page--new .formation-roster__row>*{min-width:0}.formation-roster__row.is-selected{border-color:#2563eb8c;box-shadow:0 8px 18px #2563eb26;transform:translateY(-1px)}.formation-roster__badge{width:34px;height:34px;border-radius:999px;background:var(--sf-accent);color:#fff;font-weight:700;border:none;cursor:pointer}.formation-page--new .formation-roster__badge{width:30px;height:30px;min-width:30px;min-height:30px;padding:0!important;line-height:1;align-self:center;flex:0 0 auto}.formation-roster__number{border:1px solid #cbd5e1;border-radius:10px;padding:.35rem .4rem;font-size:.9rem;background:#fff;width:100%}.formation-page--new .formation-roster__number{width:100%}.formation-page--new .formation-panel .formation-roster__number,.formation-page--new .formation-panel .formation-roster__color{min-height:2.6rem;padding:.48rem .62rem}.formation-roster__name{border:1px solid #cbd5e1;border-radius:10px;padding:.35rem .5rem;font-size:.92rem;background:#fff;resize:vertical;min-height:2.4rem;line-height:1.4}.formation-page--new .formation-roster__name{min-width:0;width:100%;min-height:2.8rem;line-height:1.3;overflow-wrap:anywhere}#main .formation-page--new .formation-roster__name{border-radius:12px;padding:.38rem .55rem;min-height:2.6rem;height:2.6rem;max-height:2.6rem;line-height:1.2;resize:none;overflow:hidden}#main .formation-page--new.is-multiline-names .formation-roster__name{min-height:4rem;height:auto;max-height:none;resize:vertical;overflow:auto}.formation-roster__color{border:1px solid #cbd5e1;border-radius:10px;padding:.35rem .5rem;font-size:.9rem;background:#fff}.formation-page--new .formation-roster__color{width:100%}.formation-help ul{margin:0;padding-left:1.2em;color:#475569;line-height:1.7}.formation-page .btn{border:1px solid transparent;border-radius:10px;background:var(--sf-accent);color:#fff;padding:.45rem .85rem;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.formation-page .btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.formation-page .btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #2563eb33}.formation-page .btn:active{transform:translateY(0);box-shadow:none}.formation-page .btn.ghost{background:var(--sf-accent-ghost);color:#1e3a8a;border-color:#2563eb4d}@media (max-width: 980px){.formation-layout{grid-template-columns:1fr}.formation-panel.has-floating-selected{padding-top:0}.formation-card--selected.is-floating{position:static}}@media (max-width: 640px){.formation-toolbar{flex-direction:column;align-items:stretch}.formation-toolbar__group{justify-content:space-between}.formation-label input,.formation-label select{width:100%}.formation-roster__row{grid-template-columns:32px 1fr}.formation-roster__number,.formation-roster__name,.formation-roster__color{grid-column:1 / -1}.formation-actions{flex-direction:column}.formation-download__actions,.formation-share__row{flex-direction:column;align-items:stretch}.formation-page .btn{width:100%}.formation-page--new .formation-label--inline{gap:10px}.formation-page--new .formation-label--inline select{flex:1 1 160px;max-width:100%;min-width:0;width:auto}.formation-page--new .formation-panel{gap:10px}.formation-page--new .formation-panel .formation-card{gap:8px;padding:10px 12px}.formation-page--new .formation-inspector{gap:6px}.formation-page--new .formation-roster__row{grid-template-columns:28px minmax(44px,.68fr) minmax(68px,1.18fr) minmax(68px,.92fr);gap:6px;padding:6px 8px}.formation-page--new .formation-roster__badge{width:28px;height:28px;min-width:28px;min-height:28px}.formation-page--new .formation-roster__number,.formation-page--new .formation-roster__name,.formation-page--new .formation-roster__color{grid-column:auto}.formation-page--new .formation-roster__name{min-height:2.6rem}#main .formation-page--new #selectedName{min-height:2.65rem;height:2.65rem;max-height:2.65rem}#main .formation-page--new.is-multiline-names #selectedName{min-height:4rem;height:auto;max-height:none}#main .formation-page--new .formation-roster__name{min-height:2.45rem;height:2.45rem;max-height:2.45rem}#main .formation-page--new.is-multiline-names .formation-roster__name{min-height:3.8rem;height:auto;max-height:none}}
