:root{color-scheme:light;--navy:#112334;--navy-soft:#203647;--ink:#13283a;--muted:#607284;--line:#dfe6ed;--orange:#ff9a4a;--paper:#fff;--page:#f1f5f9;--danger:#b02d34;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--ink);padding-bottom:105px;-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button,a,input{outline-offset:4px}button:focus-visible,a:focus-visible{outline:3px solid #1485d2}input:focus-visible{outline:2px solid #1485d2;border-color:transparent}button{border:0}a{color:inherit}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}[hidden]{display:none!important}.shell{max-width:1080px;margin:0 auto;padding-left:36px;padding-right:36px}.top-surface{background:var(--navy);color:white;padding-bottom:26px}.app-header{height:98px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-size:19px;font-weight:720;letter-spacing:-.5px}.brand-icon{width:40px;height:40px;border-radius:12px;background:var(--orange);display:grid;place-items:center;color:var(--navy)}.brand-icon svg{width:26px;height:26px;stroke-width:2}.brand-country{font-size:12px;letter-spacing:.5px;border:1px solid #72828d;border-radius:5px;margin-left:8px;padding:3px 5px;vertical-align:2px;font-weight:650}.icon-button{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:transparent;color:inherit;flex-shrink:0}.icon-button:hover{background:#ffffff12}.header-settings{border:1px solid #ffffff26}.week-section{padding-top:18px}.week-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.6px;margin:0 0 8px;color:#a8bdcc}.week-heading h1{font-size:clamp(25px,3vw,32px);font-weight:650;letter-spacing:-.8px;margin:0}.week-arrows{display:flex;gap:6px}.week-arrows .icon-button{background:#ffffff0d;border:1px solid #ffffff20}.week-arrows .icon-button:hover{background:#ffffff18}.summary-layout{display:flex;justify-content:space-between;align-items:center;gap:32px;margin:32px 0}.hours-total{display:flex;flex-direction:column;gap:6px}.summary-label{font-size:14px;color:#b9cbd7}.hours-value{font-size:64px;font-weight:650;letter-spacing:-3px;font-variant-numeric:tabular-nums;line-height:1.15}.hours-value span{font-size:32px;font-weight:450;letter-spacing:-1px;color:#b9cbd7}.hours-value .minute-value{font-size:42px;color:white;font-weight:550;margin-left:12px}.summary-caption{font-size:13px;color:#8fa8b9;margin-top:4px}.pay-summary{border-left:1px solid #ffffff25;padding:12px 0 12px 40px;display:flex;flex-direction:column;gap:9px;min-width:275px}.pay-summary strong{font-size:35px;letter-spacing:-1px;font-weight:650;font-variant-numeric:tabular-nums;color:#ffc08e}.pay-summary>span:last-child{font-size:14px;color:#a8bdcc}.week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.day-chip{position:relative;padding:12px 4px 10px;min-height:88px;background:#ffffff07;border:1px solid #ffffff0c;border-radius:13px;color:#c0cdda;display:flex;flex-direction:column;align-items:center;gap:6px}.day-chip:hover{background:#ffffff13}.day-chip .day-name{font-size:12px;font-weight:500}.day-chip .day-number{font-size:21px;font-weight:600;line-height:1}.day-chip .day-hours{font-size:12px;line-height:1.5;min-height:18px;color:#aac0d0;font-variant-numeric:tabular-nums}.day-chip.is-today{background:var(--orange);border-color:var(--orange);color:var(--navy)}.day-chip.is-today .day-hours{color:#393b3e}.day-chip.has-shift:not(.is-today){border-color:#7590a461}.main-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:30px;padding-top:32px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;min-height:35px}h2{font-size:20px;font-weight:650;letter-spacing:-.5px;margin:0}.quiet-label{font-size:12px;color:var(--muted);font-weight:500}.text-button{background:transparent;color:#206a9a;font-size:14px;font-weight:650;padding:10px 0}.text-button:hover{text-decoration:underline}.empty-state{min-height:250px;background:white;border:1px solid var(--line);border-radius:18px;padding:32px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.empty-icon{width:56px;height:56px;border-radius:16px;background:#eaf0f6;color:#607d94;display:grid;place-items:center;margin-bottom:17px}.empty-icon svg{width:27px;height:27px}.empty-state h3{font-size:18px;margin:0 0 8px;letter-spacing:-.35px}.empty-state p{font-size:14px;line-height:1.6;color:var(--muted);max-width:290px;margin:0 0 18px}.secondary-button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:1px solid var(--line);border-radius:10px;background:white;color:var(--ink);font-size:14px;font-weight:650;padding:10px 16px}.secondary-button:hover{background:#f5f8fb}.secondary-button svg{width:18px;height:18px}.entries-list{border:1px solid var(--line);background:white;border-radius:16px;overflow:hidden}.entry-row{display:flex;width:100%;background:white;align-items:center;gap:16px;padding:18px;text-align:left;color:var(--ink)}.entry-row+.entry-row{border-top:1px solid #edf1f5}.entry-row:hover{background:#f8fafd}.entry-date{width:48px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 3px;border-radius:10px;background:#eef3f8}.entry-date>span{font-size:12px;color:var(--muted)}.entry-date strong{font-size:20px;font-weight:650}.entry-date.today{background:#ffead9}.entry-date.today>span{color:#8b4b1b}.entry-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.entry-times{font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}.entry-detail{font-size:12px;color:var(--muted);line-height:1.5}.entry-totals{display:flex;flex-direction:column;gap:6px;align-items:flex-end;font-variant-numeric:tabular-nums;flex-shrink:0}.entry-totals strong{font-size:16px;font-weight:650}.entry-totals span{font-size:13px;color:var(--muted)}.night-label{font-size:12px;vertical-align:3px;margin-left:3px;color:#386a90}.list-footnote{font-size:12px;line-height:1.6;color:var(--muted);margin:12px 2px}.side-panel{padding-top:53px}.rate-card{border:1px solid var(--line);border-radius:16px;padding:22px;background:#fff}.rate-card-heading{display:flex;align-items:center;gap:10px}.rate-card-heading h2{font-size:15px;letter-spacing:-.15px}.mini-icon{display:grid;place-items:center;color:var(--muted)}.mini-icon svg{width:20px;height:20px}.rate-value{font-size:27px;font-weight:650;letter-spacing:-.7px;margin:20px 0 6px}.rate-value span{font-size:14px;font-weight:450;color:var(--muted);letter-spacing:0}.secondary{font-size:13px;line-height:1.6;color:var(--muted);margin:0 0 18px}.rate-card .secondary-button{width:100%;justify-content:space-between}.calculation-note{font-size:12px;color:var(--muted);line-height:1.7;margin:18px 4px}.local-note{font-size:12px;color:var(--muted);display:flex;align-items:flex-start;gap:8px;line-height:1.6;margin:0 4px}.local-note svg{width:17px;height:17px;margin-top:1px}.install-button{margin:8px 4px}.action-dock{position:fixed;bottom:0;left:0;right:0;border-top:1px solid #dfe6ed;background:#fffefcfa;backdrop-filter:blur(16px);z-index:5;padding-bottom:env(safe-area-inset-bottom)}.dock-inner{display:flex;align-items:center;justify-content:space-between;padding-top:14px;padding-bottom:14px}.dock-label{font-size:14px;color:var(--muted)}.primary-button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:52px;border-radius:13px;background:var(--orange);color:#1c2934;padding:13px 25px;font-size:16px;font-weight:750}.primary-button:hover{background:#ffad6c}.primary-button:active{transform:translateY(1px)}.primary-button svg{width:21px;height:21px;stroke-width:2.2}.sheet{padding:0;border:0;border-radius:24px;width:min(540px,calc(100% - 32px));max-height:calc(100dvh - 48px);color:var(--ink);background:white;box-shadow:0 24px 100px #0616244d;overflow:auto;overscroll-behavior:contain}.sheet::backdrop{background:#07142299;backdrop-filter:blur(3px)}body:has(dialog[open]){overflow:hidden}.sheet-header{position:sticky;top:0;z-index:2;background:white;padding:26px 26px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #edf1f5}.sheet-header .eyebrow{color:#697f91;font-size:12px;margin-bottom:6px}.sheet-header h2{font-size:25px}.sheet-header .icon-button{background:#f0f4f8;color:#647687}.form-body{display:flex;flex-direction:column;gap:20px;padding:24px 26px}.field{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600;min-width:0;line-height:1.5}.field input{width:100%;height:52px;min-width:0;border:1px solid #ced9e3;border-radius:11px;padding:12px 13px;background:white;color:var(--ink);font-size:17px;line-height:1.3;appearance:none}.field input::placeholder{color:#8b99a6}.input-unit{position:relative;display:flex;align-items:center}.input-unit>span{position:absolute;right:13px;font-size:14px;color:var(--muted);pointer-events:none;font-weight:450}.input-unit input{padding-right:52px}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field-note{font-size:12px;line-height:1.65;color:var(--muted);margin:-8px 0 0}.form-divider{height:1px;background:var(--line);margin:2px 0}.live-result{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:var(--navy);color:white;padding:18px;border-radius:14px}.live-result>div{display:flex;flex-direction:column;gap:8px}.live-result>div:last-child{text-align:right}.live-result span{font-size:12px;color:#b3c5d2}.live-result strong{font-size:21px;font-weight:650;letter-spacing:-.5px;word-break:break-word}.live-result>div:last-child strong{color:#ffc08e}.form-error,.error-banner{border:1px solid #f3c5c6;border-radius:10px;padding:12px 14px;background:#fff2f2;color:#973139;font-size:14px;line-height:1.6}.error-banner{margin-bottom:16px}.sheet-footer{position:sticky;bottom:0;background:white;padding:18px 26px;padding-bottom:calc(18px + env(safe-area-inset-bottom));border-top:1px solid #e6edf3;display:flex;align-items:center;gap:12px;z-index:2}.sheet-footer .primary-button{flex:1}.delete-button{background:transparent;color:var(--danger);font-size:13px;padding:10px 0;min-height:44px;max-width:95px}.delete-confirm{border:1px solid #edc9c9;background:#fff6f6;border-radius:12px;padding:15px}.delete-confirm p{margin:0 0 12px;font-size:14px}.delete-confirm>div{display:flex;gap:12px}.danger-button{background:var(--danger);color:white;min-height:44px;border-radius:9px;padding:9px 16px;font-size:14px;font-weight:600}.settings-intro{font-size:15px;line-height:1.7;color:var(--muted);margin:0}.device-info{display:flex;gap:12px;padding:17px;background:#edf3f8;border-radius:12px;margin-top:4px}.device-info>svg{width:22px;height:22px;color:#557088;margin-top:2px}.device-info strong{font-size:14px;font-weight:650}.device-info p{font-size:13px;line-height:1.65;color:var(--muted);margin:6px 0 0}.toast{position:fixed;left:50%;bottom:105px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;max-width:calc(100% - 32px);background:#213c4e;color:white;box-shadow:0 8px 28px #10243738;border-radius:13px;padding:14px 20px;font-size:14px;z-index:20;white-space:normal}.toast svg{width:18px;height:18px;color:#a1e2c7}.noscript{margin:24px;padding:20px;background:white;border:1px solid #dfe6ed}.primary-button,.secondary-button,.icon-button,.day-chip{transition:background .14s ease,transform .14s ease}
@media(min-width:768px){.week-strip{max-width:650px}.top-surface{padding-bottom:30px}.summary-layout{max-width:840px}.hours-value{font-size:76px}.hours-value span{font-size:36px}.hours-value .minute-value{font-size:49px}}
@media(max-width:767px){.shell{padding-left:20px;padding-right:20px}.app-header{height:80px}.brand{font-size:18px;gap:10px}.brand-icon{width:36px;height:36px;border-radius:11px}.brand-icon svg{width:24px;height:24px}.header-settings{width:42px;height:42px}.week-section{padding-top:12px}.week-heading h1{font-size:26px}.eyebrow{font-size:12px;margin-bottom:7px}.week-arrows{gap:5px}.week-arrows .icon-button{width:38px;height:40px;border-radius:10px}.week-arrows svg{width:21px;height:21px}.summary-layout{gap:18px;margin:27px 0 23px;align-items:flex-start}.hours-value{font-size:55px;letter-spacing:-2px;margin-top:3px}.hours-value span{font-size:26px}.hours-value .minute-value{font-size:31px;margin-left:6px}.summary-label{font-size:12px}.summary-caption{display:none}.pay-summary{min-width:0;border-left:1px solid #ffffff24;padding:2px 0 4px 19px;gap:8px;flex-shrink:0;max-width:52%}.pay-summary strong{font-size:25px;letter-spacing:-.6px;overflow-wrap:anywhere}.pay-summary>span:last-child{font-size:12px}.week-strip{gap:5px}.day-chip{min-height:81px;padding:10px 2px 7px;border-radius:11px;gap:6px}.day-chip .day-name{font-size:12px}.day-chip .day-number{font-size:19px}.day-chip .day-hours{font-size:12px}.top-surface{padding-bottom:22px}.main-layout{display:block;padding-top:24px}.section-heading{margin-bottom:13px}.section-heading h2{font-size:19px}.quiet-label{font-size:12px}.text-button{font-size:12px}.empty-state{min-height:229px;padding:24px 18px}.empty-state p{margin-bottom:16px}.side-panel{padding-top:20px}.rate-card{padding:19px;display:grid;grid-template-columns:1fr auto;column-gap:15px}.rate-card-heading{grid-column:1}.rate-card-heading h2{font-size:14px}.rate-value{grid-column:1;font-size:23px;margin:12px 0 4px}.secondary{grid-column:1;font-size:12px;margin:0}.rate-card .secondary-button{grid-column:2;grid-row:1/4;align-self:center;width:44px;height:44px;padding:10px;font-size:0;gap:0}.rate-card .secondary-button svg{width:20px;height:20px}.calculation-note{font-size:12px;margin:17px 3px 13px}.local-note{font-size:12px}.dock-inner{padding-top:12px;padding-bottom:12px}.dock-label{display:none}.dock-inner .primary-button{width:100%;min-height:54px}.entry-row{gap:11px;padding:15px 12px}.entry-date{width:44px}.entry-times{font-size:15px}.entry-detail{font-size:12px}.entry-totals strong{font-size:15px}.entry-totals span{font-size:12px}.entry-totals{gap:7px}.toast{bottom:95px}.sheet{width:100%;max-width:100%;max-height:94dvh;margin:auto 0 0;border-radius:23px 23px 0 0}.sheet-header{padding:22px 20px 18px}.form-body{padding:22px 20px}.sheet-footer{padding:16px 20px;padding-bottom:calc(16px + env(safe-area-inset-bottom))}.sheet-header h2{font-size:24px}.two-fields{gap:13px}}
@media(max-width:360px){.shell{padding-left:15px;padding-right:15px}.brand{font-size:16px}.brand-country{margin-left:5px}.week-heading h1{font-size:23px}.summary-layout{gap:10px}.pay-summary{padding-left:12px}.pay-summary strong{font-size:22px}.hours-value{font-size:46px}.day-chip .day-hours{font-size:12px}.entry-row{gap:8px;padding:14px 9px}.entry-date{width:38px}.entry-times{font-size:14px}.entry-totals strong{font-size:14px}.field{font-size:13px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media(min-resolution:1dppx){input[type=date],input[type=time]{font-variant-numeric:tabular-nums}}

@media(max-width:767px){.hours-total{min-width:0;flex:1}.hours-value{white-space:nowrap}.hours-value .minute-value{display:block;font-size:24px;letter-spacing:-.5px;margin:4px 0 0}.hours-value .minute-value span{font-size:18px}.summary-label{font-size:14px}.entry-times{display:block}.night-label{display:block;margin:4px 0 0;vertical-align:baseline}.day-chip .day-hours{font-size:12px;letter-spacing:-.35px}.dock-inner{justify-content:flex-end}.entry-info{overflow-wrap:anywhere}}

/* The same navy and orange system across employee and ZZP work. */
.mode-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:10px}.mode-bar>span{font-size:12px;color:#a8bdcc}.mode-switch{display:flex;gap:4px;background:#203647;border:1px solid #ffffff14;border-radius:12px;padding:4px}.mode-switch button{background:transparent;color:#b9cbd7;min-height:40px;border-radius:8px;padding:8px 20px;font-size:14px;font-weight:650}.mode-switch button[aria-pressed=true]{background:#fff;color:#112334}.zzp-vat-summary{display:flex;justify-content:space-between;gap:18px;margin:-6px 0 24px;padding-top:17px;border-top:1px solid #ffffff25;font-size:14px;color:#b9cbd7}.zzp-vat-summary span{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.zzp-vat-summary strong{color:#fff;font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}.client-filter{display:flex;align-items:center;gap:14px;font-size:14px;font-weight:600;margin-bottom:15px}.client-filter select{flex:1;min-width:0}.field select,.client-filter select{height:52px;border:1px solid #ced9e3;border-radius:11px;padding:10px 35px 10px 13px;background:#fff;color:#13283a;font:inherit;font-size:16px;max-width:100%;min-width:0}.client-filter select{height:46px}.client-picker{display:flex;align-items:flex-end;gap:12px}.client-picker>.field{flex:1;min-width:0}.client-picker>.text-button{flex-shrink:0;min-height:52px;font-size:13px}.client-list{display:flex;flex-direction:column;max-height:220px;overflow-y:auto;border-bottom:1px solid #dfe6ed}.client-list:empty{display:none}.client-list button{display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;min-height:64px;padding:14px 26px;color:#13283a;background:#f7f9fc;border-bottom:1px solid #e7edf3}.client-list button:last-child{border-bottom:0}.client-list button>span{display:flex;flex-direction:column;gap:5px;min-width:0}.client-list strong{font-size:14px;overflow-wrap:anywhere}.client-list small{font-size:12px;color:#607284}.client-list svg{width:19px;height:19px;color:#607284}.form-body h3{font-size:18px;margin:0;font-weight:650}.form-body>.section-heading{margin:0}.report-button{width:100%;margin-top:14px;min-height:48px}.zzp-entry-client{font-size:13px;font-weight:600;overflow-wrap:anywhere}.zzp-entry-detail{font-size:12px;color:#607284;line-height:1.5}.zzp-entry-row .entry-info{gap:5px}.zzp-entry-row{align-items:flex-start}.zzp-entry-row .entry-totals{padding-top:4px}.zzp-entry-row .entry-date{margin-top:2px}.zzp-clients-card .rate-value{font-size:24px}.vat-select{font-weight:450}.field select:focus-visible,.client-filter select:focus-visible{outline:2px solid #1485d2;outline-offset:3px}
.language-button{display:flex;align-items:center;justify-content:center;gap:7px;min-width:64px;height:44px;padding:0 11px;border:1px solid #ffffff26;border-radius:12px;background:#ffffff0d;color:#fff}.language-button:hover{background:#ffffff18}.language-button svg{width:19px;height:19px}.language-button strong{font-size:13px;letter-spacing:.5px}.language-sheet{max-width:440px}.language-list{display:flex;flex-direction:column;gap:9px}.language-list button{display:flex;align-items:center;justify-content:space-between;min-height:62px;padding:12px 16px;border:1px solid #dfe6ed;border-radius:12px;background:#fff;color:#13283a;text-align:left}.language-list button:hover{background:#f5f8fb}.language-list button>span{display:flex;align-items:center;gap:14px}.language-list button strong{display:grid;place-items:center;width:38px;height:34px;border-radius:9px;background:#edf3f8;font-size:13px}.language-list button span span{font-size:15px;font-weight:600}.language-list button svg{width:20px;height:20px;color:#16825d;opacity:0}.language-list button[aria-checked=true]{border-color:#112334;background:#f7f9fc}.language-list button[aria-checked=true] svg{opacity:1}
.net-estimate{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:3px;padding-top:10px;border-top:1px solid #ffffff25}.net-estimate span{font-size:12px;color:#b9cbd7}.pay-summary .net-estimate strong{font-size:22px;color:#fff;letter-spacing:-.4px}.pay-summary #net-caption,.pay-summary #shift-count{font-size:12px;color:#a8bdcc}.tax-setting{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px;border:1px solid #dfe6ed;border-radius:12px;background:#f7f9fc}.tax-setting>div{min-width:0}.tax-setting strong,.tax-info strong{font-size:14px}.tax-setting p,.tax-info p{margin:5px 0 0;color:#607284;font-size:12px;line-height:1.55}.switch-control{display:flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0;color:#607284;font-size:11px;text-align:center;max-width:96px}.switch-control input{position:absolute;opacity:0;pointer-events:none}.switch-control>span[aria-hidden]{position:relative;width:48px;height:28px;border-radius:20px;background:#aab7c1;transition:background .15s}.switch-control>span[aria-hidden]::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0b1f2e38;transition:transform .15s}.switch-control input:checked+span{background:#16825d}.switch-control input:checked+span::after{transform:translateX(20px)}.switch-control input:focus-visible+span{outline:3px solid #1485d2;outline-offset:3px}.tax-info{padding:15px 16px;border-left:3px solid #ff9a4a;background:#fff8f1;border-radius:3px 10px 10px 3px}.tax-info p+p{margin-top:7px}
.switch-control{font-size:12px}
@media(max-width:767px){.pay-summary .net-estimate{display:block}.pay-summary .net-estimate span{display:block;margin-bottom:4px}.pay-summary .net-estimate strong{font-size:19px}.pay-summary #net-caption{line-height:1.4}.tax-setting{align-items:flex-start}}
@media(max-width:767px){.app-header{height:76px}.mode-bar{padding-bottom:8px}.mode-switch button{padding:8px 17px;min-height:40px}.mode-bar>span{font-size:12px}.zzp-vat-summary{gap:16px;margin-bottom:20px;font-size:12px}.zzp-vat-summary span{display:flex;flex-direction:column;gap:5px}.zzp-vat-summary span:last-child{align-items:flex-end}.zzp-vat-summary strong{font-size:15px}.client-list button{padding:14px 20px}.zzp-clients-card .secondary-button{font-size:0}.client-picker{align-items:stretch;flex-direction:column;gap:3px}.client-picker>.text-button{min-height:40px;align-self:flex-end;padding:5px 0}.zzp-entry-row .entry-info{gap:4px}.zzp-entry-client{font-size:13px}.zzp-entry-detail{font-size:12px}.client-filter{gap:10px}.client-filter select{font-size:14px}}

.compare-button{width:100%;justify-content:flex-start;gap:10px;margin-top:14px;background:var(--navy);border-color:var(--navy);color:#fff}.compare-button:hover{background:#203b4d}.compare-button span{flex:1;text-align:left}.compare-button svg:last-child{width:17px}.compare-app-summary{display:flex;flex-direction:column;gap:5px;padding:16px 18px;border:1px solid #dce5ec;border-radius:13px;background:#f3f7fa}.compare-app-summary span{font-size:12px;color:var(--muted)}.compare-app-summary strong{font-size:18px;font-variant-numeric:tabular-nums}.compare-app-summary small{font-size:12px;color:var(--muted);line-height:1.5}.compare-result{border:1px solid #dce5ec;border-radius:14px;overflow:hidden}.compare-status{display:flex;align-items:center;gap:10px;padding:15px 17px;font-size:14px}.compare-status svg{width:20px;height:20px;flex-shrink:0}.compare-status.is-match{background:#eaf7f1;color:#176a4e}.compare-status.needs-check{background:#fff2e7;color:#8b4b1b}.compare-grid{font-variant-numeric:tabular-nums}.compare-head,.compare-row{display:grid;grid-template-columns:1.15fr repeat(3,minmax(0,1fr));gap:8px;align-items:center;padding:11px 14px}.compare-head{background:#edf3f8;color:#607284;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.35px}.compare-head span:not(:first-child){text-align:right}.compare-row{border-top:1px solid #e7edf3;font-size:13px}.compare-row>span{font-weight:650}.compare-row>span small{display:block;margin-top:2px;color:var(--muted);font-size:11px;font-weight:450}.compare-row>strong{text-align:right;font-size:13px;overflow-wrap:anywhere}.compare-row .is-same{color:#16825d}.compare-row .has-difference{color:#a3561c}.compare-extras,.compare-note{margin:0;padding:12px 15px;border-top:1px solid #e7edf3;font-size:12px;line-height:1.55;color:var(--muted)}.compare-note{background:#f8fafc}
@media(max-width:480px){.compare-head{grid-template-columns:repeat(3,minmax(0,1fr));padding-left:12px;padding-right:12px}.compare-head span:first-child{display:none}.compare-row{grid-template-columns:repeat(3,minmax(0,1fr));padding:12px}.compare-row>span{grid-column:1/-1;margin-bottom:3px}.compare-row>strong{text-align:left}.compare-head span:not(:first-child){text-align:left}.compare-app-summary strong{font-size:16px}}
.data-button{width:100%;justify-content:flex-start;gap:10px;margin-top:9px}.data-button span{flex:1;text-align:left}.data-button svg:last-child{width:17px}.zzp-side .data-button{margin-top:9px}.data-tools-body{gap:14px}.data-card{display:flex;flex-direction:column;gap:14px;padding:18px;border:1px solid #dce5ec;border-radius:14px;background:#fff}.data-card>div:first-child strong{font-size:16px}.data-card>div:first-child p{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.6}.data-card>.secondary-button,.file-button{width:100%;justify-content:center}.file-button{cursor:pointer}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.file-button:focus-within{outline:2px solid #1485d2;outline-offset:3px}.export-buttons{display:grid;grid-template-columns:1fr 1fr;gap:9px}.export-buttons .secondary-button{min-width:0;padding:10px;font-size:13px}.restore-preview{display:flex;flex-direction:column;gap:5px;padding:13px 14px;border-radius:11px;background:#eaf7f1;color:#176a4e}.restore-preview strong{font-size:14px}.restore-preview span,.restore-preview small{font-size:12px;line-height:1.5}.restore-preview small{color:#526f65}.restore-button{width:100%}.data-message{padding:12px 14px;border:1px solid #b9dfcd;border-radius:10px;background:#edf8f3;color:#176a4e;font-size:14px;line-height:1.5}.data-message.is-error{border-color:#f3c5c6;background:#fff2f2;color:#973139}.data-privacy-note{margin:0;text-align:center}
@media(max-width:420px){.export-buttons{grid-template-columns:1fr}.data-card{padding:16px}}

/* The report stays off-screen until the browser enters print/PDF mode. */
.print-report{display:none}
@page{size:A4 portrait;margin:14mm}
@media print{
  :root{color-scheme:light}
  body{background:#fff;color:#13283a;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body>*:not(.print-report){display:none!important}
  .print-report{display:block!important;font-family:Inter,Arial,sans-serif;font-size:9.5pt;line-height:1.4}
  .print-sheet{max-width:none;margin:0;color:#13283a}
  .print-header{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:8mm;border-bottom:1.5px solid #112334}
  .print-kicker{margin:0 0 2mm;color:#5e7485;font-size:8pt;font-weight:700;letter-spacing:1.4px}
  .print-header h1{margin:0;font-size:22pt;line-height:1.15;letter-spacing:-.5px}
  .print-mark{display:grid;place-items:center;width:13mm;height:13mm;border-radius:4mm;background:#ff9a4a;color:#112334;font-size:11pt;font-weight:800}
  .print-meta{display:grid;grid-template-columns:1.25fr 1fr 1.25fr;gap:5mm;margin:8mm 0}
  .print-meta div{display:flex;flex-direction:column;gap:1.5mm;min-width:0}
  .print-meta span{color:#607284;font-size:8pt;text-transform:uppercase;letter-spacing:.6px}
  .print-meta strong{font-size:10pt;overflow-wrap:anywhere}
  .print-table,.vat-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
  .print-table thead{display:table-header-group}
  .print-table th,.print-table td,.vat-table th,.vat-table td{padding:3mm 2mm;border-bottom:1px solid #dfe6ed;text-align:left;vertical-align:top}
  .print-table th,.vat-table th{background:#edf3f8;color:#455e71;font-size:7pt;letter-spacing:.25px;text-transform:uppercase}
  .print-table td{font-size:8.2pt}
  .print-table th:last-child,.print-table td:last-child,.vat-table th:not(:first-child),.vat-table td:not(:first-child){text-align:right}
  .print-table tr,.vat-table tr,.print-totals{break-inside:avoid}
  .print-bottom{display:grid;grid-template-columns:minmax(0,1fr) 62mm;gap:9mm;align-items:start;margin-top:9mm}
  .vat-table th,.vat-table td{font-size:7.5pt}
  .print-totals{padding:5mm;background:#112334;color:#fff;border-radius:4mm}
  .print-totals p{display:flex;justify-content:space-between;gap:5mm;margin:0;padding:2mm 0;border-bottom:1px solid #ffffff26}
  .print-totals p:last-child{border-bottom:0}
  .print-totals span{color:#b9cbd7}
  .print-totals strong{white-space:nowrap}
  .print-totals .print-grand{margin-top:1mm;padding-top:3mm;font-size:11pt}
  .print-totals .print-grand strong{color:#ffc08e}
  .print-sheet footer{margin-top:9mm;padding-top:4mm;border-top:1px solid #dfe6ed;color:#607284;font-size:7.5pt}
}


/* Sale-ready 1.0 polish: compact product identity + weekly KPI cards. */
.version-badge{display:inline-flex;align-items:center;justify-content:center;margin-left:2px;padding:3px 7px;border:1px solid #ffffff2b;border-radius:999px;background:#ffffff0d;color:#b9cbd7;font-size:10px;font-weight:750;letter-spacing:.35px;line-height:1.4}
.quick-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:12px}
.quick-stat{min-width:0;padding:13px 14px;border:1px solid #ffffff12;border-radius:13px;background:#ffffff09;display:flex;flex-direction:column;gap:5px}
.quick-stat span{color:#9fb4c3;font-size:11px;line-height:1.35}
.quick-stat strong{color:#fff;font-size:16px;font-weight:680;letter-spacing:-.25px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.entries-list,.rate-card,.empty-state,.data-card{box-shadow:0 9px 30px rgba(17,35,52,.045)}
.primary-button{box-shadow:0 8px 20px rgba(255,154,74,.22)}
@media(max-width:767px){.quick-stats{grid-template-columns:1fr 1fr}.quick-stat:last-child{grid-column:1/-1}.version-badge{display:none}}
@media(max-width:420px){.quick-stat{padding:11px 12px}.quick-stat strong{font-size:14px}}

/* Product-preview 1.1: onboarding and monthly dashboard. */
.monthly-section{padding-top:26px;padding-bottom:2px}.monthly-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:12px}.monthly-heading h2{margin:3px 0 0;font-size:23px;letter-spacing:-.55px;text-transform:capitalize}.monthly-grid{display:grid;grid-template-columns:1.5fr .7fr .7fr 1.15fr;gap:10px}.monthly-card{min-width:0;padding:18px;border:1px solid #dbe4eb;border-radius:16px;background:#fff;box-shadow:0 10px 32px rgba(17,35,52,.055);display:flex;flex-direction:column;gap:7px}.monthly-card>span,.monthly-chart-card>div:first-child>span{color:var(--muted);font-size:12px;font-weight:650}.monthly-card>strong{font-size:25px;letter-spacing:-.6px;font-variant-numeric:tabular-nums}.monthly-card>small,.monthly-chart-card>div:first-child>small{color:var(--muted);font-size:11px;line-height:1.45}.monthly-main-card{background:linear-gradient(145deg,#10283a,#17384d);border-color:#17384d;color:#fff}.monthly-main-card>span{color:#aac0cf}.monthly-main-card>strong{font-size:29px}.monthly-money{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px}.monthly-money span{padding-top:10px;border-top:1px solid #ffffff1d;display:flex;flex-direction:column;gap:3px}.monthly-money small{color:#9fb5c5}.monthly-money b{font-size:15px;font-variant-numeric:tabular-nums}.monthly-chart-card{justify-content:space-between}.month-bars{height:74px;display:flex;align-items:flex-end;gap:7px;margin-top:4px}.month-bar-item{flex:1;min-width:14px;height:100%;display:flex;flex-direction:column;align-items:center;gap:4px}.month-bar-track{height:58px;width:100%;max-width:24px;border-radius:8px;background:#edf2f6;overflow:hidden;display:flex;align-items:flex-end}.month-bar-track span{display:block;width:100%;border-radius:8px 8px 3px 3px;background:#ff9a4a;min-height:4px}.month-bar-item small{font-size:9px;color:#778a99}.month-empty{align-self:center;color:var(--muted);font-size:11px;line-height:1.4}
.onboarding-dialog{width:min(520px,calc(100% - 28px));max-height:min(760px,calc(100dvh - 28px));padding:0;border:0;border-radius:24px;background:#fff;color:#13283a;box-shadow:0 30px 90px #07131d66;overflow:auto}.onboarding-dialog::backdrop{background:rgba(7,19,29,.72);backdrop-filter:blur(4px)}.onboarding-hero{padding:28px 28px 23px;background:linear-gradient(145deg,#0f2738,#183d55);color:#fff}.onboarding-hero .eyebrow{color:#ffb47b;margin-top:17px}.onboarding-hero h2{margin:5px 0 10px;font-size:29px;line-height:1.08;letter-spacing:-.9px}.onboarding-hero>p:last-child{margin:0;color:#bfd0db;font-size:14px;line-height:1.6}.onboarding-mark{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#ff9a4a;color:#112334}.onboarding-mark svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.9}.onboarding-features{padding:20px 28px 4px;display:grid;gap:10px}.onboarding-features>div{display:flex;align-items:flex-start;gap:13px;padding:12px 0;border-bottom:1px solid #e8edf1}.onboarding-features>div:last-child{border-bottom:0}.onboarding-features>div>strong{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:10px;background:#fff2e7;color:#b75e1f;font-size:11px}.onboarding-features span{display:flex;flex-direction:column;gap:3px}.onboarding-features b{font-size:14px}.onboarding-features small{color:var(--muted);font-size:12px;line-height:1.45}.onboarding-actions{padding:17px 28px 28px;display:grid;gap:9px}.onboarding-actions .primary-button,.onboarding-actions .secondary-button{width:100%;justify-content:center}.onboarding-actions>small{text-align:center;color:var(--muted);font-size:10px;line-height:1.45}
@media(max-width:900px){.monthly-grid{grid-template-columns:1.3fr .7fr .7fr}.monthly-chart-card{grid-column:1/-1}.month-bars{height:62px}.month-bar-track{height:46px}}
@media(max-width:620px){.monthly-section{padding-top:19px}.monthly-heading{align-items:center}.monthly-heading h2{font-size:20px}.monthly-heading .text-button{font-size:12px}.monthly-grid{grid-template-columns:1fr 1fr}.monthly-main-card,.monthly-chart-card{grid-column:1/-1}.monthly-card{padding:15px}.monthly-main-card>strong{font-size:26px}.onboarding-dialog{border-radius:20px}.onboarding-hero{padding:24px 22px 20px}.onboarding-hero h2{font-size:25px}.onboarding-features{padding:16px 22px 2px}.onboarding-actions{padding:15px 22px 24px}}

/* Sale-ready 1.2: ZZP monthly KPIs and product/Pro presentation. */
.zzp-revenue-card{background:linear-gradient(145deg,#132e42,#16475a)}
.zzp-monthly-grid .top-client-card strong{font-size:18px;line-height:1.2;overflow-wrap:anywhere}
.product-pill{display:inline-flex;align-items:center;justify-content:center;min-width:31px;height:23px;padding:0 7px;border-radius:999px;background:#fff1e6;color:#a94f17;font-size:10px;font-weight:800;letter-spacing:.4px}
.product-info-dialog{width:min(610px,100%)}
.product-info-body{display:grid;gap:22px}
.product-score{padding:18px;border-radius:16px;background:linear-gradient(145deg,#11283a,#193f57);color:#fff;display:flex;flex-direction:column;gap:5px}
.product-score span{color:#a9bfce;font-size:11px;text-transform:uppercase;letter-spacing:.8px;font-weight:750}
.product-score strong{font-size:22px;letter-spacing:-.4px}
.product-score small{color:#c4d3dd}
.feature-section h3{margin:0 0 11px;font-size:15px}
.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.feature-grid>div{padding:14px;border:1px solid #dfe7ed;border-radius:13px;background:#fff;display:flex;flex-direction:column;gap:5px}
.feature-grid b{font-size:13px}.feature-grid span{color:var(--muted);font-size:11px;line-height:1.45}
.feature-title-row{display:flex;justify-content:space-between;align-items:center;gap:12px}
.roadmap-badge{padding:4px 8px;border-radius:999px;background:#eef3f7;color:#5f7484;font-size:10px;font-weight:750}
.roadmap-list{display:grid;gap:8px}
.roadmap-list>div{display:flex;align-items:flex-start;gap:11px;padding:12px 13px;border:1px solid #e2e9ee;border-radius:13px;background:#f9fbfc}
.roadmap-list>div>span{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:9px;background:#fff2e8;color:#a95319;font-size:10px;font-weight:800}
.roadmap-list p{margin:0;display:flex;flex-direction:column;gap:3px}.roadmap-list b{font-size:12px}.roadmap-list small{color:var(--muted);font-size:11px;line-height:1.4}
.zzp-onboarding-hero{background:linear-gradient(145deg,#102c3f,#155369)}
.zzp-onboarding-hero .onboarding-mark{font-size:12px;font-weight:850;letter-spacing:.5px}
@media(max-width:620px){.zzp-monthly-grid{grid-template-columns:1fr 1fr}.zzp-monthly-grid .zzp-revenue-card,.zzp-monthly-grid .top-client-card{grid-column:1/-1}.feature-grid{grid-template-columns:1fr}.product-info-body{gap:18px}}


/* =========================================================
   Lunivo Premium Design System v1 — ShiftPay NL
   Lunivo Edition only
   ========================================================= */
:root{
  color-scheme:dark;
  --navy:#090d10;
  --navy-soft:#151c21;
  --ink:#f2eee7;
  --muted:#849099;
  --line:#273039;
  --orange:#c8a76b;
  --paper:#10161a;
  --page:#090d10;
  --danger:#d78b8b;
}
html{background:#090d10}
body{
  background:
    radial-gradient(circle at 50% -10%,rgba(200,167,107,.10),transparent 32rem),
    #090d10;
  color:#f2eee7;
}
.top-surface{
  background:
    linear-gradient(180deg,rgba(200,167,107,.025),transparent 48%),
    #090d10;
  border-bottom:1px solid rgba(255,255,255,.055);
  padding-bottom:30px;
}
.app-header{
  min-height:74px;height:auto;padding-top:10px;padding-bottom:10px;gap:10px;
}
.shiftpay-header-left{display:flex;align-items:center;gap:10px;min-width:0}
.shiftpay-header-actions{display:flex;align-items:center;gap:7px}
.toolora-back{
  min-height:38px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid #343e47;border-radius:11px;background:#11171b;color:#d7d4ce;
  text-decoration:none;font-size:10px;font-weight:850;white-space:nowrap
}
.brand{gap:9px;font-size:16px}
.brand-icon{
  width:36px;height:36px;border-radius:11px;
  background:linear-gradient(145deg,rgba(200,167,107,.22),rgba(200,167,107,.07));
  border:1px solid #463c2a;color:#e0c184
}
.brand-icon svg{width:21px;height:21px}
.brand-country{border-color:#4a545c;color:#8f99a1}
.version-badge{background:#171d22!important;border-color:#333d45!important;color:#8e99a2!important}
.language-button,.shiftpay-region{
  min-width:62px;height:42px;border:1px solid #343e47!important;
  border-radius:12px;background:#151b20!important;color:#f0ece5!important
}
.shiftpay-region{padding:0 8px;font-size:10px;font-weight:800}
.mode-bar{color:#7d8992}
.mode-switch{background:#12181d;border-color:#2a333b}
.mode-switch button{color:#7c8891}
.mode-switch button[aria-pressed=true]{
  background:linear-gradient(180deg,#eee8de,#d9d2c7)!important;
  color:#111518!important;box-shadow:none!important
}
.week-section{padding-top:24px}
.eyebrow{color:#b79d70}
.week-heading h1{color:#f2eee7}
.summary-label{color:#7f8a93}
.hours-value{color:#f2eee7}
.hours-value span{color:#737f88}
.summary-caption,#net-caption{color:#69757e!important}
.pay-summary{border-left-color:#2b343c}
.pay-summary strong{color:#dec18b}
.net-estimate strong{color:#e9e3da!important}
.week-arrows .icon-button{
  background:#12181d!important;border-color:#2e3840!important;color:#d9d5cf
}
.day-chip{
  background:#11171b;border-color:#273039;color:#909aa2
}
.day-chip:hover{background:#161d22}
.day-chip.has-shift:not(.is-today){border-color:#4a4030}
.day-chip.is-today{
  background:linear-gradient(180deg,#d7b777,#c39f5f);
  border-color:#d0ad6c;color:#15130e
}
.quick-stat,.monthly-card,.monthly-main-card,.monthly-chart-card,
.shifts-panel,.rate-card,.data-card,.zzp-clients-card,.top-client-card,
.compare-result,.calculation-note,.tax-info,.feature-section{
  background:linear-gradient(180deg,#13191e,#0f1418)!important;
  border-color:#273039!important;
  box-shadow:0 12px 34px rgba(0,0,0,.15)!important;
  color:#f2eee7!important
}
.section-heading h2,.monthly-heading h2{color:#f2eee7}
.shift-row,.client-row,.rate-row{
  border-color:#273039!important;background:#0d1317!important
}
.field input,.field select,.vat-select,.client-filter select{
  background:#0a0f13!important;color:#f2eee7!important;border-color:#343e47!important
}
.field label,.field-note{color:#75818a!important}
.primary-button{
  background:linear-gradient(180deg,#d7b777,#c39f5f)!important;
  color:#17130d!important;
  box-shadow:0 8px 24px rgba(200,167,107,.12)
}
.secondary-button,.data-button,.compare-button,.report-button,.install-button{
  background:#151b20!important;color:#e9e5de!important;border-color:#343e47!important
}
.icon-button{color:#d8d4ce}
.sheet{
  background:#10161a!important;color:#f2eee7!important;
  border:1px solid #2a333b!important;
  box-shadow:0 30px 100px rgba(0,0,0,.54)!important
}
.sheet-header,.sheet-footer{border-color:#273039!important;background:#10161a!important}
.form-divider{border-color:#273039!important}
.action-dock{
  border-top-color:#2a333b!important;
  background:rgba(10,14,17,.94)!important;
  box-shadow:0 -14px 38px rgba(0,0,0,.22)
}
.action-dock .dock-inner{gap:8px}
.text-button{color:#c8a76b}
.onboarding-dialog,.product-info-dialog{
  background:#10161a!important;color:#f2eee7!important;border:1px solid #2a333b!important
}
.onboarding-mark{background:#c8a76b!important;color:#15130e!important}
.toast{background:#171d22!important;color:#eee9e1!important;border:1px solid #303942!important}
@media(max-width:700px){
  .shell{padding-left:16px;padding-right:16px}
  .app-header{flex-wrap:wrap}
  .shiftpay-header-left{flex:1 1 auto}
  .shiftpay-header-actions{margin-left:auto}
  .toolora-back{padding:0 8px;font-size:9px}
  .hours-value{font-size:54px}
}
@media(max-width:470px){
  .brand .version-badge{display:none}
  .shiftpay-region{max-width:70px}
}



/* Lunivo v2.0 Beta 4 — ShiftPay compact header */
.app-header{
  min-height:58px!important;
  padding-top:8px!important;
  padding-bottom:8px!important;
  gap:8px!important;
}
.shiftpay-header-left{
  gap:8px!important;
}
.brand{
  gap:4px!important;
  font-size:16px!important;
}
.brand .version-badge{
  display:none!important;
}
.toolora-back{
  min-height:34px!important;
  padding:0 9px!important;
  border-radius:10px!important;
  font-size:9px!important;
}
.shiftpay-header-actions{
  gap:6px!important;
}
.language-button,
.shiftpay-region,
.toolora-theme-toggle{
  min-width:auto!important;
  height:34px!important;
  border-radius:10px!important;
  padding:0 8px!important;
  font-size:9px!important;
}
@media(max-width:560px){
  .app-header{
    display:grid!important;
    grid-template-columns:1fr auto;
    align-items:center!important;
  }
  .shiftpay-header-left{
    min-width:0;
  }
  .shiftpay-header-actions{
    justify-self:end;
  }
  .brand{
    white-space:nowrap;
  }
}


/* RC3.9 responsive audit — ShiftPay app */
html,body{max-width:100%;overflow-x:clip}
body{padding-bottom:calc(105px + env(safe-area-inset-bottom))}
.shell>*{min-width:0}
.main-layout>*,.summary-layout>*,.monthly-grid>*,.quick-stats>*{min-width:0}
.brand,.entry-info,.section-heading>*{min-width:0}
@media(max-width:700px){
  .shell{padding-left:12px;padding-right:12px}
  .summary-layout{gap:18px}
  .pay-summary{min-width:0;padding-left:22px}
}
@media(max-width:520px){
  .app-header{min-height:54px!important;padding:7px 0!important}
  .brand{font-size:15px!important;white-space:normal!important}
  .toolora-back{min-height:32px!important}
  .week-heading{align-items:flex-start}
  .summary-layout{align-items:flex-start}
  .hours-value{font-size:48px}
  .hours-value span{font-size:26px}
  .pay-summary strong{font-size:28px}
  .action-dock .dock-inner{padding-top:9px;padding-bottom:max(9px,env(safe-area-inset-bottom))}
  .primary-button{min-height:46px;padding:10px 18px;font-size:14px}
}
@media(max-height:520px) and (orientation:landscape){
  body{padding-bottom:70px}
  .top-surface{padding-bottom:16px}
  .app-header{min-height:48px!important;padding:5px 0!important}
  .week-section{padding-top:10px}
  .summary-layout{margin:18px 0}
  .hours-value{font-size:44px}
  .action-dock .dock-inner{padding-top:6px;padding-bottom:max(6px,env(safe-area-inset-bottom))}
  .dock-label{display:none}
  .primary-button{min-height:40px;font-size:13px;padding:8px 16px}
  .sheet{max-height:calc(100dvh - 16px)}
}

/* Lunivo RC3.11 — use the same per-app install control as CarCost/HomeCost/RenoMate */
.toolora-app-install{position:fixed;right:16px;bottom:calc(96px + env(safe-area-inset-bottom));z-index:95;display:flex;align-items:center;gap:8px;min-height:42px;padding:0 13px;border:1px solid #665638;border-radius:13px;background:linear-gradient(180deg,#d7b777,#c39f5f);color:#17130d;font-size:10px;font-weight:950;box-shadow:0 16px 38px rgba(0,0,0,.24);cursor:pointer}
.toolora-app-install[hidden]{display:none!important}
.toolora-app-install:hover{filter:brightness(1.04)}
html[data-toolora-theme="light"] .toolora-app-install{box-shadow:0 14px 30px rgba(46,39,29,.16)}

/* RC3.19.1 — stronger entry-list contrast in both dark and light theme */
html:not([data-toolora-theme="light"]) .entries-list{
  background:linear-gradient(180deg,#11171b,#0d1317)!important;
  border-color:#273039!important;
  box-shadow:0 12px 34px rgba(0,0,0,.18)!important;
}
html:not([data-toolora-theme="light"]) .entry-row{
  background:#11171b!important;
  color:#f2eee7!important;
}
html:not([data-toolora-theme="light"]) .entry-row + .entry-row{
  border-top:1px solid #273039!important;
}
html:not([data-toolora-theme="light"]) .entry-row:hover{
  background:#171e23!important;
}
html:not([data-toolora-theme="light"]) .entry-date{
  background:#1a2228!important;
  color:#f2eee7!important;
}
html:not([data-toolora-theme="light"]) .entry-date>span,
html:not([data-toolora-theme="light"]) .entry-detail,
html:not([data-toolora-theme="light"]) .entry-totals span,
html:not([data-toolora-theme="light"]) .list-footnote{
  color:#9ba7b0!important;
}
html:not([data-toolora-theme="light"]) .entry-times,
html:not([data-toolora-theme="light"]) .entry-totals strong{
  color:#f2eee7!important;
}
html:not([data-toolora-theme="light"]) .entry-date.today{
  background:linear-gradient(180deg,#d7b777,#c39f5f)!important;
  color:#15130e!important;
}
html:not([data-toolora-theme="light"]) .entry-date.today>span{
  color:#4f3920!important;
}

html[data-toolora-theme="light"] .entries-list{
  background:#ffffff!important;
  border-color:#d7e0e7!important;
  box-shadow:0 10px 26px rgba(17,35,52,.06)!important;
}
html[data-toolora-theme="light"] .entry-row{
  background:#ffffff!important;
  color:#13283a!important;
}
html[data-toolora-theme="light"] .entry-row + .entry-row{
  border-top:1px solid #e6edf3!important;
}
html[data-toolora-theme="light"] .entry-row:hover{
  background:#f6f9fc!important;
}
html[data-toolora-theme="light"] .entry-date{
  background:#edf3f8!important;
  color:#13283a!important;
}
html[data-toolora-theme="light"] .entry-date>span,
html[data-toolora-theme="light"] .entry-detail,
html[data-toolora-theme="light"] .entry-totals span,
html[data-toolora-theme="light"] .list-footnote{
  color:#5b6f80!important;
}
html[data-toolora-theme="light"] .entry-times,
html[data-toolora-theme="light"] .entry-totals strong{
  color:#13283a!important;
}


/* RC3.23 — shift presets + pay chart */
.shift-preset-block{display:grid;gap:8px;padding:12px;border:1px solid #2b343c;border-radius:13px;background:#0d1317}.shift-preset-block>span{font-size:11px;font-weight:750;color:#8e9aa3}.shift-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.shift-presets button{min-height:40px;border:1px solid #343e47;border-radius:10px;background:#151b20;color:#e9e5de;font-size:12px;font-weight:800}.shift-presets button:hover{border-color:#7b6846;color:#dec18b}.monthly-pay-card{grid-column:1/-1}.pay-chart{display:grid;gap:9px;margin-top:5px}.pay-row{display:grid;grid-template-columns:120px 1fr auto;gap:10px;align-items:center}.pay-row>span{font-size:10px;color:var(--muted)}.pay-row>strong{font-size:10px;font-variant-numeric:tabular-nums}.pay-track{height:10px;border:1px solid #2c353d;border-radius:999px;background:#0c1115;overflow:hidden}.pay-track i{display:block;height:100%;min-width:2px;border-radius:999px;background:linear-gradient(90deg,#d7b777,#c39f5f)}.pay-row.net .pay-track i{background:linear-gradient(90deg,#7fa6d8,#5d83ad)}.pay-row.bonus .pay-track i{background:linear-gradient(90deg,#91bca0,#6d9a7e)}html[data-toolora-theme="light"] .shift-preset-block{background:#fff!important;border-color:#dfe3e6!important}html[data-toolora-theme="light"] .shift-preset-block>span{color:#5f6971!important}html[data-toolora-theme="light"] .shift-presets button{background:#fff!important;color:#13283a!important;border-color:#d7dfe5!important}html[data-toolora-theme="light"] .pay-track{background:#eceff2!important;border-color:#d8dfe5!important}@media(max-width:620px){.pay-row{grid-template-columns:88px 1fr auto;gap:7px}.shift-presets button{font-size:11px}}
