:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#182d39;background:#f4f6f8;font-size:16px;--accent:#126b72;--line:#e0e7ea;--muted:#5c6e79}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;min-height:44px;padding:10px 16px;border:1px solid var(--line);border-radius:11px;background:#fff;color:inherit;font-weight:600}button:hover{background:#eaf2f3}button:disabled{opacity:.5;cursor:wait}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #2d8aaa;outline-offset:3px}input,select{width:100%;min-height:46px;border:1px solid #cbd6dd;border-radius:9px;background:white;padding:10px;color:inherit}label{display:block;font-size:.85rem;font-weight:600}label input,label select{margin-top:7px}.primary{background:var(--accent);color:white;border-color:var(--accent)}.primary:hover{background:#0b5359}h1{font-size:2.1rem;letter-spacing:-.04em;margin:8px 0 10px}h2{font-size:1.3rem;letter-spacing:-.02em}p{line-height:1.5}small,.subtle{color:var(--muted)}small{display:block;line-height:1.6}.brandmark{display:inline-flex;align-items:center;justify-content:center;width:43px;height:43px;border-radius:12px;background:var(--accent);color:white;font-weight:800;font-size:1.6rem}.login{max-width:450px;margin:10vh auto;padding:32px;background:white;border:1px solid var(--line);border-radius:22px;box-shadow:0 18px 50px #1338440c}.login form{display:grid;gap:20px;margin:30px 0 22px}.login #login-message:empty{display:none}[hidden]{display:none!important}#app{display:flex;min-height:100vh}aside{width:250px;background:white;border-right:1px solid var(--line);padding:30px 20px;display:flex;flex-direction:column;position:fixed;height:100vh}.brand{display:flex;gap:11px;align-items:center;font-weight:700;letter-spacing:-.02em}.brand small{font-size:.73rem;font-weight:400}nav{display:grid;gap:8px;margin-top:42px}nav button{text-align:left;border-color:transparent;background:transparent}nav button.active{color:var(--accent);background:#e9f3f2}.aside-bottom{margin-top:auto;font-size:.8rem}.aside-bottom button{width:100%}main{margin-left:250px;padding:42px 40px;width:calc(100% - 250px);max-width:1600px}header{display:flex;justify-content:space-between;align-items:center;gap:20px}header p{color:var(--muted);max-width:720px;margin:0}.eyebrow{letter-spacing:.16em;font-size:.7rem;font-weight:700;color:var(--accent)}.subtle{font-size:.8rem;margin:24px 0}.pill{display:inline-block;border:1px solid var(--line);background:#f4f7f8;border-radius:30px;padding:5px 10px;font-size:.76rem;font-weight:600}.good{color:#176e50;background:#eaf5ef;border-color:#d1e9dc}.warning{color:#91600f;background:#fff5df;border-color:#f0dfbc}.error{color:#9e3333;background:#fff0ee;border-color:#f2d8d4}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:28px 0}.stat,.panel,.cab-card{background:white;border:1px solid var(--line);border-radius:17px;padding:23px}.stat strong{display:block;font-size:2.3rem;letter-spacing:-.05em;margin:6px 0}.stat small{font-size:.82rem}.section-title{display:flex;align-items:center;justify-content:space-between;margin-top:30px}.cab-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.cab-card h3{margin:0 0 4px;font-size:1.1rem}.cab-card p{font-size:.85rem;color:var(--muted);margin:7px 0 20px}.cab-card button{margin-top:20px;width:100%}.filters{display:flex;flex-wrap:wrap;gap:14px;padding:18px;background:white;border:1px solid var(--line);border-radius:14px;margin:24px 0}.filters label{flex:1;min-width:145px}.filters .search{flex:2;min-width:230px}.list{background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden}.row{display:flex;align-items:center;gap:18px;width:100%;text-align:left;background:white;border:0;border-radius:0;padding:19px 22px;border-bottom:1px solid var(--line);font-weight:400}.row:last-child{border-bottom:0}.row-main{flex:1;min-width:0}.row-main strong{display:block;font-weight:650;overflow-wrap:anywhere}.row-main small{margin-top:5px}.row-side{text-align:right;min-width:125px;font-size:.85rem}.row-side small{font-size:.74rem}.chevron{color:#82929b}.empty{padding:50px 24px;text-align:center;color:var(--muted)}.notice{padding:14px 18px;border-radius:12px;background:#fff5df;border:1px solid #f0dfbc;line-height:1.5;margin:16px 0}.panel p{color:var(--muted)}footer{font-size:.8rem;color:var(--muted);margin:36px 0 12px;line-height:1.6}dialog{border:1px solid var(--line);border-radius:20px;padding:26px;width:min(720px,92vw);max-height:85vh;box-shadow:0 25px 80px #16304033}dialog::backdrop{background:#17293666}.dialog-top{display:flex;justify-content:space-between;gap:18px;align-items:start}.dialog-top h2{margin:8px 0 25px}#detail-body{white-space:pre-wrap}#detail-body article{border-top:1px solid var(--line);padding:15px 0}#detail-body p{font-size:.93rem}#close-bottom{float:right;margin-top:20px}.count{color:var(--muted);font-size:.85rem;margin:20px 0}
@media(max-width:1150px){aside{width:210px}main{margin-left:210px;width:calc(100% - 210px);padding:30px 24px}.cab-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){#app{display:block}aside{position:static;width:100%;height:auto;padding:18px;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:1rem}.brand small,.aside-bottom p,.aside-bottom .pill{display:none}nav{display:flex;gap:4px;margin:18px 0 0;overflow-x:auto}nav button{font-size:.8rem;white-space:nowrap;padding:8px 10px}.aside-bottom{position:absolute;top:19px;right:18px}.aside-bottom button{font-size:.75rem;padding:8px}main{margin:0;width:100%;padding:24px 16px}h1{font-size:1.8rem}header{align-items:start}header button{font-size:.8rem;padding:8px}.stats{gap:9px}.stat{padding:13px}.stat strong{font-size:1.9rem}.stat small{font-size:.72rem}.cab-grid{gap:12px}.cab-card{padding:17px}.row{padding:17px 14px;gap:8px}.row-side{min-width:80px;font-size:.77rem}.pill{font-size:.7rem}.login{margin:7vh 18px}header p{font-size:.88rem}}

#login-fields{border:0;padding:0;margin:0;min-width:0;display:grid;gap:20px}#access-hint{font-size:.85rem}#access-hint a{color:var(--accent)}

.completion{padding:18px;border:1px solid #b8cddd;border-radius:14px;margin:18px 0}.completion textarea{display:block;width:100%;box-sizing:border-box;padding:10px;margin:8px 0 14px;font:inherit}.completion button{margin-right:10px}

#detail-body{overflow-wrap:anywhere}

.completion label{margin-top:14px}.completion select{margin-bottom:14px}
.idea-editor{display:grid;gap:16px}.idea-editor textarea{display:block;width:100%;margin-top:7px;padding:10px;font:inherit;border:1px solid #cbd6dd;border-radius:9px;resize:vertical}.idea-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}summary{cursor:pointer;padding:12px 0;font-weight:600;font-size:.9rem}.idea-editor details label{margin:12px 0}.provision-controls{display:flex;flex-wrap:wrap;gap:10px}@media(max-width:550px){.idea-grid{grid-template-columns:1fr}}

.system-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.system-option{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;padding:14px;background:#fff}.system-option input{width:20px;min-height:20px;height:20px;flex:0 0 20px;margin:0;accent-color:var(--accent)}.system-option small{font-weight:400;margin-top:4px}.system-options details{grid-column:1/-1}.system-options details .system-option{margin-top:8px}@media(max-width:550px){.system-options{grid-template-columns:1fr}}

aside{overflow-y:auto}nav{margin-top:26px;gap:4px}.aside-bottom{padding-top:20px}.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:24px 0}.profile-grid h3{margin-top:0}.profile-grid small{margin:14px 0}.profile-grid button{margin-top:8px}.profile-grid .panel{padding:20px}@media(max-width:760px){aside{overflow-y:visible}.aside-bottom{padding-top:0}.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.removal-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:16px 0}.selectable-game{display:flex;align-items:center;border-bottom:1px solid var(--line)}.selectable-game:last-child{border-bottom:0}.selectable-game>label{padding:20px 0 20px 18px}.selectable-game input{width:22px;min-height:22px;height:22px;accent-color:var(--accent);margin:0}.selectable-game .row{border:0}.selectable-game label:has(input:checked){background:#e9f3f2}

.library-thumb{width:88px;height:66px;flex:0 0 88px;border-radius:8px;background:#edf2f4;display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--muted);font-size:.7rem}.library-thumb img{width:100%;height:100%;object-fit:contain}.media-preview{margin-top:24px;border-top:1px solid var(--line);padding-top:8px;white-space:normal}.media-fields{display:grid;grid-template-columns:100px minmax(0,1fr);gap:8px 14px;font-size:.86rem}.media-fields dt{font-weight:600;color:var(--muted)}.media-fields dd{margin:0}.media-figure{margin:16px 0 0;background:#edf2f4;border-radius:12px;padding:14px;text-align:center}.media-figure img{display:block;max-width:100%;width:auto;max-height:350px;margin:auto;object-fit:contain}.media-figure figcaption{font-size:.8rem;color:var(--muted);margin-top:10px}@media(max-width:760px){.library-thumb{width:56px;height:48px;flex-basis:56px}.media-fields{grid-template-columns:80px minmax(0,1fr)}}

.picture-form{display:grid;gap:18px;margin:20px 0}.picture-form label{display:grid;gap:8px}.picture-form details>label{margin-top:16px}.picture-form summary{cursor:pointer;padding:12px 0}

.ra-sync-panel{margin:20px 0 26px}.ra-sync-panel h2{margin-top:0}.ra-sync-panel .provision-controls{margin:18px 0}.ra-sync-panel .sync-feedback{color:var(--accent)}

.media-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.media-edit-card{border:1px solid var(--line);border-radius:12px;padding:14px;min-width:0}.media-edit-card img{width:100%;height:150px;object-fit:contain}.media-edit-card input[type=file]{width:100%;font-size:.8rem;margin-top:14px}.media-check{display:flex;align-items:center;gap:8px;margin:12px 0}.media-check input{width:20px;min-height:20px;margin:0}@media(max-width:520px){.media-edit-grid{grid-template-columns:1fr}}

.wii-control-map{display:grid;grid-template-columns:minmax(140px,1fr) minmax(0,2fr);gap:0;margin:16px 0;white-space:normal}.wii-control-map dt,.wii-control-map dd{margin:0;padding:12px 14px;border-bottom:1px solid var(--line);line-height:1.45;font-size:.92rem}.wii-control-map dt{font-weight:650;background:#edf5f5}.wii-control-map dd{background:#f7f9fa}.wii-exit{padding:16px 18px;background:#e9f3f2;border:1px solid #b8d9d7;border-radius:12px;margin:22px 0}.wii-exit p{margin-bottom:0}@media(max-width:550px){.wii-control-map{grid-template-columns:minmax(100px,1fr) minmax(0,1.6fr)}.wii-control-map dt,.wii-control-map dd{padding:10px}}

.presentation-status{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.presentation-tag{font-size:12px;line-height:1.4;padding:3px 8px;border-radius:8px;border:1px solid #cbd6dd;color:#4d616d}.presentation-tag.saved{color:#0b655c;background:#e8f5f0;border-color:#b8dbd2}.presentation-tag.missing{color:#665126;background:#f7f0e1;border-color:#dbcaa4}

.library-row{padding:0;align-items:stretch}.library-open{flex:1;min-width:0;display:flex;align-items:center;gap:20px;text-align:left;border:0;background:transparent;border-radius:0;padding:20px;white-space:normal}.library-media{flex:0 0 auto;align-self:center;margin-right:20px}@media(max-width:760px){.library-row{flex-wrap:wrap}.library-open{width:100%;flex-basis:100%;padding:16px}.library-media{margin:0 16px 16px}}
/* Suggestions and exact test evidence are separate from delivery controls. */
.cab-recommendation{border:1px solid #b8d9d7;border-radius:14px;padding:16px 20px;margin:0 0 18px;background:#edf5f5}
.cab-recommendation h3{margin-top:0;font-size:1.05rem;color:#0b655c}
.cab-recommendation p:last-child{margin-bottom:0}
.cab-recommendation button{margin-left:12px}
.recommendation-label{color:#0b655c}
.recommendation-summary{margin:12px 0 20px;overflow-x:auto}
.recommendation-summary summary,.version-picker summary{cursor:pointer;font-weight:600;padding:12px 0}
.recommendation-summary table{width:100%;border-collapse:collapse;font-size:.9rem}
.recommendation-summary th,.recommendation-summary td{text-align:left;padding:10px;border-bottom:1px solid var(--line)}
.version-picker{margin-bottom:18px}
.version-picker button{display:block;margin:8px 0;width:100%;text-align:left}
.group-versions input{width:22px;height:22px;accent-color:#35becd}

/* One foldable folder for profile tests; filters and the shared journal remain intact. */
.task-workflow{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:10px 0 20px;flex-wrap:wrap}
.task-workflow p{color:var(--muted);font-size:.9rem;margin:0}
.task-folder{background:#fff;border:1px solid #b8d9d7;border-radius:16px;overflow:hidden;margin:0 0 26px}
.task-folder>summary{display:flex;align-items:center;gap:16px;padding:20px;list-style:none;margin:0;background:#edf5f5}
.task-folder>summary::-webkit-details-marker{display:none}
.task-folder-arrow{font-size:1.65rem;color:var(--accent);transition:transform .15s;line-height:1}
.task-folder[open]>summary .task-folder-arrow{transform:rotate(90deg)}
.task-folder-icon{position:relative;width:29px;height:22px;border:2px solid var(--accent);border-radius:3px;flex:0 0 29px;background:#d6ece8}
.task-folder-icon::before{content:'';position:absolute;left:-2px;top:-7px;width:15px;height:6px;border:2px solid var(--accent);border-bottom:0;border-radius:3px 3px 0 0;background:#d6ece8}
.task-folder-title{flex:1;min-width:0}.task-folder-title strong{display:block;font-size:1.1rem}.task-folder-title small{font-weight:400;margin-top:4px;white-space:normal}
.task-folder>.list{border:0;border-top:1px solid #b8d9d7;border-radius:0}
.task-folder-shortcut{color:var(--accent);font-weight:650;background:#edf5f5}
.task-folder>summary:focus-visible{outline:3px solid #2d8aaa;outline-offset:-4px}
@media(max-width:760px){.task-folder>summary{padding:18px 14px;gap:12px}.task-folder-title small{font-size:.75rem}.task-workflow button{width:100%}}

.profile-test-game{padding:18px;background:#f0f7f8;border:1px solid #c3dedf;border-radius:12px;margin:14px 0;color:#173840}.profile-test-game>small{font-weight:700;color:#37626c}.test-game-content{display:flex;gap:20px;align-items:flex-start;margin-top:10px}.test-game-content>img,.test-game-image-empty{width:156px;height:112px;object-fit:contain;background:#dcebed;border-radius:8px;flex-shrink:0}.test-game-image-empty{display:grid;place-content:center;font-size:.78rem;color:#44646c;padding:10px;box-sizing:border-box;text-align:center}.test-game-copy{min-width:0;flex:1}.test-game-copy h3{margin:0 0 8px}.test-game-copy p{margin:8px 0;line-height:1.5}.test-game-copy button{margin:5px 8px 5px 0}.profile-task-entry>.profile-test-game{margin:0 18px 18px}.profile-task-entry+.profile-task-entry{border-top:1px solid #d1dfe5}@media(max-width:600px){.test-game-content{display:block}.test-game-content>img,.test-game-image-empty{margin-bottom:14px}.profile-task-entry>.profile-test-game{margin:0 12px 14px}.test-game-copy button{display:block;width:100%;margin-right:0}}

/* Reserved status space prevents source-refresh notices moving the library. */
.library-status{height:6.5rem;margin-bottom:12px;overflow:auto;box-sizing:border-box}.library-status>small{display:block;margin:0;line-height:1.45}.library-status #library-notice{margin-top:6px;color:#37626c}.library-status #library-notice.library-status-error{color:#9d3a20}

/* Optional selected-title enrichment, separated from ROM/profile checks. */
.delivery-media{padding:14px 16px;margin:12px 0;border:1px solid var(--line);border-radius:12px;background:#f5f8fa}.delivery-media label{display:flex;flex-direction:row;align-items:center;gap:10px}.delivery-media input[type=checkbox]{width:20px;height:20px;flex:0 0 20px;margin:0}.delivery-media p{margin-bottom:0}

/* Cab readiness uses the existing profile snapshot, without extra requests. */
.cab-system-status{white-space:normal;margin:24px 0;background:#f0f7f8;border:1px solid #c3dedf;border-radius:14px;padding:18px}.cab-system-status h3{margin:0 0 10px}.cab-system-status .subtle{margin:12px 0}.cab-system-status table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.85rem}.cab-system-status th,.cab-system-status td{padding:12px 8px;text-align:left;vertical-align:top;border-bottom:1px solid #d0e2e5;overflow-wrap:anywhere;line-height:1.5}.cab-system-status thead th{color:#44646c;font-size:.75rem}.cab-system-status th:first-child{width:27%}.cab-system-status td small{margin-top:5px}.cab-system-status tbody tr:last-child>*{border-bottom:0}.cab-system-status .pill{border-radius:8px;line-height:1.4}@media(max-width:550px){.cab-system-status{padding:12px}.cab-system-status table{font-size:.75rem}.cab-system-status th,.cab-system-status td{padding:10px 5px}.cab-system-status .pill{padding:4px 6px;font-size:.68rem}}

.preview-banner{position:sticky;top:0;z-index:1000;padding:12px 18px;background:#183b38;color:#d8fff3;font-weight:700;font-size:14px;line-height:1.5;border-bottom:2px solid #63d8b2} button:disabled{opacity:.5;cursor:not-allowed}
