/* V2-only interaction views; shared brand, font and calendar stay unchanged. */
.prototype-heading h1{overflow-wrap:anywhere;line-height:1.5}.prototype-heading{align-items:flex-start}.prototype-heading .prototype-secondary{flex-shrink:0;margin-top:8px}.prototype-note{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;margin:0 0 22px;padding:12px 16px;border:1px solid #58503b;border-radius:7px;background:#343127;color:#c4b99a;font-size:13px;line-height:1.7}.prototype-note strong{color:var(--gold);font-weight:400;white-space:nowrap}.prototype-note span{color:#b5b2a6}.prototype-panel{margin:0 0 22px;background:var(--panel);border:1px solid #47443b;border-radius:9px;overflow:hidden;min-width:0}.prototype-panel-title{background:var(--bar);padding:14px 20px;border-bottom:1px solid #474747;display:flex;justify-content:space-between;align-items:center;gap:15px}.prototype-panel-title h2{margin:0;font-size:19px;color:var(--gold);font-weight:400}.prototype-panel-title>span{font-size:13px;color:var(--muted)}.prototype-panel-body{padding:22px}.prototype-panel-body>p:first-child{margin-top:0}.prototype-field{display:flex;flex-direction:column;gap:7px;font-size:16px;color:#dad7cc;margin-bottom:24px;min-width:0}.prototype-field input,.prototype-field select,.prototype-field textarea,.prototype-position input{width:100%;min-width:0;font:inherit;color:var(--text);background:#2e2e2d;border:1px solid #56554f;border-radius:6px;padding:10px 12px;line-height:1.7;min-height:47px}.prototype-field input:focus,.prototype-field select:focus,.prototype-field textarea:focus,.prototype-position input:focus{outline:2px solid #88cee980;outline-offset:1px;border-color:var(--blue)}.prototype-field input[readonly]{color:#b8b3a3;background:#2b2a27}.prototype-field textarea{resize:vertical;min-height:130px}.prototype-field small,.prototype-muted{font-size:13px;color:#aaa99f;line-height:1.8}.prototype-field input::placeholder,.prototype-field textarea::placeholder{color:#93938b}.prototype-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.prototype-template{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:-4px 0 26px}.prototype-position{border-left:2px solid var(--tank);padding-left:10px;min-width:0}.prototype-position.healer{border-color:var(--healer)}.prototype-position.dps{border-color:var(--dps)}.prototype-position>span{display:block;font-size:12px;color:#99998f;margin-bottom:4px}.prototype-position input{font-size:16px;padding:6px 9px;min-height:39px}.prototype-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:16px;border-top:1px solid #41413b;padding-top:22px}.prototype-secondary{display:inline-flex;align-items:center;justify-content:center;padding:7px 12px;border:1px solid #57574e;border-radius:6px;color:#c1c6bc;font-size:14px;line-height:1.6;min-height:39px}.prototype-secondary:hover{background:#383a35;color:#e5e7df}.prototype-panel .primary{font:inherit;font-size:15px;justify-content:center;line-height:1.6}.primary:disabled{opacity:.45;cursor:default}.prototype-feedback{font-size:14px;color:#aaa99f;line-height:1.8;overflow-wrap:anywhere}.prototype-feedback.error{padding:10px 13px;border:1px solid #8b5a53;background:#382c29;border-radius:5px;color:#efb8aa}.prototype-feedback.success{padding:10px 13px;border:1px solid #55745e;background:#29332c;border-radius:5px;color:#b6d7be}.prototype-feedback a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}.prototype-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,330px);gap:22px;align-items:start}.prototype-meta{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}.prototype-meta>div{min-width:0}.prototype-meta .wide{grid-column:1/-1}.prototype-meta dt{font-size:12px;color:var(--muted);margin-bottom:5px}.prototype-meta dd{margin:0;font-size:16px;color:#dad7cc;overflow-wrap:anywhere}.prototype-description{border-top:1px solid #41413b;margin-top:24px;padding-top:18px}.prototype-description h3{font-size:15px;font-weight:400;color:var(--gold);margin:0 0 10px}.prototype-description p{margin:0;color:#c2c2b9;font-size:15px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.prototype-roster{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}.prototype-seat{min-width:0;min-height:111px;padding:12px 10px;text-align:left;border:1px solid #484943;border-left:3px solid var(--tank);border-radius:6px;background:#2b3034;transition:background .12s,border-color .12s}.prototype-seat.healer{border-left-color:var(--healer);background:#2b332e}.prototype-seat.dps{border-left-color:var(--dps);background:#342e2d}.prototype-seat:disabled{opacity:.8;cursor:default}.prototype-seat:not(:disabled):hover{background:#3b4447;border-top-color:#6a807e;border-right-color:#6a807e;border-bottom-color:#6a807e}.prototype-seat.is-picked{border-top-color:var(--blue);border-right-color:var(--blue);border-bottom-color:var(--blue);background:#334550;box-shadow:inset 0 0 0 1px #88cee930}.prototype-seat.is-mine strong{color:#b4dff0}.prototype-seat-top{display:flex;align-items:center;justify-content:space-between;gap:6px;flex-wrap:wrap;color:#cdcdc5;font-size:15px;overflow-wrap:anywhere}.prototype-seat-top small{font-size:10px;color:#a0a299}.prototype-seat strong{display:block;font-size:17px;font-weight:400;margin:8px 0 3px;overflow-wrap:anywhere}.prototype-seat-job{display:block;font-size:12px;color:#a8aba1;overflow-wrap:anywhere}.prototype-booking{position:sticky;top:22px}.prototype-identity{display:flex;align-items:center;gap:11px;margin:0 0 22px}.prototype-identity>span:last-child{font-size:16px;color:#dbd8cd}.prototype-identity small{display:block;font-size:11px;color:#989b91}.prototype-current{font-size:14px;border-bottom:1px solid #41413b;padding-bottom:16px;color:#acaea3}.prototype-current strong{font-weight:400;color:var(--blue)}.prototype-choice{display:flex;justify-content:space-between;gap:10px;font-size:14px;color:#a9ac9f;margin:0 0 20px}.prototype-choice strong{font-weight:400;color:var(--gold);overflow-wrap:anywhere;text-align:right}.prototype-booking-action{width:100%;margin-bottom:12px}.prototype-booking .prototype-field{margin-bottom:16px}.prototype-booking .prototype-feedback{min-height:52px}.prototype-booking .prototype-muted{margin:4px 0 0}.prototype-time{font-size:20px;color:#d0bfdf}.source-filter{border-left:1px solid #4a4850!important;margin-left:8px!important;padding-left:14px!important}.prototype-panel-body p{overflow-wrap:anywhere}
@media(max-width:1200px){.prototype-roster{grid-template-columns:repeat(2,minmax(0,1fr))}.prototype-detail-grid{grid-template-columns:minmax(0,1fr) minmax(260px,300px)}}
@media(max-width:950px){.prototype-detail-grid{grid-template-columns:minmax(0,1fr)}.prototype-booking{position:static}.prototype-roster{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:620px){.prototype-heading{gap:10px}.prototype-heading h1{font-size:23px}.prototype-heading .prototype-secondary{font-size:12px;padding:6px 8px;min-height:33px;margin-top:5px}.prototype-note{padding:10px 12px;font-size:12px;gap:4px;margin-bottom:18px}.prototype-panel{margin-bottom:16px}.prototype-panel-title{padding:13px 14px;gap:10px}.prototype-panel-title h2{font-size:17px}.prototype-panel-title>span{font-size:11px}.prototype-panel-body{padding:16px 14px}.prototype-field-grid{grid-template-columns:minmax(0,1fr)}.prototype-field{font-size:16px;margin-bottom:20px}.prototype-field small,.prototype-muted{font-size:12px}.prototype-field input,.prototype-field select,.prototype-field textarea{font-size:16px;padding:9px 10px}.prototype-template,.prototype-roster{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.prototype-form-actions{gap:10px;flex-wrap:wrap;padding-top:18px}.prototype-form-actions .primary{font-size:14px}.prototype-form-actions .prototype-secondary{font-size:13px}.prototype-detail-grid{gap:0}.prototype-meta{gap:18px 15px}.prototype-meta dd{font-size:15px}.prototype-description p{font-size:15px}.prototype-seat{padding:12px 10px}.prototype-seat strong{font-size:17px}.prototype-seat-top{font-size:16px}.prototype-seat-top small{font-size:11px}.prototype-seat-job{font-size:13px}.prototype-booking .prototype-muted{font-size:12px}.prototype-time{font-size:17px}.source-filter{margin-left:0!important;padding-left:8px!important}}
.prototype-type-row{display:flex;align-items:start;gap:24px}.prototype-type-row>.prototype-field{flex:1;min-width:0}.prototype-type-row>.other-capacity{max-width:200px}.prototype-control{display:flex;justify-content:space-between;align-items:center;gap:8px;min-width:0;width:100%;font:inherit;font-size:16px;color:var(--text);background:#2e2e2d;border:1px solid #56554f;border-radius:6px;padding:10px 12px;min-height:49px;text-align:left;-webkit-user-select:none;user-select:none}.prototype-control::after{content:'⌄';color:var(--muted);font-size:16px}.prototype-control:hover{border-color:#8b8263;background:#35342d}.prototype-control:disabled{opacity:.6;cursor:default}.prototype-end-time{background:#2b2a27;border:1px solid #4c4738;border-radius:6px;margin:-2px 0 25px;padding:12px 15px;font-size:14px;color:#b6b1a0;display:flex;gap:12px;flex-wrap:wrap;align-items:baseline}.prototype-end-time output{font-size:17px;color:var(--gold)}.prototype-end-time>span{font-size:12px;color:#919487}.prototype-team-heading{border-top:1px solid #41413b;padding-top:20px}.prototype-team-heading h3{font-size:18px;color:var(--gold);font-weight:400;margin:0 0 9px}.prototype-team-heading h3 small{font-size:12px;color:var(--muted);margin-left:8px}.prototype-team-heading p{font-size:13px;color:#aaa99f;line-height:1.8;margin:0 0 14px}.prototype-create-roster{margin:0 0 25px}.prototype-seat-rule,.prototype-duration-meta{display:block;font-size:12px;font-weight:400;color:#999d91;line-height:1.7;margin-top:5px}
dialog.prototype-picker{width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 24px);margin:auto;padding:0;border:1px solid #68604b;background:#272727;border-radius:10px;color:var(--text);overflow:auto}dialog.prototype-picker::backdrop{background:#101215b8;backdrop-filter:blur(3px)}.picker-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 20px;background:#353535;border-bottom:1px solid #49473f}.picker-header h2{font-size:20px;color:var(--gold);font-weight:400;margin:0;line-height:1.5}.picker-header>button{font-size:25px;line-height:1;width:31px;height:31px;color:#b7b7a9}.picker-body{padding:16px 20px}.picker-help{font-size:12px;color:#aaa99f;line-height:1.8;margin:12px 0 0}.picker-error{font-size:12px;line-height:1.7;color:#e0ab94;margin:8px 0 0;min-height:20px}.picker-actions{display:flex;justify-content:flex-end;gap:12px;padding:13px 20px;border-top:1px solid #47443b;background:#2e2e2c;position:sticky;bottom:0}.picker-actions .primary{min-width:104px;justify-content:center;font:inherit;font-size:14px}.picker-actions .prototype-secondary{min-width:73px}.picker-month{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px;-webkit-user-select:none;user-select:none}.picker-month strong{font-size:20px;font-weight:400;color:var(--gold)}.picker-month button{font-size:24px;width:34px;height:34px;border:1px solid #4e4f47;border-radius:5px;line-height:1}.picker-month button:disabled{opacity:.3}.picker-weekdays,.picker-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.picker-weekdays{font-size:12px;color:#9da095;text-align:center;margin-bottom:5px}.picker-days button{height:34px;font-size:18px;border:1px solid transparent;border-radius:5px;line-height:1;-webkit-user-select:none;user-select:none}.picker-days button:not(:disabled):hover{background:#3b3c36}.picker-days button.is-outside{color:#888b80}.picker-days button:disabled{color:#656860;cursor:default}.picker-days button.is-picked{background:#405f74;color:#e0eef5}.picker-days button.is-today{border-color:var(--gold);color:var(--gold)}.picker-days button.is-picked.is-today{color:#f3d891}.picker-time-preview{text-align:center;font-size:20px;color:#d6c18a;margin:14px 0 9px;-webkit-user-select:none;user-select:none}.picker-wheels{display:flex;justify-content:center;gap:25px;padding:0 0 4px}.picker-wheel-column{width:112px;min-width:0;text-align:center}.picker-wheel-column>span{display:block;color:#a3a698;font-size:12px;margin-bottom:7px}.picker-wheel{position:relative;height:168px;overflow-y:auto;overflow-x:hidden;padding:63px 0;scroll-snap-type:y mandatory;overscroll-behavior:contain;scrollbar-width:none;touch-action:pan-y;border:1px solid #484b42;border-radius:7px;background:#222524;-webkit-user-select:none;user-select:none}.picker-wheel::-webkit-scrollbar{display:none}.picker-wheel>button{display:block;width:100%;height:42px;min-height:42px;padding:0;border:0;font:inherit;font-size:23px;line-height:42px;color:#a8aca0;scroll-snap-align:center;-webkit-user-select:none;user-select:none}.picker-wheel>button[aria-selected=true]{background:#344a55;color:#e7d49d;border-top:1px solid #5c7885;border-bottom:1px solid #5c7885}.picker-wheel>button:disabled{color:#565c53}.picker-wheel:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.qualification-options{border:0;margin:15px 0 0;padding:0}.qualification-jobs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.qualification-option{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #53564b;border-radius:6px;background:#2c302c;cursor:pointer;font-size:16px;-webkit-user-select:none;user-select:none}.qualification-option:has(input:checked){border-color:#8fb5c5;background:#35464e}.qualification-option input{accent-color:var(--blue);width:16px;height:16px;flex-shrink:0;margin:0}.qualification-option small{display:block;font-size:11px;color:#aaa99c;margin-top:3px}.type-more{position:relative;font-size:13px;color:#aaa99f}.type-more>summary{cursor:pointer;list-style:none;padding:6px 10px;border-radius:5px}.type-more>summary::-webkit-details-marker{display:none}.type-more>summary::after{content:' ⌄'}.type-more:has(button.active)>summary{color:var(--gold);background:#3b3b30}.type-more>button{position:absolute;top:100%;right:0;z-index:6;min-width:90px;background:#363631!important;border:1px solid #66614b!important;padding:9px 15px!important;border-radius:5px;white-space:nowrap}.filter-toolbar{overflow:visible}.filters i.variant{background:#a2bfa7}.filters i.dungeon{background:#90c6aa}.filters i.battle{background:#c5a477}.filters i.extreme{background:#9ebad8}.filters i.other{background:#d3b05b}.event-tag.variant i,.event-tag.dungeon i{background:var(--healer)}.event-tag.battle i,.event-tag.other i{background:var(--gold)}.event-tag.extreme i{background:var(--tank)}
@media(max-width:620px){.prototype-type-row{flex-direction:column;gap:0}.prototype-type-row>.prototype-field{width:100%}.prototype-type-row>.other-capacity{max-width:none}.prototype-control{font-size:16px;padding:10px;gap:4px}.prototype-end-time{padding:11px 12px;gap:5px 10px}.prototype-end-time output{font-size:16px}.prototype-team-heading h3{font-size:17px}.prototype-team-heading p{font-size:12px}.picker-header{padding:12px 14px}.picker-header h2{font-size:18px}.picker-body{padding:13px 14px}.picker-month strong{font-size:19px}.picker-days{gap:3px}.picker-days button{font-size:18px;height:33px}.picker-time-preview{font-size:19px;margin-top:13px}.picker-wheels{gap:18px}.picker-wheel-column{width:100px}.picker-actions{padding:11px 14px}.qualification-jobs{gap:9px}.qualification-option{font-size:15px;padding:9px 10px}.type-more{font-size:12px}.type-more>summary{padding:5px 8px}}

.filters{flex-wrap:wrap;min-width:0;max-width:100%}@media(max-width:620px){.type-more>button{left:0;right:auto}}

/* Detail-only layout: wrap complete timestamps on narrow screens; match roster row heights to content. */
.prototype-time-range{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 8px}.prototype-time-range>span{white-space:nowrap}.prototype-detail-grid .prototype-roster{grid-auto-rows:1fr}
.prototype-simulation{margin:0 0 18px;padding:14px 16px;border:1px solid #4f5148;border-radius:8px;background:#292d2a;display:flex;flex-direction:column;gap:12px;font-size:13px}.prototype-simulation>div{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.prototype-simulation strong,.prototype-simulation label{font-weight:400;color:var(--gold)}.prototype-simulation select,.prototype-attendance select{font:inherit;color:var(--text);background:#30332d;border:1px solid #5c5b4d;border-radius:5px;padding:7px 10px;min-width:0;max-width:100%;line-height:1.5}.prototype-simulation select{min-width:185px}.prototype-simulation span{font-size:12px;color:#aaa99f;overflow-wrap:anywhere}.prototype-simulation>.prototype-secondary{align-self:flex-start}.prototype-lifecycle-status{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:7px 20px;border-left:2px solid var(--gold);padding:10px 14px;background:#333228;margin:0 0 20px;font-size:15px;color:#d9cfb6}.prototype-lifecycle-status>span{font-size:12px;color:#aaa99f}.prototype-management-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:13px}.prototype-attendance>div{display:flex;gap:12px;justify-content:space-between;align-items:center;border-bottom:1px solid #41433c;padding:12px 0}.prototype-attendance>div:last-child{border:0}.prototype-attendance>div>span:first-child{min-width:0;overflow-wrap:anywhere}.prototype-attendance strong{font-weight:400;font-size:15px}.prototype-attendance small{display:block;font-size:12px;color:#aaa99f}.prototype-attendance select{flex-shrink:0;width:115px;font-size:14px}.attendance-pending{color:#aaa99f;font-size:13px}.attendance-present{color:#a9d4b1;font-size:13px}.attendance-absent{color:#e0b0a3;font-size:13px}.prototype-audit{list-style:none;padding:0;margin:0}.prototype-audit li{border-top:1px solid #41433c;padding:11px 0;font-size:14px;overflow-wrap:anywhere}.prototype-audit small{display:block;font-size:11px;color:#95998c;margin-bottom:4px}.prototype-audit span{line-height:1.8}.prototype-management+.prototype-panel{margin-top:0}#management-confirm-error{font-size:14px;color:#e4b2a6}
@media(max-width:620px){.prototype-simulation{padding:13px;gap:13px}.prototype-simulation>div{gap:8px;align-items:flex-start;flex-direction:column}.prototype-simulation select{width:100%;min-width:0;font-size:15px}.prototype-simulation span{font-size:12px;line-height:1.8}.prototype-lifecycle-status{font-size:14px;padding:10px 12px}.prototype-attendance select{width:102px;font-size:14px}.prototype-attendance strong{font-size:15px}.prototype-attendance>div{gap:8px}.prototype-audit li{font-size:13px}.prototype-management-actions .prototype-secondary{font-size:14px}}
.attendance-options{display:flex;gap:6px;flex-shrink:0}.attendance-option{font:inherit;font-size:14px;line-height:1.5;min-width:69px;padding:7px 9px;border:1px solid #565a4f;border-radius:5px;background:#2d302b;color:#a9ada1;white-space:nowrap}.attendance-option:not(:disabled):hover{background:#3a3f33;border-color:#8b9578}.attendance-option.is-current{font-weight:400}.attendance-option.attendance-present.is-current{background:#304735;border-color:#83ad89;color:#d0ecd2}.attendance-option.attendance-absent.is-current{background:#493431;border-color:#c08c81;color:#f1c9bf}.attendance-option.attendance-pending.is-current{background:#443f2e;border-color:#b49d63;color:#e5d5a6}.attendance-option:disabled{cursor:default;opacity:.75}.prototype-management-actions button:disabled{opacity:.5;cursor:default}
@media(max-width:620px){.prototype-attendance>div{flex-wrap:wrap;gap:10px}.attendance-options{width:100%;gap:6px}.attendance-option{flex:1;min-width:0;padding:8px 4px;font-size:14px}}
.attendance-state{font-size:14px;line-height:1.6;padding:5px 0;white-space:nowrap}.attendance-options{align-items:center}.attendance-state.attendance-present{color:#c7e6cb}.attendance-state.attendance-absent{color:#e9b3a7}.attendance-state.attendance-pending{color:#d4c28f}.attendance-option.attendance-present{color:#d0ecd2;border-color:#83ad89;background:#304735}
@media(max-width:620px){.attendance-options{justify-content:space-between}.attendance-state{font-size:14px}.attendance-options .attendance-option{flex:0 0 auto;min-width:100px}}
