:root{--jj-red:#c41230;--jj-black:#111;--jj-ink:#202124;--jj-gray:#687078;--jj-line:#e2e4e7;--jj-bg:#f4f5f6}*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--jj-ink);background:var(--jj-bg)}button,input,select,textarea{font:inherit}.portal-shell{min-height:100vh;display:grid;grid-template-columns:230px 1fr;background:var(--jj-bg)}.portal-sidebar{background:#151515;color:#fff;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.portal-brand{height:78px;padding:16px 20px;display:flex;align-items:center;gap:12px;border-bottom:1px solid #343434}.portal-brand>span{font-size:24px;font-weight:950;font-style:italic;letter-spacing:-2px;color:#fff;border-bottom:4px solid var(--jj-red)}.portal-brand div{display:flex;flex-direction:column}.portal-brand strong{font-size:11px;letter-spacing:1.4px}.portal-brand small{font-size:11px;color:#aaa;margin-top:3px}.portal-sidebar nav{padding:18px 10px;flex:1}.portal-sidebar nav button{width:100%;border:0;background:transparent;color:#b9b9b9;padding:12px 14px;border-radius:4px;text-align:left;display:flex;align-items:center;gap:12px;font-weight:650;cursor:pointer;margin-bottom:3px}.portal-sidebar nav button:hover,.portal-sidebar nav button.active{background:#292929;color:#fff}.portal-sidebar nav button.active{box-shadow:inset 3px 0 var(--jj-red)}.portal-sidebar nav i{width:18px;font-style:normal;text-align:center}.portal-sidebar nav b{margin-left:auto;border-radius:20px;background:var(--jj-red);padding:2px 7px;font-size:11px}.portal-user{border-top:1px solid #343434;padding:18px;display:flex;gap:10px;align-items:center}.portal-user>span,.portal-avatar-small{border-radius:50%;background:var(--jj-red);color:#fff;font-weight:800;width:34px;height:34px;display:grid;place-items:center}.portal-user div{display:flex;flex-direction:column}.portal-user small{color:#9b9b9b}.portal-main{min-width:0}.portal-topbar{height:58px;background:#fff;border-bottom:1px solid var(--jj-line);display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:0 28px;position:sticky;top:0;z-index:5}.portal-topbar div{margin-right:auto;font-weight:650;color:#555}.portal-topbar button{border:0;background:transparent;width:34px;height:34px;cursor:pointer}.portal-live-dot{display:inline-block;width:8px;height:8px;background:#2f9e44;border-radius:50%;margin-right:7px}.portal-content{padding:34px;max-width:1500px;margin:auto}.portal-page-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:26px;gap:20px}.portal-page-heading h1{font-size:30px;margin:3px 0 5px;letter-spacing:-.7px}.portal-page-heading p,.portal-panel-heading p{margin:0;color:var(--jj-gray)}.portal-eyebrow{font-size:11px;color:var(--jj-red);font-weight:850;letter-spacing:1.5px}.portal-button,.portal-secondary-button{border:0;background:var(--jj-black);color:#fff;font-weight:800;padding:11px 17px;cursor:pointer;border-radius:3px;box-shadow:inset 0 -3px var(--jj-red)}.portal-secondary-button{background:#fff;color:#252525;border:1px solid #cfd2d5;box-shadow:none}.portal-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.portal-stats button{background:#fff;border:1px solid var(--jj-line);padding:20px;text-align:left;cursor:pointer;border-top:3px solid transparent}.portal-stats button:hover{border-top-color:var(--jj-red)}.portal-stats strong{display:block;font-size:31px}.portal-stats span{display:block;font-weight:750;margin:3px 0}.portal-stats small{color:var(--jj-gray)}.portal-panel{background:#fff;border:1px solid var(--jj-line);padding:22px;margin-bottom:20px;border-radius:3px}.portal-panel h2{font-size:18px;margin:0 0 16px}.portal-panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.portal-panel-heading h2{margin:0 0 4px}.portal-text-button,.portal-back{border:0;background:none;color:var(--jj-red);font-weight:750;cursor:pointer}.portal-table-wrap{overflow:auto;margin:0 -22px}.portal-table{width:100%;border-collapse:collapse}.portal-table th{font-size:11px;text-transform:uppercase;letter-spacing:.7px;color:#777;text-align:left;background:#f8f8f8;padding:11px 16px;border-top:1px solid var(--jj-line);border-bottom:1px solid var(--jj-line)}.portal-table td{padding:15px 16px;border-bottom:1px solid #eceeef;vertical-align:top;font-size:13px}.portal-table tr{cursor:pointer}.portal-table tbody tr:hover{background:#fafafa}.portal-table td strong,.portal-table td span{display:block}.portal-table td span{color:#666;margin-top:4px}.portal-badge{display:inline-flex!important;padding:4px 8px;border-radius:20px;font-size:11px;font-weight:800;background:#eee;color:#555;white-space:nowrap}.portal-badge--new{background:#fde7eb;color:#a30c27}.portal-badge--in-progress{background:#fff2cd;color:#735c00}.portal-badge--complete{background:#def5e3;color:#176b2d}.portal-two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}.portal-appointment-row{display:grid;grid-template-columns:48px 10px 1fr;gap:10px;align-items:center;padding:11px 0;border-top:1px solid #eee}.portal-appointment-row time{font-weight:800}.portal-appointment-row time small{font-size:8px;margin-left:2px}.portal-appointment-row span,.portal-setting span{display:block;color:#777;font-size:12px;margin-top:3px}.portal-dot{width:7px;height:34px;border-radius:5px;background:#555}.portal-dot--red{background:var(--jj-red)}.portal-dot--black{background:#111}.portal-dot--gray{background:#999}.portal-workload{display:grid;grid-template-columns:90px 1fr 20px;gap:12px;align-items:center;margin:18px 0;font-size:13px}.portal-workload div{height:7px;background:#eceeef;border-radius:5px;overflow:hidden}.portal-workload i{height:100%;display:block;background:var(--jj-red)}.portal-toolbar{display:flex;gap:10px;margin-bottom:18px}.portal-toolbar input{flex:1}.portal-toolbar input,.portal-toolbar select,.portal-panel select,.portal-panel textarea,.portal-reply{border:1px solid #cdd1d4;border-radius:3px;padding:10px;background:#fff}.portal-table-footer{text-align:right;color:#777;font-size:12px;padding-top:16px}.portal-back{padding:0;margin-bottom:15px}.portal-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px}.portal-sticky{position:sticky;top:80px}.portal-sticky label{display:block;font-size:12px;font-weight:700;margin:15px 0}.portal-sticky select{display:block;width:100%;margin-top:6px}.portal-request-copy{font-size:15px;line-height:1.6;color:#454545}.portal-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:20px}.portal-info-grid div{border-top:1px solid #eee;padding-top:12px}.portal-info-grid span{font-size:11px;text-transform:uppercase;color:#777;display:block;margin-bottom:5px}.portal-message{display:flex;gap:12px;background:#f7f7f7;padding:16px;margin-bottom:15px}.portal-avatar{width:36px;height:36px;flex:0 0 36px;border-radius:50%;background:#252525;color:#fff;display:grid;place-items:center;font-weight:800}.portal-message small{display:block;color:#777;margin-top:3px}.portal-message p{line-height:1.5;margin-bottom:0}.portal-reply{width:100%;resize:vertical}.portal-reply-actions{display:flex;justify-content:space-between;align-items:center;color:#777;font-size:11px;margin-top:10px}.portal-note{display:flex;gap:10px;border-left:3px solid #bbb;padding:10px;margin:10px 0;background:#fafafa}.portal-note strong{width:28px;height:28px;background:#ddd;border-radius:50%;display:grid;place-items:center;font-size:10px}.portal-note p{margin:3px 0;font-size:13px}.portal-panel>textarea{width:100%;margin:10px 0}.portal-calendar-toolbar{display:flex;gap:10px;align-items:center;margin-bottom:18px}.portal-calendar-toolbar button{border:1px solid #ddd;background:#fff;padding:7px 11px}.portal-calendar-toolbar .portal-secondary-button{margin-left:auto}.portal-calendar-grid{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--jj-line);min-height:450px}.portal-day{border-right:1px solid var(--jj-line);padding:10px;background:linear-gradient(#fff,#fbfbfb)}.portal-day:last-child{border:0}.portal-day h3{text-align:center;font-size:12px;color:#666;margin:2px 0 22px}.portal-calendar-card{padding:10px;margin-bottom:9px;border-left:4px solid #555;background:#f1f2f3;display:flex;flex-direction:column;cursor:grab;font-size:11px}.portal-calendar-card--red{border-color:var(--jj-red);background:#fcecef}.portal-calendar-card--black{border-color:#222}.portal-calendar-card time{font-weight:900;margin-bottom:5px}.portal-calendar-card strong{font-size:12px}.portal-calendar-card span{color:#666;margin-top:3px}.portal-calendar-hint{font-size:11px;color:#777;margin:14px 0 0}.portal-empty{text-align:center;padding:55px 20px}.portal-empty>span{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:#e4f5e8;color:#23823b;margin:auto;font-size:25px}.portal-empty p{max-width:520px;margin:10px auto 20px;color:#666}.portal-setting{display:flex;align-items:center;justify-content:space-between;padding:15px 0;border-top:1px solid #eee;gap:15px}.portal-setting input{accent-color:var(--jj-red);width:18px;height:18px}@media(max-width:900px){.portal-shell{grid-template-columns:70px 1fr}.portal-brand div,.portal-user div{display:none}.portal-brand{padding:16px 12px}.portal-sidebar nav button{justify-content:center;padding:13px 5px;font-size:0}.portal-sidebar nav button i{font-size:16px}.portal-sidebar nav b{display:none}.portal-user{padding:18px}.portal-stats{grid-template-columns:1fr 1fr}.portal-two-col,.portal-detail-grid{grid-template-columns:1fr}.portal-content{padding:22px}.portal-calendar-grid{overflow:auto;grid-template-columns:repeat(5,180px)}}@media(max-width:600px){.portal-stats{grid-template-columns:1fr}.portal-page-heading{align-items:flex-start;flex-direction:column}.portal-info-grid{grid-template-columns:1fr}.portal-toolbar{flex-direction:column}}.business-login-shell{min-height:100vh;display:grid;place-items:center;padding:32px;background:#111}.business-login-card{width:min(460px,100%);display:flex;flex-direction:column;align-items:center;gap:18px;padding:44px;color:#111;background:#fff;border-bottom:6px solid #c8102e;text-align:center}.business-login-card img{width:min(250px,80%);height:auto}.business-login-card>span{width:100%;padding-top:12px;border-top:4px solid #c8102e;font-weight:800;letter-spacing:.16em}.business-login-card h1,.business-login-card p{margin:0}.business-google-button{width:100%;justify-content:center;text-decoration:none}.business-login-error{width:100%;padding:12px;color:#8c0b20;background:#f6e4e8;border-left:4px solid #c8102e}.portal-logout-form{padding:0 18px 18px}.portal-logout-form button{width:100%;min-height:42px;color:#d7d7d7;background:transparent;border:1px solid #555;cursor:pointer;font:inherit;font-weight:700;text-transform:uppercase}.portal-logout-form button:hover{color:#fff;border-color:#c8102e}.portal-brand{height:108px;padding:14px 20px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:9px}.portal-brand-logo{width:76px;border-bottom:3px solid var(--jj-red);padding-bottom:5px}.portal-brand-logo>span{display:block;width:48px;height:30px;overflow:hidden}.portal-brand-logo img{display:block;width:180px;max-width:none;height:auto;filter:invert(1)}.portal-brand>strong{color:#fff;font-size:15px;font-weight:900;letter-spacing:1px;line-height:1;white-space:nowrap}@media(max-width:900px){.portal-brand{height:82px;padding:12px}.portal-brand .portal-brand-logo{display:block}.portal-brand>strong{display:none}.portal-brand-logo{width:45px}.portal-brand-logo>span{width:38px;height:24px}.portal-brand-logo img{width:145px}}.portal-heading-actions{display:flex;align-items:center;gap:12px}.portal-connected,.portal-consent{color:#25823b;font-size:12px;font-weight:750}.portal-muted{color:#888}.portal-calendar-toolbar select{margin-left:auto;border:1px solid #ddd;background:#fff;padding:7px 10px}.portal-calendar-card small{margin-top:7px;color:#333;font-weight:750}.portal-work-table{display:grid}.portal-work-head,.portal-work-row{display:grid;grid-template-columns:1.25fr 1.2fr .8fr 1.1fr 70px;gap:14px;align-items:center;padding:12px 4px;border-bottom:1px solid #eceeef}.portal-work-head{font-size:11px;text-transform:uppercase;letter-spacing:.7px;color:#777;font-weight:800;background:#fafafa}.portal-work-row strong small,.portal-employee-grid small,.portal-customer-row small{display:block;color:#777;font-weight:400;margin-top:4px}.portal-work-row select{padding:8px;border:1px solid #ccd0d3;background:#fff}.portal-estimate-line{display:grid;grid-template-columns:65px 1fr auto;gap:15px;align-items:center;padding:18px 0;border-top:1px solid #eee}.portal-estimate-line>span{font-size:10px;font-weight:850;color:var(--jj-red)}.portal-estimate-line small{display:block;color:#777;margin-top:5px}.portal-totals{margin-left:auto;width:270px;border-top:2px solid #222;padding-top:10px}.portal-totals span{display:flex;justify-content:space-between;padding:5px 0}.portal-totals span:last-child{font-size:17px}.portal-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:18px 0}.portal-flow span{padding:10px;background:#eee;color:#888;font-size:11px;font-weight:750;border-top:3px solid #ccc}.portal-flow span.active{border-color:var(--jj-red);color:#111}.portal-flow span.done{background:#e8f5eb;border-color:#299247;color:#176b2d}.portal-action-row{display:flex;justify-content:flex-end;gap:10px;margin-top:15px}.portal-action-row button:disabled,.portal-full:disabled{opacity:.4;cursor:not-allowed}.portal-check-row{display:flex!important;gap:8px;align-items:center}.portal-sticky label input:not([type=checkbox]){display:block;width:100%;padding:9px;margin-top:6px;border:1px solid #ccd0d3}.portal-gate{padding:13px;background:#f4f4f4;border-left:3px solid var(--jj-red);margin:16px 0}.portal-gate span{display:block;color:#666;font-size:11px;margin-top:4px;line-height:1.4}.portal-employee-grid{display:grid;grid-template-columns:1.35fr .8fr 1fr 1.3fr .5fr;gap:16px;align-items:center;padding:14px 8px;border-bottom:1px solid #eee}.portal-employee-head{font-size:10px;font-weight:850;text-transform:uppercase;color:#777;background:#fafafa}.portal-switch input{position:absolute;opacity:0}.portal-switch i{display:block;width:38px;height:21px;background:#bbb;border-radius:15px;position:relative;cursor:pointer}.portal-switch i:after{content:"";position:absolute;width:17px;height:17px;background:#fff;border-radius:50%;top:2px;left:2px;transition:.15s}.portal-switch input:checked+i{background:var(--jj-red)}.portal-switch input:checked+i:after{left:19px}.portal-campaign{border-top:3px solid var(--jj-red)}.portal-campaign>input,.portal-campaign>textarea{display:block;width:100%;padding:10px;border:1px solid #ccd0d3;margin:10px 0}.portal-campaign>div{display:flex;align-items:center;justify-content:space-between;color:#666;font-size:12px}.portal-customer-head,.portal-customer-row{display:grid;grid-template-columns:1.6fr .5fr .6fr 1fr .8fr;gap:15px;align-items:center;padding:13px 8px;border-bottom:1px solid #eee}.portal-customer-head{font-size:10px;font-weight:850;text-transform:uppercase;color:#777;background:#fafafa}.portal-template-editor{display:grid;grid-template-columns:240px 1fr;gap:22px}.portal-template-editor nav{border-right:1px solid #eee;padding-right:14px}.portal-template-editor nav button{display:block;width:100%;text-align:left;padding:11px;border:0;background:#fff;cursor:pointer}.portal-template-editor nav button.active{background:#f8e9ec;color:#9d0e27;font-weight:800;border-left:3px solid var(--jj-red)}.portal-template-editor label{display:block;font-size:12px;font-weight:750;margin-bottom:14px}.portal-template-editor input,.portal-template-editor textarea{display:block;width:100%;padding:10px;border:1px solid #ccd0d3;margin-top:6px}.portal-template-vars{font-family:monospace;font-size:11px;color:#666;background:#f4f4f4;padding:10px}.customer-portal{min-height:100vh;background:#f4f5f6}.customer-portal>header{height:74px;background:#111;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1180px)/2));color:#fff}.customer-portal>header img{width:180px;filter:invert(1)}.customer-portal>header div{display:flex;align-items:center;gap:20px}.customer-portal>header button{background:transparent;color:#fff;border:1px solid #555;padding:8px 12px}.customer-portal>main{max-width:1180px;margin:auto;padding:35px 24px}.customer-status{display:grid;grid-template-columns:1fr 260px;background:#191919;color:#fff;margin-bottom:20px}.customer-status>div{padding:28px}.customer-status>aside{padding:28px;background:#252525}.customer-status>div>span{color:#f44;font-size:10px;font-weight:850;letter-spacing:1.5px}.customer-status h2{font-size:25px;margin:8px 0}.customer-status aside span{display:block;color:#aaa;font-size:10px;text-transform:uppercase;margin-top:15px}.customer-status aside p{margin:4px 0}.customer-progress{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin-top:30px}.customer-progress i{height:6px;background:#555}.customer-progress i.done{background:#299247}.customer-progress i.active{background:var(--jj-red)}.customer-progress-labels{display:grid;grid-template-columns:repeat(5,1fr);font-size:9px;color:#aaa;margin-top:8px}.customer-action{display:flex;align-items:center;justify-content:space-between;gap:15px}.customer-action span,.customer-history span{display:block;color:#777;font-size:12px;margin-top:5px}.customer-history{display:grid;grid-template-columns:130px 1fr auto;align-items:center;padding:15px 0;border-top:1px solid #eee}.customer-history time{color:#666;font-size:12px}@media(max-width:1000px){.portal-work-head,.portal-work-row{grid-template-columns:1fr 1fr 1fr}.portal-work-head span:nth-child(4),.portal-work-head span:nth-child(5),.portal-work-row select,.portal-work-row button{display:none}.portal-employee-grid{grid-template-columns:1.3fr 1fr 1fr}.portal-employee-grid>:nth-child(4),.portal-employee-grid>:nth-child(5){display:none}.portal-template-editor{grid-template-columns:1fr}.portal-template-editor nav{border:0;display:flex;overflow:auto}.portal-template-editor nav button{white-space:nowrap}.portal-customer-head,.portal-customer-row{grid-template-columns:1.5fr .5fr .8fr}.portal-customer-head>:nth-child(4),.portal-customer-head>:nth-child(5),.portal-customer-row>:nth-child(4),.portal-customer-row>:nth-child(5){display:none}}@media(max-width:700px){.portal-heading-actions{align-items:flex-start;flex-direction:column}.portal-flow{grid-template-columns:1fr 1fr}.customer-status{grid-template-columns:1fr}.customer-portal>header img{width:130px}.customer-history{grid-template-columns:1fr;gap:6px}}.portal-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.portal-calendar-viewbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.portal-calendar-viewbar select{min-width:190px;border:1px solid #cdd1d4;border-radius:3px;padding:9px 12px;background:#fff}.portal-view-toggle{display:inline-flex;border:1px solid #cdd1d4;border-radius:3px;overflow:hidden}.portal-view-toggle button{min-width:72px;border:0;border-right:1px solid #cdd1d4;padding:9px 14px;background:#fff;color:#555;font-weight:750;cursor:pointer}.portal-view-toggle button:last-child{border-right:0}.portal-view-toggle button.active{background:var(--jj-black);color:#fff;box-shadow:inset 0 -3px var(--jj-red)}.portal-day h3 button,.portal-month-day>button{border:0;background:transparent;color:inherit;font-weight:800;cursor:pointer}.portal-day-schedule{border:1px solid var(--jj-line);background:#fff}.portal-day-picker{display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid var(--jj-line)}.portal-day-picker button{border:0;border-right:1px solid var(--jj-line);padding:12px 8px;background:#f7f7f7;color:#666;font-weight:750;cursor:pointer}.portal-day-picker button:last-child{border-right:0}.portal-day-picker button.active{background:var(--jj-black);color:#fff;box-shadow:inset 0 -3px var(--jj-red)}.portal-time-row{display:grid;grid-template-columns:76px 1fr;min-height:64px;border-bottom:1px solid #eceeef}.portal-time-row:last-child{border-bottom:0}.portal-time-row>time{padding:12px;border-right:1px solid var(--jj-line);color:#777;font-size:11px;font-weight:750;text-align:right}.portal-time-row>div{min-width:0;padding:8px;background:repeating-linear-gradient(90deg,#fff 0,#fff 179px,#f1f2f3 180px)}.portal-time-row .portal-calendar-card{max-width:440px;margin-bottom:0}.portal-month{border:1px solid var(--jj-line);background:#fff}.portal-month-head,.portal-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.portal-month-head{background:#f5f5f5;border-bottom:1px solid var(--jj-line)}.portal-month-head span{padding:10px;color:#666;font-size:11px;font-weight:800;text-align:center;text-transform:uppercase}.portal-month-day{min-height:112px;padding:7px;border-right:1px solid var(--jj-line);border-bottom:1px solid var(--jj-line);overflow:hidden}.portal-month-day:nth-child(7n){border-right:0}.portal-month-day:nth-last-child(-n+7){border-bottom:0}.portal-month-day.outside{background:#f7f7f7}.portal-month-day>button{display:block;margin:0 0 7px auto;color:#555}.portal-month-event{margin:4px 0;padding:6px 7px;border-left:3px solid #666;background:#f1f2f3;font-size:10px;line-height:1.25;cursor:grab}.portal-month-event--red{border-color:var(--jj-red);background:#fcecef}.portal-month-event--black{border-color:#222}.portal-month-event time{font-weight:900}.portal-month-event small{display:block;margin-top:3px;color:#666}@media(max-width:760px){.portal-calendar-viewbar{align-items:stretch;flex-direction:column}.portal-calendar-viewbar select{width:100%}.portal-view-toggle{display:grid;grid-template-columns:repeat(3,1fr)}.portal-view-toggle button{min-width:0}.portal-month{overflow-x:auto}.portal-month-head,.portal-month-grid{min-width:760px}}.portal-billing-head,.portal-billing-row{display:grid;grid-template-columns:.75fr 1.75fr .75fr .8fr .65fr;gap:16px;align-items:center}.portal-billing-head{margin:-22px -22px 0;padding:12px 22px;border-bottom:1px solid var(--jj-line);background:#f8f8f8;color:#777;font-size:10px;font-weight:850;letter-spacing:.7px;text-transform:uppercase}.portal-billing-row{width:calc(100% + 44px);margin:0 -22px;padding:17px 22px;border:0;border-bottom:1px solid #eceeef;background:#fff;color:var(--jj-ink);text-align:left;cursor:pointer}.portal-billing-row:last-child{border-bottom:0}.portal-billing-row:hover{background:#fafafa}.portal-billing-row>span{min-width:0}.portal-billing-row b,.portal-billing-row small{display:block}.portal-billing-row small{margin-top:4px;color:#777;font-size:11px}.portal-billing-head.portal-invoice-columns,.portal-billing-row.portal-invoice-columns{grid-template-columns:.7fr 1.55fr .7fr .7fr .7fr .8fr}.portal-linked-record{display:flex;align-items:center;justify-content:space-between;gap:20px;border-left:4px solid var(--jj-red)}.portal-linked-record h2{margin:4px 0}.portal-linked-record p{margin:0;color:#666}@media(max-width:900px){.portal-billing-head,.portal-billing-row,.portal-billing-head.portal-invoice-columns,.portal-billing-row.portal-invoice-columns{grid-template-columns:.75fr 1.65fr .75fr .8fr}.portal-billing-head>:nth-child(5),.portal-billing-row>:nth-child(5){display:none}.portal-invoice-columns>:nth-child(4){display:none}.portal-invoice-columns>:nth-child(5){display:block}}@media(max-width:620px){.portal-billing-head,.portal-billing-row,.portal-billing-head.portal-invoice-columns,.portal-billing-row.portal-invoice-columns{grid-template-columns:.9fr 1.6fr .9fr}.portal-billing-head>:nth-child(3),.portal-billing-row>:nth-child(3){display:none}.portal-linked-record{align-items:flex-start;flex-direction:column}}.portal-sidebar nav{overflow-y:auto}.portal-live-development-notice{align-items:center;background:#eceeef;border-left:4px solid var(--jj-red);color:#4f555a;display:flex;gap:14px;margin-bottom:20px;padding:13px 16px}.portal-live-development-notice strong{color:var(--jj-black);flex:0 0 auto;font-size:12px;letter-spacing:.06em;text-transform:uppercase}.portal-live-development-notice span{font-size:13px;line-height:1.45}.portal-profit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.portal-profit-grid article{padding:20px;border:1px solid var(--jj-line);border-top:4px solid var(--jj-red);background:#fff}.portal-profit-grid article>div:first-child{display:flex;justify-content:space-between;gap:15px;margin-bottom:14px}.portal-profit-grid article>div b{color:var(--jj-gray);font-size:11px}.portal-profit-grid article>strong{display:block;color:var(--jj-black);font-size:30px}.portal-profit-grid article>span{color:var(--jj-gray);font-size:11px}.portal-profit-grid dl{margin:18px 0 0}.portal-profit-grid dl div{display:flex;justify-content:space-between;gap:15px;padding:8px 0;border-top:1px solid var(--jj-line)}.portal-profit-grid dt{color:var(--jj-gray)}.portal-profit-grid dd{margin:0;color:var(--jj-black);font-weight:800}.portal-danger-button,.portal-delete-icon{border:1px solid #b4142f;border-radius:3px;background:#fff;color:#a50f29;font-weight:800;cursor:pointer}.portal-danger-button{width:100%;margin-top:12px;padding:10px 14px}.portal-danger-button:hover,.portal-delete-icon:hover{background:#fff0f3}.portal-danger-button:disabled{opacity:.4;cursor:not-allowed}.portal-delete-icon{padding:6px 9px;font-size:10px}.portal-delete-overlay{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:#0000009e}.portal-delete-dialog{width:min(480px,100%);padding:26px;border-top:5px solid var(--jj-red);background:#fff;box-shadow:0 20px 70px #00000059}.portal-delete-dialog h2{margin:7px 0 10px}.portal-delete-dialog p{color:#666;line-height:1.5}.portal-delete-dialog label{display:block;margin-top:20px;font-size:12px}.portal-delete-dialog input{display:block;width:100%;margin-top:7px;padding:10px;border:1px solid #bbb}.portal-delete-dialog .portal-danger-button{width:auto;margin:0}.portal-delete-dialog .portal-action-row{align-items:center}.portal-calendar-card .portal-delete-icon{align-self:flex-start;margin-top:9px;padding:3px 6px;border-color:#bbb;color:#777;background:transparent}.portal-linked-job{display:grid;grid-template-columns:1fr auto auto;gap:15px;align-items:center;padding:14px 0;border-top:1px solid #eee}.portal-linked-job span{display:block;margin-top:4px;color:#777;font-size:11px}.portal-revision-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.portal-revision-list button{padding:14px;border:1px solid #ddd;border-top:3px solid #bbb;background:#fff;text-align:left;cursor:pointer}.portal-revision-list button.active{border-top-color:var(--jj-red);background:#fff7f8}.portal-revision-list span,.portal-revision-list small{display:block;margin-top:5px;color:#777;font-size:10px}.portal-payment-head,.portal-payment-row{display:grid;grid-template-columns:1fr 1fr 1.4fr .8fr .55fr;gap:12px;align-items:center;padding:11px 8px}.portal-payment-head{background:#f7f7f7;color:#777;font-size:9px;font-weight:850;text-transform:uppercase}.portal-payment-row{border-bottom:1px solid #eee;font-size:11px}.portal-invoice-labor-line{display:grid;grid-template-columns:65px minmax(180px,1.6fr) minmax(80px,.45fr) minmax(100px,.55fr) minmax(90px,.65fr) 86px;gap:12px;align-items:end;padding:14px 0;border-top:1px solid var(--jj-line)}.portal-invoice-labor-line>span{align-self:center;color:var(--jj-red);font-size:10px;font-weight:850}.portal-invoice-labor-line label{color:var(--jj-gray);font-size:9px;font-weight:800;text-transform:uppercase}.portal-invoice-labor-line input{display:block;width:100%;margin-top:5px;padding:9px;border:1px solid var(--jj-line);background:#fff;color:var(--jj-black)}.portal-invoice-labor-line>strong{align-self:center;text-align:right}.portal-payroll-form{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;padding:16px;background:var(--jj-bg)}.portal-payroll-form label{color:var(--jj-gray);font-size:10px;font-weight:800}.portal-payroll-form input,.portal-payroll-form select{display:block;width:100%;margin-top:6px;padding:9px;border:1px solid var(--jj-line);background:#fff}.portal-payroll-head,.portal-payroll-row{display:grid;grid-template-columns:1.2fr .8fr .8fr .65fr .65fr .7fr .55fr .55fr;gap:10px;align-items:center;padding:11px 8px}.portal-payroll-head,.portal-contractor-head{background:var(--jj-bg);color:var(--jj-gray);font-size:9px;font-weight:850;text-transform:uppercase}.portal-payroll-row{border-bottom:1px solid var(--jj-line);font-size:11px}.portal-contractor-head,.portal-contractor-row{display:grid;grid-template-columns:1.4fr .65fr .7fr .95fr .8fr .55fr;gap:12px;align-items:center;padding:12px 8px}.portal-contractor-row{border-bottom:1px solid var(--jj-line);font-size:11px}.portal-contractor-row small{display:block;margin-top:4px;color:var(--jj-gray)}.portal-part-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px;padding:16px;background:var(--jj-bg)}.portal-part-form-wide{grid-column:span 2}.portal-part-form label{color:var(--jj-gray);font-size:10px;font-weight:800}.portal-part-form input,.portal-part-form select{display:block;width:100%;margin-top:6px;padding:9px;border:1px solid var(--jj-line);background:#fff}.portal-part-head,.portal-part-row{display:grid;grid-template-columns:1.5fr 1fr .35fr .65fr .75fr .6fr .45fr;gap:10px;align-items:center;padding:12px 8px}.portal-part-head{background:var(--jj-bg);color:var(--jj-gray);font-size:9px;font-weight:850;text-transform:uppercase}.portal-part-row{border-bottom:1px solid var(--jj-line);font-size:11px}.portal-part-row small{display:block;margin-top:4px;color:var(--jj-gray)}.portal-parts-manager--restricted .portal-part-head,.portal-parts-manager--restricted .portal-part-row{grid-template-columns:1.5fr 1fr .35fr .5fr}.portal-empty-parts{margin:0;padding:24px 8px;color:var(--jj-gray);text-align:center}.portal-parts-summary{display:flex;justify-content:flex-end;gap:28px;padding:16px 8px 8px;color:var(--jj-gray);font-size:11px}.portal-parts-summary strong{display:block;margin-top:4px;color:var(--jj-black);font-size:15px}.portal-purchasing-note{margin:12px 0 0;padding:11px 13px;border-left:3px solid var(--jj-red);background:var(--jj-bg);color:var(--jj-gray);font-size:11px;line-height:1.45}.portal-customer-invoice-total{color:var(--jj-black)!important;font-weight:800}.portal-purchase-form>div:not(.portal-panel-heading):not(.portal-action-row){display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.portal-purchase-form label{color:var(--jj-gray);font-size:10px;font-weight:800}.portal-purchase-form input,.portal-purchase-form select{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid var(--jj-line);background:#fff}.portal-expense-head,.portal-expense-row{display:grid;grid-template-columns:1fr 1.3fr 1fr 1fr .65fr .55fr;gap:12px;align-items:center;padding:12px 8px}.portal-purchase-head,.portal-purchase-row{display:grid;grid-template-columns:1.4fr 1.15fr .6fr .65fr .75fr .65fr .75fr .55fr;gap:10px;align-items:center;padding:12px 8px}.portal-expense-head,.portal-purchase-head{background:var(--jj-bg);color:var(--jj-gray);font-size:9px;font-weight:850;text-transform:uppercase}.portal-expense-row,.portal-purchase-row{border-bottom:1px solid var(--jj-line);font-size:11px}.portal-expense-row small,.portal-purchase-row small{display:block;margin-top:4px;color:var(--jj-gray);font-weight:400}.portal-purchase-row select{width:100%;padding:8px;border:1px solid var(--jj-line);background:#fff;font-size:11px}.portal-expense-head--technician,.portal-expense-row--technician{grid-template-columns:1fr 1.5fr .75fr .6fr}.portal-purchase-head--technician,.portal-purchase-row--technician{grid-template-columns:1.5fr 1.2fr .65fr .8fr}.portal-time-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px;padding:16px;background:var(--jj-bg)}.portal-time-form label{color:var(--jj-gray);font-size:10px;font-weight:800}.portal-time-form input,.portal-time-form select,.portal-time-form textarea{display:block;width:100%;margin-top:6px;padding:9px;border:1px solid var(--jj-line);background:#fff}.portal-time-briefing{grid-column:span 3}.portal-time-summary{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-bottom:10px;color:var(--jj-gray);font-size:11px}.portal-time-summary strong{color:var(--jj-black);font-size:17px}.portal-time-head,.portal-time-row{display:grid;grid-template-columns:.85fr .4fr 1.8fr 1.1fr .55fr;gap:12px;align-items:center;padding:12px 8px}.portal-time-head{background:var(--jj-bg);color:var(--jj-gray);font-size:9px;font-weight:850;text-transform:uppercase}.portal-time-row{border-bottom:1px solid var(--jj-line);font-size:11px}.portal-time-row small{display:block;margin-top:4px;color:var(--jj-gray);font-weight:400}.portal-time-head--technician,.portal-time-row--technician{grid-template-columns:.8fr .4fr 1.8fr 1.1fr}.portal-technician-time-stats{grid-template-columns:repeat(2,minmax(0,260px))}.portal-technician-time-stats article{padding:20px;border:1px solid var(--jj-line);border-top:3px solid var(--jj-red);background:#fff}.portal-technician-time-stats article strong,.portal-technician-time-stats article span,.portal-technician-time-stats article small{display:block}.portal-technician-time-stats article strong{font-size:31px}.portal-technician-time-stats article span{margin:3px 0;font-weight:750}.portal-technician-time-stats article small{color:var(--jj-gray)}.portal-button:focus-visible,.portal-secondary-button:focus-visible,.portal-text-button:focus-visible,.portal-sidebar button:focus-visible{outline:2px solid var(--jj-red);outline-offset:2px}.portal-button,.portal-secondary-button,.portal-danger-button,.portal-delete-icon{display:inline-flex;align-items:center;justify-content:center;min-height:42px;margin:0;padding:0 16px;border-radius:3px;font-size:12px;font-weight:800;line-height:1;white-space:nowrap}.portal-danger-button{width:auto}.portal-delete-icon{min-width:86px}.portal-heading-actions,.portal-action-row{gap:12px}.portal-heading-actions>.portal-button,.portal-heading-actions>.portal-secondary-button,.portal-heading-actions>.portal-danger-button,.portal-action-row>.portal-button,.portal-action-row>.portal-secondary-button,.portal-action-row>.portal-danger-button{min-width:140px}.portal-full{width:100%;margin-top:12px}.portal-delete-dialog .portal-danger-button{min-width:140px}.portal-calendar-card .portal-delete-icon{min-width:72px;min-height:34px;padding:0 10px}.portal-employee-grid{grid-template-columns:1.25fr .7fr 1fr 1.2fr .45fr .55fr}.portal-employee-grid>select{width:100%;padding:8px;border:1px solid var(--jj-line);background:#fff}.portal-billing-head:has(+.portal-billing-row--deletable),.portal-billing-row--deletable{grid-template-columns:.7fr 1.6fr .7fr .75fr .6fr .55fr}.portal-billing-head.portal-invoice-columns,.portal-billing-row.portal-invoice-columns.portal-billing-row--deletable{grid-template-columns:.65fr 1.4fr .65fr .65fr .65fr .7fr .55fr}.portal-transaction-head,.portal-transaction-row{grid-template-columns:.5fr .9fr 1.35fr 1fr .6fr .7fr .55fr}.portal-day-all-day{min-height:360px;padding:22px;background:#fafafa}.portal-day-all-day .portal-calendar-card{max-width:560px;padding:16px}.portal-empty-day{min-height:280px;display:grid;place-content:center;gap:6px;color:#777;text-align:center}.portal-empty-day strong{color:#333}.portal-lifecycle-intro{color:#666}.portal-lifecycle-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0 28px}.portal-lifecycle-grid--technician,.portal-job-timeline--technician{grid-template-columns:repeat(3,1fr)}.portal-lifecycle-grid label,.portal-expense-form label{color:#555;font-size:11px;font-weight:800}.portal-lifecycle-grid input,.portal-expense-form input,.portal-expense-form select,.portal-heading-actions select{display:block;width:100%;margin-top:7px;padding:10px;border:1px solid #ccd0d3;border-radius:3px;background:#fff}.portal-job-timeline{display:grid;grid-template-columns:repeat(4,1fr);position:relative}.portal-job-timeline:before{content:"";position:absolute;top:8px;right:8%;left:8%;height:2px;background:#ddd}.portal-job-timeline div{z-index:1;display:grid;justify-items:center;gap:5px;color:#888;font-size:11px;text-align:center}.portal-job-timeline i{width:18px;height:18px;border:4px solid #ddd;border-radius:50%;background:#fff}.portal-job-timeline .done{color:#222}.portal-job-timeline .done i{border-color:var(--jj-red)}.portal-customer-summary,.portal-accounting-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.portal-customer-summary>div,.portal-accounting-stats article{padding:18px;border:1px solid var(--jj-line);border-top:3px solid var(--jj-red);background:#fff}.portal-customer-summary span,.portal-accounting-stats span{display:block;margin-bottom:7px;color:#777;font-size:10px;font-weight:800;letter-spacing:.6px;text-transform:uppercase}.portal-customer-summary strong,.portal-accounting-stats strong{font-size:21px}.portal-customer-summary--technician{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-customer-head--technician,.portal-customer-row--technician{grid-template-columns:1.6fr .5fr .6fr}.portal-calendar-assignee{margin-left:auto;color:var(--jj-gray);font-size:11px}.portal-role-preview{width:138px;margin-top:7px;padding:5px 7px;border:1px solid #4a4a4a;background:#202020;color:#fff;font-size:9px}.portal-accounting-stats small{display:block;margin-top:6px;color:#777}.portal-vehicle-form,.portal-expense-form>div:not(.portal-panel-heading):not(.portal-action-row){display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px;padding:16px;background:#f7f7f7}.portal-vehicle-form input{min-width:0;padding:10px;border:1px solid #ccd0d3}.portal-vehicle-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.portal-vehicle-grid article{padding:18px;border:1px solid #ddd;border-left:4px solid #222}.portal-vehicle-grid h3{margin:5px 0}.portal-vehicle-grid dl{margin:16px 0}.portal-vehicle-grid dl div{display:flex;justify-content:space-between;padding:7px 0;border-top:1px solid #eee}.portal-vehicle-grid dt{color:#777}.portal-vehicle-grid dd{margin:0;font-weight:700}.portal-customer-records{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.portal-customer-records button,.portal-report-link{width:100%;padding:13px 0;border:0;border-top:1px solid #eee;background:transparent;color:#222;text-align:left;cursor:pointer}.portal-customer-records button span{display:block;margin-top:4px;color:#777;font-size:11px}.customer-vehicle-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-top:1px solid #eee}.customer-vehicle-row span{display:block;margin-top:5px;color:#777;font-size:12px}.customer-vehicle-button{width:100%;border:0;background:#fff;color:var(--jj-black);text-align:left;cursor:pointer}.customer-vehicle-button:hover{background:var(--jj-bg)}.customer-vehicle-button>.portal-text-button{margin:0;color:var(--jj-red);font-weight:800;white-space:nowrap}.customer-vehicle-jobs{margin-top:14px;padding:18px;border-left:4px solid var(--jj-red);background:var(--jj-bg)}.customer-vehicle-jobs>button:not(.portal-secondary-button){display:grid;grid-template-columns:1fr 2fr auto;gap:16px;width:100%;padding:13px 8px;border:0;border-top:1px solid var(--jj-line);background:transparent;color:var(--jj-black);text-align:left;cursor:pointer}.customer-vehicle-jobs>button span{color:var(--jj-gray)}.customer-vehicle-jobs>button b{color:var(--jj-red)}.customer-record-tabs{display:flex;gap:8px;margin-bottom:14px;border-bottom:1px solid var(--jj-line)}.customer-record-tabs button{min-height:42px;padding:0 18px;border:0;border-bottom:3px solid transparent;background:#fff;color:var(--jj-gray);font-weight:800;cursor:pointer}.customer-record-tabs button.active{border-bottom-color:var(--jj-red);color:var(--jj-black)}.customer-record-tabs b{margin-left:6px;padding:2px 7px;border-radius:12px;background:var(--jj-bg);color:var(--jj-gray);font-size:10px}.customer-record-search{display:flex;align-items:center;gap:14px;margin-bottom:14px}.customer-record-search input{flex:1;min-height:42px;padding:0 13px;border:1px solid var(--jj-line);background:#fff}.customer-record-search span{color:var(--jj-gray);font-size:11px;white-space:nowrap}.customer-record-head,.customer-record-row{display:grid;grid-template-columns:.8fr 1.8fr .7fr .8fr;gap:16px;align-items:center;width:100%;padding:12px 10px}.customer-record-head{background:var(--jj-bg);color:var(--jj-gray);font-size:9px;font-weight:850;text-transform:uppercase}.customer-record-row{border:0;border-bottom:1px solid var(--jj-line);background:#fff;color:var(--jj-black);font-size:11px;text-align:left;cursor:pointer}.customer-record-row:hover{background:var(--jj-bg)}.customer-record-row small{display:block;margin-top:4px;color:var(--jj-gray);font-weight:400}.customer-record-row>strong:last-child{text-align:right}.customer-record-pagination{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:16px;color:var(--jj-gray);font-size:11px}.customer-record-pagination>div{display:flex;align-items:center;gap:12px}.customer-record-detail h1{margin:6px 0}.customer-record-detail>p{color:var(--jj-gray)}.customer-record-detail dl{display:grid;grid-template-columns:repeat(4,1fr);margin:28px 0;border-top:1px solid var(--jj-line);border-bottom:1px solid var(--jj-line)}.customer-record-detail dl div{padding:18px;border-right:1px solid var(--jj-line)}.customer-record-detail dt{color:var(--jj-gray);font-size:9px;font-weight:850;text-transform:uppercase}.customer-record-detail dd{margin:7px 0 0;font-weight:800}.customer-record-message{padding:18px;border-left:4px solid var(--jj-red);background:var(--jj-bg)}.customer-record-message p{margin-bottom:0;color:var(--jj-gray);line-height:1.5}.portal-accounting-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px}.portal-transaction-head,.portal-transaction-row{display:grid;grid-template-columns:.55fr 1fr 1.5fr 1.1fr .7fr .8fr;gap:12px;align-items:center}.portal-transaction-head{margin:0 -22px;padding:10px 22px;border:1px solid #eee;border-right:0;border-left:0;background:#fafafa;color:#777;font-size:9px;font-weight:850;letter-spacing:.5px;text-transform:uppercase}.portal-transaction-row{width:calc(100% + 44px);margin:0 -22px;padding:14px 22px;border:0;border-bottom:1px solid #eee;background:#fff;color:#333;font-size:11px;text-align:left;cursor:pointer}.portal-transaction-row:hover{background:#fafafa}.portal-transaction-row small{display:block;margin-top:3px;color:#777}.portal-money-in{color:#247c39}.portal-money-out{color:#9d1930}.portal-report-link{display:flex;justify-content:space-between;font-weight:700}.portal-report-link b{color:var(--jj-red)}.portal-accounting-note{padding:13px 16px;border-left:3px solid #a67c00;background:#fff8dc;color:#625217;font-size:11px}@media(max-width:1100px){.portal-lifecycle-grid,.portal-customer-summary,.portal-accounting-stats{grid-template-columns:repeat(2,1fr)}.portal-accounting-layout,.portal-customer-records{grid-template-columns:1fr}.portal-payroll-form,.portal-part-form,.portal-time-form{grid-template-columns:repeat(2,1fr)}.portal-time-briefing{grid-column:span 2}.portal-time-head,.portal-time-row{grid-template-columns:.8fr .4fr 1.7fr .55fr}.portal-time-head>:nth-child(4),.portal-time-row>:nth-child(4){display:none}.portal-purchase-form>div:not(.portal-panel-heading):not(.portal-action-row){grid-template-columns:repeat(2,1fr)}.portal-expense-head,.portal-expense-row{grid-template-columns:1fr 1.3fr 1fr .7fr}.portal-expense-head>:nth-child(4),.portal-expense-head>:nth-child(6),.portal-expense-row>:nth-child(4),.portal-expense-row>:nth-child(6){display:none}.portal-purchase-head,.portal-purchase-row{grid-template-columns:1.4fr 1fr .6fr .7fr .8fr}.portal-purchase-head>:nth-child(4),.portal-purchase-head>:nth-child(6),.portal-purchase-head>:nth-child(8),.portal-purchase-row>:nth-child(4),.portal-purchase-row>:nth-child(6),.portal-purchase-row>:nth-child(8){display:none}.portal-part-head,.portal-part-row{grid-template-columns:1.5fr 1fr .4fr .7fr .7fr}.portal-part-head>:nth-child(4),.portal-part-head>:nth-child(7),.portal-part-row>:nth-child(4),.portal-part-row>:nth-child(7){display:none}.portal-payroll-head,.portal-payroll-row{grid-template-columns:1.2fr .8fr .7fr .7fr .55fr}.portal-payroll-head>:nth-child(4),.portal-payroll-head>:nth-child(5),.portal-payroll-head>:nth-child(7),.portal-payroll-row>:nth-child(4),.portal-payroll-row>:nth-child(5),.portal-payroll-row>:nth-child(7){display:none}}@media(max-width:720px){.portal-lifecycle-grid,.portal-customer-summary,.portal-accounting-stats,.portal-vehicle-grid,.portal-vehicle-form,.portal-expense-form>div:not(.portal-panel-heading):not(.portal-action-row){grid-template-columns:1fr}.portal-profit-grid,.portal-payroll-form,.portal-part-form,.portal-time-form{grid-template-columns:1fr}.portal-time-briefing{grid-column:auto}.portal-purchase-form>div:not(.portal-panel-heading):not(.portal-action-row){grid-template-columns:1fr}.portal-part-form-wide{grid-column:auto}.portal-parts-summary{align-items:flex-end;flex-direction:column;gap:8px}.portal-contractor-head,.portal-contractor-row{grid-template-columns:1.4fr .7fr .8fr .55fr}.portal-contractor-head>:nth-child(3),.portal-contractor-head>:nth-child(5),.portal-contractor-row>:nth-child(3),.portal-contractor-row>:nth-child(5){display:none}.portal-job-timeline{grid-template-columns:repeat(2,1fr);gap:20px}.customer-record-tabs{overflow-x:auto}.customer-record-head,.customer-record-row{grid-template-columns:1fr 1.5fr}.customer-record-head>:nth-child(3),.customer-record-row>:nth-child(3){display:none}.customer-record-pagination,.customer-vehicle-jobs>button:not(.portal-secondary-button){align-items:flex-start;flex-direction:column}.customer-vehicle-jobs>button:not(.portal-secondary-button){display:flex}.customer-record-detail dl{grid-template-columns:1fr 1fr}.portal-job-timeline:before{display:none}.portal-transaction-head,.portal-transaction-row{grid-template-columns:.7fr 1fr 1.2fr .8fr}.portal-transaction-head>:nth-child(4),.portal-transaction-head>:nth-child(5),.portal-transaction-row>:nth-child(4),.portal-transaction-row>:nth-child(5){display:none}}
