/* J-MUSIC R2: fixed navigation, one-row toolbar and compact step-by-step editor. */
:root{--accent:#315fa8;--accent-soft:#edf4ff;--line:#e4eaf2;--bg:#f5f7fb;--ink:#253449}
html,body{height:100%}body:has(.shell){overflow:hidden}
.shell{height:100dvh;min-height:0;overflow:hidden;align-items:stretch}
.sidebar{width:205px;min-width:205px;height:100%;overflow-y:auto;overflow-x:hidden;padding:15px 11px 10px;position:relative;z-index:20;box-shadow:none}
.sidebar .brand{margin:1px 5px 24px;gap:9px}.sidebar .brand .logo{width:30px;height:30px;font-size:17px;border-radius:8px}.brand strong{font-size:15px;line-height:1.1}.brand small{font-size:7px;letter-spacing:1.7px;margin-top:3px}
.nav-label{font-size:10px;margin:14px 9px 6px}.sidebar .nav-link{padding:9px 10px;margin:1px 0;border-radius:6px;font-size:12px;display:flex;align-items:center;gap:8px;white-space:nowrap}.nav-link span{min-width:16px;color:#7491b6;text-align:center}.side-foot{padding:9px 8px;font-size:9px;letter-spacing:.3px}
.main-shell{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.top{height:51px;min-height:51px;flex:none;padding:0 16px;gap:10px}.top-breadcrumb{display:flex;align-items:center;gap:8px;font-size:12px;min-width:0;white-space:nowrap}.top-breadcrumb strong{font-size:12px;margin:0;font-weight:650}.top-home{font-weight:650;color:#315a93}.top-divider{color:#a4b4c9}.top-right{gap:12px;white-space:nowrap}.top-link{font-size:11px;color:#51657f}.top-link:hover{color:var(--accent)}.session-indicator{font-size:10px;color:#5d8b7f}.user-name{font-size:11px;color:#526073;max-width:110px;overflow:hidden;text-overflow:ellipsis}.logout-button{min-height:27px;font-size:11px;padding:4px 9px;border-radius:5px}
.top-quick{position:relative}.top-quick summary{list-style:none;cursor:pointer;color:#2e598f;font-size:11px;font-weight:650;border:1px solid #d8e6f6;border-radius:6px;padding:5px 8px;background:#f6f9fe}.top-quick summary::-webkit-details-marker{display:none}.top-quick[open] summary{background:var(--accent-soft)}.quick-panel{position:absolute;right:0;top:36px;width:208px;padding:10px;background:#fff;border:1px solid #dce6f2;border-radius:10px;box-shadow:0 12px 32px rgba(20,45,90,.15);display:flex;flex-direction:column;gap:4px;z-index:100}.quick-panel strong{font-size:11px;padding:5px 8px 8px}.quick-panel a{font-size:11px;padding:8px;border-radius:6px}.quick-panel a:hover{background:#eff5fd;color:var(--accent)}
.content{flex:1;min-height:0;width:100%;max-width:none;margin:0;padding:14px 19px;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}
.eyebrow{font-size:9px;line-height:1;letter-spacing:1px;margin:0 0 5px}h1{font-size:19px;letter-spacing:-.5px;line-height:1.3;margin:0 0 3px}h2{font-size:13px;margin:0 0 9px}h3{font-size:12px;margin:11px 0 6px}p{line-height:1.55}.muted{font-size:11px;margin:3px 0;color:#718197}.page-head{gap:12px;margin-bottom:12px;align-items:center}.button{min-height:29px;padding:5px 10px;border-radius:6px;font-size:11px}.button.subtle{min-height:27px}.button:disabled{opacity:.55;cursor:not-allowed}.panel,.stat{border-radius:9px;box-shadow:none}.panel-head{padding:11px 14px}.panel-head h2{font-size:13px}.alert{padding:7px 11px;margin-bottom:9px;font-size:11px}.stats{gap:9px;margin-bottom:11px}.stat{padding:11px 14px}.stat span{font-size:11px;margin-bottom:4px}.stat strong{font-size:23px}.filters{padding:9px 12px}.filters input,.filters select{padding:7px 9px;font-size:11px;border-radius:6px}.filters select{min-width:130px}table{font-size:11px}th,td{padding:8px 10px}.table-wrap{overflow:auto}.status{padding:3px 6px;font-size:10px;border-radius:5px}.tiny{padding:3px 7px;font-size:10px;margin-right:4px;border-radius:5px}.resume{color:#1f5498;border-color:#bbd2ef;background:#f0f6ff}.empty{padding:20px}.mini-panel{padding:12px 15px}.mini-panel h2{margin:0 0 5px}.mini-panel p{margin:0;font-size:11px;color:#61738a}.dashboard-bottom{display:grid;grid-template-columns:1.4fr 1fr;gap:11px;margin-top:12px}
.wizard-page{display:flex;flex-direction:column;height:100%;min-height:0;gap:10px}.wizard-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;flex:none}.wizard-title{min-width:0}.wizard-heading h1{margin-bottom:2px}.heading-sub{font-size:11px;color:#7790a9}.stepper{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;flex:none}.step-pill{height:37px;border:1px solid #dce5f1;border-radius:7px;background:#fff;display:flex;align-items:center;justify-content:center;gap:6px;padding:4px 8px;color:#5c6f86;font-size:11px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.step-pill.active{border-color:#90b7ec;color:#255a9a;background:#eaf3ff;font-weight:700}.step-pill.complete{color:#2f7284;background:#f2fafb}.step-pill.locked{opacity:.55;cursor:default}.step-number{font-size:10px;font-weight:700;opacity:.8}
.wizard-stage{flex:1;min-height:0}.wizard-form,.finish-grid{height:100%;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 250px;grid-template-rows:minmax(0,1fr) auto;gap:10px}.wizard-main,.wizard-aside{min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}.wizard-main{padding:13px 15px}.wizard-aside{padding:14px}.stage-heading{display:flex;align-items:start;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:9px;margin-bottom:10px;gap:10px}.stage-heading b{display:block;font-size:13px;margin-bottom:3px}.stage-heading span:not(.status){display:block;font-size:10px;color:#8090a2}.step-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}.step-form-grid .field,.lyric-editor{min-width:0;margin:0}.step-form-grid .wide{grid-column:1/-1}.field label{font-size:10px;margin:0 0 4px;font-weight:650;color:#425873}.field input,.field select,.field textarea{padding:7px 9px;border-radius:6px;font-size:11px;line-height:1.35}.field input,.field select{height:33px}.field textarea{min-height:65px;resize:vertical}.field-story textarea{height:78px}.style-fields .concept-field textarea{height:110px}.style-fields .arrangement-editor textarea{height:160px}.lyric-options{margin-bottom:8px}.lyric-editor textarea{height:clamp(190px,36vh,410px);min-height:145px;resize:none;overflow-y:auto;line-height:1.55}.mini-help{font-size:10px;color:#7e8ea1;margin:7px 0 0;line-height:1.5}.preset-row{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin:-1px 0 10px}.preset-caption{font-size:10px;font-weight:700;color:#566f8c;margin-right:4px}.preset-chip{border:1px solid #dce7f5;background:#f7fbff;border-radius:14px;padding:4px 8px;font-size:10px;color:#3e6190}.preset-chip:hover,.preset-chip.selected{background:#dcecff;color:#235592;border-color:#a6c6ee}.preset-chip:focus-visible{outline:2px solid #5177ac;outline-offset:2px}
.step-pill.review-pending{border-color:#f3cd92;background:#fffaf2;color:#946123}.review-inline{color:#bb7534;font-size:10px}.brief-confirm{margin-top:8px}
.compact-aside h2{font-size:12px;margin:0 0 9px}.compact-aside p{font-size:11px;color:#63758c;line-height:1.65;margin:0 0 10px}.mini-tip{background:#f5f8fc;border:1px solid #edf1f7;border-radius:7px;padding:9px;margin:10px 0 12px}.mini-tip b{display:block;font-size:11px;margin-bottom:6px}.mini-tip span{display:block;color:#72849a;font-size:10px;line-height:1.5}.aside-divider{height:1px;background:var(--line);margin:12px 0}.mini-meta{display:grid;grid-template-columns:76px minmax(0,1fr);gap:7px 7px;font-size:10px}.mini-meta span{color:#91a0ad}.mini-meta b{font-size:10px;overflow-wrap:anywhere;font-weight:600}.revision-line{font-size:10px;display:flex;justify-content:space-between;color:#4e647e;border-bottom:1px solid #f0f3f7;padding:6px 0}.revision-line span{color:#94a1b0}
.wizard-footer{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #e1e8f2;background:#fff;border-radius:7px;padding:7px 11px}.save-hint{font-size:10px;color:#7990a8}.footer-actions{display:flex;align-items:center;gap:6px}.finish-grid{grid-template-rows:minmax(0,1fr)}.readiness{background:#f7faff;border-radius:8px;padding:18px;margin-bottom:13px}.readiness h3{font-size:14px;margin:10px 0 7px}.readiness p{font-size:12px;color:#64738b;max-width:600px}.full-width{width:100%;margin-top:15px}.detail-list{display:grid;gap:12px;font-size:11px}.detail-list div{display:grid;grid-template-columns:65px 1fr;gap:15px}.detail-list span{color:#8898aa}.detail-list strong{font-weight:500;white-space:pre-line;overflow-wrap:anywhere}
.detail-stepper{margin-bottom:12px}.detail-compact-grid{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:10px;max-height:48vh;min-height:210px}.detail-summary{padding:13px 15px;overflow:auto;min-height:0}.detail-copy{font-size:11px;line-height:1.65;white-space:normal;overflow-wrap:anywhere}.lyrics-copy{max-height:35vh;overflow-y:auto}.revision-panel{margin-top:10px;max-height:29vh;overflow-y:auto}.revision-panel .table-wrap{max-height:20vh;overflow-y:auto}
.revision-snapshot-grid{display:grid;grid-template-columns:1fr 1.12fr 1fr;gap:10px;height:calc(100% - 62px);min-height:0}.revision-snapshot-grid .detail-summary{min-height:0}.revision-snapshot-grid .lyrics-copy{max-height:none}
.detail-page{height:100%;min-height:0;display:flex;flex-direction:column}.detail-page .page-head,.detail-page .detail-stepper{flex:none}.detail-page .detail-compact-grid{flex:1;min-height:0;max-height:none}.detail-page .revision-panel{flex:0 0 28%;min-height:0;max-height:none;overflow:hidden}.detail-page .revision-panel .table-wrap{max-height:calc(100% - 40px);overflow:auto}.content:has(.detail-page){overflow:hidden}
.workarea{flex:1;min-height:0;display:flex;overflow:hidden}.workarea>.content{flex:1;min-width:0;width:0;min-height:0}.quick-rail{display:flex;flex-direction:column;flex:none;width:228px;min-width:228px;min-height:0;overflow-y:auto;scrollbar-width:thin;border-left:1px solid var(--line);background:#fff;padding:15px 11px;gap:10px}.rail-title{display:flex;align-items:baseline;justify-content:space-between;gap:7px;border-bottom:1px solid var(--line);padding:0 2px 10px}.rail-title span,.rail-mini-label{font-size:9px;font-weight:700;letter-spacing:.7px;color:#8da2bd}.rail-title strong{font-size:12px;color:#38577e}.rail-actions{display:grid;gap:5px}.rail-actions a{display:grid;grid-template-columns:23px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:0 7px;border:1px solid #e8edf5;background:#fbfcff;padding:8px 9px;border-radius:7px}.rail-actions a:hover{background:#eff5fd;border-color:#bbd1eb}.rail-actions a>span{grid-row:1/3;display:grid;place-items:center;background:#eef4fc;border-radius:6px;height:25px;color:#366294;font-size:14px}.rail-actions a b{font-size:11px;font-weight:600;color:#355370}.rail-actions a small{font-size:9px;color:#91a0b2}.rail-current{padding:10px;border:1px solid #e9edf4;border-radius:7px;display:flex;flex-direction:column;gap:6px}.rail-current>b{font-size:12px;line-height:1.5;overflow-wrap:anywhere}.rail-current small{font-size:10px;color:#7c8da2;line-height:1.5}.rail-current .rail-review{color:#bb7534}.rail-current>.button{width:100%;margin-top:3px}.rail-text-link{font-size:10px;color:#3165a3;margin-top:4px;align-self:flex-start}.rail-text-link:hover{text-decoration:underline}.rail-bottom{margin-top:auto;border-top:1px solid var(--line);padding:10px 3px;color:#9aa8b9;font-size:9px}
@media(max-width:1250px){.quick-rail{width:204px;min-width:204px;padding:11px 8px}.wizard-form,.finish-grid{grid-template-columns:minmax(0,1fr) 205px}.content{padding:10px}.stepper{gap:4px}}
@media(max-width:1120px){.quick-rail{display:none}.workarea>.content{width:auto}}
.chat-page{height:100%;min-height:0;display:flex;flex-direction:column}.chat-layout{flex:1;min-height:0;grid-template-columns:205px minmax(0,1fr);gap:10px}.chat-layout:has(>section:only-child){grid-template-columns:1fr}.chat-members{padding:12px;min-height:0;overflow:auto}.chat-members h2{margin:0 0 8px}.member-link{padding:8px;font-size:11px}.member-link.selected{color:#285ca1;background:#eaf4ff}.chat-thread{display:flex;flex-direction:column;padding:12px;min-height:0}.chat-thread-header{display:flex;justify-content:space-between;align-items:center;flex:none;border-bottom:1px solid var(--line);padding:0 0 9px;font-size:12px}.chat-thread .message-list{min-height:0;max-height:none;flex:1;overflow-y:auto;gap:7px;padding:11px 4px}.bubble{padding:8px 10px;font-size:11px;border-radius:8px;line-height:1.5;overflow-wrap:anywhere}.chat-form{flex:none;align-items:end;padding-top:8px}.chat-form textarea{height:54px;min-height:54px;resize:none;font-size:11px;padding:8px}.chat-form .button{height:33px}
@media(max-width:1100px){.wizard-form,.finish-grid{grid-template-columns:minmax(0,1fr) 208px}.sidebar{width:185px;min-width:185px}.content{padding:11px}.top-right{gap:8px}.top-link{display:none}}
@media(max-width:850px){.wizard-form,.finish-grid{grid-template-columns:minmax(0,1fr) 180px}.mini-meta{grid-template-columns:65px 1fr}.detail-compact-grid{grid-template-columns:1fr 1fr}.lyrics-summary{grid-column:1/-1}.revision-snapshot-grid{grid-template-columns:1fr 1fr}.content{padding:10px}.sidebar{width:168px;min-width:168px}}
@media(max-width:690px){body:has(.shell){overflow:hidden}.shell{display:flex;flex-direction:column}.sidebar{width:100%;min-width:0;height:auto;flex:none;overflow:visible;padding:5px 8px 4px;border-right:0;border-bottom:1px solid var(--line)}.sidebar .brand{display:none}.sidebar nav{display:flex;gap:3px;overflow-x:auto;padding:0;white-space:nowrap}.sidebar .nav-label,.sidebar .side-foot{display:none}.sidebar .nav-link{padding:6px 7px;font-size:10px;flex-shrink:0}.main-shell{flex:1;min-height:0;width:100%}.top{height:43px;min-height:43px;padding:0 9px}.top-breadcrumb strong{display:none}.top-right{gap:7px}.session-indicator{display:none}.user-name{max-width:65px}.quick-panel{right:-45px}.content{padding:8px;overflow-y:auto}.wizard-page{height:auto;min-height:100%;gap:8px}.wizard-heading{align-items:flex-start}.wizard-heading h1{font-size:16px}.heading-sub{font-size:9px}.wizard-heading .actions{gap:4px}.wizard-heading .actions .button{padding:4px 6px;font-size:9px}.stepper{gap:3px}.step-pill{padding:4px 3px;height:40px;display:flex;flex-direction:column;gap:1px;font-size:9px}.step-number{font-size:9px}.wizard-stage{flex:none;min-height:0}.wizard-form,.finish-grid{display:flex;flex-direction:column;height:auto}.wizard-main,.wizard-aside{overflow:visible}.wizard-main{padding:10px}.wizard-aside{padding:10px}.wizard-aside .aside-divider,.wizard-aside .revision-line{display:none}.step-form-grid{gap:8px}.field select{height:32px}.lyric-editor textarea{height:300px}.wizard-footer{flex-direction:column;align-items:stretch}.footer-actions{justify-content:flex-end}.save-hint{text-align:right}.detail-compact-grid{max-height:none;display:block}.detail-summary{margin-bottom:8px}.revision-panel{max-height:none}.chat-layout{grid-template-columns:1fr}.chat-members{max-height:94px}.dashboard-bottom{grid-template-columns:1fr}.compact-stats .stat{padding:8px}.compact-stats .stat strong{font-size:18px}}
@media(max-width:690px){.detail-page{height:auto;display:block}.detail-page .detail-compact-grid{max-height:none;display:block}.detail-page .revision-panel{max-height:none}.content:has(.detail-page){overflow-y:auto}}
@media(max-height:680px) and (min-width:691px){.content{padding-top:9px;padding-bottom:8px}.wizard-page{gap:6px}.wizard-heading .eyebrow{display:none}.step-pill{height:33px}.wizard-main{padding:10px 12px}.stage-heading{margin-bottom:7px}.step-form-grid{gap:5px 10px}.field-story textarea{height:65px}.style-fields .concept-field textarea{height:95px}.lyric-editor textarea{height:clamp(140px,30vh,260px)}}
