/* KŌZĒ PMS — light "Ink & Gold on Ivory" theme (design handoff docs/koze-design).
   Tokens + shared chrome only; screen layout follows the reference markup. */
:root{
  --bg:#F3EFE5;--panel:#FEFCF6;--rail:#171310;--line:#DDD5C3;--line-soft:#E9E3D4;
  --gold:#9A6E20;--gold-dim:#B29350;--gold-ink:#FFFDF6;
  --text:#211D15;--text-2:#5F5740;--mut:#6F6650;--mut-2:#89805F;--mut-3:#A99E7E;
  --airbnb:#B8574B;--booking:#3E5B85;--vrbo:#5F6E9E;--expedia:#3F7A72;--gvr:#5D7CA3;--inntopia:#9A6E20;
  --green:#4F8A55;--green-line:#B5D2B8;--red:#C45747;
  --serif:'Fraunces',Georgia,'Times New Roman',serif;
  --sans:'Instrument Sans',system-ui,-apple-system,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,'SF Mono',monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}
a{color:var(--text-2);text-decoration:none}
a:hover{color:var(--text)}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;text-align:left}
input,select{font:inherit;color:inherit}
::selection{background:rgba(154,110,32,.20)}
:focus-visible{outline:1px solid var(--gold);outline-offset:2px;border-radius:4px}

/* Espresso rail (scoped literals per design law — never swap with light tokens) */
.rail-nav-item{display:flex;align-items:center;gap:11px;width:100%;padding:10px 26px;font-size:12.5px;color:#8E8570;border-left:1px solid transparent;text-decoration:none}
.rail-nav-item:hover{color:#C9C2B2}
.rail-nav-item.active{color:#F6F1E4;border-left:1px solid #C6A15B;background:linear-gradient(90deg,rgba(198,161,91,.10),transparent)}
.rail-nav-item.active svg{stroke:#C6A15B}
.rail-nav-item svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.4;flex-shrink:0}

/* Kanban drag affordances */
.kanban-card{cursor:grab}
.kanban-card.dragging{opacity:.45}
.kanban-col.drop-hover{background:rgba(154,110,32,.05);border-radius:10px}

/* Assign popover */
.assign-pop{position:absolute;z-index:30;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 6px 18px rgba(33,29,21,.14);min-width:190px;padding:6px 0}
.assign-pop button{display:block;width:100%;padding:8px 14px;font-size:12px;color:var(--text-2)}
.assign-pop button:hover{background:var(--bg);color:var(--text)}

@media (max-width:900px){
  [data-rail="1"]{width:64px !important}
  [data-rail-hide="1"]{display:none !important}
  [data-rail-mark="1"]{font-size:11px !important;letter-spacing:.18em !important;padding:0 0 22px !important;text-align:center !important}
  .rail-nav-item{justify-content:center !important;padding:12px 0 !important}
  [data-screen="1"]{padding:22px 16px !important}
  [data-collapse="1"]{grid-template-columns:1fr !important}
  [data-collapse-half="1"]{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  [data-hide-tablet="1"]{display:none !important}
  [data-wrap="1"]{padding-left:20px !important;padding-right:20px !important}
}

/* ── Legacy 5 screens (prototype-v2 layouts, light-ported per README token map) ── */
.card{background:var(--panel);border:1px solid var(--line);border-radius:14px}
.eyebrow{font-size:9.5px;letter-spacing:.26em;color:var(--mut-2);text-transform:uppercase}
.mono{font-family:var(--mono);font-weight:300}
.rule-gold{height:1px;background:linear-gradient(90deg,var(--gold) 0%,#C6B37E 40%,transparent 100%)}
.screen-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:8px;gap:16px;flex-wrap:wrap}
.screen-pad{padding:36px 40px;max-width:1120px}
.screen-pad h1{font-family:var(--serif);font-size:30px;font-weight:300;letter-spacing:.01em}
.screen-pad h1 em{font-weight:400;font-style:italic}
.screen-pad h2{font-family:var(--serif);font-size:17px;font-weight:400}
.head-meta{text-align:right;font-family:var(--mono);font-size:11px;color:var(--mut);font-weight:300;line-height:1.6}
.divider{margin:22px 0 26px}
.link-caps{font-size:10px;letter-spacing:.2em;color:var(--gold)}
.pill{font-size:10px;letter-spacing:.06em;border-radius:5px;padding:3px 9px;border:1px solid;white-space:nowrap}
.pill.ok{color:var(--green);border-color:var(--green-line)}
.pill.gold{color:var(--gold);border-color:var(--gold-dim)}
.dot{width:6px;height:6px;border-radius:50%;display:inline-block;flex-shrink:0}
.p-inner{padding:20px 24px}

.hero-row{display:flex;gap:38px;align-items:flex-end;margin-bottom:30px;flex-wrap:wrap}
.revenue{font-family:var(--serif);font-weight:300;font-size:44px;line-height:1}
.revenue .cur{color:var(--gold);font-size:26px;vertical-align:15px}
.revenue .cents{font-size:22px;color:var(--mut)}
.kpis{display:flex;gap:30px;padding-bottom:6px}
.kpis>div{display:flex;flex-direction:column;gap:8px}
.kpis .v{font-family:var(--mono);font-size:19px;font-weight:300}
.kpis .sep{width:1px;background:var(--line)}
.arrival{display:flex;align-items:center;gap:14px;padding:11px 0;border-bottom:1px solid var(--line-soft)}
.arrival:last-child{border-bottom:none}
.avatar{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:12px;color:var(--text-2);flex-shrink:0}
.avatar.gold-line{border-color:var(--gold);color:var(--gold)}
.avatar.gold-fill{background:var(--gold);border-color:var(--gold);color:var(--gold-ink)}
.arrival .who{flex:1;min-width:0}
.arrival .sub{font-size:11px;color:var(--mut-2);margin-top:1px}
.arrival .dates{font-family:var(--mono);font-size:11px;color:var(--mut);font-weight:300;white-space:nowrap}
.tag-direct{font-family:var(--serif);font-style:italic;font-size:12px;color:var(--gold);margin-left:6px}
.ricky{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;margin-top:14px;gap:14px;flex-wrap:wrap}
.ricky .msg{display:flex;align-items:center;gap:12px;font-size:12.5px;color:var(--text-2)}
.ricky .msg strong{color:var(--text);font-weight:500}
.ricky .go{font-size:10px;letter-spacing:.2em;color:var(--gold);border:1px solid #C6B37E;border-radius:6px;padding:6px 14px}
.spark{color:var(--gold)}

.cal-tools{display:flex;gap:8px;align-items:center}
.tool{font-size:12px;border:1px solid var(--line);border-radius:6px;padding:5px 11px;color:var(--mut)}
.tool.gold{border-color:var(--gold-dim);color:var(--gold);font-family:var(--mono);font-size:11.5px}
.cal{margin-top:22px;overflow-x:auto}
.cal-inner{min-width:760px}
.cal-grid{display:grid;grid-template-columns:158px repeat(10,1fr);gap:2px;align-items:center}
.cal-days{margin-bottom:4px;font-family:var(--mono);font-size:11px;color:var(--mut);font-weight:300}
.cal-days div{text-align:center}
.cal-days .today{color:var(--gold)}
.cal-row{margin-bottom:2px}
.cal-name{font-size:12px;padding-right:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-2)}
.cell{height:28px;border-radius:5px;background:#EAE4D3;display:flex;align-items:center;justify-content:space-evenly;font-family:var(--mono);font-size:10px;color:var(--mut);font-weight:300}
.cell.peak{color:var(--gold)}
.bar{height:28px;border-radius:5px;display:flex;align-items:center;padding:0 9px;font-size:11px;white-space:nowrap;overflow:hidden}
.bar.airbnb{background:var(--airbnb);color:#FBEFEA}
.bar.booking{background:var(--booking);color:#E9F0FA}
.bar.direct{background:var(--gold);color:var(--gold-ink);font-weight:500}
.bar.owner{background:var(--gold-dim);color:var(--text)}
.bar.blocked{background:#E3DCC9;color:#89805F;justify-content:center}
.bar.clickable{cursor:pointer;color:inherit;text-decoration:none}
.bar.clickable:hover{filter:brightness(1.06)}
a.bar.airbnb{color:#FBEFEA}a.bar.booking{color:#E9F0FA}a.bar.direct{color:var(--gold-ink)}
.legend{display:flex;gap:18px;margin-top:16px;font-size:11px;color:var(--mut);flex-wrap:wrap}
.legend span{display:flex;align-items:center;gap:6px}
.legend i{width:10px;height:10px;border-radius:3px;display:inline-block}

.inbox-wrap{display:flex;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--panel);min-height:520px;margin-top:22px}
.conv-list{width:224px;border-right:1px solid var(--line-soft);flex-shrink:0}
.conv{width:100%;padding:12px 18px;border-top:1px solid var(--line-soft);display:block;color:inherit}
.conv:first-of-type{border-top:none}
.conv.sel{background:rgba(154,110,32,.06);border-left:2px solid var(--gold);padding-left:16px}
.conv .top{display:flex;justify-content:space-between;align-items:center;font-size:12px}
.conv .top .name{display:flex;align-items:center;gap:7px;font-weight:500;color:var(--text)}
.conv .top time{font-family:var(--mono);font-size:10px;color:var(--mut)}
.conv .prev{font-size:11px;color:var(--mut);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.thread{flex:1;display:flex;flex-direction:column;min-width:0}
.thread-head{padding:15px 20px;border-bottom:1px solid var(--line-soft);display:flex;justify-content:space-between;align-items:center;gap:10px}
.msgs{flex:1;padding:18px 20px;display:flex;flex-direction:column;gap:11px}
.bubble{max-width:76%;padding:9px 13px;font-size:12.5px;border-radius:11px;line-height:1.45}
.bubble.in{align-self:flex-start;background:#EFE9DA;color:var(--text);border-bottom-left-radius:3px}
.bubble.out{align-self:flex-end;background:#FBF8EE;border:1px solid #E0D3B2;border-bottom-right-radius:3px}
.attrib{align-self:flex-end;font-family:var(--mono);font-size:10px;color:var(--mut);display:flex;align-items:center;gap:6px}
.composer{padding:13px 20px;border-top:1px solid var(--line-soft);display:flex;gap:10px;align-items:center}
.composer .field{flex:1;background:#FBF9F1;border:1px solid var(--line);border-radius:8px;padding:9px 13px;font-size:12px;color:var(--mut-3)}
.composer .send{width:34px;height:34px;background:var(--gold);border-radius:8px;color:var(--gold-ink);display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}
.res-side{width:186px;border-left:1px solid var(--line-soft);flex-shrink:0;padding:18px 16px}
.res-side .row{display:flex;justify-content:space-between;font-size:11px;padding:6px 0;border-top:1px solid var(--line-soft)}
.res-side .row:first-of-type{border-top:none}
.res-side .row .k{color:var(--mut)}
.paid{margin-top:12px;font-size:10px;color:var(--green);border:1px solid var(--green-line);border-radius:5px;padding:4px 8px;text-align:center;letter-spacing:.08em}

/* Inbox full-screen: uncap the page, pin to viewport height, scroll inside panes */
.inbox-full{max-width:none;height:100vh;height:100dvh;display:flex;flex-direction:column;padding-bottom:28px}
.inbox-full .screen-head{flex-shrink:0}
.inbox-full .inbox-wrap{flex:1;min-height:0;margin-top:18px}
.inbox-full .conv-list{width:264px;overflow-y:auto}
.inbox-full .msgs{overflow-y:auto;min-height:0}
.inbox-full .res-side{width:220px;overflow-y:auto}

.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:16px}
.fact{padding:13px 15px}
.fact .v{font-family:var(--mono);font-size:14px;margin-top:7px;font-weight:300}
.two-col{display:grid;grid-template-columns:1.2fr 1fr;gap:13px}
.pay-row{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--line-soft);font-size:12px;gap:10px}
.pay-row:last-child{border-bottom:none}
.pay-row .amt{display:flex;gap:10px;align-items:center}
.tl{display:flex;gap:10px;font-size:12px;padding:6px 0}
.tl .t{font-family:var(--mono);font-size:10px;color:var(--mut);margin-top:2px;font-weight:300}
.tl .d{color:var(--gold)} .tl .g{color:var(--green)} .tl .n{color:var(--mut-3)}

.fin-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:13px;margin-top:22px;margin-bottom:13px}
.chan-row{display:flex;justify-content:space-between;font-size:11px;margin-bottom:5px}
.track{height:6px;background:#EAE4D3;border-radius:3px;margin-bottom:11px}
.track i{display:block;height:6px;border-radius:3px}
.side-kpi{display:flex;justify-content:space-between;align-items:center;padding:12px 15px}
.side-kpi .v{font-family:var(--mono);font-size:17px;margin-top:3px;font-weight:300}
.stmt{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--line-soft);font-size:12px;gap:10px}
.stmt:last-child{border-bottom:none}
.stmt .amt{display:flex;gap:10px;align-items:center}

@media (max-width:900px){
  .screen-pad{padding:22px 16px}
  .facts,.two-col,.fin-grid{grid-template-columns:1fr}
  .res-side{display:none}
  .conv-list{width:160px}
  .inbox-full .conv-list{width:160px}
}
