/* Georgia Top Floors UI System — v2.0 */
:root{
  --gtf-gold:#ad8400;
  --gtf-gold-hover:#987300;
  --gtf-gold-soft:#f7efd8;
  --gtf-gold-pale:#fcf8ed;
  --gtf-charcoal:#332e20;
  --gtf-ink:#2e2a22;
  --gtf-muted:#716a5e;
  --gtf-bg:#f6f2e9;
  --gtf-surface:#ffffff;
  --gtf-surface-soft:#fcfaf5;
  --gtf-border:#e8dfd0;
  --gtf-border-strong:#ddd1bd;
  --status-success:#267a4a;
  --status-success-bg:#e8f6ee;
  --status-info:#2869d8;
  --status-info-bg:#eaf1ff;
  --status-warning:#9a5b12;
  --status-warning-bg:#fff1df;
  --status-danger:#bc3934;
  --status-danger-bg:#fdeceb;
  --status-neutral:#5f6976;
  --status-neutral-bg:#eef1f4;
  --shadow-card:0 8px 28px rgba(51,46,32,.055);
  --shadow-popover:0 24px 70px rgba(37,31,23,.16);
  --radius-sm:12px;
  --radius-md:16px;
  --radius-lg:20px;
  --radius-xl:26px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{color:var(--gtf-ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,select,textarea{font:inherit;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease,transform .16s ease}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(173,132,0,.17);outline-offset:2px;border-color:var(--gtf-gold)!important}
::selection{background:#f1dfa4;color:#2d2617}

/* ---------- Office / admin surfaces ---------- */
body.office-page{
  background:radial-gradient(circle at 92% 0%,rgba(173,132,0,.10),transparent 26%),linear-gradient(180deg,#fbfaf6 0%,var(--gtf-bg) 100%)!important;
  color:var(--gtf-ink)!important;
}
body.office-page .app{grid-template-columns:268px minmax(0,1fr)!important}
body.office-page .sidebar{
  background:linear-gradient(180deg,#30291d 0%,#18130d 100%)!important;
  padding:24px 18px!important;
  box-shadow:inset -1px 0 rgba(255,255,255,.05)!important;
}
body.office-page .brand{padding:7px 10px 20px!important;border-bottom:1px solid rgba(255,255,255,.09)!important;margin-bottom:15px!important}
body.office-page .brand-logo{display:block;width:min(194px,100%);height:auto;margin:0 0 14px}
body.office-page .brand small{display:block!important;color:#d5cdbf!important;font-size:11px!important;letter-spacing:.11em;text-transform:uppercase;font-weight:800!important}
body.office-page .demo-pill,body.office-page .pill{display:inline-flex!important;margin-top:11px!important;padding:5px 9px!important;border-radius:999px!important;background:rgba(173,132,0,.16)!important;border:1px solid rgba(229,198,102,.28)!important;color:#f2d985!important;font-size:10px!important;font-weight:800!important;letter-spacing:.055em}
body.office-page .nav{gap:7px!important}
body.office-page .nav button{border-radius:14px!important;padding:12px 14px!important;font-weight:700!important;color:#e2ddd4!important}
body.office-page .nav button:hover{background:rgba(255,255,255,.07)!important;transform:translateX(2px)}
body.office-page .nav button.active{background:linear-gradient(180deg,#c39b1b 0%,var(--gtf-gold) 100%)!important;color:#211b0f!important;box-shadow:0 10px 25px rgba(173,132,0,.24)!important}
body.office-page .nav .icon,body.office-page .icon{opacity:.92}
body.office-page .side-foot{color:#a49c90!important;font-size:11px!important}
body.office-page .main{padding:30px 36px 48px!important}
body.office-page .topbar{margin-bottom:24px!important}
body.office-page .topbar h2{font-size:30px!important;letter-spacing:-.025em;color:#2c271f!important}
body.office-page .topbar p{color:var(--gtf-muted)!important;max-width:820px}
body.office-page .card,body.office-page .flowStep,body.office-page .job-card,body.office-page .attn,body.office-page .alert,body.office-page .folder,body.office-page .doc,body.office-page .documentRow,body.office-page .invoice{border:1px solid var(--gtf-border)!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-card)!important;background:linear-gradient(180deg,#fff 0%,#fffdfa 100%)!important}
body.office-page .section,body.office-page .stat{background:linear-gradient(180deg,#fff 0%,#fffdfa 100%)!important}
body.office-page .stat .label{font-size:11px!important;letter-spacing:.075em;color:var(--gtf-muted)!important}
body.office-page .stat .value{color:#2d281f!important;letter-spacing:-.035em}
body.office-page .stat .hint,body.office-page .sub{color:var(--gtf-muted)!important}
body.office-page .btn{min-height:40px;border:1px solid var(--gtf-border-strong)!important;background:#fff!important;border-radius:14px!important;padding:9px 14px!important;color:#393329!important;font-weight:800!important;box-shadow:0 1px 0 rgba(255,255,255,.8) inset}
body.office-page .btn:hover:not(:disabled){transform:translateY(-1px);border-color:#cfbea1!important;box-shadow:0 8px 20px rgba(51,46,32,.07)}
body.office-page .btn.primary{background:linear-gradient(180deg,#c29a1b 0%,var(--gtf-gold) 100%)!important;border-color:var(--gtf-gold)!important;color:#211b10!important;box-shadow:0 9px 20px rgba(173,132,0,.16)!important}
body.office-page .btn.primary:hover:not(:disabled){background:linear-gradient(180deg,#b78e12 0%,var(--gtf-gold-hover) 100%)!important}
body.office-page .btn.dark{background:linear-gradient(180deg,#3a3328 0%,#211b14 100%)!important;border-color:#211b14!important;color:#fff!important}
body.office-page .btn.danger{background:var(--status-danger-bg)!important;border-color:#efcbc8!important;color:var(--status-danger)!important}
body.office-page .btn.small{min-height:34px!important;padding:7px 10px!important}
body.office-page .tab{border:1px solid var(--gtf-border)!important;background:#fff!important;color:#4e473b!important;border-radius:999px!important;padding:9px 14px!important;font-weight:800!important}
body.office-page .tab:hover{border-color:#d8c8a9!important;background:#fffdf7!important}
body.office-page .tab.active{background:linear-gradient(180deg,#f3e3a8 0%,#e3c45e 100%)!important;border-color:#dbba50!important;color:#2b2416!important;box-shadow:0 7px 16px rgba(173,132,0,.14)!important}
body.office-page input,body.office-page select,body.office-page textarea{border:1px solid var(--gtf-border)!important;border-radius:13px!important;background:#fff!important;color:var(--gtf-ink)!important}
body.office-page input::placeholder,body.office-page textarea::placeholder{color:#9b9387}
body.office-page .search input,body.office-page .search select{min-height:42px}
body.office-page table{border-collapse:separate!important;border-spacing:0!important}
body.office-page th{background:#fbf7ed!important;color:#746b5c!important;font-size:10px!important;letter-spacing:.07em!important}
body.office-page td{border-color:#eee6d9!important}
body.office-page tr:hover td{background:#fffcf5!important}
body.office-page .detail{background:#fbf8f2!important;border:1px solid #efe6d8!important;border-radius:14px!important}
body.office-page .drawer,body.office-page .modal{border-radius:var(--radius-xl)!important;box-shadow:var(--shadow-popover)!important;border:1px solid rgba(226,215,198,.8)!important}
body.office-page .note{background:#fff8e7!important;border-color:#efdda7!important;border-radius:14px!important}
body.office-page .message{background:#fbfaf7!important;border-color:var(--gtf-border)!important;border-radius:14px!important}
body.office-page .toast{background:#221c14!important;color:#fff!important;border:1px solid rgba(255,255,255,.07);box-shadow:0 14px 35px rgba(0,0,0,.18)}
body.office-page .flow{gap:12px!important}
body.office-page .flowStep{position:relative;padding:17px!important;overflow:hidden}
body.office-page .flowStep::before{content:"";position:absolute;left:16px;top:0;width:58px;height:4px;border-radius:0 0 999px 999px;background:linear-gradient(90deg,var(--gtf-gold),#e7cb6f)}
body.office-page .flowStep strong{color:#30291f}
body.office-page .alert.warn{border-left:4px solid var(--status-warning)!important}
body.office-page .alert.bad{border-left:4px solid var(--status-danger)!important}
body.office-page .attn{border-left:4px solid var(--status-danger)!important}

/* ---------- Semantic statuses ---------- */
.badge,.docBadge,.woStatus,.status-chip{display:inline-flex!important;align-items:center;justify-content:center;border-radius:999px!important;padding:5px 9px!important;font-size:11px!important;font-weight:800!important;line-height:1.15!important;white-space:nowrap}
.status-neutral,.badge.gray,.gray,.badge.scheduled{background:var(--status-neutral-bg)!important;color:var(--status-neutral)!important}
.status-info,.badge.blue,.blue,.badge.otw,.badge.inprogress{background:var(--status-info-bg)!important;color:var(--status-info)!important}
.status-success,.badge.green,.green,.badge.arrived,.badge.completed{background:var(--status-success-bg)!important;color:var(--status-success)!important}
.status-warning,.badge.amber,.amber,.badge.waiting{background:var(--status-warning-bg)!important;color:var(--status-warning)!important}
.status-danger,.badge.red,.red,.badge.problem{background:var(--status-danger-bg)!important;color:var(--status-danger)!important}
.badge.gold,.gold{background:var(--gtf-gold-soft)!important;color:#7d5f00!important}

/* ---------- Customer portal ---------- */
body.customer-page{background:radial-gradient(circle at 8% 0%,rgba(173,132,0,.09),transparent 24%),linear-gradient(180deg,#fbfaf6 0%,#f3eee4 100%)!important;color:var(--gtf-ink)!important}
body.customer-page .shell{max-width:1160px!important;padding:26px!important}
body.customer-page .top{align-items:center!important}
body.customer-page .brand{gap:14px!important}
body.customer-page .logo{width:auto!important;height:auto!important;background:transparent!important;border-radius:0!important;padding:0!important}
body.customer-page .brand-logo{display:block;width:min(205px,42vw);height:auto}
body.customer-page .brand h1{display:none!important}
body.customer-page .brand p{font-size:11px!important;color:var(--gtf-muted)!important;margin-top:6px!important;text-transform:uppercase;letter-spacing:.11em;font-weight:800!important}
body.customer-page .pill{background:var(--gtf-gold-soft)!important;border-color:#e6cf88!important;color:#795b00!important;border-radius:999px!important}
body.customer-page .hero{background:radial-gradient(circle at 88% 0%,rgba(231,201,105,.18),transparent 30%),linear-gradient(135deg,#332b1e 0%,#19130c 100%)!important;border:1px solid rgba(255,255,255,.06)!important;border-radius:26px!important;box-shadow:var(--shadow-popover)!important}
body.customer-page .hero h2{letter-spacing:-.03em!important}
body.customer-page .status{background:rgba(70,126,219,.16)!important;border-color:rgba(128,171,239,.25)!important;color:#e8f1ff!important}
body.customer-page .dotPulse{background:#73a6f6!important;box-shadow:0 0 0 0 rgba(115,166,246,.45)!important}
body.customer-page .card,body.customer-page .visit,body.customer-page .info,body.customer-page .documentRow,body.customer-page .invoice,body.customer-page .notice,body.customer-page .panel,body.customer-page .modal,body.customer-page .docModal{border:1px solid var(--gtf-border)!important;border-radius:20px!important;box-shadow:var(--shadow-card)!important}
body.customer-page .card{background:linear-gradient(180deg,#fff 0%,#fffdfa 100%)!important}
body.customer-page .visit{background:#fffcf5!important}
body.customer-page .info{background:#fbf8f2!important}
body.customer-page .btn{border-radius:14px!important;border-color:var(--gtf-border-strong)!important;font-weight:800!important;color:#3c352a!important}
body.customer-page .btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(51,46,32,.07)}
body.customer-page .btn.primary{background:linear-gradient(180deg,#c29a1b 0%,var(--gtf-gold) 100%)!important;border-color:var(--gtf-gold)!important;color:#211b10!important}
body.customer-page .btn.dark{background:linear-gradient(180deg,#3a3328 0%,#211b14 100%)!important;border-color:#211b14!important;color:#fff!important}
body.customer-page .map{border-color:#dce4dc!important;background:linear-gradient(180deg,#eff4ef,#e6ede6)!important}
body.customer-page .progress{background:#eee7da!important}
body.customer-page .bar{background:linear-gradient(90deg,#8b6900,#be9412,#edd57c)!important}
body.customer-page .step{border-color:var(--gtf-border)!important;border-radius:14px!important}
body.customer-page .step.current{background:#fffbef!important;border-color:#dfc970!important}
body.customer-page .step.done .circle{background:var(--status-success-bg)!important;color:var(--status-success)!important}
body.customer-page .step.current .circle{background:#ead172!important;color:#2d2515!important}
body.customer-page .notice{background:#fff8e7!important;border-color:#efdda7!important}
body.customer-page .toast{background:#221c14!important;box-shadow:0 14px 35px rgba(0,0,0,.18)}
body.customer-page .docBadge.status-neutral{background:var(--status-neutral-bg)!important;color:var(--status-neutral)!important}
body.customer-page .docBadge.status-info{background:var(--status-info-bg)!important;color:var(--status-info)!important}
body.customer-page .docBadge.status-success{background:var(--status-success-bg)!important;color:var(--status-success)!important}
body.customer-page .docBadge.status-warning{background:var(--status-warning-bg)!important;color:var(--status-warning)!important}
body.customer-page .docBadge.status-danger{background:var(--status-danger-bg)!important;color:var(--status-danger)!important}

/* ---------- Crew mobile ---------- */
body.crew-page{background:radial-gradient(circle at 50% 0%,rgba(173,132,0,.11),transparent 25%),linear-gradient(180deg,#fbf9f3 0%,#f2ece1 100%)!important;color:var(--gtf-ink)!important}
body.crew-page .phone{max-width:560px!important;padding:22px 18px 28px!important}
body.crew-page .top{margin-bottom:18px!important;align-items:center!important}
body.crew-page .brand{font-weight:900!important;display:flex!important;align-items:center!important}
body.crew-page .crew-logo{display:block;width:min(168px,46vw);height:auto}
body.crew-page .pill{background:var(--gtf-gold-soft)!important;border-color:#e5cd83!important;color:#795b00!important;border-radius:999px!important}
body.crew-page .card,body.crew-page .modal{border:1px solid var(--gtf-border)!important;border-radius:20px!important;box-shadow:var(--shadow-card)!important;background:linear-gradient(180deg,#fff 0%,#fffdfa 100%)!important}
body.crew-page .info{background:#fbf8f2!important;border:1px solid #eee4d5!important;border-radius:13px!important}
body.crew-page .btn{border-radius:14px!important;border-color:var(--gtf-border-strong)!important;font-weight:800!important;color:#3c352a!important}
body.crew-page .btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(51,46,32,.07)}
body.crew-page .primary{background:linear-gradient(180deg,#c29a1b 0%,var(--gtf-gold) 100%)!important;border-color:var(--gtf-gold)!important;color:#211b10!important}
body.crew-page .dark{background:linear-gradient(180deg,#3a3328 0%,#211b14 100%)!important;border-color:#211b14!important;color:#fff!important}
body.crew-page .danger{background:var(--status-danger-bg)!important;color:var(--status-danger)!important;border-color:#efcbc8!important}
body.crew-page input,body.crew-page select,body.crew-page textarea{border-color:var(--gtf-border)!important;border-radius:13px!important;background:#fff!important}
body.crew-page .workOrder{border-left:4px solid var(--gtf-gold)!important}
body.crew-page .woNote{background:#fff8e7!important;border-color:#efdda7!important;border-radius:13px!important}
body.crew-page .statusGrid .btn.active{outline:3px solid rgba(173,132,0,.18)!important;background:#fff8e9!important;border-color:#d6bc68!important}
body.crew-page .toast{background:#221c14!important;box-shadow:0 14px 35px rgba(0,0,0,.18)}
body.crew-page .badge.status-neutral,body.crew-page .woStatus.status-neutral{background:var(--status-neutral-bg)!important;color:var(--status-neutral)!important}
body.crew-page .badge.status-info,body.crew-page .woStatus.status-info{background:var(--status-info-bg)!important;color:var(--status-info)!important}
body.crew-page .badge.status-success,body.crew-page .woStatus.status-success{background:var(--status-success-bg)!important;color:var(--status-success)!important}
body.crew-page .badge.status-warning,body.crew-page .woStatus.status-warning{background:var(--status-warning-bg)!important;color:var(--status-warning)!important}
body.crew-page .badge.status-danger,body.crew-page .woStatus.status-danger{background:var(--status-danger-bg)!important;color:var(--status-danger)!important}

@media(max-width:1050px){body.office-page .main{padding:24px!important}}
@media(max-width:860px){
  body.office-page .app{grid-template-columns:1fr!important}
  body.office-page .sidebar{position:relative!important;height:auto!important}
  body.office-page .brand-logo{width:170px}
  body.office-page .side-foot{display:none!important}
}
@media(max-width:600px){
  body.customer-page .shell{padding:14px!important}
  body.customer-page .brand-logo{width:165px}
  body.customer-page .hero{border-radius:22px!important}
  body.crew-page .phone{padding:14px!important}
}


/* Compliance Center integration */
.compliance-nav-alert{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#d1433b;color:#fff;display:inline-grid;place-items:center;font-size:10px;font-weight:900;line-height:1;box-shadow:0 0 0 3px rgba(209,67,59,.15)}
.compliance-nav-alert[hidden]{display:none!important}
.job-agreement-card{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:13px 14px;border:1px solid var(--line-soft);border-radius:16px;background:#fff;box-shadow:var(--shadow-soft);margin:8px 0 14px}
.job-agreement-card .agreement-copy strong{display:block;margin-bottom:3px}.job-agreement-card .agreement-copy small{color:var(--ink-soft)}
@media(max-width:650px){.job-agreement-card{align-items:flex-start;flex-direction:column}}

/* ---------- v3: calmer density, role shell & adaptive UX ---------- */
.gtf-user-chip{display:flex;align-items:center;gap:8px;padding:6px 7px 6px 11px;border:1px solid var(--gtf-border);border-radius:999px;background:#fff;box-shadow:0 4px 14px rgba(51,46,32,.045)}
.gtf-user-chip span{display:flex;flex-direction:column;line-height:1.05}.gtf-user-chip strong{font-size:12px}.gtf-user-chip small{font-size:9px;color:var(--gtf-muted);margin-top:3px;text-transform:uppercase;letter-spacing:.06em}.gtf-user-chip button{border:0;background:#f3efe7;width:28px;height:28px;border-radius:50%;cursor:pointer;color:#5e5649;font-weight:900}.gtf-user-chip button:hover{background:#ece5d8}
.gtf-notify-btn{position:relative}.gtf-notify-count{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;margin-left:5px;border-radius:999px;background:var(--status-danger);color:#fff;font-size:9px}.gtf-notify-count[hidden]{display:none!important}
.gtf-notify-panel{position:fixed;right:28px;top:82px;z-index:100;width:min(390px,calc(100vw - 28px));max-height:70vh;overflow:auto;background:#fff;border:1px solid var(--gtf-border);border-radius:18px;box-shadow:var(--shadow-popover);padding:12px}.gtf-notify-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:6px 5px 10px}.gtf-notify-item{padding:11px;border-top:1px solid #eee7dc;display:grid;gap:4px}.gtf-notify-item.unread{background:#fffaf0;border-left:3px solid var(--gtf-gold)}.gtf-notify-item strong{font-size:13px}.gtf-notify-item span{font-size:12px;color:var(--gtf-muted);line-height:1.4}.gtf-notify-item small{font-size:10px;text-transform:uppercase;color:#8a8174;font-weight:800}.gtf-notify-empty{padding:24px;text-align:center;color:var(--gtf-muted);font-size:13px}

body.office-page .grid.stats{gap:12px!important}.smart-card{margin-bottom:16px}.smart-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.smart-action{position:relative;min-height:82px!important;padding:13px!important;text-align:left!important;display:flex;flex-direction:column;justify-content:space-between}.smart-action small{display:block;color:var(--gtf-muted);font-weight:600;margin-top:4px}.smart-action::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:999px;background:#c8c0b3}.smart-action.urgency-low::before{background:var(--status-success)}.smart-action.urgency-medium::before{background:var(--status-warning)}.smart-action.urgency-high::before{background:var(--status-danger)}
.urgency-card{position:relative;overflow:hidden}.urgency-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#bbb2a4}.urgency-card.urgency-low::before{background:var(--status-success)}.urgency-card.urgency-medium::before{background:var(--status-warning)}.urgency-card.urgency-high::before{background:var(--status-danger)}
.urgency-flag{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.05em;color:#6d665b}.urgency-flag i{width:7px;height:7px;border-radius:50%;background:#bbb}.urgency-flag.low i{background:var(--status-success)}.urgency-flag.medium i{background:var(--status-warning)}.urgency-flag.high i{background:var(--status-danger)}

.customer-action-card{display:grid;gap:10px}.locked-card{opacity:.78}.locked-card .lock-row{display:flex;gap:10px;align-items:flex-start}.locked-icon{width:34px;height:34px;border-radius:12px;background:#f1eee8;display:grid;place-items:center;flex:0 0 auto}.unlocked-card{border-left:4px solid var(--status-success)!important;background:linear-gradient(180deg,#fff 0%,#fbfffccf 100%)!important}.before-job-list{display:grid;gap:9px}.before-job-item{display:grid;grid-template-columns:26px 1fr;gap:9px;align-items:start;padding:9px 0;border-bottom:1px solid #eee7dc}.before-job-item:last-child{border-bottom:0}.before-job-item .n{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#f2eee5;font-size:11px;font-weight:900}.before-job-item strong{font-size:13px;display:block}.before-job-item span{font-size:12px;color:var(--gtf-muted);line-height:1.4}.review-btn{background:#fff!important;border-color:#d9d3ca!important}.review-stars{letter-spacing:1px;color:#a98000;margin-right:5px}.agreement-copy-preview{padding:16px;border:1px solid var(--gtf-border);border-radius:14px;background:#fbfaf7;line-height:1.6;font-size:13px;max-height:330px;overflow:auto}.signature-box{margin-top:14px;padding:14px;border:1px solid #e9dfcf;border-radius:14px;background:#fffdf8}.signature-box input[type="text"]{width:100%;padding:11px 12px;border:1px solid var(--gtf-border);border-radius:11px;margin:8px 0}.signature-check{display:flex;gap:8px;align-items:flex-start;font-size:12px;color:var(--gtf-muted);line-height:1.45}

.compliance-group-row td{background:#fffdf8!important}.compliance-group-title{display:flex;align-items:center;gap:8px}.coverage-list{display:grid;gap:8px;margin-top:12px}.coverage-item{padding:11px;border:1px solid var(--gtf-border);border-radius:12px;background:#fff;display:grid;grid-template-columns:1fr auto;gap:8px}.coverage-item strong{font-size:13px}.coverage-item .sub{margin-top:3px}.doc-type-chip{display:inline-flex;font-size:10px;font-weight:800;padding:4px 7px;border-radius:999px;background:#f1eee8;color:#655d52}

.project-link-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0}.project-link-item{padding:10px;border:1px solid var(--gtf-border);border-radius:12px;background:#fff}.project-link-item span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--gtf-muted);font-weight:850;margin-bottom:4px}.project-link-item strong{font-size:12px}.integration-state{display:inline-flex;gap:6px;align-items:center;font-size:11px;font-weight:800}.integration-state::before{content:"";width:7px;height:7px;border-radius:50%;background:#a69e91}.integration-state.ready::before{background:var(--status-success)}.integration-state.pending::before{background:var(--status-warning)}

body.office-page .card,body.customer-page .card,body.crew-page .card{box-shadow:0 5px 18px rgba(51,46,32,.045)!important}
body.office-page .main{max-width:1500px;width:100%;margin:0 auto}
body.office-page .job-card{padding:13px 14px!important}.card.section{padding:17px!important}

@media(max-width:1000px){.smart-actions{grid-template-columns:1fr 1fr}.project-link-strip{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.smart-actions{grid-template-columns:1fr}.gtf-notify-panel{right:14px;top:72px}.gtf-user-chip{width:100%;justify-content:space-between}.project-link-strip{grid-template-columns:1fr}}

/* GTF Hub v5: assistant-first office and responsive field experience */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body.office-page{background:#f6f5f1!important}
body.office-page .sidebar{background:#242b2c!important}
body.office-page .sidebar .nav button:not(.active):hover{background:#33413d!important}
body.office-page .main{max-width:none!important}
body.office-page .topbar .actions{flex-wrap:wrap;justify-content:flex-end}
body.office-page.is-assistant-home .topbar>div:first-child{display:none}
body.office-page.is-assistant-home .topbar{margin-bottom:0!important;justify-content:flex-end;min-height:40px}
body.office-page.is-assistant-home .topbar .actions .btn.primary{display:none}
.assistant-home{min-height:calc(100vh - 150px);display:flex;flex-direction:column;align-items:center;padding:0 20px 18px}
.assistant-statusbar{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:9px;max-width:100%;margin:13px auto 36px}
.priority-pill{display:inline-flex;gap:7px;align-items:center;padding:7px 12px;font-size:11px;color:#5d625f;background:white;border:1px solid #e6e5df;border-radius:999px;cursor:pointer;box-shadow:0 3px 13px rgba(12,30,20,.035)}
.priority-pill b{font-size:11px}.priority-pill i{width:7px;height:7px;border-radius:50%;background:#4e956d;flex:none}
.priority-pill.is-red i{background:#bd4c4b}.priority-pill.is-yellow i{background:#c39437}.priority-pill:hover{border-color:#b7af98;transform:translateY(-1px)}
.assistant-main{width:min(730px,100%);text-align:center;display:flex;flex-direction:column;align-items:center;margin:auto 0;min-height:450px;justify-content:center}
.assistant-logo{height:59px;max-width:200px;object-fit:contain;margin:0 0 12px}
.assistant-eyebrow{font-size:10px;letter-spacing:.17em;font-weight:800;color:#8a8372;margin:3px 0 14px}
.assistant-demo-badge{font-size:9px;letter-spacing:.03em;color:#8e9089;border:1px solid #dbdcd5;border-radius:999px;padding:3px 6px;margin-left:4px}
.assistant-main h1{font-size:clamp(30px,4vw,46px);letter-spacing:-.052em;line-height:1.14;margin:0;color:#26302a}
.assistant-prompt{font-size:clamp(16px,2vw,20px);line-height:1.4;color:#6d716c;margin:11px 0 28px}
.assistant-compose{border:1px solid #d8dcd4;background:#fff;border-radius:23px;box-shadow:0 13px 50px rgba(27,47,33,.09);width:100%;padding:12px 15px 12px 20px;text-align:left}
body.office-page .assistant-compose textarea{display:block;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;resize:vertical;width:100%;height:57px;min-height:47px;max-height:150px;padding:8px 0!important;font-size:15px;outline:none}
.assistant-compose-bottom{display:flex;align-items:center;justify-content:space-between;color:#969b96;font-size:11px;gap:12px}
.assistant-send{width:34px;height:34px;flex:none;background:#b79139;color:white;border:0;border-radius:12px;font-size:21px;font-weight:600;cursor:pointer}
.assistant-send:hover{background:#98742d}
.assistant-conversation{max-height:370px;overflow:auto;width:100%;text-align:left;display:flex;flex-direction:column;gap:9px;margin:0 0 13px}
.assistant-conversation:empty{display:none}
.assistant-message{background:#fff;border:1px solid #e7e6df;border-radius:17px 17px 17px 5px;padding:12px 15px;max-width:95%;font-size:13px;line-height:1.58;align-self:flex-start;color:#394139;box-shadow:0 3px 10px rgba(24,36,28,.03)}
.assistant-message.user{background:#eaece6;border-color:#e4e9e3;align-self:flex-end;border-radius:17px 17px 5px 17px}
.assistant-message.typing .assistant-message-text{letter-spacing:3px;font-weight:700;animation:ruachTyping 1.1s ease-in-out infinite}
@keyframes ruachTyping{0%,100%{opacity:.25}50%{opacity:.9}}
@media (prefers-reduced-motion:reduce){.assistant-message.typing .assistant-message-text{animation:none;opacity:.6}}
.assistant-message-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.assistant-message-actions button{border:1px solid #d9dfd8;border-radius:999px;background:#f9fbf8;padding:6px 10px;color:#3d5f4c;font-size:11px;font-weight:800;cursor:pointer;text-align:left}
.assistant-message-actions button:hover{border-color:#86a88e}
.assistant-suggestions{margin:14px auto 0;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px}
.assistant-suggestions button{border:1px solid #e3e5df;background:#fffefa;padding:9px 13px;border-radius:999px;font-size:12px;color:#57675b;cursor:pointer}
.assistant-suggestions button:hover{background:#f2f7f3}
.assistant-pending-note{font-size:11px;color:#8b918c;line-height:1.5;margin-top:16px;max-width:570px}
.assistant-shortcuts{width:min(900px,100%);margin-top:25px;padding-top:14px;border-top:1px solid #e5e7df}
.assistant-shortcuts-label{font-size:10px;font-weight:900;letter-spacing:.1em;color:#a29a8e}
body.office-page .assistant-shortcuts .smart-actions{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:9px!important;margin-top:10px}
body.office-page .assistant-shortcuts .smart-action{min-height:64px;padding:10px!important;background:#fff!important;box-shadow:none!important;border:1px solid #e4e5dd!important;border-radius:14px!important;text-align:left}
body.office-page .assistant-shortcuts .smart-action strong{font-size:12px}
body.office-page .assistant-shortcuts .smart-action small{font-size:10px}
/* Priority flags across navigation and data cards stay subtle. */
body.office-page .urgency-high,body.office-page .urgency-card.urgency-high{border-left:3px solid #bd4c4b!important}
body.office-page .urgency-medium,body.office-page .urgency-card.urgency-medium{border-left:3px solid #c39337!important}
body.office-page .urgency-low,body.office-page .urgency-card.urgency-low{border-left:3px solid #5e9572!important}
/* Crew is a full desktop application, never a 520px phone preview. */
body.crew-page .phone{max-width:1300px!important;width:100%!important;padding:32px 34px!important;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(310px,.8fr);gap:16px;align-content:start}
body.crew-page .phone>.top{grid-column:1/-1;margin-bottom:5px!important}
body.crew-page .phone>.card{margin:0!important;min-width:0}
body.crew-page .phone>.card:nth-child(2),body.crew-page .phone>.card:nth-child(3){grid-column:2}
body.crew-page .phone>.card:nth-child(4){grid-column:1;grid-row:2/span 2}
body.crew-page .phone>.card:nth-child(5){grid-column:1;grid-row:4}
body.crew-page .phone>.card:nth-child(6){grid-column:1;grid-row:5}
body.crew-page .phone>.card:nth-child(7){grid-column:2;grid-row:4}
body.crew-page .phone>.card:nth-child(8){grid-column:2;grid-row:5}
body.crew-page .phone>.small.sub{grid-column:1/-1}
body.crew-page .phone .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
body.crew-page .phone .card{box-shadow:0 8px 24px rgba(16,31,26,.035)!important}
@media(max-width:1050px){body.office-page .topbar .actions{gap:7px}body.office-page .assistant-shortcuts .smart-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:760px){body.crew-page .phone{display:block;max-width:640px!important;padding:14px!important}body.crew-page .phone>.card{margin:0 0 13px!important}body.office-page .assistant-home{padding:0 3px 24px}body.office-page .assistant-statusbar{margin:16px auto 30px}body.office-page .assistant-main{min-height:470px}body.office-page .assistant-shortcuts .smart-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}body.office-page.is-assistant-home .topbar .actions .btn:not(.gtf-notify-btn){padding:6px 8px!important;font-size:11px}body.office-page .assistant-compose-bottom span{max-width:220px}}
@media(max-width:450px){body.office-page .assistant-main h1{font-size:28px}body.office-page .assistant-shortcuts .smart-actions{grid-template-columns:1fr 1fr!important}body.office-page .assistant-statusbar{gap:5px}.priority-pill{padding:7px 9px;font-size:10px}body.crew-page .phone .grid{grid-template-columns:1fr 1fr}}
/* Narrow-screen Office navigation remains reachable without a full-height menu. */
@media(max-width:860px){
  body.office-page .app{grid-template-columns:minmax(0,1fr)!important}
  body.office-page .sidebar{min-width:0;max-width:100%}
  body.office-page .library-grid{grid-template-columns:minmax(0,1fr)}
  body.office-page .library-item{min-width:0}
  body.office-page .library-item .badge{max-width:100%;white-space:normal;text-align:left}
  body.office-page .sidebar{padding:12px 12px 9px!important}
  body.office-page .sidebar .brand{padding:2px 5px 7px!important;margin-bottom:5px!important;display:flex;align-items:center;gap:10px}
  body.office-page .sidebar .brand-logo{width:130px!important;margin:0!important}
  body.office-page .sidebar .brand small,body.office-page .sidebar .brand .demo-pill{display:none!important}
  body.office-page .sidebar .nav{display:flex!important;flex-direction:row!important;overflow-x:auto;scrollbar-width:thin;gap:5px!important;padding-bottom:6px}
  body.office-page .sidebar .nav button{width:auto!important;flex:0 0 auto!important;white-space:nowrap;padding:8px 10px!important;font-size:11px}
  body.office-page .sidebar .nav button .icon{width:auto!important}
  body.office-page .main{padding:14px 13px!important}
  body.office-page .topbar .actions{max-width:100%;width:100%;display:flex;flex-wrap:nowrap;overflow-x:auto;padding:0 0 5px;justify-content:flex-start}
  body.office-page .topbar .actions>*{flex-shrink:0}
  body.office-page .topbar .actions .gtf-user-chip{width:auto!important}
  body.office-page.is-assistant-home .topbar{margin-bottom:2px!important}
}
/* Emet account controls; company branding remains independent. */
.gtf-user-chip .gtf-profile-avatar{width:34px;height:34px;flex:0 0 34px;border-radius:50%;display:grid;place-items:center;background:#e9dfc5;color:#292218;font-weight:800;text-decoration:none;overflow:hidden;border:1px solid #cbb97b}
.gtf-user-chip .gtf-profile-avatar img{width:100%;height:100%;object-fit:cover}
.gtf-profile-avatar:focus-visible{outline:3px solid #276e86;outline-offset:3px}
.gtf-user-chip>span{min-width:0;max-width:130px}
.gtf-user-chip>span strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:600px){.customer-page .top,.crew-page .top{flex-wrap:wrap;gap:12px}.customer-page .top>.brand,.crew-page .top>.brand{min-width:0}.customer-page .top>.gtf-user-chip,.crew-page .top>.gtf-user-chip{margin-left:auto;width:auto!important;max-width:100%}.gtf-user-chip>span{max-width:100px}}

/* Ruach AI transparency and consent (demo). */
.assistant-ai-config{max-width:880px;margin:8px auto 4px;padding:10px 12px;border:1px solid var(--line,rgba(128,128,128,.25));border-radius:12px;background:rgba(128,128,128,.045)}
.assistant-ai-optin{display:flex;gap:9px;align-items:flex-start;font-size:12px;line-height:1.5;cursor:pointer}
.assistant-ai-optin input{margin-top:3px;flex-shrink:0;accent-color:#95794c}
.assistant-ai-optin:has(input:disabled){opacity:.65;cursor:not-allowed}
.assistant-ai-status{margin:4px 0 0 22px;font-size:12px;line-height:1.45;opacity:.8}
