:root{--safe-top:env(safe-area-inset-top);--safe-right:env(safe-area-inset-right);--safe-bottom:env(safe-area-inset-bottom);--safe-left:env(safe-area-inset-left);--bottom-nav-height:calc(54px + env(safe-area-inset-bottom,0px));--bottom-nav-extra:.75rem;--bg:#050505;--text-primary:var(--text);--text-secondary:var(--text-muted);--text-disabled:#fff6;--surface-color:var(--surface-floating);--surface-border:var(--border);--surface-overlay:#0009;--danger-hover:#b91c1c;--text:#e6e6e6;--text-muted:#a1a1aa;--text-dim:#fff6;--surface-floating:#0e0e16;--primary:#2c54ac;--primary-hover:#1d4ed8;--danger:#ef4444;--warning:#fbbf24;--success:#22c55e;--surface:#ffffff0b;--surface-raised:#ffffff14;--surface-input:#0003;--surface-elevated:#ffffff1f;--surface-selected:#2c54ac33;--surface-selected-strong:#fff3;--surface-modal:var(--surface-floating);--surface-actions-menu:var(--surface-floating);--border:#ffffff14;--border-strong:#ffffff29;--focus-ring:#fff3;--overlay-subtle:#0006;--overlay-medium:#0009;--overlay-heavy:#000000d9;--overlay-blur:#050505cc;--nav-bg:#050505eb;--safe-area-top-bg:#050505eb;--overlay-dark-01:#0000001a;--overlay-dark-04:#0006;--overlay-dark-095:#000000f2;--overlay-light-002:#ffffff05;--overlay-light-0055:#ffffff0e;--overlay-light-03:#ffffff08;--overlay-light-050:#ffffff80;--status-blue-bg:#2563eb1f;--status-blue-text:#60a5fa;--status-red-bg:#ef44441f;--status-red-text:#f87171;--status-amber-bg:#f59e0b26;--status-amber-text:#fcd34d;--status-green-bg:#22c55e1f;--status-green-text:#86efac;--status-neutral-bg:#a1a1aa1f;--status-neutral-text:#a1a1aa;--section-header-margin:.75rem;--section-content-margin:.75rem;--section-gap:1.5rem;--card-padding:1.25rem;--section-header-gap:.5rem;--fs-xs:.78rem;--fs-sm:.85rem;--fs-body:.95rem;--fs-lg:1.1rem;--font-main:"Inter", sans-serif;--font-heading:"Outfit", sans-serif;--radius:12px;--radius-sm:8px;--radius-lg:16px;--radius-pill:999px;--shadow-sm:0 2px 8px #0003;--shadow-sm-raw:0 2px 4px #00000026;--shadow-lg:0 20px 50px #00000059;--shadow-accent:0 0 20px #2c54ac80}[data-theme=day]{--bg:#f3f4f6;--text:#18181b;--text-muted:#52525b;--text-dim:#00000073;--text-disabled:#00000061;--surface-floating:#fff;--surface-color:#fff;--surface:#0000000a;--surface-raised:#0000000f;--surface-input:#fff;--surface-elevated:#00000014;--surface-selected:#2c54ac1f;--surface-selected-strong:#00000014;--surface-modal:#fff;--surface-actions-menu:#fff;--surface-border:#0000001a;--surface-overlay:#fffc;--border:#0000001a;--border-strong:#0000002e;--focus-ring:#2c54ac4d;--overlay-subtle:#0000001a;--overlay-medium:#00000040;--overlay-heavy:#00000080;--overlay-blur:#fffc;--nav-bg:#ffffffeb;--overlay-dark-01:#0000000f;--overlay-dark-04:#0003;--overlay-dark-095:#000c;--overlay-light-002:#00000005;--overlay-light-0055:#0000000a;--overlay-light-03:#00000009;--overlay-light-050:#00000014;--shadow-sm:0 2px 8px #00000012;--shadow-sm-raw:0 2px 4px #0000000d;--shadow-lg:0 20px 50px #0000001f;--shadow-accent:0 0 20px #2c54ac40;--status-blue-text:#2563eb;--status-red-text:#dc2626;--status-amber-text:#d97706;--status-green-text:#16a34a;--status-neutral-text:#52525b}[data-theme=day] .navbar{background:#ffffffb3}[data-theme=day] .hero h1{background:linear-gradient(#18181b 0%,#71717a 100%);-webkit-background-clip:text;background-clip:text}[data-theme=day] .bottom-nav{padding-bottom:calc(4px + env(safe-area-inset-bottom,0px));background:#ffffffeb}[data-theme=day] .nav-item{color:var(--text-muted)}[data-theme=day] .nav-item.active{color:var(--text)}[data-theme=day] .form-input:focus,[data-theme=day] .control-point-type:focus-within{background:var(--surface-input)}[data-theme=day] .multi-select-trigger:hover:not(:disabled),[data-theme=day] .multi-select-trigger[aria-expanded=true]{background:var(--surface-input);border-color:var(--focus-ring)}[data-theme=day] .status-filter-btn{color:var(--text-muted);background:var(--surface);border-color:var(--border)}[data-theme=day] .work-kind-option{background:var(--surface-input)}[data-theme=day] .multi-select-option{background:var(--surface-input);border-color:var(--border)}[data-theme=day] .attestation-confirm-row{background:var(--surface-input)}[data-theme=day] .time-entry-card{background:var(--surface-input);border-color:var(--border)}[data-theme=day] .time-month-switcher,[data-theme=day] .time-week-card,[data-theme=day] .time-week-totals span,[data-theme=day] .time-summary-card{background:var(--surface-floating)}[data-theme=day] .time-week-totals span{border:1px solid var(--border)}[data-theme=day] .time-week-toggle{background:var(--surface-input)}[data-theme=day] .time-week-toggle:hover{background:var(--surface-floating);border-color:var(--border-strong)}[data-theme=day] .attestation-confirm-row input{background:var(--surface-input)}[data-theme=day] .bg-glow-1{background:radial-gradient(circle,#0070f314 0%,#0000 70%)}[data-theme=day] .bg-glow-2{background:radial-gradient(circle,#00c6ff0f 0%,#0000 70%)}*{transition:background-color .3s,color .3s,border-color .3s,box-shadow .3s}.checkbox-row span{color:var(--text);-webkit-user-select:none;user-select:none;font-size:.9rem}*{box-sizing:border-box;margin:0;padding:0}strong,b{font-weight:400}html,body{overflow-anchor:none;min-height:100vh}body{font-family:var(--font-main);background-color:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:400;line-height:1.2}a{color:inherit;text-decoration:none;transition:color .2s}@media (hover:hover){a:hover{color:var(--primary)}}.app-container{min-height:100dvh;padding-top:calc(env(safe-area-inset-top,0px) + 1rem);padding-right:env(safe-area-inset-right,0px);padding-left:env(safe-area-inset-left,0px);flex-direction:column;display:flex}.bg-glow-wrapper{z-index:-1;pointer-events:none;width:100vw;height:100vh;position:fixed;top:0;left:0;overflow:hidden}.bg-glow{filter:blur(120px);opacity:.5;border-radius:50%;animation:20s ease-in-out infinite alternate float;position:absolute}.bg-glow-1{background:radial-gradient(circle,#0070f326 0%,#0000 70%);width:50vw;height:50vw;top:-10%;left:10%}.bg-glow-2{background:radial-gradient(circle,#00c6ff1a 0%,#0000 70%);width:60vw;height:60vw;animation-delay:-10s;bottom:-10%;right:-5%}@keyframes float{0%{transform:translate(0)scale(1)}50%{transform:translate(5%,5%)scale(1.1)}to{transform:translate(-5%,-5%)scale(.9)}}@keyframes spin{to{transform:rotate(360deg)}}.navbar{-webkit-backdrop-filter:blur(20px);z-index:100;border-bottom:1px solid var(--border);background:#050505b3;justify-content:space-between;align-items:center;padding:1.5rem 5%;display:flex;position:sticky;top:0}.logo{font-family:var(--font-heading);letter-spacing:-.02em;cursor:pointer;color:inherit;background:0 0;border:none;align-items:center;gap:.5rem;padding:0;font-size:1.5rem;font-weight:400;display:flex}.logo-icon{color:#00c6ff}.nav-links{align-items:center;gap:2rem;display:flex}.nav-link{color:var(--text-muted);font-size:.95rem;font-weight:400}@media (hover:hover){.nav-link:hover{color:var(--text)}}.btn{border-radius:var(--radius);cursor:pointer;font-size:.95rem;font-weight:400;font-family:var(--font-main);border:none;justify-content:center;align-items:center;gap:.35rem;padding:.75rem 1.5rem;transition:all .15s;display:inline-flex}.btn-pill{border-radius:9999px}.btn-sm{border-radius:var(--radius-sm);padding:.35rem .85rem;font-size:.82rem}.btn:active{transition:transform 80ms;transform:scale(.97)}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 4px 14px #2563eb47}.btn-primary:active{transform:scale(.97);box-shadow:0 2px 6px #2563eb33}@media (hover:hover){.btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 6px 18px #2563eb61}}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-secondary:active{background:var(--surface-selected);transform:scale(.97)}@media (hover:hover){.btn-secondary:hover{background:var(--surface-raised);border-color:#fff3}}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-danger{background:var(--danger);color:#fff;box-shadow:0 4px 14px #dc262647}.btn-danger:active{transform:scale(.97)}@media (hover:hover){.btn-danger:hover{background:var(--danger-hover,#b91c1c);transform:translateY(-1px)}}.btn-outline{color:var(--text-muted);border:1px solid var(--border);background:0 0}.btn-outline:active{transform:scale(.97)}@media (hover:hover){.btn-outline:hover{background:var(--surface);color:var(--text);border-color:#ffffff26}}.btn-outline-danger{color:var(--danger);border:1px solid var(--danger);background:0 0}.btn-outline-danger:active{transform:scale(.97)}@media (hover:hover){.btn-outline-danger:hover{background:#ef444414}}.hero{text-align:center;flex-direction:column;align-items:center;max-width:1200px;margin:0 auto;padding:8rem 5% 4rem;display:flex}.hero-badge{color:#00c6ff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0070f31a;border:1px solid #0070f34d;border-radius:9999px;align-items:center;gap:.5rem;margin-bottom:2rem;padding:.5rem 1rem;font-size:.85rem;font-weight:400;display:inline-flex}.hero h1{letter-spacing:-.03em;-webkit-text-fill-color:transparent;background:linear-gradient(#fff 0%,#a1a1aa 100%);max-width:900px;margin-bottom:1.5rem;font-size:clamp(3rem,5vw + 1rem,5.5rem)}.text-gradient{background:linear-gradient(135deg, var(--primary) 0%, #00c6ff 100%);-webkit-text-fill-color:transparent}.hero p{color:var(--text-muted);max-width:700px;margin-bottom:3rem;font-size:1.25rem}.hero-cta{gap:1rem;margin-bottom:5rem;display:flex}.hero-visuals{perspective:1000px;justify-content:center;align-items:flex-start;width:100%;max-width:1200px;height:600px;margin-top:2rem;display:flex;position:relative}.dashboard-mockup{width:80%;box-shadow:0 25px 50px -12px #000c, 0 0 0 1px var(--border);z-index:1;border-radius:16px;transition:transform .5s;position:absolute;transform:rotateX(10deg)translateY(0)}@media (hover:hover){.hero-visuals:hover .dashboard-mockup{transform:rotateX(5deg)translateY(-10px)}}.mobile-mockup{z-index:2;border-radius:32px;width:25%;transition:transform .5s;position:absolute;bottom:-10%;right:5%;transform:rotateY(-15deg)rotateX(5deg);box-shadow:0 30px 60px -12px #000000e6,0 0 0 1px #ffffff1a}@media (hover:hover){.hero-visuals:hover .mobile-mockup{transform:rotateY(-5deg)rotateX(0)translateY(-20px)}}.features{max-width:1200px;margin:0 auto;padding:8rem 5%}.section-header{text-align:center;margin-bottom:5rem}.section-header h2{margin-bottom:1rem;font-size:3rem}.section-header p{color:var(--text-muted);max-width:600px;margin:0 auto;font-size:1.1rem}.feature-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;display:grid}.feature-card{background:var(--surface);border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:24px;padding:2.5rem;transition:transform .3s,border-color .3s}@media (hover:hover){.feature-card:hover{background:#ffffff0d;border-color:#fff3;transform:translateY(-5px)}}.feature-icon{color:#00c6ff;background:#0070f31a;border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:1.5rem;display:flex}.feature-icon svg{width:28px;height:28px}.feature-card h3{margin-bottom:1rem;font-size:1.5rem}.feature-card p{color:var(--text-muted);font-size:1rem}.workflow{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:#ffffff03;padding:8rem 5%}.workflow-container{grid-template-columns:1fr 1fr;align-items:center;gap:4rem;max-width:1200px;margin:0 auto;display:grid}.workflow-content h2{margin-bottom:1.5rem;font-size:3rem}.workflow-content p{color:var(--text-muted);margin-bottom:2rem;font-size:1.1rem}.workflow-steps{flex-direction:column;gap:1.5rem;display:flex}.step{gap:1.5rem;display:flex}.step-number{background:var(--surface);border:1px solid var(--border);width:40px;height:40px;font-family:var(--font-heading);color:var(--primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:400;display:flex}.step-content h4{margin-bottom:.5rem;font-size:1.25rem}.step-content p{margin-bottom:0;font-size:.95rem}footer{border-top:1px solid var(--border);margin-top:auto;padding:4rem 5% 2rem}.footer-content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2rem;max-width:1200px;margin:0 auto;display:flex}.footer-text{color:var(--text-muted);font-size:.9rem}@media (width<=1024px){.workflow-container{grid-template-columns:1fr}.hero-visuals{height:400px}.dashboard-mockup{width:90%}.mobile-mockup{width:30%}}@media (width<=640px){.app-container>div[style*="max-width: 400px"]{width:calc(100% - 2rem);margin:1rem;border-radius:16px!important;max-width:100%!important;padding:1.5rem!important}}@media (width<=768px){.hero h1{font-size:2.5rem}.nav-links{display:none}.nav-actions{gap:.5rem;display:flex}.nav-actions .btn{padding:.5rem 1rem;font-size:.85rem}.hero-visuals{height:300px}.dashboard-mockup{width:100%}.mobile-mockup{display:none}.hero-cta{flex-direction:column;width:100%;max-width:300px}}.job-type-selector{border-bottom:1px solid var(--border-color);margin-bottom:1.5rem;padding-bottom:1rem}.job-type-label{color:var(--text-secondary);margin-bottom:.75rem;font-size:.875rem;font-weight:600;display:block}.job-type-tabs{background:var(--surface-hover);border-radius:8px;gap:.5rem;padding:.25rem;display:flex}.job-type-tab{cursor:pointer;color:var(--text-secondary);text-align:left;background:0 0;border:none;border-radius:6px;flex-direction:column;flex:1;align-items:flex-start;gap:.25rem;padding:.875rem 1rem;font-size:.875rem;transition:all .2s;display:flex}.job-type-tab:hover{background:var(--surface);color:var(--text-primary)}.job-type-tab.active{background:var(--primary);color:#fff}.job-type-tab svg{flex-shrink:0}.job-type-desc{opacity:.8;font-size:.75rem}.job-type-tab.active .job-type-desc{opacity:.9}.worksheet-inline-section{border-top:1px solid var(--border-color);margin-top:1.5rem;padding-top:1.5rem}.worksheet-inline-section .section-header-row{align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.worksheet-inline-section .section-header-row h3{color:var(--text-primary);margin:0;font-size:1rem;font-weight:600}.worksheet-inline-section .worksheet-form{max-width:600px}.timesheet-summary-row{background:var(--surface-hover);border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:.5rem .75rem;font-size:.875rem;display:flex}.timesheet-summary-row span{color:var(--text-primary)}.timesheet-summary-row .btn-icon{color:var(--text-secondary);padding:.25rem}.timesheet-summary-row .btn-icon:hover{color:var(--danger);background:var(--danger-bg)}.notification-bell{position:relative}.notification-badge{border:2px solid var(--bg);border-radius:var(--radius-pill);background:var(--danger);color:#fff;pointer-events:none;justify-content:center;align-items:center;min-width:1.15rem;height:1.15rem;padding:0 .3rem;font-size:.65rem;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:-.35rem;right:-.35rem}.notifications-toolbar{color:var(--text-muted);font-size:var(--fs-sm);justify-content:space-between;align-items:center;gap:.75rem;padding-bottom:.75rem;display:flex}.notifications-toolbar button{border-radius:var(--radius-sm);color:var(--primary);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:.35rem;padding:.35rem .45rem;display:inline-flex}.notifications-list{flex-direction:column;gap:.6rem;display:flex}.notification-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;color:var(--text);transition:background .15s,border-color .15s,opacity .15s;position:relative;overflow:hidden}@media (hover:hover){.notification-item:hover{background:var(--surface-raised);border-color:var(--border-strong)}}.notification-item-unread{border-color:var(--primary);background:var(--surface-selected-strong)}.notification-item-deleting{opacity:.55}.notification-item-main{width:100%;min-width:0;color:inherit;text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:stretch;gap:.35rem;padding:.85rem 2.75rem .85rem .85rem;display:flex}.notification-item-main:active:not(:disabled){background:var(--surface-raised)}.notification-item-main:focus-visible,.notification-delete:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.notification-item-main:disabled,.notification-delete:disabled{cursor:progress}.notification-item-header{align-items:flex-start;gap:.5rem;display:flex}.notification-item-title{font-size:var(--fs-body);flex:1;line-height:1.3}.notification-new-label{border-radius:var(--radius-pill);background:var(--primary);color:#fff;font-size:var(--fs-xs);flex-shrink:0;padding:.15rem .4rem;font-weight:600}.notification-body{color:var(--text-muted);font-size:var(--fs-sm);flex-direction:column;gap:.15rem;line-height:1.45;display:flex}.notification-body-line{overflow-wrap:anywhere;display:block}.notification-item small{color:var(--text-dim);font-size:var(--fs-xs)}.notification-delete{border-radius:var(--radius-pill);width:2rem;height:2rem;color:var(--text-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:inline-flex;position:absolute;top:.45rem;right:.45rem}@media (hover:hover){.notification-delete:hover:not(:disabled){background:var(--status-red-bg);color:var(--status-red-text)}}.notification-delete:active:not(:disabled){background:var(--status-red-bg);color:var(--status-red-text)}.notification-error{border:1px solid var(--danger);border-radius:var(--radius);background:var(--status-red-bg);color:var(--status-red-text);font-size:var(--fs-sm);justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;padding:.65rem .75rem;display:flex}.notification-error button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;flex-shrink:0;font-weight:600;text-decoration:underline}@media (width<=480px){.notifications-toolbar{align-items:flex-start}.notifications-toolbar button{text-align:right;justify-content:flex-end}}[data-sonner-toaster][data-y-position=top]{top:calc(env(safe-area-inset-top,0px) + 1rem)!important}.form-input{background:var(--surface-input);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);font-family:var(--font-main);font-size:var(--fs-body);padding:.75rem 1rem;transition:all .2s}.form-input:focus{border-color:var(--focus-ring);box-shadow:0 0 0 1px var(--focus-ring);background:#0000004d;outline:none}.form-input.is-readonly,.form-input[readonly]{color:var(--text-muted);cursor:default;pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.6}.form-input::placeholder{color:var(--text-muted);opacity:.5}.form-input:focus::placeholder,.form-textarea:focus::placeholder{opacity:0}.app-shell :is(h1,h2,h3,h4,h5,h6,strong,b){font-weight:400}.app-shell{background-color:var(--bg);overflow-anchor:none;flex-direction:column;height:100dvh;display:flex;overflow-y:auto}.app-shell:before{content:"";height:env(safe-area-inset-top,0px);background:var(--safe-area-top-bg);z-index:11;position:fixed;top:0;left:0;right:0}.app-header{padding:.8rem 1.5rem;padding-top:calc(.8rem + env(safe-area-inset-top,0px));background:var(--overlay-blur);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);z-index:10;justify-content:space-between;align-items:center;gap:1rem;display:flex;position:sticky;top:0}.app-header-actions{align-items:center;gap:.75rem;display:flex}.app-header-user{border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--text-muted);font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.4rem;max-width:200px;padding:.4rem .65rem;display:inline-flex;overflow:hidden}.app-header-logout{border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--text);border:1px solid var(--border);font-size:var(--fs-sm);cursor:pointer;align-items:center;gap:.4rem;padding:.45rem .85rem;transition:background .15s,border-color .15s;display:inline-flex}@media (hover:hover){.app-header-logout:hover{background:var(--status-red-bg);border-color:var(--danger);color:var(--danger)}}.user-avatar{border-radius:var(--radius-pill);background:var(--surface-raised);border:1px solid var(--border);width:36px;height:36px;color:var(--text);cursor:pointer;box-shadow:var(--shadow-sm);flex-shrink:0;justify-content:center;align-items:center;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex}@media (hover:hover){.user-avatar:hover{background:var(--surface-selected-strong);border-color:var(--primary);color:var(--text);box-shadow:0 0 15px var(--surface-elevated), 0 5px 15px #0000004d;transform:translateY(-1px)}}.user-avatar:active{box-shadow:var(--shadow-sm-raw);transform:translateY(0)scale(.95)}.user-avatar svg{transition:transform .25s}@media (hover:hover){.user-avatar:hover svg{transform:scale(1.1)}}.user-avatar--large{width:48px;height:48px;font-size:var(--fs-lg);cursor:default;font-weight:500}@media (hover:hover){.user-avatar--large:hover{box-shadow:var(--shadow-sm);border-color:var(--border);transform:none}}.user-avatar--accent{background:var(--primary);border-color:var(--surface-selected-strong);color:#fff}.profile-edit-actions{gap:.75rem;margin-top:.5rem;display:flex}.profile-edit-actions .btn-primary,.profile-edit-actions .btn-secondary{flex:1}@media (width<=600px){.profile-edit-actions .btn-primary{flex:2}}.app-content{padding:1.5rem;padding-bottom:calc(var(--bottom-nav-height) + var(--bottom-nav-extra));flex:1}@media (width<=480px){.app-content{padding:1rem;padding-bottom:calc(var(--bottom-nav-height) + var(--bottom-nav-extra))}}.bottom-nav{background:var(--nav-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid var(--border);width:100%;height:auto;padding-top:10px;padding-bottom:calc(4px + env(safe-area-inset-bottom,0px));z-index:100;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;transition:none!important;transform:none!important}.app-shell.keyboard-visible .bottom-nav{visibility:hidden;pointer-events:none}.nav-item{color:var(--text);font-size:var(--fs-xs);flex-direction:column;flex:1;align-items:center;gap:.25rem;font-weight:400;transition:color .2s;display:flex}.nav-item.active{color:var(--primary)}.fab-create{bottom:calc(var(--bottom-nav-height) + 1.5rem);background:var(--primary);color:#fff;z-index:90;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:transform .15s,box-shadow .15s;display:flex;position:fixed;right:1.5rem;box-shadow:0 4px 14px #2c54ac66}.fab-create:hover{box-shadow:0 4px 20px #2c54ac99}.fab-create:active{transform:scale(.92)}@media (width<=480px){.fab-create{right:1rem}}.page-container{max-width:600px;margin:0 auto;position:relative}.job-detail-page{flex-direction:column;min-height:100%;display:flex}.page-header{margin-bottom:2rem}.page-header h2{letter-spacing:-.01em;margin:0 0 .2rem;font-size:1.35rem;font-weight:600}.subtitle{color:var(--text-muted);font-size:var(--fs-body)}.favorite-customers-section{margin-bottom:1.5rem}.favorite-customers-header{font-size:var(--fs-sm);color:var(--text-muted);align-items:center;gap:.4rem;margin-bottom:.65rem;display:flex}.favorite-customers-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.5rem;display:grid}.favorite-customer-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:left;align-items:center;gap:.5rem;min-width:0;padding:.6rem .85rem;transition:background .15s,border-color .15s;display:flex}@media (hover:hover){.favorite-customer-card:hover{background:var(--surface-raised);border-color:var(--border-strong)}}.favorite-customer-card:active{transform:scale(.98)}.favorite-customer-icon{color:#ef4444;flex-shrink:0}.favorite-customer-name{font-size:var(--fs-sm);color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.favorite-customer-contact{font-size:var(--fs-xs);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-left:auto;overflow:hidden}.text-dim{color:var(--text-dim)}.job-list{flex-direction:column;gap:.5rem;display:flex}.status-filter-scroll{margin-bottom:1rem;position:relative}.status-filter-scroll:before,.status-filter-scroll:after{content:"";z-index:1;pointer-events:none;opacity:0;width:2.5rem;transition:opacity .2s;position:absolute;top:0;bottom:0}.status-filter-scroll:before{background:linear-gradient(to right, var(--bg) 10%, transparent);left:0}.status-filter-scroll:after{background:linear-gradient(to left, var(--bg) 10%, transparent);right:0}.status-filter-scroll[data-scroll-left=true]:before,.status-filter-scroll[data-scroll-right=true]:after{opacity:1}.status-filter{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;gap:.5rem;display:flex;overflow-x:auto}.status-filter::-webkit-scrollbar{display:none}@media (width>=768px){.status-filter-scroll:before,.status-filter-scroll:after{display:none}.status-filter{scrollbar-width:auto;flex-wrap:wrap;overflow-x:visible}.status-filter::-webkit-scrollbar{display:block}}.status-filter-btn{font:inherit;font-size:var(--fs-sm);color:var(--overlay-light-050);background:var(--border);border:2px solid var(--border);border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;padding:.4rem .85rem;transition:border-color .16s,background .16s,color .16s}.status-filter-btn.selected{border-color:var(--focus-ring);background:var(--text);color:var(--bg)}.job-card{background:var(--surface);border-radius:var(--radius-lg);cursor:pointer;width:100%;color:inherit;font:inherit;text-align:left;border:none;flex-direction:column;gap:.75rem;padding:1.1rem 1.25rem;transition:border-color .2s,background .2s,box-shadow .2s,transform .15s;display:flex;position:relative;overflow:hidden}.job-card:before{content:"";background:0 0;width:3px;transition:background .2s;position:absolute;top:0;bottom:0;left:0}@media (hover:hover){.job-card:hover{background:var(--surface-raised)}}.job-card:active{transform:scale(.995)}.report-overview-page{padding-bottom:1rem}.report-overview-header{align-items:center}.report-overview-header>div{min-width:0}.report-overview-actions--left{margin-left:0}.report-overview-actions--right{margin-left:auto}.report-overview-toolbar{margin-bottom:var(--section-gap);align-items:center;gap:.5rem;display:flex}.report-overview-actions{align-items:center;gap:.5rem;min-height:2.5rem;margin-left:auto;display:inline-flex}.report-overview-icon-action{border-radius:var(--radius-sm);width:2.5rem;min-width:2.5rem;height:2.5rem;padding:0}.report-overview-icon-action:disabled{opacity:.55;cursor:not-allowed;transform:none}.report-overview-hero{flex-direction:column;gap:1rem;display:flex}.report-overview-hero .section-header-row{margin-bottom:0}.report-overview-data-list,.report-overview-block-gap{margin-top:var(--section-content-margin)}.report-overview-chip-list{flex-wrap:wrap;gap:.5rem;display:flex}.report-overview-chip{font-size:var(--fs-xs);color:var(--text);align-items:center;gap:.3rem;width:fit-content;display:inline-flex}.report-overview-link-list{flex-direction:column;gap:.5rem;display:flex}.linked-job-row{width:100%;min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:baseline;gap:.5rem;padding:0;display:flex}@media (hover:hover){.linked-job-row:hover .linked-job-link{text-decoration:underline}}.linked-job-row:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--radius-sm)}.linked-job-link{color:var(--primary);font-size:var(--fs-sm);white-space:nowrap;flex-shrink:0;font-weight:500}.linked-job-customer{text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:var(--fs-body);min-width:0;overflow:hidden}.assignment-variant .multi-select-chip{font-size:var(--fs-body);background:0 0;border:none;padding:0;font-weight:400}.linked-jobs-variant .multi-select-option-text{flex-direction:row;align-items:baseline;gap:.5rem}.linked-jobs-variant .multi-select-option-text span:first-child{color:var(--text);font-size:var(--fs-sm);white-space:nowrap;flex-shrink:0;font-weight:500}.linked-jobs-variant .multi-select-option-text small{text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:var(--fs-body);min-width:0;overflow:hidden}.linked-jobs-variant .multi-select-chip{background:0 0;border:none;gap:.5rem;max-width:100%;padding:0;overflow:hidden}.linked-jobs-variant .multi-select-chip span:first-child{color:var(--text);font-weight:500;font-size:var(--fs-sm);white-space:nowrap}.linked-jobs-variant .multi-select-chip-description{color:var(--text);font-size:var(--fs-body);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.report-overview-link-card{border-radius:var(--radius);background:var(--surface-raised);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;border:none;flex-direction:column;gap:.25rem;padding:.85rem 1rem;display:flex}@media (hover:hover){.report-overview-link-card:hover{background:var(--surface-elevated)}}.report-overview-link-card .report-overview-top-row{align-items:baseline;gap:.5rem;min-width:0;display:flex}.report-overview-link-card .job-number{flex-shrink:0}.report-overview-link-card .report-overview-customer{text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:var(--fs-body);overflow:hidden}.report-overview-link-card .report-overview-address{text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:var(--fs-sm);overflow:hidden}.report-overview-link-card-footer{justify-content:space-between;align-items:center;min-width:0;display:flex}.report-overview-timesheet-list{margin-bottom:.75rem}@media (width<=640px){.report-overview-toolbar{width:100%}.report-overview-actions{width:auto;margin-left:0}.report-overview-actions--left{margin-left:auto}.attestation-control-list.compact{grid-template-columns:1fr}}.spin{animation:.8s linear infinite spin}.job-card-top{justify-content:space-between;align-items:flex-start;gap:.75rem;min-width:0;display:flex}.job-card-top>*{min-width:0}.job-card-top-center{align-items:center;gap:.5rem}.customer-card-identity{flex-direction:column;flex:1;min-width:0;display:flex}.customer-card-identity .customer-number{font-size:var(--fs-xs)}.job-card-top .customer-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.job-card-top .customer-icon,.job-card-top .customer-job-count{flex-shrink:0}.job-number{font-family:var(--font-main);font-size:var(--fs-xs);letter-spacing:.08em;color:var(--text-muted);white-space:nowrap;margin-bottom:.3rem;font-weight:400;display:inline-block}.job-number-sep{opacity:.5;margin:0 .35rem}.job-number-status{font-weight:500}.review-dot{vertical-align:middle;background:#eab308;border-radius:50%;width:8px;height:8px;margin-left:6px;display:inline-block;position:relative;top:-1px}.unread-dot{vertical-align:middle;background:#ef4444;border-radius:50%;width:8px;height:8px;margin-left:6px;display:inline-block;position:relative;top:-1px}.unassigned-dot{vertical-align:middle;background:#3b82f6;border-radius:50%;width:8px;height:8px;margin-left:6px;display:inline-block;position:relative;top:-1px}.approved-dot{vertical-align:middle;background:#22c55e;border-radius:50%;width:8px;height:8px;margin-left:6px;display:inline-block;position:relative;top:-1px}.job-customer{font-family:var(--font-heading);font-size:var(--fs-lg);color:var(--text);margin:0;font-weight:400;line-height:1.25}.job-address-row{color:var(--text-muted);font-size:var(--fs-sm);align-items:center;gap:.5rem;margin:0;display:flex}.job-address{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.job-card-meta{font-size:var(--fs-xs);color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.5rem .75rem;display:flex}.meta-item{align-items:center;gap:.3rem;display:inline-flex}.meta-hours{color:var(--text-muted);font-weight:400}.user-hours-row{font-size:var(--fs-xs);color:var(--text-muted);align-items:center;gap:.35rem;padding:.25rem 0 0;display:flex}.user-hours-sep{opacity:.4}.job-card-header{justify-content:space-between;align-items:center;display:flex}.status-badge{border-radius:var(--radius-pill);font-size:var(--fs-xs);letter-spacing:.3px;white-space:nowrap;flex-shrink:0;padding:.2rem .65rem;font-weight:400}.job-card-badges{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.job-type-badge{border-radius:var(--radius-pill);font-size:var(--fs-2xs);letter-spacing:.3px;white-space:nowrap;flex-shrink:0;padding:.15rem .5rem;font-weight:500}.job-type-v4v05{background:color-mix(in srgb, var(--color-primary) 15%, transparent);color:var(--color-primary)}.job-type-diverse{background:color-mix(in srgb, var(--color-info,#6366f1) 15%, transparent);color:var(--color-info,#6366f1)}.job-customer{font-size:var(--fs-lg);text-overflow:ellipsis;white-space:nowrap;margin:0;font-weight:400;line-height:1.3;overflow:hidden}.job-card-body{font-size:var(--fs-xs);color:var(--text-muted);flex-direction:column;gap:.35rem;display:flex}.job-card-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:.25rem;padding-top:.25rem;display:flex}.job-assigned{flex-wrap:wrap;gap:.5rem;display:flex}.assigned-user{font-size:var(--fs-xs);color:var(--text);align-items:center;gap:.3rem;display:inline-flex}.assigned-user+.assigned-user:before{content:", "}.unassigned{font-size:var(--fs-xs);color:var(--text-dim);align-items:center;gap:.3rem;font-style:italic;display:inline-flex}.job-card .cell-comma-list{font-size:var(--fs-xs)}.job-card .cell-comma-list-item{white-space:nowrap;display:inline}.job-card .cell-comma-list-item+.cell-comma-list-item:before{content:", "}.job-card-footer .cell-comma-list,.job-card-meta .meta-item:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.btn-icon{color:var(--text);cursor:pointer;border-radius:var(--radius-pill);background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem;transition:all .15s;display:flex}.btn-icon:active{background:var(--surface-selected-strong);transition:transform 80ms,background 80ms;transform:scale(.92)}@media (hover:hover){.btn-icon:hover{background:var(--surface-raised);color:var(--text)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,#ffffff0a 25%,#ffffff14 50%,#ffffff0a 75%) 0 0/200% 100%;animation:1.5s ease-in-out infinite shimmer}.skeleton-title{width:140px;height:28px;margin-bottom:8px}.skeleton-subtitle{width:100px;height:16px}.skeleton-badge{border-radius:var(--radius-pill);width:60px;height:20px}.skeleton-id{width:70px;height:14px}.skeleton-name{width:180px;height:18px}.skeleton-address{width:100%;height:14px}.skeleton-tag{width:80px;height:18px}.skeleton-w-60{width:60%!important}.skeleton-w-40{width:40%!important}.skeleton-w-30{width:30%!important}.skeleton-chevron{border-radius:var(--radius-pill);width:20px;height:20px}.job-card-skeleton{cursor:default;pointer-events:none}@media (hover:hover){.job-card-skeleton:hover{background:var(--surface)}}.empty-state{text-align:center;color:var(--text-muted);padding:3rem 1rem}.error-state{text-align:center;color:var(--danger);flex-direction:column;align-items:center;gap:1rem;padding:4rem 2rem;display:flex}.error-state p{color:var(--text-muted);font-size:var(--fs-body);max-width:280px}.error-state-actions{flex-direction:column;align-items:center;gap:.5rem;display:flex}.detail-header{margin-bottom:var(--section-gap);align-items:center;gap:1rem;display:flex}.detail-header .btn-icon{flex-shrink:0}.detail-header-actions{align-items:center;gap:.5rem;margin-left:auto;display:flex}.btn-icon-danger{color:var(--status-red-text);transition:color .15s,background .15s}@media (hover:hover){.btn-icon-danger:hover{color:var(--danger);background:var(--status-red-bg)}}.detail-title{font-size:var(--fs-lg);margin:0}.detail-subtitle{font-size:var(--fs-sm);color:var(--text-muted);margin:.15rem 0 0}.create-type-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.create-type-item{display:block}.create-type-tile{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);text-align:left;cursor:pointer;font:inherit;align-items:center;gap:1rem;padding:1rem 1.1rem;transition:background .15s,border-color .15s,transform 50ms;display:flex}.create-type-tile:hover:not(.create-type-tile--disabled){background:var(--surface-elevated,var(--surface-raised));border-color:var(--primary)}.create-type-tile:active:not(.create-type-tile--disabled){transform:scale(.99)}.create-type-tile--disabled{cursor:not-allowed;opacity:.55}.create-type-icon{border-radius:var(--radius-sm);background:var(--surface);width:2.5rem;height:2.5rem;color:var(--primary);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.create-type-body{flex-direction:column;flex:1;min-width:0;display:flex}.create-type-label{font-weight:600;font-size:var(--fs-body)}.create-type-description{font-size:var(--fs-sm);color:var(--text-muted);margin-top:.15rem}.create-type-chevron{color:var(--text-muted);font-size:1.5rem;line-height:1}.create-type-badge{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);font-size:var(--fs-xs);color:var(--text-muted);white-space:nowrap;align-items:center;gap:.3rem;padding:.2rem .55rem;display:inline-flex}.create-sheet-overlay{z-index:200;background:var(--overlay-dark-04);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s;position:fixed;inset:0}.create-sheet-overlay.open{opacity:1;visibility:visible}.create-sheet{z-index:201;background:var(--bg);border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);overscroll-behavior:contain;max-height:55vh;padding-bottom:env(safe-area-inset-bottom,0px);flex-direction:column;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%);box-shadow:0 -4px 24px #00000040}.create-sheet.open{transform:translateY(0)}.create-sheet-drag-handle{background:var(--text-muted);opacity:.4;border-radius:2px;flex-shrink:0;width:36px;height:4px;margin:.6rem auto 0}.create-sheet-title{font-size:var(--fs-body);flex-shrink:0;padding:.6rem 1.25rem .4rem;font-weight:600}.create-sheet-list{flex-direction:column;gap:.5rem;margin:0;padding:0 1.25rem 1rem;list-style:none;display:flex;overflow-y:auto}.create-sheet-item{display:block}.create-sheet-tile{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);text-align:left;cursor:pointer;font:inherit;align-items:center;gap:.75rem;padding:.75rem .85rem;transition:background .15s,border-color .15s;display:flex}.create-sheet-tile:hover:not(.create-sheet-tile--disabled){background:var(--surface-elevated,var(--surface-raised));border-color:var(--primary)}.create-sheet-tile:active:not(.create-sheet-tile--disabled){transform:scale(.99)}.create-sheet-tile--disabled{cursor:not-allowed;opacity:.55}.create-sheet-icon{border-radius:var(--radius-sm);background:var(--surface);width:2rem;height:2rem;color:var(--primary);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.create-sheet-body{flex-direction:column;flex:1;min-width:0;display:flex}.create-sheet-label{font-weight:600;font-size:var(--fs-sm)}.create-sheet-description{font-size:var(--fs-xs);color:var(--text-muted);margin-top:.1rem}.save-status{align-items:center;display:flex}.save-indicator{font-size:var(--fs-xs);border-radius:var(--radius-sm);white-space:nowrap;box-shadow:0 10px 24px var(--surface-raised);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);align-items:center;gap:.35rem;padding:.25rem .6rem;font-weight:400;display:inline-flex}.save-indicator.saving,.save-indicator.saved{color:#fff;background:var(--primary)}.save-indicator.error{color:var(--status-red-text);background:var(--status-red-bg)}.detail-loading{color:var(--text-muted);flex-direction:column;align-items:center;gap:1rem;padding:4rem 2rem;display:flex}.detail-section{background:var(--surface-floating);border-radius:var(--radius-lg);padding:var(--card-padding);margin-bottom:var(--section-gap);border:none}.detail-section-spacer{margin-bottom:1.5rem}.form-divider{background:var(--surface-border);height:1px;margin:.75rem 0}.report-overview-colpair{margin-bottom:var(--section-gap)}.report-overview-colpair>.detail-section{margin-bottom:0}.section-header-row{align-items:center;gap:var(--section-header-gap);margin-bottom:var(--section-header-margin);color:var(--text);display:flex}.section-header-row h3{font-size:var(--fs-body);margin:0}.nav-maps-link{color:var(--text-muted,#6b7280);border-radius:4px;align-items:center;margin-left:auto;padding:4px;text-decoration:none;transition:color .15s;display:flex}.nav-maps-link:hover{color:var(--primary,#2563eb)}.customer-search-slot{z-index:0;opacity:0;pointer-events:none;transform-origin:top;visibility:hidden;will-change:max-height, opacity, transform;max-height:0;transition:max-height .3s cubic-bezier(.22,1,.36,1),margin-bottom .3s cubic-bezier(.22,1,.36,1),opacity .18s,transform .3s cubic-bezier(.22,1,.36,1),visibility 0s linear .3s;position:relative;overflow:hidden;transform:translateY(-.4rem)scale(.985)}.customer-search-slot:not(.is-open){margin-bottom:-1rem}.customer-search-slot.is-open{z-index:30;opacity:1;pointer-events:auto;visibility:visible;max-height:5rem;transition-delay:0s;overflow:visible;transform:translateY(0)scale(1)}.customer-details-form .form-group{transform-origin:top}.customer-details-form.is-editable .form-group{animation:.3s cubic-bezier(.22,1,.36,1) customer-fields-unlock}.customer-details-form.is-readonly .form-group{animation:.24s ease-out customer-fields-lock}.customer-details-form.is-readonly .form-input{transform:scale(.995)}.customer-create-option{animation:.28s cubic-bezier(.22,1,.36,1) customer-option-enter}.readonly-indicator{color:var(--text-muted);opacity:.5;flex-shrink:0;animation:.25s cubic-bezier(.22,1,.36,1) customer-lock-enter}@keyframes customer-fields-unlock{0%{opacity:.72;transform:translateY(-.2rem)}to{opacity:1;transform:translateY(0)}}@keyframes customer-fields-lock{0%{opacity:.82;transform:translateY(.1rem)}to{opacity:1;transform:translateY(0)}}@keyframes customer-option-enter{0%{opacity:0;transform:translateY(-.35rem)}to{opacity:1;transform:translateY(0)}}@keyframes customer-lock-enter{0%{opacity:0;transform:translate(-.25rem)scale(.8)}to{opacity:.5;transform:translate(0)scale(1)}}@media (prefers-reduced-motion:reduce){.customer-search-slot{transition-duration:.01ms;transition-delay:0s;transform:none}.customer-details-form .form-group,.customer-create-option,.readonly-indicator{animation:none}}.required-asterisk{color:var(--danger);margin-left:.2rem}.section-title-row{align-items:center;gap:var(--section-header-gap);display:flex}.section-title-row h3{font-size:var(--fs-body);color:var(--text);letter-spacing:.03em;margin:0}.collapsible-section{padding:0;overflow:hidden}.assigned-jobs-section{margin-top:1.5rem}.collapsible-section-trigger{width:100%;padding:var(--card-padding);color:var(--text);font:inherit;text-align:left;background:var(--surface-floating);cursor:pointer;border:0;align-items:center;display:flex}@media (hover:hover){.collapsible-section-trigger:hover{background:var(--surface-raised)}}.collapsible-chevron{color:var(--text-muted);flex-shrink:0;transition:transform .2s}.collapsible-chevron.open{transform:rotate(90deg)}.collapsible-section-content{padding:var(--card-padding) var(--card-padding) var(--card-padding);flex-direction:column;gap:1rem;display:flex}.detail-form{flex-direction:column;gap:1rem;display:flex}.modal-backdrop{z-index:200;background:var(--overlay-medium);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);justify-content:center;align-items:center;padding:1.5rem;animation:.15s ease-out modal-fade-in;display:flex;position:fixed;inset:0}.modal-card{background:var(--surface-modal);border-radius:var(--radius-lg);width:min(100%,420px);box-shadow:var(--shadow-lg);border:none;padding:1.4rem;animation:.2s cubic-bezier(.34,1.56,.64,1) modal-scale-in}.modal-card h3{font-size:var(--fs-lg);margin:0 0 .45rem}.modal-card p{color:var(--text-muted);margin:0}.modal-actions{grid-template-columns:1fr;gap:.75rem;margin-top:1.25rem;display:grid}.modal-actions--double{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.modal-actions--triple{grid-template-columns:1fr 1fr 1fr}.work-category-form{flex-direction:column;gap:1.25rem;display:flex}.work-field-group{flex-direction:column;gap:.6rem;display:flex}.work-field-label{color:var(--text-muted);font-size:var(--fs-xs);letter-spacing:.08em;font-weight:400}.category-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;display:grid}.choice-card{min-height:58px;color:var(--text);font:inherit;text-align:left;background:var(--surface-input);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem .95rem .85rem 1rem;font-weight:400;transition:border-color .2s,background .2s,transform .15s;display:flex;position:relative;overflow:hidden}.choice-card:active{transform:scale(.98)}.choice-card.selected{background:var(--surface-selected);border-color:var(--surface-selected)}.choice-card.selected:before,.multi-select-option.selected:before,.work-kind-option.selected:before{content:"";background:var(--overlay-light-03);border-radius:0 999px 999px 0;width:3px;position:absolute;top:10px;bottom:10px;left:0}.work-kind-list{flex-direction:column;gap:.55rem;display:flex}.work-kind-option{border:1px solid var(--border);border-radius:var(--radius);min-height:46px;color:var(--text);cursor:pointer;font-size:var(--fs-body);background:0 0;align-items:center;gap:.75rem;padding:.75rem .9rem .75rem 1rem;transition:all .2s;display:flex;position:relative;overflow:hidden}.work-kind-option:hover{background:var(--surface-input)}.work-kind-option.selected{background:var(--surface-selected);border-color:var(--focus-ring)}.work-kind-option input{opacity:0;pointer-events:none;position:absolute}.form-help-error{color:var(--text);font-size:var(--fs-xs)}.multi-select-field{flex-direction:column;gap:.55rem;display:flex;position:relative}.multi-select-field-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.multi-select-dropdown{position:relative}.multi-select-trigger{width:100%;min-height:48px;color:var(--text);font:inherit;text-align:left;background:var(--surface-input);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem .9rem;transition:all .2s;display:flex}.multi-select-trigger:hover:not(:disabled),.multi-select-trigger[aria-expanded=true]{border-color:var(--focus-ring);background:#0000004d}.multi-select-trigger:disabled{cursor:wait;opacity:.65}.multi-select-trigger-content{align-items:center;gap:.5rem;min-width:0;display:inline-flex}.multi-select-trigger-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.multi-select-chevron{color:var(--text-muted);flex-shrink:0;transition:transform .2s}.multi-select-chevron.open{transform:rotate(90deg)}.multi-select-menu{z-index:20;background:var(--surface-actions-menu);border-radius:var(--radius-lg);max-height:min(500px,100vh - 180px);box-shadow:var(--shadow-lg);border:none;padding:.35rem;position:absolute;top:calc(100% + .4rem);left:0;right:0;overflow-y:auto}.multi-select-menu::-webkit-scrollbar{width:5px}.multi-select-menu::-webkit-scrollbar-track{background:0 0}.multi-select-menu::-webkit-scrollbar-thumb{background:var(--surface-elevated);border-radius:var(--radius-sm)}@media (hover:hover){.multi-select-menu::-webkit-scrollbar-thumb:hover{background:var(--focus-ring)}}.multi-select-search{background:var(--surface-actions-menu);margin-bottom:.2rem;padding:.15rem}.multi-select-search-input{box-sizing:border-box;width:100%;color:var(--text);font:inherit;font-size:var(--fs-sm);background:var(--surface);border-radius:var(--radius-sm);border:none;outline:none;padding:.55rem .75rem;transition:border-color .15s}.multi-select-search-input::placeholder{color:var(--text-muted);opacity:.6}.multi-select-search-input:focus::placeholder,.search-input:focus::placeholder{opacity:0}.multi-select-search-input:focus{border-color:var(--focus-ring)}.multi-select-option{width:100%;min-height:46px;color:var(--text);font:inherit;text-align:left;background:var(--surface);border-radius:var(--radius);cursor:pointer;border:1px solid #0000;align-items:center;gap:.75rem;padding:.75rem .9rem .75rem 1rem;transition:border-color .16s,background .16s;display:flex;position:relative;overflow:hidden}@media (hover:hover){.multi-select-option:hover{border-color:var(--border);background:var(--surface)}}.multi-select-option.selected{border-color:var(--focus-ring);background:var(--surface-selected)}.category-choice-grid .choice-card.selected,.work-kind-list .work-kind-option.selected,.control-points-list .multi-select-option.selected{border-color:var(--primary);border:1px solid var(--primary);background-color:#fff}.selection-pill{color:var(--text);font-size:var(--fs-xs);letter-spacing:.03em;border:1px solid var(--surface-elevated);border-radius:var(--radius-pill);background:var(--surface-raised);flex-shrink:0;margin-left:auto;padding:.16rem .45rem;font-weight:400;line-height:1.2}.multi-select-option-text{flex-direction:column;gap:.1rem;min-width:0;display:flex}.multi-select-option-label{align-items:center;gap:.35rem;display:flex}.multi-select-option-icon{color:var(--primary);flex-shrink:0;display:inline-flex}.multi-select-option-text small{color:var(--text-muted);font-size:var(--fs-xs);white-space:pre-line;line-height:1.3}.multi-select-menu-empty{color:var(--text-muted);font-size:var(--fs-sm);margin:0;padding:.85rem}.single-select-footer{border-top:1px solid var(--border);padding:.6rem .85rem}.single-select-footer-text{color:var(--text-muted);font-size:var(--fs-xs);opacity:.7;font-style:italic}.multi-select-chips{flex-wrap:wrap;gap:.4rem;display:flex}.multi-select-chip{color:var(--text);font:inherit;background:var(--surface-selected);border:1px solid var(--surface-elevated);border-radius:var(--radius-sm);font-size:var(--fs-xs);align-items:center;gap:.3rem;padding:.22rem 0 .2rem .5rem;font-weight:400;transition:background .2s,border-color .2s;display:inline-flex}.multi-select-chip-remove{width:20px;height:20px;color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:0;transition:color .15s,background .15s;display:inline-flex}@media (hover:hover){.multi-select-chip-remove:hover{color:var(--text);background:var(--border)}}.multi-select-empty{color:var(--text-muted);font-size:var(--fs-xs)}.form-group{flex-direction:column;gap:.35rem;display:flex}.form-label{font-size:var(--fs-xs);color:var(--text-muted);letter-spacing:.03em;font-weight:400}.form-input-invalid{border-color:var(--danger)}.form-input-invalid:focus{border-color:var(--danger);box-shadow:0 0 0 3px #ef44441f}.form-error-text{color:var(--status-red-text);font-size:var(--fs-xs);margin:.1rem 0 0}.address-autocomplete{position:relative}.address-input-wrapper{align-items:center;display:flex;position:relative}.address-input-wrapper .form-input{text-overflow:ellipsis;white-space:nowrap;padding-right:2.25rem;overflow:hidden}.address-spinner{color:var(--text-muted);pointer-events:none;animation:.8s linear infinite spin;position:absolute;right:.6rem}.address-clear-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:2px;transition:color .15s;display:flex;position:absolute;right:.5rem}.address-clear-btn:hover{color:var(--text)}.address-suggestions{z-index:100;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);overscroll-behavior:contain;max-height:240px;margin:.25rem 0 0;padding:.25rem 0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #00000026}.address-suggestion-item{cursor:pointer;font-size:var(--fs-sm);color:var(--text);align-items:center;gap:.5rem;padding:.5rem .75rem;transition:background .1s;display:flex}.address-suggestion-item:hover,.address-suggestion-item:focus{background:var(--bg-hover,#0000000a);outline:none}.address-suggestion-icon{color:var(--text-muted);flex-shrink:0}.form-readonly-list{background:var(--surface-input);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:.5rem;min-height:48px;padding:.5rem .75rem;display:flex}.form-readonly-chip{background:var(--surface-selected);border:1px solid var(--surface-elevated);border-radius:var(--radius-sm);color:var(--text);font-size:var(--fs-xs);align-items:center;gap:.35rem;padding:.22rem .55rem;font-weight:400;display:inline-flex}.form-readonly-value{font-size:var(--fs-xs);color:var(--text);line-height:1.5}.form-readonly-empty{color:var(--text-dim);font-size:var(--fs-sm);font-style:italic}.form-textarea{resize:vertical;min-height:100px;font-family:var(--font-main);line-height:1.5}.step-indicators{-webkit-overflow-scrolling:touch;scroll-behavior:smooth;gap:.5rem;margin-bottom:1.15rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.step-dot{border-radius:var(--radius-sm);background:var(--surface);min-height:46px;color:var(--text);cursor:pointer;font-size:var(--fs-sm);white-space:nowrap;border:none;flex-shrink:0;align-items:center;gap:.5rem;padding:.6rem .9rem;transition:border-color .2s,background .2s,color .2s;display:flex}.step-dot.active{color:#fff;background:var(--primary);border:none}.step-dot.completed{background:var(--surface-selected-strong);color:var(--text);border:none}.step-dot[aria-disabled=true]{opacity:.5;cursor:not-allowed}.step-label{font-weight:400}.step-nav-anchor{bottom:calc(var(--bottom-nav-height) + var(--bottom-nav-extra) + .25rem);z-index:150;opacity:1;visibility:visible;flex-direction:column;align-items:center;transition:opacity .18s,visibility .18s;display:flex;position:sticky}.step-nav-anchor.is-hidden{opacity:0;visibility:hidden}.step-nav{background:var(--surface);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:none;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.step-nav-btn{font:inherit;font-size:var(--fs-sm);border-radius:var(--radius-sm);cursor:pointer;border:0;align-items:center;gap:.4rem;padding:.6rem 1.25rem;font-weight:400;transition:background .15s,opacity .15s;display:inline-flex}.step-nav-btn:active{transition:transform 80ms;transform:scale(.96)}.step-nav-btn:disabled{opacity:.4;cursor:not-allowed;background:var(--surface-raised);color:var(--text-muted);box-shadow:none}@media (hover:hover){.step-nav-btn:disabled:hover{background:var(--surface-raised);transform:none}}.step-nav-btn-back{color:var(--text);background:var(--surface-raised)}.step-nav-btn-back:active{background:var(--surface-selected-strong);transform:scale(.96)}@media (hover:hover){.step-nav-btn-back:not(:disabled):hover{background:var(--surface-selected-strong)}}.step-nav-btn-next{color:#fff;background:var(--primary);border:1px solid var(--border);margin-left:auto}.step-nav-btn-next svg{color:#fff}.step-nav-btn-next:active{background:var(--surface-selected-strong);border-color:var(--focus-ring);transform:scale(.96)}.step-nav-btn-next--wide{flex:1;justify-content:center;min-width:12rem}@media (hover:hover){.step-nav-btn-next:not(:disabled):hover{background:var(--surface-selected-strong);border-color:var(--focus-ring)}}.step-nav-counter{font-size:var(--fs-xs);color:var(--text-muted);white-space:nowrap;text-align:center;flex:1}.control-points-list{flex-direction:column;gap:.125rem;display:flex}.control-point-type+.control-point-type{margin-top:1.25rem}.control-point-type{background:var(--surface-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.75rem;transition:all .2s}.control-point-type:focus-within{border-color:var(--focus-ring);background:#0000004d}.control-point-type.collapsed{padding-bottom:.5rem}.control-point-type-header{width:100%;color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:none;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:0;display:flex}.control-point-type.collapsed .control-point-type-header{margin-bottom:0}.control-point-chevron{color:var(--text-muted);flex-shrink:0;transition:transform .2s}.control-point-chevron.open{transform:rotate(90deg)}.control-point-type-name{font-size:var(--fs-body);font-weight:400}.control-point-type-body{padding-left:0}.control-point-category-group+.control-point-category-group{margin-top:.75rem;padding-top:.75rem}.control-point-category-header{justify-content:space-between;align-items:center;margin-bottom:.25rem;display:flex}.control-point-category-label{font-size:var(--fs-xs);color:var(--text);letter-spacing:.05em;font-weight:400;transition:color .2s}.control-point-category-group.irrelevant .control-point-category-label{color:var(--text-disabled,#fff6)}.multi-select-option.control-point-irrelevant-row{min-height:42px;color:var(--text);margin-bottom:0;padding:.6rem .8rem .6rem 1rem}@media (hover:hover){.multi-select-option.control-point-irrelevant-row:hover{color:var(--text)}}.irrelevant-label{display:none}.multi-select-option:disabled{opacity:.4;cursor:default}@media (hover:hover){.multi-select-option:disabled:hover,.multi-select-option.selected:disabled:hover{background:var(--surface)}}@media (width>=768px){.bottom-nav{border-top:none;border-bottom:1px solid var(--border);flex-direction:row;order:1;justify-content:flex-start;gap:.5rem;height:auto;padding:.5rem 1.5rem;position:static}.app-content{order:2;padding-bottom:1.5rem}.app-header{order:0}.app-shell{flex-direction:column;display:flex}.page-container{max-width:none}.nav-item{flex-direction:row;flex:none;gap:.5rem;padding:.5rem .75rem}.search-input-wrapper{max-width:420px}.pagination-controls{justify-content:center;align-items:center;gap:1rem;padding:1.5rem 0;display:flex}.pagination-info{font-size:var(--fs-sm);color:var(--text-muted);text-align:center;min-width:120px}.pagination-controls .btn{align-items:center;gap:.35rem;display:inline-flex}.data-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;font-size:var(--fs-sm)}.data-table thead th{background:var(--bg);text-align:left;font-family:var(--font-heading);font-weight:500;font-size:var(--fs-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;-webkit-user-select:none;user-select:none;cursor:default;padding:.75rem 1rem;position:sticky;top:0;overflow:hidden}.data-table thead th.sortable.sorted{color:var(--text)}.data-table .sort-trigger{cursor:pointer;transition:color .15s}.data-table .sort-trigger:hover{color:var(--text)}.data-table thead th .sort-icon{opacity:.4;vertical-align:middle;margin-left:.3rem;display:inline-flex}.data-table thead th.sortable.sorted .sort-icon{opacity:1}.data-table thead th .col-resize-handle{cursor:col-resize;-webkit-user-select:none;user-select:none;z-index:1;width:14px;position:absolute;top:0;bottom:0;right:0}.data-table thead th .col-resize-handle:after{content:"";background:var(--border);width:1px;transition:background .15s;position:absolute;top:20%;bottom:20%;right:2px}.data-table thead th:hover .col-resize-handle:after{background:var(--primary)}.data-table thead th .col-resize-handle:active:after,.data-table thead th .col-resize-handle--active:after{background:var(--primary);width:2px}.data-table tbody tr{transition:background .12s}.data-table tbody tr.clickable{cursor:pointer}.data-table tbody tr.clickable:hover{background:var(--surface)}.data-table tbody td{border-bottom:1px solid var(--border);vertical-align:middle;text-overflow:ellipsis;white-space:nowrap;padding:.85rem 1rem;overflow:hidden}.data-table tbody tr:last-child td{border-bottom:none}.data-table .col-status{width:110px}.data-table .col-hours{text-align:right;width:70px}.data-table .col-users{width:150px}.data-table .col-actions{text-align:right;width:40px}.data-table .col-name{width:22%}.data-table .col-address{width:18%}.data-table .col-email{width:20%}.data-table .col-contact{width:16%}.data-table .col-phone{width:12%}.data-table .col-number{width:100px}.data-table .col-installation{width:140px}.data-table .col-role{width:150px}.data-table .col-hours{text-align:right;font-variant-numeric:tabular-nums;width:80px;color:var(--text-muted);font-size:var(--fs-sm)}.data-table .col-date{width:120px}.data-table .cell-comma-list{font-size:var(--fs-xs)}.data-table .cell-comma-list-item{white-space:nowrap;display:inline}.data-table .cell-comma-list-item+.cell-comma-list-item:before{content:", "}.data-table .status-badge-cell{border-radius:var(--radius-pill);font-size:var(--fs-xs);white-space:nowrap;align-items:center;gap:.35rem;padding:.2rem .6rem;display:inline-flex}.data-table-loading-bar{background:var(--text);z-index:10;height:2px;animation:1.2s ease-in-out infinite dataTableLoadingBar;position:absolute;top:0;left:0;right:0}@keyframes dataTableLoadingBar{0%{opacity:1}50%{opacity:.4}to{opacity:1}}.data-table .cell-number{font-variant-numeric:tabular-nums;text-align:right}.data-table .cell-date{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:var(--fs-xs);color:var(--text-muted)}.data-table .row-link-icon{opacity:0;color:var(--text-muted);transition:opacity .12s}.data-table tbody tr:hover .row-link-icon{opacity:1}.app-content{padding-left:2rem;padding-right:2rem}.report-overview-page{flex-wrap:wrap;align-items:center;max-width:none;display:flex}.report-overview-page>.detail-header{flex:1;min-width:0}.report-overview-page>.report-overview-toolbar{margin-bottom:0;margin-left:auto}.report-overview-page>.report-overview-grid,.report-overview-page>.kontrolpunkter-section,.report-overview-page>.detail-loading,.report-overview-page>.error-state{flex:0 0 100%}.report-overview-page>.report-overview-grid,.report-overview-page>.kontrolpunkter-section{margin-top:var(--section-gap)}.report-overview-grid{gap:2rem var(--section-gap);grid-template-columns:1fr 1fr;align-content:start;align-items:start;display:grid}.report-overview-grid>.detail-section,.report-overview-grid>.collapsible-section{padding:0 0 var(--section-gap) 0;border:none;border-bottom:1px solid var(--border);background:0 0;border-radius:0;margin-bottom:0}.report-overview-grid>.report-overview-toolbar{margin-bottom:0}.report-overview-grid>.report-overview-colpair{gap:0 var(--section-gap);padding:0 0 var(--section-gap) 0;border-bottom:1px solid var(--border);grid-column:1/-1;grid-template-columns:1fr 1fr;margin-bottom:0;display:grid}.report-overview-grid>.report-overview-colpair>.detail-section{background:0 0;border:none;border-radius:0;margin-bottom:0;padding:0}.report-overview-grid>.detail-section:last-child,.report-overview-grid>.collapsible-section:last-child,.report-overview-grid>.report-overview-colpair:last-child{border-bottom:none}.report-overview-page>.kontrolpunkter-section{margin-top:var(--section-gap);background:0 0;border:none;border-radius:0;padding:0}.report-overview-page>.kontrolpunkter-section .collapsible-section-trigger{cursor:pointer;padding:var(--card-padding);margin-bottom:var(--section-header-margin);border-radius:var(--radius-lg)}.report-overview-page>.kontrolpunkter-section .collapsible-section-content{display:block}.report-overview-grid .collapsible-section-trigger{cursor:pointer;padding:var(--card-padding);margin-bottom:var(--section-header-margin);border-radius:var(--radius-lg)}.report-overview-grid .collapsible-section-content{display:block}.report-overview-grid .section-header-row,.report-overview-grid .attestation-compact-header,.report-overview-grid .report-overview-hero .section-header-row{margin-bottom:var(--section-header-margin)}.report-overview-grid .attestation-data-list,.report-overview-grid .report-overview-chip-list,.report-overview-grid .report-overview-link-list,.report-overview-grid .worksheet-list-section{margin-top:0}.report-overview-grid .attestation-observations-list{border-top:none;margin:0;padding-top:0}.report-overview-grid .section-header-row{margin-bottom:.75rem}}.validation-error{background:var(--status-red-bg);border-radius:var(--radius-sm);color:var(--status-red-text);font-size:var(--fs-body);border:1px solid #ef44444d;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.875rem 1rem;display:flex}.worksheet-list{flex-direction:column;gap:.4rem;margin:0;padding:1rem;list-style:none;display:flex}.worksheet-list-item{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);align-items:flex-start;gap:.75rem;min-height:48px;padding:.65rem .85rem .65rem 1rem;transition:background .15s,border-color .15s;display:flex;position:relative}.worksheet-list-item:before{content:"";background:0 0;border-radius:0 999px 999px 0;width:3px;position:absolute;top:10px;bottom:10px;left:0}.worksheet-list-item.is-selected:before{background:var(--primary)}.worksheet-list-item-main{flex-direction:row;flex:1;align-items:baseline;gap:.5rem;min-width:0;display:flex}.worksheet-list-item-title{color:var(--text);font-size:var(--fs-body);text-overflow:ellipsis;white-space:nowrap;flex-shrink:1;font-weight:400;overflow:hidden}.worksheet-list-item-subtitle{color:var(--text-muted);font-size:var(--fs-xs);white-space:nowrap;flex-shrink:0;font-weight:400}.worksheet-list-item-metrics{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:.5rem;max-width:100%;display:inline-flex}.worksheet-list-item-badge{border-radius:var(--radius-pill);color:var(--text);font-size:var(--fs-xs);white-space:nowrap;border:1px solid var(--border);align-items:baseline;gap:.25rem;padding:.3rem .65rem;display:inline-flex}.worksheet-list-item-tag{border-radius:var(--radius-pill);border:1px solid var(--border);font-size:var(--fs-xs);white-space:nowrap;padding:.3rem .6rem;font-weight:500}.worksheet-list-item-actions{flex-shrink:0;justify-content:center;align-items:center;display:flex}.worksheet-list--detail{gap:.5rem}.worksheet-list-item--detail{background:0 0;border:none;border-radius:0;align-items:center;gap:.75rem;min-height:0;padding:.45rem 0}.worksheet-list-item--detail:not(:last-child){border-bottom:1px solid var(--border)}.worksheet-list-item--detail.worksheet-list-item--editing{border-bottom:none}.worksheet-list-item--detail .worksheet-list-item-badge,.worksheet-list-item--detail .worksheet-list-item-tag{border:none}.worksheet-list-item-main--detail{flex-direction:column;flex:auto;align-items:flex-start;gap:.12rem;min-width:0;display:flex;overflow:hidden}@media (width>=768px){.worksheet-list-item-main--detail{flex-direction:row;align-items:baseline;gap:.5rem}}.worksheet-list-item-main--detail .worksheet-list-item-title{font-size:var(--fs-sm);line-height:1.2}.worksheet-list-item--detail .worksheet-list-item-title{white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;overflow:hidden}.worksheet-list-item-subtitle--detail{font-size:var(--fs-xs);white-space:nowrap;text-overflow:ellipsis;flex:none;line-height:1.25;overflow:hidden}.worksheet-list-item-meta{flex-wrap:nowrap;flex:none;justify-content:flex-end;align-items:center;gap:.4rem;min-width:0;margin-left:auto;display:flex}.worksheet-list-item-actions--detail{flex:none;margin-left:0}.worksheet-list-item--editing{flex-wrap:wrap;align-items:flex-start}.worksheet-list-item-edit{flex:1 0 100%;width:100%}.worksheet-list-item--editing .worksheet-form{width:100%;margin-top:.15rem}.worksheet-actions-menu{z-index:2500;background:var(--surface-actions-menu);border:1px solid var(--border-strong);border-radius:var(--radius-lg);min-width:10rem;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);flex-direction:column;padding:.35rem;display:flex;position:fixed}.worksheet-actions-menu button{border-radius:var(--radius-sm);width:100%;color:var(--text);font:inherit;font-size:var(--fs-sm);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:.5rem;padding:.55rem .7rem;display:inline-flex}.worksheet-actions-menu button:hover{background:var(--surface-raised)}.worksheet-actions-menu button.danger{color:var(--status-red-text)}.worksheet-actions-menu button.danger:hover{background:var(--status-red-bg)}@media (width<=640px){.worksheet-list-item{flex-wrap:wrap;gap:.5rem;padding:.5rem .65rem .5rem .85rem}.worksheet-list-item--detail{flex-wrap:nowrap}.worksheet-list-item-main{gap:.4rem;width:100%}.worksheet-list-item-main--detail{gap:.12rem;width:auto}.worksheet-list-item-metrics{justify-content:flex-end;width:100%}.worksheet-list-item-meta{width:auto}.worksheet-list-item-badge{padding:.25rem .55rem}.worksheet-list-item-edit{min-width:0}}.worksheet-form{background:var(--surface-overlay);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:.45rem;padding:.65rem;display:flex;position:relative}.worksheet-form--compact{box-shadow:none}.worksheet-form h4{font-size:var(--fs-xs);color:var(--text);letter-spacing:.01em;margin:0 0 .1rem;font-weight:500}.worksheet-form-grid{grid-template-columns:1fr;gap:.4rem;display:grid}.worksheet-form .form-input,.worksheet-form .multi-select-trigger{min-height:38px}.worksheet-form .form-label{font-size:var(--fs-xs);margin-bottom:.15rem}.worksheet-form-grid .multi-select-field{min-width:0}.worksheet-form-grid-main .multi-select-chips{margin-top:.1rem}.worksheet-form-grid-hours{grid-template-columns:minmax(0,1fr) auto;align-items:end;margin-top:0}.worksheet-overnight-wrapper{align-self:end;min-width:7rem;display:flex}@media (width>=640px){.worksheet-form-grid-main{grid-template-columns:.8fr 1.2fr}}.calendar-picker-field{position:relative}.calendar-picker-trigger{text-align:left;cursor:pointer;justify-content:space-between;align-items:center;display:flex}.calendar-picker-popover{z-index:25;background:var(--surface-modal);border-radius:var(--radius-lg);width:min(19rem,100vw - 3rem);box-shadow:var(--shadow-lg);border:none;padding:.75rem;position:absolute;top:calc(100% + .4rem);left:0}.calendar-picker-header{color:var(--text);text-transform:capitalize;justify-content:space-between;align-items:center;margin-bottom:.65rem;font-weight:400;display:flex}.calendar-picker-weekdays,.calendar-picker-grid{grid-template-columns:repeat(7,1fr);gap:.25rem;display:grid}.calendar-picker-weekdays{color:var(--text-muted);font-size:var(--fs-xs);text-align:center;margin-bottom:.35rem}.calendar-picker-day{border-radius:var(--radius-sm);min-height:2rem;color:var(--text);cursor:pointer;background:0 0;border:0}.calendar-picker-day:hover,.calendar-picker-day.selected{background:var(--primary);color:#fff}.worksheet-overnight-wrapper .multi-select-option{width:100%;min-height:38px;padding-top:.35rem;padding-bottom:.35rem}.worksheet-form-actions{flex-wrap:nowrap;align-items:center;gap:.4rem;width:100%;margin-top:0;display:flex}.worksheet-form-actions .btn{white-space:nowrap;min-height:36px;font-size:var(--fs-sm);padding:.35rem .8rem}.worksheet-form-actions .btn-primary{flex:2 1 0;min-height:36px}.worksheet-form-actions .btn-secondary{flex:1 1 0}.worksheet-form-actions--compact{gap:.35rem}.worksheet-add-trigger{width:fit-content;min-height:36px;font-size:var(--fs-lg);padding:.4rem .9rem;font-weight:500}.worksheet-add-trigger-cta{width:100%;min-height:46px;font-size:var(--fs-body);margin-top:.75rem;padding:.65rem 1rem;font-weight:400}.attestation-hero-section{gap:var(--section-content-margin);flex-direction:column;display:flex}.attestation-status{border-radius:var(--radius-lg);background:var(--status-amber-bg);color:var(--warning);align-items:flex-start;gap:.9rem;padding:1rem;display:flex}.attestation-status.submitted{background:var(--status-blue-bg);color:var(--status-blue-text)}.attestation-status div{flex-direction:column;gap:.25rem;display:flex}.attestation-status-title{color:var(--text);font-size:var(--fs-body)}.attestation-status span:not(.attestation-status-title){color:var(--text-muted);font-size:var(--fs-sm)}.attestation-compact-header{margin-bottom:var(--section-header-margin)}.rejection-note-banner{margin-bottom:var(--section-gap);border-radius:var(--radius-lg);background:var(--status-red-bg);color:var(--status-red-text);font-size:var(--fs-sm);align-items:flex-start;gap:.75rem;padding:.85rem 1rem;display:flex}.rejection-note-banner strong{color:var(--text);font-size:var(--fs-body);margin-bottom:.2rem;display:block}.rejection-note-banner p{color:var(--text-muted);margin:0;line-height:1.45}.worksheet-list-section{flex-direction:column;gap:.75rem;display:flex}.worksheet-list--scrollable{max-height:400px;padding-right:.25rem;overflow-y:auto}.worksheet-list--scrollable::-webkit-scrollbar{width:4px}.worksheet-list--scrollable::-webkit-scrollbar-track{background:0 0}.worksheet-list--scrollable::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-pill)}.worksheet-list-totals{margin-top:var(--section-content-margin);padding-top:var(--section-content-margin);border-top:1px solid var(--border);color:var(--text-muted);font-size:var(--fs-sm);flex-wrap:wrap;justify-content:flex-end;gap:1rem 1.5rem;display:flex}.worksheet-list-totals span{white-space:nowrap;align-items:baseline;gap:.4rem;display:inline-flex}.worksheet-list-totals strong{color:var(--text);font-size:var(--fs-body);font-weight:400}.attestation-data-list{grid-template-columns:minmax(5rem,max-content) minmax(0,1fr);align-items:baseline;gap:.4rem 1.25rem;margin:0;display:grid}.attestation-data-pair{display:contents}.attestation-data-pair dt{color:var(--text-muted);font-size:var(--fs-sm);font-weight:400}.attestation-data-pair dd{color:var(--text);font-size:var(--fs-body);word-break:break-word;margin:0;font-weight:400}.attestation-observations-list{margin:var(--section-content-margin) 0 0;padding-top:var(--section-content-margin);border-top:1px solid var(--surface-elevated);grid-template-columns:minmax(5rem,max-content) minmax(0,1fr);align-items:baseline;gap:.4rem 1.25rem;display:grid}.attestation-observations-list .attestation-data-pair{display:contents}.attestation-observations-list .attestation-data-pair dt{color:var(--text-muted);font-size:var(--fs-sm);font-weight:400}.attestation-observations-list .attestation-data-pair dd{color:var(--text);font-size:var(--fs-body);white-space:pre-wrap;word-break:break-word;margin:0;font-weight:400;line-height:1.5}.attestation-notes-list{flex-direction:column;gap:.85rem;margin:0;display:flex}.attestation-note{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:.25rem;padding:.65rem .85rem;display:flex}.attestation-note+.attestation-note{margin-top:0}.attestation-note-label{color:var(--text-muted);font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;margin:0;font-weight:500}.attestation-note-value{color:var(--text);font-size:var(--fs-body);white-space:pre-wrap;word-break:break-word;margin:0;font-weight:400;line-height:1.55}.attestation-control-list{flex-direction:column;gap:.65rem;margin:0;padding:0;display:flex}.attestation-control-list.compact{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.4rem;display:grid}.attestation-control-grid{grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));align-items:start;gap:1.5rem;display:grid}.attestation-installation-block{flex-direction:column;gap:.75rem;display:flex}.attestation-installation-title{font-size:var(--fs-body);color:var(--text);margin:0;font-weight:500}.attestation-category-grid{flex-wrap:wrap;align-items:start;gap:1rem;display:flex}.attestation-category-block{flex-direction:column;flex:1;gap:.4rem;min-width:12rem;display:flex}.attestation-category-label{color:var(--text-muted);font-size:var(--fs-xs);letter-spacing:.05em;font-weight:500}.attestation-category-block--muted{opacity:.55}.attestation-irrelevant-section{margin-top:1.5rem}.attestation-irrelevant-section-title{font-size:var(--fs-body);color:var(--text-muted);margin:0 0 .75rem;font-weight:500}.attestation-control-list li{border-radius:var(--radius);align-items:flex-start;gap:.75rem;padding:.85rem;display:flex}.attestation-control-list.compact li{color:var(--text);border-radius:0;flex-direction:column;gap:.1rem;padding:0;display:flex}.attestation-control-list.compact .attestation-control-point-name{font-size:var(--fs-sm);color:var(--text);white-space:normal;align-items:baseline;gap:.3rem;display:inline-flex}.attestation-control-point-check{color:var(--success);font-size:var(--fs-xs)}.attestation-control-list.compact span,.attestation-control-list.compact small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attestation-control-list.compact span{color:var(--text);font-size:var(--fs-sm);white-space:normal;text-overflow:clip;overflow:visible}.attestation-control-list.compact small{color:var(--text-muted);font-size:var(--fs-sm)}.attestation-status-flags{margin:0;padding-left:1.25rem}.attestation-status-flags li{color:var(--text);font-size:var(--fs-sm)}.attestation-control-list div{flex-direction:column;gap:.2rem;min-width:0;display:flex}.attestation-control-list span{color:var(--text-muted);font-size:var(--fs-xs)}.attestation-irrelevant-block{margin-top:var(--section-content-margin);padding-top:var(--section-content-margin);border-top:1px solid var(--border)}.attestation-irrelevant-collapsible{margin-top:var(--section-content-margin);border:none!important;padding:0!important}.attestation-irrelevant-collapsible .collapsible-section-trigger{padding:.5rem 0}.attestation-irrelevant-collapsible .collapsible-section-content{padding:0}.attestation-irrelevant-label{color:var(--text-muted);font-size:var(--fs-xs);letter-spacing:.05em;margin-bottom:.4rem;font-weight:500;display:block}.attestation-irrelevant-block .attestation-control-list.compact{margin-top:0}.attestation-confirm-section{flex-direction:column;gap:1rem;display:flex}.attestation-confirm-section .attestation-confirm-row{border:1px solid var(--border);border-radius:var(--radius)}.attestation-validation-error{align-items:flex-start}.attestation-validation-title{margin-bottom:.35rem;display:block}.attestation-validation-error ul{margin:0;padding-left:1rem}.attestation-confirm-row{color:var(--text);background:var(--surface);border-radius:var(--radius);cursor:pointer;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.9rem 1rem;transition:background .15s,border-color .15s;display:flex}@media (hover:hover){.attestation-confirm-row:hover{background:var(--overlay-light-0055);border-color:var(--border)}}.attestation-confirm-row.confirmed{background:var(--surface);border-color:var(--border)}.attestation-confirm-row.disabled{cursor:default;opacity:.65}@media (hover:hover){.attestation-confirm-row.disabled:hover{background:var(--surface);border-color:var(--surface-selected-strong)}.attestation-confirm-row.confirmed.disabled:hover{background:var(--surface);border-color:var(--border)}}.attestation-confirm-copy{flex-direction:column;gap:.2rem;min-width:0;display:flex}.attestation-confirm-label{color:var(--text);font-size:var(--fs-body);line-height:1.35}.attestation-confirm-description{color:var(--text-muted);font-size:var(--fs-xs);line-height:1.4}.attestation-confirm-row input{appearance:none;background:var(--overlay-dark-095);border:1px solid var(--text-muted);border-radius:var(--radius-sm);width:1.25rem;height:1.25rem;box-shadow:inset 0 1px 0 var(--surface-selected);cursor:pointer;flex:none;margin:.05rem 0 0;transition:background .15s,border-color .15s,box-shadow .15s;position:relative}.attestation-confirm-row input:checked{background:var(--surface-selected);border-color:var(--primary);box-shadow:0 0 0 3px var(--surface-elevated)}.attestation-confirm-row input:checked:after{content:"";border:solid var(--text);transform-origin:50%;border-width:0 2px 2px 0;width:.32rem;height:.62rem;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.attestation-confirm-row input:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.attestation-confirm-row input:disabled{cursor:default}.attestation-submit-row{display:flex}.attestation-submit-button{width:100%;min-height:48px;font-size:var(--fs-body);letter-spacing:.01em;border-radius:var(--radius);flex:auto;justify-content:center;padding:.75rem 1.5rem;font-weight:600}.attestation-submit-button-locked{background:var(--surface);color:var(--text-muted);border:1px dashed var(--border);box-shadow:none;cursor:not-allowed}@media (hover:hover){.attestation-submit-button-locked:hover{background:var(--surface);box-shadow:none;transform:none}}.attestation-submitted-badge{border-radius:var(--radius);background:var(--status-green-bg);color:var(--status-green-text);border:1px solid #22c55e52;align-items:flex-start;gap:.75rem;padding:.9rem 1.1rem;display:flex}.attestation-submitted-badge>div{flex-direction:column;gap:.2rem;display:flex}.attestation-submitted-badge-title{font-size:var(--fs-body);color:var(--status-green-text);font-weight:500}.attestation-submitted-badge-subtitle{font-size:var(--fs-xs);color:var(--status-green-text);line-height:1.4}@media (width<=640px){.worksheet-list--scrollable{max-height:320px}.attestation-submit-button{width:100%}}.submission-overlay{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:50vh;padding:5rem 1.5rem;display:flex}.submission-overlay-spinner{color:var(--primary);animation:.8s linear infinite spin}.submission-overlay-title{font-size:var(--fs-lg);color:var(--text);margin:0;font-weight:500}.submission-overlay-body{color:var(--text-muted);font-size:var(--fs-body);margin:0}@keyframes pop-in{0%{opacity:0;transform:scale(0)}40%{opacity:1;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes row-delete{to{opacity:0;height:0;margin:0;padding:0;overflow:hidden;transform:translate(20px)}}@keyframes ring-draw{0%{stroke-dashoffset:226px}to{stroke-dashoffset:0}}.submitted-confirmation{text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:3rem 1.5rem;display:flex}.submitted-confirmation-icon{border-radius:var(--radius-pill);background:var(--primary);color:#fff;justify-content:center;align-items:center;width:80px;height:80px;margin-bottom:.5rem;animation:.4s cubic-bezier(.34,1.56,.64,1) both pop-in;display:flex}.submitted-confirmation-title{font-size:var(--fs-lg);color:var(--text);letter-spacing:-.01em;margin:0;font-weight:600}.submitted-confirmation-body{max-width:36rem;color:var(--text-muted);font-size:var(--fs-body);margin:0;line-height:1.5}.submitted-confirmation-date{color:var(--text-dim);font-size:var(--fs-xs);margin:0}.submitted-confirmation-button{min-width:12rem;margin-top:.75rem}.job-details-header-spacer{height:0}.btn-icon-back{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-pill);background:0 0;border:none;justify-content:center;align-items:center;margin-right:.25rem;padding:.5rem;transition:all .2s;display:flex}@media (hover:hover){.btn-icon-back:hover{background:var(--surface-raised);color:var(--text)}}.section-title{font-size:var(--fs-lg);color:var(--text);letter-spacing:-.01em;margin:1.5rem 0 .75rem;font-weight:600}.user-detail-info{background:var(--surface);border-radius:var(--radius);flex-direction:column;gap:.3rem;margin-bottom:1.25rem;padding:.6rem .85rem;display:flex}.detail-row{color:var(--text-muted);font-size:var(--fs-sm);align-items:center;gap:.5rem;display:flex}.detail-row svg{color:var(--text-muted);flex-shrink:0}.search-input-wrapper{align-items:center;margin-bottom:1rem;display:flex;position:relative}.search-input{box-sizing:border-box;width:100%;color:var(--text);font:inherit;font-size:var(--fs-body);background:var(--surface);border:1px solid var(--surface-selected-strong);border-radius:var(--radius-sm);outline:none;padding:.65rem .75rem .65rem 2.2rem;transition:border-color .15s}.search-input::placeholder{color:var(--text-muted)}.search-input:focus{border-color:var(--focus-ring)}.search-input-clear{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-pill);background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem;transition:color .15s,background .15s;display:flex;position:absolute;right:.4rem}@media (hover:hover){.search-input-clear:hover{color:var(--text);background:var(--surface-raised)}}.job-sort-controls-scroll{margin-bottom:1rem;position:relative}.job-sort-controls-scroll:before,.job-sort-controls-scroll:after{content:"";z-index:1;pointer-events:none;opacity:0;width:2.5rem;transition:opacity .2s;position:absolute;top:0;bottom:0}.job-sort-controls-scroll:before{background:linear-gradient(to right, var(--bg) 10%, transparent);left:0}.job-sort-controls-scroll:after{background:linear-gradient(to left, var(--bg) 10%, transparent);right:0}.job-sort-controls-scroll[data-scroll-left=true]:before,.job-sort-controls-scroll[data-scroll-right=true]:after{opacity:1}@media (width>=768px){.job-sort-controls-scroll:before,.job-sort-controls-scroll:after{display:none}}.job-sort-controls{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;align-items:center;gap:.5rem;display:flex;overflow-x:auto}.job-sort-controls::-webkit-scrollbar{display:none}.job-sort-secondary{align-items:center;gap:.5rem;display:flex}.sort-label{color:var(--text-muted);white-space:nowrap;font-size:.875rem}.sort-btn{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;white-space:nowrap;padding:.3rem .75rem;font-size:.8125rem;transition:background .15s,border-color .15s,color .15s}.sort-btn:hover{background:var(--surface-raised);border-color:var(--border-strong);color:var(--text)}.sort-btn.active{color:var(--text);border-color:#000;font-weight:500}.search-input-icon{color:var(--text-muted);pointer-events:none;position:absolute;left:.65rem}.job-card--disabled{opacity:.5;cursor:not-allowed}.meta-item--success{color:var(--status-green-text)}.meta-item--muted{color:var(--text-muted)}.animate-spin{animation:1s linear infinite spin}@media (width<=640px){.app-header-user,.app-header-logout span{display:none}.app-header-logout{padding:.5rem}}.edit-form-bottom-actions{gap:.75rem;margin-top:2rem;display:flex}.edit-form-bottom-btn{flex:1;gap:.5rem}.edit-form-bottom-actions .btn-primary{flex:1.5}.edit-form-save-btn{padding-top:.5rem;padding-bottom:.5rem}.invite-send-btn{justify-content:center;align-items:center;gap:.5rem;width:100%;margin-top:1rem;padding:.9rem 1.5rem;display:flex}.invite-send-btn:disabled{opacity:.35;background:var(--text-dim);box-shadow:none;cursor:not-allowed;transform:none}.section-card{background:var(--surface);border-radius:var(--radius-lg);padding:var(--card-padding)}.section-card-title{font-size:var(--fs-body);color:var(--text);align-items:center;gap:.5rem;margin:0 0 1rem;font-weight:500;display:flex}.section-card-link{margin-bottom:.5rem}.section-card-link a{color:var(--text);border-radius:var(--radius);justify-content:space-between;align-items:center;padding:.75rem;text-decoration:none;transition:background .15s;display:flex}@media (hover:hover){.section-card-link a:hover{background:var(--surface-raised)}}.section-card-link a:active{background:var(--surface-selected-strong)}.invite-input-row{gap:.5rem;display:flex}.invite-add-btn{flex-shrink:0;padding:.75rem 1rem}.invite-email-list{flex-direction:column;gap:.4rem;margin-top:.75rem;display:flex}.invite-email-chip{background:var(--surface-raised);border-radius:var(--radius-sm);font-size:var(--fs-body);justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.invite-status-list{flex-direction:column;gap:.35rem;display:flex}.invite-status-row{background:var(--surface-raised);border-radius:var(--radius-sm);font-size:var(--fs-sm);justify-content:space-between;align-items:center;padding:.65rem .75rem;display:flex}.invite-status-left{align-items:center;gap:.6rem;min-width:0;display:flex}.invite-status-email{text-overflow:ellipsis;white-space:nowrap;color:var(--text);overflow:hidden}.invite-status-badge{border-radius:var(--radius-pill);font-size:var(--fs-xs);white-space:nowrap;flex-shrink:0;align-items:center;gap:.25rem;padding:.15rem .5rem;display:inline-flex}.invite-status-date{color:var(--text-muted);font-size:var(--fs-xs);flex-shrink:0;margin-left:.5rem}.time-overview-page{max-width:1100px;padding:0 1rem}.time-overview-page--admin{--bg:#fff;--text:#18181b;--text-muted:#6b7280;--text-dim:#0006;--surface:#f8f9fa;--surface-raised:#f1f3f5;--surface-elevated:#e9ecef;--surface-input:#fff;--border:#dee2e6;--border-strong:#ced4da;--primary:#2c54ac;--primary-rgb:44, 84, 172;--focus-ring:#2c54ac4d;background:var(--bg);color:var(--text)}.time-overview-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.time-month-controls{flex-direction:column;align-items:flex-end;gap:.5rem;display:flex}.time-month-switcher{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--text);text-transform:capitalize;white-space:nowrap;align-items:center;gap:.55rem;padding:.35rem;display:inline-flex}.time-month-switcher span{text-align:center;min-width:9rem;font-size:var(--fs-body)}.time-month-button{border-radius:var(--radius-pill);width:2rem;height:2rem}.time-today-button{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--text-muted);font:inherit;font-size:var(--fs-xs);cursor:pointer;padding:.4rem .8rem}.time-today-button:not(:disabled){background:var(--primary);color:#fff;border-color:var(--primary)}.time-today-button:disabled{opacity:.45;cursor:default}.time-summary-grid{justify-content:flex-end;align-items:center;gap:.35rem;width:100%;display:flex}.time-summary-card{border-radius:var(--radius-pill);background:var(--surface-raised);border:1px solid var(--border);align-items:center;gap:.35rem;padding:.22rem .55rem;display:flex}.time-summary-card>div{align-items:center;gap:.28rem;display:inline-flex}.time-summary-card span{color:var(--text-muted);font-size:var(--fs-xs);display:inline-flex}.time-summary-card strong{color:var(--text);font-size:var(--fs-xs);font-weight:400;display:inline-flex}.time-summary-icon{border-radius:var(--radius-pill);background:0 0;justify-content:center;align-items:center;width:1.1rem;height:1.1rem;color:var(--text-muted)!important;display:inline-flex!important}.time-overview-page .empty-state{padding:1rem}.time-week-list{flex-direction:column;gap:1rem;display:flex}.time-week-card{border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);padding:1rem}.time-week-card.is-current{border-color:var(--primary);background:var(--surface);box-shadow:0 0 0 2px rgba(var(--primary-rgb,44, 84, 172), .1)}.current-week-badge{border-radius:var(--radius-sm);background:var(--primary);color:#fff;vertical-align:middle;margin-left:.5rem;padding:.1rem .45rem;font-size:.7rem;font-weight:600;line-height:1.3;display:inline-block}.time-week-card:not(.is-expanded) .time-week-header{margin-bottom:0}.time-week-skeleton{background:linear-gradient(90deg,#ffffff0a 25%,#ffffff14 50%,#ffffff0a 75%) 0 0/200% 100%;min-height:220px;animation:1.5s ease-in-out infinite shimmer}.time-week-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.85rem;display:flex}.time-week-header h3{color:var(--text);font-size:var(--fs-body);margin:0}.time-week-totals{color:var(--text-muted);font-size:var(--fs-xs);flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:inline-flex}.time-week-totals span{border-radius:var(--radius-pill);background:var(--surface);color:var(--text-muted);align-items:center;gap:.3rem;padding:.25rem .55rem;display:inline-flex}.time-week-toggle{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--text);font:inherit;font-size:var(--fs-xs);cursor:pointer;align-items:center;gap:.3rem;padding:.25rem .6rem;display:inline-flex}.time-week-toggle svg{transition:transform .16s}.time-week-card.is-expanded .time-week-toggle svg{transform:rotate(180deg)}.time-day-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem;display:grid}.time-day-cell{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);min-height:132px;padding:.65rem}.time-day-cell.muted{opacity:.42}.time-day-cell.has-entries{background:var(--surface);border-color:var(--surface-selected-strong)}.time-day-cell--empty{opacity:.5}.time-day-cell--empty .time-day-head p{display:none}.time-day-cell--weekend{background:var(--surface-raised);border-color:var(--surface-elevated)}.time-day-cell--weekend.muted{background:var(--surface);border-color:var(--border)}.time-day-head{color:var(--text-muted);font-size:var(--fs-xs);justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.55rem;display:flex}.time-day-head strong{color:var(--text);font-size:var(--fs-xs);white-space:nowrap}.time-entry-list{flex-direction:column;gap:.45rem;display:flex}.time-entry-card{border-radius:var(--radius-sm);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:#00000047;border:1px solid #0000;flex-direction:column;gap:.25rem;padding:.55rem;display:flex}.time-entry-card:hover,.time-entry-card:focus-visible{border-color:var(--surface-elevated);background:var(--surface-elevated);outline:none}.time-entry-top,.time-entry-meta,.time-entry-address,.time-entry-outlay,.time-entry-user{align-items:center;gap:.25rem;display:inline-flex}.time-entry-user{color:var(--text-muted);margin-bottom:.2rem;padding:.1rem .3rem;font-size:.75rem}.time-entry-top{color:var(--text-muted);font-size:var(--fs-xs);justify-content:space-between}.time-entry-meta{white-space:nowrap;justify-content:flex-end;gap:.35rem}.time-entry-card strong{color:var(--text);font-size:var(--fs-sm);font-weight:400;line-height:1.25}.time-entry-address{color:var(--text-muted);font-size:var(--fs-xs);line-height:1.25}.time-entry-outlay{border-radius:var(--radius-pill);color:var(--text-muted);font-size:var(--fs-xs);padding:.12rem .4rem}@media (width<=900px){.time-day-grid{grid-template-columns:1fr}.time-day-cell{min-height:auto}}@media (width<=640px){.time-overview-header{flex-direction:column}.time-month-controls,.time-month-switcher,.time-summary-grid{width:100%}.time-month-controls{align-items:stretch}.time-month-switcher{justify-content:space-between}.time-summary-grid{flex-wrap:wrap;justify-content:flex-start}.time-week-header{flex-direction:column}.time-week-totals{justify-content:flex-start}}@media (width>=768px){.time-overview-page{max-width:none;padding:0 2rem}.time-overview-header{align-items:center;margin-bottom:2rem}.time-overview-header>div:first-child{flex:1}.time-month-controls{flex-direction:row;align-items:center;gap:1rem;margin-left:auto}.time-today-button{white-space:nowrap}.time-summary-grid{justify-content:flex-end;gap:1rem}.time-summary-card{gap:.5rem;padding:.35rem .75rem}.time-summary-card>div{gap:.4rem}.time-week-card{padding:1.25rem}.time-week-header{align-items:center;gap:1.5rem;margin-bottom:1.25rem}.time-week-header>div:first-child{flex:1}.time-week-totals{flex-wrap:nowrap;gap:.75rem}.time-week-totals span{font-size:var(--fs-xs);padding:.3rem .7rem}.time-day-grid{gap:.75rem}.time-day-cell{min-height:160px;padding:.8rem}.time-day-head{gap:.75rem;margin-bottom:.75rem}.time-entry-card{gap:.3rem;padding:.65rem}.time-entry-card strong{font-size:var(--fs-sm)}.time-entry-user{font-size:.7rem}}.admin-weekly-overview{flex-direction:column;gap:1.5rem;display:flex}.admin-week-card{border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);overflow:auto}.admin-week-card.is-current{border-color:var(--primary);background:var(--surface);box-shadow:0 0 0 2px rgba(var(--primary-rgb,44, 84, 172), .1)}.admin-week-title{border-bottom:1px solid var(--border);background:var(--surface-raised);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.admin-week-title h3{font-size:var(--fs-body);margin:0;font-weight:500}.admin-week-meta{font-size:var(--fs-sm);color:var(--text-muted);align-items:center;gap:1rem;display:flex}.admin-week-table{border-collapse:collapse;background:var(--surface);table-layout:auto;width:100%;min-width:540px;font-size:.875rem}.admin-week-table thead{background:var(--surface-raised);position:sticky;top:0}.admin-week-table thead th{text-align:center;color:var(--text-muted);letter-spacing:.03em;border:1px solid var(--border);white-space:nowrap;background:var(--surface-raised);padding:.5rem;font-size:.7rem;font-weight:600}.admin-col-name{width:120px;min-width:100px;font-weight:600;text-align:left!important}.admin-row-label{flex-direction:column;gap:.15rem;display:flex}.admin-week-info{font-size:.8rem}.admin-week-number{color:var(--text-muted);font-size:.7rem;font-weight:400}.admin-col-day{width:auto}.admin-col-weekend{background:var(--surface-raised);opacity:.6;border-right:none!important}.admin-total-footer{font-size:var(--fs-sm);color:var(--text-muted);justify-content:flex-end;align-items:center;gap:.5rem;padding:.5rem 1rem;display:flex}.admin-total-value{color:var(--text);font-weight:500}.admin-col-total{width:60px;min-width:50px;border-left:2px solid var(--border-strong)!important}.admin-day-short{color:var(--text-muted);font-size:.65rem;font-weight:500;line-height:1;display:block}.admin-day-num{color:var(--text-muted);font-size:.8rem;font-weight:400;line-height:1.1;display:block}.admin-col-hours{font-variant-numeric:tabular-nums;color:var(--text);font-weight:500}.admin-week-table tbody tr{border-bottom:1px solid var(--border);transition:background-color .2s}.admin-week-table tbody tr:hover{background-color:var(--surface-raised)}.admin-user-row td{text-align:center;border-right:1px solid var(--border);color:var(--text);padding:.5rem;font-size:.8rem}.admin-user-row .admin-col-name{text-align:left;background:var(--surface-raised);border-right:1px solid var(--border);font-weight:500}.admin-user-row td:last-child{background:var(--surface-raised);border-right:none;border-left:2px solid var(--border);font-weight:600}.admin-row-total{background:var(--surface-raised);border-top:2px solid var(--border);font-weight:700}.admin-row-total td{text-align:center;border-right:1px solid var(--border);background:var(--surface-raised);color:var(--text);padding:.5rem;font-size:.8rem;font-weight:600}.admin-row-total .admin-col-name{text-align:left;border-right:1px solid var(--border)}.admin-row-total td:last-child{border-right:none}@media (width>=768px){.admin-week-title{padding:1rem 1.25rem}.admin-week-title h3{font-size:var(--fs-lg)}.admin-week-table{font-size:.9375rem}.admin-week-table thead th{padding:.6rem .75rem;font-size:.75rem}.admin-week-table thead th,.admin-week-table tbody td{padding:.75rem .85rem}.admin-col-name{width:140px;min-width:120px}.admin-col-day{width:auto}.admin-user-row td,.admin-row-total td{padding:.75rem .85rem;font-size:.9375rem}.admin-day-num{color:var(--text);font-size:.9rem;font-weight:500}}.drawer-overlay{background:var(--overlay-dark-04);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;opacity:0;visibility:hidden;transition:all .3s;position:fixed;inset:0}.drawer-overlay.open{opacity:1;visibility:visible}.drawer{background:var(--bg);z-index:1001;touch-action:pan-y;overscroll-behavior:contain;will-change:transform;flex-direction:column;width:100%;max-width:450px;height:100%;transition:right .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;right:-100%;box-shadow:-4px 0 20px #0000004d}.drawer.open{right:0}.drawer-header{padding:1.25rem 1.5rem;padding-top:calc(1.25rem + env(safe-area-inset-top,0px));border-bottom:1px solid var(--border);background:var(--surface-raised);justify-content:space-between;align-items:center;display:flex}.drawer-title{color:var(--text);align-items:center;gap:.75rem;display:flex}.drawer-title h2{font-size:var(--fs-lg);margin:0;font-weight:500}.drawer-content{flex:1;padding:1.5rem;overflow-y:auto}.drawer-back-hint{width:2.25rem;height:2.25rem;color:var(--text-muted);opacity:.4;cursor:pointer;z-index:2;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:opacity .2s;display:flex;position:absolute;top:50%;left:.4rem;transform:translateY(-50%)}.drawer-back-hint:hover{opacity:.75}.drawer-back-hint svg{animation:2s ease-in-out infinite drawer-back-pulse}@keyframes drawer-back-pulse{0%,to{opacity:.4;transform:translate(0)}50%{opacity:.9;transform:translate(-3px)}}.history-timeline{flex-direction:column;gap:1rem;display:flex}.history-event{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius);transition:transform .15s;overflow:hidden}.history-event-header{cursor:pointer;flex-direction:column;gap:.5rem;padding:1rem;display:flex}@media (hover:hover){.history-event-header:hover{background:var(--overlay-light-002)}}.history-event-meta{font-size:var(--fs-xs);color:var(--text-muted);justify-content:space-between;align-items:center;display:flex}.history-event-user,.history-event-time{align-items:center;gap:.4rem;display:flex}.history-event-type-container{justify-content:space-between;align-items:center;display:flex}.history-event-type-label{font-size:var(--fs-sm);color:var(--text-muted);align-items:center;gap:.4rem;font-weight:500;display:flex}.history-event-summary{font-size:var(--fs-body);color:var(--text);padding:0 1rem .5rem;line-height:1.4}.history-event-details{border-top:1px solid var(--border);background:var(--overlay-dark-01);padding:.75rem;overflow-x:auto}.history-changes-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm);table-layout:fixed}.history-changes-table th{text-align:left;color:var(--text-muted);border-bottom:1px solid var(--border);padding:.5rem;font-weight:400}.history-changes-table td{vertical-align:top;word-wrap:break-word;padding:.6rem .5rem}.change-field{color:var(--text);width:30%;font-weight:500}.change-value-old{color:var(--text-muted);opacity:.9}.change-value-old,.change-value-new{width:35%}.value-empty{font-style:italic;font-size:var(--fs-xs)}.drawer-loading,.drawer-empty{height:200px;color:var(--text-muted);text-align:center;justify-content:center;align-items:center;display:flex}.history-btn{color:var(--text-muted);margin-right:.25rem}@media (hover:hover){.history-btn:hover{color:var(--text);background:var(--surface-raised)}}.infinite-scroll-sentinel{width:100%;min-height:1px}.infinite-scroll-loading{color:var(--text-muted);font-size:var(--fs-sm);justify-content:center;align-items:center;gap:.5rem;padding:1.5rem;display:flex}.infinite-scroll-loading .spinner{border:2px solid var(--border);border-top-color:var(--primary);border-radius:var(--radius-pill);width:1rem;height:1rem;animation:.6s linear infinite spin}.invite-container{justify-content:center;align-items:center;min-height:100dvh}.invite-card{background:var(--surface);border:1px solid var(--border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);text-align:center;z-index:1;border-radius:24px;width:min(100%,420px);padding:2.5rem;box-shadow:0 25px 50px -12px #00000080}.invite-logo-wrapper{justify-content:center;margin-bottom:1.5rem}.invite-status-icon{margin-bottom:1rem}.invite-status-icon--success{color:var(--success)}.invite-status-icon--danger{color:var(--danger)}.invite-title{margin-bottom:.5rem}.invite-text{color:var(--text-muted);margin-bottom:1.5rem}.invite-text--long{margin-bottom:2rem}.invite-form{flex-direction:column;gap:1rem;display:flex}.invite-field{text-align:left}.invite-label{font-size:var(--fs-sm);color:var(--text-muted);margin-bottom:.35rem;display:block}.invite-input-wrapper{position:relative}.invite-input-icon{color:var(--text-dim);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.invite-input{background:var(--surface-raised);border:1px solid var(--border);width:100%;color:var(--text);font-size:var(--fs-body);box-sizing:border-box;border-radius:12px;outline:none;padding:.7rem .75rem .7rem 2.5rem;transition:border-color .2s}.invite-input:focus{border-color:var(--focus-ring)}.invite-btn{justify-content:center;align-items:center;gap:.5rem;width:100%;display:flex}.invite-btn-accept{width:100%}.invite-btn-submit{margin-top:.5rem}.invite-error-badge{background:var(--status-red-bg);color:var(--status-red-text);font-size:var(--fs-sm);text-align:left;border:1px solid #ef444433;border-radius:12px;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.75rem 1rem;display:flex}.invite-footer{font-size:var(--fs-sm);margin-top:1.5rem}.app-container-center{justify-content:center;align-items:center}.login-card{background:var(--surface-color);border:1px solid var(--surface-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px;width:100%;max-width:400px;padding:2rem;box-shadow:0 25px 50px -12px #00000080}.login-card-header{text-align:center;margin-bottom:2rem}.login-card-header h2{margin-bottom:.5rem}.login-card-header p{color:var(--text-secondary)}.login-email-info{margin-top:.25rem;font-size:1.1rem;font-weight:400}.login-form{flex-direction:column;gap:1.5rem;display:flex}.login-form label{margin-bottom:.5rem;font-size:.9rem;font-weight:400;display:block}.login-form .btn-primary{width:100%;margin-top:.5rem}.login-form .btn-primary svg:first-child{margin-right:.5rem}.logo-center{justify-content:center;margin-bottom:1rem}.logo-header{font-size:1.25rem}.user-avatar-initial{font-size:.9rem;font-weight:500}.reauth-card{background:var(--surface-color);border:1px solid var(--surface-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px;flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:400px;padding:2rem;display:flex;box-shadow:0 25px 50px -12px #00000080}.reauth-card .animate-spin{color:var(--text-secondary)}.reauth-card p{color:var(--text-secondary);text-align:center;margin:0}.reauth-cancel-btn{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;padding:.5rem;font-size:.9rem;text-decoration:underline}.login-email-step{flex-direction:column;gap:1rem;display:flex}.login-otc-btn{cursor:pointer;width:100%;color:var(--text-secondary);background:0 0;border:none;padding:.75rem;font-size:.9rem}.login-submit-btn{justify-content:center;align-items:center;gap:.5rem;width:100%;display:flex;position:relative;overflow:hidden}.login-submit-btn:disabled{opacity:.7;cursor:wait}.login-submit-btn-overlay{background:inherit;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.login-back-btn{cursor:pointer;width:100%;color:var(--text-secondary);background:0 0;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem;font-size:.9rem;display:flex}.login-error-banner{color:#ef4444;background:#ef44441a;border:1px solid #ef444433;border-radius:12px;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.9rem;display:flex}.login-frontpage-footer{text-align:center;margin-top:1.5rem;font-size:.9rem}.login-frontpage-footer a{color:var(--text-secondary)}.login-dev-section{border-top:1px solid var(--surface-border);margin-top:2rem;padding-top:1.5rem}.login-dev-buttons{flex-direction:column;gap:.75rem;display:flex}.login-dev-btn{width:100%;font-size:.85rem}.protected-route-loading{text-align:center;color:var(--text-secondary);padding:clamp(8rem,30svh,16rem) 2rem 2rem}.invite-btn-submit:disabled{opacity:.7;cursor:wait}.invite-footer-link{color:var(--text-muted)}.job-card-wrapper{position:relative;overflow:visible}.job-card-wrapper .job-card{width:100%}.customer-actions-anchor{z-index:10;position:absolute;top:.5rem;right:.5rem}.customer-actions-anchor .customer-actions-btn{opacity:1}.customer-edit-form{flex-direction:column;gap:.75rem;margin:.75rem 0;display:flex}.flex-row-between{justify-content:space-between;align-items:center;gap:1rem;display:flex}.flex-row-center{align-items:center;gap:.5rem;display:flex}.flex-row-end{justify-content:flex-end;gap:.25rem;display:flex}.inline-flex-center{align-items:center;gap:.35rem;display:inline-flex}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.text-muted{color:var(--text-muted)}.text-amber{color:#f59e0b}.text-red{color:#ef4444}.opacity-50{opacity:.5}.skeleton-w-70{width:70%!important}.skeleton-w-50{width:50%!important}.skeleton-w-80{width:80%!important}.skeleton-w-2rem{width:2rem!important}.skeleton-w-1-5rem{width:1.5rem!important}.btn-reset{cursor:pointer;width:100%;font:inherit;text-align:left;color:inherit;background:0 0;border:0}.spinner-white{border:2px solid #fff;border-top-color:#0000;border-radius:50%;width:16px;height:16px;margin-right:8px}.chevron-icon{color:var(--text-muted);flex-shrink:0;margin-left:auto;transition:transform .2s}@keyframes toast-shake-a{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}@keyframes toast-shake-b{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}.toast-shake [data-content]{animation:.4s toast-shake-a}.toast-shake.toast-shake-alt [data-content]{animation:.4s toast-shake-b}
