/* ==========================================================================
   Laura HQ V6 — stylesheet
   Same visual identity as V5 (warm neutrals, Cormorant Garamond + DM Sans),
   extended with components for the Business Engine, Quick Capture, Today's
   three-card layout and Low Capacity Mode.
   ========================================================================== */

:root{
  --ink:#1c1917;
  --paper:#faf8f5;
  --card:#fffdfa;
  --blush:#c9a99a;
  --sage:#8a9e8c;
  --amber:#c79a5a;
  --red:#b46e63;
  --rule:#e5dfd9;
  --muted:#807975;
  --shadow:0 14px 40px rgba(51,42,36,.08);
}

*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-weight:300}
.app{min-height:100vh}

/* ---------- top bar ---------- */
.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.15rem 1.5rem;background:rgba(250,248,245,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--rule)}
.brand{font-family:'Cormorant Garamond',serif;font-size:1.7rem;letter-spacing:.03em}
.brand em{color:var(--blush);font-weight:300}
.actions{display:flex;gap:.65rem;align-items:center}
.sync-indicator{font-size:.68rem;color:var(--red);display:inline-flex;align-items:center;gap:.3rem;white-space:nowrap}
.btn{border:1px solid var(--rule);background:var(--card);color:var(--ink);padding:.68rem .9rem;font:500 .72rem 'DM Sans';text-transform:uppercase;letter-spacing:.08em;cursor:pointer}
.btn.primary{background:var(--ink);color:white;border-color:var(--ink)}
.btn.subtle{opacity:.75}
.btn:hover{transform:translateY(-1px)}
.btn:disabled{opacity:.4;cursor:default;transform:none}

/* ---------- shell / nav ---------- */
.shell{display:grid;grid-template-columns:210px 1fr;max-width:1220px;margin:auto}
.sidebar{padding:2rem 1rem;border-right:1px solid var(--rule);min-height:calc(100vh - 69px)}
.navbtn{width:100%;border:0;background:transparent;text-align:left;padding:.8rem .9rem;margin:.15rem 0;font:400 .82rem 'DM Sans';color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:.4rem}
.navbtn.active{background:#f1ece7;color:var(--ink)}
.navbtn .badge{font-size:.6rem;background:var(--blush);color:#fff;border-radius:999px;padding:.1rem .4rem;min-width:1.1rem;text-align:center}
.navnote{margin-top:2rem;padding:.9rem;font-size:.72rem;line-height:1.55;color:var(--muted);border:1px solid var(--rule)}

main{padding:2rem;min-width:0}
.eyebrow{font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}
h1{font:300 2.5rem/1.05 'Cormorant Garamond',serif;margin:.35rem 0 .35rem}
.lede{color:var(--muted);font-size:.86rem;margin-bottom:1.6rem}
.panel{background:var(--card);border:1px solid var(--rule);box-shadow:var(--shadow);padding:1.2rem;margin-bottom:1rem}
.import-panel{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center}
.import-title{font:400 1.35rem 'Cormorant Garamond',serif}
.tiny{font-size:.72rem;color:var(--muted);line-height:1.5}
.statusline{font-size:.72rem;color:var(--sage);margin-top:.35rem}

.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);margin-bottom:1rem}
.metric{background:var(--card);padding:1.2rem}
.metric .label{font-size:.66rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.metric .value{font:300 2.2rem 'Cormorant Garamond',serif;margin-top:.4rem}
.metric .sub{font-size:.7rem;color:var(--muted);margin-top:.25rem}
.value.red{color:var(--red)}
.value.amber{color:var(--amber)}
.value.sage{color:var(--sage)}

.two{display:grid;grid-template-columns:1.15fr .85fr;gap:1rem}
.section-title{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.9rem;gap:.6rem;flex-wrap:wrap}
.section-title h2{font:400 1.25rem 'Cormorant Garamond',serif;margin:0}
.section-title span{font-size:.68rem;color:var(--muted)}

.list{border-top:1px solid var(--rule)}
.row{display:grid;grid-template-columns:60px 1fr auto;gap:.8rem;align-items:center;padding:.82rem 0;border-bottom:1px solid var(--rule)}
.datebox{text-align:center}
.datebox b{display:block;font:400 1.45rem 'Cormorant Garamond',serif}
.datebox small{font-size:.58rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.name{font-size:.84rem;font-weight:500}
.meta{font-size:.7rem;color:var(--muted);margin-top:.2rem}
.pill{font-size:.62rem;border:1px solid var(--rule);padding:.3rem .45rem;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
.pill.red{color:var(--red);border-color:#dcc0ba}
.pill.amber{color:#9b6a2b;border-color:#e3cfaf}
.pill.sage{color:#687d6b;border-color:#c7d2c8}

.barrow{display:grid;grid-template-columns:125px 1fr 35px;gap:.75rem;align-items:center;padding:.55rem 0;font-size:.76rem}
.track{height:7px;background:var(--rule)}
.fill{height:100%;background:var(--blush)}
.empty{padding:2rem;text-align:center;color:var(--muted);font-style:italic;font-size:.8rem}
.tab{display:none}
.tab.active{display:block}

.edit-card{border:1px solid var(--rule);padding:1rem;margin-bottom:.7rem;background:var(--card)}
.edit-head{display:flex;justify-content:space-between;gap:1rem}
.edit-name{font-weight:500;font-size:.88rem}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:.4rem;margin-top:.8rem}
.step{font-size:.62rem;padding:.45rem;border:1px solid var(--rule);text-align:center;cursor:pointer;color:var(--muted);background:var(--card)}
.step.done{background:#edf1ed;color:#607563;border-color:#cdd8ce}
.deadline{font-size:.7rem;color:var(--muted);margin-top:.45rem}
.alert{padding:.75rem .9rem;border-left:3px solid var(--amber);background:#fbf4e9;font-size:.76rem;line-height:1.45;margin-bottom:1rem}

/* ---------- Today: three-card priority layout ---------- */
.focus-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.9rem;margin-bottom:1rem}
.focus-card{border:1px solid var(--rule);background:var(--card);padding:1.15rem;min-height:210px;display:flex;flex-direction:column;box-shadow:var(--shadow)}
.focus-card .lane-label{font-size:.66rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);display:flex;align-items:center;gap:.4rem}
.focus-card .lane-icon{font-size:.9rem}
.focus-card .task{font:400 1.18rem 'Cormorant Garamond',serif;margin:.5rem 0 .3rem;line-height:1.25}
.focus-card .why{font-size:.74rem;color:var(--muted);line-height:1.5;margin-bottom:.6rem}
.focus-card .meta-strip{display:flex;flex-wrap:wrap;gap:.4rem .6rem;font-size:.65rem;color:var(--muted);margin-top:auto;padding-top:.5rem;border-top:1px solid var(--rule)}
.focus-card .meta-strip span{display:inline-flex;align-items:center;gap:.25rem}
.focus-card .card-actions{display:flex;gap:.5rem;margin-top:.7rem}
.focus-card .card-actions .btn{flex:1;text-align:center}
.focus-card.empty-lane{align-items:center;justify-content:center;text-align:center;color:var(--muted)}
.focus-card.empty-lane .task{font-size:.95rem}
.progress-wrap{height:5px;background:var(--rule);margin-top:.7rem}
.progress{height:100%;background:var(--sage)}

.edit-tools{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin:0 0 1rem}
.filter-btn{border:1px solid var(--rule);background:var(--card);padding:.48rem .68rem;font:500 .65rem 'DM Sans';text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.filter-btn.active{background:var(--ink);color:white;border-color:var(--ink)}
.edit-card.delivered{opacity:.72}
.edit-card.hidden-delivered{display:none}
.edit-card .steps{grid-template-columns:repeat(5,1fr)}
.step.primary-stage{border-color:#d8c2b8}
.step.done{position:relative}
.step.done:before{content:'✓ ';}
.priority-strip{display:flex;gap:.55rem;align-items:center;margin-top:.6rem;font-size:.68rem;color:var(--muted)}
.dot{width:7px;height:7px;border-radius:50%;background:var(--sage)}
.dot.red{background:var(--red)}
.dot.amber{background:var(--amber)}
.summary-line{font-size:.76rem;color:var(--muted);margin:-.4rem 0 1rem}
.mobile-only{display:none}
.complete-banner{padding:.6rem .8rem;background:#edf1ed;border:1px solid #cdd8ce;color:#607563;font-size:.72rem;margin-top:.7rem}
.quick-action{border:0;background:transparent;color:var(--blush);font:500 .66rem 'DM Sans';text-transform:uppercase;letter-spacing:.06em;padding:0;cursor:pointer}

/* ---------- Low Capacity Mode ---------- */
.capacity-toggle{display:flex;align-items:center;gap:.55rem;font-size:.72rem;color:var(--muted);cursor:pointer;user-select:none}
.capacity-toggle input{accent-color:var(--blush)}
.capacity-banner{padding:.9rem 1rem;background:#f6f0ec;border:1px solid #e6d8cf;font-size:.8rem;line-height:1.5;margin-bottom:1rem;color:#6d5c4f}
.low-capacity-grid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;margin-bottom:1rem}
@media(max-width:850px){.low-capacity-grid{grid-template-columns:1fr}}

/* ---------- collapsed "more capacity" area ---------- */
.more-capacity{margin:0 0 1.4rem}
.more-capacity>summary{cursor:pointer;font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;padding:.5rem 0;list-style:none}
.more-capacity>summary::-webkit-details-marker{display:none}
.more-capacity>summary:before{content:'+ ';color:var(--blush)}
.more-capacity[open]>summary:before{content:'– '}
.more-list{border-top:1px solid var(--rule);margin-top:.4rem}
.more-row{display:grid;grid-template-columns:1fr auto auto;gap:.6rem;align-items:center;padding:.6rem 0;border-bottom:1px solid var(--rule);font-size:.76rem}
.more-row .lane-tag{font-size:.6rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}

/* ---------- quick capture ---------- */
.capture-bar{display:flex;gap:.6rem;margin-bottom:1.2rem}
.capture-bar input{flex:1;padding:.85rem 1rem;border:1px solid var(--rule);background:var(--card);font:400 .86rem 'DM Sans';color:var(--ink)}
.capture-bar input:focus{outline:2px solid var(--blush);outline-offset:-1px}
.capture-confirm{font-size:.7rem;color:var(--sage);margin:-.8rem 0 1rem;min-height:1em}

/* ---------- Business Engine ---------- */
.engine-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media(max-width:850px){.engine-grid{grid-template-columns:1fr}}
.engine-panel h3{font:400 1.1rem 'Cormorant Garamond',serif;margin:0 0 .2rem}
.engine-panel .engine-sub{font-size:.68rem;color:var(--muted);margin-bottom:.8rem}
.task-row{display:grid;grid-template-columns:1fr auto;gap:.6rem;align-items:start;padding:.65rem 0;border-bottom:1px solid var(--rule)}
.task-row:last-child{border-bottom:0}
.task-row .task-title{font-size:.8rem;font-weight:500}
.task-row .task-meta{font-size:.66rem;color:var(--muted);margin-top:.2rem;display:flex;gap:.5rem;flex-wrap:wrap}
.task-row .task-actions{display:flex;gap:.35rem}
.task-row .task-actions button{border:1px solid var(--rule);background:var(--card);font-size:.62rem;padding:.35rem .5rem;cursor:pointer;color:var(--muted)}
.task-row .task-actions button.done-btn:hover{color:var(--sage);border-color:#cdd8ce}
.task-row .task-actions button.del-btn:hover{color:var(--red);border-color:#dcc0ba}
.mini-add{display:flex;gap:.5rem;margin-top:.8rem}
.mini-add input{flex:1;padding:.6rem .7rem;border:1px solid var(--rule);background:var(--paper);font:400 .76rem 'DM Sans'}
.balance-row{display:grid;grid-template-columns:1fr auto;gap:.6rem;padding:.55rem 0;border-bottom:1px solid var(--rule);font-size:.78rem}
.balance-row:last-child{border-bottom:0}
.balance-row .amount{font:400 1.05rem 'Cormorant Garamond',serif}

/* ---------- Inbox ---------- */
.inbox-row{border:1px solid var(--rule);background:var(--card);padding:.85rem 1rem;margin-bottom:.6rem}
.inbox-row .inbox-title{font-size:.85rem;font-weight:500;margin-bottom:.5rem}
.inbox-cats{display:flex;gap:.4rem;flex-wrap:wrap}
.inbox-cats button{border:1px solid var(--rule);background:var(--paper);font-size:.62rem;text-transform:uppercase;letter-spacing:.05em;padding:.4rem .6rem;cursor:pointer;color:var(--muted)}
.inbox-cats button:hover{color:var(--ink);border-color:var(--blush)}
.inbox-extra{margin-left:auto;display:flex;gap:.4rem}

/* ---------- settings: priority weights ---------- */
.weight-row{display:grid;grid-template-columns:1fr 110px;gap:1rem;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--rule)}
.weight-row:last-child{border-bottom:0}
.weight-row .weight-label{font-size:.8rem}
.weight-row .weight-help{font-size:.68rem;color:var(--muted);margin-top:.15rem}
.weight-row input[type=number]{width:100%;padding:.55rem;border:1px solid var(--rule);background:var(--card);font:400 .8rem 'DM Sans'}

.mapping-row{display:grid;grid-template-columns:1fr 220px;gap:1rem;align-items:center;padding:.9rem 0;border-bottom:1px solid var(--rule)}
.mapping-row:last-child{border-bottom:0}
.mapping-type{font-size:.85rem;font-weight:500}
.mapping-count{font-size:.68rem;color:var(--muted);margin-top:.2rem}
.select{width:100%;padding:.65rem;border:1px solid var(--rule);background:var(--card);font:400 .76rem DM Sans}
.template-card{border:1px solid var(--rule);padding:1rem;margin:.7rem 0}
.template-name{font:400 1.15rem Cormorant Garamond,serif;margin-bottom:.55rem}
.template-steps{display:flex;gap:.35rem;flex-wrap:wrap}
.template-step{font-size:.62rem;padding:.3rem .45rem;border:1px solid var(--rule);color:var(--muted)}
.type-badge{font-size:.62rem;color:var(--blush);text-transform:uppercase;letter-spacing:.08em;margin-top:.2rem}
.workflow-builder{margin:.8rem 0}
.workflow-step-row{display:grid;grid-template-columns:28px minmax(160px,1fr) 92px 34px 34px 34px;gap:.4rem;align-items:center;padding:.38rem 0;border-bottom:1px solid var(--rule)}
.drag-num{font-size:.68rem;color:var(--muted);text-align:center}
.step-input,.mini-input{border:1px solid var(--rule);background:var(--card);padding:.55rem;font:400 .74rem 'DM Sans';color:var(--ink)}
.mini-input{width:65px;padding:.35rem}
.delivery-radio{font-size:.64rem;color:var(--muted);white-space:nowrap}
.icon-btn{border:1px solid var(--rule);background:var(--card);height:32px;cursor:pointer}
.icon-btn:disabled{opacity:.3}
.icon-btn.danger{color:var(--red)}

.settings-subnav{display:flex;gap:.5rem;margin-bottom:1.2rem;flex-wrap:wrap}
.settings-subnav button{border:1px solid var(--rule);background:var(--card);padding:.5rem .8rem;font:500 .68rem 'DM Sans';text-transform:uppercase;letter-spacing:.06em;color:var(--muted);cursor:pointer}
.settings-subnav button.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.settings-pane{display:none}
.settings-pane.active{display:block}

@media(max-width:850px){
  .workflow-step-row{grid-template-columns:24px 1fr 82px 32px 32px 32px}
  .mapping-row{grid-template-columns:1fr}
  .focus-grid{grid-template-columns:1fr}
  .mobile-only{display:block}
  .edit-card .steps{grid-template-columns:1fr 1fr}
  .focus-card{min-height:auto}
  .shell{grid-template-columns:1fr}
  .sidebar{min-height:auto;border-right:0;border-bottom:1px solid var(--rule);display:flex;overflow:auto;padding:.5rem}
  .navbtn{width:auto;white-space:nowrap}
  .navnote{display:none}
  .grid4{grid-template-columns:1fr 1fr}
  .two{grid-template-columns:1fr}
  .import-panel{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr 1fr}
  .topbar{padding:1rem}
  .actions .btn:not(.primary){display:none}
  main{padding:1rem}
  .engine-grid{grid-template-columns:1fr}
  .capture-bar{flex-direction:column}
  .task-row{grid-template-columns:1fr}
  .weight-row{grid-template-columns:1fr}
}
