/* Compact workspace and consistent dark navigation. */
:root{--paper:#f4f5f7;--line:#e3e6eb;--muted:#697382}
body{background:var(--paper);color:#202631}.shell{align-items:start}.shell>main{margin:0 auto;align-self:start;padding:30px 34px 56px}.shell>main>header{padding-bottom:20px;margin-bottom:22px;border-bottom-color:#e0e4e9}header .eyebrow{color:#77818f;letter-spacing:1.8px}header h1{font-size:28px;font-weight:720;letter-spacing:-.7px}header p:last-child{color:#747e8a;font-size:13px}.today{padding:7px 12px;border:1px solid #e0e4e9;border-radius:8px;background:#ffffffb3;color:#6e7784}
.shell>aside{background:#14171c;border-right:1px solid #252a31;padding:25px 16px 18px;scrollbar-width:thin;scrollbar-color:#373d47 transparent}.brand{padding:0 10px 23px}.brand-logo{outline-color:#414750}.brand b{font-size:20px}.brand small{color:#8c95a2}.nav-group{margin-bottom:16px}.nav-group>summary{color:#949daa;letter-spacing:.8px}.nav{min-height:41px;border-radius:9px;padding-top:9px;padding-bottom:9px;color:#bbc3ce}.nav:hover{background:#252b34}.nav.active{background:#fff;color:#202631;box-shadow:0 3px 10px #0002}.nav i{border-radius:5px;color:#a3adba;background:#ffffff0b}.nav.active i{background:#edf0f4;color:#646f7e}.shell>aside .user-card{border-color:#303741}.shell>aside .aside-note{border-color:#303741}
.nav[data-tab=gallery]::before,#openGalleryBtn::before{content:"";display:inline-block;width:18px;height:18px;flex:0 0 18px;background:currentColor;mask:url('/static/material-symbols/palette.svg') center/contain no-repeat;-webkit-mask:url('/static/material-symbols/palette.svg') center/contain no-repeat;vertical-align:-4px;margin-right:7px}.nav[data-tab=gallery]::before{margin-right:1px;width:20px;height:20px;flex-basis:20px}
.site-category-tabs{border-color:var(--line);border-radius:11px;padding:8px 12px;margin-bottom:20px;box-shadow:none}.site-category-tab{padding:9px 18px;font-size:13px;border-radius:7px}.site-category-tab.active{background:#252b34}.site-tab-label{color:#7c8693}.stats{gap:14px;margin-bottom:20px}.stats article{padding:18px 21px;min-height:108px;border-color:var(--line);box-shadow:0 2px 5px #20263103}.stats strong{font-size:28px;margin:4px 0}.stats .accent{background:#202630;border-color:#202630}.stats span,.stats em{color:#7a8491}
.toolbar{gap:8px;margin:14px 0}.toolbar button,.searchBtn,.dialog-actions button{min-height:37px;border-radius:8px;padding:8px 13px;font-size:12px}.toolbar button:not(.primary){border-color:#dce1e7}.toolbar .primary,.dialog-actions .primary,.searchBtn{background:#252b34;border-color:#252b34}.panel{border-color:var(--line);box-shadow:0 3px 12px #20263104;border-radius:12px}.filters{padding:18px 20px;gap:12px;background:#fff}.filters label span{color:#657080;font-size:11px;margin-bottom:7px}.filters input,.filters select{background:#fbfcfd;border-color:#dce2e9;min-height:37px}.table-actions{padding:12px 20px;background:#fbfcfd}th{background:#f7f8fa;color:#667180;font-size:11px;font-weight:600;height:43px}td{padding-top:16px;padding-bottom:16px;border-color:#edf0f3}tr:hover td{background:#fafbfd}.datecol,td small{color:#77818d}.pager{background:#fbfcfd}
.queue-panel,.article-queue{border-color:#e0e5eb;border-left-color:#69778a;border-radius:10px;padding:15px 18px}.queue-panel b{color:#353f4d}.queue-panel span{color:#74808e}.queue-buttons button{border-color:#e0e5eb;background:#f8fafc;border-radius:6px;color:#556171}.queue-buttons button:hover{background:#eef2f6}.review-state.running{color:#32639c;background:#edf4fe;border-color:#d7e5f9}.review-state.pending,.review-state.not_queued{color:#7c6332;background:#faf5e9;border-color:#eee3c8}.review-state.done,.review-state.approved{color:#307457;background:#edf7f1;border-color:#d4e9dd}.review-state.failed,.review-state.rejected{color:#a34545;background:#fff1f1;border-color:#efd5d5}
.dialog{border-radius:16px;border-color:#e2e6ec;box-shadow:0 25px 90px #11182740;padding:28px}.dialog h2{font-size:24px;color:#202631}.dialog .close{width:32px;height:32px;border-radius:8px;color:#747e8a}.dialog .close:hover{background:#f0f2f5}.dialog-actions{border-top:1px solid #e9edf2;padding-top:18px}.dialog input,.dialog textarea,.dialog select{border-color:#dce2e9}.image-group-choice{background:#f5f8fc;border-color:#dce5f0}.image-group-tools a{color:#486481}.image-group-choice select{background:white}button:focus-visible,summary:focus-visible,a:focus-visible{outline:2px solid #688ec0;outline-offset:3px}input:focus,textarea:focus,select:focus{border-color:#8da5c2;box-shadow:0 0 0 3px #688ec016}
@media(min-width:761px){.shell>aside{position:sticky;top:0;height:100vh;height:100dvh;flex-direction:column;align-items:stretch}.shell>aside nav{display:block;margin:0}.shell>aside .brand{padding-bottom:23px}.shell>aside .brand small{display:block}.shell>aside .aside-note{display:flex}}
@media(min-width:1500px){.shell>main{padding-left:44px;padding-right:44px}}@media(min-width:761px) and (max-width:1100px){.shell{grid-template-columns:210px minmax(0,1fr)}.shell>main{padding:26px 22px 45px}}@media(max-width:760px){.shell>aside{position:relative;height:auto;padding:17px}.shell>main{padding:22px 16px 40px}.shell>main>header{padding-bottom:17px;margin-bottom:18px}.brand{padding-bottom:16px}.nav-group{margin-bottom:0}.nav{padding:9px 6px;min-height:39px}.nav[data-tab=gallery] i{display:none}.stats{gap:10px}.stats article{padding:16px}.filters{padding:16px}.toolbar button{font-size:11px}.dialog{padding:22px}header h1{font-size:25px}}
/* Keep import controls visible while the form scrolls. */
#modal .dialog:has(#directTitles){width:min(760px,94vw);max-height:92vh;display:flex;flex-direction:column;overflow:hidden}#modal .dialog:has(#directTitles) #modalBody{overflow:auto;min-height:0;padding-right:8px}#modal .dialog:has(#directTitles) .dialog-actions{flex-shrink:0;margin-top:16px}#modal .dialog:has(#directTitles) textarea{min-height:180px}#modal .dialog:has(#directTitles) .image-group-choice{margin:14px 0}
