/* Trowel · Commercial UI stabilization */
:root{
  --tw-navy:#071827;
  --tw-navy-2:#0d2d46;
  --tw-blue:#1769ff;
  --tw-cyan:#19c6d4;
  --tw-text:#102033;
  --tw-muted:#667b8c;
  --tw-line:#e2eaf1;
  --tw-soft:#f6f9fc;
}
html{font-size:16px}
body{font-size:15.5px;letter-spacing:0;color:var(--tw-text)}
.content{font-size:.94rem}
.content small{font-size:.74rem;line-height:1.45}
.content p{line-height:1.55}

/* Brand, sidebar and top bar */
.header-brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:linear-gradient(145deg,#071827,#0e3654);box-shadow:0 7px 18px rgba(7,24,39,.12);overflow:hidden;flex:0 0 auto}
.header-brand-mark img{width:36px;height:36px;object-fit:contain}
.brand-mark img{width:46px!important;height:46px!important;object-fit:contain}
.sidebar-brand{padding-top:16px;padding-bottom:16px}
.brand-text strong{font-size:1.28rem!important}
.brand-text span{font-size:.76rem!important}
.nav-link{font-size:.91rem!important;min-height:44px!important;line-height:1.2}
.nav-group{font-size:.72rem!important;letter-spacing:.11em!important}
.tenant-copy span,.sidebar-project-top span{font-size:.71rem!important}
.tenant-copy strong,.sidebar-project>strong{font-size:.86rem!important;line-height:1.35}
.sidebar-project small{font-size:.72rem!important;line-height:1.35}
.sidebar-user-copy strong{font-size:.78rem!important}
.sidebar-user-copy small{font-size:.71rem!important}
.page-kicker{font-size:.76rem!important}
.page-title-top{font-size:1.08rem!important}
.top-action-btn{font-size:.81rem!important}
.top-user{min-width:190px}
.top-user-copy strong{font-size:.76rem!important}
.top-user-copy span{font-size:.7rem!important}
.project-switch select{font-size:.82rem!important}

/* Main hero language */
.center-hero{color:#fff!important;border-radius:28px!important;margin-bottom:22px!important;box-shadow:0 22px 55px rgba(11,39,61,.15)!important;background:linear-gradient(135deg,#071827 0%,#123c5d 55%,#1769ff 100%);min-height:250px!important;padding:31px!important}
.center-hero>*{position:relative;z-index:2}
.center-hero-copy{position:relative;z-index:2;min-width:0;max-width:900px}
.center-hero h1{color:#fff!important;font-size:clamp(2rem,3vw,2.55rem)!important;line-height:1.08!important;margin:13px 0 12px!important;letter-spacing:-.035em}
.center-hero p{color:#d9e9f4!important;font-size:.99rem!important;line-height:1.65!important;margin:0!important}
.center-hero .eyebrow{color:#eaf8ff!important;background:rgba(255,255,255,.11)!important;border-color:rgba(255,255,255,.18)!important;font-size:.76rem!important}
.center-hero .hero-actions{margin-top:21px!important}
.center-hero .btn{font-size:.84rem!important;min-height:42px}
.phase3-hero-stat{position:relative;z-index:2!important;width:285px!important;padding:23px!important;border-radius:22px!important}
.phase3-hero-stat span,.phase3-hero-stat small{font-size:.75rem!important;line-height:1.45!important}
.phase3-hero-stat strong{font-size:2.55rem!important}
.field-device{position:relative;z-index:2!important}
.field-device strong{font-size:1.05rem!important}
.field-device small{font-size:.73rem!important}
.field-premium-hero h1{color:#fff!important}.field-premium-hero p{color:#d9e9f4!important}

/* Common headings and actions */
.section-kicker{font-size:.74rem!important;letter-spacing:.095em!important;margin-bottom:5px!important}
.section-head h2,.premium-section-head h2{font-size:1.3rem!important;line-height:1.2}
.row-sub,.premium-section-head p{font-size:.81rem!important;line-height:1.45!important}
.text-action{font-size:.79rem!important}
.btn{font-size:.82rem}
.btn-sm{font-size:.75rem!important}

/* KPI cards */
.premium-kpi{min-height:116px!important;padding:18px 16px!important}
.premium-kpi .kpi-label{font-size:.77rem!important;line-height:1.25}
.kpi-number strong{font-size:1.62rem!important}
.kpi-number span{font-size:.74rem!important}
.kpi-copy small{font-size:.71rem!important;line-height:1.4!important}
.kpi-icon{width:46px!important;height:46px!important}

/* Dashboard cards and quick actions */
.quick-action strong{font-size:.83rem!important}
.quick-action small{font-size:.73rem!important;line-height:1.4!important}
.premium-module-card .module-body h3{font-size:.94rem!important;line-height:1.25}
.premium-module-card .module-body p{font-size:.76rem!important;line-height:1.5!important}
.module-records,.module-open{font-size:.71rem!important}
.project-cover-title small{font-size:.7rem!important}.project-status-badge{font-size:.71rem!important}
.project-card-progress>div:first-child{font-size:.7rem!important}.project-stats strong small{font-size:.7rem!important}
.rail-head h3{font-size:.95rem!important}.rail-empty strong{font-size:.84rem!important}.rail-empty small{font-size:.72rem!important}
.attention-list small{font-size:.7rem!important}.attention-list strong{font-size:.81rem!important}
.phase2-center-cards small{font-size:.7rem!important}.phase2-center-cards strong{font-size:.82rem!important}.phase2-center-cards p{font-size:.72rem!important;line-height:1.45!important}
.demo31-dashboard-banner strong{font-size:1.02rem!important}.demo31-dashboard-banner p{font-size:.8rem!important}

/* Generic panels, tables and forms */
.panel{box-shadow:0 8px 26px rgba(15,43,66,.045);border-color:var(--tw-line)}
.panel-head h2,.panel-head h3{letter-spacing:-.015em;font-size:1.18rem!important}
.table-modern th{font-size:.75rem!important;padding:13px 14px!important;letter-spacing:.04em}
.table-modern td{font-size:.87rem!important;line-height:1.5!important;padding:13px 14px!important}
.badge{font-size:.71rem!important;padding:.34rem .55rem!important}
.toolbar input,.toolbar select{font-size:.82rem!important;min-height:42px}
.field label{font-size:.81rem!important}
.field input,.field select,.field textarea{font-size:.84rem!important;line-height:1.45!important}
.field-help{font-size:.73rem!important}
.drawer-head h3{font-size:1.18rem!important}.drawer-head p{font-size:.82rem!important;line-height:1.45}
.drawer-foot .btn{min-height:41px}
.empty{font-size:.8rem!important;line-height:1.5}.empty.compact{font-size:.76rem!important}

/* Coordination */
.rfi-column-head{font-size:.78rem!important}.rfi-card strong{font-size:.81rem!important}.rfi-card p{font-size:.77rem!important;line-height:1.5!important}.rfi-card small{font-size:.7rem!important}.rfi-empty{font-size:.73rem!important}
.commit-row small,.commit-row em{font-size:.7rem!important;line-height:1.45!important}.commit-row strong{font-size:.82rem!important;line-height:1.5!important}
.meeting-list strong{font-size:.81rem!important}.meeting-list small{font-size:.7rem!important;line-height:1.45!important}
.phase3-kpis-five{gap:14px!important}.coord-grid .panel{min-width:0}.coord-grid .panel-head h2{font-size:1.2rem!important}

/* Quality, checklists, concrete and reception */
.flow-column-head span{font-size:.79rem!important}.flow-column-head strong{font-size:.78rem!important}
.flow-card small,.flow-card em{font-size:.7rem!important}.flow-card strong{font-size:.81rem!important;line-height:1.45!important}.flow-card p{font-size:.76rem!important;line-height:1.5!important}
.aging-row>div:first-child,.stage-progress>div:first-child,.specialty-row>div:first-child{font-size:.75rem!important}
.template-card small,.delivery-body span,.reception-stage-top small,.punch-board-card span,.punch-board-card small,.punch-board-card em{font-size:.71rem!important}
.template-card strong,.delivery-body strong,.reception-stage-top strong,.punch-board-card strong{font-size:.81rem!important}
.template-card p,.reception-stage-card p,.reception-stage-card>small,.punch-board-card p{font-size:.75rem!important;line-height:1.5!important}
.punch-column-head{font-size:.78rem!important}
.lab-legend>div{font-size:.72rem!important}.delivery-top small{font-size:.71rem!important}.delivery-top strong{font-size:.8rem!important}.delivery-card>small{font-size:.71rem!important}

/* Record 360 */
.detail-item{padding:12px 13px!important}
.detail-item>span{font-size:.71rem!important}.detail-item>strong{font-size:.83rem!important;line-height:1.6!important}
.rail-card h3{font-size:.94rem!important}.rail-card textarea,.rail-card input[type=file],.status-form select{font-size:.8rem!important}
.mini-comment strong,.mini-file strong,.timeline-item strong,.related-card strong,.inspection-answer strong{font-size:.79rem!important}
.mini-comment p,.timeline-item p,.inspection-answer small{font-size:.75rem!important;line-height:1.5!important}
.mini-comment small,.mini-file small,.timeline-item small,.related-card small,.related-card em{font-size:.71rem!important}
.trace-element-card small,.trace-element-card em{font-size:.71rem!important}.trace-element-card strong{font-size:.82rem!important}
.performance-panel p{font-size:.75rem!important}.punch-card strong{font-size:.8rem!important}.punch-card p{font-size:.75rem!important}.punch-card small{font-size:.71rem!important}

/* Settings */
.settings-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important}
.settings-card{border-radius:20px!important;box-shadow:0 8px 25px rgba(14,43,65,.05)!important}
.settings-card>img{height:155px!important}.settings-card-body>strong{font-size:.94rem!important}.settings-card .field label{font-size:.78rem!important}.settings-card .btn{font-size:.79rem!important}
.settings31-brand strong{font-size:1.08rem!important}.settings31-brand small{font-size:.73rem!important}

/* Login */
.login-brand-mini img,.login-mobile-brand img{object-fit:contain!important;filter:drop-shadow(0 10px 24px rgba(25,198,212,.18))}
.login-brand-mini img{width:50px!important;height:50px!important}.login-mobile-brand img{width:50px!important;height:50px!important}
.login-brand-watermark{position:absolute;z-index:1;width:min(80%,900px);max-height:62vh;object-fit:contain;left:50%;top:43%;transform:translate(-50%,-50%);opacity:.22;filter:saturate(1.18);pointer-events:none}
.login-visual-top,.login-copy,.login-visual-foot{z-index:3!important}.login-copy h1{font-size:clamp(2.6rem,4.2vw,4.7rem)!important;line-height:1.02!important}.login-copy p{font-size:1rem!important}
.login-feature strong{font-size:.86rem!important}.login-feature small{font-size:.74rem!important}.login-panel-inner{position:relative}.login-kicker{font-size:.75rem!important}.login-welcome p{font-size:.86rem!important}.login-trust strong{font-size:.79rem!important}.login-trust span{font-size:.72rem!important}

/* Demo 360 */
.demo31-hero{background:linear-gradient(135deg,#061827 0%,#123b5d 50%,#1467ef 100%)}
.demo31-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:18px}.demo31-summary .kpi{min-height:110px}
.demo31-flow{display:grid;grid-template-columns:repeat(6,minmax(185px,1fr));gap:11px;overflow:auto;padding-bottom:7px}
.demo31-step{position:relative;min-width:185px;background:#fff;border:1px solid var(--tw-line);border-radius:17px;padding:15px;text-decoration:none;color:inherit;box-shadow:0 7px 22px rgba(14,43,65,.04)}
.demo31-step:after{content:"→";position:absolute;right:-10px;top:50%;transform:translateY(-50%);width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#eaf2ff;color:#1769ff;font-weight:900;z-index:3}.demo31-step:last-child:after{display:none}
.demo31-step span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#eef5ff;color:#1769ff;margin-bottom:10px}.demo31-step .t-icon{width:19px}
.demo31-step small{display:block;font-size:.7rem!important;color:#7c8f9f;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.demo31-step strong{display:block;font-size:.88rem!important;margin:4px 0}.demo31-step p{font-size:.76rem!important;line-height:1.5;color:#748798;margin:0}
.demo31-module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.demo31-module{display:flex;align-items:center;gap:11px;padding:14px;border:1px solid var(--tw-line);border-radius:15px;background:#fff;text-decoration:none;color:inherit}
.demo31-module strong{display:block;font-size:.82rem!important}.demo31-module small{display:block;font-size:.7rem!important;color:#8192a1;margin-top:2px}
.demo31-story{display:grid;grid-template-columns:1.35fr .65fr;gap:16px}.demo31-story-card p{font-size:.86rem!important;line-height:1.68!important}

/* Responsive */
@media(max-width:1200px){.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.demo31-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.demo31-module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.header-brand-mark{display:none}.center-hero{padding:25px!important}.center-hero h1{font-size:1.95rem!important}.phase3-hero-stat{width:100%!important}.demo31-story{grid-template-columns:1fr}.demo31-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.top-user{min-width:0}}
@media(max-width:650px){html{font-size:15px}.settings-grid{grid-template-columns:1fr!important}.demo31-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.demo31-module-grid{grid-template-columns:1fr}.center-hero h1{font-size:1.7rem!important}.center-hero p{font-size:.92rem!important}.login-brand-watermark{width:105%;opacity:.15}.login-copy h1{font-size:2.4rem!important}.table-modern td{font-size:.84rem!important}}
@media(max-width:460px){.demo31-summary{grid-template-columns:1fr}}

/* Document control readability */
.folder-card small,.folder-card p,.folder-card em{font-size:.72rem!important;line-height:1.45!important}.folder-card strong{font-size:.83rem!important}
.doc-health-list span{font-size:.74rem!important}.doc-health-list strong{font-size:.84rem!important}
.trans-list strong{font-size:.81rem!important}.trans-list small{font-size:.7rem!important;line-height:1.45!important}
.doc-mini-card small,.doc-mini-card em{font-size:.7rem!important}.doc-mini-card strong{font-size:.82rem!important}

/* Productivity readability */
.week-plan-row small,.week-plan-row em{font-size:.7rem!important;line-height:1.45!important}.week-plan-row strong{font-size:.82rem!important}.week-plan-row p{font-size:.72rem!important;line-height:1.4!important}
.trend-day small,.trend-day em{font-size:.7rem!important}.constraint-row small,.constraint-row em{font-size:.7rem!important;line-height:1.45!important}.constraint-row strong{font-size:.81rem!important}
.daily-mini-list strong,.daily-mini-row strong{font-size:.8rem!important}.daily-mini-list small,.daily-mini-list em,.daily-mini-row small,.daily-mini-row em{font-size:.71rem!important;line-height:1.45!important}

/* Contractor center readability */
.contractor-card-grid small,.contractor-card-grid em{font-size:.7rem!important;line-height:1.45!important}.contractor-card-grid strong{font-size:.82rem!important}
.contractor-head small{font-size:.71rem!important}.contractor-head strong{font-size:.86rem!important}
.score-circle small{font-size:.71rem!important}.score-breakdown span{font-size:.71rem!important}.score-breakdown strong{font-size:.8rem!important}.no-eval{font-size:.72rem!important}
.contractor-meta span{font-size:.71rem!important}.contractor-meta strong{font-size:.82rem!important}.contractor-contact{font-size:.72rem!important;line-height:1.45!important}
.contractor-method p{font-size:.78rem!important;line-height:1.6!important}.method-grid strong{font-size:.78rem!important}.method-grid small{font-size:.71rem!important}

/* Executive reports and accreditation */
.report-score span,.report-score small,.evidence-score span,.evidence-score small{font-size:.74rem!important;line-height:1.45!important}
.executive-card small{font-size:.7rem!important}.executive-card p{font-size:.75rem!important;line-height:1.45!important}.executive-card strong{font-size:1.02rem!important}
.evidence-bonus-grid strong{font-size:.8rem!important}.evidence-bonus-grid p,.evidence-bonus-grid em{font-size:.72rem!important;line-height:1.45!important}

/* Desktop header readability */
@media(min-width:1201px){.top-user{min-width:215px}.top-user-copy strong{max-width:175px!important}.top-user-copy span{max-width:175px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-switch select{min-width:270px!important;max-width:310px!important}}
