@font-face{font-family:NunitoSans;src:url('/fonts/NunitoSans.ttf') format('truetype');font-weight:200 900;font-display:swap}
:root{--ink:#07344f;--ink-2:#0a4260;--deep:#0a5f8c;--green:#00bdc7;--green-2:#148594;--mint:#73e9ec;--paper:#f4fafc;--paper-2:#e5f0f5;--bg:#071e30;--surface:#0c2c42;--surface-2:#12394e;--card:#f4fafc;--card-2:#e5f0f5;--text:#f4fafc;--text-2:#adc6d4;--text-3:#8eaaba;--on-card:#07344f;--on-card-2:#527082;--line:#2b4c61;--card-line:#d6e7ed;--shadow:0 16px 45px #052d4b14;--radius:18px}
[data-theme=light]{--bg:#f3f8fb;--surface:#fff;--surface-2:#eaf2f7;--card:#fff;--card-2:#edf5f9;--text:#07344f;--text-2:#4a687d;--text-3:#617e8f;--on-card:#07344f;--on-card-2:#527082;--line:#d4e3ed;--card-line:#dbe9f0;--shadow:0 16px 45px #052d4b0e}
body{font-family:NunitoSans,system-ui,sans-serif;font-size:14px}
.display{font-family:NunitoSans,system-ui,sans-serif;font-weight:850;letter-spacing:-.045em;line-height:1.08;text-transform:none}
.display em{color:var(--green)}
.bf-logo{width:118px;height:29px;object-fit:contain}.brand-lock{gap:12px}.brand-lock b{letter-spacing:.05em}
.login-screen{background:#07344f;grid-template-columns:1.1fr .9fr}
.login-mesh{inset:0;transform:none;opacity:.9;background:radial-gradient(ellipse at 55% 85%,#2a4ffe60,transparent 42%),radial-gradient(ellipse at 15% 20%,#00bdc750,transparent 50%);mask:none}
.login-copy{padding:130px 6vw 75px}.login-copy h1{font-size:clamp(44px,5.4vw,84px);line-height:1.04;max-width:660px;position:relative;z-index:2}.login-copy h1 em{color:#73e9ec}.login-top{left:6vw;right:6vw}.login-copy .kicker{font-size:11px;color:#8af2f3}.login-lede{font-size:18px;max-width:490px;position:relative;z-index:2}.login-proof{position:relative;z-index:2}.login-proof span{border-radius:30px;font-size:10px;letter-spacing:.03em;color:#e1f7fb}
.login-panel{background:#f4fafc;border-radius:38px 0 0 38px;padding:48px}.login-card h2{font-size:44px}.login-card>p{color:#527082}.login-submit{border-radius:12px;background:#0a5f8c;font-size:12px;font-weight:800;letter-spacing:0;text-transform:none;min-height:50px}.login-submit:hover{background:#087b9e}.login-security{color:#527082}.login-card .field label,.password-card .field label{color:#527082}
.login-copy:after{content:"";position:absolute;right:-5%;bottom:0;width:95%;height:45%;background:url('/assets/brightfit-ribbon.svg') right bottom/contain no-repeat;opacity:.55;pointer-events:none}
.sidebar{background:linear-gradient(170deg,#0a5f8c,#07344f 70%);border:0}.sidebar-brand{padding:30px 23px 24px}.sidebar-brand>.display{font-size:29px;letter-spacing:-1px;margin-bottom:18px}.sidebar-brand small{font-size:9px;color:#b7dbe6;letter-spacing:.05em}.sidebar-glow{background:radial-gradient(circle,#00bdc770,transparent 70%)}.sidebar nav button{color:#c5e0ed;border-radius:12px;min-height:45px}.sidebar nav button:hover{background:#ffffff12}.sidebar nav button[aria-current=true]{background:#ffffff19;color:#fff}.sidebar nav button[aria-current=true]:before{background:#5df4fc;width:3px;border-radius:3px}.sidebar-user{background:#052c4433}.sidebar-user small{color:#b7dbe6}.sidebar-user button{color:#b7dbe6}.bf-guide{display:flex;align-items:center;gap:12px;margin:23px 0 0;padding:13px 11px;border-top:1px solid #ffffff25;color:#b7eef1;font-size:12px}.bf-guide:hover{color:white}
.topbar{height:76px}.top-actions>button,.org-badge,.global-search{border-radius:12px}.org-badge{letter-spacing:.03em}.content{padding:30px 34px 45px}.workspace-footer{font-size:10px;letter-spacing:.02em;text-transform:none}.section-index,.card-kicker{font-size:10px;font-weight:800;letter-spacing:.09em}
.hero-work,.project-hero{border-radius:24px;background:linear-gradient(120deg,#0a5f8c,#07344f 68%);overflow:hidden;position:relative;border:0;color:#fff}.hero-grid,.project-hero-grid{inset:0;transform:none;opacity:.8;mask:none;background:url('/assets/brightfit-ribbon.svg') right center/auto 140% no-repeat}.hero-copy{position:relative;z-index:1}.hero-copy h1{font-size:clamp(36px,4vw,58px);line-height:1.08;max-width:650px}.hero-copy h1 em{color:#7deef1}.hero-copy p{font-size:14px;max-width:530px;color:#d2e9f2}.hero-copy .section-index{color:#9fe9ef}.hero-side{position:relative;z-index:1;border-color:#ffffff30}.hero-side strong{font-size:82px}.hero-side>span,.hero-side small{color:#d2e9f2}.hero-pulse{color:#bff9f9}.hero-work .btn.primary{background:#8bf2ed;border-color:#8bf2ed;color:#07344f}.hero-work .btn.glass{background:#07344f88}.project-title h1{font-size:clamp(30px,4vw,52px);max-width:850px}.project-hero .display,.project-hero .project-code{color:white}.project-score strong{font-size:64px}.project-hero p{color:#d2e9f2}
.view-head h1{font-size:clamp(36px,4.5vw,58px)}.view-head{margin-top:12px}.section-title h2{font-size:28px}.content-head h2{font-size:30px}.metric-grid{gap:16px}.metric{border-radius:16px;box-shadow:none;min-height:146px;padding:20px}.metric:after{height:3px;background:linear-gradient(90deg,#00bdc7,#2a4ffe)}.metric strong{font-size:43px}.metric>span,.metric small{color:#557184}.metric>span{letter-spacing:.06em}.metric-icon{background:#00bdc710;color:#0a5f8c}
.project-card,.paper-card,.file-card,.person-card,.contractor-card,.question-card,.activity-panel,.access-note{border-radius:18px}.project-card{box-shadow:0 5px 22px #07344f06}.project-card:hover{border-color:#00bdc7;box-shadow:0 12px 32px #0a5f8c12}.project-card h3{font-size:28px;line-height:1.12}.project-progress>span{border-radius:20px}.project-progress i{background:linear-gradient(90deg,#00bdc7,#2a4ffe);border-radius:20px}.person-card h3{font-size:25px}.file-card h3{font-size:22px}.paper-card h3{font-size:25px}.focus-row{border-radius:12px}.focus-row:hover{background:var(--surface-2)}
.btn{border-radius:10px;font-size:11px;font-weight:800;text-transform:none;letter-spacing:0;min-height:40px;padding:10px 15px}.btn.primary{background:#0a5f8c;color:#fff;border-color:#0a5f8c}.btn.primary:hover{background:#087e9e;border-color:#087e9e}.btn.small{font-size:10px;min-height:32px}.btn.glass{background:#0a426080;color:white}.field label{font-size:10px;font-weight:800;letter-spacing:.04em;color:var(--text-2)}.field input,.field select,.field textarea,.board-toolbar select{border-radius:10px;padding:12px 13px}.field input:focus,.field textarea:focus,.field select:focus{box-shadow:0 0 0 3px #00bdc71a;border-color:#00bdc7}.field small{color:var(--text-2)}
.modal{border-radius:22px}.modal-head h2{font-size:32px}.kanban-col{border-radius:16px}.kanban-card{border-radius:12px}.kanban-col-head h3{font-family:NunitoSans,sans-serif;font-size:17px}.project-tabs{gap:5px}.project-tabs button{border-radius:10px 10px 0 0}.password-screen{background:radial-gradient(circle at 75% 15%,#00bdc740,transparent 50%),#07344f}.password-card{border-radius:24px}.password-card h1{font-size:38px}.password-card .bf-logo{filter:none;background:#0a5f8c;border-radius:7px;padding:4px}.empty h3{font-size:24px}
@keyframes bfFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(1deg)}}
@media(prefers-reduced-motion:no-preference){.hero-grid,.login-copy:after{animation:bfFloat 16s ease-in-out infinite}.btn,.sidebar nav button,.top-actions>button{transition:background .2s,color .2s,transform .2s,box-shadow .2s}.btn:active{transform:scale(.98)}.project-progress i{transition:width .65s ease}.hero-work{animation:rise .5s ease both}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:1100px){.hero-copy h1{font-size:40px}.content{padding:26px 22px}.hero-side strong{font-size:64px}.login-copy h1{font-size:52px}.login-top>span{display:none}}
@media(max-width:760px){.login-screen{grid-template-columns:1fr}.login-copy{min-height:390px;padding:112px 26px 45px}.login-copy h1{font-size:44px}.login-top{left:26px;right:26px;top:28px}.login-panel{border-radius:28px 28px 0 0;padding:32px 26px}.login-proof{margin-top:24px}.login-lede{font-size:15px;margin-top:22px}.login-card h2{font-size:36px}.content{padding:20px 16px}.hero-work{border-radius:20px}.hero-copy h1{font-size:34px}.hero-copy p{font-size:13px}.hero-side strong{font-size:46px}.mobile-brand>.display{font-size:22px}.mobile-brand .bf-logo{width:90px;height:22px}.mobile-brand .brand-lock b{color:var(--text)}.mobile-brand .bf-logo{background:#0a5f8c;border-radius:6px;padding:3px}.view-head h1{font-size:36px}.project-title h1{font-size:31px}.project-score strong{font-size:48px}.metric{padding:15px;min-height:132px}.metric strong{font-size:36px}.topbar{height:auto}.modal-head h2{font-size:27px}.sidebar .bf-guide{margin:4px 0;border-top:0;white-space:nowrap}.project-card h3{font-size:25px}.workspace-footer{flex-direction:column;gap:5px}.login-copy:after{opacity:.35}.global-search{border-radius:10px}}
.hero-work .hero-grid{inset:0;opacity:.75;transform:none;background-position:130% center;background-size:auto 140%}.hero-side,.project-score{background:#07344f88;border-radius:16px}.avatar{background:#0a5f8c;border-color:#00bdc740}.avatar.xl,.project-progress b,.stage span{font-family:NunitoSans,sans-serif}.split-layout>div{border-radius:18px;overflow:hidden}.project-card:before{background:radial-gradient(circle,#00bdc720,transparent 70%)}.project-meta{color:#527082}.project-score span,.project-score small{color:#d2e9f2}.hero-side>small,.hero-side>span{color:#d2e9f2}.tag{border-radius:7px;letter-spacing:.03em}.hero-work{grid-template-columns:minmax(0,1fr) 190px;gap:30px;padding:38px;min-height:370px}.hero-side{padding:22px}.project-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1100px){.hero-work{grid-template-columns:minmax(0,1fr) 150px;padding:28px;gap:20px}.hero-side{padding:18px}}
@media(max-width:760px){.hero-work{grid-template-columns:1fr;padding:26px;min-height:0}.hero-side{display:none}.project-grid.compact{grid-template-columns:1fr}.hero-work .hero-grid{opacity:.35;background-position:center}.project-hero{grid-template-columns:1fr}.project-score{display:none}}
.need-card{background:linear-gradient(120deg,#0a5f8c,#07344f);border-radius:18px}.toast{background:#07344f;border-radius:12px}.file-icon{color:#0a5f8c}.kanban-col>header span{font-size:16px;font-weight:800}.modal>header h2{font-size:32px}.commercial-values strong{font-size:24px}.stage span{font-size:17px;font-weight:800}.day-number{font-size:16px;font-weight:700}
@media(max-width:980px){.sidebar nav{background:#07344f}.sidebar .bf-guide{margin:0;padding:8px 12px;border:0;white-space:nowrap}.mobile-brand .bf-logo{display:none}}

/* Consistent alignment across cards, discussions and task forms. */
.avatar,.project-meta .avatar,.comment-mini .avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1;letter-spacing:0;text-indent:0;padding:0;margin-top:0;margin-bottom:0;color:var(--paper)}
.selection-pricing{padding:24px}.selection-pricing h3{margin:14px 0 16px;line-height:1.2}.selection-pricing p{margin:0;color:var(--on-card-2);line-height:1.65}
.internal-card,.commercial-card,.form-section{border-radius:18px}.internal-title{flex-direction:column;align-items:flex-start;gap:12px}.internal-title h3{font-size:25px;line-height:1.2}.internal-grid{border-radius:12px;overflow:hidden;grid-template-columns:repeat(2,minmax(0,1fr))}
.summary-main,.summary-side,.lead-person>div,.field,.task-title,.task-owner,.commercial-values>div{min-width:0}.lead-person b,.internal-grid p,.detail-grid b,.commercial-values strong{overflow-wrap:anywhere}.form-section{padding:20px}.commercial-head{gap:16px;flex-wrap:wrap}.commercial-actions{flex-wrap:wrap}
.project-meta>span{min-width:0}.project-meta>span:last-child{flex-shrink:0}.project-next>span{white-space:normal;line-height:1.55;overflow-wrap:anywhere}
@media(max-width:760px){.selection-pricing,.internal-card,.commercial-card{padding:20px}.internal-grid{grid-template-columns:1fr}.internal-title h3,.selection-pricing h3{font-size:23px}.form-section{padding:16px}.commercial-values{grid-template-columns:repeat(2,minmax(0,1fr))}}
.paper-card .empty{color:var(--on-card-2)}.paper-card .empty h3,.paper-card .empty p{color:var(--on-card-2)}
