*{box-sizing:border-box;margin:0;padding:0}
body{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;background:#FAFAF8;min-height:100vh;color:#171717;font-size:14px}
input,textarea,select,button{font-family:inherit;font-size:inherit}
button{cursor:pointer}
button:hover{opacity:.82}
::-webkit-scrollbar{width:4px;height:4px}
::-webkit-scrollbar-thumb{background:#CFCFCB;border-radius:2px}

/* Layout */
.header{background:#FFFFFF;border-bottom:1px solid #E8E8E5;position:sticky;top:0;z-index:50}
.header-top{padding:0 20px;display:flex;align-items:center;gap:12px;height:50px}
.header-brand{font-size:11px;font-weight:700;color:#3D6E91;letter-spacing:.09em;text-transform:uppercase;flex-shrink:0}
.hdiv{width:1px;height:14px;background:#E8E8E5;flex-shrink:0}
.header-title{font-size:13px;font-weight:600;color:#171717;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.header-edit{font-size:11px;color:#6B6B6B;background:none;border:1px solid #E8E8E5;border-radius:3px;padding:3px 9px;flex-shrink:0}
.hpct{font-size:12px;font-weight:600;flex-shrink:0}
.hbar{width:52px;height:3px;background:#E8E8E5;border-radius:2px;overflow:hidden;flex-shrink:0}
.hbar-fill{height:100%;transition:width .4s}
.nav{padding:0 16px;display:flex;border-top:1px solid #E8E8E5}
.nav-btn{padding:8px 12px;font-size:12px;font-weight:400;color:#6B6B6B;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px}
.nav-btn.active{font-weight:600;color:#171717;border-bottom-color:#3D6E91}
.main{max-width:840px;margin:0 auto;padding:20px}

/* Onboarding */
.ob-wrap{min-height:100vh;background:#FAFAF8;display:flex;align-items:center;justify-content:center;padding:24px 16px}
.ob-inner{width:100%;max-width:500px}
.ob-accent{width:28px;height:3px;background:#3D6E91;margin-bottom:16px}
.ob-title{font-size:26px;font-weight:700;color:#171717;margin-bottom:6px;letter-spacing:0}
.ob-sub{font-size:14px;color:#6B6B6B;line-height:1.6;margin-bottom:28px}
.ob-card{background:#FFFFFF;border:1px solid #E8E8E5;border-radius:6px;padding:28px}
.ob-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.field{margin-bottom:16px}
.field.full{grid-column:1/-1}
.field label{display:block;font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:#6B6B6B;margin-bottom:5px}
.req{color:#3D6E91}
.field input,.field textarea{width:100%;padding:9px 12px;border:1px solid #E8E8E5;border-radius:3px;background:#FFFFFF;color:#171717;outline:none}
.field input:focus,.field textarea:focus{border-color:#3D6E91}
.field textarea{resize:none;line-height:1.55}
.field.err input,.field.err textarea{border-color:#3D6E91}
.ob-note{font-size:11px;color:#CFCFCB;text-align:center;margin-top:12px}

/* Dashboard */
.hero{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}
.hero-title{font-size:22px;font-weight:700;color:#171717;margin-bottom:5px;letter-spacing:0}
.hero-meta{font-size:13px;color:#6B6B6B;display:flex;flex-wrap:wrap;gap:14px}
.hero-pct{font-size:42px;font-weight:700;letter-spacing:0;line-height:1;text-align:right}
.hero-pct-lbl{font-size:10px;color:#6B6B6B;text-transform:uppercase;letter-spacing:.07em;text-align:right;margin-top:2px}
.stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:16px}
.stat-card{background:#FFFFFF;border:1px solid #E8E8E5;border-radius:6px;padding:12px 16px}
.stat-val{font-size:20px;font-weight:700;color:#171717;margin-bottom:2px}
.stat-lbl{font-size:10px;color:#6B6B6B;text-transform:uppercase;letter-spacing:.06em}
.section-lbl{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#6B6B6B;margin-bottom:14px}
.phase-row-dash{display:flex;align-items:center;gap:10px;margin-bottom:10px;cursor:pointer;padding:2px 0}
.phase-code{font-size:10px;color:#CFCFCB;width:18px;flex-shrink:0}
.prow-name{font-size:13px;color:#171717;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pbar-w{height:4px;background:#E8E8E5;border-radius:4px;overflow:hidden;flex-shrink:0;width:120px}
.pbar-f{height:100%;background:#3D6E91;border-radius:4px;transition:width .3s}
.pbar-f.done{background:#8DAA91}
.ppct{font-size:11px;font-weight:600;color:#6B6B6B;width:28px;text-align:right;flex-shrink:0}
.ppct.done{color:#8DAA91}

/* Phase cards */
.phase-card{background:#FFFFFF;border:1px solid #E8E8E5;border-radius:6px;margin-bottom:5px;overflow:hidden}
.phase-card.open{border-color:#D8E2E8}
.phase-hdr{width:100%;display:flex;align-items:center;gap:10px;padding:12px 18px;background:none;border:none;text-align:left}
.phase-toggle{font-size:16px;color:#CFCFCB;margin-left:2px;line-height:1;font-weight:300}
.phase-body{padding:0 18px 18px}
.phase-motto{font-size:14px;font-weight:400;color:#171717;line-height:1.4;padding:14px 16px;background:#FAFAF8;border-radius:4px;margin-bottom:16px}
.divider{height:1px;background:#E8E8E5;margin-bottom:14px}

/* Tasks */
.task-row{display:flex;align-items:flex-start;gap:9px;margin-bottom:8px;cursor:pointer}
.task-row.sub{padding-left:20px}
.checkbox{width:16px;height:16px;flex-shrink:0;margin-top:1px;border:1.5px solid #CFCFCB;border-radius:2px;background:transparent;display:flex;align-items:center;justify-content:center;transition:all .15s}
.checkbox.on{background:#3D6E91;border-color:#3D6E91}
.task-right{flex:1;min-width:0}
.task-line{display:flex;align-items:center;gap:6px}
.task-text{font-size:12px;color:#171717;line-height:1.45}
.task-text.done{color:#CFCFCB;text-decoration:line-through}
.task-id{color:#CFCFCB;margin-right:4px;font-size:10px}
.task-custom-marker{color:#D8E2E8;margin-right:4px}
.add-task-row{display:flex;gap:7px;margin-top:14px}
.add-inp{flex:1;padding:7px 11px;border:1px solid #E8E8E5;border-radius:3px;background:#FAFAF8;color:#171717;outline:none}
.add-inp:focus{border-color:#3D6E91}
.notes-lbl{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:#6B6B6B;margin-bottom:5px;margin-top:16px}
.notes-area{width:100%;padding:9px 11px;border:1px solid #E8E8E5;border-radius:3px;background:#FAFAF8;color:#171717;resize:none;min-height:64px;line-height:1.5;outline:none;overflow:hidden}
.notes-area:focus{border-color:#3D6E91}

/* Callout boxes */
.callout{padding:12px 14px;border-radius:4px;font-size:13px;line-height:1.5;margin-top:16px;display:flex;gap:10px;align-items:flex-start}
.callout.tip{background:#F3F6F7;border-left:3px solid #3D6E91;color:#171717}
.callout.warn{background:#FBF7ED;border-left:3px solid #D8B46A;color:#8C6D35}
.callout-icon{font-size:14px;flex-shrink:0;margin-top:1px}

/* Special tables */
.tbl-wrap{overflow-x:auto;margin:14px 0}
.tbl-lbl{font-size:11px;font-weight:600;color:#6B6B6B;margin-bottom:8px;text-transform:uppercase;letter-spacing:.06em}
.tbl{width:100%;border-collapse:collapse;font-size:12px;min-width:480px}
.tbl th{background:#FAFAF8;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#6B6B6B;padding:7px 10px;text-align:left;border-bottom:1px solid #E8E8E5}
.tbl td{border-bottom:1px solid #E8E8E5;padding:0}
.tbl tr:last-child td{border-bottom:none}
.tbl-input{width:100%;padding:8px 10px;border:none;background:transparent;color:#171717;outline:none}
.tbl-input:focus{background:#F3F6F7}
.tbl-total td{background:#FAFAF8;font-weight:600;font-size:12px;padding:7px 10px;color:#171717}

.finance-summary{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin:12px 0 18px}
.finance-card{background:#FAFAF8;border:1px solid #E8E8E5;border-radius:4px;padding:10px 12px}
.finance-card strong{display:block;font-size:16px;color:#171717;margin-bottom:2px}
.finance-card span{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#6B6B6B}
.finance-card.positive strong{color:#8DAA91}
.finance-card.negative strong{color:#8C6D35}
@media(max-width:600px){.finance-summary{grid-template-columns:1fr}}

/* Visitor tracker */
.visitor-grid{display:grid;grid-template-columns:80px repeat(14,1fr);gap:0;border:1px solid #E8E8E5;border-radius:4px;overflow:hidden;font-size:12px;margin:10px 0}
.vg-head{background:#FAFAF8;padding:7px 6px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6B6B6B;border-right:1px solid #E8E8E5;text-align:center}
.vg-head:first-child{text-align:left;padding-left:10px}
.vg-label{padding:7px 10px;font-size:12px;color:#6B6B6B;border-right:1px solid #E8E8E5;background:#FFFFFF}
.vg-cell input{width:100%;padding:6px 4px;border:none;border-right:1px solid #E8E8E5;background:transparent;text-align:center;color:#171717;outline:none;font-size:12px}
.vg-cell input:focus{background:#F3F6F7}
.visitor-total{font-size:13px;color:#171717;margin-top:8px}
.visitor-total strong{color:#3D6E91}

/* Docs */
.docs-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.doc-card{background:#FFFFFF;border:1px solid #E8E8E5;border-radius:6px;padding:13px 16px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px}
.doc-card:hover{border-color:#D8E2E8}
.doc-name{font-size:14px;font-weight:600;color:#171717;margin-bottom:2px}
.doc-subdesc{font-size:11px;color:#CFCFCB;margin-bottom:3px}
.doc-preview{font-size:12px;color:#CFCFCB;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}
.badge{font-size:11px;font-weight:600;border-radius:3px;padding:3px 8px;white-space:nowrap;border:1px solid}
.badge.not-started{background:#FAFAF8;border-color:#E8E8E5;color:#CFCFCB}
.badge.draft{background:#FBF7ED;border-color:#D8B46A;color:#8C6D35}
.badge.ready{background:#F4F7F4;border-color:#DDE8DF;color:#8DAA91}
.doc-editor{display:flex;flex-direction:column;gap:10px}
.editor-tb{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.back-btn{font-size:13px;color:#6B6B6B;background:none;border:none;padding:0}
.editor-title{font-size:15px;font-weight:600;color:#171717;flex:1}
.status-sel{font-size:11px;font-weight:600;padding:4px 9px;border-radius:3px;cursor:pointer;outline:none}
.status-sel.not-started{background:#FAFAF8;border:1px solid #E8E8E5;color:#6B6B6B}
.status-sel.draft{background:#FBF7ED;border:1px solid #D8B46A;color:#8C6D35}
.status-sel.ready{background:#F4F7F4;border:1px solid #DDE8DF;color:#8DAA91}
.editor-area{width:100%;min-height:360px;padding:15px 16px;font-size:13.5px;line-height:1.72;border:1px solid #E8E8E5;border-radius:6px;background:#FFFFFF;color:#171717;resize:vertical;outline:none}
.editor-area:focus{border-color:#3D6E91}
/* Docs bold/italic editor (C3) */
.rt-toolbar{display:flex;gap:6px;margin-bottom:8px}
.rt-btn{width:32px;height:32px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--text);cursor:pointer;font-size:14px;line-height:1;display:inline-flex;align-items:center;justify-content:center}
.rt-btn:hover{background:var(--bg)}
.editor-area[contenteditable]{white-space:pre-wrap;overflow-wrap:anywhere}
.editor-area[contenteditable]:empty::before{content:attr(data-ph);color:var(--muted)}
.editor-area[contenteditable] b{font-weight:700}
.editor-area[contenteditable] i{font-style:italic}

/* Contacts */
.contacts-tbl{background:#FFFFFF;border:1px solid #E8E8E5;border-radius:6px;overflow-x:auto}
.contacts-head{display:grid;grid-template-columns:160px 1fr 1fr 1fr;min-width:520px;background:#FAFAF8;border-bottom:1px solid #E8E8E5;padding:8px 14px}
.contacts-head span{font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:#6B6B6B}
.contact-row{display:grid;grid-template-columns:160px 1fr 1fr 1fr;min-width:520px;border-bottom:1px solid #E8E8E5}
.contact-row:last-child{border-bottom:none}
.cc{border-right:1px solid #E8E8E5;padding:0 13px;min-width:0}
.cc:last-child{border-right:none}
.cc input{width:100%;padding:9px 0;border:none;background:transparent;color:#171717;outline:none}
.cc input:focus{background:#F3F6F7;padding:9px 4px}

/* Exhibitions / Inventory / Archive */
.ex-grid{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:18px}
.ex-card{background:#FFFFFF;border:1px solid #E8E8E5;border-radius:6px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.ex-card.active{border-color:#3D6E91}
.ex-card.archived{opacity:.62}
.ex-name{font-size:15px;font-weight:700;color:#171717;margin-bottom:3px}
.ex-meta{font-size:12px;color:#6B6B6B;display:flex;gap:10px;flex-wrap:wrap}
.row-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.inventory-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
/* Toolbar layouts: heading row on top, then toggle (far left) + add button (far right). */
.inv-head-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.inv-tools-row,.ex-tools-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.ex-sort-row{margin-bottom:10px}
.ex-archive-row{display:flex;justify-content:flex-end;margin-top:14px}
.inventory-grid{display:grid;grid-template-columns:92px 1.2fr .55fr .9fr .8fr .55fr .75fr .8fr .8fr 42px;min-width:1120px;background:#FFFFFF;border:1px solid #E8E8E5;border-radius:6px;overflow:hidden}
.inv-head{background:#FAFAF8;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#6B6B6B;padding:8px 10px;border-bottom:1px solid #E8E8E5}
.inv-cell{border-bottom:1px solid #E8E8E5;border-right:1px solid #E8E8E5;min-height:42px}
.inv-cell:nth-child(10n){border-right:none}
.inv-input,.inv-select{width:100%;height:100%;padding:8px 10px;border:none;background:transparent;color:#171717;outline:none}
.inv-input:focus,.inv-select:focus{background:#F3F6F7}
.inv-img{width:44px;height:32px;object-fit:cover;border:1px solid #E8E8E5;border-radius:3px;margin:5px 10px;background:#FAFAF8}
@media(max-width:720px){.inventory-grid{font-size:12px}}

@media(max-width:600px){
  .stats{grid-template-columns:1fr 1fr}
  .docs-grid{grid-template-columns:1fr}
  .ob-grid{grid-template-columns:1fr}
  .field.full{grid-column:1}
}

/* ═══ NUDE Studio OS Design System Override ════════════════════════════════ */
:root{
  --bg:#FAFAF8;
  --card:#FFFFFF;
  --text:#171717;
  --muted:#6B6B6B;
  --border:#E8E8E5;
  --disabled:#CFCFCB;
  --accent:#3D6E91;
  --accent-soft:#F3F6F7;
  --accent-border:#D8E2E8;
  --success:#8DAA91;
  --success-soft:#F4F7F4;
  --warning:#D8B46A;
  --warning-soft:#FBF7ED;
  --error:#C97373;
  --radius:14px;
  --radius-sm:12px;
  --pad:24px;
}

*{letter-spacing:-1%}
body{
  font-family:"Red Hat Display","Helvetica Neue",Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
  font-weight:400;
  font-size:14px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
button{transition:opacity .16s ease,background .16s ease,border-color .16s ease,color .16s ease}
button:hover{opacity:.72}
input,textarea,select,button{font-family:"Red Hat Display","Helvetica Neue",Arial,sans-serif}
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:99px;border:2px solid var(--bg)}

/* Shell */
.header{
  background:rgba(250,250,248,.92);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border);
}
.header-top{
  max-width:1120px;
  margin:0 auto;
  height:64px;
  padding:0 32px;
  gap:16px;
}
.header-brand{
  color:var(--text);
  font-size:12px;
  font-weight:600;
  letter-spacing:.02em;
}
.hdiv{background:var(--border);height:20px}
.header-title{
  color:var(--muted);
  font-size:14px;
  font-weight:500;
}
.header-edit{
  border-radius:999px;
  border:1px solid var(--border);
  background:var(--card);
  color:var(--text);
  font-weight:500;
}
.header-edit{font-size:12px;padding:7px 13px}
.header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.save-status{font-size:12px;color:var(--muted);white-space:nowrap}
.file-input{display:none}
.utility-icon{
  width:34px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  font-size:17px;
  line-height:1;
}
.hpct{color:var(--accent)!important;font-weight:500}
.hbar{height:4px;background:var(--border);border-radius:999px}
.hbar-fill{background:var(--accent)!important;border-radius:999px}
.nav{
  max-width:1120px;
  margin:0 auto;
  padding:0 32px;
  border-top:1px solid var(--border);
  gap:4px;
  overflow-x:auto;
}
.nav-btn{
  padding:13px 14px 12px;
  color:var(--muted);
  font-size:13px;
  font-weight:500;
  border-bottom:1px solid transparent;
}
.nav-btn.active{
  color:var(--text);
  border-bottom-color:var(--accent);
  font-weight:600;
}
.main{
  max-width:1120px;
  padding:32px;
}

/* Onboarding */
.ob-wrap{background:var(--bg);padding:48px 24px}
.ob-inner{max-width:560px}
.ob-accent{width:36px;height:2px;background:var(--accent);margin-bottom:24px}
.ob-title{
  font-family:"Playfair Display",Georgia,serif;
  font-size:40px;
  line-height:.98;
  font-weight:600;
  color:var(--text);
  letter-spacing:0;
  margin-bottom:12px;
}
.ob-sub{
  font-size:14px;
  color:var(--muted);
  line-height:1.65;
  margin-bottom:32px;
}
.ob-card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:16px;
  padding:32px;
}
		.ob-note{color:var(--disabled);font-size:12px}
	.beta-box{
	  background:var(--bg);
	  border:1px solid var(--border);
	  border-radius:14px;
	  padding:16px;
	  margin-bottom:22px;
	}
	.ob-grid>.full{grid-column:1/-1}
	.beta-box-title{
	  font-size:14px;
	  font-weight:600;
	  color:var(--text);
	  margin-bottom:4px;
	}
	.beta-copy{
	  font-size:13px;
	  color:var(--muted);
	  line-height:1.5;
	  margin-bottom:14px;
	}
	.auth-status{
	  font-size:13px;
	  line-height:1.5;
	  color:var(--muted);
	  margin:12px 0 0;
	}
	.auth-status.ok{color:var(--accent)}
	.auth-status.err{color:var(--error)}
	.auth-email{
	  max-width:190px;
	  overflow:hidden;
	  text-overflow:ellipsis;
	  white-space:nowrap;
	  color:var(--muted);
	  font-size:12px;
	}
	.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:18px;background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:4px}
	.auth-tab{border:none;background:transparent;border-radius:999px;padding:8px 10px;font-size:13px;font-weight:600;color:var(--muted)}
	.auth-tab.active{background:var(--card);color:var(--text);box-shadow:0 1px 6px rgba(0,0,0,.05)}
	.auth-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:12px}
	.auth-link{border:none;background:transparent;color:var(--accent);font-size:13px;font-weight:600;padding:4px 6px}
	.auth-divider{display:flex;align-items:center;gap:12px;margin:16px 0;color:var(--muted);font-size:12px}
	.auth-divider::before,.auth-divider::after{content:"";flex:1;height:1px;background:var(--border)}
	.btn-google{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:44px;padding:10px 14px;background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:999px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}
	.btn-google:hover:not(:disabled){background:var(--bg);border-color:var(--active-stroke,#d8e2e8)}
	.btn-google:disabled{opacity:.55;cursor:default}
	.btn-google .g-logo{flex:0 0 auto;display:block}
	.btn-apple{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:44px;margin-top:10px;padding:10px 14px;background:#000;color:#fff;border:1px solid #000;border-radius:999px;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .15s}
	.btn-apple:hover:not(:disabled){opacity:.88}
	.btn-apple:disabled{opacity:.55;cursor:default}
	.btn-apple .apple-logo{flex:0 0 auto;display:block;margin-top:-2px}
	.auth-terms{font-size:12px;line-height:1.5;color:var(--muted);text-align:center;margin:14px 0 0}
	.auth-terms a{color:var(--accent);text-decoration:underline}
	/* Decorative animal illustrations (brand-ink line art) — top-centred per Figma.
	   LAYOUT (centring / spacing) lives here; SIZES live in the block below. */
	.epk-illo{display:block;height:auto;max-width:100%;pointer-events:none;user-select:none;-webkit-user-drag:none}
	.illo-top{margin:4px auto 22px}                                      /* per-view + sign-in dog: centred, spacing above/below */
	.illo-top-row{display:flex;justify-content:center;align-items:flex-end;gap:28px;margin:4px auto 22px} /* docs: two animals, centred row */

	/* ════════════════════════════════════════════════════════════════
	   ILLUSTRATION SIZES — edit these widths to taste, then reload.
	   One line per animal. Bigger number = bigger illustration.
	   ════════════════════════════════════════════════════════════════ */
	.illo-dog{width:300px}     /* Sign-in screen */
	.illo-utter{width:200px}   /* Exhibitions */
	.illo-cat{width:200px}     /* Progress */
	.illo-bunny{width:96px}   /* Inventory */
	.illo-wombat{width:128px}  /* Contacts */
	.illo-magpie{width:120px}  /* Docs (left) */
	.illo-fox{width:150px}     /* Docs (right) */
	@media(max-width:640px){
		/* phone sizes — tweak only if you change the desktop sizes a lot */
		.illo-dog{width:200px}
		.illo-utter,.illo-cat{width:150px}
    .illo-bunny{width:96px}
    .illo-wombat{width:104px}
		.illo-magpie{width:104px}
    .illo-fox{width:120px}
	}
	.beta-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
	.check-field{
	  display:flex;
	  align-items:flex-start;
	  gap:8px;
	  font-size:12px;
	  color:var(--muted);
	  line-height:1.45;
	  margin:-2px 0 16px;
	}
	.check-field input{margin-top:3px}
/* Type hierarchy */
.hero-title{
  font-family:"Playfair Display",Georgia,serif;
  font-size:32px;
  line-height:1.05;
  font-weight:600;
  letter-spacing:-2%;
  color:var(--text);
}
.hero-meta{font-size:14px;color:var(--muted);gap:16px}
.hero-pct{
  font-size:48px;
  font-weight:600;
  color:var(--accent)!important;
  letter-spacing:0;
}
.hero-pct-lbl,
.section-lbl,
.stat-lbl,
.tbl-lbl,
.notes-lbl{
  font-size:12px;
  font-weight:500;
  letter-spacing:.02em;
  text-transform:none;
  color:var(--muted);
}
.stat-val{font-size:24px;font-weight:600;color:var(--text)}

/* Cards / architecture */
.stat-card,
.phase-card,
.doc-card,
.contacts-tbl,
.ex-card,
.finance-card,
.ob-card,
.phase-motto{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:none;
}
.stats{gap:12px;margin-bottom:24px}
.stat-card{padding:20px}
.hero{margin-bottom:24px}
.ex-grid{gap:12px;margin-bottom:24px}
.ex-card{padding:20px 24px}
.ex-card.active{
  border-color:var(--accent-border);
  background:var(--bg);
}
.ex-card.archived{opacity:.58}
.ex-card[data-open-ex]{cursor:pointer}
.ex-name{font-family:"Playfair Display",Georgia,serif;font-size:18px;font-weight:600;letter-spacing:0;color:var(--text)}
.ex-meta{font-size:13px;color:var(--muted)}
.ex-cover{
  width:96px;
  aspect-ratio:1;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--bg);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--disabled);
  font-size:12px;
  flex-shrink:0;
  overflow:hidden;
}
.ex-cover img{width:100%;height:100%;object-fit:cover;display:block}
.ex-main{min-width:0;flex:1}
.ex-side{display:flex;align-items:center;gap:14px;flex-shrink:0}
.ex-progress{min-width:118px}
.ex-progress-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:6px}
.ex-progress-value{font-size:20px;font-weight:600;line-height:1;color:var(--accent)}
.ex-progress-label{font-size:12px;color:var(--muted)}
.ex-progress-track{height:4px;background:var(--border);border-radius:999px;overflow:hidden}
.ex-progress-fill{height:100%;background:var(--accent);border-radius:999px}
/* Exhibitions gallery view (C1): 4 columns on desktop, cover-on-top cards. */
.ex-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
.ex-gcard{position:relative;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--border);border-radius:14px;cursor:pointer}
.ex-gcard.active{border-color:var(--accent)}
.ex-gcover{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:13px 13px 0 0;background:var(--border);display:flex;align-items:center;justify-content:center}
.ex-gcover img{width:100%;height:100%;object-fit:cover;display:block}
.ex-gcover:empty::before{content:"Cover";color:var(--muted);font-size:12px}
.ex-gbody{display:flex;flex-direction:column;gap:8px;padding:14px;flex:1}
.ex-gcard .row-actions{position:absolute;top:8px;right:8px;z-index:6}
.sort-sel{height:36px;border:1px solid var(--border);border-radius:999px;background:var(--card);color:var(--text);padding:0 12px;font-size:12px;font-weight:700;cursor:pointer}
@media(max-width:1000px){.ex-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.ex-gallery{grid-template-columns:1fr}}
.progress-summary{min-width:160px}
.progress-summary-top{display:flex;align-items:baseline;justify-content:flex-end;gap:8px;margin-bottom:8px}
.progress-number{font-size:48px;font-weight:600;line-height:1;letter-spacing:0;color:var(--accent)}
.progress-label{font-size:12px;color:var(--muted)}
.progress-track{height:5px;background:var(--border);border-radius:999px;overflow:hidden}
.progress-fill{height:100%;background:var(--accent);border-radius:999px}
.row-actions{gap:8px}
.site-footer{
  max-width:1120px;
  margin:0 auto;
  padding:20px 32px 32px;
  color:var(--muted);
  font-size:12px;
  text-align:center;
}
.site-footer a{color:inherit;text-decoration:none}
.site-footer a:hover{color:var(--accent);opacity:1}

/* Buttons */
.utility-btn,
.header-edit{
  background:var(--card);
  color:var(--text);
  border-color:var(--border);
  padding:8px 13px;
  font-size:12px;
  border-radius:999px;
}
.utility-btn{padding:7px 12px;font-size:12px}
.back-btn{
  color:var(--muted);
  font-weight:500;
}

/* Forms */
.field{margin-bottom:20px}
.field label{
  font-size:12px;
  font-weight:500;
  letter-spacing:.02em;
  text-transform:none;
  color:var(--muted);
  margin-bottom:8px;
}
.field input,.field textarea,
.add-inp,
.notes-area,
.editor-area,
.tbl-input,
.inv-input,
.inv-select,
.cc input,
.status-sel{
  border-radius:12px;
  border:1px solid var(--border);
  background:var(--card);
  color:var(--text);
  outline:none;
}
.field input,.field textarea{padding:13px 14px}
.add-inp{padding:11px 14px}
.notes-area{padding:14px;min-height:88px;background:var(--card)}
.editor-area{
  min-height:420px;
  padding:24px;
  font-size:14px;
  line-height:1.72;
  border-radius:16px;
}
.field input:focus,.field textarea:focus,
.add-inp:focus,.notes-area:focus,.editor-area:focus,
.tbl-input:focus,.inv-input:focus,.inv-select:focus,.cc input:focus{
  border-color:var(--accent-border);
  background:var(--card);
  box-shadow:0 0 0 3px rgba(61,110,145,.055);
}
.field.err input,.field.err textarea{border-color:var(--error)}
.status-sel{padding:8px 12px;border-radius:999px}

/* Phases and tasks */
.phase-card{margin-bottom:10px;overflow:hidden}
.phase-card.open{border-color:var(--accent-border)}
.phase-hdr{
  padding:18px 22px;
  gap:14px;
}
.phase-code{
  color:var(--disabled);
  font-size:12px;
  width:28px;
}
.phase-toggle{color:var(--muted);font-size:18px}
.phase-body{padding:0 22px 22px}
.phase-motto{
  background:var(--bg);
  padding:20px;
  font-size:16px;
  line-height:1.28;
  font-weight:400;
  letter-spacing:-4%;
  margin-bottom:20px;
}
.divider{background:var(--border);margin-bottom:18px}
.task-row{
  gap:12px;
  margin-bottom:11px;
  padding:2px 0;
}
.checkbox{
  width:18px;
  height:18px;
  border:1px solid var(--border);
  border-radius:6px;
}
.checkbox.on{
  background:var(--accent);
  border-color:var(--accent);
}
.task-text{
  font-size:14px;
  line-height:1.5;
  color:var(--text);
}
.task-text.done{color:var(--disabled)}
.task-id,
.task-custom-marker{color:var(--disabled);font-size:12px}
.add-task-row{gap:10px;margin-top:20px}

/* Progress */
.pbar-w,
.hbar{
  background:var(--border)!important;
}
.pbar-f,
.hbar-fill{
  background:var(--accent)!important;
}
.ppct,
.ppct.done{
  color:var(--muted);
  font-weight:500;
}
.phase-row-dash{
  padding:8px 0;
  gap:14px;
}
.prow-name{font-size:14px;color:var(--text)}
.phase-row-dash:hover .prow-name{color:var(--accent)}

/* Tables */
.tbl-wrap{margin:20px 0}
.tbl{
  border-collapse:separate;
  border-spacing:0;
  min-width:640px;
  border:1px solid var(--border);
  border-radius:14px;
  overflow:hidden;
  background:var(--card);
}
.tbl th{
  background:var(--bg);
  color:var(--muted);
  font-size:12px;
  font-weight:500;
  text-transform:none;
  letter-spacing:.01em;
  padding:12px 14px;
  border-bottom:1px solid var(--border);
}
.tbl td{border-bottom:1px solid var(--border)}
.tbl-input{
  border:none;
  border-radius:0;
  padding:12px 14px;
  background:transparent;
}
.tbl-total td{
  background:var(--bg);
  font-weight:500;
  padding:12px 14px;
  color:var(--text);
}

/* Finance / status */
.finance-summary{gap:12px;margin:16px 0 24px}
.finance-card{background:var(--card);padding:18px}
.finance-card strong{font-size:18px;font-weight:600;color:var(--text)}
.finance-card span{font-size:12px;letter-spacing:.01em;text-transform:none;color:var(--muted)}
.finance-card.positive strong{color:var(--success)}
.finance-card.negative strong{color:var(--warning)}
.badge{
  border-radius:999px;
  padding:5px 10px;
  font-size:12px;
  font-weight:500;
}
.badge.not-started{background:var(--bg);border-color:var(--border);color:var(--muted)}
.badge.draft{background:var(--warning-soft);border-color:var(--warning);color:#8C6D35}
.badge.ready{background:var(--success-soft);border-color:#DDE8DF;color:var(--success)}

/* Docs */
.docs-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.doc-card{
  padding:20px;
  min-height:104px;
}
.doc-card:hover{
  border-color:var(--accent-border);
  background:var(--card);
}
.doc-name{font-family:"Playfair Display",Georgia,serif;font-size:18px;font-weight:600;letter-spacing:0;color:var(--text)}
.doc-subdesc{font-size:13px;color:var(--muted);margin-top:4px}
.doc-preview{font-size:13px;color:var(--disabled);max-width:260px}
.editor-tb{gap:12px;margin-bottom:8px}
.editor-title{font-family:"Playfair Display",Georgia,serif;font-size:18px;font-weight:600;color:var(--text)}
.editor-count{font-size:12px;color:var(--muted);text-align:left;margin-top:-4px}

/* Contacts */
.contacts-tbl{border-radius:14px}
.contacts-head{
  background:var(--bg);
  border-bottom:1px solid var(--border);
  padding:12px 16px;
}
.contacts-head span{
  font-size:12px;
  font-weight:500;
  text-transform:none;
  letter-spacing:.01em;
  color:var(--muted);
}
.contact-row{border-bottom:1px solid var(--border)}
.cc{border-right:1px solid var(--border);padding:0 14px}
.cc input{
  border:none;
  border-radius:0;
  padding:13px 0;
}
.cc input:focus{padding:13px 6px;background:var(--bg)}

/* Inventory */
.inventory-toolbar{margin-bottom:16px}
.inventory-grid{
  grid-template-columns:96px 1.15fr .55fr .85fr .75fr .55fr .7fr .85fr .8fr 42px;
  min-width:1180px;
  background:var(--card);
  border-color:var(--border);
  border-radius:14px;
  overflow:hidden;
}
.inv-head{
  background:var(--bg);
  color:var(--muted);
  font-size:12px;
  font-weight:500;
  text-transform:none;
  letter-spacing:.01em;
  padding:12px 14px;
  border-bottom:1px solid var(--border);
}
.inv-cell{
  border-bottom:1px solid var(--border);
  border-right:1px solid var(--border);
  min-height:48px;
}
.inv-input,.inv-select{
  border:none;
  border-radius:0;
  padding:12px 14px;
  background:transparent;
}
.inv-img{
  width:56px;
  height:56px;
  border-color:var(--border);
  border-radius:10px;
  margin:7px auto 6px;
  background:var(--bg);
}
.inv-image-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:7px 8px;min-height:86px}
.inv-image-placeholder{width:56px;height:56px;border:1px dashed var(--border);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--disabled);font-size:11px;background:var(--bg)}
.inv-upload{border:none;background:transparent;color:var(--accent);font-size:11px;font-weight:600;padding:0}
.inventory-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.inventory-summary-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px}
.inventory-summary-card strong{display:block;font-size:22px;font-weight:600;color:var(--text);margin-bottom:2px}
.inventory-summary-card span{font-size:12px;color:var(--muted)}

/* Callouts */
.callout{
  border-radius:14px;
  padding:16px;
  border-left:1px solid;
  font-size:14px;
  background:var(--bg);
}
.callout.tip{
  background:var(--accent-soft);
  border-left-color:var(--accent-border);
  color:var(--text);
}
.callout.warn{
  background:var(--warning-soft);
  border-left-color:var(--warning);
  color:#8C6D35;
}
.callout-icon{
  filter:grayscale(1);
  opacity:.55;
}

/* Visitor tracker */
.visitor-grid{
  border-color:var(--border);
  border-radius:14px;
  overflow:hidden;
}
.vg-head{
  background:var(--bg);
  color:var(--muted);
  border-right:1px solid var(--border);
  font-weight:500;
  text-transform:none;
}
.vg-label{color:var(--muted);border-right:1px solid var(--border)}
.vg-cell input{border-right:1px solid var(--border)}
.visitor-total strong{color:var(--accent)}

/* Motion */
.phase-card,.doc-card,.ex-card,.stat-card{
  transition:background .16s ease,border-color .16s ease,opacity .16s ease,transform .16s ease;
}

/* Responsive */
	@media(max-width:760px){
	  .header-top,.nav,.main{padding-left:20px;padding-right:20px}
	  .header-top{height:auto;min-height:64px;flex-wrap:wrap;padding-top:14px;padding-bottom:10px}
	  .nav{padding-top:0}
	  .main{padding-top:24px}
	  .hero{gap:16px;flex-direction:column}
	  .hero-pct{text-align:left}
	  .hero-pct-lbl{text-align:left}
	  .stats,.docs-grid{grid-template-columns:1fr}
	  .beta-grid{grid-template-columns:1fr}
	}


/* Workflow refinement additions */
.nav-doc-wrap{position:relative;display:flex;align-items:stretch}
.docs-menu{position:absolute;top:100%;left:0;min-width:240px;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:8px;display:none;z-index:80}
.nav-doc-wrap:hover .docs-menu,.nav-doc-wrap:focus-within .docs-menu{display:block}
.docs-menu button{display:block;width:100%;text-align:left;border:none;background:transparent;color:var(--text);font-size:13px;font-weight:500;padding:9px 10px;border-radius:10px}
.docs-menu button:hover{background:var(--bg);opacity:1}
.phase-card.complete{border-color:#DDE8DF;background:var(--success-soft)}
.phase-card.complete .phase-hdr{background:var(--success-soft)}
.phase-card.complete .checkbox.on{background:var(--success);border-color:var(--success)}
.checklist-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.task-edit{width:100%;border:none;background:transparent;color:var(--text);font-size:14px;line-height:1.5;outline:none;padding:0}
.task-edit.done{color:var(--disabled);text-decoration:line-through}
.task-actions{display:flex;gap:6px;align-items:center;margin-left:4px}
.task-delete{border:none;background:transparent;color:var(--disabled);font-size:16px;line-height:1;padding:2px 4px;border-radius:8px}
.task-delete:hover{background:var(--warning-soft);color:var(--error);opacity:1}
.empty-state{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:18px 20px;color:var(--muted);font-size:13px}
.danger-zone{margin-top:28px;padding-top:18px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:16px}
.danger-copy{font-size:13px;color:var(--muted);line-height:1.5}
.toast{position:fixed;right:18px;bottom:18px;z-index:200;background:var(--text);color:var(--card);border-radius:999px;padding:10px 14px;font-size:13px;box-shadow:0 10px 30px rgba(0,0,0,.12);opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .18s ease,transform .18s ease}
.toast.show{opacity:1;transform:translateY(0)}
@media(max-width:760px){.docs-menu{left:auto;right:0}.ex-card{align-items:flex-start;flex-direction:column}.ex-cover{width:100%}.ex-side{width:100%;align-items:flex-start;flex-direction:column}.ex-progress,.progress-summary{width:100%}.progress-summary-top{justify-content:flex-start}.inventory-summary{grid-template-columns:1fr}.danger-zone{align-items:flex-start;flex-direction:column}}


/* Docs submenu fix: keep dropdown visible outside the horizontal nav bar */
.nav{overflow:visible!important;position:relative;z-index:90}
.nav-doc-wrap{position:relative;display:flex;align-items:flex-start;overflow:visible}
.docs-menu{
  position:absolute;
  top:calc(100% - 1px);
  left:0;
  min-width:260px;
  background:var(--card,#FFFFFF);
  border:1px solid var(--border,#E8E8E5);
  border-radius:14px;
  padding:8px;
  display:block;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  z-index:999;
}
.nav-doc-wrap:hover .docs-menu,
.nav-doc-wrap:focus-within .docs-menu,
.nav-doc-wrap.open .docs-menu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.docs-menu button{display:block;width:100%;text-align:left;border:none;background:transparent;color:var(--text,#171717);font-size:13px;font-weight:500;padding:9px 10px;border-radius:10px}
.docs-menu button:hover{background:var(--bg,#FAFAF8);opacity:1}
@media(max-width:760px){.nav{overflow-x:auto!important;overflow-y:visible!important}.docs-menu{left:auto;right:0}}

/* Refactor: IA, menus, gallery inventory, docs trackers */
.btn-primary,.btn-secondary,.btn-ghost{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:34px;
  padding:8px 14px;
  border-radius:999px;
  font-size:12px;
  font-weight:600;
  border:1px solid var(--border);
  white-space:nowrap;
}
.btn-primary{background:var(--text);border-color:var(--text);color:var(--card)}
.btn-secondary{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent)}
.btn-ghost{background:transparent;border-color:var(--border);color:var(--muted)}
.auth-submit-btn{width:100%;min-height:44px}
.icon-btn{
  width:34px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--border);
  border-radius:999px;
  background:var(--card);
  color:var(--text);
  font-size:16px;
  line-height:1;
}
.section-top,.toolbar-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.description-card{margin-top:16px}
.active-badge{display:inline-flex;margin-left:8px;padding:3px 8px;border-radius:999px;background:var(--accent-soft);border:1px solid var(--accent-border);color:var(--accent);font-family:"Red Hat Display",sans-serif;font-size:11px;font-weight:700;vertical-align:middle}
.ex-card.active{
  border-left:6px solid var(--accent);
  background:var(--accent-soft);
  box-shadow:inset 0 0 0 1px var(--accent-border);
}
.exhibition-list-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:12px;
}
.compact-actions{
  margin:0;
  flex-shrink:0;
}
.archive-toggle{
  color:var(--muted);
  border-color:var(--border);
  background:var(--bg);
}
.archive-toggle span{
  display:inline-flex;
  min-width:20px;
  height:20px;
  align-items:center;
  justify-content:center;
  margin-left:6px;
  border-radius:999px;
  background:var(--card);
  color:var(--muted);
  font-size:11px;
  font-weight:700;
}
.archive-panel{
  margin-top:20px;
  padding-top:18px;
  border-top:1px solid var(--border);
}
.row-actions,.task-actions,.contact-actions{position:relative}
.ui-icon{
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex-shrink:0;
}
.btn-primary,.btn-secondary,.btn-ghost{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.icon-btn .ui-icon{width:18px;height:18px}
.menu-popover{
  position:absolute;
  right:0;
  top:calc(100% + 8px);
  min-width:180px;
  z-index:120;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:14px;
  padding:8px;
  box-shadow:0 16px 40px rgba(0,0,0,.12);
}
.menu-popover button,.menu-popover label{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  text-align:left;
  border:none;
  background:transparent;
  color:var(--text);
  font-size:13px;
  font-weight:600;
  padding:9px 10px;
  border-radius:10px;
}
.menu-popover button:hover{background:var(--bg);opacity:1}
.menu-popover .muted-action{
  color:var(--muted);
}
.menu-popover .muted-action .ui-icon{
  opacity:.72;
}
.menu-popover select,.menu-popover input{width:100%;margin-top:6px;padding:8px;border:1px solid var(--border);border-radius:10px;background:var(--card)}
.add-task-row{position:relative;align-items:flex-start}
.add-menu{left:0;right:auto;top:calc(100% + 8px);min-width:260px}
.doc-chip{border:1px solid var(--accent-border);background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700}
.phase-docs{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.metric-row{grid-template-columns:repeat(4,minmax(0,1fr))}
.segmented{display:inline-flex;border:1px solid var(--border);border-radius:999px;padding:4px;background:var(--bg)}
.segmented button{border:none;background:transparent;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:700;color:var(--muted)}
.segmented button.active{background:var(--card);color:var(--text);box-shadow:0 1px 6px rgba(0,0,0,.05)}
.art-gallery{column-count:3;column-gap:14px}
.art-card{position:relative;background:var(--card);border:1px solid var(--border);border-radius:14px;overflow:hidden;cursor:pointer;break-inside:avoid;-webkit-column-break-inside:avoid;margin:0 0 14px;width:100%}
.art-image{background:var(--bg);display:block;line-height:0}
.art-image-empty{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;color:var(--disabled);font-size:12px;line-height:normal}
.art-image img{width:100%;height:auto;display:block}
.art-edit-image img{width:100%;height:100%;object-fit:cover;display:block}
.art-menu-btn{position:absolute;top:10px;right:10px;background:rgba(255,255,255,.92)}
.art-menu{top:48px;right:10px}
.art-card-body{padding:14px}
.art-title{font-family:"Playfair Display",Georgia,serif;font-size:18px;font-weight:600;color:var(--text);margin-bottom:4px}
.art-meta{font-size:13px;color:var(--muted);min-height:20px}
.art-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}
.status-badge{border:1px solid var(--border);border-radius:999px;padding:4px 8px;font-size:11px;color:var(--muted)}
.art-editor{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:20px;margin-top:16px}
.art-edit-image{height:180px;border:1px dashed var(--border);border-radius:14px;background:var(--bg);display:flex;align-items:center;justify-content:center;color:var(--disabled);margin-bottom:10px;overflow:hidden}

/* ── Paywall modal (Phase A) ─────────────────────────────────────────────── */
.pw-overlay{position:fixed;inset:0;z-index:1000;background:rgba(23,23,23,.42);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px;overflow-y:auto}
.pw-modal{position:relative;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:36px 32px 28px;max-width:760px;width:100%;box-shadow:0 24px 60px rgba(0,0,0,.18);margin:auto}
.pw-close{position:absolute;top:14px;right:16px;width:32px;height:32px;border:none;background:transparent;color:var(--muted);font-size:22px;line-height:1;cursor:pointer;border-radius:999px}
.pw-close:hover{background:var(--bg);color:var(--text)}
.pw-title{font-family:"Playfair Display",Georgia,serif;font-size:26px;font-weight:600;color:var(--text);margin:14px 0 8px}
.pw-sub{color:var(--muted);font-size:14px;line-height:1.5;margin:0 0 24px;max-width:560px}
.pw-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.pw-card{position:relative;border:1px solid var(--border);border-radius:var(--radius-sm);padding:22px 18px;background:var(--card);display:flex;flex-direction:column;align-items:center;text-align:center}
.pw-card-rec{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 8px 24px rgba(61,110,145,.12)}
.pw-badge{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--accent);color:#fff;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:4px 10px;border-radius:999px;white-space:nowrap}
.pw-tier-name{font-family:"Playfair Display",Georgia,serif;font-size:18px;font-weight:600;color:var(--text);margin-bottom:6px}
.pw-price{display:flex;align-items:baseline;gap:5px;margin-bottom:14px}
.pw-amount{font-size:30px;font-weight:600;color:var(--text)}
.pw-once{font-size:12px;color:var(--muted)}
.pw-feats{list-style:none;padding:0;margin:0 0 18px;display:flex;flex-direction:column;gap:6px}
.pw-feats li{font-size:13px;color:var(--text)}
.pw-get{width:100%;min-height:40px}
.pw-dismiss{margin:18px auto 0;display:block}
@media(max-width:640px){
  .pw-modal{padding:30px 18px 22px}
  .pw-grid{grid-template-columns:1fr;gap:18px}
  .pw-card-rec{order:-1}
}
.inventory-summary{grid-template-columns:repeat(4,minmax(0,1fr))}
.table-scroll{overflow-x:auto;border-radius:14px}
.inventory-grid.list-view{
  grid-template-columns:1.2fr .55fr .9fr .8fr .55fr .75fr .85fr 92px;
  min-width:980px;
  border:1px solid var(--border);
}
.inventory-grid.list-view .inv-head{
  border-right:1px solid var(--border);
}
.inventory-grid.list-view .inv-head:last-of-type,
.inventory-grid.list-view .inv-cell:nth-child(8n){
  border-right:none;
}
.inventory-grid.list-view .inv-cell{
  background:var(--card);
  border-right:1px solid var(--border);
}
.inventory-grid.list-view .inv-cell:nth-last-child(-n+8){
  border-bottom:none;
}
.inv-actions{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:6px;
}
.art-sale-note,.art-variant-note{
  margin-top:8px;
  color:var(--muted);
  font-size:12px;
}
.status-badge.sold{
  background:var(--success-soft);
  border-color:#DDE8DF;
  color:var(--success);
}
.status-badge.reserved{
  background:var(--warning-soft);
  border-color:var(--warning);
  color:#8C6D35;
}
.contacts-head,.contact-row{grid-template-columns:1fr 1fr 1.15fr .9fr 1.2fr 54px;min-width:820px}
.contact-actions{display:flex;align-items:center;justify-content:center}
.contact-actions .icon-btn{
  width:36px;
  min-width:36px;
  height:36px;
  flex:0 0 36px;
  border-radius:50%;
  padding:0;
}
.doc-hint{margin-top:0;margin-bottom:8px}
.editor-tb.compact{margin-top:20px}
.variant-editor{
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid var(--border);
}
.variant-grid{
  display:grid;
  grid-template-columns:1fr .75fr .85fr .75fr .85fr 1fr 42px;
  min-width:920px;
  border:1px solid var(--border);
  border-radius:14px;
  overflow:hidden;
}
.variant-head{
  padding:11px 12px;
  background:var(--bg);
  color:var(--muted);
  font-size:12px;
  font-weight:700;
  border-right:1px solid var(--border);
  border-bottom:1px solid var(--border);
}
.variant-cell{
  min-height:46px;
  border-right:1px solid var(--border);
  border-bottom:1px solid var(--border);
  background:var(--card);
}
.variant-head:nth-child(7n),
.variant-cell:nth-child(7n){
  border-right:none;
}
.variant-grid .variant-cell:nth-last-child(-n+7){
  border-bottom:none;
}
.empty-state.compact{
  padding:14px 16px;
}

/* Phase 3: Progress cockpit */
.progress-brief{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:12px;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:14px;
  padding:22px;
  margin-bottom:14px;
}
.progress-about{
  max-width:760px;
  color:var(--muted);
  font-size:14px;
  line-height:1.65;
}
.progress-metrics{
  display:grid;
  grid-template-columns:240px minmax(0,1fr);
  gap:14px;
  align-items:stretch;
  margin-bottom:18px;
  min-width:0;
}
.tasks-completed-card,
.metrics-wrap{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:14px;
  padding:18px;
  min-width:0;
  overflow:hidden;
}
.tasks-completed-number{
  display:flex;
  align-items:baseline;
  gap:4px;
  font-size:48px;
  font-weight:700;
  line-height:1;
  color:var(--accent);
}
.tasks-completed-number span{font-size:18px;color:var(--muted);font-weight:600}
.tasks-completed-label{font-size:12px;color:var(--muted);margin:8px 0 14px}
.metrics-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
  color:var(--muted);
  font-size:12px;
  font-weight:700;
}
.metric-toggle{min-height:30px;padding:6px 12px}
.metric-row{grid-template-columns:repeat(4,minmax(0,1fr));margin:0}
.metric-row .stat-card{min-width:0}
.progress-workspace{
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  gap:16px;
  align-items:start;
  min-width:0;
}
.phase-rail{
  position:sticky;
  top:116px;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:14px;
  padding:14px;
  min-width:0;
  overflow:hidden;
}
.phase-nav{display:grid;gap:8px;min-width:0}
.phase-nav-item{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 42px;
  align-items:center;
  gap:8px;
  width:100%;
  border:1px solid transparent;
  background:transparent;
  border-radius:12px;
  padding:10px;
  color:var(--text);
  text-align:left;
}
.phase-nav-item:hover,
.phase-nav-item.active{
  opacity:1;
  background:var(--accent-soft);
  border-color:var(--accent-border);
}
.phase-nav-item.complete:not(.active){background:var(--success-soft)}
.phase-nav-name{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.phase-nav-pct{font-size:12px;color:var(--muted);text-align:right}
.phase-nav-item .phase-code{width:auto;color:var(--disabled)}
.phase-nav-item>div{grid-column:1/-1}
.task-panel{min-width:0;overflow:hidden}
.phase-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:22px 22px 0;
}
.phase-panel-head h2{
  font-family:"Playfair Display",Georgia,serif;
  font-size:26px;
  line-height:1.15;
  color:var(--text);
}
.phase-eyebrow{
  color:var(--muted);
  font-size:11px;
  font-weight:700;
  margin-bottom:4px;
}
.phase-panel-progress{display:flex;align-items:center;gap:10px;color:var(--muted);font-weight:700}
.task-line{position:relative;gap:8px}
.task-tooltip{
  position:absolute;
  left:0;
  bottom:calc(100% + 8px);
  width:min(320px,72vw);
  z-index:130;
  background:var(--text);
  color:var(--card);
  padding:10px 12px;
  border-radius:12px;
  font-size:12px;
  font-weight:500;
  line-height:1.45;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  text-align:left;
}
.task-tooltip.show{opacity:1;visibility:visible}
.task-menu{min-width:220px}
.task-menu button{justify-content:flex-start}
.add-menu{min-width:300px}
.add-menu label{
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
}
.add-menu .add-inp{width:100%;margin:0}
.add-desc{min-height:78px;resize:vertical}
@media(max-width:900px){
  .art-gallery{column-count:2}
  .progress-metrics{grid-template-columns:1fr}
  .metric-row{display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;padding-bottom:4px}
  .metric-row .stat-card{min-width:210px;scroll-snap-align:start}
  .progress-workspace{grid-template-columns:1fr}
  .phase-rail{position:static}
  .phase-nav{display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;padding-bottom:4px;max-width:100%}
  .phase-nav-item{min-width:220px;scroll-snap-align:start}
  .inventory-summary{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .section-top,.toolbar-actions,.exhibition-list-head{align-items:flex-start;flex-direction:column}
  .compact-actions{width:100%}
  .progress-brief,.tasks-completed-card,.metrics-wrap,.phase-rail{padding:16px}
  .phase-panel-head{align-items:flex-start;flex-direction:column}
  .phase-panel-progress{width:100%}
  .art-gallery{column-count:1}
  .inventory-summary{grid-template-columns:1fr}
  .nav{scrollbar-width:none}
  .nav::-webkit-scrollbar{display:none}
}

/* Delicate system tune: constrained margins, smaller hierarchy, consistent add buttons */
:root{
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:24px;
  --space-5:32px;
  --line-tight:1.18;
  --line-copy:1.62;
}
body{line-height:var(--line-copy)}
.header{
  background:rgba(255,255,255,.94);
  backdrop-filter:none;
}
.header-top{
  max-width:1120px;
  height:56px;
  padding:0 32px;
  border-bottom:none;
}
.header-brand{
  color:var(--text);
  font-size:12px;
  font-weight:600;
}
.header-title{
  color:var(--text);
  font-size:12px;
  font-weight:600;
}
.save-status,.auth-email{color:var(--muted);font-size:12px}
.utility-btn,
.btn-primary,.btn-secondary,.btn-ghost,
.auth-link,.back-btn{
  min-height:34px;
  padding:8px 14px;
  border-radius:999px;
  border:1px solid var(--border);
  font-size:12px;
  font-weight:500;
  line-height:1;
  box-shadow:none;
}
.utility-btn,.btn-ghost,.auth-link,.back-btn{
  background:var(--card);
  color:var(--muted);
}
.btn-primary{
  background:var(--text);
  border-color:var(--text);
  color:var(--card);
}
.btn-secondary{
  background:var(--bg);
  border-color:var(--border);
  color:var(--accent);
}
.utility-btn:hover,
.btn-secondary:hover,.btn-ghost:hover,.auth-link:hover,.back-btn:hover,
.nav-btn:hover{
  background:var(--accent-soft);
  color:var(--accent);
  border-color:var(--accent-border);
  opacity:1;
}
.add-action{
  gap:7px;
  min-height:34px;
  padding:8px 14px;
  font-size:12px;
  font-weight:500;
  background:var(--accent)!important;
  border-color:var(--accent)!important;
  color:var(--card)!important;
}
.add-action .ui-icon{
  width:14px;
  height:14px;
  stroke-width:1.9;
}
.add-action:hover,
.add-action:focus{
  background:#345F7E!important;
  border-color:#345F7E!important;
  color:var(--card)!important;
  opacity:1;
}
.add-menu-submit{
  justify-content:flex-start;
}
.auth-submit-btn{
  min-height:42px;
  width:100%;
}
.nav{
  max-width:1120px;
  padding:10px 32px 14px;
  gap:8px;
  border-top:1px solid var(--border);
  background:var(--card);
}
.nav-btn{
  min-height:30px;
  padding:7px 13px;
  border:1px solid var(--border);
  border-radius:999px;
  background:var(--card);
  color:var(--muted);
  font-size:12px;
  font-weight:500;
  margin:0;
}
.nav-btn.active{
  background:var(--bg);
  border-color:var(--border);
  color:var(--text);
  font-weight:500;
}
.main{
  max-width:1120px;
  padding:34px 32px 48px;
}
.ob-wrap{align-items:center;padding:48px 24px}
.ob-card,.auth-tabs,.description-card,
.progress-brief,.tasks-completed-card,.metrics-wrap,
.phase-rail,.phase-card,.doc-card,.art-card,.inventory-summary-card,.contacts-tbl{
  border-radius:14px;
}
.ob-card{
  padding:28px;
  border-color:var(--border);
}
.ob-title,.hero-title,.phase-panel-head h2,.doc-name,.editor-title{
  line-height:var(--line-tight);
}
.ob-sub,.progress-about,.doc-subdesc,.hero-meta,.art-meta,.callout{
  line-height:var(--line-copy);
}
.hero-title{
  font-size:32px;
  margin-bottom:var(--space-2);
}
.hero-meta{gap:8px;color:var(--muted);font-size:13px}
.progress-about{
  font-size:12px;
  max-width:820px;
  color:var(--text);
}
.progress-brief{
  border:none;
  background:transparent;
  padding:0;
  margin-bottom:var(--space-5);
}
.progress-brief-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:var(--space-4);
}
.progress-brief-copy{
  min-width:0;
}
.overall-progress{
  flex:0 0 auto;
  text-align:right;
  color:var(--accent);
  padding-top:2px;
}
.overall-progress-number{
  font-family:"Red Hat Display","Helvetica Neue",Arial,sans-serif;
  font-size:44px;
  font-weight:400;
  line-height:var(--line-tight);
}
.overall-progress-label{
  margin-top:2px;
  color:var(--muted);
  font-size:12px;
  line-height:1.2;
}
.progress-metrics{
  grid-template-columns:repeat(3,minmax(0,1fr));
  max-width:760px;
  gap:var(--space-4);
  margin-bottom:var(--space-5);
}
.tasks-completed-card{display:none}
.metrics-wrap{
  grid-column:1/-1;
  padding:0;
  border:none;
  background:transparent;
}
.metrics-head{display:none}
.metric-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--space-4);
}
.metric-row .stat-card:first-child{display:none}
.stat-card{
  padding:20px 22px;
  border-radius:14px;
}
.stat-val{
  font-size:24px;
  line-height:var(--line-tight);
  font-weight:500;
}
.stat-lbl{
  margin-top:var(--space-3);
  font-size:12px;
  color:var(--muted);
  text-transform:none;
}
.return-stat.positive .stat-val{
  color:var(--success);
}
.return-stat.negative .stat-val{
  color:var(--error);
}
.cover-upload{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:var(--space-3);
  align-items:center;
}
.cover-preview{
  aspect-ratio:4/3;
  border:1px dashed var(--border);
  border-radius:14px;
  background:var(--bg);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--disabled);
  overflow:hidden;
}
.cover-preview img{width:100%;height:100%;object-fit:cover;display:block}
.cover-actions{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;color:var(--muted);font-size:12px}
.ex-cover{
  background:var(--bg);
  border-style:dashed;
}
.ex-cover:empty::before{content:"Cover"}
.progress-workspace{
  grid-template-columns:260px minmax(0,1fr);
  gap:var(--space-4);
}
.phase-rail,.phase-card{
  overflow:visible;
}
.phase-nav-item{
  grid-template-columns:30px minmax(0,1fr) 44px;
  border-radius:12px;
  padding:10px 10px;
}
.phase-nav-name{font-size:14px;font-weight:600}
.phase-panel-head{
  padding:24px 24px 0;
}
.phase-panel-head h2{font-size:20px}
.phase-body{padding:0 24px 24px;overflow:visible}
.phase-motto{
  margin-top:12px;
  border:1px solid var(--border);
  border-radius:14px;
  padding:20px 24px;
  font-size:16px;
  line-height:1.31;
  color:var(--muted);
}
.task-row,.task-right,.task-line,.task-panel{
  overflow:visible;
}
.task-row{
  align-items:center;
  margin-bottom:var(--space-3);
}
.task-line{
  display:flex;
  align-items:center;
  gap:12px;
  width:100%;
}
.task-title-wrap{
  position:relative;
  display:inline-flex;
  align-items:center;
  min-width:0;
  max-width:min(42ch,calc(100vw - 250px));
}
.task-edit{
  width:auto;
  max-width:100%;
  flex:0 1 auto;
  font-size:15px;
  line-height:1.42;
  color:var(--text);
}
.task-id{display:none!important}
.checkbox{
  width:18px;
  height:18px;
  border-radius:5px;
}
.task-tooltip{
  left:50%;
  bottom:calc(100% + 10px);
  transform:translateX(-50%);
  width:min(320px,80vw);
  z-index:1000;
  border-radius:12px;
  padding:10px 12px;
  box-shadow:0 14px 34px rgba(0,0,0,.14);
}
.task-title-wrap:hover .task-tooltip,
.task-title-wrap:focus-within .task-tooltip,
.task-title-wrap.open .task-tooltip,
.task-tooltip.show{
  opacity:1;
  visibility:visible;
}
.task-actions{
  margin-left:auto;
}
.task-menu-btn{
  width:16px;
  height:16px;
  min-width:16px;
  padding:0;
  border:none;
  background:transparent;
  color:var(--text);
}
.task-menu-btn .ui-icon{
  width:16px;
  height:16px;
}
.task-menu-btn:hover,
.task-menu-btn:focus{
  background:var(--accent-soft);
  color:var(--accent);
  opacity:1;
}
.icon-btn{
  border-radius:50%;
  color:var(--text);
}
.ui-icon{
  stroke-width:1.9;
}
/* Small pencil shortcut beside the Progress title. Glyph is ~12px but the button
   keeps generous padding so it stays a usable tap target on touch. */
.title-edit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  vertical-align:top;
  margin-left:6px;
  padding:8px;
  border:none;
  background:none;
  color:var(--muted);
  cursor:pointer;
  border-radius:8px;
}
.title-edit:hover{color:var(--text);background:var(--bg)}
.title-edit .ui-icon{width:12px;height:12px;stroke-width:2.2}
.labels-sheet{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-auto-rows:minmax(126px,auto);
  border:1px dotted var(--accent-border);
  border-radius:14px;
  background:var(--card);
  overflow:hidden;
}
.label-cell{
  padding:18px;
  border-right:1px dotted var(--accent-border);
  border-bottom:1px dotted var(--accent-border);
  min-height:126px;
}
.label-cell:nth-child(2n){border-right:none}
.label-cell:nth-last-child(-n+2){border-bottom:none}
.label-cell.empty{color:var(--disabled)}
.label-artist{
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:var(--space-2);
}
.label-title{
  font-family:"Playfair Display",Georgia,serif;
  font-size:20px;
  letter-spacing:-2%;
  line-height:var(--line-tight);
  color:var(--text);
  margin-bottom:var(--space-2);
}
.label-meta,.label-price{
  font-size:12px;
  line-height:1.5;
  color:var(--muted);
}
.label-price{margin-top:var(--space-1);color:var(--text);font-weight:600}
.art-gallery{column-count:4}
@media(max-width:900px){
  .main{padding:28px 22px 42px}
  .header-top{padding:0 22px}
  .nav{padding:10px 22px 14px}
  .progress-metrics,.metric-row{grid-template-columns:1fr}
  .metric-row .stat-card:first-child{display:block}
  .progress-workspace{grid-template-columns:1fr}
  .task-title-wrap{max-width:calc(100vw - 150px)}
}
@media(max-width:600px){
  .header-top{height:auto;min-height:60px}
  .header-actions{width:100%;justify-content:space-between}
  .nav-btn{font-size:12px;padding:7px 13px}
  .hero-title{font-size:30px}
  .progress-brief-top{align-items:flex-start}
  .overall-progress-number{font-size:36px}
  .cover-upload{grid-template-columns:1fr}
  .art-gallery{column-count:2}
  .labels-sheet{grid-template-columns:1fr}
  .label-cell,.label-cell:nth-child(2n){border-right:none}
  .label-cell:nth-last-child(-n+2){border-bottom:1px dotted var(--accent-border)}
  .label-cell:last-child{border-bottom:none}
}

/* ── MOBILE OVERRIDES ≤600px ─────────────────────────────────────────────
   Changes: docs submenu hidden, task-completed-card hidden,
   stat cards horizontal carousel, phase header single line.
   Desktop is untouched. */
@media(max-width:600px){

  /* 1. Hide docs submenu flyout — Docs nav button still works */
  .docs-menu{display:none!important}

  /* 2. Hide the tasks-completed card and the task completion % stat card */
  .tasks-completed-card{display:none!important}
  .metric-row .stat-card:first-child{display:none!important}

  /* 3. Stat boxes as horizontal snap carousel */
  .metric-row{
    display:flex!important;
    flex-direction:row!important;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    gap:10px;
    padding-bottom:6px;
    /* Firefox-only scrollbar hiding; VS Code may flag this as non-standard but safe. */
    scrollbar-width:none;
  }
  .metric-row::-webkit-scrollbar{display:none}
  .metric-row .stat-card{
    flex:0 0 calc(50vw - 28px);
    scroll-snap-align:start;
    min-width:120px;
  }

  /* 4. Phase header: eyebrow visible, h2 at 24px, stacked layout */
  .phase-panel-head h2{
    font-size:20px!important;
    letter-spacing:-0.02em;
  }
}

/* Mobile stability fixes: keep the header and exhibition cards inside the viewport. */
@media(max-width:600px){
  .header-top{
    display:grid;
    grid-template-columns:auto 1px minmax(0,1fr) auto;
    align-items:center;
    gap:10px 12px;
    padding-top:0;
    padding-bottom:0;
    height:56px;
    min-height:unset;
    flex-wrap:unset;
  }
  .header-title{
    min-width:0;
  }
  .header-actions{
    grid-column:4;
    display:flex;
    align-items:center;
    gap:12px;
    flex-shrink:0;
    width:auto;
    justify-content:flex-end;
  }
  .header-actions .save-status{
    font-size:11px;
    color:var(--muted);
    white-space:nowrap;
  }
  .auth-email{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .ex-card{
    display:grid;
    grid-template-columns:72px minmax(0,1fr);
    align-items:start;
    gap:14px;
    padding:16px;
  }
  .ex-cover{
    width:72px!important;
    height:72px;
    aspect-ratio:auto;
  }
  .ex-main{
    min-width:0;
  }
  .ex-side{
    grid-column:1/-1;
    width:100%;
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    gap:12px;
  }
  .ex-progress{
    width:auto!important;
    min-width:0;
    flex:1 1 auto;
  }
  .ex-progress-top{
    min-width:0;
  }
  .ex-progress-label{
    display:none;
  }
  .section-sub{
    overflow-wrap:anywhere;
  }
  .row-actions{
    flex:0 0 auto;
  }
}
