/* ZAJA reading system: neutral surfaces, one topic per card, consistent color roles. */
:root{
  --paper:#f3f4f0;--white:#fff;--ink:#21392e;--muted:#5c6962;
  --line:#dfe4de;--green:#16593a;--green-soft:#edf4ef;
  --amber:#85531b;--amber-bg:#fcf4e8;
  --surface-subtle:#f7f8f5;--radius-card:16px;--radius-control:10px;
  --ux-border:var(--line);--ux-soft:var(--surface-subtle);
}
body{background:#e8ece7}
.phone{background:var(--paper)}
.statusbar,#app-header,#app-nav,.home-indicator{background:#fff}
#app-header{border-bottom:1px solid var(--line)}
#app-main{line-height:1.75}
#app-nav{border-top:1px solid var(--line);padding-top:7px}
.nav-item{min-height:52px;border-radius:10px;color:var(--muted)}
.nav-item.active{color:var(--green);background:var(--green-soft)}
.nav-item.active:after{display:none}
.header-title{font-weight:650}
button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid var(--green);outline-offset:3px}
summary{cursor:pointer}
.v14-heading,.ux-design-heading,.ux-project-heading{margin:3px 0 22px}
.v14-heading h1,.ux-design-heading h1,.ux-project-heading h1{font-size:25px;line-height:1.45;letter-spacing:-.5px;margin:6px 0 7px;font-weight:650}
.v14-heading>.eyebrow,.ux-design-heading>span,.ux-project-heading>span,.ux-space-heading>span{font-size:12px;letter-spacing:0;color:var(--muted)}
.v14-heading>p,.ux-design-heading>p{font-size:13px;line-height:1.75;color:var(--muted)}
.section-title,.v14-section-head{margin:26px 0 12px}
.section-title h2,.v14-section-head h2,.ux-flow-board-head h2,.v2-report-heading h2{font-size:18px;line-height:1.6;font-weight:650;letter-spacing:-.2px}
.small,.lede,.photo-caption{line-height:1.8}
.card,.ux-room-card,.ux-flow-card,.v2-now-list,.v2-story,.v14-group,.v14-house-card,.archive-category{border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:0 2px 6px #263c2d03}
.v14-notice,.notice{background:var(--surface-subtle);border:1px solid var(--line);color:var(--muted);border-radius:12px}
.v14-notice strong{font-size:13px;color:var(--ink)}
.notice-amber{background:var(--amber-bg);color:var(--amber)}
.pill{font-size:12px;border-radius:6px;background:#f0f2ee;color:var(--muted)}
.pill-green{background:var(--green-soft);color:var(--green)}
.pill-amber{background:var(--amber-bg);color:var(--amber)}
.pill-red{background:var(--red-bg);color:var(--red)}
.button-secondary{border-color:#cfd9d0;border-radius:var(--radius-control)}

/* Large photographic entries, with all metadata grouped in their own footer. */
.ux-room-list{gap:20px}
.ux-room-card{background:#fff;overflow:hidden}
.ux-room-open:hover{background:#fff}
.ux-room-open:active{background:var(--surface-subtle)}
.ux-room-open>img{height:auto;aspect-ratio:1.5;object-fit:cover}
.ux-room-title{padding:14px 16px}
.ux-room-title strong{font-size:19px;font-weight:650;line-height:1.55}
.ux-room-title small{font-size:12px;margin-top:3px;color:var(--muted)}
.ux-room-image-label{background:#fffffff0;color:var(--green);border:1px solid #ffffffc4;font-size:12px;border-radius:7px;padding:4px 8px}
.v2-room-links{background:var(--surface-subtle);border-color:var(--line);padding:0 16px}
.v2-room-links .v2-room-site,.v2-room-links .ux-room-update{font-size:12px;min-height:48px}
.v21-room-empty{font-size:12px;color:var(--muted);padding:12px 0}
.v2-room-site:hover,.ux-room-update:hover{background:transparent;text-decoration:underline;text-underline-offset:3px}
.ux-zone-tabs{gap:8px;margin:0 0 18px;flex-wrap:wrap}
.ux-zone-tab{border:1px solid transparent;border-radius:9px;min-height:44px;padding:9px 14px;color:var(--muted)}
.ux-zone-tab[aria-pressed=true]{background:#fff;border-color:#b9cbbc;color:var(--green);font-weight:600}
.ux-zone-label select,.zone-filter select{background:#fff;border-color:var(--line);border-radius:10px;min-height:44px}

/* The tab is navigation; the image and its caption form a single reading unit. */
.v2-space .ux-space-tabs{background:var(--paper);margin-bottom:18px;border-color:var(--line);box-shadow:0 1px 0 var(--line)}
.v2-space .ux-space-tab{font-size:15px;font-weight:500}
.v2-space .ux-space-tab[aria-selected=true]{font-weight:650}
.ux-version-picker{background:#fff;border:1px solid var(--line);border-radius:9px;font-size:12px;min-height:44px}
.v2-space .ux-gallery-track,.v2-space .ux-viewer-frame{background:#e7ebe5;border:1px solid #dce2d9;border-radius:16px;overflow:hidden}
.ux-viewer-image:hover,.ux-gallery-image:hover{background:transparent}
.ux-gallery-bottom{margin-top:10px}
.ux-gallery-bottom>span,.ux-picture-meta,.ux-viewer-hint{font-size:12px;color:var(--muted);line-height:1.8}
.ux-picture-meta{margin:9px 2px 0}
.ux-viewer-hint{margin:9px 2px 0}
.ux-viewer-image-caption{background:#ffffffed;color:var(--ink);font-size:12px;border-radius:7px;padding:5px 8px}
.v21-version-reader .ux-viewer-image-caption{max-width:calc(100% - 120px)}
.v2-site-compare-button{min-height:44px;min-width:76px;font-size:12px;border-radius:10px;backdrop-filter:blur(10px)}
.v21-image-retained{position:absolute;right:10px;top:10px;padding:4px 8px;background:#fffffff0;border-radius:7px;font-size:12px;color:var(--muted)}
.v2-design-caption{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;margin:18px 0 14px}
.v2-design-caption h2{font-size:17px;line-height:1.8;margin:0 0 5px}
.ux-section-label{font-size:12px;font-weight:500;margin-bottom:8px}
.v2-caption-reason{border-top:1px solid var(--line);margin-top:12px}
.v2-caption-reason>summary{font-size:13px;padding-bottom:2px}
.v2-caption-reason>p{font-size:14px;color:var(--ink);line-height:1.85}
.ux-latest-update{background:var(--green-soft);border:1px solid #d6e3d9;border-radius:12px;padding:14px 16px;margin:14px 0;gap:12px}
.ux-latest-update strong{font-size:14px;line-height:1.7}
.ux-latest-update small{font-size:12px;line-height:1.8;margin-top:3px}
.ux-latest-update>span:last-child{font-size:12px;white-space:nowrap}
.v21-site-preview{display:flex;align-items:center;gap:12px;width:100%;padding:12px;background:#fff;border:1px solid var(--line);border-radius:14px;margin:14px 0;text-align:left}
.v21-site-preview:hover{background:var(--surface-subtle)}
.v21-site-preview>img{width:68px;height:76px;object-fit:cover;border-radius:8px;flex-shrink:0}
.v21-site-preview>span{flex:1;min-width:0}
.v21-site-preview small,.v21-site-preview strong,.v21-site-preview>span>span{display:block}
.v21-site-preview small,.v21-site-preview>span>span{font-size:12px;color:var(--muted);line-height:1.7}
.v21-site-preview strong{font-size:14px;font-weight:600;line-height:1.7;margin:3px 0}
.v21-site-preview>svg{width:14px;flex-shrink:0;color:var(--muted)}
.v2-documents-heading{font-size:18px;margin-top:26px}
.ux-space-documents{background:white;border:1px solid var(--line);border-radius:16px;margin-top:24px;overflow:hidden}
.ux-space-documents .v2-documents-heading{padding:16px 16px 10px;margin:0;font-size:16px}
.ux-space-documents .ux-disclosure{border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none;margin:0}
.ux-space-documents .ux-disclosure>summary{font-size:14px;min-height:60px}
.ux-space-documents .ux-disclosure>summary>span{font-size:12px;color:var(--muted)}
.ux-space-documents .ux-disclosure[open]>summary{background:var(--surface-subtle)}
.ux-document-link{font-size:14px;min-height:48px}
.v2-space .ux-compare-context.v2-compare-pickers{display:flex;align-items:center;justify-content:space-between;gap:4px;background:white;border:1px solid var(--line);border-radius:12px;padding:3px 8px;margin:14px 0 20px}
.v2-compare-pickers .ux-target-picker,.v2-compare-pickers .ux-baseline-picker{background:transparent;border:0;border-radius:7px;font-size:13px;padding:8px;flex:1;justify-content:center;min-width:0}
.v21-compare-direction{font-size:16px;color:var(--muted)}
.v2-story{padding:16px;line-height:1.8}
.v2-story-heading>span,.v2-story-heading>p{font-size:12px;color:var(--muted)}
.v2-story-heading h2{font-size:18px;line-height:1.65}
.v2-story-group>summary strong{font-size:15px;line-height:1.7}
.v2-story-group>summary small{font-size:12px;line-height:1.75}
.v2-story-item{background:var(--surface-subtle);border:1px solid #e6eae3;border-radius:10px}
.v2-story-field>small,.v2-story-item-head>span{font-size:12px}
.v2-story-field>div{font-size:13px}
.v2-story-reason>summary{font-size:13px}
.v2-story-cost{font-size:13px;color:var(--amber)}
.v2-selected-note{background:var(--green-soft);border:1px solid #d6e3d9;font-size:13px;padding:9px 12px}
.v2-source-details>summary{font-size:13px}
.v2-site-caption h2{font-size:17px;line-height:1.7}
.v2-site-caption>p{font-size:14px;line-height:1.85}
.ux-space-footer,.ux-note{font-size:12px;line-height:1.9;color:var(--muted)}

/* Overview, activity, dependency and detailed process are separate reading levels. */
.ux-global-overview{border:1px solid #d3ded4;border-radius:16px;padding:16px 16px 0;overflow:hidden;background:#fff;margin-bottom:18px}
.v2-overview-label{font-size:12px;color:var(--muted);margin-bottom:6px}
.ux-global-overview h2{font-size:18px;line-height:1.65;margin-bottom:14px}
.ux-overview-delivery{padding-bottom:10px;margin-bottom:0;border-bottom:1px solid var(--line);font-size:13px}
.ux-overview-delivery strong{font-size:25px;font-weight:650;letter-spacing:-.5px}
.ux-overview-delivery small{font-size:12px}
.ux-overview-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;padding:12px 0}
.ux-overview-counts>span{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:7px;font-size:12px;line-height:1.7}
.ux-overview-counts>span+span{border-left:1px solid var(--line)}
.ux-overview-counts strong{font-size:18px;font-weight:600;line-height:1.4;margin:0}
.ux-overview-counts>span:nth-child(2) strong{color:var(--green)}
.ux-overview-followups{margin:0 -16px;background:var(--amber-bg);border-top:1px solid #ecdfca}
.ux-overview-followups>summary{font-size:12px;padding:12px 16px;line-height:1.75;gap:8px}
.ux-overview-followups>summary:after{display:none}
.ux-overview-followups[open]>summary>svg{transform:rotate(90deg)}
.ux-overview-followup-list{padding:0 16px 10px}
.ux-overview-followup-list strong,.ux-overview-followup-list span{font-size:13px;line-height:1.8}
.ux-overview-followup-list small{font-size:12px;line-height:1.8}
.ux-project-tabs{border:1px solid var(--line);border-radius:11px;background:#e8ece5;padding:4px;margin:0 0 18px;gap:4px}
.ux-project-tabs>button{min-height:44px;border-radius:8px;padding:8px;font-size:14px}
.ux-project-tabs>button[aria-pressed=true]{background:white;color:var(--green);box-shadow:0 1px 4px #203c2610;font-weight:600}
.ux-project-tabs>button:after{display:none}
.v2-state-report{margin:0 0 24px}
.v2-report-heading{margin-bottom:12px}
.v2-now-list{padding:0 14px}
.v2-now-room{gap:12px;min-height:100px}
.v2-now-picture{width:72px;height:76px}
.v2-now-picture small{font-size:11px;line-height:1.6}
.v2-now-copy>strong{font-size:15px;line-height:1.7}
.v2-now-copy>span{font-size:13px;line-height:1.8}
.v2-now-copy>small{font-size:12px}
.v21-waiting{padding:0;background:#fff;border:1px solid #e6dfd2;border-radius:12px;margin-top:12px}
.v21-waiting>summary{display:flex;align-items:center;gap:12px;list-style:none;padding:10px 14px;min-height:66px}
.v21-waiting>summary:after,.v21-waiting>summary::-webkit-details-marker{display:none}
.v21-waiting>summary>span{flex:1;min-width:0;margin:0;line-height:1.7}
.v21-waiting>summary strong,.v21-waiting>summary small{display:block}
.v21-waiting>summary strong{font-size:14px;font-weight:600;color:var(--amber)}
.v21-waiting>summary small{font-size:12px;color:var(--muted);margin-top:3px}
.v21-waiting>summary>svg{width:14px;flex-shrink:0;color:var(--muted);transform:rotate(90deg)}
.v21-waiting[open]>summary>svg{transform:rotate(-90deg)}
.v21-waiting-items{padding:0 14px 4px}
.v21-waiting-items>button{display:block;width:100%;text-align:left;padding:12px 0;border-top:1px solid var(--line)}
.v21-waiting-items>button>strong,.v21-waiting-items>button>span,.v21-waiting-items>button>small{display:block}
.v21-waiting-items strong{font-size:14px;line-height:1.8}
.v21-waiting-items span{font-size:13px;line-height:1.85;color:var(--ink);margin:4px 0}
.v21-waiting-items small{font-size:12px;line-height:1.8;color:var(--muted)}
.v2-next-arrangement{background:var(--surface-subtle);border:1px solid var(--line);grid-template-columns:50px minmax(0,1fr)}
.v2-next-arrangement>span{font-size:12px;color:var(--muted)}
.v2-next-arrangement>strong{font-size:14px;line-height:1.7}
.v2-next-arrangement>small{font-size:12px;margin-top:2px}
.ux-flow-board-head{margin-top:26px}
.ux-flow-caption{font-size:12px;margin:3px 0 14px;line-height:1.8}
.ux-flow-card>summary{padding:16px}
.ux-flow-title>strong{font-size:17px;font-weight:600}
.ux-flow-title>small{font-size:12px}
.ux-flow-counts{font-size:12px;margin-top:8px}
.ux-flow-preview{background:var(--surface-subtle);padding:12px;border-radius:10px;gap:12px;margin-top:14px}
.ux-flow-current{border-left-width:2px;padding-left:10px;grid-template-columns:minmax(0,1fr) auto}
.ux-flow-current strong{font-size:14px}
.ux-flow-current em,.ux-flow-current small{font-size:12px;grid-row:auto}
.ux-flow-expand{font-size:13px;margin-top:12px;min-height:32px}
.ux-flow-step small,.ux-flow-step em{font-size:12px;line-height:1.8}
.ux-flow-step strong{font-size:14px}
.ux-project-team{background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;padding:18px 0;margin-top:24px}
.ux-project-team small{font-size:12px}
.v21-project-resources{margin:26px 0 0}
.v21-project-resources>h2{font-size:18px;line-height:1.6;margin:0 0 12px;font-weight:650}
.v21-project-resources>div{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}
.v21-project-resources .ux-project-details{border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;margin:0}
.v21-project-resources .ux-plan-support{margin:0}
.v21-project-resources .ux-plan-support>.ux-project-details:last-child{border-bottom:0}
.v21-project-resources .ux-project-details>summary{font-size:14px;min-height:58px}
.v21-project-resources .ux-project-budget summary>small{font-size:12px}
.ux-site-next,.ux-site-caption{background:var(--surface-subtle);border-color:var(--line)}
.ux-site-card-title{font-size:18px;line-height:1.7}
.ux-site-record-date,.ux-site-kind,.ux-site-status{font-size:12px}
.ux-site-card-head{gap:10px}
.ux-site-description{font-size:14px;line-height:1.85}
.ux-site-next>strong,.ux-site-next>small,.ux-site-work-row small{font-size:12px}
.ux-site-next{font-size:14px;line-height:1.8}

/* Lists share an enclosure; individual rows use separators rather than nested cards. */
.v14-group{background:#fff;overflow:hidden}
.v14-menu{padding:15px 16px;min-height:82px}
.menu-glyph,.document-glyph,.category-glyph{background:var(--green-soft);color:var(--green);border-radius:10px}
.menu-copy strong{font-size:15px;font-weight:600;line-height:1.7}
.menu-copy small{font-size:12px;line-height:1.8;margin-top:3px;color:var(--muted)}
.v14-house-card{background:#fff;padding:16px 18px}
.v14-house-card h2{font-size:21px;font-weight:600;line-height:1.6}
.v14-house-card p,.v14-house-card .eyebrow,.v14-house-card .house-address{font-size:12px;line-height:1.8}
.house-card-bottom{padding-top:12px;margin-top:14px;border-color:var(--line)}
.v14-profile{margin-bottom:20px}
.v14-search{background:#fff;border:1px solid #cdd8ce;border-radius:12px;min-height:50px;margin-bottom:20px}
.v14-search input{font-size:14px}
.archive-category-grid{display:block;border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}
.archive-category{display:grid;grid-template-columns:38px minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:12px;align-items:center;row-gap:2px;width:100%;background:#fff;padding:14px;min-height:82px;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;min-width:0}
.archive-category:last-child{border-bottom:0}
.archive-category .category-glyph{grid-column:1;grid-row:1/3;width:38px;height:38px}
.archive-category:hover{background:var(--surface-subtle)}
.archive-category strong{grid-column:2;grid-row:1;font-size:15px;font-weight:600;line-height:1.7;margin:0}
.archive-category small{grid-column:2;grid-row:2;font-size:12px;line-height:1.8;margin:0}
.archive-category .category-tail{grid-column:3;grid-row:1/3;border:0;padding:0;margin:0;font-size:12px;line-height:1.8;color:var(--muted);white-space:nowrap;display:flex;align-items:center;gap:8px}
.archive-category .category-tail svg{width:13px}
.archive-record{padding:15px 14px;gap:12px;min-height:96px}
.record-copy strong{font-size:14px;font-weight:600;line-height:1.8}
.record-copy small,.record-status{font-size:12px;line-height:1.8}
.record-status{color:var(--muted);background:transparent;padding:0;margin-top:4px}
.v15-update-card{padding:16px;gap:12px;border-radius:16px}
.v15-update-card strong{font-size:15px;line-height:1.7}
.update-copy p,.update-copy small{font-size:12px;line-height:1.85}
.home-update-entry{border-radius:16px}
.case-card .case-copy{padding:16px}
.case-card h3{font-size:18px;line-height:1.6}
.case-card .small{font-size:12px}
.home-update-entry:hover,.case-card:hover{background:#fff}

@media(max-width:360px){
  .ux-room-title{padding:13px 14px}
  .v2-room-links{padding:0 14px;gap:7px}
  .v2-room-links .v2-room-site,.v2-room-links .ux-room-update{font-size:12px}
  .v2-story{padding:14px}
  .v2-story-field>div{font-size:12px;gap:5px}
  .v2-now-picture{width:58px;height:72px}
  .v2-now-room{gap:10px}
  .ux-global-overview h2{font-size:17px}
  .archive-category{padding:14px 12px}
  .archive-category strong{font-size:15px}
  .v21-version-reader .ux-viewer-image-caption{font-size:11px;max-width:calc(100% - 110px)}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
