/* Kinetic workspace: palette, typography and components from the approved reference. */
@font-face{font-family:Inter;src:url('./brand/InterVariable.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{--k-canvas:#efeee9;--k-surface:#fafaf6;--k-raised:#fff;--k-soft:#e8e9e1;--k-line:#dadcd2;--k-text:#22271f;--k-muted:#71776b;--k-accent:#d3441b;--k-accent-text:#c03c16;--k-on-accent:#fff;--k-wash:#fae4d9;--k-violet:#6c52a9;--k-violetwash:#ece6f7;--k-info-bg:#ece6f7;--k-success:#26744d;--k-success-bg:#e2efdf;--k-warning:#8b5a17;--k-warning-bg:#f5ebd5;--k-danger:#b23232;--k-danger-bg:#fae8e3;--k-inverse:#fff;--k-shadow:0 22px 70px #252d2410;--surface:var(--k-surface);--border:var(--k-line);--primary:var(--k-accent-text);color-scheme:light;background:var(--k-canvas);color:var(--k-text)}
:root[data-appearance=neon]{--k-canvas:#090d14;--k-surface:#111822;--k-raised:#18212d;--k-soft:#18212d;--k-line:#2a3541;--k-text:#edf5f3;--k-muted:#91a4b3;--k-accent:#6affce;--k-accent-text:#6affce;--k-on-accent:#09271b;--k-wash:#17392e;--k-violet:#c1a6ff;--k-violetwash:#2a223e;--k-info-bg:#2a223e;--k-success:#83e8b6;--k-success-bg:#153629;--k-warning:#edc684;--k-warning-bg:#362c1d;--k-danger:#ffaaa9;--k-danger-bg:#3a232b;--k-inverse:#090d14;--k-shadow:0 22px 70px #0005;color-scheme:dark}
html{scrollbar-color:var(--k-line) var(--k-canvas)}
body{margin:0;background:var(--k-canvas);color:var(--k-text);font:13px/1.5 Inter,Arial,sans-serif}
body :is(button,input,select,textarea){font-family:inherit}
body input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),body select,body textarea{color:var(--k-text);background:var(--k-canvas);border:1px solid var(--k-line);border-radius:5px;padding:11px 12px;min-height:44px;max-width:100%}
body :is(button,a,input,select,textarea):focus-visible{outline:3px solid var(--k-accent);outline-offset:3px}
body :is(a,.link){color:var(--k-accent-text)}
body button{min-height:42px;border:1px solid var(--k-line);border-radius:5px;padding:10px 16px;font-size:12px;font-weight:500;background:var(--k-surface);color:var(--k-text);transition:background .18s,border-color .18s,transform .18s}
body button:hover{background:var(--k-raised);border-color:var(--k-muted)}
body :is(.primary,.phoneAction),body[data-brand=pro] .primary{background:var(--k-accent);color:var(--k-on-accent);border-color:var(--k-accent);font-weight:600}
body :is(.primary:hover,.phoneAction:hover),body[data-brand=pro] .primary:hover{background:var(--k-accent);color:var(--k-on-accent);filter:brightness(.96);transform:translateY(-1px)}
body .ghost{background:transparent;border-color:transparent}
body :is(.muted,.caption,.eyebrow){color:var(--k-muted)}
body h1{font-size:38px;line-height:1.15;letter-spacing:-1.6px;font-weight:650}
body h2{font-size:17px;font-weight:600;letter-spacing:-.35px}
body h3{font-size:15px;font-weight:600;letter-spacing:-.25px}
body .eyebrow{font-size:9px;letter-spacing:1.7px;font-weight:500}
body .caption{font-size:11px}
body :is(.panel,.authPanel,.tile,.proJob,.calendarRow,.orderCard,.pi-inset){background:var(--k-surface);border:1px solid var(--k-line);border-radius:9px;box-shadow:none}
body .panel{padding:22px}body .panel.scrollPanel{padding:0}
body :is(.field input,.field select,.field textarea,.pi input,.pi select,.pi textarea,.wallet input,.wallet select){border:1px solid var(--k-line);border-radius:5px;background:var(--k-canvas);color:var(--k-text);min-height:44px;font-size:13px}
body input::placeholder,body textarea::placeholder{color:var(--k-muted)}
body :is(.field label,.wallet label){font-size:11px;color:var(--k-muted);font-weight:400}
body :is(input[type=checkbox],progress){accent-color:var(--k-accent)}
body .avatar{background:var(--k-violetwash);color:var(--k-violet);font-size:11px}
body .badge,body .tag{border-radius:20px;font-size:10px;padding:4px 9px;background:var(--k-soft);color:var(--k-muted)}
body :is(.badge.work,.badge.active,.tag.good){background:var(--k-success-bg);color:var(--k-success)}
body :is(.badge.quality,.badge.trial,.badge.pending){background:var(--k-violetwash);color:var(--k-violet)}
body :is(.badge.overdue,.badge.failed,.badge.declined,.badge.canceled){background:var(--k-danger-bg);color:var(--k-danger)}
body .alert.info{background:var(--k-violetwash);border-color:var(--k-line);color:var(--k-violet)}
body .empty{background:var(--k-surface);border-color:var(--k-line)}
body .table{background:var(--k-surface);font-size:12px}
body .table th{background:var(--k-surface);color:var(--k-muted);font-size:10px;letter-spacing:.2px}
body .table :is(td,th){padding:16px 20px;border-color:var(--k-line)}
body .table tbody tr:hover{background:var(--k-raised)}
body .panelHeader{margin-bottom:20px}
body .pageHeader{align-items:flex-end;margin-bottom:27px}
body .pageHeader p{font-size:12px;margin-top:11px;line-height:1.6}
body .shell{grid-template-columns:206px minmax(0,1fr)}
body .sidebar{padding:24px 16px;background:var(--k-surface);border-color:var(--k-line);gap:18px}
body .sidebar .brandLockup img{width:160px;height:42px;object-fit:contain;object-position:left}
body .sidebar .workspaceSelect{font-size:11px;padding:8px 10px;min-height:36px;background:transparent;border-radius:5px}
body .sidebar .nav{gap:5px}
body .sidebar .nav button{font-size:12px;min-height:44px;padding:12px;gap:12px;border:0;border-radius:7px;background:transparent;color:var(--k-muted);font-weight:400}
body .sidebar .nav button:hover{background:var(--k-canvas)}
body :is(.nav button.active,.bottomNav button.active,.proTabs button.active),body[data-brand=pro] :is(.nav button.active,.bottomNav button.active){background:var(--k-wash);color:var(--k-accent-text);font-weight:600}
body .sidebar footer{padding:18px 8px 0;font-size:11px;border-color:var(--k-line)}
body .sidebar footer .caption{font-size:10px}
body .topbar{height:72px;padding:0 32px;background:var(--k-canvas);border-color:var(--k-line);gap:12px}
body .topbar .search{max-width:360px;font-size:11px}
body .topbar .search input{font-size:12px;color:var(--k-text)}
body .desktopWorkspaceName{font-size:10px}
body .content{padding:34px 32px 40px;max-width:1500px;animation:kineticWorkspaceIn .3s ease both}
body .kpis{gap:12px;margin:24px 0 25px}
body .kpi{border:0;border-top:1px solid var(--k-line);border-radius:0;padding:18px 0 8px;background:transparent;box-shadow:none}
body .kpi .muted{font-size:11px}
body .kpi strong{font-size:34px;font-weight:600;letter-spacing:-1.3px;margin-top:13px;font-variant-numeric:tabular-nums}
body .kpi small{font-size:10px;font-weight:400;letter-spacing:0;color:var(--k-muted)}
body .orderCard{padding:15px;border-left:3px solid var(--k-accent);background:var(--k-wash);border-radius:5px}
body .orderCard:hover{background:var(--k-wash);border-color:var(--k-accent);transform:translateY(-2px);box-shadow:none}
body .orderCard h3{font-size:13px}body .orderCard .muted{font-size:11px}
body .bay{background:var(--k-surface);border-color:var(--k-line);border-radius:9px}
body .bay:nth-child(even) .orderCard{background:var(--k-violetwash);border-left-color:var(--k-violet)}
body :is(.drawer,.drawerHeader,dialog){background:var(--k-surface);color:var(--k-text);border-color:var(--k-line)}
body .overlay{background:#050d1880;backdrop-filter:blur(7px)}
body dialog{border:1px solid var(--k-line);border-radius:13px;box-shadow:var(--k-shadow)}
body dialog::backdrop{background:#050d1880;backdrop-filter:blur(7px)}
body .settingsTabs button{border-radius:30px;background:transparent;color:var(--k-muted);font-size:11px}
body .settingsTabs button[aria-current=page]{background:var(--k-wash);color:var(--k-accent-text);border-color:var(--k-accent)}
body .bottomNav{background:var(--k-surface);border-color:var(--k-line)}
body .kineticThemeToggle{display:inline-grid;place-items:center;flex:none;width:36px;height:36px;min-height:36px;padding:7px;border:1px solid var(--k-line);background:var(--k-surface);color:var(--k-muted);border-radius:50%;line-height:1;font-size:19px}
.kineticThemeToggle svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.5}
.kineticThemeFloating{position:fixed;right:18px;top:18px;z-index:15}
.authPanel>.kineticThemeToggle,.portal>.kineticThemeToggle,.wizard>.kineticThemeToggle{position:absolute;right:22px;top:22px}
.authPanel,.portal,.wizard{position:relative}

/* Real CRM overview: open metrics, compact schedule and contextual work beside it. */
.kineticPageHeading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px}
.kineticPageHeading .eyebrow{margin-bottom:10px}
.kineticPageHeading h1 em{font-style:normal;color:var(--k-accent-text)}
.kineticPageHeading p{font-size:12px;color:var(--k-muted);margin-top:11px}
.kineticToday .kineticSector{display:flex;gap:8px;align-items:center;margin-bottom:22px}
.kineticSector>span{border:1px solid var(--k-text);background:var(--k-surface);padding:7px 12px;border-radius:30px;font-size:11px}
.kineticSector>button{margin-left:auto;font-size:11px;padding:6px 10px;min-height:34px}
.kineticToday .kpis{margin-top:0}
.kineticTodayGrid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(240px,1fr);gap:18px;align-items:start}
.kineticSchedule{overflow:hidden;background:var(--k-surface);border:1px solid var(--k-line);border-radius:9px}
.kineticScheduleHead{display:flex;justify-content:space-between;align-items:center;padding:19px 20px;border-bottom:1px solid var(--k-line);gap:12px}
.kineticScheduleHead h2{font-size:14px}
.kineticScheduleHead button{padding:3px 0;min-height:30px;font-size:10px;color:var(--k-accent-text)}
.kineticLanes{display:grid;grid-auto-columns:minmax(150px,1fr);grid-auto-flow:column;gap:8px;padding:0 14px 14px;overflow:auto}
.kineticLaneTitle{font-size:10px;color:var(--k-muted);padding:15px 0}
.kineticLaneBody{min-height:260px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 72px,var(--k-line) 73px,transparent 74px);display:grid;align-content:start;gap:16px;padding:8px 0}
body .kineticBooking{display:block;width:100%;text-align:left;background:var(--k-wash);border:0;border-left:3px solid var(--k-accent);padding:13px 10px;border-radius:5px;min-height:110px}
body .kineticBooking:hover{background:var(--k-wash);transform:translateY(-3px)}
.kineticLane:nth-child(even) .kineticBooking{background:var(--k-violetwash);border-color:var(--k-violet)}
.kineticBooking time{font-size:9px;color:var(--k-accent-text)}
.kineticBooking strong{display:block;font-size:11px;line-height:1.5;margin-top:9px;overflow-wrap:anywhere}
.kineticBooking small{display:block;font-size:9px;margin-top:5px;color:var(--k-muted)}
.kineticBooking .kineticPerson{font-size:9px;margin-top:15px}
.kineticPerson::before{content:'●';color:var(--k-accent);font-size:8px;margin-right:6px}
.kineticDaylist{display:none}
.kineticTodayAside{display:grid;gap:15px}
.kineticTodayAside .panel{margin:0;padding:20px}
.kineticTodayAside h2{font-size:14px}
.kineticTodayAside .attentionRow{padding:16px 0;border:0;border-bottom:1px solid var(--k-line);border-radius:0;background:transparent;font-size:11px;gap:12px}
.kineticTodayAside .attentionRow .row{gap:6px}
.kineticTodayAside .attentionRow .caption{font-size:10px;line-height:1.6;margin-top:5px}
.kineticTodayAside .attentionRow:last-of-type{border-bottom:0}
.kineticTodayAside .panelHeader{margin-bottom:5px}
.kineticToday .dailyFinance{margin-top:20px;background:var(--k-violetwash);border:0}
.kineticToday .dailyFinance .financeGrid strong{font-size:22px;color:var(--k-violet);font-weight:600}
.kineticToday .dailyFinance p{font-size:10px}
.kineticDetails{margin-top:24px;border-top:1px solid var(--k-line);padding-top:18px}
.kineticDetails>summary{font-size:12px;cursor:pointer;color:var(--k-muted);padding:8px 0}
.kineticDetails[open]>summary{margin-bottom:16px}

/* Contractor navigation stays a single set of real controls at both breakpoints. */
body:has(.proMain){background:var(--k-canvas)}
body .proMain{max-width:1300px;padding:24px 32px 45px;margin-left:206px;margin-right:auto;min-height:100dvh}
body .proMain>header.proHeader{min-height:48px;padding-bottom:22px;border-bottom:1px solid var(--k-line);margin-bottom:32px;flex-wrap:nowrap}
body .proMain>header.proHeader .smallLogo{min-width:0;max-width:190px}
body .proMain>header.proHeader .smallLogo img{max-width:190px}
body .proMain>header.proHeader>.row{margin-left:auto}
body .proMain .proHeader h1{font-size:38px;font-weight:650}
body .proMain .proGrid{gap:14px}
body .proJob{padding:20px;gap:12px;font-size:12px;transition:transform .2s,border-color .2s}
body .proJob:hover{transform:translateY(-3px);background:var(--k-surface);border-color:var(--k-accent)}
body .proJob .amount{font-size:20px;font-weight:550}
body .proTabs{right:auto;bottom:0;top:0;width:206px;display:flex;flex-direction:column;justify-content:flex-start;padding:104px 16px 24px;gap:5px;border:0;border-right:1px solid var(--k-line);background:var(--k-surface)}
body .proTabs::before{content:'CLIENTORA PRO';position:absolute;top:33px;left:28px;font-size:11px;letter-spacing:1.8px;color:var(--k-muted)}
body .proTabs button{flex:0 0 auto;text-align:left;justify-content:flex-start;max-width:none;border-radius:7px;min-height:44px;padding:13px 12px;font-size:12px}
body .proMain:not(:has(+.proTabs)){margin-inline:auto;max-width:1360px}
body .proMain input:not([type=checkbox]),body .proMain textarea,body .proMain select{background:var(--k-canvas);border:1px solid var(--k-line);border-radius:5px;padding:11px 12px;color:var(--k-text);min-height:44px}
body .proDetails dt{font-size:11px}body .proDetails dd{font-size:13px}

/* Catalog, supplier APIs and publication tools. */
body .pi{max-width:1380px;padding:0 32px 40px}
body .pi>header{min-height:72px;align-items:center;border-bottom:1px solid var(--k-line);margin-bottom:34px;gap:16px}
body .pi>header>a{color:var(--k-text);font-size:16px}
body .pi>header>span{margin-right:auto;font-size:11px;color:var(--k-muted)}
body .pi h1{font-size:38px;font-weight:650;letter-spacing:-1.6px}
body .pi>.muted{font-size:12px;line-height:1.7;max-width:760px;margin-top:11px}
body .pi .pi-brand img{width:38px;height:38px}
body .pi .pi-tabs{gap:5px;border-bottom:1px solid var(--k-line);padding-bottom:12px}
body .pi .pi-tabs button{border-radius:7px;background:transparent;color:var(--k-muted);font-size:12px;padding:11px 16px}
body .pi .pi-tabs button.selected{background:var(--k-wash);color:var(--k-accent-text);border-color:transparent}
body .pi section{margin:20px 0}
body .pi :is(.notice,.pi-inset){border-radius:7px;background:var(--k-surface);color:var(--k-text);border-color:var(--k-line)}
body .pi .notice{background:var(--k-success-bg);color:var(--k-success);font-size:12px}
body .pi :is(td,th){padding:16px 20px;border-color:var(--k-line);font-size:12px}
body .pi th{font-size:10px;font-weight:500;color:var(--k-muted);background:var(--k-surface)}
body .pi tr:hover{background:var(--k-raised)}
body .pi .pi-metrics>div{border-radius:0;border:0;border-top:1px solid var(--k-line);background:transparent}
body .pi .pi-metrics strong{font-size:28px;font-weight:600}
body .pi footer{font-size:11px;border-top:1px solid var(--k-line);padding-top:22px}

/* Real billing controls, consents and invoice actions retain their existing handlers. */
body .wallet{max-width:1320px;padding:0 32px 40px}
body .wallet .top{min-height:80px;gap:20px;flex-wrap:wrap;padding:15px 0;font-size:11px}
body .wallet .brand{margin-right:auto}
body .wallet .brand img{width:160px;height:34px;object-fit:contain;display:block}
body .wallet .brand span{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;margin-top:8px;color:var(--k-muted)}
body .wallet .heading{margin:34px 0 28px;align-items:flex-end}
body .wallet .heading h1{font-size:38px;letter-spacing:-1.6px;font-weight:650}
body .wallet .heading p{font-size:12px}
body .wallet .tile{border-radius:9px;padding:24px;background:var(--k-surface)}
body .wallet .tile h3{font-size:17px}
body .wallet .tile p{font-size:12px;line-height:1.7}
body .wallet .price{font-size:30px;font-weight:600;letter-spacing:-1px;color:var(--k-text)}
body .wallet .grid{gap:18px}
body .wallet .history{border-radius:9px;background:var(--k-surface)}
body .wallet :is(td,th){font-size:12px;border-color:var(--k-line)}
body .wallet th{font-size:10px;background:var(--k-surface)}
body .wallet p{color:var(--k-muted)}
body .wallet .summary{background:var(--k-violetwash);border-radius:7px}
body .wallet .summary strong{color:var(--k-violet)}
body .wallet :is(.invoice-pause,#notice:not(:empty)){background:var(--k-violetwash);color:var(--k-violet);border-color:var(--k-line);border-radius:7px;font-size:12px}
body .wallet .invoice-pause p{color:inherit}

/* Authentication and guarded customer pages. */
body .auth{max-width:1120px;gap:90px}
body .authIntro h1{font-size:48px;font-weight:650;line-height:1.12;letter-spacing:-2px}
body .authIntro p{font-size:14px;line-height:1.8}
body .authIntro .brand{margin-bottom:45px}
body .authPanel{padding:34px;background:var(--k-surface);border-radius:9px}
body .authPanel h2{font-size:28px;font-weight:600;margin:10px 0 20px}
body .authPanel>.kineticThemeToggle{top:-48px;right:0}
body .portal{max-width:900px;padding:28px 32px 60px}
body .portal>header{border-bottom:1px solid var(--k-line);padding-bottom:22px;margin-bottom:30px}
body .portal .brand{margin-bottom:0}
body .portal>h1{font-size:38px;margin:12px 0 24px}
body .portal>.eyebrow{margin-bottom:10px}
body .portal .panel{margin-top:18px}
body .portal>.kineticThemeToggle{top:28px;right:108px}
body .portal .photos{margin-top:20px}
body .portal .approval{background:var(--k-violetwash);border-color:var(--k-line);border-radius:9px}
@keyframes kineticWorkspaceIn{from{opacity:.45;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:1100px){body .content{padding:28px 24px 40px}.kineticTodayGrid{grid-template-columns:minmax(0,1fr)}.kineticTodayAside{grid-template-columns:repeat(2,minmax(0,1fr))}body .proMain{padding-inline:24px}}
@media(max-width:767px){
 body{font-size:13px}body .shell{display:block}body .sidebar{display:none}
 body h1{font-size:32px;letter-spacing:-1.4px}body .content{padding:27px 20px 105px}
 body .topbar{min-height:68px;height:auto;padding:12px 20px;gap:8px;flex-wrap:wrap}
 body .topbar .mobileBrand{display:block;margin-right:auto;width:auto;flex:1 1 calc(100% - 52px)}
 body .topbar .mobileBrand .brandLockup img{width:160px;height:36px}
 body .topbar>.row{order:3;margin-left:auto}
 body .topbar .mobileWorkspace{order:2;max-width:none;width:calc(100% - 85px);flex:1;margin:0;font-size:11px;min-height:34px;padding:6px 9px;background:transparent}
 body .topbar .search,body .topbar .desktopWorkspaceName{display:none}
 body .topbar .kineticThemeToggle{order:1;margin-left:0;width:36px;height:36px}
 body .shell:has(.kineticToday) .topbar>[class=row]>[data-action=booking]{display:none}
 body .topbar>.row>.ghost{min-height:34px;padding:5px 8px}
 body .topbar .primary{font-size:11px;min-height:34px;padding:6px 10px}
 body .pageHeader{margin-bottom:23px}body .pageHeader p{font-size:12px}
 body .kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:20px 0 22px}
 body .kpi{padding:15px 0 8px;min-width:0}body .kpi .muted{font-size:9px;line-height:1.5;min-height:28px}body .kpi strong{font-size:26px;margin-top:8px}
 body .kineticPageHeading{display:block;margin-bottom:22px}body .kineticPageHeading h1{font-size:32px}
 .kineticPageHeading>.primary{width:100%;margin-top:20px;min-height:44px}
 .kineticPageHeading p{font-size:12px;line-height:1.6}
 .kineticToday .kineticSector{margin-bottom:18px}
 .kineticSector>span{font-size:10px;padding:7px 10px}
 .kineticSector>button{font-size:10px;max-width:170px;white-space:normal;text-align:right}
 .kineticTodayGrid,.kineticTodayAside{grid-template-columns:minmax(0,1fr)}
 .kineticLanes{display:none}.kineticDaylist{display:block;padding:0 16px}
 body .kineticDayRow{display:flex;width:100%;justify-content:space-between;gap:10px;align-items:center;padding:17px 0;border:0;border-bottom:1px solid var(--k-line);border-radius:0;background:transparent;text-align:left}
 .kineticDayRow:last-child{border-bottom:0}.kineticDayRow>div{display:flex;gap:13px;min-width:0;align-items:flex-start}
 .kineticDayRow time{font-size:11px;color:var(--k-accent-text);min-width:35px;padding-top:2px}
 .kineticDayRow strong{display:block;font-size:12px;font-weight:550;overflow-wrap:anywhere}
 .kineticDayRow small{display:block;font-size:10px;color:var(--k-muted);margin-top:5px}
 .kineticDayRow .badge{font-size:8px;flex-shrink:0;max-width:86px;padding:5px 7px}
 .kineticScheduleHead{padding:18px 16px}.kineticScheduleHead h2{font-size:13px}
 .kineticTodayAside .panel{padding:18px 16px}.kineticToday .dailyFinance{padding:18px}
 .kineticToday .financeGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.kineticToday .financeGrid .caption{font-size:9px}.kineticToday .dailyFinance .financeGrid strong{font-size:18px;overflow-wrap:anywhere}
 body .bottomNav{gap:5px;padding:8px 10px max(12px,env(safe-area-inset-bottom))}
 body .bottomNav button{flex:1;min-width:0;min-height:46px;border-radius:7px;font-size:9px;font-weight:400;padding:7px 4px;gap:6px;white-space:normal}
 body .bottomNav button.active{font-weight:600}
 body .panel{padding:18px}body .panel.scrollPanel{padding:0}
 body .proMain,body .proMain:not(:has(+.proTabs)){margin:0;padding:20px 20px 110px;width:100%;max-width:none}
 body .proMain>header.proHeader{gap:8px;flex-wrap:wrap;margin-bottom:27px;padding-bottom:17px}
 body .proMain>header.proHeader .smallLogo{max-width:190px;margin-right:auto}
 body .proMain>header.proHeader>.row{order:2;width:100%;justify-content:flex-end}
 body .proMain>header.proHeader>.row>button{font-size:11px;padding:5px 8px;min-height:32px}
 body .proMain .proHeader h1{font-size:32px}
 body .proTabs{left:0;right:0;top:auto;width:auto;flex-direction:row;gap:4px;padding:8px 10px max(12px,env(safe-area-inset-bottom));border:0;border-top:1px solid var(--k-line)}
 body .proTabs::before{display:none}
 body .proTabs button{flex:1;min-width:0;min-height:46px;font-size:10px;padding:7px 4px;justify-content:center;text-align:center}
 body .proGrid{grid-template-columns:minmax(0,1fr)}body .proJob{padding:19px}
 body .pi{padding:0 20px 35px}body .pi>header{flex-wrap:wrap;gap:10px;margin-bottom:27px;padding:14px 0}
 body .pi>header>span{font-size:10px}body .pi>header>.kineticThemeToggle{margin-left:auto}
 body .pi h1{font-size:32px}body .pi .pi-tabs{flex-wrap:nowrap;overflow:auto;max-width:100%;padding-bottom:10px;gap:4px}
 body .pi .pi-tabs button{flex-shrink:0;min-height:44px;padding:10px 12px;font-size:11px}
 body .pi :is(td,th){padding:14px 12px}body .pi>.muted{font-size:12px}
 body .wallet{padding:0 20px 30px}body .wallet .top{padding:16px 0;gap:12px;min-height:68px}
 body .wallet .top .brand{width:calc(100% - 50px);order:0}body .wallet .top>.kineticThemeToggle{order:1;margin-left:auto}
 body .wallet .top>a:not(.brand){order:2;font-size:11px;min-height:30px;display:flex;align-items:center}
 body .wallet .heading{display:block;margin:27px 0 23px}body .wallet .heading h1{font-size:32px;letter-spacing:-1.4px}
 body .wallet .organization{margin-top:20px}body .wallet .grid,body .wallet .cards{grid-template-columns:minmax(0,1fr)}
 body .wallet .tile{padding:21px}body .wallet .section-head{align-items:flex-start;gap:12px}
 body .wallet .section-head h2{font-size:16px}body .wallet .history{max-width:100%}
 body .auth{padding:24px 20px;gap:28px}body .authIntro h1{font-size:32px;letter-spacing:-1.4px}
 body .authIntro p{font-size:13px}body .authPanel{padding:26px 20px}
 body .authPanel>.kineticThemeToggle{top:20px;right:20px}body .authPanel h2{padding-right:40px}
 body .portal{padding:20px 20px 45px}body .portal>header{padding-bottom:18px;margin-bottom:27px}
 body .portal .brand img{width:160px;height:36px}body .portal>h1{font-size:30px}
 body .portal>.kineticThemeToggle{position:static;margin-top:20px}
 body .portal .panel{padding:20px}body .portal .photos{grid-template-columns:repeat(2,minmax(0,1fr))}
 .kineticThemeFloating{top:12px;right:12px}
}
@media(prefers-reduced-motion:reduce){body *,body *::before,body *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.kineticThemeToggle{display:none!important}:root,:root[data-appearance=neon]{--k-canvas:#fff;--k-surface:#fff;--k-soft:#f4f4f0;--k-text:#22271f;--k-muted:#71776b;--k-line:#dadcd2;--k-inverse:#fff;--k-accent:#d3441b;--k-accent-text:#c03c16;--k-on-accent:#fff;color-scheme:light}}


/* Product-specific composition follows the approved workspace, with real controls. */
body .kineticProWelcome {margin:32px 0 22px}
.kineticProWelcome .eyebrow {margin-bottom:13px}
.kineticProWelcome h1 {margin:0;font-size:38px;font-weight:650;line-height:1.15}
.kineticProWelcome h1 em,body .pi h1 em {font-style:normal;color:var(--k-accent-text)}
.kineticProWelcome>p:last-child {font-size:12px;color:var(--k-muted);margin-top:12px}
body .kineticProMetrics {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:24px 0 28px}
body .proMain .acqMode {display:flex;gap:8px;padding:0;border:0;margin:0 0 24px}
body .proMain .acqMode button {padding:8px 13px;font-size:11px;min-height:36px;border-radius:30px}
body .proMain .acqMode .primary {background:var(--k-wash);color:var(--k-accent-text);border:1px solid var(--k-accent)}
body .proMain .proGrid {grid-template-columns:repeat(2,minmax(0,1fr));margin-top:20px}
body .proMain .proGrid>.panel {grid-column:1/-1}
body .proJob {padding:24px;min-height:235px;align-items:flex-start;background:var(--k-surface)}
body .proJob h3 {font-size:23px;line-height:1.2;letter-spacing:-.7px;margin-top:8px}
body .proJob .amount {font-size:26px;font-weight:600;margin-top:auto}
body .proJob .proStatus {width:100%}
body .proJob:nth-child(odd) {background:linear-gradient(125deg,var(--k-wash),var(--k-surface) 75%)}
body .proTabs {padding-top:24px}
body .proTabs::before {display:none}
.kineticProBrand {margin:0 0 34px;padding:0 4px}
.kineticProBrand img {width:164px;height:36px;object-fit:contain;object-position:left}
.kineticProBrand>small {display:block;font-size:10px;color:var(--k-muted);margin-top:7px}
.kineticProIdentity {display:flex;align-items:center;gap:10px;padding:20px 5px 0;border-top:1px solid var(--k-line);margin-top:auto;font-size:11px}
.kineticProIdentity small {display:block;font-size:9px;color:var(--k-muted);margin-top:3px}
body .pi:has(.pi-tabs) {margin-left:206px;max-width:1440px}
body .pi .pi-tabs {position:fixed;inset:0 auto 0 0;width:206px;display:flex;flex-direction:column;background:var(--k-surface);padding:114px 16px 24px;border:0;border-right:1px solid var(--k-line);z-index:10;gap:5px}
body .pi .pi-tabs::before {content:'ПРАЙСИНАТОР';position:absolute;left:28px;top:37px;letter-spacing:1.5px;font-size:11px;color:var(--k-muted)}
body .pi .pi-tabs button {text-align:left;border:0;width:100%;white-space:normal}
body .pi .pi-brand {display:flex;align-items:center;gap:12px;font-size:9px;margin-bottom:16px}
body .pi .pi-brand img {width:28px;height:28px}
body .pi .kineticConnections {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;padding:20px}
.kineticConnections h2 {grid-column:1/-1;font-size:13px}
.kineticConnections label {font-size:10px;color:var(--k-muted);display:grid;gap:8px}
.kineticConnections p {font-size:11px;color:var(--k-muted);align-self:center}
.kineticConnections .buttons {justify-content:flex-end;align-items:center;gap:8px}
.kineticConnections .buttons button {font-size:10px;min-height:34px;padding:7px 10px}
body .pi .pi-settings {border:0;border-top:1px solid var(--k-line);border-radius:0;background:transparent;padding:20px 0;margin-top:30px}
body .pi .pi-settings>summary {color:var(--k-muted);font-size:12px}
.kineticPortalSummary {display:grid;grid-template-columns:1fr 1.15fr;gap:32px;align-items:center}
.kineticPortalVisual {display:grid;place-items:center;background:radial-gradient(ellipse at center,var(--k-wash),transparent 70%);min-height:230px;border:1px solid var(--k-line);border-radius:7px;overflow:hidden}
.kineticPortalVisual img {width:100%;height:240px;object-fit:cover}
.kineticPortalVisual svg {width:80%;max-width:270px;fill:none;stroke:var(--k-accent);stroke-width:1.2}
.kineticPortalSummary h2 {font-size:27px;margin:16px 0}
.kineticPortalSummary dl {display:grid;grid-template-columns:1fr 1fr;gap:22px 18px}
.kineticPortalSummary dt {font-size:10px;color:var(--k-muted);margin-bottom:7px}
.kineticPortalSummary dd {margin:0;font-size:13px;overflow-wrap:anywhere}
body .portal.clientPortal {max-width:1180px}
body .portal.clientPortal:has(.kineticPortalNav) {margin-left:206px;margin-right:0;padding-left:32px;width:calc(100% - 206px);max-width:1440px}
body .portal .brand img {width:174px;height:36px;object-fit:contain;object-position:left}
.kineticPortalNav {position:fixed;inset:0 auto 0 0;width:206px;padding:32px 16px 24px;background:var(--k-surface);border-right:1px solid var(--k-line);display:flex;flex-direction:column;gap:8px}
.kineticPortalNav>strong {font-size:10px;letter-spacing:1.2px;color:var(--k-muted);padding:0 12px;margin-bottom:45px}
.kineticPortalNav a {padding:13px 12px;border-radius:7px;font-size:12px;color:var(--k-muted);text-decoration:none}
.kineticPortalNav a:first-of-type {background:var(--k-wash);color:var(--k-accent-text)}
.kineticPortalNav a:hover {background:var(--k-canvas)}
.clientPortal [id] {scroll-margin-top:24px}
@media(min-width:768px){body .shell:has(.kineticToday) .topbar>[class=row]>[data-action=booking]{display:none}}
@media(max-width:1100px){.kineticPortalSummary {grid-template-columns:1fr;gap:20px}.kineticPortalVisual {min-height:180px}.kineticPortalVisual svg {height:170px}}
@media(max-width:767px){
 body .kineticProWelcome h1 {font-size:32px}
 body .kineticProWelcome {margin-top:26px}
 body .proMain .proGrid {grid-template-columns:1fr}
 .kineticProBrand,.kineticProIdentity {display:none}
 body .proTabs {padding-top:8px}
 body .proMain .acqMode {margin:0 0 22px;gap:6px}
 body .proMain .acqMode button {padding:8px 10px;font-size:10px;min-height:38px;flex:1}
 body .pi:has(.pi-tabs) {margin-left:0}
 body .pi .pi-tabs {position:static;width:auto;flex-direction:row;border:0;border-bottom:1px solid var(--k-line);padding:0 0 12px;background:transparent;z-index:auto}
 body .pi .pi-tabs::before {display:none}
 body .pi .pi-tabs button {width:auto;white-space:nowrap}
 body .pi .kineticConnections {grid-template-columns:1fr;padding:18px}
 .kineticConnections .buttons {justify-content:flex-start}
 body .portal.clientPortal:has(.kineticPortalNav) {padding-left:20px;margin-left:0;width:100%}
 .kineticPortalNav {position:static;display:flex;flex-direction:row;width:auto;border:0;border-bottom:1px solid var(--k-line);padding:0 0 14px;margin-bottom:24px;background:transparent;overflow:auto}
 .kineticPortalNav>strong {display:none}
 .kineticPortalNav a {padding:10px 12px;white-space:nowrap;font-size:11px}
 .kineticPortalSummary dl {gap:20px 12px}
 .kineticPortalSummary h2 {font-size:24px}
 body .portal>.kineticThemeToggle {position:absolute;right:20px;top:20px;margin:0}
 body .portal>header {padding-right:45px}
}

@media(min-width:768px){
 body .proMain .acqMode button{flex:none;width:auto}
 body .proMain>.proHeader .smallLogo{visibility:hidden}
 body .proMain>label{display:flex;align-items:center;gap:14px;font-size:11px;color:var(--k-muted);max-width:420px}
 body .proMain>label select{flex:1}
}

body .pi .pi-tabs{margin:0}
body .pi .pi-tabs button{justify-content:flex-start}
body .pi .kineticConnections{gap:10px 20px;padding:16px 20px}
body .pi .kineticConnections h2{margin:0}
body .pi .pi-list-panel{padding:20px}
body .pi .pi-list-panel>form.pi-filters{grid-template-columns:minmax(180px,2fr) minmax(130px,1fr) auto auto auto;gap:12px;margin:16px 0}
body .pi .pi-list-panel>form.pi-filters>label:first-child{grid-column:auto}
body .pi .pi-list-panel label{font-size:10px;font-weight:400;color:var(--k-muted)}
body .pi .pi-list-panel input,body .pi .pi-list-panel select{font-size:12px}
.kineticAdvancedFilters{position:relative;align-self:end}
.kineticAdvancedFilters>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--k-line);border-radius:5px;padding:10px 13px;font-size:11px}
.kineticAdvancedFilters>summary::after{content:'+';margin-left:14px;color:var(--k-accent-text)}
.kineticAdvancedFilters[open]>summary::after{content:'−'}
.kineticAdvancedFilters>.pi-filters{position:absolute;top:100%;right:0;min-width:420px;max-width:80vw;padding:20px;background:var(--k-surface);border:1px solid var(--k-line);border-radius:9px;box-shadow:var(--k-shadow);z-index:5}
body .pi .pi-views{gap:8px;margin:10px 0}
body .pi .pi-views label{display:flex;align-items:center;gap:10px}
body .pi .pi-views select{min-width:160px;min-height:36px}
body .pi .pi-views button{min-height:36px;font-size:10px;padding:7px 10px}
body .pi .pi-table-tools{margin:10px 0;gap:12px}
body .pi .pi-table-tools label{display:flex;align-items:center;gap:10px}
body .pi .pi-table-tools select{min-height:34px;padding:6px 9px;font-size:11px}
body .pi .pi-title-row h2{font-size:14px}
body .pi .pi-title-row button{font-size:10px;min-height:32px;padding:6px 9px}
@media(max-width:767px){
 body .pi .pi-list-panel>form.pi-filters{grid-template-columns:1fr 1fr}
 body .pi .pi-list-panel>form.pi-filters>label:first-child{grid-column:1/-1}
 .kineticAdvancedFilters>.pi-filters{min-width:260px;right:0;max-width:calc(100vw - 80px)}
 body .pi .pi-views label{display:grid;gap:5px;width:100%}
 body .pi .pi-table-tools label{display:grid;gap:5px}
 body .pi .kineticConnections{padding:18px;gap:12px}
}

/* Compact account context leaves the catalogue visible on a phone. */
body .pi:has(.pi-tabs) .kineticConnections{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:14px 18px;gap:10px 16px}
body .pi:has(.pi-tabs) .kineticConnections h2{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
body .pi:has(.pi-tabs) .kineticConnections p{margin:0}
body .pi:has(.pi-tabs) .kineticConnections .buttons{grid-column:1/-1}
body .pi:has(.pi-tabs) .kineticConnections label select{width:100%;min-width:0}
@media(max-width:767px){body .pi:has(.pi-tabs) .kineticConnections{padding:14px;gap:10px}.kineticConnections .buttons{justify-content:flex-end}.kineticConnections label{min-width:0}body .pi>header>span{display:none}}

body .portal>h1 em{font-style:normal;color:var(--k-accent-text)}
