.module-note{margin-top:20px}.customer-editor{max-width:960px}.errorlist{color:#ab242a;font-size:13px;margin:0;padding-left:20px}.workspace .notice{margin-bottom:24px}.profile{min-width:0}.profile>div{min-width:0}.profile strong{overflow-wrap:anywhere}.profile form{margin-left:auto}.panel p{overflow-wrap:anywhere}.layout{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.layout section{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;margin-bottom:24px}.member{border-top:1px solid var(--line);padding:20px 0}.member strong{display:block;overflow-wrap:anywhere}.member label{display:block;margin-top:12px}.member button,.layout button{margin-top:16px;min-height:48px;border:1px solid var(--line);border-radius:10px;padding:10px 16px;background:white}.layout .primary{background:var(--primary);color:white}.layout input,.layout select{margin-top:6px}.hint{color:var(--muted);font-size:12px}.table-wrap td{overflow-wrap:anywhere}.table-wrap{border:1px solid var(--line)}.customer-editor .field p{margin:0;white-space:pre-wrap}.mobile-nav>a{flex:1;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:4px;margin:0;padding:8px;font-size:11px}.mobile-nav>a.active{background:var(--graphite);color:white}.topbar .wordmark img{width:112px}.login-content h1{margin-bottom:32px}@media(max-width:767px){.layout{grid-template-columns:1fr}.topbar .wordmark img{width:112px}.metrics{grid-template-columns:1fr}.metric{border-right:0;border-bottom:1px solid var(--line);padding:16px 20px}.metric:last-child{border:0}.module-note{margin:8px 0}.metrics .metric-label{display:flex}.mobile-nav{align-items:stretch}.customer-editor .form-grid{gap:20px}.login-content{padding-top:32px}.table-wrap{border:0}}
.topbar .mobile-brand{display:none}.topbar{justify-content:flex-end}@media(max-width:767px){.topbar .mobile-brand{display:flex}.topbar{justify-content:space-between}}
.project-link{display:block}.project-card .card-bottom{flex-wrap:wrap}.project-card .card-bottom>.muted{font-size:11px}.phase-form{display:flex;align-items:center;gap:6px;margin-top:16px;border-top:1px solid var(--line);padding-top:12px}.phase-form .select-control{min-width:0;font-size:12px;flex:1;padding:8px;min-height:44px}.phase-save{border:1px solid var(--line);background:white;border-radius:10px;min-width:44px;height:44px;display:grid;place-items:center}.view-toggle>a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 14px;border-radius:9px;font-size:13px}.view-toggle>a.active{background:white}.task>form{flex-shrink:0}.task input[type=hidden]{display:none}.project-task-panel{margin-top:24px}.task-note{white-space:pre-wrap}.mobile-nav>a{font-size:10px;padding:8px 4px;min-width:0}@media(max-width:767px){.mobile-nav{left:8px;right:8px}.project-card{padding:16px}.task{flex-wrap:wrap}.task-info{min-width:100px}.task-due{margin-left:auto}}

/* Professional workspace: compact navigation, restrained surfaces, clear hierarchy. */
:root{--bg:#f7f8fa;--line:#e4e7ec;--radius-control:8px;--radius-card:12px}
.app{grid-template-columns:224px minmax(0,1fr)}
.sidebar{background:#fff;box-shadow:none;padding:28px 12px 16px;border-right:1px solid var(--line)}
.sidebar>.wordmark{margin:0 14px 38px}.sidebar .wordmark img{width:136px}
.nav-caption{font-size:10px;letter-spacing:.9px;text-transform:uppercase;color:#858c96;padding:0 12px;margin-bottom:10px}
.nav-button{border-radius:7px;min-height:42px;padding:10px 12px;font-size:13px;margin-bottom:4px;gap:10px;color:#5e6570}
.nav-button svg{width:18px;height:18px}.nav-button.active{background:#edf0f4;border:0;box-shadow:none;color:#202833;font-weight:600}
.nav-button:hover{background:#f3f5f7}.profile{padding-top:16px}.avatar{border-radius:9px;background:#edf0f4}.profile small{font-size:10px}
.workspace{background:#f7f8fa}.topbar{height:64px;padding:0 32px;justify-content:space-between;background:#fff;box-shadow:none;gap:24px}
.header-search{position:relative;display:flex;align-items:center;max-width:460px;width:100%;gap:10px;color:#8a919b}
.header-search>svg{position:absolute;left:12px;width:16px;height:16px}.header-search input{border:1px solid transparent;background:#f5f6f8;min-height:36px;border-radius:6px;font-size:12px;padding:8px 40px 8px 36px}
.header-search input:focus{background:#fff;border-color:#b7bec8}.header-search button{position:absolute;right:3px;display:grid;place-items:center;width:32px;height:32px;border:0;background:transparent;color:#7a828e;border-radius:5px}.header-search button svg{width:15px;height:15px}
.header-context{font-size:12px;color:#747c87;border-right:1px solid var(--line);padding-right:20px}.top-right{gap:12px}.top-right .icon-button{width:36px;height:36px}.top-right svg{width:18px;height:18px}
main{padding:30px 32px 48px;max-width:1680px;width:100%}h1{font-size:27px;letter-spacing:-.8px;margin-bottom:6px}h2,.panel-head h2{font-size:16px;letter-spacing:-.3px}h3{letter-spacing:-.15px}
.page-head{margin-bottom:26px;gap:16px}.page-head p{font-size:12px;color:#7c838d}.primary,.secondary{min-height:40px;padding:9px 14px;border-radius:7px;font-size:12px;gap:8px}.primary{background:#232a33;box-shadow:0 1px 2px #10182812;border-color:#232a33}.primary:hover{background:#353e4a}.primary svg,.secondary svg{width:16px;height:16px}.secondary{box-shadow:0 1px 2px #10182805}
.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:0;background:none;border:0;box-shadow:none;margin-bottom:24px;border-radius:0}
.metric{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px 20px;min-height:142px;box-shadow:0 2px 3px #10182803}.metric:last-child{border:1px solid var(--line)}.metric-label{font-size:12px;align-items:center;gap:8px;color:#747c87}.metric-label svg{width:16px;height:16px}.metric-value{font-size:30px;line-height:1.2;letter-spacing:-.8px;margin:16px 0 8px}.metric-note{font-size:11px}.metric .text-button{font-size:11px;min-height:24px;padding:0;margin-top:0}.metric .text-button svg{width:13px;height:13px}
.dashboard-grid{gap:20px;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}.panel{border-radius:10px;padding:20px 22px;border-color:var(--line);box-shadow:0 1px 3px #10182803}.panel-head{margin-bottom:18px}.panel-head>svg{width:17px;height:17px;color:#858c96}.panel-head .text-button{min-height:28px;padding:0;font-size:11px}.panel>.muted{font-size:12px;padding:26px 0;margin:0;color:#8a919b}.section-title{margin-top:26px}.section-title h2{font-size:16px}
.toolbar{gap:10px;margin-bottom:20px}.toolbar .search input,.toolbar .filter,.toolbar .select-control{min-height:40px;font-size:12px;border-radius:7px}.toolbar .search>svg{top:12px;width:16px;height:16px}.toolbar input[type=search]{padding-left:38px}.filter{width:162px}.view-toggle{border:1px solid var(--line);border-radius:7px;background:#f0f2f5;padding:3px;gap:2px}.view-toggle button,.view-toggle>a{min-height:32px;font-size:11px;padding:6px 10px;border-radius:4px}.view-toggle button svg{width:15px;height:15px}.view-toggle button.active,.view-toggle>a.active{box-shadow:0 1px 2px #10182812}
.board{gap:14px;padding:0 0 20px;grid-template-columns:repeat(5,minmax(230px,1fr))}.column-head{font-size:11px;padding:0 3px 12px}.column-head>span{border-radius:4px;background:#e9edf1;padding:1px 6px;font-size:10px}.column-line{height:2px;margin-bottom:14px}.column-empty{border:1px dashed #d9dee5;border-radius:8px;background:#f1f3f6;padding:22px 14px;font-size:11px}.project-card{border-radius:9px;padding:16px;min-height:0;box-shadow:0 2px 3px #10182804}.project-card:hover{border-color:#aeb7c3;box-shadow:0 3px 8px #10182809}.project-card h3{font-size:13px}.project-card p{font-size:11px}.card-meta{font-size:10px}.tag{font-size:10px;border-radius:4px;padding:2px 6px;background:#f3f5f7}.tag svg{width:11px;height:11px}.phase-form .select-control{min-height:34px;border-radius:5px;font-size:11px}.phase-save{min-width:34px;height:34px;border-radius:5px}.phase-save svg{width:15px;height:15px}.next-action{font-size:10px}
.table-wrap{border-radius:9px;box-shadow:0 1px 3px #10182803}th{background:#f9fafb;font-size:11px;padding:12px 18px;color:#747c87}td{font-size:12px;padding:12px 18px}.table-open{font-size:12px;min-height:36px}.table-open small{font-size:10px}.empty{border:1px solid var(--line);border-radius:10px;background:#fff;padding:60px 24px}.empty h2{font-size:16px}.empty p{font-size:12px}.empty svg{color:#929aa5;width:28px;height:28px}
.customer-editor{max-width:1000px;padding:26px}.form-grid{gap:22px 24px}.field{font-size:12px;gap:7px;font-weight:500}.field input,.field textarea,.field .select-control{min-height:44px;border-radius:7px;border-color:#d8dde5;font-size:14px;padding:10px 12px}.field textarea{min-height:112px}.form-actions{padding-top:20px;border-top:1px solid var(--line);margin-top:26px}.task-list{border:1px solid var(--line);border-radius:10px;padding:0 22px}.task-title{font-size:12px}.task-sub,.task-note{font-size:11px}.task-due{font-size:10px}.date-block{border:1px solid #e4e7ec;border-radius:7px;background:#fafbfc}.appointment{padding:16px 0}.appointment h3{font-size:12px}.appointment p{font-size:11px}.settings-grid{gap:20px}.settings-row{font-size:12px}.layout section{border-radius:10px}.notice{border-radius:7px;font-size:12px}.project-strip{padding:12px 0}.square-icon{width:36px;height:36px;border-radius:7px}
.login{background:#fff;padding:16px;gap:16px}.brand-panel{border-radius:14px;min-height:calc(100svh - 32px);padding:32px}.login-main{padding:32px 48px}.login-content{max-width:360px}.login-content h1{font-size:30px;letter-spacing:-.8px}.login-form{gap:22px}.login-form input{min-height:48px;border-color:#d4dae2;font-size:14px}.login-submit{min-height:46px}.login-photo img{object-position:50% 45%}.brand-panel:after{background:linear-gradient(180deg,#171c2370,transparent 45%)}
@media(min-width:768px) and (max-width:1100px){.app{grid-template-columns:188px minmax(0,1fr)}.sidebar .wordmark img{width:120px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}main{padding:26px 24px}.topbar{padding:0 24px}.header-search{max-width:320px}.header-context{display:none}}
@media(max-width:767px){.app{display:block}.topbar{height:64px;padding:0 20px;gap:12px}.header-search,.header-context{display:none}.topbar .mobile-brand{display:flex}.topbar .wordmark img{width:116px}main{padding:24px 18px 124px}.page-head{margin-bottom:22px;align-items:center}.page-head h1{font-size:25px}.page-head p{font-size:11px}.primary,.secondary{min-height:44px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:20px}.metric,.metric:last-child{padding:14px;border:1px solid var(--line);min-height:132px}.metric-label{font-size:10px;gap:5px}.metric-label svg{display:block;width:14px;height:14px}.metric-value{font-size:27px;margin:14px 0 6px}.metric-note{font-size:10px}.dashboard-grid{grid-template-columns:1fr;gap:16px}.panel{padding:18px;border-radius:9px}.panel-head h2{font-size:14px}.panel-head .text-button{font-size:10px}.board{grid-template-columns:repeat(5,minmax(270px,82vw));padding-top:4px}.toolbar .search{flex-basis:100%}.toolbar .filter{width:calc(50% - 5px)}.toolbar .select-control{min-height:44px}.toolbar .view-toggle{margin-left:0}.table-wrap{border:0;box-shadow:none;background:transparent}.table-wrap tr{border-radius:9px;padding:14px;margin-bottom:10px}.table-wrap td{padding:6px 0}.customer-editor{padding:20px}.form-grid{gap:20px}.field input,.field textarea,.field .select-control{font-size:16px;min-height:48px}.mobile-nav{background:#fff;box-shadow:0 4px 24px #10182814;border:1px solid #e3e7ed;border-radius:13px;left:10px;right:10px;padding:5px;bottom:max(10px,env(safe-area-inset-bottom))}.mobile-nav>a{border-radius:8px;min-height:55px;font-size:9px;gap:5px}.mobile-nav>a svg{width:18px;height:18px}.mobile-nav>a.active{background:#edf0f4;color:#202833}.login{padding:0;gap:0;display:block}.brand-panel{min-height:220px;border-radius:0;padding:24px}.login-main{padding:24px}.login-content{padding:16px 0 32px}.login-content h1{font-size:28px}.login-form input{font-size:16px}.header-search input{min-width:0}}
/* Project record: a working document with a quiet contextual rail. */
.record-breadcrumb{display:flex;align-items:center;gap:12px;font-size:11px;color:#858b94;margin:2px 0 30px}.record-breadcrumb a{color:#545d68}.record-breadcrumb>span:last-child{color:#9399a1}.record-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-bottom:30px}.record-kicker{font-size:11px;color:#697480;letter-spacing:.15px;margin-bottom:12px}.record-heading h1{font-size:34px;font-weight:500;line-height:1.2;letter-spacing:-1.15px;margin:0 0 12px}.record-heading p{margin:0;font-size:13px;color:#727b87}.record-heading .secondary{background:#fff;box-shadow:none;border-color:#d9dfe5;flex-shrink:0}.record-tabs{display:flex;gap:30px;border-bottom:1px solid #dee3e9;margin-bottom:0}.record-tabs a{position:relative;padding:14px 0 16px;font-size:12px;color:#78818d;display:flex;align-items:center;gap:8px}.record-tabs a.selected{color:#202b38;font-weight:500}.record-tabs a.selected:after{content:'';position:absolute;height:2px;background:#2a3746;bottom:-1px;left:0;right:0}.record-tabs a span{font-size:10px;background:#e9edf1;padding:1px 5px;border-radius:4px;color:#697480}.record-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:48px}.record-primary{min-width:0}.record-block{padding:30px 0 32px;border-bottom:1px solid #e0e5eb;scroll-margin-top:80px}.record-block:last-child{border-bottom:0}.record-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.record-section-heading h2{font-size:15px;font-weight:500;margin:0;color:#202936;letter-spacing:-.25px}.record-section-heading .text-button{padding:0;min-height:28px;font-size:11px;gap:6px;color:#637080}.record-section-heading .text-button svg{width:14px;height:14px}.record-status{display:flex;align-items:center;gap:7px;font-size:10px;background:#e9eef1;color:#3f5667;border:1px solid #dce4e9;padding:4px 8px;border-radius:4px}.record-status>span{height:5px;width:5px;border-radius:50%;background:#5a7789}.phase-track{list-style:none;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin:32px 0 36px}.phase-track li{position:relative;display:flex;flex-direction:column;gap:12px;font-size:10px;color:#929ba5;padding-right:12px}.phase-track li:before{content:'';position:absolute;top:11px;height:1px;left:24px;right:0;background:#dce2e9}.phase-track li:last-child:before{display:none}.phase-point{position:relative;z-index:1;display:grid;place-items:center;width:23px;height:23px;border:1px solid #d4dce4;background:#f7f8fa;border-radius:50%;color:#9aa4ae;font-size:9px}.current .phase-point{background:#253545;border-color:#253545;box-shadow:0 0 0 4px #e6ebf0}.phase-point>span{width:5px;height:5px;border-radius:50%;background:white}.phase-track li.current{color:#253545;font-weight:500}.record-facts{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:24px;padding-top:24px;border-top:1px solid #e5e9ee}.record-facts dt{font-size:10px;color:#8a929c;margin-bottom:8px}.record-facts dd{margin:0;font-size:12px;line-height:1.65;color:#344150}.record-facts dd small{display:block;color:#7d8792;font-size:11px}.record-unset{color:#929aa3}.record-rail{border-left:1px solid #e0e5eb;padding:32px 0 0 28px}.record-rail section{padding-bottom:28px;margin-bottom:26px;border-bottom:1px solid #e0e5eb}.record-rail section:last-child{border:0}.rail-label{font-size:10px;letter-spacing:.2px;color:#8a939d;margin-bottom:14px}.record-customer{display:flex;align-items:center;justify-content:space-between;font-size:16px;font-weight:500;letter-spacing:-.4px;color:#263240;gap:10px}.record-customer svg{width:15px;height:15px;color:#788592}.rail-type{font-size:11px;color:#818b96;margin:6px 0 14px}.record-company{display:inline-flex;padding:4px 8px;font-size:10px;border:1px solid #dce2e8;background:#f0f3f6;border-radius:4px;color:#606e7e}.rail-contact{margin:24px 0 0}.rail-contact>div{margin-bottom:18px}.rail-contact dt{font-size:10px;color:#929aa4;margin-bottom:5px}.rail-contact dd{margin:0;font-size:11px;overflow-wrap:anywhere;color:#465564}.rail-address{font-size:12px;color:#465564;line-height:1.8;white-space:pre-line}.record-rail .text-button{font-size:10px;gap:6px}.record-rail .text-button svg{width:12px;height:12px}.rail-date{font-size:11px;color:#677582}.record-count{color:#929ba5;font-size:11px;margin-left:7px;font-weight:400}.record-note{font-size:12px;line-height:1.9;white-space:pre-wrap;color:#637080;max-width:640px;margin:0}.record-block>.muted{font-size:12px;color:#929ba5;margin:12px 0}.record-block .task{padding:18px 0}.record-block .task:last-child{padding-bottom:0}.record-block .task-title{font-size:12px;font-weight:500;color:#344150}.record-block .task-sub{font-size:10px;color:#939ba5;margin-top:5px}.record-block .task-note{color:#7f8995;font-size:11px;margin-top:6px}.record-block .task-due{font-size:10px;color:#8b96a1}.record-block .task-due.overdue{color:#a36652}.record-block .task-check svg{color:#a5afb9;width:18px;height:18px}
@media(min-width:1101px){.workspace:has(.record-layout){background:#fafbfc}.workspace:has(.record-layout) main{padding:30px 44px 60px;max-width:1500px}}
@media(min-width:768px) and (max-width:1100px){.record-layout{grid-template-columns:minmax(0,1fr) 210px;gap:24px}.record-rail{padding-left:20px}.record-heading h1{font-size:28px}.record-heading{align-items:flex-start}.record-facts{grid-template-columns:1fr;gap:16px}.phase-track{gap:4px}.phase-track li{font-size:9px;padding-right:4px}}
@media(max-width:767px){.record-breadcrumb{margin-bottom:22px}.record-heading{display:block;padding-bottom:22px}.record-heading h1{font-size:28px;line-height:1.25;letter-spacing:-.8px}.record-heading p{font-size:12px}.record-heading .secondary{margin-top:20px}.record-tabs{gap:26px}.record-layout{display:flex;flex-direction:column;gap:0}.record-block{padding:24px 0}.record-facts{grid-template-columns:1fr 1fr;gap:20px}.record-facts>div:first-child{grid-column:1/-1}.phase-track{overflow-x:auto;grid-template-columns:repeat(5,minmax(90px,1fr));padding:4px 0 10px;margin:24px 0}.phase-track li{font-size:9px}.record-rail{border-left:0;border-top:1px solid #dee3e9;padding:28px 0 0}.record-rail section{margin-bottom:22px;padding-bottom:22px}.record-section-heading h2{font-size:14px}.record-block .task{flex-wrap:nowrap}.record-block .task-info{min-width:0}.record-block .task-due{white-space:normal;text-align:right;max-width:62px}.record-status{font-size:9px}.record-customer{font-size:18px}}
.record-breadcrumb,.record-kicker,.record-tabs a{font-size:12px}.record-facts dt,.rail-label,.rail-contact dt{font-size:11px}.record-facts dd,.rail-address{font-size:13px}.rail-contact dd,.rail-date{font-size:12px}.record-block .task-title{font-size:13px}.record-block .task-sub,.record-block .task-note{font-size:12px}.record-note{font-size:13px}.record-block .task-due{font-size:11px}.phase-track li{font-size:11px}.record-rail .text-button{font-size:11px}@media(max-width:767px){.phase-track li{font-size:10px}.record-block .task-title{font-size:13px}.record-tabs a{font-size:12px}}
