/* R02 — use the main Ensemble Rûm site's typefaces and palette. */
@font-face{font-family:"Garamond Light";src:url('fonts/garamond-light.woff2') format('woff2');font-display:swap}
:root{--ink:#17160f;--paper:#eee8da;--burgundy:#681f1b;--rule:#681f1b55;--text-font:"Garamond Light",Garamond,serif;--heading-font:Bodoni,Garamond,serif}
body{font-family:var(--text-font);font-size:16px;color:var(--ink);background:var(--paper)}
input,select,textarea,table,.sheet .grid-input,.dashboard-stats dd,.record-values{font-family:var(--text-font)}
h1,h2,h3,.layout h1,.layout h2,.layout h3,header nav,.research-link,.primary,.secondary,.control-tabs,.account-tabs,.research-database{font-family:var(--heading-font);font-weight:400}
.layout h1{font-size:32px}.layout h2{font-size:24px}.layout h3{font-size:19px}
.layout .primary,.layout .secondary{font-size:13px;letter-spacing:.025em}
.site-header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px;min-height:64px;padding:10px 4%;border-bottom:1px solid var(--rule)}
.site-header .header-start{display:flex;align-items:center;gap:10px;min-width:0}
.site-header .research-link{font-size:15px;letter-spacing:.08em;text-decoration:none;color:var(--burgundy)}
.site-header .brand{font-family:var(--heading-font);font-size:30px;margin:0;white-space:nowrap;text-align:center}
.site-header nav{justify-self:end;display:flex;flex-wrap:nowrap;gap:16px;font-size:12px;letter-spacing:.04em}
.site-header nav a{white-space:nowrap;text-decoration:none}
.site-header a:hover{text-decoration:underline;text-underline-offset:4px}
.site-header #sidebar-toggle{width:26px;height:26px;border:0;font:20px/1 serif}
.layout #research-menu{top:0;left:4%;width:210px;background:var(--paper);border-color:var(--rule)}
.layout #research-menu a{font-family:var(--heading-font);font-size:15px}
.view-account{min-height:100vh;min-height:100svh;display:flex;flex-direction:column}
.view-account>.layout{display:grid;grid-template-columns:minmax(0,1fr);place-items:center;flex:1;width:100%;margin:0}
.view-account .layout main{width:min(100%,560px);margin:auto;padding:40px 24px;text-align:center}
.view-account .layout form:not(.record-action),.view-account .account-tabs,.view-account .account-section,.view-account .notice{width:100%;max-width:440px;margin-inline:auto}
.view-account .account-tabs{justify-content:center;gap:28px;margin-bottom:24px}
.view-account .account-section{text-align:left;padding:10px 0}
.view-account form label{text-align:left;font-size:16px}
.view-account form input,.view-account form select,.view-account form textarea{font-size:16px}
.view-account form>.primary{margin-top:8px;min-width:140px}
.view-account h1{margin-bottom:24px}.view-account form h2{font-size:24px;margin-bottom:18px}
.research-intro p,.research-membership p{font-size:16px;line-height:1.6}
.research-layout main.research-main{max-width:860px}
.layout .research-home h1{font-family:var(--heading-font);font-size:38px}
.layout .research-home h2{font-family:var(--heading-font);font-size:26px}
.research-database{border-color:var(--rule);background:transparent}
.research-database-upcoming small{font-family:var(--text-font)}
.research-membership,.research-database-section{border-color:var(--rule)}
.table-controls{justify-content:flex-start;gap:8px 14px}.table-controls>form{margin-left:auto}
.column-picker{position:relative;font-size:14px}
.column-picker>summary{cursor:pointer;color:var(--burgundy);padding:5px 9px;border:1px solid var(--rule);font-family:var(--heading-font)}
.column-options{position:absolute;top:100%;left:0;z-index:12;width:240px;max-height:340px;overflow:auto;background:var(--paper);border:1px solid var(--rule);box-shadow:0 6px 18px #17160f20;padding:12px}
.column-options p{font-size:12px;margin:0 0 8px;color:#665d4b}
.column-options label{display:flex;align-items:center;gap:8px;padding:4px 0}
.column-options input{width:14px;height:14px;accent-color:var(--burgundy)}
.column-options button{margin-top:10px}
#grid-field-manager{max-width:880px;margin:8px 0 14px}
#grid-field-manager>.export-options{margin:0;padding:6px 0;border:0}
.edit-toolbar{margin:8px 0;padding:8px;gap:6px;background:#e5ddcd}
.edit-toolbar #grid-count{color:var(--burgundy)}
.sheet-scroll{max-height:75vh}
table.sheet{font-family:var(--text-font);font-size:13px;line-height:1.25;min-width:100%;width:auto}
table.sheet thead th{font-family:var(--text-font);font-size:13px;font-weight:600;height:auto;padding:5px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
table.sheet thead th[data-column]{width:170px}
table.sheet thead th[data-column="works"]{width:300px}
table.sheet thead th[data-column="_actions"]{width:160px}
table.sheet th.row-number{width:64px;padding:4px 6px;font-size:12px;white-space:nowrap;vertical-align:top}
.sheet .row-select{display:none;vertical-align:middle;width:13px;height:13px;margin:0 5px 0 0;padding:0;accent-color:var(--burgundy)}
.sheet.editing .row-select{display:inline-block}
.sheet .cell-value{min-height:0;padding:4px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25}
.sheet .cell-value[role="button"]{cursor:zoom-in}
.sheet .cell-value.expanded{white-space:pre-wrap;overflow:visible;overflow-wrap:anywhere;cursor:zoom-out}
.sheet .cell-value a{white-space:nowrap;text-underline-offset:2px}
.sheet .status-cell{padding:4px 6px;font-size:12px}
.sheet .row-actions{padding:2px 4px}
.sheet .action-dropdown{min-width:0}
.sheet .action-dropdown>summary{font:12px/1.3 var(--heading-font);padding:3px 6px}
.sheet .action-dropdown>summary::after{content:' ▾'}
.sheet .action-options a,.sheet .action-options button{font-size:12px;padding:5px 6px}
.sheet .action-options form{padding:3px}
.sheet .action-options button{border:1px solid transparent}
.layout .action-publish,.sheet .action-options .action-publish,.layout .action-approve,.sheet .action-options .action-approve{background:#285247;color:#fff8eb;border:1px solid #285247}
.layout .action-delete,.sheet .action-options .action-delete{background:#fff7f2;color:#9b2923;border:1px solid #9b2923}
.action-delete::before{content:'× ';font-family:serif}.action-publish::before{content:'↑ ';font-family:serif}
.layout .action-unpublish,.sheet .action-options .action-unpublish,.layout .action-return,.sheet .action-options .action-return{background:#f5edda;color:#735317;border:1px solid #a48648}
.layout .action-reject,.sheet .action-options .action-reject{background:#fff7f2;color:#9b2923;border:1px solid #9b2923}
.action-options button:hover{filter:brightness(.94)}
.sheet.editing .grid-input{font:13px/1.25 var(--text-font);height:26px;min-height:26px!important;min-width:0;padding:4px 6px!important;resize:vertical}
.sheet.editing textarea.grid-input:focus{height:90px}
.sheet.editing input.grid-input,.sheet.editing select.grid-input{height:26px}
.sheet tr.selected>td{background:#e6d6ba}.sheet tr.selected .cell-value{background:transparent}
.sheet tr.focused-row:not(.selected)>th:first-child{box-shadow:inset 3px 0 var(--burgundy)}
@media(max-width:640px){
 .site-header{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);padding:8px 12px;gap:6px;min-height:58px}
 .site-header .brand{font-size:24px}.site-header .research-link{font-size:12px;letter-spacing:0}
 .site-header .header-start{gap:3px}.site-header nav{gap:5px;font-size:11px;flex-direction:column;align-items:flex-end}
 .site-header nav a:last-child{max-width:100%;white-space:normal;text-align:right}
 .layout #research-menu{left:12px}.view-account .layout main{padding:28px 20px}
 .column-options{width:220px}.table-controls{gap:7px}.layout h1{font-size:28px}
}
@media(max-width:380px){.site-header .brand{font-size:21px}.site-header .research-link{font-size:11px}.site-header #sidebar-toggle{width:20px;font-size:17px}}
