@import url(https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Inter:wght@300;400;500;600&display=swap);:root{--primary:218 79% 40%;--primary-foreground:0 0% 100%;--accent:218 55% 88%;--ring:218 79% 40%;--radius:0.5rem;--background:218 20% 95%;--foreground:222 47% 11%;--card:218 15% 98%;--card-foreground:222 47% 11%;--popover:218 15% 98%;--popover-foreground:222 47% 11%;--secondary:218 12% 90%;--secondary-foreground:222 30% 25%;--muted:218 12% 90%;--muted-foreground:218 8% 45%;--border:218 10% 85%;--input:218 10% 85%;--destructive:0 84% 60%;--destructive-foreground:0 0% 98%;--sidebar-bg:218 79% 25%;--sidebar-fg:0 0% 98%;--chart-1:160 84% 39%;--chart-2:221 83% 53%;--chart-3:24 95% 53%;--chart-4:262 83% 58%;--chart-5:43 96% 56%}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{-webkit-font-smoothing:antialiased;background:#f0f2f5;background:hsl(var(--background));color:#0f1729;color:hsl(var(--foreground));font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px}#root,body,html{height:100%}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#d5d8dd;background:hsl(var(--border));border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#6a707c;background:hsl(var(--muted-foreground))}::selection{background:#1551b726;background:hsl(var(--primary)/.15);color:#0f1729;color:hsl(var(--foreground))}.font-manrope{font-family:Manrope,sans-serif}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.App{font-family:Inter,sans-serif;height:100vh}.loading-screen{align-items:center;color:hsl(var(--muted-foreground));display:flex;flex-direction:column;font-size:14px;gap:16px;height:100vh;justify-content:center}.loading-spinner{animation:spin .8s linear infinite;border:3px solid hsl(var(--border));border-radius:50%;border-top-color:hsl(var(--primary));height:36px;width:36px}@keyframes spin{to{transform:rotate(1turn)}}.landing{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.landing-left{background:hsl(var(--sidebar-bg));display:flex;flex-direction:column;justify-content:center;padding:64px 56px}.landing-title{color:#ede8de;font-size:72px;font-weight:900;letter-spacing:-.02em;line-height:1;margin-bottom:32px}.landing-bullets{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0 0 28px;padding:0}.landing-bullets li{color:#ede8deb3;font-size:16px;padding-left:16px;position:relative}.landing-bullets li:before{color:#ede8de66;content:"-";left:0;position:absolute}.landing-desc{color:#ede8de80;font-size:14px;line-height:1.6;max-width:360px}.landing-right{align-items:center;background:#ede8de;display:flex;justify-content:center;padding:40px}.landing-right-inner{align-items:stretch;display:flex;flex-direction:column;max-width:320px;position:relative;width:100%}.landing-buttons{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.landing-btn{background:hsl(var(--sidebar-bg));border:none;border-radius:99px;color:#ede8de;cursor:pointer;display:block;font-family:Manrope,sans-serif;font-size:15px;font-weight:600;padding:14px 0;text-align:center;transition:background .2s,transform .1s;width:100%}.landing-btn:hover{background:#153840;transform:translateY(-1px)}.landing-btn:active{transform:translateY(0)}.landing-divider{background:#1a434e26;height:1px;margin-bottom:24px}.landing-try-section{display:flex;flex-direction:column;gap:10px}.landing-try-input{background:#0000;border:2px solid #1a434e26;border-radius:99px;box-sizing:border-box;color:hsl(var(--primary));font-family:Manrope,sans-serif;font-size:14px;outline:none;padding:12px 16px;transition:border-color .2s;width:100%}.landing-try-input::placeholder{color:#1a434e66}.landing-try-input:focus{border-color:hsl(var(--primary))}.landing-btn-try{background:#ede8de;border:2px solid hsl(var(--primary));color:hsl(var(--primary))}.landing-btn-try:hover{background:hsl(var(--sidebar-bg));color:#ede8de}.landing-back{align-items:center;background:none;border:none;color:#1a434e80;cursor:pointer;display:flex;font-size:13px;gap:4px;margin-bottom:20px;padding:6px 0;transition:color .15s}.auth-card-title,.landing-back:hover{color:hsl(var(--primary))}.auth-card-title{font-size:20px;font-weight:800;margin-bottom:6px}.auth-card-desc{color:#1a434e8c;font-size:13px;line-height:1.5;margin-bottom:20px}.company-profile-card{text-align:center}.company-profile-name{color:hsl(var(--primary));font-size:28px;font-weight:900;margin-bottom:8px}.company-profile-bio{color:#1a434e99;font-size:14px;line-height:1.5;margin-bottom:12px}.company-profile-phone{align-items:center;color:#1a434e8c;display:flex;font-size:13px;gap:6px;justify-content:center;margin-bottom:24px}.company-profile-stats{display:flex;gap:32px;justify-content:center;margin-bottom:28px}.company-stat{align-items:center;color:#1a434e8c;display:flex;flex-direction:column;font-size:12px;gap:2px}.company-stat-num{color:hsl(var(--primary));font-size:28px;font-weight:800}.company-profile-members{text-align:left}.company-profile-members h4{color:#1a434eb3;font-size:14px;font-weight:700;margin-bottom:12px}.company-members-grid{display:flex;flex-wrap:wrap;gap:10px}.company-member-chip{align-items:center;background:#1a434e0f;border:1px solid #1a434e1a;border-radius:99px;color:hsl(var(--primary));display:flex;gap:8px;padding:6px 14px 6px 6px}.auth-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:16px;box-shadow:0 20px 60px #00000014;max-width:420px;padding:40px;width:100%}.auth-tabs{background:hsl(var(--muted));border-radius:calc(var(--radius) + 2px);display:flex;gap:4px;margin-bottom:28px;padding:4px}.auth-tab{background:#0000;border:none;border-radius:var(--radius);color:hsl(var(--muted-foreground));cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:8px;transition:background .15s,color .15s}.auth-tab.active{background:hsl(var(--card));box-shadow:0 1px 4px #00000014;color:hsl(var(--foreground))}.auth-form{display:flex;flex-direction:column;gap:12px}.auth-switch{color:hsl(var(--muted-foreground));font-size:13px;margin-top:16px;text-align:center}.auth-switch-link{background:none;border:none;color:hsl(var(--primary));cursor:pointer;font-size:13px;font-weight:600;text-decoration:underline}.app-shell{flex-direction:column;height:100vh}.app-body,.app-shell{display:flex;overflow:hidden}.app-body{flex:1 1}.sidebar{background:hsl(var(--card));background:hsl(var(--sidebar-bg,var(--card)));border-right:1px solid hsl(var(--border));display:flex;flex-direction:column;flex-shrink:0;height:100vh;min-width:240px;overflow-y:auto;transition:width .2s ease,min-width .2s ease;width:240px;z-index:30}.sidebar-collapsed{min-width:64px;width:64px}.sidebar-top{flex:1 1}.sidebar-brand{border-bottom:1px solid hsl(var(--border));gap:8px;justify-content:space-between;min-height:72px;padding:20px 16px 16px}.brand-full,.sidebar-brand{align-items:center;display:flex}.brand-full{flex:1 1;gap:10px;min-width:0}.brand-name{color:hsl(var(--sidebar-fg));font-size:15px;font-weight:800;letter-spacing:-.02em;white-space:nowrap}.brand-sub{color:hsl(var(--sidebar-fg)/.6);font-size:11px;margin-top:2px;max-width:140px}.sidebar-toggle{align-items:center;background:#0000;border:none;border-radius:var(--radius);color:hsl(var(--sidebar-fg)/.7);cursor:pointer;display:flex;flex-shrink:0;height:32px;justify-content:center;transition:background .15s;width:32px}.sidebar-toggle:hover{background:hsl(var(--sidebar-fg)/.1);color:hsl(var(--sidebar-fg))}.sidebar-nav{display:flex;flex-direction:column;gap:2px;padding:12px 8px}.nav-item{align-items:center;background:#0000;border:none;border-radius:var(--radius);color:hsl(var(--sidebar-fg)/.7);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:10px;overflow:hidden;padding:10px;transition:background .15s,color .15s;white-space:nowrap;width:100%}.nav-item:hover{background:hsl(var(--sidebar-fg)/.1);color:hsl(var(--sidebar-fg))}.nav-item-active{background:hsl(var(--sidebar-fg)/.15);color:hsl(var(--sidebar-fg));font-weight:600}.nav-item-active:hover{background:hsl(var(--sidebar-fg)/.2)}.nav-icon{flex-shrink:0}.nav-label{overflow:hidden;text-overflow:ellipsis}.sidebar-bottom{border-top:1px solid hsl(var(--border));padding:8px}.sidebar-user{align-items:center;border-radius:var(--radius);display:flex;gap:10px;margin-bottom:4px;padding:10px}.sidebar-user-info{flex:1 1;min-width:0}.user-name{color:hsl(var(--sidebar-fg));font-size:13px;font-weight:600}.user-email{color:hsl(var(--sidebar-fg)/.6);font-size:11px}.nav-logout{color:hsl(var(--sidebar-fg)/.7)}.nav-logout:hover{background:hsl(var(--destructive)/.15);color:hsl(var(--destructive))}.main-area{background:hsl(var(--muted)/.4);flex:1 1;margin-left:0;overflow-y:auto;position:relative;transition:margin-left .2s}.page-content{max-width:1280px;padding:32px 40px}.page-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:28px}.page-title{color:hsl(var(--foreground));font-size:26px;font-weight:800;letter-spacing:-.02em}.page-sub{color:hsl(var(--muted-foreground));font-size:14px;margin-top:2px}.modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:100}.modal-box{border-radius:16px;box-shadow:0 24px 80px #0003;max-height:90vh;overflow-y:auto;width:100%}.modal-box,.modal-header{background:hsl(var(--card))}.modal-header{align-items:center;border-bottom:1px solid hsl(var(--border));display:flex;justify-content:space-between;padding:24px 28px 20px;position:-webkit-sticky;position:sticky;top:0;z-index:1}.modal-title{font-size:18px;font-weight:700}.modal-close{align-items:center;background:#0000;border:none;border-radius:var(--radius);color:hsl(var(--muted-foreground));cursor:pointer;display:flex;height:32px;justify-content:center;transition:background .15s;width:32px}.modal-close:hover{background:hsl(var(--muted))}.modal-body{padding:24px 28px}.modal-footer{border-top:1px solid hsl(var(--border));display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px}.form-field{display:flex;flex-direction:column;gap:6px}.form-label{color:hsl(var(--muted-foreground));font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.form-input{background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:var(--radius);color:hsl(var(--foreground));font-family:Inter,sans-serif;font-size:14px;height:40px;outline:none;padding:0 12px;transition:border-color .15s,box-shadow .15s}.form-input:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary)/.12)}.form-input:disabled{background:hsl(var(--muted));color:hsl(var(--muted-foreground));cursor:not-allowed}.form-textarea{height:auto;min-height:80px;padding:10px 12px;resize:vertical}.form-select{-webkit-appearance:none;appearance:none;cursor:pointer}.input-error{border-color:hsl(var(--destructive))!important}.form-error{color:hsl(var(--destructive));font-size:12px}.grid{display:grid}.grid-cols-2{grid-template-columns:1fr 1fr}.col-span-2{grid-column:span 2}.gap-4{gap:16px}.flex{display:flex}.flex-col{flex-direction:column}.gap-3{gap:12px}.gap-6{gap:24px}.justify-end{justify-content:flex-end}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.w-full{width:100%}.w-fit{width:-webkit-fit-content;width:fit-content}.text-sm{font-size:13px}.text-muted{color:hsl(var(--muted-foreground))}.sr-only{clip:rect(0,0,0,0);height:1px;overflow:hidden;position:absolute;width:1px}.address-row{align-items:center;display:flex;gap:8px}.address-row .form-input{flex:1 1}.maps-btn{align-items:center;background:hsl(var(--primary)/.1);border:1px solid hsl(var(--primary)/.3);border-radius:var(--radius);color:hsl(var(--primary));display:inline-flex;flex-shrink:0;font-size:13px;font-weight:600;gap:6px;height:40px;padding:0 14px;text-decoration:none;transition:background .15s;white-space:nowrap}.maps-btn:hover{background:hsl(var(--primary)/.18)}.maps-btn-disabled{cursor:not-allowed;opacity:.4}.color-preview-bar{align-items:center;border-radius:var(--radius);color:#fff;display:flex;font-size:13px;font-weight:600;gap:10px;margin-bottom:10px;min-height:40px;padding:10px 14px;transition:background .2s}.color-preview-dot{background:#fff9;border-radius:50%;flex-shrink:0;height:8px;width:8px}.color-preview-text{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.color-swatches{display:flex;flex-wrap:wrap;gap:8px}.color-swatch{align-items:center;background:var(--swatch-color);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:32px;justify-content:center;outline:2px solid #0000;outline-offset:0;transition:transform .15s,outline-offset .15s;width:32px}.color-swatch:hover{transform:scale(1.15)}.color-swatch.active{outline:2px solid hsl(var(--foreground));outline-offset:3px;transform:scale(1.1)}.job-num-badge{align-items:center;background:hsl(var(--muted));border-radius:40px;color:hsl(var(--muted-foreground));display:inline-flex;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:700;letter-spacing:.02em;padding:3px 10px}.share-link-box{background:hsl(var(--muted)/.5);border:1px solid hsl(var(--border));border-radius:var(--radius);padding:14px}.share-link-label{align-items:center;color:hsl(var(--muted-foreground));display:flex;font-size:12px;font-weight:700;gap:6px;margin-bottom:8px}.share-link-row{align-items:center;display:flex;gap:8px}.share-link-url{flex:1 1;font-family:monospace;font-weight:500;word-break:break-all}.share-copy-btn,.share-link-url{color:hsl(var(--primary));font-size:12px}.share-copy-btn{background:#0000;border:1px solid hsl(var(--primary));border-radius:var(--radius);cursor:pointer;font-weight:700;padding:4px 12px;transition:background .15s;white-space:nowrap}.share-copy-btn:hover{background:hsl(var(--primary)/.1)}.cp-shell{align-items:flex-start;background:hsl(var(--muted)/.4);display:flex;justify-content:center;min-height:100vh;padding:40px 20px 80px}.cp-notfound{align-items:center;color:hsl(var(--muted-foreground));display:flex;flex-direction:column;gap:16px;padding:60px 40px;text-align:center}.cp-notfound h2{color:hsl(var(--foreground));font-size:22px}.cp-lock-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:20px;box-shadow:0 20px 60px #00000014;margin-top:60px;max-width:400px;padding:40px;width:100%}.cp-lock-icon{align-items:center;background:hsl(var(--primary)/.1);border-radius:50%;color:hsl(var(--primary));display:flex;height:56px;justify-content:center;margin:0 auto 16px;width:56px}.cp-lock-title{font-size:22px;font-weight:800;margin-bottom:6px;text-align:center}.cp-lock-sub{color:hsl(var(--muted-foreground));font-size:14px;margin-bottom:24px;text-align:center}.cp-lock-form{display:flex;flex-direction:column;gap:12px}.cp-profile{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:20px;box-shadow:0 8px 40px #0000000f;max-width:680px;padding:40px;width:100%}.cp-header{align-items:flex-start;display:flex;gap:20px;margin-bottom:28px}.cp-avatar{align-items:center;background:hsl(var(--primary));border-radius:50%;color:hsl(var(--primary-foreground));display:flex;flex-shrink:0;font-size:22px;font-weight:800;height:72px;justify-content:center;width:72px}.cp-company-name{font-size:26px;font-weight:800;margin-bottom:6px}.cp-bio{font-size:14px;line-height:1.6;margin-bottom:6px}.cp-bio,.cp-contact{color:hsl(var(--muted-foreground))}.cp-contact{align-items:center;display:flex;font-size:13px;gap:6px}.cp-stats-row{grid-gap:12px;background:hsl(var(--muted)/.4);border-radius:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr);margin-bottom:28px;padding:20px}.cp-stat{text-align:center}.cp-stat-val{color:hsl(var(--primary));font-size:28px;font-weight:800}.cp-stat-label{color:hsl(var(--muted-foreground));font-size:11px;font-weight:600;letter-spacing:.04em;margin-top:2px;text-transform:uppercase}.cp-section{margin-bottom:28px}.cp-section-title{font-size:16px;font-weight:700;margin-bottom:16px}.cp-team-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.cp-team-card{align-items:center;background:hsl(var(--muted)/.5);border:1px solid hsl(var(--border));border-radius:12px;display:flex;flex-direction:column;gap:8px;padding:16px 12px;text-align:center}.cp-member-name{font-size:13px;font-weight:700}.cp-member-role{font-size:11px}.cp-footer,.cp-member-role{color:hsl(var(--muted-foreground))}.cp-footer{border-top:1px solid hsl(var(--border));font-size:12px;margin-top:20px;padding-top:20px;text-align:center}.member-checkboxes{display:flex;flex-wrap:wrap;gap:8px}.member-checkbox-item{align-items:center;border:1px solid hsl(var(--border));border-radius:40px;color:hsl(var(--foreground));cursor:pointer;display:flex;font-size:13px;gap:8px;padding:6px 12px 6px 8px;transition:all .15s}.member-checkbox-item:hover{background:hsl(var(--muted))}.member-checkbox-item.selected{background:hsl(var(--primary)/.08);border-color:hsl(var(--primary));color:hsl(var(--primary))}.check-icon{color:hsl(var(--primary))}.btn{align-items:center;border:none;border-radius:var(--radius);cursor:pointer;display:inline-flex;font-family:Inter,sans-serif;font-size:14px;font-weight:600;gap:6px;height:38px;padding:0 16px;transition:background .15s,opacity .15s,transform .1s;white-space:nowrap}.btn:active{transform:scale(.97)}.btn:disabled{cursor:not-allowed;opacity:.55}.btn-primary{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.btn-primary:hover:not(:disabled){background:hsl(var(--primary)/.88)}.btn-outline{background:#0000;border:1px solid hsl(var(--border));color:hsl(var(--foreground))}.btn-outline:hover:not(:disabled){background:hsl(var(--muted))}.btn-ghost{background:#0000;color:hsl(var(--foreground))}.btn-ghost:hover:not(:disabled){background:hsl(var(--muted))}.btn-danger{background:hsl(var(--destructive));color:hsl(var(--destructive-foreground))}.btn-danger:hover:not(:disabled){background:hsl(var(--destructive)/.85)}.btn-sm{font-size:12px;height:30px;padding:0 12px}.btn-lg{font-size:16px;height:46px;padding:0 24px}.badge{align-items:center;border-radius:40px;display:inline-flex;font-size:11px;font-weight:700;letter-spacing:.02em;padding:2px 10px;white-space:nowrap}.badge-success{background:#dcfce7;color:#166534}.badge-warning{background:#fef3c7;color:#92400e}.badge-danger{background:#fee2e2;color:#991b1b}.badge-info{background:#dbeafe;color:#1e40af}.badge-neutral{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.badge-primary{background:hsl(var(--primary)/.12);color:hsl(var(--primary))}.avatar{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:12px;font-weight:700;justify-content:center;object-fit:cover;overflow:hidden}.alert-error{background:#fee2e2;border:1px solid #fca5a5;border-radius:var(--radius);color:#991b1b;font-size:13px;padding:10px 14px}.alert-success{background:#dcfce7;border:1px solid #86efac;color:#166534;padding:10px 14px}.empty-state{padding:60px 40px;text-align:center}.empty-icon,.empty-state{color:hsl(var(--muted-foreground))}.empty-icon{align-items:center;background:hsl(var(--muted));border-radius:50%;display:flex;height:64px;justify-content:center;margin:0 auto 16px;width:64px}.empty-state h4{color:hsl(var(--foreground));font-size:16px;font-weight:700;margin-bottom:6px}.empty-state p{font-size:14px}.stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:24px}.stat-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:12px;box-shadow:0 1px 3px #0000000a;gap:16px;padding:20px}.stat-card,.stat-icon{align-items:center;display:flex}.stat-icon{background:hsl(var(--muted));border-radius:10px;flex-shrink:0;height:44px;justify-content:center;width:44px}.stat-value{color:hsl(var(--foreground));font-size:28px;font-weight:800;line-height:1}.stat-label{color:hsl(var(--muted-foreground));font-size:12px;font-weight:500;margin-top:4px}.dash-card-title{font-size:15px;font-weight:700;margin-bottom:16px}.job-list-mini{display:flex;flex-direction:column;gap:12px}.job-row-mini{align-items:center;background:hsl(var(--muted)/.5);border-radius:8px;display:flex;gap:12px;padding:10px}.job-color-dot{border-radius:50%;flex-shrink:0;height:10px;width:10px}.job-info-mini{flex:1 1;min-width:0}.job-name-mini{color:hsl(var(--foreground));font-size:13px;font-weight:600}.job-client-mini,.job-date-mini{color:hsl(var(--muted-foreground));font-size:12px}.job-date-mini{white-space:nowrap}.team-avatars{display:flex;flex-wrap:wrap;gap:16px}.team-avatar-item{gap:6px}.team-avatar-name{color:hsl(var(--muted-foreground));font-size:12px}.toolbar{flex-wrap:wrap;gap:16px;margin-bottom:20px}.search-box,.toolbar{align-items:center;display:flex}.search-box{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);gap:10px;height:38px;padding:0 14px;width:280px}.search-icon{color:hsl(var(--muted-foreground));flex-shrink:0}.search-input{background:none;border:none;color:hsl(var(--foreground));font-family:Inter,sans-serif;font-size:14px;outline:none;width:100%}.filter-tabs{display:flex;flex-wrap:wrap;gap:4px}.filter-tab{background:#0000;border:1px solid hsl(var(--border));border-radius:40px;color:hsl(var(--muted-foreground));cursor:pointer;font-size:13px;font-weight:500;padding:6px 14px;transition:all .15s}.filter-tab:hover{background:hsl(var(--muted));color:hsl(var(--foreground))}.filter-tab.active{background:hsl(var(--primary));border-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.jobs-table-wrap{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:12px;overflow:hidden}.jobs-table{border-collapse:collapse;width:100%}.jobs-table thead{background:hsl(var(--muted)/.5)}.jobs-table th{color:hsl(var(--muted-foreground));font-size:11px;font-weight:700;letter-spacing:.05em;padding:12px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.job-row{border-top:1px solid hsl(var(--border));transition:background .1s}.job-row:hover{background:hsl(var(--muted)/.4)}.jobs-table td{font-size:14px;padding:14px 16px}.job-cell-name{align-items:center;display:flex;gap:10px}.job-name{color:hsl(var(--foreground));font-weight:600}.job-num{font-size:11px;margin-top:2px}.job-client,.job-date,.job-num{color:hsl(var(--muted-foreground))}.job-date{white-space:nowrap}.avatar-stack{display:flex;gap:-4px}.avatar-stack .avatar{border:2px solid hsl(var(--card));margin-left:-6px}.avatar-stack .avatar:first-child{margin-left:0}.avatar-more{align-items:center;background:hsl(var(--muted));border:2px solid hsl(var(--card));border-radius:50%;color:hsl(var(--muted-foreground));display:flex;font-size:10px;font-weight:700;height:26px;justify-content:center;margin-left:-6px;width:26px}.row-actions{display:flex;gap:4px;justify-content:flex-end}.icon-btn{align-items:center;background:#0000;border:none;border-radius:var(--radius);color:hsl(var(--muted-foreground));cursor:pointer;display:flex;height:30px;justify-content:center;transition:background .15s,color .15s;width:30px}.icon-btn:hover{background:hsl(var(--muted));color:hsl(var(--foreground))}.icon-btn-danger:hover{background:#fee2e2;color:hsl(var(--destructive))}.view-switcher{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);display:flex;gap:2px;padding:3px}.view-btn{align-items:center;background:#0000;border:none;border-radius:calc(var(--radius) - 2px);color:hsl(var(--muted-foreground));cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:6px 14px;transition:all .15s}.view-btn.active{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.view-btn:hover:not(.active){background:hsl(var(--muted));color:hsl(var(--foreground))}.cal-nav{gap:12px;margin-bottom:16px}.cal-nav,.cal-nav-btn{align-items:center;display:flex}.cal-nav-btn{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);color:hsl(var(--foreground));cursor:pointer;height:32px;justify-content:center;transition:background .15s;width:32px}.cal-nav-btn:hover{background:hsl(var(--muted))}.cal-nav-label{font-size:16px;font-weight:700}.list-view{display:flex;flex-direction:column;gap:0}.period-group{margin-bottom:8px}.period-header{align-items:center;border-bottom:1px solid hsl(var(--border));display:flex;gap:10px;margin-bottom:4px;padding:12px 0 8px}.period-label{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.label-warning{color:#d97706}.label-muted,.period-count{color:hsl(var(--muted-foreground))}.period-count{background:hsl(var(--muted));border-radius:40px;font-size:11px;font-weight:700;padding:1px 7px}.list-job-row{align-items:center;background:hsl(var(--card));border-bottom:1px solid hsl(var(--border)/.6);border-radius:8px;display:flex;gap:16px;margin-bottom:4px;padding:14px 12px;transition:background .12s}.list-job-row:hover{background:hsl(var(--muted)/.5)}.list-job-indicator{border-radius:4px;flex-shrink:0;height:40px;width:4px}.list-job-info{flex:1 1;min-width:0}.list-job-name{color:hsl(var(--foreground));font-size:14px;font-weight:600}.list-job-client{color:hsl(var(--muted-foreground));font-size:12px;margin-top:2px}.list-job-desc{flex:1.5 1;font-size:12px}.list-job-meta{min-width:100px;text-align:right}.list-job-date{font-weight:500}.list-job-assignees,.list-job-date{color:hsl(var(--muted-foreground));font-size:12px}.list-job-assignees{margin-top:2px}.week-view{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:12px;overflow:hidden}.week-grid{max-height:calc(100vh - 260px);overflow-y:auto}.week-header-row{background:hsl(var(--card));border-bottom:1px solid hsl(var(--border));display:grid;grid-template-columns:72px repeat(7,1fr);position:-webkit-sticky;position:sticky;top:0;z-index:2}.week-day-header{align-items:center;border-left:1px solid hsl(var(--border));display:flex;flex-direction:column;gap:4px;padding:12px 8px}.today-header{background:hsl(var(--primary)/.06)}.day-abbr{color:hsl(var(--muted-foreground));font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.day-num{align-items:center;border-radius:50%;display:flex;font-size:18px;font-weight:700;height:32px;justify-content:center;width:32px}.today-num{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.week-time-col{flex-shrink:0;width:72px}.week-allday-row{border-bottom:2px solid hsl(var(--border));display:grid;grid-template-columns:72px repeat(7,1fr);min-height:60px}.week-allday-label{align-items:flex-start;color:hsl(var(--muted-foreground));display:flex;font-size:11px;font-weight:600;justify-content:flex-end;padding:8px}.week-allday-cell{border-left:1px solid hsl(var(--border));cursor:pointer;display:flex;flex-direction:column;gap:3px;min-height:60px;padding:4px 6px;transition:background .12s}.week-allday-cell:hover{background:hsl(var(--muted)/.5)}.today-col{background:hsl(var(--primary)/.04)}.week-time-row{display:grid;grid-template-columns:72px repeat(7,1fr);height:52px}.week-time-label{align-items:flex-start;color:hsl(var(--muted-foreground));display:flex;font-size:11px;font-weight:500;justify-content:flex-end;padding:4px 8px 0}.week-time-cell{border-bottom:1px solid hsl(var(--border)/.5);border-left:1px solid hsl(var(--border))}.week-job-chip{background:hsl(var(--primary)/.1);border-left:3px solid;border-radius:4px;cursor:pointer;padding:3px 6px}.week-chip-name{display:block;font-size:11px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.month-layout{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 200px;position:relative}.month-main{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:12px;padding:20px}.month-grid{display:grid;grid-template-columns:repeat(7,1fr)}.month-dow-header{color:hsl(var(--muted-foreground));font-size:11px;font-weight:700;letter-spacing:.06em;padding:8px 0;text-align:center;text-transform:uppercase}.month-day-cell,.month-dow-header{border-bottom:1px solid hsl(var(--border))}.month-day-cell{border-right:1px solid hsl(var(--border));cursor:pointer;min-height:100px;padding:8px;position:relative;transition:background .1s}.month-day-cell:hover{background:hsl(var(--muted)/.4)}.other-month{background:hsl(var(--muted)/.3)}.other-month .month-day-num{color:hsl(var(--border))}.today-cell{background:hsl(var(--primary)/.04)}.month-day-num{color:hsl(var(--muted-foreground));font-size:13px;font-weight:600;margin-bottom:4px}.today-day-num{align-items:center;background:hsl(var(--primary));border-radius:50%;color:hsl(var(--primary-foreground));display:flex;font-size:12px;height:24px;justify-content:center;width:24px}.month-visit-count{color:hsl(var(--primary));font-size:10px;font-weight:700;margin-bottom:4px}.month-job-chip{border:none;border-left:2px solid;border-radius:4px;cursor:pointer;display:block;font-size:11px;font-weight:600;margin-bottom:2px;overflow:hidden;padding:2px 6px;text-align:left;text-overflow:ellipsis;transition:opacity .12s;white-space:nowrap;width:100%}.month-job-chip:hover{opacity:.75}.chip-completed{opacity:.6;text-decoration:line-through}.month-chip-name{display:block;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.month-more{color:hsl(var(--muted-foreground));font-size:10px;margin-top:2px}.context-menu{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:10px;box-shadow:0 8px 32px #0000001f;left:0;min-width:180px;padding:8px;position:absolute;top:100%;z-index:50}.context-title{border-bottom:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:12px;font-weight:700;margin-bottom:4px;padding:4px 8px 8px}.context-item{align-items:center;background:#0000;border:none;border-radius:6px;color:hsl(var(--foreground));cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px;padding:8px 10px;transition:background .12s;width:100%}.context-item:hover{background:hsl(var(--muted))}.month-sidebar{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:12px;height:-webkit-fit-content;height:fit-content;padding:16px}.month-sidebar-title{align-items:center;display:flex;font-size:14px;font-weight:700;gap:8px;margin-bottom:12px}.sidebar-count{background:hsl(var(--muted));border-radius:40px;color:hsl(var(--muted-foreground));font-size:11px;font-weight:700;padding:1px 7px}.unscheduled-chip{background:hsl(var(--muted)/.5);border-left:3px solid;border-radius:6px;cursor:default;margin-bottom:8px;padding:8px 10px}.unscheduled-name{display:block;font-size:13px;font-weight:600}.unscheduled-client{color:hsl(var(--muted-foreground));font-size:11px}.job-popup{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:14px;box-shadow:0 20px 60px #0003;left:50%;max-width:360px;min-width:300px;padding:20px;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:60}.popup-header{align-items:flex-start;display:flex;gap:8px;justify-content:space-between;margin-bottom:12px}.popup-title{flex:1 1;font-size:15px;font-weight:700}.popup-close{align-items:center;background:#0000;border:none;border-radius:50%;color:hsl(var(--muted-foreground));cursor:pointer;display:flex;height:24px;justify-content:center;width:24px}.popup-close:hover{background:hsl(var(--muted))}.popup-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.popup-detail{align-items:flex-start;color:hsl(var(--muted-foreground));display:flex;font-size:13px;gap:8px;margin-bottom:8px}.popup-detail span{color:hsl(var(--foreground))}.avatar-stack-sm{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.popup-dates{grid-gap:12px;border-top:1px solid hsl(var(--border));display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-top:12px;padding-top:12px}.popup-dates label{color:hsl(var(--muted-foreground));display:block;font-size:11px;font-weight:700;margin-bottom:2px}.popup-dates span{font-size:13px;font-weight:600}.panel-backdrop{background:#00000040;inset:0;position:fixed;z-index:38}.detail-panel{background:hsl(var(--card));border-left:1px solid hsl(var(--border));bottom:0;box-shadow:-8px 0 40px #0000001a;display:flex;flex-direction:column;overflow:hidden;position:fixed;right:0;top:0;transform:translateX(100%);transition:transform .25s cubic-bezier(.4,0,.2,1);width:440px;z-index:39}.detail-panel.open{transform:translateX(0)}.panel-header{border-bottom:1px solid hsl(var(--border));flex-shrink:0;padding:20px 20px 0}.panel-header-top{align-items:flex-start;display:flex;gap:12px;margin-bottom:12px}.panel-color-bar{border-radius:4px;flex-shrink:0;height:44px;margin-top:2px;width:4px}.panel-title-group{flex:1 1;min-width:0}.panel-job-num{color:hsl(var(--muted-foreground));font-size:11px;font-weight:600}.panel-title{font-size:18px;font-weight:800;letter-spacing:-.02em;line-height:1.2}.panel-header-actions{display:flex;flex-shrink:0;gap:4px}.panel-badges{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:14px}.task-progress-badge{align-items:center;background:hsl(var(--primary)/.1);border-radius:40px;color:hsl(var(--primary));display:inline-flex;font-size:11px;font-weight:700;padding:2px 10px}.panel-tabs{background:hsl(var(--muted)/.3);border-bottom:1px solid hsl(var(--border));display:flex;flex-shrink:0}.panel-tab{align-items:center;background:#0000;border:none;border-bottom:2px solid #0000;color:hsl(var(--muted-foreground));cursor:pointer;display:flex;flex:1 1;font-size:12px;font-weight:600;gap:5px;justify-content:center;padding:11px 8px;transition:color .15s,border-color .15s;white-space:nowrap}.panel-tab:hover{color:hsl(var(--foreground))}.panel-tab.active{background:#0000;border-bottom-color:hsl(var(--primary));color:hsl(var(--primary))}.panel-body{flex:1 1;overflow-y:auto;padding:20px}.panel-details{display:flex;flex-direction:column;gap:16px}.detail-row{align-items:flex-start;display:flex;gap:12px}.detail-icon{flex-shrink:0;margin-top:3px}.detail-icon,.detail-label{color:hsl(var(--muted-foreground))}.detail-label{font-size:11px;font-weight:700;letter-spacing:.05em;margin-bottom:3px;text-transform:uppercase}.detail-value{color:hsl(var(--foreground));font-size:14px;line-height:1.5}.site-instructions{background:hsl(var(--muted));border-radius:var(--radius);color:hsl(var(--foreground));font-family:JetBrains Mono,monospace;font-size:13px;margin-top:4px;padding:8px 12px;white-space:pre-wrap}.maps-link{align-items:center;color:hsl(var(--primary));display:inline-flex;font-size:12px;font-weight:600;gap:4px;margin-top:4px;text-decoration:none}.maps-link:hover{text-decoration:underline}.detail-team{display:flex;flex-direction:column;gap:8px;margin-top:4px}.detail-member{align-items:center;display:flex;gap:10px}.member-name-sm{font-size:13px;font-weight:600}.member-role-sm{color:hsl(var(--muted-foreground));font-size:11px}.panel-punchlist{display:flex;flex-direction:column;gap:12px}.add-task-row{display:flex;gap:8px}.add-task-input{flex:1 1}.task-progress-bar-wrap{align-items:center;display:flex;gap:10px}.task-progress-bar{background:hsl(var(--border));border-radius:3px;flex:1 1;height:6px;overflow:hidden}.task-progress-fill{background:hsl(var(--primary));border-radius:3px;height:100%;transition:width .3s ease}.task-progress-label{color:hsl(var(--muted-foreground));font-size:11px;font-weight:700;white-space:nowrap}.task-list{display:flex;flex-direction:column;gap:4px}.task-item{align-items:center;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:8px;display:flex;gap:10px;padding:10px;transition:background .12s}.task-item:hover{background:hsl(var(--muted)/.4)}.task-done{opacity:.6}.task-check{align-items:center;background:none;border:none;cursor:pointer;display:flex;flex-shrink:0;padding:0}.check-done{color:hsl(var(--primary))}.check-todo{color:hsl(var(--border))}.task-title{flex:1 1;font-size:13px;font-weight:500}.task-done .task-title{text-decoration:line-through}.task-delete{height:24px;opacity:0;transition:opacity .15s;width:24px}.task-item:hover .task-delete{opacity:1}.empty-punchlist{align-items:center;color:hsl(var(--muted-foreground));display:flex;flex-direction:column;gap:8px;padding:40px 20px;text-align:center}.empty-punchlist p{font-size:13px}.panel-notes{gap:12px}.add-note-row,.panel-notes{display:flex;flex-direction:column}.add-note-row{gap:8px}.add-note-input{resize:none}.notes-list{display:flex;flex-direction:column;gap:8px}.note-item{background:hsl(var(--muted)/.5);border-left:3px solid hsl(var(--primary));border-radius:8px;padding:12px 14px}.note-text{font-size:13px;line-height:1.5;margin-bottom:4px;white-space:pre-wrap}.note-ts{color:hsl(var(--muted-foreground));font-size:11px}.job-row-active{background:hsl(var(--primary)/.05)!important}.job-cell-name-btn{align-items:center;background:none;border:none;cursor:pointer;display:flex;gap:10px;padding:0;text-align:left}.job-cell-name-btn:hover .job-name{color:hsl(var(--primary))}.dashboard-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.team-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.member-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:12px;padding:20px;transition:box-shadow .2s}.member-card:hover{box-shadow:0 4px 16px #0000000f}.member-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.member-name{font-size:16px;font-weight:700;margin-bottom:2px}.member-role{color:hsl(var(--primary));font-size:13px;font-weight:500;margin-bottom:10px}.member-contacts{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.member-contact,.member-jobs-count{align-items:center;color:hsl(var(--muted-foreground));display:flex;font-size:12px;gap:6px}.settings-layout{grid-gap:24px;display:grid;gap:24px;grid-template-columns:200px 1fr}.settings-sidebar{display:flex;flex-direction:column;gap:2px}.settings-tab{align-items:center;background:#0000;border:none;border-radius:var(--radius);color:hsl(var(--muted-foreground));cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:10px;padding:10px 14px;transition:all .15s;width:100%}.settings-tab:hover{background:hsl(var(--muted));color:hsl(var(--foreground))}.settings-tab.active{background:hsl(var(--primary)/.1);color:hsl(var(--primary));font-weight:600}.settings-content{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:12px;padding:28px}.settings-section-title{font-size:18px;font-weight:700;margin-bottom:20px}.theme-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr);margin-bottom:24px}.theme-card{align-items:center;background:#0000;border:2px solid hsl(var(--border));border-radius:10px;cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:12px;transition:all .15s}.theme-card:hover{background:hsl(var(--muted)/.5);border-color:hsl(var(--primary)/.5)}.theme-card-active{background:hsl(var(--primary)/.06);border-color:hsl(var(--primary))}.theme-preview{align-items:center;border-radius:50%;box-shadow:0 2px 8px #00000026;display:flex;height:48px;justify-content:center;width:48px}.theme-name{color:hsl(var(--foreground));font-size:11px;font-weight:600;text-align:center}.theme-current-preview{align-items:center;background:hsl(var(--muted)/.3);border:2px solid;border-radius:12px;display:flex;gap:16px;padding:16px 20px}.theme-preview-bar{border-radius:4px;flex-shrink:0;height:48px;width:6px}.theme-preview-info{display:flex;flex:1 1;flex-direction:column;gap:2px}.theme-preview-info strong{font-size:14px;font-weight:700}.theme-preview-demo{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.panel-team-label-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.team-toggle-btn{background:hsl(var(--primary)/.1);border:1px solid hsl(var(--primary)/.25);border-radius:40px;color:hsl(var(--primary));cursor:pointer;font-size:11px;font-weight:700;padding:3px 10px;transition:background .15s}.team-toggle-btn:hover{background:hsl(var(--primary)/.18)}.panel-team-chip{align-items:center;background:hsl(var(--muted)/.5);border:1px solid hsl(var(--border));border-radius:10px;display:flex;gap:10px;padding:8px 10px;text-align:left;transition:background .12s;width:100%}.panel-team-chip.assigned{cursor:default}.panel-team-chip.unassigned{background:#0000;border-style:dashed;cursor:pointer}.panel-team-chip.unassigned:hover{background:hsl(var(--primary)/.06);border-color:hsl(var(--primary))}.chip-remove-btn{align-items:center;background:none;border:none;border-radius:50%;color:hsl(var(--muted-foreground));cursor:pointer;display:flex;flex-shrink:0;height:22px;justify-content:center;margin-left:auto;transition:background .12s,color .12s;width:22px}.chip-remove-btn:hover{background:#fee2e2;color:hsl(var(--destructive))}.chip-add-icon{color:hsl(var(--primary));flex-shrink:0;margin-left:auto}.panel-add-members{display:flex;flex-direction:column;gap:6px;margin-top:8px}.add-members-label{color:hsl(var(--muted-foreground));font-size:11px;font-weight:700;letter-spacing:.06em;margin-bottom:2px;text-transform:uppercase}.schedule-controls{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.member-filter{align-items:center;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);color:hsl(var(--muted-foreground));display:flex;gap:8px;height:38px;padding:0 12px}.member-filter-select{background:none;border:none;color:hsl(var(--foreground));cursor:pointer;font-family:Inter,sans-serif;font-size:13px;font-weight:500;outline:none}.month-chip-avatars{display:flex;gap:1px;margin-top:2px}.month-job-chip{display:flex;flex-direction:column}.mini-avatar-stack{display:flex}.mini-avatar-stack .avatar{border:1px solid hsl(var(--card));margin-left:-4px}.mini-avatar-stack .avatar:first-child{margin-left:0}.panel-client-tag{color:hsl(var(--muted-foreground));display:block;font-size:12px;font-weight:500;margin-top:2px}.panel-status-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.panel-status-select{background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:var(--radius);color:hsl(var(--foreground));cursor:pointer;font-family:Inter,sans-serif;font-size:12px;font-weight:600;height:30px;outline:none;padding:0 10px}.panel-status-select:focus{border-color:hsl(var(--primary))}.panel-team-strip{border-top:1px solid hsl(var(--border));padding:12px 0 14px}.panel-team-label{align-items:center;color:hsl(var(--muted-foreground));display:flex;font-size:11px;font-weight:700;gap:5px;letter-spacing:.06em;margin-bottom:10px;text-transform:uppercase}.team-unassigned{color:hsl(var(--muted-foreground));font-size:13px}.panel-team-members{display:flex;flex-direction:column;gap:6px}.list-assignee-strip{align-items:center;display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.list-assignee-chip{align-items:center;display:flex;gap:5px}.list-assignee-name{font-weight:500}.list-assignee-more,.list-assignee-name{color:hsl(var(--muted-foreground));font-size:11px}.list-assignee-more{font-weight:600}.week-chip-avatars{display:flex;flex-wrap:wrap;gap:2px;margin-top:3px}.clients-layout{grid-gap:20px;display:grid;gap:20px;grid-template-columns:320px 1fr;min-height:500px}.clients-list,.clients-list-panel{display:flex;flex-direction:column}.clients-list{gap:4px}.client-row{align-items:center;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:10px;cursor:pointer;display:flex;gap:12px;padding:12px 14px;text-align:left;transition:all .15s;width:100%}.client-row:hover{background:hsl(var(--muted)/.5);border-color:hsl(var(--primary)/.3)}.client-row.active{background:hsl(var(--primary)/.07);border-color:hsl(var(--primary))}.client-avatar{align-items:center;background:hsl(var(--primary));border-radius:50%;color:hsl(var(--primary-foreground));display:flex;flex-shrink:0;font-family:Manrope,sans-serif;font-size:13px;font-weight:800;height:40px;justify-content:center;width:40px}.client-info{flex:1 1;min-width:0}.client-name{font-size:14px;font-weight:700}.client-meta{color:hsl(var(--muted-foreground));font-size:12px;margin-top:2px}.client-job-badges{display:flex;flex-shrink:0;gap:4px}.client-status-dot{align-items:center;border-radius:50%;color:#fff;display:flex;font-size:10px;font-weight:800;height:20px;justify-content:center;width:20px}.status-active,.status-in-progress{background:#10b981}.status-new{background:#6b7280}.client-detail-panel{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:12px;height:-webkit-fit-content;height:fit-content;padding:28px}.client-detail-header{align-items:center;display:flex;gap:16px;margin-bottom:20px}.client-detail-avatar{align-items:center;background:hsl(var(--primary));border-radius:50%;color:hsl(var(--primary-foreground));display:flex;flex-shrink:0;font-family:Manrope,sans-serif;font-size:18px;font-weight:800;height:60px;justify-content:center;width:60px}.client-stats-row{border-bottom:1px solid hsl(var(--border));border-top:1px solid hsl(var(--border));display:flex;gap:20px;margin-bottom:20px;padding:16px 0}.client-stat{flex:1 1;text-align:center}.client-stat-val{font-size:24px;font-weight:800}.client-stat-label{color:hsl(var(--muted-foreground));font-size:12px;margin-top:2px}.client-jobs-list{display:flex;flex-direction:column;gap:8px}.client-job-row{background:hsl(var(--muted)/.3);border:1px solid hsl(var(--border));border-radius:8px;padding:12px 14px}.client-detail-empty,.client-job-row{align-items:center;display:flex;gap:12px}.client-detail-empty{background:hsl(var(--card));border:1px dashed hsl(var(--border));border-radius:12px;color:hsl(var(--muted-foreground));flex-direction:column;justify-content:center;padding:60px 40px}.client-detail-empty p{font-size:14px}@media (max-width:900px){.clients-layout{grid-template-columns:1fr}.client-detail-empty{display:none}}.mobile-nav{background:hsl(var(--card));border-top:1px solid hsl(var(--border));bottom:0;display:none;left:0;padding-bottom:env(safe-area-inset-bottom);position:fixed;right:0;z-index:50}.mobile-nav-item{align-items:center;background:#0000;border:none;color:hsl(var(--muted-foreground));cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-size:10px;font-weight:500;gap:3px;padding:10px 4px;transition:color .15s}.mobile-nav-item.active{color:hsl(var(--primary))}@media (max-width:1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.theme-grid{grid-template-columns:repeat(3,1fr)}.month-layout{grid-template-columns:1fr}.month-sidebar{display:none}}@media (max-width:768px){.landing{grid-template-columns:1fr}.landing-left{min-height:auto;padding:32px 24px 24px}.landing-title{font-size:40px;line-height:1.15}.landing-tagline{display:none}.landing-right{min-height:auto}.landing-right-inner{max-width:100%;padding:24px 20px 48px}.landing-pricing-full{gap:12px;grid-template-columns:1fr 1fr!important}.sidebar{bottom:0;left:0;position:fixed;top:0;transform:translateX(-100%);transition:transform .25s ease;z-index:40}.sidebar.mobile-open{transform:translateX(0)}.main-area{margin-left:0!important;padding-bottom:72px}.mobile-nav{display:flex}.page-content{padding:16px 14px}.page-header{flex-wrap:wrap;gap:10px}.page-header>:last-child{width:100%}.page-header .btn{justify-content:center;width:100%}.toolbar{flex-wrap:wrap;gap:8px}.toolbar .search-box{flex:1 1 100%}.toolbar>.btn,.toolbar>button{flex:1 1 auto}.stats-grid{gap:10px;grid-template-columns:repeat(2,1fr)}.settings-layout{grid-template-columns:1fr}.settings-sidebar{border-bottom:1px solid hsl(var(--border));border-right:none;display:flex;flex-direction:row;gap:4px;margin-bottom:20px;overflow-x:auto;padding-bottom:4px}.settings-tab{flex-shrink:0;white-space:nowrap}.jobs-table td:nth-child(4),.jobs-table td:nth-child(6),.jobs-table th:nth-child(4),.jobs-table th:nth-child(6){display:none}.jobs-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.theme-grid{grid-template-columns:repeat(2,1fr)}.week-grid{-webkit-overflow-scrolling:touch;overflow-x:auto}.week-allday-row,.week-header-row,.week-time-row{min-width:600px}.month-day{min-height:60px}.modal-overlay{align-items:flex-end}.modal-box{border-radius:20px 20px 0 0;max-height:92vh}.pricing-grid{grid-template-columns:1fr 1fr}.quick-add-container{bottom:80px;right:14px}.team-grid{grid-template-columns:1fr 1fr}.dashboard-panel{padding:16px}}@media (max-width:480px){.landing-title{font-size:32px}.landing-right-inner{padding:20px 16px 40px}.landing-pricing-full{grid-template-columns:1fr!important}.auth-card{padding:20px 16px}.stats-grid{grid-template-columns:1fr 1fr}.page-header{align-items:stretch;flex-direction:column}.page-title{font-size:22px}.toolbar{align-items:stretch;flex-direction:column}.search-box{width:100%}.modal-box{border-radius:16px 16px 0 0;max-height:96vh}.modal-header{padding:18px 20px 14px}.modal-body{padding:16px 20px}.modal-footer{padding:12px 20px}.pricing-grid{grid-template-columns:1fr}.punchlist-columns{-webkit-overflow-scrolling:touch;display:flex;gap:10px;overflow-x:auto;padding-bottom:8px}.punchlist-col{flex-shrink:0;min-width:260px}.job-form-grid{grid-template-columns:1fr}.job-field-full{grid-column:1}.team-grid{grid-template-columns:1fr}.admin-users-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}}.nav-item-admin{border-top:1px solid hsl(var(--border));margin-top:8px;padding-top:12px}.admin-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.admin-users-table-wrap{overflow-x:auto}.admin-users-table .admin-user-cell{align-items:center;display:flex;gap:10px}.admin-current-theme{align-items:center;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);display:flex;gap:16px;margin-bottom:20px;padding:12px 16px}.admin-sub-title{color:hsl(var(--foreground));font-size:14px;font-weight:700;margin-bottom:12px}.theme-card-custom{position:relative}.theme-card-custom .theme-card-inner{align-items:center;background:none;border:none;cursor:pointer;display:flex;flex-direction:column;gap:6px;padding:0;width:100%}.theme-delete-btn{align-items:center;background:#dc28281a;background:hsl(var(--destructive,0 72% 51%)/.1);border:none;border-radius:50%;color:#dc2828;color:hsl(var(--destructive,0 72% 51%));cursor:pointer;display:flex;height:24px;justify-content:center;opacity:0;position:absolute;right:4px;top:4px;transition:opacity .15s;width:24px}.theme-card-custom:hover .theme-delete-btn{opacity:1}.admin-theme-builder{display:flex;flex-direction:column;gap:16px;max-width:600px}.admin-theme-live-preview{align-items:center;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);display:flex;gap:16px;padding:12px 16px}.admin-color-input-row{align-items:center;display:flex;gap:8px}.admin-color-picker{border:1px solid hsl(var(--border));border-radius:var(--radius);cursor:pointer;height:36px;padding:2px;width:40px}.admin-checkbox-row{align-items:center;color:hsl(var(--foreground));cursor:pointer;display:flex;font-size:13px;gap:8px;padding:8px 0}.admin-checkbox-row input[type=checkbox]{accent-color:hsl(var(--primary));height:16px;width:16px}.inline-icon{display:inline;margin-right:4px;vertical-align:-3px}.alert-success{background:#10b77f1a;border:1px solid #10b77f33;color:#10b77f;font-weight:500}.job-cards-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}.job-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:hidden;transition:box-shadow .15s,border-color .15s}.job-card:hover{border-color:hsl(var(--primary)/.3);box-shadow:0 2px 12px hsl(var(--foreground)/.06)}.job-card-active{border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary)/.12)}.job-card-top{border-left:4px solid;padding:14px 16px 10px}.job-card-title-row{align-items:flex-start;display:flex;gap:8px;justify-content:space-between;margin-bottom:8px}.job-card-name-btn{background:none;border:none;cursor:pointer;padding:0;text-align:left}.job-card-name{color:hsl(var(--foreground));font-size:15px;font-weight:700;line-height:1.3}.job-card-name-btn:hover .job-card-name{color:hsl(var(--primary))}.job-card-actions{display:flex;flex-shrink:0;gap:2px;opacity:.4;transition:opacity .15s}.job-card:hover .job-card-actions{opacity:1}.job-card-badges{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.job-card-details{display:flex;flex-direction:column;gap:5px;padding:0 16px 6px 20px}.job-card-field{align-items:flex-start;display:flex;font-size:12.5px;gap:6px;line-height:1.4}.job-card-field-icon{margin-top:2px}.job-card-field-icon,.job-card-field-label{color:hsl(var(--muted-foreground));flex-shrink:0}.job-card-field-label{align-items:center;display:flex;font-size:11px;font-weight:600;gap:3px;letter-spacing:.3px;min-width:52px;text-transform:uppercase}.job-card-field-value{color:hsl(var(--foreground));min-width:0}.job-card-field-truncate{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job-card-link{color:hsl(var(--primary));text-decoration:none}.job-card-link:hover{text-decoration:underline}.job-card-team{border-top:1px solid hsl(var(--border));margin-top:6px;padding:8px 16px 12px 20px}.job-card-team-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.job-card-member-chip{align-items:center;background:hsl(var(--muted)/.5);border:1px solid hsl(var(--border));border-radius:99px;color:hsl(var(--foreground));cursor:pointer;display:flex;font-size:12px;font-weight:500;gap:5px;padding:3px 10px 3px 3px;transition:background .15s,border-color .15s}.job-card-member-chip:hover{background:hsl(var(--primary)/.08);border-color:hsl(var(--primary)/.3);color:hsl(var(--primary))}.search-clear-btn{align-items:center;background:none;border:none;border-radius:50%;color:hsl(var(--muted-foreground));cursor:pointer;display:flex;justify-content:center;padding:4px;transition:background .15s}.search-clear-btn:hover{background:hsl(var(--muted));color:hsl(var(--foreground))}@media (max-width:480px){.job-cards-grid{grid-template-columns:1fr}}.punchlist-toggle{align-items:center;background:hsl(var(--muted)/.3);border:none;border-top:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:6px;padding:9px 16px;transition:background .15s,color .15s;width:100%}.punchlist-toggle:hover{background:hsl(var(--muted)/.6);color:hsl(var(--foreground))}.punchlist-toggle-open{background:hsl(var(--primary)/.06);color:hsl(var(--primary))}.punchlist-toggle-count{background:hsl(var(--muted));border-radius:99px;color:hsl(var(--foreground));font-size:11px;margin-left:auto;padding:1px 7px}.punchlist-chevron{transition:transform .2s}.punchlist-chevron-open{transform:rotate(180deg)}.punchlist-dropdown{background:hsl(var(--background));border-top:1px solid hsl(var(--border));padding:12px}.punchlist-add-toggle{align-items:center;background:none;border:1px dashed hsl(var(--border));border-radius:var(--radius);color:hsl(var(--muted-foreground));cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:5px;justify-content:center;margin-bottom:10px;padding:8px 0;transition:background .15s,color .15s,border-color .15s;width:100%}.punchlist-add-toggle:hover{background:hsl(var(--primary)/.06);border-color:hsl(var(--primary)/.3);color:hsl(var(--primary))}.punchlist-add-form{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);display:flex;flex-direction:column;gap:8px;margin-bottom:10px;padding:12px}.punchlist-add-fields{display:flex;flex-wrap:wrap;gap:8px}.punchlist-add-field{flex:1 1;min-width:120px}.punchlist-add-field-full{flex-basis:100%}.punchlist-field-label{align-items:center;color:hsl(var(--muted-foreground));display:flex;font-size:11px;font-weight:600;gap:4px;letter-spacing:.3px;margin-bottom:4px;text-transform:uppercase}.punchlist-add-date{font-size:12px;height:30px}.punchlist-add-notes{font-size:12px;min-height:36px;resize:vertical}.punchlist-add-actions{align-items:center;display:flex;gap:8px}.punchlist-cancel-btn{background:none;border:none;color:hsl(var(--muted-foreground));cursor:pointer;font-size:12px;padding:4px 8px}.punchlist-cancel-btn:hover{color:hsl(var(--foreground))}.punchlist-add-input{font-size:12px;height:32px}.punchlist-progress{align-items:center;display:flex;gap:8px;margin-bottom:10px}.punchlist-progress-bar{background:hsl(var(--muted));border-radius:2px;flex:1 1;height:4px;overflow:hidden}.punchlist-progress-fill{background:hsl(var(--primary));border-radius:2px;height:100%;transition:width .3s}.punchlist-progress-label{color:hsl(var(--muted-foreground));font-size:11px;font-weight:600;white-space:nowrap}.punchlist-columns{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr 1fr}.punchlist-col{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);min-height:60px;overflow:hidden;transition:border-color .15s}.punchlist-col:hover{border-color:hsl(var(--primary)/.3)}.punchlist-col-header{align-items:center;background:hsl(var(--muted)/.3);border-bottom:1px solid hsl(var(--border));display:flex;gap:6px;padding:7px 10px}.punchlist-col-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.punchlist-col-title{color:hsl(var(--foreground));font-size:11px;font-weight:700;letter-spacing:.3px;text-transform:uppercase}.punchlist-col-count{align-items:center;background:hsl(var(--muted));border-radius:50%;color:hsl(var(--muted-foreground));display:flex;font-size:10px;font-weight:700;height:18px;justify-content:center;margin-left:auto;width:18px}.punchlist-col-body{display:flex;flex-direction:column;gap:4px;min-height:40px;padding:6px}.punchlist-empty{color:hsl(var(--muted-foreground));font-size:11px;opacity:.5;padding:10px 0;text-align:center}.punchlist-task{background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);cursor:grab;display:flex;flex-direction:column;padding:5px 7px;transition:box-shadow .15s,opacity .15s}.punchlist-task:hover{box-shadow:0 1px 4px hsl(var(--foreground)/.06)}.punchlist-task-dragging{opacity:.4}.punchlist-task-expanded{border-color:hsl(var(--primary)/.3)}.punchlist-task-row{align-items:center;display:flex;gap:6px}.punchlist-advance-btn{align-items:center;background:none;border:none;cursor:pointer;display:flex;flex-shrink:0;padding:0;transition:transform .15s}.punchlist-advance-btn:hover{transform:scale(1.2)}.punchlist-task-title-btn{background:none;border:none;color:hsl(var(--foreground));cursor:pointer;flex:1 1;font-size:12px;min-width:0;overflow:hidden;padding:0;text-align:left;text-overflow:ellipsis;white-space:nowrap}.punchlist-task-title-btn:hover{color:hsl(var(--primary))}.punchlist-task-done{opacity:.55;text-decoration:line-through}.punchlist-task-details{border-top:1px solid hsl(var(--border));display:flex;flex-direction:column;gap:4px;margin-top:5px;padding:6px 0 2px 22px}.punchlist-detail-row{align-items:flex-start;color:hsl(var(--muted-foreground));display:flex;font-size:11px;gap:5px}.punchlist-detail-label{flex-shrink:0;font-weight:600}.punchlist-detail-value{color:hsl(var(--foreground));word-break:break-word}.punchlist-detail-notes{align-items:flex-start}.punchlist-overdue{color:#dc2828;font-weight:600}.punchlist-delete-btn{align-items:center;background:none;border:none;color:hsl(var(--muted-foreground));cursor:pointer;display:flex;flex-shrink:0;opacity:0;padding:2px;transition:opacity .15s,color .15s}.punchlist-task:hover .punchlist-delete-btn{opacity:1}.punchlist-delete-btn:hover{color:#dc2828}.dash-task-row{cursor:pointer}.dash-task-row:hover{background:hsl(var(--muted)/.5)}.dash-task-status{font-size:11px;font-weight:600;white-space:nowrap}@media (max-width:600px){.punchlist-columns{grid-template-columns:1fr}}.guest-banner{align-items:center;background:#fbbd23;box-shadow:0 2px 8px #0000001f;color:#0f1729;display:flex;flex-wrap:wrap;font-size:13px;font-weight:500;gap:12px;justify-content:space-between;padding:8px 20px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.guest-banner-text{flex:1 1;min-width:0}.guest-banner-actions{display:flex;flex-shrink:0;gap:8px}.guest-banner-signup-btn{background:#0f1729;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:5px 12px;transition:opacity .15s}.guest-banner-signup-btn:hover{opacity:.85}.guest-banner-save-btn{background:#fff;border:none;border-radius:6px;color:#0f1729;cursor:pointer;font-size:12px;font-weight:600;padding:5px 12px;transition:opacity .15s}.guest-banner-save-btn:hover{opacity:.8}.guest-view-shell{background:hsl(var(--background));display:flex;flex-direction:column;min-height:100vh}.guest-view-header{background:hsl(var(--sidebar-bg));border-bottom:1px solid hsl(var(--border)/.3);flex-wrap:wrap;gap:16px;padding:14px 24px}.guest-view-back,.guest-view-header{align-items:center;color:hsl(var(--sidebar-fg));display:flex}.guest-view-back{background:none;border:1px solid hsl(var(--sidebar-fg)/.3);border-radius:6px;cursor:pointer;flex-shrink:0;font-size:13px;gap:4px;padding:5px 10px;transition:background .15s}.guest-view-back:hover{background:hsl(var(--sidebar-fg)/.1)}.guest-view-info{flex:1 1;min-width:0}.guest-view-company-name{color:hsl(var(--sidebar-fg));font-size:20px;font-weight:700;margin:0}.guest-view-bio{font-size:12px;margin:2px 0 0;opacity:.75}.guest-view-meta{align-items:flex-end;display:flex;flex-direction:column;gap:4px}.guest-readonly-badge{background:hsl(var(--sidebar-fg)/.15);border-radius:20px;color:hsl(var(--sidebar-fg));font-size:11px;font-weight:600;letter-spacing:.03em;padding:2px 8px}.guest-view-stats{display:flex;font-size:11px;gap:10px;opacity:.75}.guest-view-nav{background:hsl(var(--card));border-bottom:1px solid hsl(var(--border));display:flex;gap:0;overflow-x:auto;padding:0 24px}.guest-tab-btn{align-items:center;background:none;border:none;border-bottom:2px solid #0000;color:hsl(var(--muted-foreground));cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:12px 16px;transition:color .15s,border-color .15s;white-space:nowrap}.guest-tab-btn:hover{color:hsl(var(--foreground))}.guest-tab-btn.active{border-bottom-color:hsl(var(--primary));color:hsl(var(--primary));font-weight:600}.guest-view-content{flex:1 1;overflow-y:auto}.dark-mode{--background:var(--dm-bg,222 22% 9%);--foreground:var(--dm-fg,210 15% 92%);--card:var(--dm-card,222 18% 13%);--muted:var(--dm-muted,222 15% 18%);--muted-foreground:var(--dm-muted-fg,210 10% 58%);--border:var(--dm-border,222 15% 22%)}.dark-mode .auth-card,.dark-mode .landing-right,.dark-mode .landing-try-section{background:hsl(var(--card));border-color:hsl(var(--border))}.day-view{display:flex;flex-direction:column;gap:0;padding:16px 20px}.day-nav{gap:12px;padding:8px 0 16px}.day-nav,.day-nav-center{align-items:center;display:flex}.day-nav-center{flex:1 1;gap:10px}.day-nav-label{color:hsl(var(--foreground));font-size:18px;font-weight:600}.day-today-label{color:hsl(var(--primary))}.day-today-btn{background:none;border:1px solid hsl(var(--border));border-radius:20px;color:hsl(var(--muted-foreground));cursor:pointer;font-size:12px;padding:3px 10px;transition:all .15s}.day-today-btn:hover{background:hsl(var(--muted))}.day-allday-row{align-items:flex-start;border-top:1px solid hsl(var(--border));display:flex;gap:12px;margin-bottom:0;padding:8px 0}.day-allday-jobs{display:flex;flex:1 1;flex-wrap:wrap;gap:6px}.day-timeline{border-top:1px solid hsl(var(--border))}.day-hour-row{align-items:flex-start;border-bottom:1px solid hsl(var(--border)/.5);cursor:pointer;display:flex;gap:12px;min-height:48px;padding:8px 4px;transition:background .1s}.day-hour-row:hover{background:hsl(var(--muted)/.4)}.day-hour-empty:hover .day-hour-add-hint{opacity:1}.day-hour-label{color:hsl(var(--muted-foreground));flex-shrink:0;font-size:11px;font-weight:500;padding-top:4px;width:56px}.day-hour-content{align-items:flex-start;display:flex;flex:1 1;flex-wrap:wrap;gap:6px;min-height:28px}.day-hour-add-hint{align-self:center;color:hsl(var(--muted-foreground));font-size:11px;opacity:0;transition:opacity .15s}.day-job-chip{align-items:center;background:hsl(var(--card));border:1px solid hsl(var(--border));border-left:4px solid hsl(var(--primary));border-radius:var(--radius);display:flex;font-size:12px;gap:8px;padding:4px 10px}.day-job-name{color:hsl(var(--foreground));font-weight:600}.day-job-client{color:hsl(var(--muted-foreground));font-size:11px}.day-job-avatars{display:flex;gap:2px}.sched-search-wrap{align-items:center;display:flex;position:relative}.sched-search-icon{color:hsl(var(--muted-foreground));left:8px;pointer-events:none;position:absolute}.sched-search-input{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);color:hsl(var(--foreground));font-size:12px;padding:6px 10px 6px 26px;transition:border-color .15s;width:160px}.sched-search-input:focus{border-color:hsl(var(--primary));outline:none}.sched-filter-select{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);color:hsl(var(--foreground));cursor:pointer;font-size:12px;padding:6px 10px}.sched-filter-select:focus{border-color:hsl(var(--primary));outline:none}.share-modal-body{display:flex;flex-direction:column;gap:14px}.share-modal-desc{color:hsl(var(--muted-foreground));font-size:13px}.share-modal-actions{display:flex;flex-wrap:wrap;gap:8px}.share-member-preview{align-items:center;background:hsl(var(--muted)/.4);border-radius:var(--radius);display:flex;gap:12px;padding:12px}.share-member-name{font-size:16px;font-weight:600}.share-member-role{color:hsl(var(--muted-foreground));font-size:12px}.companies-list{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.company-item{align-items:center;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);display:flex;gap:12px;justify-content:space-between;padding:12px 16px;transition:border-color .15s}.company-item-active{background:hsl(var(--accent)/.3);border-color:hsl(var(--primary))}.company-item-info{align-items:center;display:flex;gap:12px}.company-item-name{font-size:14px;font-weight:600}.company-item-meta{display:flex;gap:6px;margin-top:2px}.company-badge-active,.company-badge-primary,.company-badge-sub{border-radius:20px;font-size:10px;font-weight:600;letter-spacing:.04em;padding:2px 6px}.company-badge-primary{background:hsl(var(--primary)/.15);color:hsl(var(--primary))}.company-badge-sub{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.company-badge-active{background:#dcfce7;color:#166534}.company-item-actions{align-items:center;display:flex;flex-shrink:0;gap:6px}.company-new-form{background:hsl(var(--muted)/.3);border:1px dashed hsl(var(--border));border-radius:var(--radius);padding:16px}.public-page{background:hsl(var(--background));color:hsl(var(--foreground));font-family:system-ui;font-family:var(--font-sans,system-ui);min-height:100vh}.public-page-header{align-items:center;background:hsl(var(--card));border-bottom:1px solid hsl(var(--border));display:flex;justify-content:space-between;padding:12px 24px}.public-page-brand{color:hsl(var(--primary));font-size:20px;font-weight:800;text-decoration:none}.public-print-btn{align-items:center;background:hsl(var(--primary));border:none;border-radius:var(--radius);color:hsl(var(--primary-foreground));cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:7px 14px;transition:opacity .15s}.public-print-btn:hover{opacity:.85}.public-page-content{margin:0 auto;max-width:800px;padding:32px 20px}.public-job-header{border:1px solid hsl(var(--border));border-radius:var(--radius);display:flex;gap:0;margin-bottom:24px;overflow:hidden}.public-job-color-bar{flex-shrink:0;width:6px}.public-job-title-block{flex:1 1;padding:20px}.public-job-meta-row{align-items:center;display:flex;gap:8px;margin-bottom:8px}.public-company-name{color:hsl(var(--muted-foreground));font-size:13px}.public-job-name{font-size:28px;font-weight:700;margin:0 0 6px}.public-job-client{color:hsl(var(--muted-foreground));font-size:14px;margin:0}.public-job-details-grid{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}.public-detail-row{align-items:center;display:flex;font-size:14px;gap:8px}.public-detail-full{background:hsl(var(--muted)/.4);border-radius:var(--radius);font-size:14px;padding:12px}.public-detail-full p{line-height:1.5;margin:6px 0 0}.public-section{margin-bottom:28px}.public-section-title{font-size:16px;font-weight:600;margin-bottom:12px}.public-team-row{display:flex;flex-wrap:wrap;gap:10px}.public-team-chip{align-items:center;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);display:flex;gap:10px;padding:8px 14px}.public-team-name{font-size:14px;font-weight:600}.public-team-role{color:hsl(var(--muted-foreground));font-size:11px}.public-punch-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.public-punch-col-header{color:hsl(var(--muted-foreground));font-size:12px;font-weight:700;letter-spacing:.08em;margin-bottom:8px;text-transform:uppercase}.public-punch-item{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);margin-bottom:6px;padding:8px}.public-punch-title{display:block;font-size:13px;font-weight:500}.public-punch-due{color:hsl(var(--muted-foreground));display:block;font-size:11px;margin-top:2px}.public-punch-notes{color:hsl(var(--muted-foreground));font-size:12px;margin:4px 0 0}.public-member-profile{align-items:center;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);display:flex;gap:20px;margin-bottom:24px;padding:24px}.public-member-name{font-size:28px;font-weight:700;margin:0 0 4px}.public-member-role{color:hsl(var(--muted-foreground));font-size:16px;margin:0 0 4px}.public-member-company{color:hsl(var(--muted-foreground));font-size:13px;margin:0 0 12px}.public-member-stats{display:flex;gap:16px}.public-stat{align-items:center;display:flex;flex-direction:column;font-size:12px;gap:2px}.public-page-footer,.public-stat{color:hsl(var(--muted-foreground))}.public-page-footer{border-top:1px solid hsl(var(--border));font-size:13px;padding:20px;text-align:center}.public-page-error{align-items:center;display:flex;flex-direction:column;gap:12px;justify-content:center;min-height:100vh;text-align:center}.public-page-error a{color:hsl(var(--primary))}@media print{.public-page-header,.public-print-btn{display:none}.public-page{background:#fff}.public-page-content{max-width:100%;padding:16px}}.nav-item-dark{color:hsl(var(--sidebar-fg)/.7)}.nav-item-dark:hover{background:hsl(var(--sidebar-fg)/.1);color:hsl(var(--sidebar-fg))}@media (max-width:768px){.public-punch-grid{grid-template-columns:1fr}.public-member-profile{flex-direction:column;text-align:center}.day-nav-label{font-size:14px}.sched-search-input{width:120px}}.dark-mode body{background:hsl(var(--background));color:hsl(var(--foreground))}.dark-mode .auth-card,.dark-mode .company-item,.dark-mode .dash-card,.dark-mode .day-job-chip,.dark-mode .job-card,.dark-mode .job-detail-panel,.dark-mode .member-card,.dark-mode .modal-content,.dark-mode .public-punch-item,.dark-mode .public-team-chip,.dark-mode .punchlist-col,.dark-mode .punchlist-dropdown,.dark-mode .schedule-card,.dark-mode .settings-card,.dark-mode .share-link-box,.dark-mode .stat-card,.dark-mode .week-popup{background:hsl(var(--card));border-color:hsl(var(--border));color:hsl(var(--foreground))}.dark-mode .form-input,.dark-mode .member-filter-select,.dark-mode .sched-filter-select,.dark-mode .sched-search-input,.dark-mode input,.dark-mode select,.dark-mode textarea{background:hsl(var(--muted));border-color:hsl(var(--border));color:hsl(var(--foreground))}.dark-mode input::placeholder,.dark-mode textarea::placeholder{color:hsl(var(--muted-foreground))}.dark-mode .form-input:focus,.dark-mode input:focus,.dark-mode select:focus,.dark-mode textarea:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary)/.2)}.dark-mode .app-body,.dark-mode .guest-view-content,.dark-mode .guest-view-shell,.dark-mode .page-content{background:hsl(var(--background))}.dark-mode .day-hour-row,.dark-mode .day-view,.dark-mode .month-day-cell,.dark-mode .month-grid,.dark-mode .week-cell,.dark-mode .week-grid,.dark-mode .week-header-cell{background:hsl(var(--card));border-color:hsl(var(--border));color:hsl(var(--foreground))}.dark-mode .day-hour-row:hover,.dark-mode .month-day-cell:hover,.dark-mode .week-cell:hover{background:hsl(var(--muted))}.dark-mode .month-day-today,.dark-mode .week-day-today{background:hsl(var(--primary)/.12)}.dark-mode .badge-new{background:#2c313a;color:#c5cad3}.dark-mode .badge-active{background:#133921;color:#7de8a4}.dark-mode .badge-completed{background:#143425;color:#74e7b1}.dark-mode .badge-cancelled{background:#361717;color:#e87d7d}.dark-mode .modal-overlay{background:#000000b3}.dark-mode .dash-task-row,.dark-mode .job-row-mini{background:#0000;border-color:hsl(var(--border))}.dark-mode .dash-task-row:hover,.dark-mode .job-row-mini:hover{background:hsl(var(--muted))}.dark-mode .dash-card-title,.dark-mode .job-name,.dark-mode .member-name,.dark-mode .page-title,.dark-mode .stat-value,.dark-mode h1,.dark-mode h2,.dark-mode h3,.dark-mode h4{color:hsl(var(--foreground))}.dark-mode .form-label,.dark-mode .job-client,.dark-mode .job-client-mini,.dark-mode .job-date-mini,.dark-mode .page-sub,.dark-mode .punchlist-add-toggle,.dark-mode .stat-label,.dark-mode .text-muted{color:hsl(var(--muted-foreground))}.dark-mode .punchlist-add-toggle{background:hsl(var(--muted));border-color:hsl(var(--border))}.dark-mode .punchlist-add-toggle:hover{background:hsl(var(--border))}.dark-mode .punchlist-task{background:hsl(var(--muted)/.5);border-color:hsl(var(--border))}.dark-mode .landing-right{background:hsl(var(--card))}.dark-mode .landing-try-section{background:hsl(var(--muted))}.dark-mode .settings-tab,.dark-mode .settings-tabs button{border-color:hsl(var(--border));color:hsl(var(--muted-foreground))}.dark-mode .settings-tab-active{border-color:hsl(var(--primary));color:hsl(var(--primary))}.dark-mode .guest-view-nav{background:hsl(var(--card));border-color:hsl(var(--border))}.dark-mode .guest-tab-btn{color:hsl(var(--muted-foreground))}.dark-mode .guest-tab-btn:hover{color:hsl(var(--foreground))}.dark-mode .guest-tab-btn.active{border-bottom-color:hsl(var(--primary));color:hsl(var(--primary))}.dark-mode ::-webkit-scrollbar-thumb{background:hsl(var(--border))}.dark-mode ::-webkit-scrollbar-track{background:hsl(var(--muted))}.stat-card-btn{border:none;cursor:pointer;text-align:left;transition:transform .12s,box-shadow .12s;width:100%}.stat-card-btn:hover{box-shadow:0 6px 20px #0000001a;transform:translateY(-2px)}.stat-card-btn:active{transform:translateY(0)}.dash-card-title-btn{align-items:center;background:none;border:none;border-radius:4px;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:12px;padding:0;transition:opacity .15s;width:100%}.dash-card-title-btn:hover{opacity:.75}.dash-card-title-btn .dash-card-title{margin-bottom:0}.dash-header-arrow{color:hsl(var(--muted-foreground));flex-shrink:0}.team-avatar-item{align-items:center;background:none;border:none;border-radius:var(--radius);cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:6px 8px;transition:background .15s,transform .12s}.team-avatar-item:hover{background:hsl(var(--muted));transform:translateY(-2px)}.tier-badge{align-items:center;background:color-mix(in srgb,var(--tier-color) 15%,#0000);border-radius:999px;color:var(--tier-color);display:inline-flex;font-size:11px;font-weight:600;gap:4px;padding:2px 8px;white-space:nowrap}.tier-badge-md{font-size:12px;padding:3px 10px}.upgrade-prompt{text-align:center}.upgrade-prompt-icon{color:hsl(var(--muted-foreground))}.upgrade-prompt-text{color:hsl(var(--foreground));font-size:15px;margin-bottom:6px}.upgrade-prompt-sub{color:hsl(var(--muted-foreground));font-size:13px;margin-bottom:20px}.upgrade-prompt-options{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.upgrade-option-card{align-items:center;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);cursor:pointer;display:flex;gap:12px;padding:12px 16px;text-align:left;transition:all .15s}.upgrade-option-card:hover{background:hsl(var(--muted));border-color:hsl(var(--primary))}.upgrade-option-info{flex:1 1}.upgrade-option-name{display:block;font-size:14px;font-weight:600}.upgrade-option-price{color:hsl(var(--muted-foreground));font-size:12px}.upgrade-prompt-note{color:hsl(var(--muted-foreground));font-size:11px;font-style:italic}.quick-add-container{bottom:80px;position:fixed;right:24px;z-index:1000}.quick-add-fab{align-items:center;background:hsl(var(--primary));border:none;border-radius:50%;box-shadow:0 4px 16px #0003;color:hsl(var(--primary-foreground));cursor:pointer;display:flex;height:52px;justify-content:center;transition:transform .2s,box-shadow .2s;width:52px}.quick-add-fab:hover{box-shadow:0 6px 20px #00000040;transform:scale(1.08)}.quick-add-fab-open{transform:rotate(45deg)}.quick-add-fab-open:hover{transform:rotate(45deg) scale(1.08)}.quick-add-menu{animation:quickAddIn .15s ease-out;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);bottom:60px;box-shadow:0 8px 24px #00000026;min-width:180px;overflow:hidden;position:absolute;right:0}@keyframes quickAddIn{0%{opacity:0;transform:translateY(8px) scale(.95)}}.quick-add-option{align-items:center;background:none;border:none;color:hsl(var(--foreground));cursor:pointer;display:flex;font-size:14px;gap:10px;padding:12px 16px;transition:background .12s;width:100%}.quick-add-option:hover{background:hsl(var(--muted))}.sub-current-plan{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);margin-bottom:28px;padding:20px}.sub-current-plan-inner{align-items:center;display:flex;gap:16px}.sub-current-name{font-size:18px;font-weight:700}.sub-current-price{color:hsl(var(--muted-foreground));font-size:14px}.sub-price-period{font-size:12px}.sub-note{align-items:center;background:hsl(var(--muted));border-radius:var(--radius);color:hsl(var(--muted-foreground));display:flex;font-size:13px;gap:8px;margin-top:24px;padding:12px 16px}.pricing-grid{grid-gap:20px;align-items:stretch;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.pricing-card{background:hsl(var(--card));border:2px solid hsl(var(--border));border-radius:16px;display:flex;flex-direction:column;gap:0;padding:28px 24px 24px;position:relative;transition:border-color .2s,box-shadow .2s,transform .15s}.pricing-card:hover{border-color:hsl(var(--primary)/.5);box-shadow:0 8px 32px #0000001a;transform:translateY(-2px)}.pricing-card-active{border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary)/.15)}.pricing-card-popular{border-color:#8b5cf6}.pricing-popular-tag{background:linear-gradient(135deg,#8b5cf6,#6d28d9);border-radius:999px;color:#fff;font-size:11px;font-weight:700;left:50%;letter-spacing:.4px;padding:3px 14px;position:absolute;top:-12px;transform:translateX(-50%);white-space:nowrap}.pricing-card-header{border-bottom:1px solid hsl(var(--border));margin-bottom:20px;padding-bottom:20px;text-align:center}.pricing-card-icon{display:flex;justify-content:center;margin-bottom:10px}.pricing-card-name{font-size:20px;font-weight:700;letter-spacing:-.3px;margin:0 0 6px}.pricing-card-price{color:hsl(var(--muted-foreground));font-size:14px;line-height:1}.pricing-amount{color:hsl(var(--foreground));font-size:36px;font-weight:800;letter-spacing:-1px}.pricing-period{font-size:13px;font-weight:400}.pricing-card-limits{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.pricing-limit{align-items:center;background:hsl(var(--muted)/.5);border-radius:8px;color:hsl(var(--muted-foreground));display:flex;font-size:13px;gap:8px;padding:6px 10px}.pricing-limit span{color:hsl(var(--foreground));font-weight:700;min-width:60px}.pricing-features{display:flex;flex:1 1;flex-direction:column;gap:8px;list-style:none;margin:0 0 20px;padding:0}.pricing-features li{align-items:center;color:hsl(var(--foreground));display:flex;font-size:13px;gap:8px}.pricing-features li svg{color:hsl(var(--primary));flex-shrink:0}.pricing-card-action{margin-top:20px}.pricing-description{background:hsl(var(--muted)/.5);border-left:3px solid hsl(var(--border));border-radius:10px;color:hsl(var(--muted-foreground));flex:1 1;font-size:13px;line-height:1.65;margin:0 0 20px;padding:12px 14px}.landing-pricing{margin-top:4px}.landing-pricing-title{color:hsl(var(--foreground));font-size:14px;margin-bottom:8px}.landing-pricing-cards{display:flex;flex-wrap:wrap;gap:8px}.landing-pricing-card{align-items:center;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);display:flex;font-size:13px;gap:6px;padding:8px 14px}.landing-pricing-popular{border-color:#8b5cf6}.landing-pricing-name{font-weight:600}.landing-pricing-amount{color:hsl(var(--muted-foreground));font-size:12px}.faq-list{display:flex;flex-direction:column;gap:24px}.faq-category-title{color:hsl(var(--foreground));font-size:16px;margin-bottom:12px}.faq-item{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:hidden;transition:border-color .15s}.faq-item-expanded{border-color:hsl(var(--primary))}.faq-question{align-items:center;background:none;border:none;color:hsl(var(--foreground));cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:12px;justify-content:space-between;padding:16px 20px;text-align:left;width:100%}.faq-question:hover{background:hsl(var(--muted)/.5)}.faq-chevron{color:hsl(var(--muted-foreground));flex-shrink:0;transition:transform .2s}.faq-chevron-open{transform:rotate(180deg)}.faq-answer{padding:0 20px 16px}.faq-answer p{color:hsl(var(--muted-foreground));font-size:14px;line-height:1.6;margin:0 0 12px}.faq-actions{align-items:center;display:flex;gap:12px;justify-content:space-between}.faq-votes{display:flex;gap:6px}.faq-vote-btn{align-items:center;background:none;border:1px solid hsl(var(--border));border-radius:var(--radius);color:hsl(var(--muted-foreground));cursor:pointer;display:flex;font-size:12px;gap:4px;padding:4px 10px;transition:all .15s}.faq-vote-btn:hover:not(:disabled),.faq-voted{border-color:hsl(var(--primary));color:hsl(var(--primary))}.faq-voted{background:hsl(var(--primary)/.1)}.faq-admin-actions{display:flex;gap:4px}.company-trash-section{border-top:1px solid hsl(var(--border));margin-top:24px;padding-top:16px}.company-trash-toggle{align-items:center;background:none;border:none;color:hsl(var(--muted-foreground));cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px;padding:8px 0;transition:color .15s}.company-trash-toggle:hover{color:hsl(var(--foreground))}.company-trash-toggle .rotate-180{transform:rotate(180deg)}.company-trash-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.company-trash-item{align-items:center;background:hsl(var(--muted)/.5);border:1px dashed hsl(var(--border));border-radius:var(--radius);display:flex;gap:12px;justify-content:space-between;padding:12px 16px}.company-trash-item-info{align-items:center;display:flex;gap:10px}.company-trash-meta{align-items:center;color:#d97706;display:flex;font-size:11px;gap:4px}.admin-tier-select{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);color:hsl(var(--foreground));cursor:pointer;font-size:12px;padding:4px 8px}.link-btn{background:none;border:none;color:hsl(var(--primary));cursor:pointer;font-size:inherit;font-weight:600;text-decoration:underline}.landing-pricing-full{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}@media (max-width:640px){.landing-pricing-full{grid-template-columns:1fr}}.suggestion-attach-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.suggestion-file-input{font-size:13px}.suggestion-file-name{align-items:center;background:hsl(var(--muted));border-radius:var(--radius);color:hsl(var(--muted-foreground));display:flex;font-size:12px;gap:4px;padding:4px 8px}.icon-btn-sm{background:none;border:none;color:hsl(var(--muted-foreground));cursor:pointer;padding:2px}.suggestions-list{display:flex;flex-direction:column;gap:12px}.suggestion-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:16px;transition:border-color .15s}.suggestion-status-new{border-left:3px solid #3b82f6}.suggestion-status-reviewed{border-left:3px solid #10b981}.suggestion-status-implemented{border-left:3px solid #6b7280}.suggestion-card-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:12px}.suggestion-user-info{align-items:center;display:flex;gap:8px}.suggestion-user-name{display:block;font-size:14px;font-weight:600}.suggestion-user-email{color:hsl(var(--muted-foreground));font-size:12px}.suggestion-meta{align-items:center;display:flex;gap:8px}.suggestion-date{color:hsl(var(--muted-foreground));font-size:12px}.suggestion-text{color:hsl(var(--foreground));font-size:14px;line-height:1.6}.suggestion-attachment,.suggestion-text{margin-bottom:12px}.suggestion-img{border:1px solid hsl(var(--border));border-radius:var(--radius);max-height:200px;max-width:300px;object-fit:cover}.suggestion-video{border-radius:var(--radius);max-height:240px;max-width:400px}.suggestion-actions{align-items:center;display:flex;gap:8px}.alert-success{background:#10b98118;border:1px solid #10b981;border-radius:var(--radius);color:#10b981;font-size:13px;padding:10px 16px}.job-modal-toolbar{align-items:center;display:flex;gap:8px;justify-content:flex-end;margin-bottom:16px}.template-picker-wrapper{position:relative}.template-dropdown{animation:fadeIn .1s;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);box-shadow:0 8px 24px #0000002e;min-width:220px;overflow:hidden;position:absolute;right:0;top:calc(100% + 4px);z-index:200}.template-dropdown-item{align-items:center;background:none;border:none;color:hsl(var(--foreground));cursor:pointer;display:flex;font-size:13px;gap:8px;padding:10px 14px;text-align:left;transition:background .1s;width:100%}.template-dropdown-item:hover,.template-field-count{background:hsl(var(--muted))}.template-field-count{border-radius:20px;color:hsl(var(--muted-foreground));font-size:11px;margin-left:auto;padding:2px 7px}.job-config-toggle{align-items:center;background:none;border:1px solid hsl(var(--border));border-radius:var(--radius);color:hsl(var(--muted-foreground));cursor:pointer;display:flex;font-size:12px;font-weight:500;gap:6px;padding:6px 12px;transition:all .15s}.job-config-toggle.active,.job-config-toggle:hover{background:hsl(var(--primary)/.05);border-color:hsl(var(--primary));color:hsl(var(--primary))}.field-config{animation:fadeIn .15s}.field-config-list{display:flex;flex-direction:column;gap:4px;margin-bottom:20px}.field-config-item{align-items:center;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);cursor:grab;display:flex;gap:10px;padding:10px 12px;transition:all .15s}.field-config-item:active{cursor:grabbing}.field-config-dragging{border-style:dashed;opacity:.5}.field-config-disabled{opacity:.45}.field-config-drag{color:hsl(var(--muted-foreground));cursor:grab;flex-shrink:0}.field-config-info{align-items:center;display:flex;flex:1 1;gap:8px}.field-config-label{font-size:13px;font-weight:600}.field-config-type{background:hsl(var(--muted));border-radius:4px;color:hsl(var(--muted-foreground));font-size:11px;padding:1px 6px}.field-config-actions{align-items:center;display:flex;gap:4px}.field-toggle-btn{background:none;border:none;border-radius:4px;color:hsl(var(--muted-foreground));cursor:pointer;padding:4px;transition:color .15s}.field-toggle-on{color:hsl(var(--primary))}.field-add-section{border-top:1px solid hsl(var(--border));padding-top:16px}.field-add-row{align-items:center;display:flex;gap:8px}.field-type-select{max-width:140px}.attachment-preview{background:hsl(var(--muted));border-radius:var(--radius);font-size:13px;padding:8px 12px}.attachment-preview,.attachment-upload{align-items:center;display:flex;gap:8px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.job-form-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr}.job-field-full{grid-column:1/-1}@media (max-width:560px){.job-form-grid{grid-template-columns:1fr}.job-field-full{grid-column:1}}.field-edit-wrapper{border:1.5px solid #0000;border-radius:var(--radius);padding:2px;position:relative;transition:border-color .15s}.field-edit-wrapper:hover{border-color:hsl(var(--border))}.field-edit-bar{align-items:center;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:6px;display:flex;gap:2px;opacity:0;padding:2px 3px;pointer-events:none;position:absolute;right:4px;top:4px;transition:opacity .15s;z-index:10}.field-edit-wrapper:focus-within .field-edit-bar,.field-edit-wrapper:hover .field-edit-bar{opacity:1;pointer-events:auto}.field-edit-content{pointer-events:none}.field-edit-disabled .field-edit-content{opacity:.38}.field-arrow-btn{align-items:center;background:none;border:none;border-radius:4px;color:hsl(var(--muted-foreground));cursor:pointer;display:flex;line-height:1;padding:3px 4px;transition:color .12s,background .12s}.field-arrow-btn:hover:not(:disabled){background:hsl(var(--muted));color:hsl(var(--foreground))}.field-arrow-btn:disabled{cursor:default;opacity:.3}.field-options-section{border-top:1px solid hsl(var(--border));margin-top:20px;padding-top:16px}.field-options-title{color:hsl(var(--muted-foreground));font-size:11px;font-weight:700;letter-spacing:.06em;margin-bottom:12px;text-transform:uppercase}.field-options-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}@media (max-width:560px){.field-options-grid{grid-template-columns:1fr}}.field-option-card{background:hsl(var(--muted)/.25);border:1.5px solid hsl(var(--border));border-radius:var(--radius);padding:6px 8px;position:relative;transition:border-color .15s}.field-option-card:hover{border-color:hsl(var(--primary)/.4)}.field-option-card-header{align-items:center;border-bottom:1px solid hsl(var(--border));display:flex;justify-content:space-between;margin-bottom:4px;padding-bottom:6px}.field-option-label{color:hsl(var(--muted-foreground));font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.field-option-placeholder{align-items:center;background:hsl(var(--muted));border-radius:var(--radius);color:hsl(var(--muted-foreground));display:flex;font-size:12px;gap:6px;padding:10px 8px;.faq-answer-content{color:hsl(var(--foreground));font-size:14px;line-height:1.7}.faq-answer-content p{margin:0 0 10px}.faq-answer-content ol.faq-steps{counter-reset:faq-step;list-style:none;margin:12px 0;padding:0}.faq-answer-content ol.faq-steps li{background:hsl(var(--muted)/.4);border-left:2px solid hsl(var(--border));border-radius:0 8px 8px 0;counter-increment:faq-step;margin-bottom:6px;padding:8px 12px 8px 44px;position:relative}.faq-answer-content ol.faq-steps li:before{align-items:center;background:hsl(var(--primary));border-radius:50%;color:hsl(var(--primary-foreground));content:counter(faq-step);display:flex;font-size:11px;font-weight:700;height:22px;justify-content:center;left:12px;position:absolute;top:8px;width:22px}.faq-answer-content ul.faq-list{margin:10px 0;padding-left:20px}.faq-answer-content ul.faq-list li{margin-bottom:6px}.faq-answer-content img.faq-screenshot{border:1px solid hsl(var(--border));border-radius:12px;box-shadow:0 4px 16px #0000001f;margin:14px 0;max-width:680px;width:100%}.faq-answer-content p.faq-tip{background:hsl(var(--primary)/.08);border-left:3px solid hsl(var(--primary))}.faq-answer-content p.faq-tip,.faq-answer-content p.faq-warning{border-radius:0 8px 8px 0;font-size:13px;margin:12px 0;padding:10px 14px}.faq-answer-content p.faq-warning{background:#fef3c7;border-left:3px solid #d97706;color:#92400e}.faq-answer-content code{background:hsl(var(--muted));border-radius:4px;font-family:monospace;font-size:13px;padding:2px 6px}}.admin-template-list{display:flex;flex-direction:column;gap:8px;margin-top:16px}.admin-template-row{align-items:center;background:hsl(var(--card));border:1.5px solid hsl(var(--border));border-radius:var(--radius);display:flex;gap:12px;padding:12px 14px;transition:border-color .15s}.admin-template-row.is-default{background:hsl(var(--primary)/.04);border-color:hsl(var(--primary)/.5)}.admin-template-name{font-size:14px;font-weight:600}.admin-template-meta{color:hsl(var(--muted-foreground));font-size:11px;margin-top:2px}.admin-template-actions{align-items:center;display:flex;flex-shrink:0;gap:6px}.admin-template-editor{animation:fadeIn .15s}.admin-template-editor-header{align-items:center;border-bottom:1px solid hsl(var(--border));display:flex;gap:10px;margin-bottom:16px;padding-bottom:16px}.admin-template-name-input{flex:1 1}.field-rename-bar{align-items:center;animation:fadeIn .1s;display:flex;gap:6px;padding:4px 6px 6px}.field-rename-input{background:hsl(var(--card));border:1.5px solid hsl(var(--primary)/.6);border-radius:var(--radius);color:hsl(var(--foreground));flex:1 1;font-size:13px;font-weight:600;outline:none;padding:4px 8px}.field-rename-input:focus{border-color:hsl(var(--primary))}.admin-password-cell{cursor:pointer;display:inline-block;filter:blur(5px);font-family:monospace;font-size:12px;max-width:120px;overflow:hidden;text-overflow:ellipsis;transition:filter .2s ease;-webkit-user-select:none;user-select:none;white-space:nowrap}.admin-password-cell.revealed{filter:none;-webkit-user-select:text;user-select:text}.admin-password-cell:hover{opacity:.85}.pricing-features-wip{list-style:none;margin:12px 0;padding:0}.pricing-wip-item{border:1px dashed hsl(var(--border));border-radius:var(--radius);color:hsl(var(--muted-foreground));font-size:12px;font-style:italic;padding:10px 14px;text-align:center}.theme-card-preview{border-radius:10px;display:flex;flex-direction:column;height:44px;overflow:hidden;width:44px}.theme-preview-primary{flex:0 0 60%}.theme-preview-accent{flex:1 1}.theme-card-name{color:hsl(var(--foreground));font-size:11px;font-weight:600;line-height:1.2;text-align:center}.theme-card-check{align-items:center;background:hsl(var(--primary));border-radius:50%;color:hsl(var(--primary-foreground));display:flex;height:18px;justify-content:center;position:absolute;right:6px;top:6px;width:18px}.theme-card{position:relative}.attachment-filename{color:hsl(var(--primary));flex:1 1;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.attachment-filename:hover{text-decoration:underline}.attachment-upload-btn{align-items:center;background:hsl(var(--muted));border:1.5px dashed hsl(var(--border));border-radius:var(--radius);color:hsl(var(--muted-foreground));cursor:pointer;display:inline-flex;font-size:13px;gap:7px;padding:8px 14px;transition:border-color .15s,color .15s}.attachment-upload-btn:hover{border-color:hsl(var(--primary));color:hsl(var(--primary))}.custom-color-field{align-items:center;display:flex;gap:10px}.custom-color-input{background:none;border:1.5px solid hsl(var(--border));border-radius:var(--radius);cursor:pointer;height:36px;padding:2px;width:44px}.custom-color-value{font-family:monospace}.custom-color-value,.team-member-preview{color:hsl(var(--muted-foreground));font-size:12px}.team-member-preview{align-items:center;display:flex;gap:6px;margin-top:6px}.initial-tasks-section{background:hsl(var(--muted)/.4);border:1.5px dashed hsl(var(--border));border-radius:var(--radius);margin-top:16px;padding:14px 16px}.initial-tasks-header{align-items:center;color:hsl(var(--foreground));display:flex;font-size:13px;font-weight:600;gap:6px;margin-bottom:10px}.initial-tasks-input-row{display:flex;gap:8px}.initial-tasks-list{display:flex;flex-direction:column;gap:4px;margin-top:8px}.initial-task-item{align-items:center;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);display:flex;font-size:13px;gap:7px;padding:6px 8px}.initial-task-title{color:hsl(var(--foreground));flex:1 1}.punchlist-attach-btn{align-items:center;background:none;border:1px dashed hsl(var(--border));border-radius:calc(var(--radius) - 2px);color:hsl(var(--muted-foreground));cursor:pointer;display:inline-flex;font-size:11px;gap:5px;margin-top:6px;padding:4px 8px;transition:color .15s,border-color .15s}.punchlist-attach-btn:hover{border-color:hsl(var(--primary));color:hsl(var(--primary))}.punchlist-attachment-row{margin-top:4px}.punchlist-attachment-link{color:hsl(var(--primary));font-size:11px;max-width:180px;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.punchlist-attachment-link:hover{text-decoration:underline}.punchlist-attach-remove{background:none;border:none;color:hsl(var(--muted-foreground));cursor:pointer;line-height:1;padding:2px}.punchlist-attach-remove:hover{color:hsl(var(--destructive))}.filter-tab-priority.active{background:hsl(var(--primary)/.15);border-color:hsl(var(--primary));color:hsl(var(--primary))}.filter-tab-client.active{background:hsl(var(--accent));color:hsl(var(--foreground))}.filter-tab-clear{align-items:center;border-style:dashed;color:hsl(var(--muted-foreground));display:flex;gap:4px}.filter-tab-clear:hover{border-color:hsl(var(--destructive));color:hsl(var(--destructive))}.guest-banner-exit-btn{align-items:center;background:none;border:1px solid hsl(var(--border));border-radius:var(--radius);color:hsl(var(--muted-foreground));cursor:pointer;display:flex;font-size:12px;gap:4px;padding:5px 10px;transition:color .15s,border-color .15s}.guest-banner-exit-btn:hover{border-color:hsl(var(--foreground));color:hsl(var(--foreground))}.field-placeholder{align-items:center;background:hsl(var(--muted));border:1.5px dashed hsl(var(--border));border-radius:var(--radius);color:hsl(var(--muted-foreground));display:flex;font-size:12px;gap:7px;padding:8px 12px}.upgrade-prompt-content{align-items:center;display:flex;flex-direction:column;padding:8px 0 0;text-align:center}.upgrade-prompt-icon{align-items:center;background:linear-gradient(135deg,hsl(var(--primary)/.15),hsl(var(--primary)/.05));border-radius:50%;color:hsl(var(--primary));display:flex;height:64px;justify-content:center;margin-bottom:16px;width:64px}.upgrade-prompt-title{font-size:20px;font-weight:700;margin-bottom:8px}.upgrade-prompt-subtitle{color:hsl(var(--muted-foreground));font-size:14px;margin-bottom:20px}.upgrade-prompt-tier-card{background:hsl(var(--primary)/.06);border:1.5px solid hsl(var(--primary)/.4);border-radius:var(--radius);margin-bottom:20px;padding:16px;width:100%}.upgrade-prompt-tier-name{color:hsl(var(--primary));font-size:15px;font-weight:700;margin-bottom:4px}.upgrade-prompt-tier-price{font-size:22px;font-weight:800;margin-bottom:10px}.upgrade-prompt-features{list-style:none;margin:0;padding:0;text-align:left}.upgrade-prompt-features li{align-items:center;color:hsl(var(--foreground));display:flex;font-size:13px;gap:8px;padding:3px 0}.upgrade-prompt-features li svg{color:hsl(var(--primary));flex-shrink:0}.upgrade-prompt-actions{align-items:center;display:flex;flex-direction:column;gap:10px;width:100%}.upgrade-prompt-dismiss{background:none;border:none;color:hsl(var(--muted-foreground));cursor:pointer;font-size:13px;padding:4px 8px}.upgrade-prompt-dismiss:hover{color:hsl(var(--foreground))}.upgrade-gate-field{align-items:center;background:hsl(var(--muted));border:1.5px dashed hsl(var(--border));border-radius:var(--radius);color:hsl(var(--muted-foreground));cursor:pointer;display:flex;font-size:13px;gap:8px;padding:10px 14px;transition:border-color .15s,color .15s;width:100%}.upgrade-gate-field:hover{border-color:hsl(var(--primary));color:hsl(var(--primary))}.topbar-actions{align-items:center;display:flex;float:right;gap:8px;margin-bottom:-40px;position:-webkit-sticky;position:sticky;right:16px;top:12px;z-index:50}.notification-bell{align-items:center;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:50%;box-shadow:0 1px 3px #0000000f;color:hsl(var(--foreground));cursor:pointer;display:flex;height:40px;justify-content:center;position:relative;transition:background .15s,box-shadow .15s;width:40px}.notification-bell:hover{background:hsl(var(--muted))}.notification-badge{align-items:center;background:#ef4444;border-radius:9px;color:#fff;display:flex;font-size:11px;font-weight:700;height:18px;justify-content:center;line-height:1;min-width:18px;padding:0 4px;position:absolute;right:-3px;top:-3px}.invites-panel{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);box-shadow:0 8px 30px #0000001f;overflow:hidden;position:absolute;right:0;top:48px;width:360px;z-index:100}.invites-panel-header{align-items:center;border-bottom:1px solid hsl(var(--border));display:flex;justify-content:space-between;padding:14px 16px}.invites-panel-header h4{font-size:15px;font-weight:700;margin:0}.invites-empty{align-items:center;color:hsl(var(--muted-foreground));display:flex;flex-direction:column;gap:8px;padding:32px 16px}.invites-empty p{font-size:13px;margin:0}.invites-list{max-height:400px;overflow-y:auto}.invite-card{border-bottom:1px solid hsl(var(--border));display:flex;flex-direction:column;gap:10px;padding:14px 16px}.invite-card:last-child{border-bottom:none}.invite-info{align-items:center;display:flex;gap:10px}.invite-from{color:hsl(var(--foreground));font-size:13px}.invite-workspace{color:hsl(var(--primary));font-size:14px;font-weight:600}.invite-actions{display:flex;gap:8px}.trash-pick-list{display:flex;flex-direction:column;gap:6px}.trash-pick-item{align-items:center;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);cursor:pointer;display:flex;font-size:13px;gap:10px;padding:10px 14px;transition:border-color .15s,background .15s}.trash-pick-item:hover{background:#ef43430f;border-color:#ef4444}.trash-pick-item span{flex:1 1;font-weight:500}.company-invite-section{background:hsl(var(--muted)/.5);border:1px solid hsl(var(--border));border-radius:var(--radius);margin-top:24px;padding:16px}.invite-form-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.invite-form-row .form-input{min-width:140px}.invite-status-badge{border-radius:9px;display:inline-block;font-size:11px;font-weight:600;padding:1px 8px;text-transform:capitalize}.invite-status-pending{background:#fef3c7;color:#92400e}.invite-status-accepted{background:#d1fae5;color:#065f46}.invite-status-denied{background:#fee2e2;color:#991b1b}.company-badge-managed{background:hsl(var(--primary)/.12);border-radius:9px;color:hsl(var(--primary));font-weight:600;padding:1px 8px}.company-badge-managed,.company-badge-managers{align-items:center;display:inline-flex;font-size:11px;gap:3px}.company-badge-managers{color:hsl(var(--muted-foreground))}@media (max-width:768px){.topbar-actions{right:12px;top:8px}.invites-panel{right:-4px;width:calc(100vw - 24px)}.btn,.company-trash-toggle,.icon-btn,.mobile-nav-item,.nav-item,.punchlist-add-toggle,.punchlist-advance-btn,.settings-tab{min-height:44px}.invite-form-row{flex-direction:column}.invite-form-row .form-input{min-width:100%}.punchlist-add-fields,.punchlist-add-form{gap:8px}.punchlist-add-field{min-width:100%}.settings-sidebar{border-bottom:1px solid hsl(var(--border));border-right:none;flex-direction:row;gap:4px;min-width:0;overflow-x:auto;padding-bottom:8px}.settings-tab{font-size:13px;padding:8px 12px;white-space:nowrap}.form-input,.form-select,select.form-input{font-size:16px;min-height:44px}textarea.form-input{min-height:66px}.company-item{align-items:flex-start;flex-direction:column;gap:10px;padding:14px}.company-item-actions{justify-content:flex-end;width:100%}.modal-box{margin:12px;max-height:calc(100vh - 24px)}.modal-body{padding:16px}}@media (max-width:480px){.page-title{font-size:20px}.pricing-grid,.punchlist-columns{grid-template-columns:1fr}.topbar-actions{right:8px;top:6px}}@media (min-width:769px) and (max-width:1024px){.btn,.form-input,.form-select,.icon-btn{min-height:40px}.invite-form-row{flex-wrap:wrap}}@media (min-width:1025px){.main-area{position:relative}.invites-panel{width:380px}}
/*# sourceMappingURL=main.f884c22a.css.map*/