/* 1p1.ca identity. Source: live site CSS, inspected 2026-10-05.
   Colours and type families mirror the site; layouts adapt them for the application.
   Fonts are fetched and verified at build time, served only from this origin. */
@font-face{font-family:Inter;font-style:normal;font-weight:300 800;font-display:swap;src:url('/assets/fonts/inter-latin.woff2') format('woff2')}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:400 800;font-display:swap;src:url('/assets/fonts/jakarta-latin.woff2') format('woff2')}
:root{
 --brand-primary:hsl(10 54% 43%);--brand-dark:hsl(207 20% 20%);
 --brand-panel:hsl(29 28% 91%);--brand-border:hsl(29 21% 80%);
 --wine:var(--brand-primary);--wine-dark:hsl(10 54% 33%);
 --ink:var(--brand-dark);--muted:hsl(207 14% 40%);--line:hsl(29 18% 84%);
 --bg:#f6f5f3;--paper:#fff;--soft:hsl(10 54% 96%);
 --green:#32664e;--amber:#806026;--shadow:0 4px 18px #29353d06;
 --font-body:Inter,Arial,Helvetica,sans-serif;
 --font-title:'Plus Jakarta Sans',Inter,Arial,Helvetica,sans-serif;
}
body{font-family:var(--font-body);font-size:14px;line-height:1.6;color:var(--ink);background:var(--bg)}
h1,h2,h3,.btn,.topbar-title,.company-name,.nav-item{font-family:var(--font-title)}
h1{font-weight:800;letter-spacing:-.045em;text-transform:uppercase;line-height:1.15}
h2,h3{font-weight:700;letter-spacing:-.025em}
h1{font-size:34px}h2{font-size:22px}h3{font-size:16px}
.eyebrow{display:flex;align-items:center;gap:12px;color:var(--wine);font-size:10px;letter-spacing:.2em;line-height:1.6}
.eyebrow:before{content:'';display:inline-block;width:27px;height:3px;background:currentColor;flex-shrink:0}
.brand{display:inline-block;background:url('/assets/brand-icon.svg') center/contain no-repeat;width:64px;height:64px;font-size:0!important;letter-spacing:0;line-height:1;vertical-align:middle;flex-shrink:0}
.brand-label{color:var(--muted);font-size:9px;letter-spacing:.15em;font-weight:600;line-height:1.85;margin-top:10px}
.sidebar{width:232px;background:#fff;color:var(--ink);border-right:1px solid var(--line);border-top:4px solid var(--wine);padding:26px 20px}
.sidebar nav{margin-top:43px;gap:7px}
.nav-item{color:var(--muted);border:1px solid transparent;border-left:3px solid transparent;border-radius:3px;padding:12px 13px;font-size:12px;font-weight:600;min-height:46px}
.nav-item.active{background:var(--soft);color:var(--wine);border-left-color:var(--wine)}
.nav-item:hover{background:var(--bg);color:var(--ink)}
.nav-item.active:hover{background:var(--soft);color:var(--wine)}
.nav-icon{font-weight:400}
.sidebar-bottom{border-top:1px solid var(--line);color:var(--muted);padding-top:20px}
.sidebar-bottom strong{color:var(--ink);font-size:13px}
.sidebar-bottom #logout{color:var(--muted)!important;font-size:12px!important}
.private-mark{font-size:9px;letter-spacing:.14em;color:var(--muted)}
.workspace{margin-left:232px}
.topbar{height:80px;border-bottom:1px solid var(--line);background:white;padding:0 42px}
.topbar-title{font-size:13px;font-weight:700}
.language{border-radius:3px;border-color:var(--line)}
.language button{min-width:36px;min-height:31px;padding:5px 9px;border-radius:2px;font-weight:700}
.language .selected{background:var(--wine)}
.avatar{border-radius:4px;background:var(--brand-panel);color:var(--ink)}
.page{padding:42px 42px 65px}
.page-head{margin-bottom:30px}.page-head p{color:var(--muted);font-size:13px}
.btn{border-radius:3px;min-height:43px;padding:11px 18px;font-size:12px;font-weight:700;letter-spacing:.01em;box-shadow:none}
.btn.secondary{border-color:var(--line);color:var(--ink)}
.btn.small{min-height:34px}
.metrics{gap:16px}
.metric{border-radius:4px;border-color:var(--line);padding:24px;border-top:3px solid var(--brand-border);box-shadow:none}
.metric:first-child{border-top-color:var(--wine)}
.metric .number{font-family:var(--font-title);color:var(--ink);font-size:35px;font-weight:800;letter-spacing:-.04em}
.metric .label{font-size:12px;color:var(--muted)}
.metric .mini{color:var(--wine)}
.metric .foot{font-size:11px}
.panel,.summary-card{border-radius:4px;box-shadow:var(--shadow);border-color:var(--line)}
.panel-head{padding:23px 26px;border-bottom:1px solid var(--line)}
.panel-body{padding:26px}
.search{border-radius:3px;border-color:var(--line);font-size:13px;min-height:43px}
th{background:var(--brand-panel);color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.1em;line-height:1.5}
td{font-size:12px;border-color:#ece9e5}
tbody tr:hover{background:#faf9f7}
.company-monogram{border-radius:3px;background:var(--bg);color:var(--wine);border-color:var(--line)}
.company-name{font-size:13px}.subline{font-size:11px}
.progress{height:6px;background:#ebe7e1;border-radius:2px}.progress span{border-radius:2px}
.badge{border-radius:3px;font-size:10px;padding:4px 8px}
.badge.draft,.badge.provisional,.badge.scheduled,.badge.ready,.badge.sent{background:var(--soft);color:#94402d}
.badge.active,.badge.in_progress,.badge.processing,.badge.claimed{background:#f4ead4;color:#795d20}
.badge.submitted,.badge.approved,.badge.done,.badge.collection_complete,.badge.delivered{background:#eaf3ee;color:#32664e}
.activity-icon{background:var(--brand-panel);color:var(--wine);border-radius:4px}
.activity small{font-size:11px}
.callout{background:var(--soft);border:1px solid #e7cec5;border-left:3px solid var(--wine);border-radius:3px;color:#6d473c;font-size:13px}
.callout.neutral{background:#f5f5f2;color:var(--muted);border-color:var(--line);border-left-color:var(--muted)}
.callout.warning{background:#fbf6ea;color:#755a28;border-color:#e9dcc1;border-left-color:var(--amber)}
.tab{border-radius:3px;font-weight:600;min-height:40px}
.field>span{font-size:12px;font-weight:600}
.field input,.field textarea,.field select{border:1px solid hsl(29 14% 62%);border-radius:3px;font-size:14px;padding:12px;min-height:45px}
.field small,.note{font-size:12px;line-height:1.7;color:var(--muted)}
.modal{border-radius:5px}.modal header h2{font-weight:700}.modal-backdrop{background:#29353d60}
#toast{background:var(--brand-dark);border-radius:4px}
.login{grid-template-columns:1.08fr 1fr;background:#fff;border-top:5px solid var(--wine)}
.login-story{background:#fff;color:var(--ink);padding:40px 9% 38px;min-height:calc(100vh - 5px);border-right:1px solid var(--line);justify-content:space-between}
.login-story .brand{width:70px;height:70px;margin-left:-8px}
.login-story .brand-label{display:block;color:var(--muted);margin-top:0;font-size:10px;letter-spacing:.14em}
.login-story .eyebrow{color:var(--wine)}
.login-story h1{font-size:clamp(34px,3.55vw,57px);line-height:1.12;letter-spacing:-.045em;margin-top:26px;max-width:610px;font-weight:800;text-transform:uppercase}
.login-story h1 em{font-style:normal;color:var(--wine)}
.login-story p{color:var(--muted);font-size:14px;max-width:470px;margin-top:24px;line-height:1.8}
.login-lines{height:52px;gap:12px;align-items:center;opacity:1;max-width:230px}
.login-lines i{height:3px;transform:none;background:var(--line)}
.login-lines i:first-child{background:var(--wine)}
.login-story .private-mark{color:var(--muted);font-size:10px}
.login-form{background:var(--bg);padding:65px 7%;align-items:center;justify-content:center}
.login-form>.language{top:30px;right:32px}
.login-box{width:420px;max-width:100%;padding:36px 32px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--wine);border-radius:4px;box-shadow:0 12px 36px #29353d08}
.login-box h2{font-size:26px;font-weight:800;line-height:1.2}
.login-box>p{font-size:13px;line-height:1.7;margin-bottom:25px}
.login-box .btn{min-height:47px}
.login-foot{padding-top:20px;margin-top:25px}.login-foot .note{font-size:11px}
.summary-card .label{font-size:10px;font-weight:700}.summary-card .value{font-size:14px}
.report-top{background:var(--brand-dark);border-top:4px solid var(--wine);border-radius:4px}
.report-top .eyebrow{color:#e5ad9c}.report-top p,.report-score small{color:#d3d8db}
.report-score strong{font-family:var(--font-title);font-weight:800}
.section-heading>span,.dim-id{border-radius:3px}
.analysis-text{color:var(--muted);font-size:14px}
.evidence table{background:var(--bg)}.evidence td{font-size:12px}
.rec{border-radius:3px}.rec-num{color:var(--wine)}
.q-top{border-top:4px solid var(--wine);background:#fff;border-bottom:1px solid var(--line)}
.q-brand .brand{width:56px;height:56px}.q-brand>span{color:var(--muted)}
.q-main{border-radius:4px;border-color:var(--line);border-top:3px solid var(--wine);box-shadow:var(--shadow)}
.q-main h1{font-size:26px;line-height:1.3;text-transform:none;letter-spacing:-.03em;font-weight:800}
.q-meta,.q-progress-meta{color:var(--muted)}
.q-sections button{border-radius:3px;min-height:40px}
.q-sections button.active{background:var(--soft);color:var(--wine)}
.choice{border-radius:3px;border-color:var(--line);padding:16px;font-size:14px;line-height:1.6}
.choice:has(input:checked){background:var(--soft);border-color:var(--wine)}
.special{border-radius:3px;min-height:39px;font-size:11px;color:var(--muted)}
.private-caption{font-size:11px;color:var(--amber)}
.q-note summary{font-size:12px}.question-help{color:var(--muted);font-size:13px}
.q-intro .panel{border-top:3px solid var(--wine)}
.q-intro h1{font-size:30px;text-transform:none}.q-intro p{font-size:14px}
.footer-note{font-size:11px}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--wine);outline-offset:3px}
@media(min-width:1600px){.page{padding-top:52px}.login-story{padding-left:12%;padding-right:10%}}
@media(max-width:1100px){.sidebar{width:196px;padding:24px 16px}.workspace{margin-left:196px}.page{padding:32px 26px}.topbar{padding:0 26px}.login-story{padding:40px 8%}.login-box{padding:28px 25px}.login-story h1{font-size:36px}}
@media(max-width:780px){
 .sidebar{position:static;width:100%;padding:10px 16px;border-right:0;border-bottom:1px solid var(--line);gap:12px;min-height:74px}
 .sidebar .brand{width:48px;height:48px}.sidebar .brand-label,.sidebar-bottom{display:none}
 .sidebar nav{margin:0;gap:3px}.nav-item{padding:10px 8px;min-height:43px;font-size:0;border-left:1px solid transparent;border-bottom:2px solid transparent}.nav-item.active{border-left:1px solid transparent;border-bottom-color:var(--wine)}
 .workspace{margin:0}.topbar{height:66px;padding:0 18px;gap:12px}.topbar-title{font-size:11px}
 .topbar-actions{gap:8px}.topbar .mode{font-size:8px}.language button{min-width:33px;min-height:30px}
 .page{padding:25px 18px 45px}h1{font-size:28px}.metrics{gap:10px}.metric{padding:19px 16px}.metric .number{font-size:30px}.metric .label{font-size:11px}.metric .foot{font-size:10px}
 .panel-head,.panel-body{padding:20px}.page-head{gap:18px}.btn{white-space:normal}.head-actions{flex-wrap:wrap}
 .login{grid-template-columns:1fr}.login-story{padding:24px 26px 28px;min-height:auto;border-right:0;border-bottom:1px solid var(--line)}
 .login-story .brand{width:56px;height:56px}.login-story .brand-label{font-size:8px}.login-story .eyebrow{margin-top:29px;font-size:9px}
 .login-story h1{font-size:32px;max-width:480px;margin-top:18px}.login-story p{font-size:13px;margin-bottom:0;margin-top:18px}.login-lines,.login-story .private-mark{display:none}
 .login-form{padding:82px 18px 32px}.login-form>.language{top:21px;right:20px}.login-box{width:100%;padding:27px 23px}.login-box h2{font-size:25px}
 .login-box .eyebrow{font-size:9px}.login-foot{margin-top:23px}
 .report-top{padding:23px 20px}.report-top .eyebrow{font-size:9px}.report-score strong{font-size:38px}
 .q-top{padding:0 16px;height:80px}.q-brand .brand{width:44px;height:44px}.q-brand>span{font-size:10px;padding-left:10px}
 .q-main{padding:24px 19px}.q-main h1{font-size:23px}.q-layout{grid-template-columns:minmax(0,1fr);padding:0 16px}
 .choice{font-size:13px;padding:14px}.q-intro h1{font-size:25px}.q-intro{padding:0 16px}.q-intro .panel-body{padding:24px}
 .special-choices{flex-wrap:wrap}.special{font-size:11px}.q-bottom{flex-wrap:wrap}.summary-grid{grid-template-columns:1fr}
}
@media(max-width:380px){.nav-item{padding:8px 6px}.nav-icon{width:17px}.sidebar{gap:6px}.login-story h1{font-size:28px}.login-box{padding:25px 19px}.topbar-title{max-width:130px}.metrics{gap:8px}.metric .mini{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media print{body{background:#fff;color:var(--ink)}.workspace{margin:0}.page{padding:0}.panel{box-shadow:none;border:0;border-bottom:1px solid #ddd}.report-top{background:#fff!important;color:var(--ink);border:1px solid var(--line);border-top:4px solid var(--wine)}.report-top .eyebrow{color:var(--wine)}.report-top p,.report-score small{color:var(--muted)}.callout{background:#fff!important;color:var(--ink)}.eyebrow,.progress,.brand,.section-heading>span{-webkit-print-color-adjust:exact;print-color-adjust:exact}.q-main{box-shadow:none;border:0}.summary-grid{grid-template-columns:1fr 1fr}}
