body,html{animation:gradientShift 15s ease infinite;background:linear-gradient(-45deg,#f5f7fa,#e8ecf1,#f5f7fa,#e8ecf1);background-size:400% 400%;font-family:Inter,sans-serif;margin:0;min-height:100vh;padding:0;width:100%}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.auth-form{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:1.5rem 1rem 2rem}.auth-logo{animation:scaleInBounce .9s ease-out forwards;display:block;margin:0 auto 2rem;width:300px}@keyframes scaleInBounce{0%{opacity:0;transform:scale(.8)}60%{opacity:1;transform:scale(1.05)}to{transform:scale(1)}}.auth-card{animation:fadeSlideUp .8s ease-out forwards;animation-delay:.3s;background-color:#fff;border-radius:5pt;box-shadow:0 10px 30px #0000000d;max-width:480px;opacity:0;padding:2.5rem;text-align:center;transform:translateY(20px);width:100%}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-card h2{color:#1f2937;font-size:1.5rem;font-weight:600;margin-bottom:1.5rem}.auth-card input{border:1px solid #d1d5db;border-radius:5pt;display:block;font-size:1rem;line-height:1.5;margin:0 auto 1rem;outline:none;padding:.6rem 1rem;transition:box-shadow .2s ease,border-color .2s ease;width:90%}.auth-card input:focus{border-color:#a5d27d;box-shadow:0 0 0 3px #a5d27d40}.auth-card button{align-items:center;align-self:center;background:#a5d27d;border:none;border-radius:28px;box-shadow:0 6px 18px #20805014;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:700;gap:10px;justify-content:center;min-width:240px;padding:10px 18px;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease;width:min(100%,240px)}.auth-card button:hover{background-color:#93bb70;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.auth-card p{color:#374151;font-size:.9rem;margin-top:1rem}.auth-card p a{color:#2563eb;font-weight:600;text-decoration:none}.auth-secondary-link{margin:-.35rem auto .8rem;text-align:right;width:90%}.signup-card{max-width:760px}.signup-grid{grid-gap:.85rem;display:grid;gap:.85rem;grid-template-columns:repeat(2,minmax(0,1fr));margin:0 auto .25rem;width:90%}.signup-grid input{margin:0;width:100%}.signup-span-2{grid-column:span 2}.signup-card .form-check{margin-top:.25rem;width:90%}.form-check{align-items:center;display:flex;gap:8px;margin:0 auto 1rem;text-align:left;width:90%}.form-check input[type=checkbox]{accent-color:#a5d27d;flex:0 0 auto;height:16px;margin:0;width:16px}.form-check label{color:#333;cursor:pointer;flex:1 1;font-size:.85rem;line-height:1.4;min-width:0;word-break:break-word}.form-check.wrap{align-items:flex-start}.form-check.wrap input[type=checkbox]{translate:0 2px}.spinner{height:28px;width:28px}.spinner-wrapper{align-items:center;display:flex;justify-content:center;margin-top:1.5rem}.signing-in-card{padding-bottom:2rem;text-align:center}.signing-title{margin-bottom:.5rem}.signing-email{color:var(--muted-2);font-size:.95rem;margin-bottom:1.3rem}.spinner{animation:spin .7s linear infinite;border:3px solid #e0e0e0;border-radius:50%;border-top:3px solid var(--accent-strong,#007673);height:32px;width:32px}@media (max-height:760px){.auth-form{justify-content:flex-start;min-height:100dvh;padding-top:1rem}.auth-logo{margin-bottom:1rem;width:min(240px,70vw)}}@media (max-width:480px){.auth-form{justify-content:center;min-height:100dvh;padding:.875rem .75rem 1.5rem}.auth-logo{margin-bottom:.875rem;width:min(220px,68vw)}.auth-card{border-radius:12px;max-width:none;padding:1.25rem 1rem}.auth-card h2{font-size:1.25rem;margin-bottom:1rem}.auth-card input{font-size:16px;padding:.75rem .875rem}.auth-card button{min-height:44px;min-width:0;width:100%}.auth-card p{font-size:.85rem}.form-check{align-items:flex-start;gap:10px}.form-check input[type=checkbox]{margin-top:2px}.form-check label{font-size:.8rem}.signup-card{max-width:none}.signup-grid{grid-template-columns:1fr;width:100%}.signup-span-2{grid-column:auto}.signup-card .form-check{width:100%}}@media (max-width:480px) and (max-height:760px){.auth-form{justify-content:flex-start}}@media (prefers-reduced-motion:reduce){.auth-card,.auth-logo,.spinner,body,html{animation:none!important}}.plans-logo-row{display:flex;justify-content:center;margin-bottom:16px}.plans-logo{height:68px;opacity:.95;width:auto}.plans-page{animation:fadeIn .6s ease;margin:0 auto;max-width:1100px;padding:80px 24px 96px}.plans-header{margin-bottom:56px;text-align:center}.plans-title{font-size:28px;font-weight:600}.plans-cards{grid-gap:40px;display:grid;gap:40px;grid-template-columns:repeat(2,1fr);margin-bottom:48px}.plan-card{border:1px solid #e5e7eb;border-radius:14px;cursor:pointer;padding:32px;position:relative;transition:transform .25s ease,box-shadow .25s ease,border-color .25s}.plan-card:focus-visible{outline:2px solid #6f8f49;outline-offset:2px}.plan-card:hover{box-shadow:0 14px 32px #0000000f;transform:translateY(-4px)}.plan-card.selected{border-color:#9fd37a;box-shadow:0 0 0 2px #9fd37a59}.plan-card.premium{border-width:2px}.badge{background:#00a29e;border-radius:999px;color:#fff;font-size:12px;padding:6px 12px;position:absolute;right:20px;top:-14px}.price{font-size:28px;font-weight:600}.price .annual{display:block;font-weight:700;margin-top:4px}.save{color:#00a29e;font-size:13px;margin:12px 0}.per-user{font-weight:600;margin-bottom:8px}.description{color:#4b5563;margin-bottom:24px}.choose-btn{background:#9fd37a;border:none;border-radius:999px;color:#fff;cursor:pointer;font-weight:600;padding:12px;width:100%}.choose-btn:focus-visible{outline:2px solid #6f8f49;outline-offset:2px}.plans-compare{border-top:1px solid #e5e7eb}.compare-row{align-items:center;border-bottom:1px solid #e5e7eb;display:grid;grid-template-columns:1fr 3fr 1fr;padding:14px 0;text-align:center}.compare-row .label{font-weight:500}.plans-footer{margin-top:48px;text-align:center}.continue-btn{background:#a5d27d;border:none;border-radius:999px;color:#fff;font-size:16px;padding:14px 36px;transition:transform .25s ease,box-shadow .25s ease,border-color .25s}.continue-btn:hover{box-shadow:0 14px 32px #0000000f;transform:translateY(-2px)}.continue-btn:disabled{cursor:not-allowed;opacity:.4}.plans-billing-toggle{display:flex;gap:12px;justify-content:center;margin:24px 0 40px}.plans-billing-toggle button{background:#fff;border:1px solid #e5e7eb;border-radius:999px;color:#374151;cursor:pointer;font-weight:500;padding:10px 18px;transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease,opacity .2s ease}.plans-billing-toggle button:hover{background:#f9fafb}.plans-billing-toggle button.active{background:#1a1a1a;border-color:#1a1a1a;color:#fff}.plans-page{min-height:100vh;overflow-x:hidden}.plans-page,.plans-scroll,body{overflow-y:auto}.plans-scroll{height:100vh;overflow-x:hidden;overscroll-behavior:contain}.plans-page{min-height:100%;padding-bottom:64px}@media (max-height:900px),(max-width:1200px){.plans-title{font-size:1.75rem}.plans-cards{gap:20px}.plan-card{padding:20px}.price span{font-size:1.25rem}.plans-compare{margin-top:32px}}@media (max-width:900px){.plans-logo{height:58px}.plans-cards{grid-template-columns:1fr;margin:0 auto;max-width:520px}.plan-card{width:100%}.plans-billing-toggle{margin-bottom:28px}.compare-row{font-size:.9rem}}@media (max-width:480px){.plans-logo-row{justify-content:center;margin-bottom:10px}.plans-logo{height:48px}.plans-scroll{height:auto;min-height:100dvh;overscroll-behavior:auto}.plans-page{padding:16px 12px 28px}.plans-title{font-size:1.4rem;text-align:center}.plans-billing-toggle{flex-direction:column;gap:8px}.plans-billing-toggle button{width:100%}.plan-card{padding:16px;width:100%}.badge{font-size:11px;padding:5px 10px;right:12px;top:-12px}.description,.save{font-size:.9rem}.price span{font-size:1.15rem}.choose-btn,.continue-btn{width:100%}.plans-compare{font-size:.85rem}.compare-row{align-items:flex-start;gap:8px;grid-template-columns:24px 1fr 24px;padding:10px 0;text-align:left}.compare-row .label{line-height:1.35;text-align:left}}.compare-mark{font-size:20px;font-weight:700}.compare-mark.yes{color:#6f8f49}.compare-mark.no{color:#d33a32}*,:after,:before{box-sizing:border-box}.demo-floating-logo{height:100px;left:32px;opacity:.95;position:fixed;top:10px;z-index:10}.demo-page{animation:fadeIn .5s ease;margin:0 auto;max-width:1100px;padding:80px 24px 96px}.demo-title{font-size:28px;font-weight:600;margin-bottom:56px;text-align:center}.demo-layout{grid-gap:64px;align-items:flex-start;display:grid;gap:64px;grid-template-columns:1fr 1fr}.demo-info{animation:slideUp .5s ease forwards;animation-delay:.1s;max-width:480px;opacity:0}.demo-icon{align-items:center;border:2px solid #00a29e;border-radius:10px;color:#00a29e;display:flex;font-size:18px;height:40px;justify-content:center;margin-bottom:24px;width:40px}.demo-info h3,.demo-section{margin-bottom:20px}.demo-section p{color:#4b5563;margin-top:4px}.demo-form{animation:slideUp .5s ease forwards;animation-delay:.2s;border-radius:14px;opacity:0;padding:32px}.demo-form h3{margin-bottom:24px}.demo-form input{border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 0 0 1px #93bb7026;font-size:14px;margin-bottom:16px;padding:12px 14px;transition:border-color .2s ease,box-shadow .2s ease,transform .15s ease;width:100%}.demo-form input:hover{border-color:#c7dcb5}.demo-form input:focus{border-color:#a5d27d;box-shadow:0 0 0 1px #93bb7059,0 0 0 4px #93bb702e;outline:none;transform:translateY(-1px)}.demo-next-btn{background:#9fd37a;border:none;border-radius:999px;color:#fff;cursor:pointer;display:block;font-weight:600;margin:12px auto 0;padding:14px;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease;width:50%}.demo-next-btn:hover{box-shadow:0 10px 20px #00000014;transform:translateY(-1px)}.demo-next-btn:active{box-shadow:0 6px 12px #0000001f;transform:translateY(0)}.demo-skip-wrapper{margin-top:14px;text-align:center}.demo-skip{background:none;border:none;color:#6b7280;cursor:pointer;font-size:13px;transition:color .15s ease}.demo-skip span{color:#00a29e}.demo-skip:hover span{text-decoration:underline}@media (max-width:900px){.demo-floating-logo{height:72px;left:16px;top:8px}.demo-page{padding:72px 20px 40px}.demo-title{font-size:24px;margin-bottom:28px}.demo-layout{gap:28px;grid-template-columns:1fr}.demo-info{max-width:none}.demo-form{background:#fff;border:1px solid #e5e7eb;padding:24px}.demo-next-btn{width:100%}}@media (max-width:480px){.demo-floating-logo{display:none}.demo-page{padding:16px 12px 24px}.demo-title{font-size:1.4rem;margin-bottom:18px}.demo-layout{gap:18px}.demo-icon{font-size:14px;height:34px;width:34px}.demo-form h3,.demo-icon,.demo-info h3,.demo-section{margin-bottom:14px}.demo-form{border-radius:12px;padding:16px}.demo-form input{font-size:16px;padding:12px}.demo-next-btn{margin-top:6px;min-height:44px}.demo-skip{font-size:12px;line-height:1.35}}.checkout-floating-logo{height:100px;left:32px;opacity:.95;position:fixed;top:10px}.checkout-page{animation:fadeIn .4s ease;margin:0 auto;max-width:600px;min-height:100vh;padding:80px 24px}.checkout-page h1{margin-bottom:40px;text-align:center}.checkout-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:32px}.checkout-summary{margin-bottom:24px}.checkout-summary strong{font-size:20px}.checkout-card button{background:#a5d27d;border:none;border-radius:999px;color:#fff;cursor:pointer;font-weight:600;margin-top:24px;padding:14px;width:100%}.checkout-card button:disabled{cursor:not-allowed;opacity:.65}.checkout-card form{display:flex;flex-direction:column}.checkout-card .StripeElement{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:14px}.checkout-error{color:#b91c1c;font-size:14px;margin-top:12px}@media (max-width:640px){.checkout-floating-logo{display:block;height:56px;margin:12px auto 0;position:static}.checkout-page{min-height:auto;padding:16px 12px 28px}.checkout-page h1{font-size:1.35rem;line-height:1.25;margin-bottom:20px}.checkout-card{border-radius:12px;padding:16px}.checkout-summary{margin-bottom:18px}.checkout-summary h3{font-size:1.05rem;margin:0 0 6px}.checkout-summary p{color:#4b5563;font-size:.95rem;margin:0 0 8px}.checkout-summary strong{font-size:18px}.checkout-card .StripeElement{padding:12px}.checkout-card button{font-size:16px;min-height:44px}}:root{--sb-width:220px;--sb-bg:#fff;--sb-border:#ececec;--sb-hover:#f5f5f5;--sb-active:#e8f7ed;--sb-text:#1a1a1a;--sb-text-muted:#6b7280;--transition:0.22s ease}.sidebar button{background:none;border:none;font-family:inherit;margin:0;outline:none;padding:0}.nav-expand,.nav-item{align-items:center;border-radius:10px;border-radius:var(--radius);box-sizing:border-box;color:#1a1a1a;color:var(--sb-text);cursor:pointer;display:flex;font-size:15px;font-weight:500;justify-content:space-between;overflow:hidden;padding:10px 14px!important;position:relative;text-decoration:none;transition:background .25s ease,color .2s ease;width:100%}.nav-expand:hover,.nav-item:hover{background:#0000000a}.nav-item.active{background:#e8f7ed;background:var(--sb-active);color:#000;font-weight:600}.nav-expand.active:before,.nav-item.active:before{background:#007673;border-radius:20px;bottom:4px;content:"";left:0;position:absolute;top:4px;transform:scaleY(1);transform-origin:top;transition:transform .28s ease;width:3px}.nav-expand .chev{font-size:13px;margin-left:auto;opacity:.6;transition:transform .22s ease,opacity .22s ease;transition:transform var(--transition),opacity var(--transition)}.nav-expand.open .chev{opacity:1;transform:rotate(90deg)}.nav-sub-item,.sidebar .sub{font-size:14px;opacity:.85;padding-left:28px!important}.sidebar{background:var(--sb-bg);border-right:1px solid #ececec;border-right:1px solid var(--sb-border);box-sizing:border-box;display:flex;flex-direction:column;font-family:Inter,sans-serif;padding:28px 16px;transition:transform .22s ease,box-shadow .22s ease;transition:transform var(--transition),box-shadow var(--transition);width:var(--sb-width);z-index:1200}@media (min-width:861px){.sidebar{box-shadow:none!important}}.sidebar .logo{align-items:center;display:flex;justify-content:center;margin-bottom:32px;width:100%}.sidebar .logo img{animation:logoFade .6s ease forwards;height:35px;object-fit:contain;opacity:.95;opacity:0;transform:scale(.97)}@keyframes logoFade{to{opacity:1;transform:scale(1)}}.sidebar nav{display:flex;flex-direction:column;gap:4px;width:100%}.sidebar nav .nav-expand,.sidebar nav .nav-item{animation:sidebarItemFade .45s ease forwards;opacity:0;transform:translateY(6px)}@keyframes sidebarItemFade{to{opacity:1;transform:translateY(0)}}.sidebar nav .nav-item:first-child{animation-delay:.05s}.sidebar nav .nav-expand:nth-child(2){animation-delay:.1s}.sidebar nav .nav-item:nth-child(3){animation-delay:.15s}.sidebar nav .nav-item:nth-child(4){animation-delay:.2s}.sidebar nav .nav-expand:nth-child(5){animation-delay:.25s}.sidebar nav .nav-item:nth-child(6){animation-delay:.3s}.nav-expand:after,.nav-item:after{background:#0000000f;border-radius:50%;content:"";height:0;left:50%;opacity:0;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .35s ease,height .35s ease,opacity .3s ease;width:0}.nav-expand:hover:after,.nav-item:hover:after{height:180%;opacity:1;width:180%}.sidebar-toggle{border-radius:10px;border-radius:var(--radius);box-shadow:0 4px 14px #0000002e;padding:10px 12px;transition:background .22s ease,box-shadow .22s ease;transition:background var(--transition),box-shadow var(--transition);z-index:1400}.sidebar-toggle:hover{background:#93bb70}@media (max-width:860px){.sidebar-toggle{align-items:center;display:flex;justify-content:center}.sidebar{opacity:0;transform:translateX(-100%);transition:transform .32s cubic-bezier(.16,1,.3,1),opacity .32s ease}.sidebar.open{opacity:1;transform:translateX(0)}}.sidebar-overlay{background:#0f172a40;transition:opacity .22s ease;transition:opacity var(--transition);z-index:1190}.sidebar-footer{border-top:1px solid #ececec;border-top:1px solid var(--sb-border);padding-top:16px}@media (max-width:860px){.sidebar-footer{display:block}}.nav-footer-link{border-radius:6px;color:#1a1a1a;color:var(--sb-text);cursor:pointer;display:block;font-size:14px;padding:8px 4px;text-decoration:none}.nav-footer-link:hover{background:#0000000a;color:#007673}.projects-slideout{display:flex;flex-direction:column;font-family:Inter,sans-serif;height:100vh;overflow:hidden;padding-bottom:20px;top:0;z-index:1400}.projects-header{border-bottom:1px solid #eee;padding:1rem}.projects-header h3{color:#111827;font-size:1.2rem;font-weight:700}.close-btn{color:#555;font-size:1.4rem;line-height:1}.close-btn:hover{color:#000}.projects-search-container{padding:.8rem 0 .6rem}.projects-search-wrapper{max-width:260px;width:90%}.projects-search-wrapper input{padding:10px 38px 10px 14px}.projects-list-wrap{flex:1 1;padding:.5rem 0}.project-item{margin:0}.project-link{border-left:4px solid #0000;color:#222;font-size:14px;padding:10px 16px;text-decoration:none;transition:background .2s,border-color .2s}.project-link:hover{background:#f6f7f8}.project-item.selected .project-link{background:#eef2f1;border-left-color:#a5d27d}.no-projects{color:#777;font-size:13px;padding:12px 16px}.add-new{align-items:center;background:#62794e;border-radius:999px;box-shadow:0 2px 6px #00000014;color:#fff;display:flex;font-size:.95rem;font-weight:600;gap:8px;justify-content:center;margin:16px;padding:10px 14px;text-decoration:none;transition:background .25s,transform .15s}.add-new .plus{font-size:18px;line-height:0}.add-new:hover{background:#93bb70;transform:translateY(-1px)}.add-new:active{transform:translateY(0)}.projects-error,.projects-loading{color:#666;font-size:13px;padding:10px 16px}@media (max-width:860px){.projects-slideout{border-right:none;box-shadow:0 6px 18px #0000002e;left:0;max-width:360px;transform:translateX(-100%);width:100%}.projects-slideout.open{transform:translateX(0)}}.planner-slideout,.projects-slideout{z-index:3000}.projects-search-container{background:#fff;display:flex;justify-content:center;padding:.9rem 1rem}.projects-search-wrapper{max-width:270px;width:100%}.projects-search-wrapper input{background:#f8f9fa;border:1px solid #ddd;border-radius:999px;box-sizing:border-box;color:#222;font-size:.95rem;outline:none;padding:10px 38px 10px 16px;transition:border-color .2s,box-shadow .2s,background .2s}.projects-search-wrapper input:focus{background:#fff;border-color:#a5d27d;box-shadow:0 0 0 3px #a5d27d40}.projects-search-icon{color:#888;height:18px;pointer-events:none;right:14px;width:18px}.projects-filter-row{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border,#e5e7eb);padding:8px 16px 12px}.filter-btn{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--border,#e5e7eb);border-radius:8px;color:#374151;cursor:pointer;font-size:13px;font-weight:500;height:34px;transition:background-color .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease,opacity .15s ease;width:100%}.filter-btn:hover{background:#f9fafb}.filter-btn.active{background:#e8f7ed;background:var(--accent-soft,#e8f7ed);border-color:#0fb48b;border-color:var(--accent-strong,#0fb48b);color:#0fb48b;color:var(--accent-strong,#0fb48b)}.project-item.inactive{opacity:.45}@media (max-width:860px){.planner-slideout,.projects-slideout{border-right:1px solid #e5e7eb;box-shadow:8px 0 28px #00000029;height:100vh;height:100dvh;max-width:92vw;width:min(92vw,380px)}.projects-search-wrapper{max-width:none}}.support-chat-widget{--support-accent:#a5d27d;--support-accent-dark:#6f9150;--support-accent-deep:#58753e;--support-accent-soft:#eef7e4;--support-ink:#22311a;align-items:flex-end;bottom:1.25rem;display:flex;flex-direction:column;gap:.75rem;position:fixed;right:1.25rem;z-index:3600}.support-chat-launcher{align-items:center;background:linear-gradient(135deg,var(--support-accent-dark),var(--support-accent));border:0;border-radius:999px;box-shadow:0 16px 38px #0a272242;color:#fff;cursor:pointer;display:inline-flex;gap:.55rem;overflow:hidden;padding:.9rem 1.1rem;position:relative}.support-chat-launcher.open{background:linear-gradient(135deg,var(--support-accent-deep),var(--support-accent-dark))}.support-chat-launcher:after{background:linear-gradient(135deg,#ffffff2e,#0000 58%);border-radius:inherit;content:"";inset:1px;pointer-events:none;position:absolute}.support-chat-badge{align-items:center;background:var(--support-accent);border-radius:999px;box-shadow:0 6px 16px #a5d27d57;color:var(--support-ink);display:inline-flex;font-size:.75rem;font-weight:700;height:1.35rem;justify-content:center;min-width:1.35rem}.support-chat-panel{background:#fffdf8;border:1px solid #6f915033;border-radius:22px;box-shadow:0 24px 64px #141f1c38;display:grid;grid-template-rows:auto 1fr auto;max-height:min(72vh,620px);overflow:hidden;transform-origin:bottom right;width:min(360px,calc(100vw - 1.5rem))}.support-chat-header{align-items:flex-start;background:linear-gradient(180deg,var(--support-accent-soft),#fffdf8);border-bottom:1px solid #6f91501f;display:flex;gap:1rem;justify-content:space-between;padding:1rem 1rem .85rem}.support-chat-header p{color:#5f6f69;font-size:.86rem;margin:.25rem 0 0}.support-chat-header button{background:#0000;border:0;color:#34534c;cursor:pointer}.support-chat-body{background:radial-gradient(circle at top,#a5d27d29,#0000 38%),#fffdf8;overflow-y:auto;padding:1rem}.support-chat-empty{background:#a5d27d29;border-radius:18px;color:#52615b;font-size:.92rem;line-height:1.5;margin:0;padding:1rem}.support-chat-message{display:flex;margin-bottom:.9rem}.support-chat-message.own{justify-content:flex-end}.support-chat-message.reply{justify-content:flex-start}.support-chat-bubble{background:#f2f3ef;border-radius:18px;color:#17211f;max-width:88%;padding:.8rem .9rem}.support-chat-message.own .support-chat-bubble{background:linear-gradient(135deg,var(--support-accent-dark),var(--support-accent-deep));border-bottom-right-radius:6px;color:#fff}.support-chat-message.reply .support-chat-bubble{border-bottom-left-radius:6px}.support-chat-meta{display:flex;font-size:.73rem;gap:.75rem;justify-content:space-between;margin-bottom:.35rem;opacity:.8}.support-chat-bubble p{font-size:.92rem;line-height:1.45;margin:0;white-space:pre-wrap}.support-chat-images{grid-gap:.45rem;display:grid;gap:.45rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:.65rem}.support-chat-images a{display:block}.support-chat-images img{aspect-ratio:1/1;border:1px solid #00000014;border-radius:12px;object-fit:cover;width:100%}.support-chat-composer{background:#fff;border-top:1px solid #6f91501f;padding:.85rem 1rem 1rem}.support-chat-composer textarea{background:#fffdf8;border:1px solid #6f91503d;border-radius:16px;font:inherit;padding:.8rem .9rem;resize:none;width:100%}.support-chat-pending{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.65rem}.support-chat-chip{align-items:center;background:var(--support-accent-soft);border:0;border-radius:999px;color:var(--support-accent-deep);cursor:pointer;display:inline-flex;gap:.35rem;padding:.45rem .7rem}.support-chat-status{font-size:.83rem;margin:.5rem 0 0}.support-chat-status.error{color:#b64141}.support-chat-actions{display:flex;gap:.65rem;justify-content:space-between;margin-top:.75rem}.support-chat-actions button{align-items:center;background:var(--support-accent-dark);border:0;border-radius:999px;color:#fff;cursor:pointer;display:inline-flex;font-weight:600;gap:.45rem;justify-content:center;padding:.75rem .95rem}.support-chat-actions button.ghost{background:var(--support-accent-soft);color:var(--support-accent-deep)}@media (max-width:640px){.support-chat-widget{align-items:stretch;bottom:.75rem;left:.75rem;right:.75rem}.support-chat-panel{width:auto}.support-chat-launcher{align-self:flex-end}}@media (max-width:860px){.support-chat-widget{align-items:stretch;bottom:.75rem;left:.75rem;right:.75rem}.support-chat-panel{width:auto}.support-chat-launcher{align-self:flex-end}}#root,body,html{background:#f9fafb;color:#1e1e1e;font-family:Inter,sans-serif;margin:0}.dashboard-layout-wrapper{--top-header-height:64px;background:#fff;display:flex;flex-direction:column;height:100vh;overflow:hidden}.sidebar{background:#fff;border-right:1px solid #e5e7eb;height:100vh;left:0;position:fixed;top:0;transition:transform .3s ease;width:220px;z-index:3000}@media (max-width:860px){.sidebar{box-shadow:0 6px 18px #0000002e;max-width:320px;transform:translateX(-100%);width:85%}.sidebar.open{transform:translateX(0)}}.sidebar-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a59;display:none;inset:0;opacity:0;position:fixed;transition:opacity .25s ease;z-index:1500}.sidebar-overlay.show{display:block;opacity:1}.sidebar-toggle{background:#62794e;border:none;border-radius:8px;box-shadow:0 4px 14px #62794e40;color:#fff;cursor:pointer;display:none;left:16px;padding:8px 10px;position:fixed;top:16px;transition:background .2s;z-index:3000}.sidebar-toggle:hover{background:#a5d27d}@media (max-width:860px){.sidebar-toggle{align-items:center;display:flex;justify-content:center}}.top-header{align-items:center;-webkit-backdrop-filter:none;backdrop-filter:none;display:flex;height:var(--top-header-height);justify-content:space-between;left:220px;padding:0 28px;position:fixed;right:0;top:0;transition:background .3s ease,border-color .3s ease,box-shadow .3s ease;z-index:2500}.top-header,.top-header.scrolled{background:#fff;border-bottom:1px solid #e5e7eb}.top-header.scrolled{box-shadow:0 1px 4px #0000000a}@media (max-width:860px){.top-header{left:0;padding-left:72px}}.search-bar{align-items:center;background:#f8fafcb3;border:1px solid #e2e8f099;border-radius:999px;box-shadow:none;display:flex;gap:8px;padding:6px 10px;transition:box-shadow .25s ease,transform .2s ease;width:240px}.search-bar:focus-within{box-shadow:0 0 14px #a5d27dcc;transform:translateY(-1px)}.search-bar input{background:#0000;border:none;color:#1f2937;font-size:.9rem;outline:none;width:100%}.search-submit{align-items:center;background:#0000;border:none;color:#475569;cursor:pointer;display:inline-flex;justify-content:center;padding:0}.search-submit:hover{color:#1f2937}.header-right{align-items:center;display:flex;gap:16px}.header-right button{background:#f5f6f9b3;border:1px solid #e5e8edb3;border-radius:6px;box-shadow:none;color:#111;cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 14px;transform:translateY(0);transition:background .2s ease,box-shadow .25s ease,transform .2s ease}.header-right button:hover{box-shadow:0 0 12px #a5d27dcc;transform:translateY(-2px)}.settings-btn{background:#f5f6f9b3!important;border:1px solid #e5e8edb3!important;box-shadow:none!important;color:#111!important;transform:translateY(0)!important;transition:box-shadow !important .25s ease,transform .2s ease!important}.settings-btn:hover{box-shadow:0 0 12px #a5d27dcc!important;transform:translateY(-2px)!important}@media (max-width:860px){.header-right button{display:none}}.main-content{background:#fafafa;flex:1 1;height:100vh;margin-left:220px;overflow-y:auto;padding-top:var(--top-header-height);position:relative;transition:margin-left .3s ease;z-index:1}.dashboard-layout.planner-open .main-content,.dashboard-layout.projects-open .main-content,.dashboard-layout.timebilling-open .main-content{margin-left:520px}@media (max-width:860px){.main-content{margin-left:0;padding-top:var(--top-header-height)}}.sidebar-footer{border-top:1px solid #e5e7eb;display:none;margin-top:auto;padding:1rem 1.25rem}@media (max-width:860px){.sidebar-footer{display:flex;flex-direction:column;gap:6px}.sidebar-footer a{color:#333;display:block;font-size:.95rem;padding:8px 0;text-decoration:none}.sidebar-footer a:hover{color:#007673}}.profile-btn{align-items:center;background:none;border:none;border-radius:8px;cursor:pointer;display:flex;padding:6px}.profile-btn:hover{background:#0000000f}.profile-dropdown{animation:fadeIn .18s ease-out;background:#fff;border:1px solid #eee;border-radius:10px;box-shadow:0 6px 20px #0000001f;display:flex;flex-direction:column;padding:6px 0;position:absolute;right:0;top:42px;width:160px;z-index:2000}.profile-dropdown button{background:none;border:none;cursor:pointer;font-size:14px;padding:10px 14px;text-align:left}.profile-dropdown button:hover{background:#0000000d}.signout-btn{color:#b91c1c}.top-header{padding-right:50px!important}.search-results{background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 8px 22px #0000001a;left:0;max-height:280px;overflow-y:auto;position:absolute;top:42px;width:280px;z-index:2000}.search-result-item{cursor:pointer;display:flex;flex-direction:column;padding:10px 12px}.search-result-item:hover{background:#f5f5f5}.search-result-item span{color:#777;font-size:12px}body,html{height:auto;overflow-x:hidden;overflow-y:auto}#root,body,html{min-height:100%}.dashboard-layout-wrapper{min-height:100vh;min-height:100dvh}.dashboard-layout{display:flex;flex:1 1;min-height:0}.main-content>*{min-width:0}.top-header{gap:12px;padding-right:20px!important}.search-bar{flex:1 1 320px;min-width:0;position:relative;width:min(420px,100%)}.header-right{flex:0 0 auto}.header-right .profile-btn{display:inline-flex}.search-results{max-width:min(420px,calc(100vw - 32px));width:100%}.main-content{height:auto;min-height:0;overflow-x:hidden;overscroll-behavior:contain}@media (max-width:1240px) and (min-width:861px){.dashboard-layout.planner-open .main-content,.dashboard-layout.projects-open .main-content,.dashboard-layout.timebilling-open .main-content{margin-left:220px}}@media (max-width:860px){.dashboard-layout-wrapper{height:auto;min-height:100vh;min-height:100dvh}.top-header{align-items:center;gap:10px;height:auto;min-height:var(--top-header-height);padding:10px 12px 10px 64px}.search-bar{flex:1 1 auto;width:100%}.search-bar input{font-size:16px;min-width:0}.header-right{gap:8px}.header-right button{display:none}.header-right .profile-btn{display:inline-flex;padding:8px}.profile-dropdown{right:0;top:calc(100% + 6px);width:min(220px,calc(100vw - 24px))}.search-results{left:0;max-height:min(50vh,360px);right:0;top:calc(100% + 6px);width:auto}.main-content{height:auto;min-height:calc(100vh - var(--top-header-height));min-height:calc(100dvh - var(--top-header-height));padding-top:calc(var(--top-header-height) + 8px)}}@media (max-width:560px){.top-header{padding-left:58px;padding-right:10px!important}.sidebar-toggle{left:12px;padding:8px;top:12px}.search-bar{padding:6px 8px}.search-bar input::placeholder{font-size:.85rem}}.dashboard-root{display:flex;flex-direction:column;height:calc(100vh - 60px);overflow:hidden}.summary-card{min-height:88px;padding:14px 16px}.summary-value{font-size:20px}.recent-projects-card{flex:0 0 auto}.project-slide{flex:0 0 240px}.project-cover{height:120px}.dashboard-grid{flex:1 1;grid-auto-rows:minmax(0,1fr);min-height:0}.card-header h4{line-height:1.2;margin:0}.card-header .muted{display:block;line-height:1.2;margin-left:0;margin-top:4px}.chart-box{height:clamp(170px,22vh,220px)}.invoices-metrics{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin:8px 0 10px}.invoice-metric{background:#fafafa;border:1px solid #eef1f2;border-radius:8px;padding:10px 12px}.invoices-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:8px}.invoices-actions .dashboard-btn,.procurement-actions .dashboard-btn{transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease}.invoices-actions .dashboard-btn:hover,.procurement-actions .dashboard-btn:hover{box-shadow:0 10px 18px #14281e1f;transform:translateY(-1px)}.invoices-actions .dashboard-btn:active,.procurement-actions .dashboard-btn:active{box-shadow:0 6px 12px #14281e1f;transform:translateY(0)}.procurement-metrics{margin:8px 0 10px}.procurement-actions{margin-bottom:8px}.procurement-chart{height:clamp(160px,20vh,200px)}.agenda-table{max-height:clamp(140px,18vh,220px)}.agenda-assignees{color:#6f7478;color:var(--muted);font-size:12px;max-width:200px}@media (max-width:980px){body,html{overflow-y:auto}.dashboard-root{height:auto;overflow:visible;padding-bottom:40px}.project-summary-row{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.invoices-metrics,.procurement-metrics{grid-template-columns:1fr}}:root{--text:#222;--muted-2:#8a9094;--accent-strong:#9ec46c;--surface-border:#eef1f2;--card-border:#e7eaec;--shadow:0 12px 28px #0a1e140a;--shadow-subtle:0 6px 18px #0a1e140a}body,html{background:#fff;background:var(--bg);height:100%;overflow:hidden}.dashboard-root{box-sizing:border-box;color:#222;color:var(--text);font-family:Inter,system-ui,sans-serif;margin:0;max-width:none;min-height:calc(100vh - 60px);padding:24px 32px}.project-summary-row{grid-gap:18px;grid-gap:var(--gap);display:grid;flex-shrink:0;gap:18px;gap:var(--gap);grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:18px;margin-bottom:var(--gap)}.summary-card{background:#fff;background:var(--card-bg);border:1px solid #e7eaec;border:1px solid var(--card-border);border-radius:10px;border-radius:var(--radius);box-shadow:0 6px 18px #0a1e140a;box-shadow:var(--shadow-subtle);display:flex;flex-direction:column;justify-content:center;min-height:96px;padding:16px 18px}.summary-title{color:#8a9094;color:var(--muted-2);font-size:12px;letter-spacing:.04em;margin-bottom:6px;text-transform:uppercase}.summary-value{font-size:22px;font-weight:700;margin-bottom:4px}.summary-sub{color:#8a9094;color:var(--muted-2);font-size:12px}.recent-projects-card{margin-bottom:0}.recent-projects-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.recent-projects-controls{display:flex;gap:8px}.slider-btn{background:#fff;border:1px solid #e7eaec;border:1px solid var(--card-border);border-radius:8px;color:#4b5563;cursor:pointer;font-size:18px;height:34px;line-height:1;transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease;width:34px}.slider-btn:hover{background:#f8fafc;border-color:#d7dde2}.recent-projects-slider{display:flex;gap:16px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x mandatory}.recent-projects-slider::-webkit-scrollbar{height:6px}.recent-projects-slider::-webkit-scrollbar-thumb{background:#e3e7ea;border-radius:999px}.project-slide{color:inherit;flex:0 0 260px;scroll-snap-align:start;text-decoration:none}.project-cover{border:1px solid #0000000f;height:150px}.project-cover.no-cover{background:linear-gradient(135deg,#e9eef2,#f7f8f9)}.project-overlay{background:linear-gradient(180deg,#0000,#16202aa6);color:#fff;inset:auto 0 0 0;padding:12px 14px;position:absolute}.project-name{font-size:14px;font-weight:600}.recent-projects-empty{color:#6f7478;color:var(--muted);font-size:13px;padding:8px 0}.dashboard-grid{grid-gap:18px;grid-gap:var(--gap);display:grid;gap:18px;gap:var(--gap);grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.card{border:1px solid #e7eaec;border-radius:10px;border-radius:var(--radius);box-shadow:0 6px 18px #0a1e140a;box-sizing:border-box;min-width:0;padding:16px 20px}.card-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:8px}.card-body{flex:1 1;min-height:0;min-width:0}.card-body,.chart-box{align-items:center;display:flex;justify-content:center}.chart-box{height:230px;position:relative;width:100%}.recharts-responsive-container{height:100%!important;width:100%!important}.recharts-wrapper{align-items:center;display:flex;justify-content:center}.recharts-surface{overflow:visible!important}.dashboard-btn{background:#fff;border:1px solid #d8dde2;border-radius:999px;color:#1f2937;cursor:pointer;font-size:12px;font-weight:600;padding:8px 14px;transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease;white-space:nowrap}.dashboard-btn.primary{background:#62794e;border-color:#0000;color:#fff}.dashboard-btn.primary:hover{background:#7ea35d}.dashboard-btn.subtle:hover{background:#f6f7f8}.dashboard-btn:disabled{cursor:not-allowed;opacity:.5}.accounts-footer{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-top:8px}.accounts-metric{display:flex;flex-direction:column}.accounts-amount{color:#1f2937;font-size:18px;font-weight:700}.accounts-label{color:#6f7478;color:var(--muted);font-size:12px}.procurement-metrics{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin:10px 0 12px}.procurement-metric{background:#fafafa;border:1px solid #eef1f2;border-radius:8px;padding:10px 12px}.metric-label{color:#6f7478;color:var(--muted);font-size:12px}.metric-value{color:#1f2937;font-size:16px;font-weight:700;margin-top:4px}.procurement-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.procurement-chart{height:210px}.card-heading{font-size:15px;font-weight:600;margin-bottom:10px}.agenda-table{flex:1 1;max-height:260px;overflow-y:auto}.agenda-table-inner{border-collapse:collapse;width:100%}.agenda-table-inner thead th{color:#6f7478;color:var(--muted);font-size:13px;padding:10px 8px;text-align:left}.agenda-table-inner td,.agenda-table-inner thead th{border-bottom:1px solid #eef1f2;border-bottom:1px solid var(--surface-border)}.agenda-table-inner td{padding:12px 8px;vertical-align:middle}.agenda-task{font-weight:600}.agenda-project{color:#6f7478;color:var(--muted);font-size:13px}.agenda-empty{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;min-height:180px;text-align:center}.agenda-empty-title{color:#111827;font-size:1rem;font-weight:600;margin-bottom:4px}.agenda-empty-sub{color:#6b7280;font-size:.85rem}.card,.summary-card{transition:transform .2s ease}.card:hover,.summary-card:hover{transform:translateY(-2px)}@media (max-height:950px){.chart-box{height:210px}.summary-value{font-size:20px}.agenda-table{max-height:220px}}@media (max-width:1180px){body,html{overflow-y:auto}.dashboard-root{height:auto;padding-bottom:40px}.project-summary-row{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.procurement-metrics{grid-template-columns:1fr}}@media (max-width:880px){.project-summary-row{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.project-slide{flex:0 0 220px}}@media (max-width:720px){.project-summary-row{grid-template-columns:1fr}.summary-value{font-size:20px}.dashboard-root{padding:16px}.recent-projects-header{gap:10px}.accounts-footer,.recent-projects-header{align-items:flex-start;flex-direction:column}}@keyframes dashPageIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.dashboard-root{animation:dashPageIn .45s ease-out}@keyframes cardFadeUp{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.card,.summary-card{animation:cardFadeUp .45s ease forwards;opacity:0}.summary-card:first-child{animation-delay:.05s}.summary-card:nth-child(2){animation-delay:.12s}.summary-card:nth-child(3){animation-delay:.18s}.summary-card:nth-child(4){animation-delay:.24s}.summary-card:nth-child(5){animation-delay:.3s}.recent-projects-card{animation-delay:.36s}.accounts-card{animation-delay:.44s}.procurement-card{animation-delay:.52s}.agenda-card{animation-delay:.6s}@keyframes chartIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.chart-box{animation:chartIn .55s ease-out}@keyframes agendaRowFade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.agenda-table-inner tbody tr{animation:agendaRowFade .35s ease forwards;opacity:0}.agenda-table-inner tbody tr:first-child{animation-delay:.1s}.agenda-table-inner tbody tr:nth-child(2){animation-delay:.16s}.agenda-table-inner tbody tr:nth-child(3){animation-delay:.22s}.agenda-table-inner tbody tr:nth-child(4){animation-delay:.28s}.agenda-table-inner tbody tr:nth-child(5){animation-delay:.32s}.agenda-table-inner tbody tr:nth-child(n+6){animation-delay:.36s}.card,.summary-card{transition:transform .25s ease,box-shadow .25s ease}.card:hover,.summary-card:hover{box-shadow:0 16px 28px #00000014;transform:translateY(-3px)}.dashboard-grid .recharts-legend-wrapper{margin-top:8px;position:static!important}.dashboard-grid .recharts-wrapper{flex-direction:column}.chart-legend{color:#6f7478;color:var(--muted);display:flex;flex-wrap:wrap;font-size:12px;gap:14px;justify-content:center;list-style:none;margin:10px 0 0;padding:0}.chart-legend li{align-items:center;display:inline-flex;gap:6px}.chart-legend .legend-swatch{border-radius:3px;display:inline-block;height:10px;width:10px}@media (max-height:920px){body,html{overflow-y:auto}.dashboard-root{padding:18px 26px}.dashboard-grid{gap:14px}.card{padding:12px 16px}.card-header{margin-bottom:6px}.chart-box{height:170px}.procurement-chart{height:155px}.procurement-metrics{gap:8px;margin:6px 0 8px}.procurement-metric{padding:8px 10px}.invoices-metrics{gap:8px;margin:6px 0 8px}.invoice-metric{padding:8px 10px}.agenda-table{max-height:170px}.agenda-table-inner td,.agenda-table-inner th{padding:8px 6px}.agenda-empty{min-height:140px}}.accounts-card .card-body,.procurement-card .card-body{flex:1 1;min-height:0}.project-slide{position:relative;transition:transform .35s cubic-bezier(.22,1,.36,1)}.project-slide:after{background:radial-gradient(120% 120% at 50% 80%,#9ec46c47,#0000 60%);border-radius:14px;content:"";inset:-2px;opacity:0;pointer-events:none;position:absolute;transition:opacity .35s ease}.project-slide:hover{transform:translateY(-4px)}.project-slide:hover:after{opacity:1}.project-overlay{transition:background .35s ease}.project-name{transition:transform .35s cubic-bezier(.22,1,.36,1),opacity .35s ease}.project-slide:hover .project-name{transform:translateY(-2px)}.project-cover{transition:transform .5s cubic-bezier(.22,1,.36,1),box-shadow .35s ease}.project-slide:hover .project-cover{box-shadow:0 14px 32px #14281e2e;transform:scale(1.04)}.agenda-card{grid-column:1/-1}.agenda-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:10px}.agenda-header .card-heading{margin-bottom:0}.agenda-controls{flex-wrap:wrap;gap:10px}.agenda-controls,.agenda-sort{align-items:center;display:flex}.agenda-sort{color:#6f7478;color:var(--muted);font-size:12px;gap:8px}.agenda-sort select{background:#fff;border:1px solid #e7eaec;border:1px solid var(--card-border);border-radius:8px;color:#1f2937;font-size:12px;padding:6px 10px}.card-subrow{display:flex;justify-content:flex-start;margin:6px 0 8px}.project-picker{align-items:center;color:#6f7478;color:var(--muted);display:flex;font-size:12px;gap:8px}.project-picker select{background:#fff;border:1px solid #e7eaec;border:1px solid var(--card-border);border-radius:8px;color:#1f2937;font-size:12px;padding:6px 10px}@media (max-width:1180px){.project-summary-row{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:880px){.project-summary-row{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.agenda-card{grid-column:auto}}@media (max-width:720px){.project-summary-row{grid-template-columns:1fr}.agenda-header{align-items:flex-start;flex-direction:column}.agenda-controls{width:100%}}.dashboard-root{gap:14px;height:auto;min-height:0;min-width:0;overflow:visible;padding:clamp(14px,2vw,24px);width:100%}.dashboard-root .page-title{line-height:1.15;margin:0}.agenda-controls,.agenda-header,.card-header,.card-subrow,.recent-projects-header{min-width:0}.project-summary-row{grid-template-columns:repeat(6,minmax(0,1fr))}.dashboard-grid{align-items:stretch;grid-template-columns:repeat(2,minmax(0,1fr))}.card,.invoice-metric,.procurement-metric,.summary-card{min-width:0}.metric-value,.summary-value{overflow-wrap:anywhere}.dashboard-btn{max-width:100%}.invoices-actions .dashboard-btn,.procurement-actions .dashboard-btn{flex:1 1 220px;line-height:1.25;text-align:center;white-space:normal}.card-subrow{flex-wrap:wrap;row-gap:8px}.project-picker{flex-wrap:wrap;min-width:0}.agenda-sort select,.project-picker select{max-width:100%;min-width:0}.agenda-controls{justify-content:flex-end}.agenda-sort{min-width:0}.agenda-table{max-width:100%;overflow:auto}.agenda-table-inner{min-width:640px}.agenda-assignees,.agenda-project,.agenda-task{overflow-wrap:anywhere}@media (max-width:1280px){.project-summary-row{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.agenda-card{grid-column:auto}}@media (max-width:1024px){.dashboard-root{padding:16px}.invoices-metrics,.procurement-metrics{gap:8px;grid-template-columns:1fr}.chart-box{height:clamp(180px,34vw,220px)}}@media (max-width:768px){.project-summary-row{grid-template-columns:repeat(2,minmax(0,1fr))}.recent-projects-header{align-items:flex-start;flex-direction:column;gap:8px}.recent-projects-controls{align-self:stretch;justify-content:flex-end}.project-slide{flex-basis:min(70vw,240px)}.agenda-header{align-items:flex-start;flex-direction:column}.agenda-controls{justify-content:flex-start;width:100%}}@media (max-width:560px){.project-summary-row{grid-template-columns:1fr}.card,.summary-card{padding:14px}.dashboard-btn{width:100%}.invoices-actions,.procurement-actions{gap:8px}.chart-box{height:180px}.chart-legend{gap:10px;justify-content:flex-start}.agenda-sort{justify-content:space-between;width:100%}.agenda-sort select{flex:1 1 auto}.agenda-table-inner{min-width:560px}}@media (hover:none) and (pointer:coarse){.card:hover,.project-slide:hover,.project-slide:hover .project-cover,.summary-card:hover{box-shadow:inherit;transform:none}}@media (prefers-reduced-motion:reduce){.agenda-table-inner tbody tr,.card,.chart-box,.dashboard-root,.project-cover,.project-name,.project-slide,.summary-card{animation:none!important;transition:none!important}}.dashboard-root{gap:18px;gap:var(--gap)}.dashboard-root>.dashboard-grid,.dashboard-root>.project-summary-row,.dashboard-root>.recent-projects-card{margin:0}.dashboard-grid,.project-summary-row,.recent-projects-slider{gap:18px;gap:var(--gap)}.project-slide{flex:0 0 calc(16.66667% - 15px);flex:0 0 calc(16.66667% - var(--gap)*5/6)}@media (max-width:1280px){.project-slide{flex-basis:calc(33.33333% - 12px);flex-basis:calc(33.33333% - var(--gap)*2/3)}}@media (max-width:768px){.project-slide{flex-basis:calc(50% - 9px);flex-basis:calc((100% - var(--gap))/2)}}@media (max-width:560px){.project-slide{flex-basis:100%}}.ps-page{--ps-bg:#f7f8fa;--ps-surface:#fff;--ps-border:#e7e9ee;--ps-border-strong:#d9dde3;--ps-text:#1f2937;--ps-muted:#6b7280;--ps-muted-2:#9aa0a6;--ps-accent:#7ca65c;--ps-accent-strong:#62794e;--ps-radius:14px;--ps-radius-sm:10px;--ps-shadow:0 16px 30px #0f172a0f;--ps-shadow-soft:0 8px 18px #0f172a0d;animation:psFadeIn .4s cubic-bezier(.22,1,.36,1);color:var(--ps-text);padding:1.5rem 1.75rem}.ps-page *{box-sizing:border-box}.ps-page .header-row{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px}.ps-page .section-title{font-size:24px;font-weight:600;letter-spacing:-.01em}.ps-page .record-add-btn{align-items:center;background:#62794e;border:none;border-radius:999px;box-shadow:0 6px 18px #62794e26;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:700;gap:8px;height:34px;padding:0 14px;transition:background .25s ease,box-shadow .25s ease,transform .15s ease}.ps-page .record-add-btn:hover{background:#a5d27d;box-shadow:0 8px 24px #62794e40;transform:translateY(-1px)}.ps-page .record-add-btn:active{box-shadow:0 4px 12px #62794e26;transform:translateY(0)}.ps-page .search-wrapper{margin-bottom:14px;max-width:360px;position:relative}.ps-page .search-icon{color:var(--ps-muted-2);left:14px;position:absolute;top:50%;transform:translateY(-50%)}.ps-page .search-input{background:#ececec;border:1px solid #0000;border-radius:999px;color:var(--ps-text);height:34px;padding:0 16px 0 40px;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;width:100%}.ps-page .search-input::placeholder{color:var(--ps-muted-2)}.ps-page .search-input:focus{background:#fff;border-color:#a5d27d;box-shadow:0 0 0 2px #a5d27d47;outline:none}.ps-page .filter-bar{align-items:center;background:var(--ps-bg);border:1px solid var(--ps-border);border-radius:var(--ps-radius);display:flex;gap:12px;margin-bottom:16px;padding:10px 12px}.ps-page .filter-label{align-items:center;color:var(--ps-muted);display:inline-flex;font-size:12px;gap:6px;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.ps-page .filter-icon{height:14px;width:14px}.ps-page .filter-controls{display:flex;flex-wrap:wrap;gap:8px}.ps-page .filter-controls select{-webkit-appearance:none;appearance:none;background-color:#fff;background-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%2712%27 height=%278%27 viewBox=%270 0 12 8%27 fill=%27none%27><path d=%27M1 1.5L6 6.5L11 1.5%27 stroke=%27%236b7280%27 stroke-width=%271.5%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/></svg>");background-position:right 12px center;background-repeat:no-repeat;border:1px solid var(--ps-border-strong);border-radius:999px;color:var(--ps-text);min-width:140px;padding:8px 36px 8px 12px;transition:border-color .2s ease,box-shadow .2s ease,transform .15s ease,background-color .2s ease}.ps-page .filter-controls select:hover{background-color:#f9fbf6;border-color:#a5d27d;transform:translateY(-1px)}.ps-page .filter-controls select:focus{border-color:#a5d27d;box-shadow:0 0 0 3px #a5d27d33;outline:none;transform:translateY(0)}.ps-page .filter-controls select:active{box-shadow:inset 0 1px 3px #0000001f;transform:translateY(0)}.ps-page .overflow-x-auto{background:var(--ps-surface);border:1px solid var(--ps-border);border-radius:var(--ps-radius);box-shadow:var(--ps-shadow-soft);overflow-x:auto;overflow-y:hidden}.ps-page .products-table{border-collapse:initial;border-spacing:0;width:100%}.ps-page .products-table td,.ps-page .products-table th{border-bottom:1px solid var(--ps-border);font-size:13px;padding:14px;text-align:left;vertical-align:middle}.ps-page .products-table thead{background:#f4f6f8;color:var(--ps-muted);font-size:11px;letter-spacing:.05em;text-transform:uppercase}.ps-page .products-table thead th{border-bottom:1px solid var(--ps-border-strong)}.ps-page .products-table tbody tr{cursor:pointer;transition:background .2s ease,transform .2s ease}.ps-page .products-table tbody tr:hover{background:#f8fafb}.ps-page .products-table tbody tr:last-child td{border-bottom:none}.ps-page .image-wrapper{align-items:center;background:#f3f4f6;border:1px solid var(--ps-border);border-radius:12px;display:flex;height:72px;justify-content:center;overflow:hidden;position:relative;width:72px}.ps-page .thumbnail{height:100%;object-fit:cover;transition:transform .35s cubic-bezier(.22,1,.36,1);width:100%}.ps-page .image-wrapper:hover .thumbnail{transform:scale(1.03)}.ps-page .favorite-star{background:#ffffffe6;border-radius:999px;box-shadow:0 6px 12px #0f172a26;opacity:0;padding:4px;position:absolute;right:6px;top:6px;transition:opacity .2s ease,transform .2s ease}.ps-page .image-wrapper:hover .favorite-star{opacity:1;transform:translateY(-1px)}.ps-page .star-icon{color:#bfa129}.ps-page .no-image{align-items:center;background:#f8f9fb;border:1px dashed var(--ps-border-strong);border-radius:12px;color:var(--ps-muted-2);display:inline-flex;font-size:12px;height:72px;justify-content:center;width:72px}.ps-page .link-icon{color:var(--ps-muted);height:18px;transition:color .2s ease,transform .2s ease;width:18px}.ps-page .products-table a{text-decoration:none}.ps-page .ps-icon-btn{align-items:center;background:#0000;border:none;cursor:pointer;display:inline-flex;justify-content:center;padding:0}.ps-page .link-icon:hover,.ps-page .ps-icon-btn:hover .link-icon,.ps-page a:hover .link-icon{color:var(--ps-accent-strong);transform:translateY(-1px)}.ps-page .truncate{color:#374151;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ps-page .pagination-controls{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:16px}.ps-page .pagination-button{background:#fff;border:1px solid var(--ps-border);border-radius:var(--ps-radius-sm);color:var(--ps-text);cursor:pointer;min-width:38px;padding:8px 12px;transition:background .2s ease,color .2s ease,transform .15s ease,box-shadow .15s ease}.ps-page .pagination-button:hover{background:#eef5e6;box-shadow:0 6px 14px #00000014;transform:translateY(-2px)}.ps-page .pagination-button:active{box-shadow:inset 0 2px 6px #0000001f;transform:translateY(0)}.ps-page .pagination-button.active{background:#a5d27d;border-color:#0000;color:#fff}.ps-page .pagination-button.active:hover{box-shadow:none;transform:none}.ps-page .pagination-button:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}.ps-page .modal-overlay{align-items:center;animation:psBackdropIn .25s ease-out;background:#0f172a59;display:flex;inset:0;justify-content:center;opacity:1;padding:40px 0;pointer-events:auto;position:fixed;z-index:9999}.ps-page .modal-content{animation:psModalIn .35s cubic-bezier(.22,1,.36,1);background:#fff;border-radius:16px;box-shadow:0 24px 50px #0f172a33;max-width:800px;width:95%}@keyframes psFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes psBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes psModalIn{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.ps-page .products-table tbody tr{animation:psRowIn .4s cubic-bezier(.22,1,.36,1) forwards;opacity:0;transform:translateY(6px)}@keyframes psRowIn{to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.ps-page,.ps-page .modal-content,.ps-page .modal-overlay,.ps-page .products-table tbody tr{animation:none}}@media (max-width:1024px){.ps-page{padding:1.25rem}.ps-page .header-row{align-items:flex-start;flex-direction:column}.ps-page .search-wrapper{max-width:100%}}@media (max-width:720px){.ps-page{padding:1rem}.ps-page .filter-bar{align-items:flex-start;flex-direction:column}.ps-page .filter-controls select{min-width:100%}}.item-grid{grid-gap:14px 16px;display:grid;gap:14px 16px;grid-template-columns:repeat(2,minmax(0,1fr))}.item-grid .field-group{display:flex;flex-direction:column;gap:5px}.item-grid .required-note{color:#6b7280;font-size:12px;font-weight:500;margin-bottom:-2px}.item-grid .field-label{color:#4b5563;font-size:11px;font-weight:600;letter-spacing:.01em;line-height:1.2}.item-grid .required-mark{color:#b42318}.item-grid .field-error{color:#b42318;font-size:12px}.item-grid .full{grid-column:1/-1}.item-grid input,.item-grid select,.item-grid textarea{-webkit-appearance:none;appearance:none;background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#111827;font-size:14px;padding:10px 12px;transition:border-color .12s ease,box-shadow .12s ease;width:100%}.item-grid .field-group>input,.item-grid .field-group>select,.item-grid .field-group>textarea{margin:0}.inline-row{align-items:end;display:flex;gap:10px;grid-column:1/-1}.inline-row input{flex:1 1}.inline-action{background:#fff;border:1px solid #e5e7eb;border-radius:999px;color:#374151;cursor:pointer;font-size:13px;font-weight:600;min-height:40px;padding:8px 16px;transition:background .12s ease,border-color .12s ease,color .12s ease}.inline-action:hover{background:#f3f4f6;border-color:#d1d5db;color:#111827}.item-grid input::placeholder,.item-grid textarea::placeholder{color:#9ca3af}.item-grid input:focus,.item-grid select:focus,.item-grid textarea:focus{border-color:#7ca65c;box-shadow:0 0 0 3px #96ff9b26;outline:none}.item-grid input[aria-invalid=true],.item-grid select[aria-invalid=true],.item-grid textarea[aria-invalid=true]{border-color:#b42318;box-shadow:0 0 0 2px #b423181a}.product-form .dimensions-row{display:flex;gap:10px;grid-column:1/-1}.product-form .dimensions-row input{flex:1 1;text-align:center}.service-form .dimensions-row{display:none}.image-upload{align-items:center;display:flex;gap:12px;grid-column:1/-1}.image-upload input[type=file]{background:#f9fafb;padding:6px}.image-upload input[type=file]::-webkit-file-upload-button{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;font-size:12px;font-weight:600;margin-right:10px;padding:6px 10px}.image-upload input[type=file]::file-selector-button{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;font-size:12px;font-weight:600;margin-right:10px;padding:6px 10px}.image-preview{display:flex;grid-column:1/-1;justify-content:center;margin-top:10px}.image-preview img{background:#fafafa;border:1px solid #e5e7eb;border-radius:10px;max-height:140px}.item-actions{display:flex;gap:10px;grid-column:1/-1;justify-content:flex-end;margin-top:12px}.item-actions .cancel{background:#fff;border:1px solid #e5e7eb;border-radius:999px;color:#374151;padding:8px 14px}.item-actions .primary{background:#62794e;border:none;border-radius:999px;color:#fff;padding:8px 14px}.item-actions button{cursor:pointer;font-weight:500;transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .15s ease;will-change:transform}.item-actions .cancel:hover{background:#f9fafb;border-color:#d1d5db;box-shadow:0 4px 12px #0000000f;transform:translateY(-1px)}.item-actions .cancel:active{box-shadow:0 2px 6px #00000014;transform:translateY(0)}.item-actions .primary:hover{background:#556a45;box-shadow:0 8px 18px #62794e59;transform:translateY(-1px)}.item-actions .primary:active{box-shadow:0 4px 10px #62794e4d;transform:translateY(0)}.item-actions button:focus-visible{box-shadow:0 0 0 2px #fff,0 0 0 4px #62794e73;outline:none}.aim{color:#111827;display:flex;flex-direction:column;gap:0;max-height:calc(100vh - 160px)}.aim-header{align-items:center;background:#fafbfc;border-bottom:1px solid #eef1f4;display:flex;justify-content:space-between;padding:18px 22px}.aim-header h2{font-size:16px;font-weight:600;letter-spacing:-.01em;margin:0}.aim-close{background:#fff;border:1px solid #e5e7eb;border-radius:999px;color:#6b7280;cursor:pointer;font-size:18px;height:30px;line-height:1;transition:background .15s ease,color .15s ease,border-color .15s ease;width:30px}.aim-close:hover{background:#f3f4f6;border-color:#d1d5db;color:#111827}.aim-tabs{background:#f3f4f6;border-radius:999px;display:inline-flex;gap:4px;margin:14px 22px 0;padding:6px}.aim-tabs button{background:#0000;border:none;border-radius:999px;color:#6b7280;cursor:pointer;font-size:13px;font-weight:600;padding:6px 14px;transition:background .12s ease,color .12s ease}.aim-tabs button.active{background:#fff;box-shadow:0 1px 2px #0000000f;color:#111827}.aim-body{overflow-y:auto;padding:18px 22px 22px}@media (max-width:720px){.aim{max-height:calc(100vh - 120px)}.aim-header{padding:16px 18px}.aim-tabs{margin:12px 18px 0}.aim-body{padding:16px 18px 18px}}:root{--page-max-width:2000px;--muted-border:#e9ecef;--card-radius:10px;--accent-strong:#62794e;--shadow:0 12px 30px #0e1e250f;--gap:16px;--cell-pad:14px;--small-font:13px;--pill-height:34px}.record-section{margin:0 auto 28px;max-width:2000px;max-width:var(--page-max-width);padding:12px;width:100%}.record-top-row{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:16px}.record-title{color:#111;font-size:20px;font-weight:700;margin:0}.record-controls{align-items:center;display:flex;gap:10px}.record-search{background:#ececec;border:1px solid #0000;border-radius:999px;box-sizing:border-box;font-size:14px;height:34px;height:var(--pill-height);outline:none;padding:0 12px;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease;width:340px}.record-search::placeholder{color:#9aa0a6}.record-search:focus{background:#fff;border-color:#a5d27d;box-shadow:0 0 0 2px #a5d27d47}.record-add-btn{align-items:center;background:#62794e;border:none;border-radius:999px;box-shadow:0 6px 18px #62794e26;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:700;gap:8px;height:34px;height:var(--pill-height);padding:0 14px;transition:background .25s ease,box-shadow .25s ease,transform .15s ease}.record-add-btn:hover{background:#a5d27d;box-shadow:0 8px 24px #62794e40;transform:translateY(-1px)}.record-add-btn:active{box-shadow:0 4px 12px #62794e26;transform:translateY(0)}.record-add-btn:focus{outline:2px solid #a5d27d;outline-offset:2px}.record-card{background:#fff;background:var(--card-bg);border:1px solid #e9ecef;border:1px solid var(--muted-border);border-radius:12px;box-shadow:0 12px 30px #0e1e250f;box-shadow:var(--shadow);padding:18px}.record-metrics{align-items:stretch;display:flex;gap:18px;margin-bottom:14px}.record-metric{background:linear-gradient(180deg,#fbfbfb,#fff);border:1px solid #00000008;border-radius:8px;display:flex;flex:1 1;flex-direction:column;justify-content:center;min-height:62px;padding:14px}.record-metric-value{color:#222;font-size:20px;font-weight:700}.record-metric-label{color:#6f7478;color:var(--muted);font-size:13px;margin-top:6px}.record-table-wrap{border-top:1px solid #f1f1f1;margin-top:10px}.record-table{border-collapse:collapse;font-size:14px;table-layout:fixed;width:100%}.record-table thead th{border-bottom:1px solid #eef0f2;color:#6f7478;color:var(--muted);font-size:13px;font-size:var(--small-font);font-weight:700;padding:12px 10px;text-align:left;vertical-align:middle}.record-table tbody td{border-bottom:1px solid #f3f5f6;color:#333;padding:12px 10px;vertical-align:middle}.record-row:hover{background:#fbfcfd}.record-empty,.record-error{color:#6f7478;color:var(--muted);padding:18px}.record-error{color:#b00020}.sort-icon{color:#9aa0a6;margin-left:6px;vertical-align:middle}.sort-icon.active{color:#333}@media (max-width:1100px){.record-section{padding:8px}.record-search{width:220px}.record-metrics{flex-direction:column}}@media (max-width:700px){.record-controls{align-items:flex-end;flex-direction:column;gap:8px}.record-search{max-width:360px;width:100%}.record-table thead th.col-vendor{width:160px}}.record-refresh-banner{align-items:center;animation:fadeInOut 2s ease forwards;background:#eef7ee;border-radius:6px;box-shadow:0 0 8px #4b805a26;color:#4b805a;display:inline-flex;font-size:13px;font-weight:500;justify-content:center;margin:8px auto 0;padding:6px 12px;text-align:center;width:-webkit-fit-content;width:fit-content}.spin{animation:spin 1s linear infinite}@keyframes fadeInOut{0%{opacity:0;transform:translateY(-4px)}10%,80%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}.primary-action{background:#62794e;background:var(--accent-strong,#007673);border:none;border-radius:6px;color:#62794e;font-weight:600;padding:6px 12px;transition:background .25s}.primary-action:hover{background:#009d98;background:var(--accent-hover,#009d98)}.menu-toggle{background:#0000;border:none;border-radius:6px;padding:4px;transition:background .2s}.menu-toggle:hover{background:#0000000f}.menu-dropdown{border-radius:6px;box-shadow:0 4px 12px #00000026;display:none;top:100%}.menu-dropdown.open{display:flex}.menu-dropdown button{padding:8px 12px;transition:background .2s}.actions-wrapper{align-items:center;display:flex;gap:6px;position:relative}.primary-action{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#1e1e1e;cursor:pointer;font-size:13px;font-weight:500;line-height:1.2;padding:6px 14px;transition:background-color .25s ease,color .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease,opacity .25s ease}.primary-action:hover{background:#f8f9fa;border-color:#c5c9ce}.menu-container{position:relative}.menu-toggle{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:8px;cursor:pointer;display:flex;height:32px;justify-content:center;padding:6px;transition:background-color .25s ease,color .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease,opacity .25s ease;width:32px}.menu-toggle:hover{background:#f8f9fa;border-color:#c5c9ce}.menu-dropdown{background:#fff;border-radius:8px;box-shadow:0 8px 24px #00000014;display:flex;flex-direction:column;min-width:160px;opacity:0;pointer-events:none;position:absolute;right:0;top:110%;transform:translateY(-6px);transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease,opacity .2s ease;z-index:10}.menu-dropdown.open{opacity:1;pointer-events:auto;transform:translateY(0)}.menu-dropdown button{background:none;border:none;color:#333;cursor:pointer;font-size:13px;padding:10px 14px;text-align:left;transition:background .2s ease}.menu-dropdown button:hover{background:#0000000d}.menu-toggle svg{transition:transform .2s ease}.menu-toggle:hover svg{transform:rotate(90deg)}.retainers-table td,.retainers-table th{white-space:nowrap}.retainers-table .desc-cell{position:relative}.retainer-popover{background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 8px 28px #0000001f;padding:.8rem 1rem;position:absolute;transform:translateY(6px);width:240px;z-index:50}.retainer-popover:before{background:#fff;border-left:1px solid #e5e7eb;border-top:1px solid #e5e7eb;content:"";height:12px;left:20px;position:absolute;top:-6px;transform:rotate(45deg);width:12px}.retainer-popover h4{color:#1a1a1a;font-size:.85rem;font-weight:700;margin:0 0 6px}.retainer-popover h4 span{color:#6b7280;font-weight:500;margin-left:3px}.retainer-popover ul{list-style:none;margin:0;padding:0}.retainer-popover li{align-items:center;color:#374151;display:flex;font-size:.8rem;gap:6px;margin:4px 0}.retainer-popover li span{color:#9ca3af;font-size:.75rem}.credits-table td,.credits-table th{white-space:nowrap}.record-subtext{color:#6f7478;color:var(--muted);font-size:.85rem;margin-bottom:.5rem;margin-top:.3rem}.info-btn{background:#0000;border:none;border-radius:4px;color:#62794e;cursor:pointer;margin-left:6px;padding:2px;transition:background .15s ease}.info-btn:hover{background:#e8f7ed}.credit-popover{border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 8px 28px #0000001f;padding:.8rem 1rem;transform:translateY(6px);width:240px;z-index:50}.credit-popover:before{background:#fff;border-left:1px solid #e5e7eb;border-top:1px solid #e5e7eb;content:"";height:12px;left:20px;position:absolute;top:-6px;transform:rotate(45deg);width:12px}.credit-popover h4{color:#1a1a1a;font-size:.85rem;font-weight:700}.credit-popover h4 span{color:#6b7280;font-weight:500;margin-left:3px}.credit-popover li{color:#374151;font-size:.8rem;margin:4px 0}.credit-popover li span{color:#9ca3af;font-size:.75rem}.status-chip{border-radius:999px;display:inline-block;font-size:12px;font-weight:500;padding:2px 10px;text-transform:capitalize}.status-draft{background:#f2f2f2;color:#555}.status-open{background:#e9f8e3;color:#3b873e}.status-pending{background:#fff7e0;color:#9a7a00}.status-closed,.status-complete,.status-received{background:#e4e9f5;color:#3a61c3}.status-no-status{background:#eee;color:#666}.tags-inline{color:#333;color:var(--text,#333);display:inline-block;font-size:13px;font-weight:500;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.record-table td,.tags-inline{text-align:left;vertical-align:middle}.desc-cell{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.desc-cell:hover{white-space:normal}.folio-cell{padding:6px 0}.folio-item{margin-bottom:4px}.folio-item.child{margin-left:18px}.folio-icon.branch,.folio-icon.folder{color:#007673}.folio-text{color:#1a1a1a;font-size:14px}.folio-text strong{font-weight:600}.folio-folder-img{height:18px;object-fit:contain}.folio-cell{display:flex;flex-direction:column;gap:6px;min-width:240px}.folio-item{align-items:center;color:#111827;display:flex;font-size:.85rem;gap:6px;line-height:1.25rem}.folio-folder-img{opacity:.9;width:18px}.folio-icon-btn{align-items:center;background:#0000;border:none;cursor:pointer;display:inline-flex;justify-content:center;padding:0}.folio-icon-btn:hover .folio-folder-img{opacity:1}.folio-icon.branch{color:#4b5563;flex-shrink:0}.folio-item.child{border-left:1px solid #e5e7eb;margin-left:22px;padding-left:8px}.folio-link{color:#007673;font-weight:500;text-decoration:none;transition:.15s ease}.folio-link:hover{color:#005d59;text-decoration:underline}.credit-popover{background:#fff;border-radius:8px;box-shadow:0 8px 24px #00000026;margin-top:6px;min-width:220px;padding:12px 14px;position:absolute;z-index:20}.credit-popover h4{color:#111;font-size:.9rem;font-weight:600;margin:0 0 6px}.credit-popover ul{list-style:none;margin:0;padding:0}.credit-popover li{align-items:center;display:flex;gap:6px;padding:4px 0}.credit-popover a{color:#007673;text-decoration:none}.credit-popover a:hover{text-decoration:underline}.folio-overlay{align-items:center;background:#00000059;display:flex;inset:0;justify-content:center;overflow-y:auto;padding:16px;position:fixed;z-index:8000}.folio-modal{animation:fadeIn .2s ease-out;background:#fff;border-radius:14px;box-shadow:0 12px 48px #0003;max-height:calc(100vh - 32px);overflow-y:auto;padding:24px;position:relative;width:min(540px,calc(100vw - 24px))}.folio-close{background:#0000;border:none;cursor:pointer;position:absolute;right:12px;top:12px}.folio-title{color:#111;font-size:1.3rem;font-weight:700;margin-top:0}.folio-title .folio-sub{color:#444;display:block;font-size:.9rem;margin-top:4px}.folio-summary{display:flex;flex-wrap:wrap;gap:30px;margin:16px 0 22px}.folio-summary label{color:#777;display:block;font-size:.75rem}.folio-section-label{font-size:1rem;font-weight:600;margin-bottom:10px;margin-top:16px}.folio-applied-list{display:flex;flex-direction:column;gap:10px}.folio-applied-list.scrollable{max-height:260px;overflow-y:auto;padding-right:4px}.folio-applied-row{align-items:flex-start;background:#f9fafb;border-radius:10px;color:#111;display:flex;gap:10px;padding:10px;text-decoration:none;transition:.15s ease}.folio-applied-row:hover{background:#eef6f5}.folio-row-text{flex-grow:1;line-height:1.3;min-width:0;word-break:break-word}.folio-row-icon{color:#6b7280;flex-shrink:0;margin-top:2px}.folio-open-icon{flex-shrink:0;margin-top:2px;opacity:.7}.folio-empty{color:#888;font-size:.9rem;padding:16px 0;text-align:center}.record-subtext{color:#6b7280;font-size:.9rem;line-height:1.4;margin-left:auto;max-width:27%;text-align:right}.primary-btn{margin-top:4px;padding:6px 14px;transition:background .15s ease,transform .15s ease}.primary-btn:hover{background:#a5d27d}@media (max-width:640px){.folio-overlay{padding:10px}.folio-modal{max-height:calc(100vh - 20px);padding:18px;width:calc(100vw - 20px)}.folio-summary{gap:14px}.folio-applied-list.scrollable{max-height:220px}}.folio-badge-refunded{background:#ffe4e6;border:1px solid #fecdd3;border-radius:6px;color:#be123c;font-size:.75rem;font-weight:600;padding:4px 10px}.folio-refund-box{background:#fff1f2;border:1px solid #fecdd3;border-radius:8px;margin-bottom:12px;padding:14px}.folio-refund-note{color:#9f1239;font-size:.85rem;margin-top:6px}.record-grid{display:grid;grid-template-columns:120px 140px 1.2fr 1fr 120px 120px 180px;width:100%}.record-grid.proposals-grid{grid-template-columns:110px 130px 1.2fr 1fr 110px 120px 70px 180px}.record-grid-header,.record-grid-row{display:contents}.record-grid-header>div{border-bottom:1px solid #eef0f2;color:#6f7478;color:var(--muted);cursor:pointer;font-size:13px;font-weight:700;padding:12px 10px}.record-grid-row>div{align-items:center;border-bottom:1px solid #f3f5f6;display:flex;padding:12px 10px}.record-grid-row:hover>div{background:#fbfcfd}.record-grid-row .actions-wrapper{display:flex;gap:6px;position:relative}.menu-danger{color:#b42318}.menu-danger:hover{background:#b4231814}.record-header-bar{align-items:center;display:flex;gap:16px;justify-content:space-between}.round-btn{align-items:center;background:#62794e;border:none;border-radius:999px;box-shadow:0 4px 14px #62794e40;color:#fff;cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;justify-content:center;padding:9px 18px;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;white-space:nowrap}.round-btn:hover{background:#556a44;box-shadow:0 6px 18px #62794e59;transform:translateY(-1px)}.round-btn:active{box-shadow:0 3px 10px #62794e40;transform:translateY(0)}.round-btn:focus-visible{box-shadow:0 0 0 2px #fff,0 0 0 4px #62794e66;outline:none}.timebilling-page{background:#f8fafb;background:var(--app-bg,#f8fafb);display:flex;height:100%;overflow:hidden;position:relative;width:100%}.timebilling-main{display:flex;flex:1 1;flex-direction:column;padding:24px 32px;transition:margin-left .3s ease}.timebilling-main.sidebar-open{margin-left:320px}.timebilling-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.timebilling-header h2{color:#1c1c1c;color:var(--text,#1c1c1c);font-size:1.5rem;font-weight:600}.add-btn{background-color:#62794e;border:none;border-radius:999px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:10px 20px;transition:background .2s ease,transform .2s ease}.add-btn:hover{background-color:#8bb96d;transform:translateY(-1px)}.empty-state{align-items:center;color:#7a7a7a;display:flex;flex:1 1;font-size:.95rem;justify-content:center}.timebilling-table table{font-size:.9rem}.timebilling-table th{background-color:#f9faf9;color:#444}.toolbar{display:flex;justify-content:flex-end;margin-bottom:.75rem}.secondary-btn{background:#e5e7eb;border:none;font-size:.85rem;font-weight:500;transition:background .2s ease}.secondary-btn:hover{background:#d9dbde}.form-backdrop{background:#14141473}.form-modal{animation:pop-in .25s ease;border-radius:12px;box-shadow:0 12px 40px #00000026;gap:12px;padding:1.75rem 1.5rem;width:480px}@keyframes pop-in{0%{opacity:0;transform:translateY(60px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.form-modal h3{color:#222;margin-bottom:.75rem}.form-modal form{gap:10px}.form-modal input,.form-modal textarea{border:1px solid #d2d6dc;border-radius:8px;font-size:.9rem;transition:border .2s ease,background .2s ease;width:100%}.form-actions{gap:10px;margin-top:.75rem}.form-actions button{padding:8px 16px;transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease,opacity .2s ease;width:80px}.form-actions button[type=button]{background:#e4e4e4}.form-actions button[type=button]:hover{background:#d2d2d2}.projects-slideout{background:#fff;border-right:1px solid #ddd;box-shadow:2px 0 8px #0000000d;height:calc(100vh - 64px);left:220px;position:fixed;top:64px;transform:translateX(-100%);transition:transform .3s cubic-bezier(.25,.9,.3,1);width:300px;z-index:1450}.projects-slideout.open{transform:translateX(0)}.projects-header{align-items:center;border-bottom:1px solid #ededed;display:flex;justify-content:space-between;padding:16px 18px}.projects-header h3{font-size:1rem;font-weight:600;margin:0}.close-btn{color:#444;font-size:20px}.projects-search-container{padding:12px 18px}.projects-search-wrapper{position:relative}.projects-search-wrapper input{background:#fafafa;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;padding:10px 32px 10px 12px;width:100%}.projects-search-icon{color:#6b7280;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.projects-list-wrap{height:calc(100% - 120px);overflow-y:auto}.projects-list{list-style:none;margin:0;padding:0}.project-item.selected .project-link{background:#eef7eb;font-weight:600}.project-link{background:none;border:none;color:#333;cursor:pointer;display:block;font-size:.95rem;padding:12px 18px;text-align:left;transition:background .15s ease;width:100%}.project-link:hover{background:#f3f4f6}.no-projects{color:#888;font-size:.9rem;padding:16px;text-align:center}@media (max-width:860px){.projects-slideout{left:0;width:100%}.timebilling-main{padding:20px}}.form-backdrop{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#11111173;display:flex;inset:0;justify-content:center;position:fixed;z-index:2000}.form-modal{animation:modalPop .25s ease;background:#fff;border-radius:14px;box-shadow:0 12px 36px #0000002e;display:flex;flex-direction:column;max-width:95%;padding:24px 26px;width:420px}.form-modal h3{color:#1a1a1a;font-size:1.25rem;font-weight:600;margin:0 0 14px}.form-modal input,.form-modal textarea{background:#fafafa;border:1px solid #d7d7d7;border-radius:10px;font-size:.92rem;padding:10px 12px;transition:border .22s ease,background .22s ease;width:95%}.form-modal input:focus,.form-modal textarea:focus{background:#fff;border-color:#8bb96d;outline:none}.form-modal form{display:flex;flex-direction:column;gap:12px}.form-modal textarea{min-height:80px;resize:vertical}.checkbox-row{align-items:center;color:#444;display:flex;font-size:.9rem;gap:8px;margin-top:4px}.checkbox-row input[type=checkbox]{cursor:pointer;height:16px;width:16px}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:6px}.form-actions button{border:none;border-radius:999px;cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 18px;transition:background-color .22s ease,border-color .22s ease,color .22s ease,box-shadow .22s ease,transform .22s ease,opacity .22s ease}.form-actions button[type=button]{background:#e5e7eb;color:#333}.form-actions button[type=button]:hover{background:#d5d5d7}.form-actions button[type=submit]{background:#62794e;color:#fff}.form-actions button[type=submit]:hover{background:#8bb96d}@media (max-width:480px){.form-modal{padding:20px;width:86%}}.form-modal select{background:#f9fafb;border:1px solid #d2d6dc;border-radius:8px;font-size:.92rem;padding:10px 12px;transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease,opacity .2s ease;width:101.5%}.tb-select-wrap{position:relative;width:100%}.tb-select-wrap:after{border-bottom:2px solid #6b7280;border-right:2px solid #6b7280;content:"";height:9px;pointer-events:none;position:absolute;right:14px;top:50%;transform:translateY(-65%) rotate(45deg);width:9px}.tb-form-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-sizing:border-box;color:#1f2937;font-size:14px;padding:10px 42px 10px 12px;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease;width:100%}.tb-form-select:hover{background:#fafafa}.tb-form-select:focus{background:#fff;border-color:#a5d27d;box-shadow:0 0 0 3px #a5d27d40;outline:none}.toolbar-left{min-height:40px}.primary-btn{animation:fadeIn .25s ease forwards;border-radius:999px;font-size:.9rem;font-weight:500;opacity:0;padding:8px 16px;transition:background .2s ease,transform .2s ease}.primary-btn:hover{background:#8bb96d}.tb-cancel-btn,.tb-edit-btn,.tb-save-btn{background:none;border:none;cursor:pointer;font-size:.85rem}.tb-save-btn{margin-right:6px}td input{border:1px solid #ccc;border-radius:6px;padding:4px 6px;width:90px}.timebilling-table{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000a;font-family:Inter,sans-serif;overflow-x:auto;padding:1.25rem}.timebilling-table td,.timebilling-table th{border-bottom:1px solid #ececec;color:#222;font-size:.9rem;padding:.75rem 1rem}.timebilling-table th{background:#f9faf9;color:#555}.timebilling-table tr.editing-row{background:#f4fbf2;transition:background .25s ease}.toolbar-left{justify-content:flex-start;margin-bottom:.75rem}.primary-btn{background:#62794e;border-radius:8px;font-size:.85rem;padding:8px 18px;transition:background .2s ease,transform .15s ease}.primary-btn:hover{background:#73995a;transform:translateY(-1px)}.primary-btn:active{transform:translateY(0)}.tb-cancel-btn,.tb-delete-btn,.tb-edit-btn,.tb-save-btn{background:none;border:none;cursor:pointer;font-size:.85rem;padding:4px 8px;transition:color .2s ease,transform .15s ease}.tb-edit-btn{color:#62794e}.tb-edit-btn:hover{color:#8bb96d;transform:translateY(-1px)}.tb-save-btn{color:#2b6cb0;font-weight:600}.tb-save-btn:hover{color:#3e8de0;transform:translateY(-1px)}.tb-cancel-btn{color:#b83232}.tb-cancel-btn:hover{color:#e55353;transform:translateY(-1px)}.tb-delete-btn{color:#c0392b}.tb-delete-btn:hover{color:#e74c3c;transform:translateY(-1px)}.timebilling-table input[type=number],.timebilling-table input[type=text]{background:#fcfcfc;border:1px solid #d0d0d0;border-radius:6px;font-size:.85rem;padding:6px 8px;transition:border-color .15s ease,background .15s ease;width:100%}.timebilling-table input:focus{background:#fff;border-color:#8bb96d;outline:none}.timebilling-table{margin-top:12px;width:100%}.toolbar-left{align-items:center;display:flex;gap:12px;padding:8px 0 14px}.primary-btn{background:#007673;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:7px 16px;transition:background .2s ease}.primary-btn:hover{background:#005f5d}.tb-delete-btn{color:#b40000;font-size:13px;padding:7px 14px;transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease,opacity .2s ease}.timebilling-table table{background:#fff;border-collapse:collapse;border-radius:10px;font-size:14px;overflow:hidden;width:100%}.timebilling-table td,.timebilling-table th{border-bottom:1px solid #e5e7eb;padding:10px 12px;text-align:left;vertical-align:middle}.timebilling-table th{background:#f9fafb;color:#374151;font-weight:600}.timebilling-table tr:last-child td{border-bottom:none}.timebilling-table tbody tr:hover{background:#f8fffd}.editing-row{animation:fadeRow .25s ease;background:#f0fdfa!important}@keyframes fadeRow{0%{background:#fff}to{background:#f0fdfa}}.editing-row input{border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:5px 6px;width:95%}.tb-actions{display:flex;gap:6px}.tb-edit-btn{background:#eef6ff;border:1px solid #d0e5ff;border-radius:5px;color:#1461c5;cursor:pointer;padding:4px 6px;transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease,opacity .2s ease}.tb-edit-btn:hover{background:#d0e5ff}.tb-save-btn{background:#007673;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;padding:5px 10px}.tb-save-btn:hover{background:#005f5d}.tb-cancel-btn{background:#e5e7eb;border:none;border-radius:6px;cursor:pointer;font-size:13px;padding:5px 10px}.tb-cancel-btn:hover{background:#d1d5db}.tb-delete-btn{background:#ffe4e4;border:1px solid #fcc;border-radius:6px;color:#c70000;cursor:pointer;padding:4px 8px}.tb-delete-btn:hover{background:#fcc}.timebilling-table input[type=checkbox]{cursor:pointer;height:16px;width:16px}.timebilling-table table{animation:fadeInTable .25s ease-out}@keyframes fadeInTable{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.editing-row td input,.editing-row td select,.editing-row td textarea{background:#0000!important;border:1px solid #b5d8c9;color:#1c1c1c}.editing-row td input:focus,.editing-row td select:focus,.editing-row td textarea:focus{background:#fff6!important;border-color:#73995a!important;outline:none}tr.editing-row td input,tr.editing-row td select,tr.editing-row td textarea{background-color:initial!important}tr.editing-row td input:focus,tr.editing-row td select:focus,tr.editing-row td textarea:focus{background-color:#fff6!important}.timebilling-table tbody tr.editing-row:hover,tr.editing-row td{background:#f0fdfa!important}tr.editing-row td input,tr.editing-row td select,tr.editing-row td textarea{background:#fff!important;border:1px solid #b5d8c9!important;color:#1c1c1c}tr.editing-row td input:focus,tr.editing-row td select:focus,tr.editing-row td textarea:focus{background:#fff!important;border-color:#73995a!important}.tb-btn{align-items:center;border:none;border-radius:999px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;height:36px;justify-content:center;padding:8px 16px;transition:background-color .22s ease,transform .15s ease}.tb-btn-primary{background-color:#62794e;color:#fff;margin-bottom:10px;margin-right:10px}.tb-btn-primary:hover{background-color:#a5d27d;transform:translateY(-1px)}.tb-btn-danger{background-color:#ffe4e4;border:1px solid #fcc;color:#b40000;margin-bottom:10px}.tb-btn-danger:hover{background-color:#fcc;transform:translateY(-1px)}.tb-toggle{background:#f3f4f6;border-radius:999px;display:inline-flex;gap:6px;margin-bottom:14px;padding:4px}.tb-toggle button{background:#0000;border:none;border-radius:999px;color:#4b5563;cursor:pointer;font-size:.85rem;font-weight:500;padding:8px 16px;transition:background .2s ease,color .2s ease,box-shadow .2s ease}.tb-toggle button:hover{background:#0000000d}.tb-toggle button.active{background:#fff;box-shadow:0 2px 6px #0000001f;color:#1f2937}.timebilling-table table{animation:fadeSlideIn .2s ease-out}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.timebilling-table td button{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;cursor:pointer;display:inline-flex;height:32px;justify-content:center;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .12s ease;width:32px}.timebilling-table td button svg{height:16px;width:16px}.timebilling-table td button:hover{background:#f9fafb;border-color:#d1d5db;box-shadow:0 1px 4px #00000014;color:#111827}.timebilling-table td button:active{box-shadow:none;transform:translateY(1px)}.timebilling-table td button:focus-visible{border-color:#007673;box-shadow:0 0 0 3px #0076732e;outline:none}.timebilling-table td button:disabled{box-shadow:none;cursor:not-allowed;opacity:.45}.rd-overlay{animation:overlayFadeIn .16s ease-out forwards}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.rd-modal{animation:modalIn .18s cubic-bezier(.25,.9,.3,1) forwards;transform-origin:center}.rd-modal-actions button{transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease}.rd-modal-actions button:hover{transform:translateY(-1px)}.rd-modal-actions button:active{transform:translateY(0) scale(.97)}.rd-save.danger{background:#dc2626;color:#fff}.rd-save.danger:hover{background:#b91c1c;box-shadow:0 2px 12px #dc262659}.rd-save.danger:active{box-shadow:0 4px 12px #dc262640}.rd-cancel{background:#0000}.rd-cancel:hover{background:#0000000a}.tax-location-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:12px 0;padding:0}.tax-location-btn{background:#f9fafb;border:1px solid #e5e7eb;border-radius:999px;cursor:pointer;padding:10px 12px;text-align:left;width:100%}.tax-location-btn:hover{background:#f3f4f6}.planner-slideout{background:#fff;border-right:1px solid #ddd;box-shadow:2px 0 8px #0000000d;display:flex;flex-direction:column;font-family:Inter,sans-serif;height:100vh;left:220px;overflow:hidden;padding-bottom:20px;position:fixed;top:0;transform:translateX(-100%);transition:transform .3s cubic-bezier(.25,.9,.3,1);width:300px;z-index:1400}.planner-slideout.open{transform:translateX(0)}.planner-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:1rem}.planner-header h3{color:#111827;font-size:1.2rem;font-weight:700;margin:0}.planner-close-btn{background:none;border:none;color:#555;cursor:pointer;font-size:1.4rem;line-height:1}.planner-close-btn:hover{color:#000}.planner-list-wrap{flex:1 1;overflow-y:auto;padding:.5rem 0}.planner-list{list-style:none;margin:0;padding:0}.planner-item{margin:0}.planner-link{border-left:4px solid #0000;color:#222;display:block;font-size:14px;padding:10px 16px;text-decoration:none;transition:background .2s,border-color .2s}.planner-link:hover{background:#f6f7f8}.planner-item.selected .planner-link{background:#eef2f1;border-left-color:#a5d27d;font-weight:600}.no-planner-items{color:#777;font-size:13px;padding:12px 16px}.planner-add-new{align-items:center;background:#a5d27d;border-radius:6px;box-shadow:0 2px 6px #00000014;color:#000;display:flex;font-size:.95rem;font-weight:600;gap:8px;justify-content:center;margin:16px;padding:10px 14px;text-decoration:none;transition:background .25s,transform .15s}.planner-add-new .plus{font-size:18px;line-height:0}.planner-add-new:hover{filter:brightness(.95);transform:translateY(-1px)}.planner-add-new:active{transform:translateY(0)}.planner-error,.planner-loading{color:#666;font-size:13px;padding:10px 16px}@media (max-width:860px){.planner-slideout{border-right:none;box-shadow:0 6px 18px #0000002e;left:0;max-width:360px;transform:translateX(-100%);width:100%}.planner-slideout.open{transform:translateX(0)}}.planner-slideout,.projects-slideout{background:#fff;border-right:1px solid #ddd;box-shadow:2px 0 8px #0000000d;display:flex;flex-direction:column;font-family:Inter,sans-serif;left:220px;overflow:hidden;position:fixed;top:0;transform:translateX(-100%);transition:transform .3s cubic-bezier(.25,.9,.3,1);width:300px;z-index:2800}.planner-slideout.open,.projects-slideout.open{transform:translateX(0)}@media (max-width:860px){.planner-slideout,.projects-slideout{background:#fff;border:none;box-shadow:none;height:100vh;left:0;max-width:none;transform:translateX(100%);width:100%;z-index:1800}.planner-slideout.open,.projects-slideout.open{transform:translateX(0)}.planner-header,.projects-header{border-bottom:1px solid #0000000d;box-shadow:0 2px 6px #0000000f}}.planner-slideout,.projects-slideout{height:100vh;height:100dvh;max-width:calc(100vw - 220px);width:min(320px,calc(100vw - 220px))}@media (max-width:1240px) and (min-width:861px){.planner-slideout,.projects-slideout{box-shadow:8px 0 24px #00000014;width:min(300px,calc(100vw - 220px))}}@media (max-width:860px){.planner-slideout,.projects-slideout{border-right:1px solid #e5e7eb;box-shadow:8px 0 28px #00000029;height:100vh;height:100dvh;max-width:92vw;width:min(92vw,380px)}}@media (max-width:480px){.planner-slideout,.projects-slideout{border-right:none;box-shadow:none;max-width:100vw;width:100vw}}.reports-container{background:#f7f7f5;color:#111827;font-family:Inter,sans-serif;min-height:100%;padding:28px 32px}.report-section{margin-bottom:32px}.section-title{font-size:18px;font-weight:600;margin-bottom:8px}.section-description{color:#6b7280;font-size:13px;margin:10px 0 15px}hr{border:none;border-top:1px solid #e6e6e3;margin-bottom:16px}.report-grid{grid-gap:8px 16px;display:grid;gap:8px 16px;grid-template-columns:repeat(3,minmax(200px,1fr))}.report-link{color:#111827;cursor:pointer;font-size:14px;opacity:.9;text-decoration:none}.report-link:hover{opacity:1;text-decoration:underline}.custom-report-item{align-items:center;display:flex;font-size:14px;gap:8px;padding:6px 0}.star{color:#6b7280;font-size:14px;margin-right:4px}.new-project-page{--np-accent:#62794e;--np-accent-strong:#a5d27d;--np-text:#1f2937;--np-muted:#6b7280;--np-border:#e5e7eb;--np-card-bg:#fff;--np-shadow:0 8px 24px #0f172a14;--np-radius:12px;background:#0000;color:var(--np-text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;min-height:100%}.new-project-page .page-inner{animation:npPageIn .45s ease-out}@keyframes npPageIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.page-inner{box-sizing:border-box;margin:0 auto;max-width:1200px;padding:24px 28px 48px;width:100%}.np-page-header{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px}.np-title-stack{display:flex;flex-direction:column;gap:6px}.page-title{font-size:26px;font-weight:700;letter-spacing:-.2px;margin:0}.page-subtitle{color:var(--np-muted);font-size:14px}.np-section{background:var(--np-card-bg);border:1px solid #0000000a;border-radius:var(--np-radius);box-shadow:var(--np-shadow);margin-bottom:18px;padding:18px 20px}.np-section-head{align-items:center;display:flex;gap:12px;margin-bottom:14px}.section-label{color:#1f2937;font-size:18px;font-weight:700;margin:0}.np-divider{background:var(--np-border);flex:1 1;height:1px}.small-label{font-size:14px}.alternative-label,.small-label{color:#374151;display:block;font-weight:600;margin-bottom:8px}.alternative-label{font-size:15px}.page-inner input,.page-inner select,.page-inner textarea{background:#fff;border:1px solid var(--np-border);border-radius:10px;box-sizing:border-box;font-size:14px;margin-bottom:10px;padding:10px 12px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.page-inner input:focus,.page-inner select:focus,.page-inner textarea:focus{border-color:var(--np-accent-strong);box-shadow:0 0 0 3px #a5d27d40;outline:none}.page-inner input:disabled,.page-inner select:disabled,.page-inner textarea:disabled{background:#f7f7f7;color:#9aa0a6}.large-textarea{min-height:140px;resize:vertical}.grid-two{grid-gap:18px;align-items:start;display:grid;gap:18px;grid-template-columns:minmax(0,1fr) 360px}.settings-grid{grid-template-columns:minmax(0,1fr)}.left-col,.right-col{min-width:0}.row-split{grid-gap:8px;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) 140px 140px;margin-bottom:12px}.address-row{grid-template-columns:minmax(0,1.65fr) minmax(110px,.8fr) minmax(120px,1fr)}.spacer-input{visibility:hidden}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.project-active-toggle{align-items:center;display:flex}.toggle-label{align-items:center;color:#374151;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:10px;-webkit-user-select:none;user-select:none}.toggle-label input{display:none}.toggle-switch{background:#e5e7eb;border-radius:999px;height:20px;position:relative;transition:background .2s ease;width:38px}.toggle-switch:after{background:#fff;border-radius:50%;box-shadow:0 1px 3px #00000026;content:"";height:16px;left:2px;position:absolute;top:2px;transition:transform .2s ease;width:16px}.toggle-label input:checked+.toggle-switch{background:var(--np-accent-strong)}.toggle-label input:checked+.toggle-switch:after{transform:translateX(18px)}.toggle-status{color:var(--np-muted);font-size:13px}.toggle-label input:checked~.toggle-status{color:var(--np-accent)}.customer-combobox{align-items:center;display:flex;gap:6px;position:relative}.customer-combobox input,.select-shell select{padding-right:36px}.combobox-toggle,.select-shell-arrow{background:#0000;border:none;color:var(--np-muted);font-size:14px;position:absolute;right:8px;top:50%;transform:translateY(-50%)}.combobox-toggle{cursor:pointer}.select-shell{position:relative}.select-shell select{appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;margin-bottom:0}.select-shell-arrow{pointer-events:none}.combobox-panel{background:#fff;border:1px solid #eef0f1;border-radius:12px;box-shadow:0 14px 40px #0f172a1f;display:flex;flex-direction:column;left:0;max-height:340px;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);z-index:120}.combobox-search{align-items:center;background:#fafafa;border-bottom:1px solid #f0f0f0;display:flex;gap:8px;padding:10px 12px}.combobox-search-input{border:1px solid #e6e6e6;border-radius:8px;box-sizing:border-box;flex:1 1;font-size:14px;outline:none;padding:8px 10px}.combobox-search-input:focus{border-color:var(--np-accent-strong);box-shadow:0 0 0 3px #a5d27d33}.combobox-search-clear{background:#0000;border:none;color:#999;cursor:pointer;font-size:14px;padding:6px 8px}.combobox-list{list-style:none;margin:0;overflow:auto;padding:8px 0}.combobox-add{align-items:center;background:#f0f6eb;border:1px solid #0000000f;border-radius:10px;color:#365133;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:10px;margin:8px 12px;padding:8px 12px;transition:transform .12s ease,box-shadow .12s ease}.combobox-add:hover{box-shadow:0 6px 14px #62794e2e;transform:translateY(-1px)}.add-icon{align-items:center;background:#fff;border:1px solid #0b8f721f;border-radius:6px;color:#3a5b33;display:inline-flex;font-weight:700;height:20px;justify-content:center;width:20px}.add-text{font-size:14px}.combobox-empty{color:#888;font-style:italic;padding:12px 16px}.combobox-item{align-items:center;border-radius:10px;cursor:pointer;display:flex;gap:12px;justify-content:space-between;margin:4px 8px;padding:10px 14px;transition:background .12s ease,box-shadow .12s ease}.combobox-item:hover{background:#fafafa}.combobox-item.selected{background:#62794e14;box-shadow:inset 0 0 0 1px #62794e1f}.cust-left{min-width:0}.cust-name{color:#222;font-size:14px;font-weight:700}.cust-meta,.cust-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cust-meta{color:#666;font-size:12px;margin-top:4px}.cust-right{color:#c4c4c4;font-size:18px;padding-left:10px}.address-header-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.sync-checkbox-inline{align-items:center;color:#444;cursor:pointer;display:inline-flex;font-size:.9rem;gap:6px;-webkit-user-select:none;user-select:none}.sync-checkbox-inline input[type=checkbox]{accent-color:var(--np-accent);cursor:pointer;height:16px;width:16px}.new-project-page .upload-card{align-items:center;background:#fafafa;border:1px dashed #d9d9d9;border-radius:12px;cursor:pointer;display:flex;justify-content:center;min-height:120px;padding:16px;transition:border-color .2s ease,background .2s ease}.new-project-page .cover-upload:hover{background:#f7fdf7;border-color:#d2eed2}.new-project-page .np-cover-flex{align-items:stretch;display:flex;gap:16px;width:100%}.new-project-page .np-upload-placeholder{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:8px;justify-content:center;min-height:120px;min-width:0;text-align:center}.new-project-page .np-upload-text{color:#6a6a6a;font-size:13px;margin-top:6px}.new-project-page .np-upload-link{color:var(--np-accent);cursor:pointer;font-size:12px;text-decoration:underline}.new-project-page .np-upload-hint{color:#8b8b8b;font-size:12px}.new-project-page .np-cover-preview{align-items:center;background:#fafafa;border:1px dashed #e6e6e6;border-radius:10px;box-sizing:border-box;display:flex;flex-shrink:0;height:120px;justify-content:center;padding:6px;width:180px}.new-project-page .np-cover-img{border-radius:10px;display:block;max-height:100%;max-width:100%;object-fit:cover}.new-project-page .np-preview-empty,.new-project-page .np-preview-placeholder{color:#9aa0a6;font-size:13px;text-align:center}.folio-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin:6px 0 14px}.upload-area{align-items:center;background:#f9fafb;border:1px dashed #cfd6da;border-radius:10px;cursor:pointer;display:flex;gap:10px;padding:12px 14px;transition:background .2s ease,border-color .2s ease}.upload-area:hover{background:#f3f7f3;border-color:#a5d27d}.doc-upload{align-items:center;border-radius:10px;display:flex;flex:1 1;gap:10px}.folder-icon-img{flex-shrink:0;height:34px;object-fit:contain;opacity:.9;transition:transform .2s ease,opacity .2s ease;width:34px}.folder-icon-img:hover{opacity:1;transform:scale(1.05)}.doc-input{align-items:center;display:flex;gap:10px;justify-content:space-between;width:100%}.doc-placeholder{color:#525252;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-inside-btn{background:#fff;border:none;border-radius:8px;box-shadow:0 2px 6px #00000014;color:var(--np-accent);cursor:pointer;height:30px;width:30px}.uploaded-row{background:#fff;border:1px solid #eef1f0;border-radius:10px;gap:10px;justify-content:space-between;margin-top:8px;padding:10px 12px}.uploaded-meta,.uploaded-row{align-items:center;display:flex}.uploaded-meta{color:#4b5563;flex:1 1;font-size:13px;gap:8px;min-width:0}.uploaded-meta a{color:var(--np-accent);font-weight:600}.upload-progress{align-items:center;display:flex;gap:8px;min-width:0}.upload-track{background:#e9efe8;overflow:hidden;width:110px}.upload-bar,.upload-track{border-radius:999px;height:6px}.upload-bar{background:linear-gradient(90deg,#7ea96c,#a5d27d)}.upload-percent{color:#6b7280;font-size:12px}.mini-remove{background:#f8f8f8;border:none;border-radius:8px;color:#666;cursor:pointer;height:28px;width:28px}.mini-remove:hover{background:#f1f1f1;color:#333}.new-project-page .np-upload-error{color:#b91c1c;font-size:12px}.inline-hint{margin-top:6px}.inline-hint,.qb-hint{color:var(--np-muted);font-size:12px}.qb-hint{margin-bottom:8px}.np-subsection-head{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-top:18px}.np-inline-add-btn{background:#f6faf2;border:1px solid #d7dfd1;border-radius:999px;color:var(--np-accent);cursor:pointer;font-size:13px;font-weight:600;padding:8px 12px}.np-role-rate-list{grid-gap:10px;display:grid;gap:10px}.np-role-rate-row{grid-gap:10px;align-items:center;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) 180px auto}.np-role-rate-row input{margin-bottom:0}.np-role-rate-remove{margin-top:0}.np-empty-note{background:#fafcf8;border:1px dashed #d7dfd1;border-radius:10px;color:var(--np-muted);font-size:13px;padding:12px}.action-buttons{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffeb;border:1px solid #0000000f;border-radius:999px;bottom:24px;box-shadow:0 10px 24px #0000001f;display:flex;gap:10px;padding:10px 12px;position:fixed;right:24px;z-index:40}.np-btn-cancel,.np-btn-save{align-items:center;border-radius:999px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;height:38px;justify-content:center;min-width:110px;padding:10px 18px;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.np-btn-save{background:var(--np-accent);border:none;box-shadow:0 6px 14px #62794e40;color:#fff}.np-btn-save:hover{background:#7ea96c;transform:translateY(-1px)}.np-btn-save:disabled{background:#b7c2ad;box-shadow:none;cursor:not-allowed}.np-btn-cancel{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}.np-btn-cancel:hover{background:#e5e7eb;transform:translateY(-1px)}.status-error{color:#b91c1c;font-size:13px}.status-success{color:#166534;font-size:13px}.np-footer-spacer{height:120px}.np-modal-overlay{align-items:center;background:#080a0c73;display:flex;inset:0;justify-content:center;overflow-y:auto;padding:32px;position:fixed;z-index:1600}.np-modal-box{background:#fff;border:1px solid #eee;border-radius:14px;box-shadow:0 22px 70px #040c1429;display:flex;flex-direction:column;max-height:calc(100vh - 90px);max-width:calc(100% - 48px);overflow:hidden;width:860px}.np-modal-header{align-items:center;border-bottom:1px solid #ededed;display:flex;justify-content:space-between;padding:16px 22px}.np-modal-header h3{font-size:18px;font-weight:600;margin:0}.np-modal-close{background:#0000;border:none;cursor:pointer;font-size:20px;line-height:1;padding:6px}.np-modal-body{overflow-y:auto;padding:24px 26px}.np-section-title{color:#333;font-size:15px;font-weight:600;margin-bottom:8px;margin-top:24px}.np-grid-3{grid-gap:14px 16px;display:grid;gap:14px 16px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:12px}.np-grid-3 input{background:#fff;border:1px solid #e3e3e3;border-radius:8px;box-sizing:border-box;font-size:14px;padding:10px 12px;width:100%}.np-grid-3 input:focus{border-color:var(--np-accent-strong);box-shadow:0 0 0 3px #a5d27d40;outline:none}.np-full-row{grid-column:1/-1}.np-modal-footer{background:#fafafa;border-top:1px solid #eee;display:flex;gap:12px;justify-content:flex-end;padding:14px 22px}.modal-error{color:#b91c1c;font-size:.9rem;margin-top:.5rem;text-align:right}@media (max-width:1024px){.page-inner{padding:20px 22px 42px}.grid-two{grid-template-columns:1fr}.row-split{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:768px){.np-page-header{align-items:flex-start;flex-direction:column}.np-section{padding:16px}.action-buttons{bottom:16px;flex-wrap:wrap;right:16px}.np-grid-3{grid-template-columns:1fr 1fr}}@media (max-width:640px){.page-inner{padding:18px 16px 36px}.np-grid-3,.row-split{grid-template-columns:1fr}.new-project-page .np-cover-flex{flex-direction:column}.new-project-page .np-cover-preview{height:160px;width:100%}.np-role-rate-row,.np-subsection-head{grid-template-columns:1fr}}:root{--bg:#fff;--accent:#e8f7ed;--accent-strong:#7fc59a;--card-border:#eceff0;--card-radius:8px;--gap:18px;--page-padding-x:28px;--page-padding-y:22px;--content-max-width:1500px;--title-size:28px;--tab-active-bg:#f8fdf9;--tab-active-color:#62794e;--tab-active-underline:#62794e;--shadow-subtle:0 6px 18px #0e1e250a;--muted-2:#9aa0a6;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial}.project-detail-page *{box-sizing:border-box}.project-detail-page{align-items:center;display:flex;flex-direction:column;gap:18px;gap:var(--gap);min-height:calc(100vh - 60px);padding:22px 28px;padding:var(--page-padding-y) var(--page-padding-x);padding-bottom:46px;padding-bottom:calc(var(--page-padding-y) + 24px);width:90%}.project-detail-page>.dashboard-grid,.project-detail-page>.info-row,.project-detail-page>.project-nested-content,.project-detail-page>.project-top{max-width:1500px;max-width:var(--content-max-width);width:100%}.project-details-default{display:flex;flex-direction:column;gap:18px;padding-bottom:24px}.project-hero{display:flex;flex-direction:column;gap:14px}.project-hero-top{align-items:center;display:flex;gap:16px;justify-content:space-between}.project-hero-title h1{color:#1f2937;font-size:26px;font-weight:700;margin:0 0 6px}.project-location{color:#6b7280;font-size:13px;font-weight:500;min-height:16px}.project-cover-wrap{width:100%}.project-cover-status{color:#6b7280;font-size:12px;font-weight:600;margin-top:8px}.project-cover-status-error{color:#b91c1c}.project-cover-img{background-position:50%;background-size:cover;border:1px solid #eceff0;border:1px solid var(--card-border);border-radius:14px;box-shadow:0 6px 18px #0e1e250a;box-shadow:var(--shadow-subtle);height:220px;overflow:hidden;position:relative;width:100%}.project-cover-img.has-image:after{background:linear-gradient(180deg,#ffffff0f,#0000001f);content:"";inset:0;position:absolute}.project-cover-img.no-image{align-items:center;background:linear-gradient(135deg,#f2f4f7,#e6eaee);cursor:pointer;display:flex;justify-content:center}.project-cover-img.no-image:before{color:#9aa0a6;content:"Add a project cover";font-size:12px;font-weight:600}.project-top{gap:16px}.left-col{flex:1 1}.project-title{color:#111;font-size:28px;font-size:var(--title-size);font-weight:700;margin:6px 0 10px}.project-tabs{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:8px}.project-tabs .tab{align-items:center;border-radius:8px;color:#6f7478;color:var(--muted);cursor:pointer;display:inline-flex;font-weight:600;padding:10px 12px;text-decoration:none}.project-tabs .tab:hover{background:#fbfbfb;color:#333}.project-tabs .tab.active{background:#f8fdf9;background:var(--tab-active-bg);border-bottom:none;box-shadow:inset 0 -3px 0 #62794e;box-shadow:inset 0 -3px 0 var(--tab-active-underline);color:#62794e;color:var(--tab-active-color);font-weight:700}.right-actions{align-items:flex-start;display:flex;gap:8px}.icon-edit{background:#0000;border-radius:8px;color:#6f7478;color:var(--muted);padding:8px}.icon-edit:hover{background:#fbfbfb;color:#222}.info-row{grid-gap:18px;grid-gap:var(--gap);align-items:stretch;display:grid;gap:18px;gap:var(--gap);grid-template-columns:repeat(4,1fr)}.info-card{align-content:start;background:#fff;background:var(--card-bg);border:1px solid #eceff0;border:1px solid var(--card-border);border-radius:8px;border-radius:var(--card-radius);box-shadow:0 6px 18px #0e1e250a;box-shadow:var(--shadow-subtle);display:grid;grid-template-rows:18px 1fr;height:100%;min-height:120px;padding:14px 16px}.info-label{color:#6f7478;color:var(--muted);font-size:12px;font-weight:600;line-height:1.2;margin-bottom:8px}.info-value{align-self:start;color:#222;font-weight:600;line-height:1.4;white-space:pre-line}.project-nested-content{max-width:1500px;max-width:var(--content-max-width);padding-bottom:24px;width:100%}.project-detail-page .dashboard-grid{grid-gap:18px;grid-gap:var(--gap);align-items:stretch;display:grid;gap:18px;gap:var(--gap);grid-template-columns:1fr 1fr;margin-top:6px}.card{background:#fff;background:var(--card-bg);border:1px solid #eceff0;border:1px solid var(--card-border);border-radius:8px;border-radius:var(--card-radius);box-shadow:0 6px 18px #0e1e250a;box-shadow:var(--shadow-subtle);display:flex;flex-direction:column;height:100%;justify-content:flex-start;min-height:200px;overflow:visible;padding:12px 14px}.card h3,.card h4{color:#222;font-size:16px;font-weight:700;margin:0 0 10px}.project-detail-page .card .muted{color:#6f7478;color:var(--muted);font-size:13px;font-weight:600;margin-left:8px}.project-details-default .card-body{background:linear-gradient(180deg,#fbfbfb,#fff);border-radius:6px;display:block;min-height:240px;overflow:visible;padding:22px 22px 28px}.project-details-default .chart-responsive{padding-bottom:8px}.todo-list ul{list-style:none;margin:0;padding:0}.todo-list li{align-items:center;border-bottom:1px solid #e6eaec;border-bottom:1px solid var(--muted-border);display:flex;padding:12px 6px}.todo-list input[type=checkbox]{margin-right:12px;transform:scale(1.05)}.overview-grid{grid-gap:18px;grid-gap:var(--gap);display:grid;gap:18px;gap:var(--gap);grid-template-columns:2fr 360px}.main-column .card{margin-bottom:18px;margin-bottom:var(--gap)}.pill{background:#f2f6f2;border:1px solid #e6eaec;border:1px solid var(--muted-border);border-radius:999px;color:#9aa0a6;color:var(--muted-2);display:inline-block;font-weight:600;margin-right:8px;padding:8px 10px}.side-column .card .card-body{display:flex;flex-direction:column;gap:10px;padding:14px}.side-column .btn{background:#fafafa;border:1px solid #e6eaec;border:1px solid var(--muted-border);border-radius:8px;cursor:pointer;font-weight:700;padding:10px 12px}.side-column .btn:hover{background:#f5f5f5}.card .card-body a{color:#1a73e8;text-decoration:underline}.modal-backdrop{background:#14141459;z-index:999}.modal{background:#fff;border-radius:10px;box-shadow:0 18px 48px #0000001f;max-width:96%;padding:18px;width:820px}.form-row{gap:12px}.form-row label{display:flex;flex:1 1;flex-direction:column;gap:8px}.muted{color:#6f7478;color:var(--muted);font-size:13px}.project-detail-page .todos-heading .todos-left h2{align-items:flex-start;display:flex;flex-direction:column;gap:6px;margin:0}.project-detail-page .todos-heading .project-pill{background:none!important;border:none!important;box-shadow:none!important;color:#6b7280;display:inline-block;font-size:1rem;font-weight:500;line-height:1;margin-left:0;padding:0!important}.project-detail-page .todos-left-inner{display:block}.project-detail-page .todos-title{font-size:1.25rem;margin:0 0 6px}.project-detail-page .project-subtitle{align-items:center;color:#4b5563;display:inline-flex;font-size:.88rem;font-weight:600;gap:8px;margin-bottom:5px;max-width:100%;overflow:hidden;padding:6px 10px;text-overflow:ellipsis;white-space:nowrap}.project-detail-page .project-subtitle:before{color:#9aa0a6;content:"•";font-size:1rem;line-height:1}.content-wrap{width:100%}.placeholder-chart{color:#9aa0a6;color:var(--muted-2);font-weight:600}.record-metrics,.summary-cards{grid-gap:18px;grid-gap:var(--gap);display:grid;gap:18px;gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.record-metric,.summary-cards .card{display:flex;flex-direction:column;justify-content:center;min-height:120px}@media (max-width:1100px){.overview-grid{grid-template-columns:1fr}.info-row{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.project-tabs{gap:8px}}@media (max-width:720px){.info-row{grid-template-columns:1fr}.project-top{align-items:flex-start;flex-direction:column;gap:12px}.right-actions{align-self:flex-end}}@media (max-width:900px){.project-cover-img{height:180px}}@media (max-width:600px){.project-hero-title h1{font-size:22px}.project-cover-img{height:160px}}.project-tabs+.info-row,.project-tabs+.project-nested-content{margin-top:4px}@media (min-width:1400px){.chart-responsive{max-width:440px}}@media (max-width:1200px){.chart-responsive{max-width:360px}}@media (max-width:900px){.chart-responsive{max-width:320px}}@media (max-width:600px){.chart-responsive{max-width:100%}}.card-body{background:linear-gradient(180deg,#fbfbfb,#fff);border-radius:6px;display:block;min-height:240px;overflow:hidden;padding:22px}.chart-responsive{align-items:center;display:flex;flex-shrink:0;justify-content:center;margin:0 auto;max-width:380px;width:100%}@media (min-width:1600px){:root{--content-max-width:1500px}}@media (min-width:2000px){:root{--content-max-width:2200px}}.project-cover{background-position:50%;background-size:cover;border-radius:12px;height:220px;margin-bottom:20px;overflow:hidden;position:relative;width:100%}.project-cover-overlay{background:linear-gradient(180deg,#00000026,#00000059);inset:0;position:absolute}.project-top{align-items:flex-start;display:flex;gap:24px;justify-content:space-between}.project-title-row{align-items:center;display:flex;gap:12px}.icon-edit{background:none;border:none;border-radius:6px;cursor:pointer;font-size:18px;opacity:.65;padding:4px 6px}.icon-edit:hover{background:#0000000d;opacity:1}.project-cover-side{background-position:50%;background-size:cover;border-radius:12px;flex-shrink:0;height:100px;margin-bottom:12px;width:128px}.qb-modal-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;position:fixed;z-index:9000}.qb-modal{animation:modalIn .2s ease-out;background:#fff;border-radius:14px;box-shadow:0 18px 48px #00000040;max-width:90%;padding:24px;position:relative;width:420px}@keyframes modalIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.qb-modal-close{background:none;border:none;color:#6b7280;cursor:pointer;position:absolute;right:14px;top:14px}.qb-modal-title{color:#111827;font-size:1.1rem;font-weight:700;margin:0 0 8px}.qb-modal-text{color:#4b5563;font-size:.9rem;line-height:1.5;margin-bottom:20px}.qb-modal-actions{display:flex;gap:10px;justify-content:flex-end}:root{--font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial;--font-family:var(--font);--base-font-size:15px;--app-bg:#fff;--muted-2:#9aa3ad;--text:#0f172a;--danger:#e85f5f;--accent-strong:#a5d27d;--accent-strong-2:#62794e;--accent-soft:#e7f6ef;--border:#0206170f;--card-shadow:0 10px 30px #0206170f;--shadow-soft:0 8px 20px #12482e0f;--shadow-subtle:0 6px 18px #12482e0a;--radius-sm:8px;--radius:12px;--page-pad-x:2.5rem;--page-pad-y:2rem;--cell-pad:10px;--table-min-width:920px;--focus-ring:3px solid #3b82f61f}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;background:var(--app-bg);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;font-family:var(--font-family);font-size:15px;font-size:var(--base-font-size);margin:0}.btn-add{box-shadow:0 6px 18px #2478401f;font-size:13px;padding:8px 14px;transition:background .18s ease,transform .12s ease,box-shadow .14s ease}.btn-add:hover{background:var(--accent-strong)}.btn.primary{background:#62794e;background:var(--accent-strong-2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:700;padding:8px 12px}.btn.primary:hover{background:#a5d27d;background:var(--accent-strong)}.btn.ghost{background:#0000;border:1px solid #e6eaec;border-radius:8px;color:#6b7280;color:var(--muted);cursor:pointer;padding:8px 12px}#root,:root,body,html{font-family:Inter,sans-serif!important}:root{--font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial}body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial!important;font-family:var(--font-family)!important}button,input,select,textarea{font-family:inherit!important}.modal-overlay{background:#0003;inset:0;opacity:0;pointer-events:none;position:fixed;transition:opacity .25s ease}.modal-overlay.show{opacity:1;pointer-events:auto}.modal-card{background:#fff;border-radius:14px;box-shadow:0 12px 38px #0000001f;display:flex;flex-direction:column;gap:16px;max-width:96%;padding:24px 28px;width:clamp(480px,70vw,860px)}.modal-head{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:10px}.modal-head h3{color:#111827;font-size:1.25rem;font-weight:700;margin:0}.modal-close{background:none;border:none;color:#6b7280;cursor:pointer;font-size:1.3rem}.modal-close:hover{color:#111}.modal-form{grid-gap:14px 20px;display:grid;gap:14px 20px;grid-template-columns:1fr 1fr;margin-top:8px}.modal-form label{color:#374151;display:flex;flex-direction:column;font-size:13px;font-weight:600}.modal-form input,.modal-form select,.modal-form textarea{background:#fff;border:1px solid #d1d5db;border-radius:8px;font-size:14px;margin-top:6px;padding:10px 12px;transition:border-color .2s ease,box-shadow .2s ease}.modal-form input:focus,.modal-form select:focus,.modal-form textarea:focus{border-color:#a5d27d;box-shadow:0 0 0 3px #a5d27d40;outline:none}.modal-form textarea[name=notes]{grid-column:1/-1;min-height:80px;resize:vertical}.modal-actions{gap:10px;margin-top:8px}.modal-actions .btn{border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:background .2s ease}.modal-actions .btn.cancel{background:#0000;border:1px solid #d1d5db;color:#374151}.modal-actions .btn.cancel:hover{background:#f9fafb}.modal-actions .btn.save{background:#62794e;border:none;color:#fff}.modal-actions .btn.save:hover{background:#93bb70}@media (max-width:768px){.modal-form{grid-template-columns:1fr}.modal-card{padding:20px;width:95%}}:root{--cal-accent-strong:#a5d27d;--accent-soft:#e8f7ed;--cal-accent-strong-2:#93bb70;--text:#1a1a1a;--muted:#6b7280;--muted-border:#e6eaec;--border:#e5e7eb;--card-bg:#fff;--card-shadow:0 2px 8px #0000000a;--shadow-subtle:0 4px 16px #0000000a}.calendar-page{background:#0000;box-sizing:border-box;color:#1a1a1a;color:var(--text);display:flex;flex-direction:column;font-family:Inter,system-ui,sans-serif;gap:1.2rem;min-height:auto;padding:24px 32px;width:100%}.calendar-nav{align-items:center;display:flex;gap:10px;justify-content:center;margin-bottom:20px;position:relative}.nav-btn{background:#f5f7f6;border:none;border-radius:6px;cursor:pointer;padding:6px 8px;transition:background .2s ease}.nav-btn:hover{background:#e8f3ee}.month-year-btn{align-items:center;background:#fff;border:1px solid #e6eaec;border:1px solid var(--muted-border);border-radius:8px;box-shadow:0 2px 8px #0000000a;box-shadow:var(--card-shadow);color:#333;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:6px;padding:6px 10px;transition:background .2s ease}.month-year-btn:hover{background:#f7f9f8}.month-year-btn .chevron{transition:transform .2s ease}.month-year-btn .chevron.open{transform:rotate(180deg)}.month-picker{animation:fadeIn .15s ease-out;background:#fff;border:1px solid #e9ecea;border-radius:10px;box-shadow:0 8px 26px #0000001f;display:flex;flex-direction:column;padding:10px 12px;position:absolute;top:45px;z-index:1200}.month-grid{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(4,1fr);margin-bottom:8px}.month-option,.year-option{background:#f6f8f7;border:none;border-radius:6px;color:#333;cursor:pointer;font-size:.85rem;padding:6px 0;transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease}.month-option:hover,.year-option:hover{background:#e8f3ee;color:#93bb70;color:var(--cal-accent-strong-2)}.month-option.active,.year-option.active{background:#a5d27d;color:#fff;font-weight:600}.year-scroll{display:flex;gap:4px;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}.year-option{min-width:60px;text-align:center}.calendar-grid{background:#fff;background:var(--card-bg);border-collapse:collapse;border-radius:14px;border-spacing:0;box-shadow:0 6px 22px #00000014;transition:box-shadow .3s ease,transform .2s ease;width:100%}.calendar-grid:hover{box-shadow:0 10px 30px #0000001f;transform:translateY(-2px)}.calendar-grid th{background:#f9fafb;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border);color:#6b7280;color:var(--muted);font-size:.8rem;font-weight:600;padding:.75rem;text-align:center;text-transform:uppercase}.calendar-grid td{background:#fff;border:1px solid #f0f2f4;height:110px;position:relative;transition:background .2s ease;vertical-align:top}.cal-cell.today{background:linear-gradient(180deg,#ecf9ef,#d8f2dc);box-shadow:inset 0 0 0 2px #a5d27d;box-shadow:inset 0 0 0 2px var(--cal-accent-strong)}.cal-cell.muted{background:#fafafa;color:#bbb}.cal-cell-btn{background:none;border:none;cursor:pointer;height:100%;padding:.5rem;text-align:left;transition:background .2s ease;width:100%}.cal-cell-btn:hover{background:#f6faf6;box-shadow:inset 0 0 0 1px #0000000a}.cal-date{color:#374151;font-size:.8rem;font-weight:600;position:absolute;right:6px;top:4px}.cal-badges{gap:3px;margin-top:20px;max-height:50px}.cal-badge{border-radius:6px;box-shadow:0 1px 2px #0000000a;color:#2f3e35;display:flex;font-size:.74rem;font-weight:500;gap:4px;padding:2px 6px;transition:background .2s ease}.cal-badge:hover{background:#edf7ef}.cal-more-btn{background:none;border:none;color:#a5d27d;color:var(--cal-accent-strong);cursor:pointer;font-size:.7rem;font-weight:600;margin-left:2px;transition:color .2s ease}.cal-more-btn:hover{color:#93bb70;color:var(--cal-accent-strong-2)}.popover-overlay{align-items:center;animation:fadeIn .25s ease forwards;-webkit-backdrop-filter:none;backdrop-filter:none;background:#00000014;display:flex;inset:0;justify-content:center;position:fixed;will-change:opacity;z-index:1400}.event-popover{background:#fff;border:1px solid #e6e8eb;border-radius:10px;box-shadow:0 8px 24px #0f172a1f;opacity:0;padding:12px 14px;position:fixed;transform:translate(-50%,-50%) scale(.98);transition:opacity .22s ease,transform .22s ease;width:340px;will-change:transform,opacity;z-index:1500}.event-popover.open{opacity:1;transform:translate(-50%,-50%) scale(1)}.assignees-field{background:#fafafa;border:1px solid #e5e7eb;border-radius:12px;margin-top:12px;padding:10px 12px}.assignees-header{color:#6b7280;font-size:12px;font-weight:600;margin-bottom:6px}.assignee-pill{background:#e8f1ea;color:#1f2937}.assignee-remove{background:#0000;color:#6b7280;font-size:12px}.assignee-search{background:#0000;font-size:12px;padding:4px 6px}.assignee-list{background:#fff;margin-top:8px;max-height:180px;overflow:auto}.assignee-option{flex-direction:column;gap:2px;padding:8px 10px}.assignee-option:hover{background:#f3f4f6}.assignee-option.checked{background:#e8f1ea}.assignee-name{font-size:13px;font-weight:600}.assignee-email,.assignee-empty,.drawer-event-assignees{color:#6b7280;font-size:12px}.drawer-event-assignees{margin-top:4px}.popover-header{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:.75rem}.title-input{background:none;border:none;color:#222;flex:1 1;font-size:.95rem;font-weight:600;outline:none}.title-input::placeholder{color:#9aa1a9;font-weight:500}.close-btn{background:none;border:none;color:#777;cursor:pointer;font-size:1.2rem;transition:color .2s ease}.close-btn:hover{color:#111}.date-row{color:#666;font-size:.85rem;margin-bottom:.75rem}.input,.notes-input,.project-select{background:#fafbfb;border:1px solid #e1e4e8;border-radius:6px;box-sizing:border-box;font-size:.85rem;margin-top:6px;padding:6px 8px;transition:border-color .2s ease;width:100%}.input:focus,.notes-input:focus,.project-select:focus{border-color:#a5d27d;border-color:var(--cal-accent-strong);outline:none}.all-day{align-items:center;color:#444;display:flex;font-size:.85rem;gap:6px;margin:6px 0}.popover-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:.75rem}.btn-muted,.btn-save{border-radius:999px;cursor:pointer;font-size:.85rem;padding:6px 12px;transition:background .2s ease,transform .18s ease,box-shadow .18s ease}.btn-muted{background:none;border:1px solid #ddd}.btn-muted:hover{background:#f4f4f4;transform:translateY(-1px)}.btn-save{background:#62794e;border:none;color:#fff;font-weight:500}.btn-save:hover{background:#a5d27d;box-shadow:0 6px 14px #62794e2e;transform:translateY(-1px)}.color-picker{margin-top:.75rem}.color-picker-label{color:#555;font-size:.85rem;font-weight:500;margin-bottom:.4rem}.color-options{display:flex;flex-wrap:wrap;gap:.5rem}.color-swatch{border:2px solid #0000;border-radius:50%;cursor:pointer;height:22px;transition:transform .15s ease,box-shadow .15s ease;width:22px}.color-swatch:hover{box-shadow:0 0 0 2px #00000014;transform:scale(1.1)}.color-swatch.active{border-color:#333;box-shadow:0 0 0 2px #00000026}.day-drawer-overlay{animation:fadeIn .15s ease-out;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0003;inset:0;justify-content:flex-end}.day-drawer,.day-drawer-overlay{display:flex;position:fixed;z-index:3000}.day-drawer{animation:slideInRight .25s ease-out;background:#fff;border-left:1px solid #eef2f3;box-shadow:-6px 0 18px #0000001f;flex-direction:column;height:calc(100vh - 64px);right:0;top:64px;width:380px}@keyframes slideInRight{0%{opacity:.6;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.day-drawer-header{align-items:flex-start;border-bottom:1px solid #f1f3f4;display:flex;justify-content:space-between;padding:1.2rem 1.4rem;z-index:3000}.day-drawer-header h2{color:#1f2937;font-size:1.15rem;font-weight:600;margin:0}.drawer-subtext{color:#6b7280;font-size:.85rem;margin-top:.25rem}.drawer-close-btn{background:none;border:none;color:#777;cursor:pointer;font-size:1.3rem;transition:color .2s ease}.drawer-close-btn:hover{color:#111}.day-drawer-list{display:flex;flex:1 1;flex-direction:column;gap:1rem;overflow-y:auto;padding:1rem 1.2rem}.drawer-event-item{align-items:flex-start;background:#fff;border:1px solid #eef1f0;border-radius:10px;box-shadow:0 1px 3px #0000000d;display:flex;gap:.75rem;padding:.9rem;transition:transform .2s ease,box-shadow .2s ease}.drawer-event-item:hover{box-shadow:0 4px 14px #0000001a;transform:translateY(-3px)}.drawer-event-dot{border-radius:50%;flex-shrink:0;height:10px;margin-top:6px;width:10px}.drawer-event-main{flex:1 1}.drawer-event-header{align-items:center;display:flex;gap:.5rem;justify-content:space-between}.drawer-event-title{color:#111;font-size:.95rem;font-weight:600;margin:0}.drawer-event-title.done{opacity:.6;text-decoration:line-through}.drawer-event-icon{color:#6b7280;font-size:.9rem;opacity:.9}.drawer-event-notes,.drawer-event-project,.drawer-event-time{color:#4b5563;font-size:.8rem;line-height:1.3;margin-top:3px}.drawer-event-notes{color:#64748b}.drawer-event-actions{display:flex;flex-direction:column;gap:4px}.drawer-event-complete{align-items:center;color:#4b5563;display:inline-flex;font-size:.72rem;gap:6px}.drawer-event-complete input{cursor:pointer}.drawer-event-actions .delete-btn,.drawer-event-actions .edit-btn{border:none;border-radius:6px;cursor:pointer;font-size:.75rem;padding:3px 8px;transition:background .2s ease}.edit-btn{background:#e8f7ed;color:#93bb70;color:var(--cal-accent-strong-2)}.edit-btn:hover{background:#d6efe1}.delete-btn{background:#ffeaea;color:#b00020}.delete-btn:hover{background:#ffdede}.delete-overlay{align-items:center;animation:fadeIn .15s ease-out;background:#00000059;display:flex;inset:0;justify-content:center;position:fixed;z-index:3000}.delete-modal{background:#fff;border:1px solid #f0f2f1;border-radius:12px;box-shadow:0 12px 32px #0000002e;max-width:calc(100vw - 40px);padding:1.25rem 1.5rem;text-align:center;width:360px}.delete-modal h3{color:#111;font-weight:700;margin:0 0 .5rem}.delete-modal p{color:#555;font-size:.9rem;margin-bottom:1rem}.delete-modal-actions{display:flex;gap:.6rem;justify-content:flex-end}.btn-danger{background:#e11d48;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:6px 14px;transition:background .2s ease}.btn-danger:hover{background:#be123c}@media (max-width:1024px){.calendar-page{padding:1.5rem}.calendar-grid td{height:90px}.month-year-btn{font-size:.9rem;padding:6px 8px}.calendar-nav{gap:6px}}@media (max-width:768px){.calendar-page{gap:1rem;padding:1rem}.calendar-nav{flex-wrap:wrap;justify-content:space-between}.calendar-grid th{font-size:.7rem;padding:.5rem}.calendar-grid td{height:80px}.cal-badges{gap:2px;margin-top:14px}.event-popover{max-width:340px;padding:.8rem 1rem;width:90%}.day-drawer{width:320px}}@media (max-width:480px){.calendar-page{padding:.75rem}.calendar-nav{flex-direction:column;gap:8px}.month-year-btn{justify-content:center;width:100%}.calendar-grid{font-size:.8rem}.calendar-grid th{padding:6px 4px}.calendar-grid td{height:60px}.cal-date{font-size:.7rem}.event-popover{border-radius:10px;width:calc(100vw - 32px)}.day-drawer{max-width:none;width:100%}.btn-muted,.btn-save{font-size:.9rem;padding:8px 12px}@media (max-width:768px){.month-picker{border-radius:10px;box-shadow:0 6px 20px #00000026;left:50%;max-width:340px;padding:12px;right:auto;top:50px;transform:translateX(-50%);width:95%}.month-grid{gap:8px;grid-template-columns:repeat(3,1fr)}.month-option,.year-option{font-size:.9rem;padding:8px 0}.year-scroll{gap:6px;padding:4px 0}}@media (max-width:480px){.month-picker{border-radius:14px 14px 0 0;bottom:0;box-shadow:0 -6px 22px #00000040;left:0;max-height:60vh;overflow-y:auto;padding:16px;position:fixed;right:0;top:auto;transform:none;width:100%;z-index:1800}.month-grid{gap:10px;grid-template-columns:repeat(2,1fr)}.month-option,.year-option{border-radius:8px;font-size:1rem;padding:10px 0}.year-scroll{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;scrollbar-width:thin}}}@keyframes overlayFade{0%{opacity:0}to{opacity:1}}@keyframes popoverIn{0%{opacity:0;transform:translate3d(-50%,-50%,0) translateY(12px) scale(.96)}to{opacity:1;transform:translate3d(-50%,-50%,0) translateY(0) scale(1)}}@keyframes drawerSlideIn{0%{opacity:.6;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes drawerOverlayFade{0%{opacity:0}to{opacity:1}}@keyframes modalPop{0%{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.popover-overlay{animation:overlayFade .25s ease-out forwards}.event-popover.open{animation:popoverIn .28s cubic-bezier(.25,.9,.3,1) forwards}.day-drawer-overlay{animation:drawerOverlayFade .25s ease-out forwards}.day-drawer{animation:drawerSlideIn .28s cubic-bezier(.25,.9,.3,1) forwards}.delete-modal{animation:modalPop .28s cubic-bezier(.25,.9,.3,1) forwards}.cal-badge{align-items:center;background:#f6faf8;border-radius:999px;box-shadow:0 2px 6px #0000000f;color:#044c38;display:inline-flex;font-size:.78rem;font-weight:700;gap:6px;height:24px;max-width:140px;min-height:24px;overflow:hidden;padding:4px 8px;text-overflow:ellipsis;white-space:nowrap}.cal-badge.done{opacity:.6;text-decoration:line-through}.cal-badges{bottom:10px;display:flex;flex-direction:column;gap:4px;left:12px;max-height:52px;overflow:hidden;position:absolute}.gc-time-container{align-items:center;display:flex;gap:10px;margin:6px 0 10px}.gc-time-field{align-items:center;background:#fff;border:1px solid #d9dde1;border-radius:8px;color:#111;display:flex;font-size:.9rem;font-weight:500;justify-content:space-between;padding:4px 6px;transition:box-shadow .2s ease,border .2s ease;width:125px}.gc-time-field:focus-within{border:1px solid var(--accent-strong-2);box-shadow:0 0 0 2px #00767326}.gc-time-field input{-webkit-appearance:textfield;appearance:textfield;background:#0000;border:none;color:#111;font-size:.9rem;font-weight:500;outline:none;text-align:center;width:28px}.gc-time-field input::-webkit-inner-spin-button,.gc-time-field input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.gc-time-field span{color:#555;font-size:.9rem;font-weight:600}.gc-ampm{background:#0000;border:none;border-radius:6px;color:#555;cursor:pointer;font-size:.85rem;font-weight:600;padding:2px 5px;transition:background .2s ease,color .2s ease}.gc-ampm:hover{background:#f1f3f4;color:#111}.gc-dash{color:#777;font-size:1rem;font-weight:600}.todos-page{background:#0000;box-sizing:border-box;color:var(--text);display:flex;flex-direction:column;font-family:Inter,system-ui,sans-serif;gap:1rem;padding:24px 32px;width:100%}.todos-page .todos-heading{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.todos-page .todos-left h2{font-size:22px;font-weight:700;margin:0}.todos-page .todos-card{background:var(--card-bg);border:1px solid #00000008;border-radius:var(--radius);box-shadow:var(--card-shadow);padding:12px}.todos-page .todos-list{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}.todos-page .todo-row{align-items:center;background:#fff;border-radius:10px;display:flex;gap:12px;padding:12px;transition:background .12s ease,transform .08s ease}.todos-page .todo-row:hover{background:#fbfbfb;transform:translateY(-2px)}.todos-page .todo-row.done .todo-title{color:#999;text-decoration:line-through}.todos-page .todo-left{align-items:center;cursor:pointer;display:flex;flex:1 1;gap:12px}.todos-page .todo-left input[type=checkbox]{accent-color:#62794e;height:18px;width:18px}.todos-page .todo-main{display:flex;flex-direction:column;gap:6px}.todos-page .todo-title{color:var(--text);font-size:14px;font-weight:700}.todos-page .todo-meta{color:var(--muted);font-size:13px}.todos-page .todo-actions{align-items:center;display:flex;gap:8px}.todos-page .link-btn{background:#0000;border:none;border-radius:6px;color:var(--muted);cursor:pointer;font-weight:700;padding:6px 8px;transition:background .12s ease,color .12s ease}.todos-page .link-btn:hover{background:#f3f4f5;color:var(--text)}.todos-page .link-btn.danger{color:#ef4444}.todos-page .link-btn.danger:hover{background:#fdecec}.todos-page .empty{color:var(--muted);font-size:14px;padding:28px;text-align:center}.todos-page .completed-section{margin-top:1.5rem}.todos-page .completed-heading{color:#666;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.todo-modal-overlay{align-items:center;-webkit-backdrop-filter:none;backdrop-filter:none;background:#00000047;display:flex;inset:0;justify-content:center;opacity:0;pointer-events:none;position:fixed;transition:opacity .28s cubic-bezier(.25,.9,.3,1);will-change:opacity;z-index:5000}.todo-modal-overlay.show{animation:todoOverlayFade .22s ease-out forwards;opacity:1;pointer-events:auto}.todo-modal-card{background:#fff;border-radius:16px;box-shadow:0 16px 38px #00000029,0 4px 10px #0000000d;display:flex;flex-direction:column;gap:18px;max-width:95%;opacity:0;padding:28px 32px;transform:translate3d(0,20px,0) scale(.97);transition:opacity .34s cubic-bezier(.25,.9,.3,1),transform .34s cubic-bezier(.25,.9,.3,1);width:clamp(420px,56vw,680px);will-change:transform,opacity}.todo-modal-card.show{animation:todoModalIn .26s cubic-bezier(.25,.9,.3,1) forwards;opacity:1;transform:translateZ(0) scale(1)}@keyframes todoOverlayFade{0%{opacity:0}to{opacity:1}}@keyframes todoModalIn{0%{opacity:0;transform:translate3d(0,18px,0) scale(.97)}to{opacity:1;transform:translateZ(0) scale(1)}}.todo-modal-head{align-items:center;display:flex;justify-content:space-between}.todo-modal-title{color:#111827;font-size:1.32rem;font-weight:700;margin:0}.todo-modal-close{background:none;border:none;color:#6b7280;cursor:pointer;font-size:1.4rem;transition:color .2s ease,transform .15s ease}.todo-modal-close:hover{color:#111;transform:scale(1.1)}.todo-modal-form{grid-gap:18px 24px;gap:18px 24px}.todo-modal-form label{font-size:13px}.todo-modal-form input,.todo-modal-form select,.todo-modal-form textarea{background:#fff;border:1px solid #d1d5db;border-radius:10px;font-size:14px;margin-top:6px;padding:11px 13px;transition:border-color .22s ease,box-shadow .22s ease,background .22s ease}.todo-modal-form input:focus,.todo-modal-form select:focus,.todo-modal-form textarea:focus{border-color:#a5d27d;box-shadow:0 0 0 3px #a5d27d40;outline:none}.todo-modal-form textarea{grid-column:1/-1;min-height:95px}.todo-modal-actions{gap:12px;margin-top:6px}.todo-btn{align-items:center;border:1px solid #0000;border-radius:999px;box-sizing:border-box;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;height:38px;justify-content:center;line-height:1;min-width:112px;padding:10px 22px;transition:background .18s ease,transform .18s ease}.todo-btn.cancel{background:#f4f5f6;border:1px solid #d3d5da;color:#374151;min-width:100px}.todo-btn.cancel:hover{background:#e5e7eb;transform:translateY(-1px)}.todo-btn.save{background:#62794e;border:none;color:#fff}.todo-btn.save:hover{background:#93bb70;transform:translateY(-1px)}@media (max-width:768px){.todos-page{padding:1.2rem}.todo-modal-card{padding:22px 24px;width:92%}.todo-modal-form{grid-template-columns:1fr}}.todo-modal-form{grid-gap:16px 20px;display:grid;gap:16px 20px;grid-template-columns:1fr 1fr}.todo-modal-form label{color:#374151;display:flex;flex-direction:column;font-size:.9rem;font-weight:600;gap:6px}.todo-modal-form .notes-full{grid-column:1/-1}.todo-modal-form textarea{background:#fafafa;border:1px solid #e5e7eb;border-radius:8px;font-size:.85rem;min-height:80px;padding:10px 12px;resize:vertical;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.todo-modal-form textarea:focus{background:#fff;border-color:#a5d27d;box-shadow:0 0 0 3px #a5d27d40;outline:none}.todo-modal-actions{align-items:center;display:flex;gap:10px;grid-column:1/-1;justify-content:flex-end;margin-top:10px}.todo-modal-form label:has(.assignee-list){align-items:flex-start;display:flex;flex-direction:column}.assignees-header{color:#4b5563;font-size:13px;font-weight:500}.assignee-search{border:1px solid #d1d5db;display:none}.assignees-field.active .assignee-search{display:block}.assignee-list{background:#fafafa;border:1px solid #e5e7eb;border-radius:10px;max-height:140px;overflow-y:auto;padding:6px}.assignee-option{align-items:center;border-radius:8px;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:6px 8px;transition:background .12s ease}.assignee-option:hover{background:#f0f7f6}.assignee-option.checked{background:#eaf6f4}.assignee-option input{cursor:pointer}.assignee-empty{color:#9ca3af;font-size:13px;padding:10px}.assignee-search{background:#fff;border:1px solid #d6d6d6;border-radius:8px;display:block;font-size:14px;max-width:330px;padding:8px 10px}.assignee-list{margin-top:6px}.assignee-list.scrollable{background:#fafafa;border:1px solid #e5e5e5;max-height:140px}.assignees-field{display:flex;flex-direction:column;gap:6px;position:relative}.assignee-list.scrollable{background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 10px 25px #0000001f,0 4px 8px #0000000d;left:0;max-height:160px;overflow-y:auto;padding:6px;position:absolute;right:0;top:calc(100% + 6px);z-index:100}.todo-assignees{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.assignee-pill{background:#f3f4f6;color:#374151;font-weight:500;padding:2px 8px}.assignee-input{align-items:center;background:#fff;border:1px solid var(--border);border-radius:8px;cursor:text;display:flex;flex-wrap:wrap;gap:6px;padding:8px}.assignee-search{border:none;flex:1 1;min-width:120px;outline:none;padding:4px}.assignee-pill{align-items:center;background:var(--accent-soft);border-radius:999px;display:inline-flex;font-size:12px;gap:6px;padding:4px 8px;white-space:nowrap}.assignee-remove{background:none;border:none;cursor:pointer;font-size:14px;line-height:1;opacity:.6}.assignee-remove:hover{opacity:1}:root{--doc-max:2000px;--gutter:24px;--muted:#6f7478;--line:#e6eaec;--soft:#f6f7f8;--brand:#00a29e;--accent:#a5d27d;--shadow:0 16px 48px #0e1e250f;--radius:10px;--small:13px}.po-detail{background:#fff;border:1px solid #e6eaec;border:1px solid var(--line);border-radius:10px;border-radius:var(--radius);box-shadow:0 16px 48px #0e1e250f;box-shadow:var(--shadow);color:#222;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;margin:24px auto 48px;max-width:2000px;max-width:var(--doc-max);padding:28px}.po-titlebar{align-items:center;display:flex;justify-content:space-between;margin:-8px 0 14px}.po-titlebar h2{font-size:22px;font-weight:800;margin:0}.po-header{grid-gap:22px;border-bottom:1px solid #e6eaec;border-bottom:1px solid var(--line);display:grid;gap:22px;grid-template-columns:1.4fr 2.6fr 1fr;margin-bottom:18px;padding-bottom:18px}.po-company{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:64px 1fr}.po-logo{background:#f6f7f8;background:var(--soft);border:1px solid #edf1f2;border-radius:12px;display:grid;height:64px;overflow:hidden;place-items:center;width:64px}.po-logo img{height:100%;object-fit:cover;width:100%}.po-company h3{font-size:18px;font-weight:800;margin:0 0 6px}.po-company .po-address{color:#6f7478;color:var(--muted);font-size:13px;font-size:var(--small);white-space:pre-line}.po-meta{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr)}.po-meta .box{background:#fff;border:1px solid #e6eaec;border:1px solid var(--line);border-radius:8px;padding:10px 12px}.po-meta .label{color:#6f7478;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.02em;margin-bottom:6px;text-transform:uppercase}.po-meta .value{font-weight:600;line-height:1.35}.po-side{grid-gap:10px;align-content:start;display:grid;gap:10px}.po-number{grid-gap:6px;border:1px solid #e6eaec;border:1px solid var(--line);border-radius:8px;display:grid;gap:6px;padding:10px 12px}.po-number .label{color:#6f7478;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.po-number .value{font-weight:800}.po-status-badge{background:#edf8f1;border:1px solid #dfe7e2;color:#1d6b44;padding:8px 10px}.po-status-badge .dot{background:#3bb273}.po-col-img{width:72px}.po-item{grid-gap:12px;align-items:start;display:grid;grid-template-columns:56px 1fr}.po-status-select{-webkit-appearance:none;appearance:none}.po-summary{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 320px;margin-top:18px}.po-totals{background:#fff;border:1px solid #e6eaec;border:1px solid var(--line);border-radius:10px;justify-self:end;max-width:320px;padding:12px 14px;width:100%}.po-totals-row{border-bottom:1px dashed #eaeef0;font-weight:600;padding:8px 0}.po-totals-row:last-child{border-bottom:0}.po-total-final{border-top:1px solid #e6eaec;display:flex;font-size:16px;font-weight:800;justify-content:space-between;margin-top:4px;padding-top:8px}.po-pay{align-items:center;background:#a5d27d;background:var(--accent);border:none;border-radius:999px;box-shadow:0 10px 26px #7fc59a26;color:#fff;cursor:pointer;display:inline-flex;font-weight:800;gap:10px;margin-top:10px;padding:10px 12px}.po-actions{border-top:1px solid #e6eaec;border-top:1px solid var(--line);gap:10px;margin-top:18px;padding-top:14px}.po-actions .btn{background:#fafbfb;border:1px solid #e6eaec;border:1px solid var(--line);border-radius:8px;cursor:pointer;font-weight:700;padding:8px 12px}.po-actions .btn.primary{background:#a5d27d;background:var(--accent);border:none;color:#fff}@media (max-width:900px){.po-header{grid-template-columns:1fr}.po-meta{grid-template-columns:1fr 1fr}.po-summary{grid-template-columns:1fr}.po-totals{justify-self:stretch}}.po-status-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:700;gap:8px;padding:6px 12px}.po-status-badge .dot{border-radius:50%;height:8px;width:8px}.po-status-badge{background:#f1f3f5;border:1px solid #e2e5e8;color:#555}.po-status-badge .dot{background:#ccc}.po-status-badge.delivered,.po-status-badge.installed{background:#edf8f1;border:1px solid #dfe7e2;color:#1d6b44}.po-status-badge.delivered .dot,.po-status-badge.installed .dot{background:#3bb273}.po-status-badge.back-ordered{background:#fffbe6;border:1px solid #f7e2a3;color:#8a6d1d}.po-status-badge.back-ordered .dot{background:#e6b800}.po-status-badge.en-route,.po-status-badge.ordered,.po-status-badge.workroom{background:#e8f4fd;border:1px solid #b6d8f7;color:#175d96}.po-status-badge.en-route .dot,.po-status-badge.ordered .dot,.po-status-badge.workroom .dot{background:#2b8cd6}.po-items tbody td,.po-items thead th{border-bottom:1px solid #f1f3f5;padding:12px 10px;text-align:left;vertical-align:top}.po-col-img{width:40%}.po-col-status{width:20%}.po-col-num{white-space:nowrap;width:13%}.po-col-num,.po-items thead th.po-col-num{text-align:right}.po-items thead th.po-col-status{text-align:left}.po-status-select{max-width:140px;padding:6px 10px}.po-items-wrap{margin-top:4px}.po-items{border-collapse:collapse;font-size:14px;table-layout:fixed;width:100%}.po-items thead th{background:#f6f7f8;background:var(--soft);border-bottom:1px solid #e6eaec;border-bottom:1px solid var(--line);color:#6f7478;color:var(--muted);font-size:12.5px;font-weight:700;padding:12px 10px;text-align:left}.po-items tbody td{border-bottom:1px solid #f1f3f5;padding:14px 10px;vertical-align:top}.po-items tbody td.po-col-num,.po-items thead th.po-col-num{text-align:right;white-space:nowrap}.po-items tbody td.po-col-status,.po-items thead th.po-col-status{text-align:left}.po-item{align-items:flex-start;display:flex;gap:12px}.po-thumb{background:#f6f7f8;background:var(--soft);border:1px solid #edf1f2;border-radius:8px;height:56px;object-fit:cover;width:56px}.po-item-name{font-weight:700;margin-bottom:4px}.po-item-desc{color:#6f7478;color:var(--muted);font-size:12.5px;line-height:1.4;white-space:pre-line}.po-status-select{background:#fff;border:1px solid #e6eaec;border:1px solid var(--line);border-radius:8px;font-size:13px;max-width:160px;padding:8px 10px;width:100%}:root{--if-bg:#0000;--if-card-bg:#fff;--if-border:#e5e7eb;--if-border-dark:#d1d5db;--if-text:#1f2937;--if-muted:#6b7280;--if-accent:#62794e;--if-accent-light:#a5d27d;--if-glow:#a5d27d;--if-radius:12px;--if-radius-sm:6px;--if-input-h:40px;--if-gap:20px;--if-shadow:0px 1px 3px #0000000f,0px 1px 2px #0000000a}.doc-page{animation:docFadeIn .35s ease-out;background:#0000;background:var(--if-bg);box-sizing:border-box;color:#1f2937;color:var(--if-text);padding:32px 32px 80px;width:100%}.doc-header{align-items:center;display:flex;justify-content:space-between}.doc-header h1{font-size:28px;font-weight:600}.doc-number{color:#62794e;color:var(--if-accent)}.doc-back{background:#0000;border:none;color:#6b7280;color:var(--if-muted);cursor:pointer;font-size:15px;padding:6px 10px;transition:color .2s ease}.doc-back:hover{color:#62794e;color:var(--if-accent)}.if-card{background:#fff;background:var(--if-card-bg);border:1px solid #e5e7eb;border:1px solid var(--if-border);border-radius:12px;border-radius:var(--if-radius);box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;box-shadow:var(--if-shadow);margin-bottom:14px;padding:20px}.doc-info-grid{grid-gap:20px;grid-gap:var(--if-gap);align-items:flex-start;display:grid;gap:20px;gap:var(--if-gap);grid-template-columns:repeat(5,1fr)}.info-block label{color:#6b7280;color:var(--if-muted);display:inline-block;font-size:13px;font-weight:600;margin-bottom:4px}.info-block p{color:#1f2937;color:var(--if-text);font-size:14px;margin:0}.info-edit{align-items:center;display:flex;justify-content:flex-end}.edit-btn{font-size:20px;opacity:.7}.edit-btn:hover{opacity:1}.edit-pair{display:flex;gap:10px}.if-input,.if-select,.if-textarea{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--if-border);border-radius:6px;border-radius:var(--if-radius-sm);box-sizing:border-box;color:#1f2937;color:var(--if-text);font-size:14px;padding:8px 10px;width:100%}.if-input,.if-select{height:40px;height:var(--if-input-h)}.if-select{background:#fff}.if-textarea{min-height:70px;resize:vertical}.if-btn-primary{background:#62794e;background:var(--if-accent);border:none;border-radius:999px;box-shadow:0 1px 4px #4d7c0f2e;color:#fff;cursor:pointer;font-size:14px;font-weight:500;min-width:110px;padding:10px 22px;text-align:center;transition:background-color .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s ease,opacity .22s ease;white-space:nowrap}.if-btn-primary:hover{background:#a5d27d;box-shadow:0 2px 8px #4d7c0f40;transform:translateY(-1px)}.if-btn-primary:active{box-shadow:0 1px 3px #4d7c0f2e;transform:translateY(0)}.if-btn-secondary{background:#f3f4f6;border:1px solid #e5e7eb;border:1px solid var(--if-border);border-radius:999px;color:#374151;cursor:pointer;font-size:14px;font-weight:500;min-width:110px;padding:10px 22px;transition:background-color .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s ease,opacity .22s ease}.if-btn-secondary:hover{background:#e5e7eb;border-color:#d1d5db;transform:translateY(-1px)}.if-btn-secondary:active{transform:translateY(0)}.line-items-section{display:flex;flex-direction:column;gap:22px}.line-item-card{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:120px 1fr 220px 220px 80px}.li-thumb{background-position:50%;background-size:cover;border:1px solid #e5e7eb;border:1px solid var(--if-border);border-radius:6px;border-radius:var(--if-radius-sm);height:100px;width:100%}.li-desc textarea{min-height:90px}.li-title-row{align-items:center;display:flex;gap:8px;margin-bottom:6px}.li-title-row h4{font-size:15px;font-weight:600;margin:0}.tag-synced{background:#a5d27d;background:var(--if-accent-light);border-radius:6px;border-radius:var(--if-radius-sm);color:#62794e;color:var(--if-accent);font-size:12px;padding:2px 6px}.li-room-input{margin-bottom:10px}.room-dropdown{border-radius:6px;border-radius:var(--if-radius-sm);box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;box-shadow:var(--if-shadow);margin-top:2px;width:200px;z-index:20}.room-dropdown-option{padding:8px 10px}.li-col label{color:#6b7280;color:var(--if-muted);display:block;font-size:12px;font-weight:600;margin-bottom:6px;margin-top:10px}.li-col label:first-child{margin-top:0}.inline-inputs{display:flex;gap:8px}.inline-inputs .if-select{width:70px}.li-actions{align-items:flex-start;display:flex;flex-direction:column;gap:12px}.chk-label{align-items:center;display:flex;font-size:13px;gap:6px}.remove-line{background:#0000;border:none;cursor:pointer;opacity:.6}.remove-line:hover{opacity:1}.catalog-section{margin-top:30px}.catalog-header{justify-content:space-between}.catalog-header,.catalog-search{align-items:center;display:flex;margin-bottom:16px}.catalog-search{gap:8px}.catalog-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.catalog-card{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--if-border);border-radius:6px;border-radius:var(--if-radius-sm);cursor:pointer;padding:12px;position:relative;text-align:center;transition:.15s ease}.catalog-card:hover{border-color:#62794e;border-color:var(--if-accent)}.catalog-card .thumb{background-color:#f3f4f6;background-position:50%;background-size:cover;border-radius:6px;border-radius:var(--if-radius-sm);height:90px;width:100%}.catalog-card .name{color:#1f2937;color:var(--if-text);font-size:13px;margin-top:6px}.catalog-card .price{color:#6b7280;color:var(--if-muted);font-size:12px}.catalog-card .add{align-items:center;background:#62794e;background:var(--if-accent);border-radius:50%;color:#fff;display:flex;height:20px;justify-content:center;position:absolute;right:6px;top:6px;width:20px}.proposal-memo-tags{grid-gap:20px;grid-gap:var(--if-gap);display:grid;gap:20px;gap:var(--if-gap);grid-template-columns:1fr 1fr;padding-top:10px}.memo-field label,.tags-field label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}.tags-input-wrap{display:flex;gap:8px;margin-bottom:10px}.tag-list{display:flex;flex-wrap:wrap;gap:8px}.tag-pill{align-items:center;background:#e5e7eb;border-radius:999px;display:inline-flex;font-size:14px;gap:6px;height:50px;min-width:110px;padding:4px 10px}.tag-remove-btn{background:#0000;border:none;cursor:pointer;font-weight:700;opacity:.6}.tag-remove-btn:hover{opacity:1}.totals-card{margin-left:auto;margin-top:20px;width:320px}.tot-row{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--if-border);display:flex;font-size:15px;justify-content:space-between;padding:8px 0}.tot-row.total strong{color:#62794e;color:var(--if-accent);font-size:18px}.po-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;margin-top:32px}.po-actions>a,.po-actions>button,.po-actions>div{flex:0 0 auto}.modal-backdrop{background:#00000059;z-index:99}.proposal-modal-content{background:#fff;border-radius:12px;border-radius:var(--if-radius);box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;box-shadow:var(--if-shadow);max-width:calc(100vw - 48px);width:700px}.modal-backdrop{animation:modalFadeIn .25s ease forwards;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.proposal-modal-content{animation:modalSlideUp .28s cubic-bezier(.25,.9,.3,1) forwards;opacity:0;transform:translateY(40px) scale(.98)}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(40px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes docFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes proposalCascade{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.line-item-card{animation:proposalCascade .45s ease-out forwards;opacity:0}.line-item-card:first-child{animation-delay:0s}.line-item-card:nth-child(2){animation-delay:.05s}.line-item-card:nth-child(3){animation-delay:.1s}.line-item-card:nth-child(4){animation-delay:.15s}.line-item-card:nth-child(5){animation-delay:.2s}.line-item-card:nth-child(6){animation-delay:.25s}.line-item-card:nth-child(7){animation-delay:.3s}.line-item-card:nth-child(8),.line-item-card:nth-child(n+9){animation-delay:.35s}.catalog-card{animation:proposalCascade .45s ease-out forwards;opacity:0}.catalog-card:first-child{animation-delay:0s}.catalog-card:nth-child(2){animation-delay:.05s}.catalog-card:nth-child(3){animation-delay:.1s}.catalog-card:nth-child(4){animation-delay:.15s}.catalog-card:nth-child(5){animation-delay:.2s}.catalog-card:nth-child(6){animation-delay:.25s}.catalog-card:nth-child(7){animation-delay:.3s}.catalog-card:nth-child(8),.catalog-card:nth-child(n+9){animation-delay:.35s}.li-room-wrapper{position:relative;width:100%}@media (max-width:1200px){.line-item-card{grid-template-columns:100px 1fr 200px 200px}.li-actions{align-items:center;flex-direction:row;grid-column:1/-1;justify-content:flex-start}.proposal-editable{position:relative}.proposal-editable.locked .proposal-editable-content{filter:grayscale(.15);opacity:.6;pointer-events:none}.proposal-lock-cover{align-items:flex-start;background:#ffffff05;cursor:default;display:flex;inset:0;justify-content:flex-end;padding:12px;pointer-events:none;position:absolute;z-index:10}.proposal-lock-cover-msg{background:#fff7ed;border:1px solid #fed7aa;border-radius:999px;box-shadow:0 6px 18px #9a341226;color:#9a3412;font-size:.8rem;padding:6px 12px}.proposal-locked .doc-info{opacity:.7}.proposal-lock-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;position:fixed;z-index:9000}.proposal-lock-modal{background:#fff;border-radius:12px;box-shadow:0 12px 40px #0003;padding:24px;width:min(520px,90vw)}.proposal-lock-modal h3{font-size:1.1rem;margin:0 0 8px}.proposal-lock-modal p{color:#444;font-size:.95rem;margin:0 0 18px}.proposal-lock-actions{display:flex;gap:10px;justify-content:flex-end}}@media (max-width:980px){.doc-page{padding:24px}.line-item-card{grid-template-columns:1fr}.li-thumb{height:140px}.li-actions{justify-content:space-between}}.room-dropdown{animation:dropdownFade .15s ease-out;background:#fff;border:1px solid #e5e7eb;border:1px solid var(--if-border);border-radius:8px;box-shadow:0 8px 20px #0000001f;left:0;max-height:260px;opacity:1;overflow-y:auto;padding:4px 0;position:absolute;top:100%;width:220px;z-index:9999}.room-dropdown-option{cursor:pointer;font-size:14px;padding:8px 12px;transition:background .15s ease;white-space:nowrap}.room-dropdown-option:hover{background:#f3f4f6}.room-dropdown-option.create-room{color:#62794e;color:var(--if-accent);font-weight:600}.room-dropdown-option.create-room:hover{background:#eef9e4}@keyframes dropdownFade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.info-wrapper{margin:12px auto;transition:transform .25s ease,box-shadow .25s ease}.info-wrapper.editing{box-shadow:0 6px 18px #00000014;transform:scale(1.01)}.info-anim{animation:infoSlide .25s ease forwards;opacity:0;transform:translateY(-3px)}@keyframes infoSlide{to{opacity:1;transform:translateY(0)}}.fade-buttons{animation:fadeInButtons .25s ease forwards;opacity:0}@keyframes fadeInButtons{to{opacity:1}}.memo-field,.tags-field{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--if-border);border-radius:12px;border-radius:var(--if-radius);box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;box-shadow:var(--if-shadow);display:flex;flex-direction:column;gap:12px;padding:16px}.proposal-memo-tags{align-items:stretch}.memo-field textarea{flex:1 1;min-height:150px}.tags-field .tag-list{flex:1 1;overflow-y:auto;padding-right:4px}.catalog-card.selected{border-color:#a5d27d;border-color:var(--if-glow);box-shadow:0 0 0 3px #a5d27d73}.if-input:focus,.if-select:focus,.if-textarea:focus{border-color:#a5d27d;border-color:var(--if-glow);box-shadow:0 0 0 3px #a5d27d59;outline:none;transition:box-shadow .18s ease,border-color .18s ease}.totals-card .tot-row span:last-child,.totals-card .tot-row.total strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:90px;padding-left:14px;position:relative;text-align:right}.totals-card .tot-row span:last-child:before,.totals-card .tot-row.total strong:before{color:#6b7280;content:"$";left:0;position:absolute}.po-qb-divider{background:#e5e7eb;height:28px;margin:0 8px}.if-btn-qb{background:#2ca01c;border-radius:999px;color:#fff;font-weight:600}.if-btn-qb:hover{background:#238514}.if-btn-success{background:#ecfdf3;border:1px solid #86efac;border-radius:999px;color:#166534;font-weight:600}.if-currency{align-items:center;display:flex;position:relative}.if-currency-prefix{color:#6b7280;font-size:.9rem;left:12px;line-height:1;pointer-events:none;position:absolute}.if-currency .if-input{padding-left:26px}.li-client-name-input{background:#0000;border:none;font-size:14px;font-weight:600;outline:none;padding:0;width:100%}.li-client-name-input:focus{background:#f9fafb;border-radius:6px;padding:4px 6px}.tag-client-name{background:#fff;border-radius:10px;color:#3730a3;font-size:11px;margin-left:8px;padding:2px 6px}.proposal-editable{position:relative}.proposal-editable.locked .proposal-editable-content{filter:grayscale(.15);opacity:.6;pointer-events:none}.proposal-lock-cover{align-items:flex-start;background:#ffffff05;cursor:default;display:flex;inset:0;justify-content:flex-end;padding:12px;pointer-events:none;position:absolute;z-index:10}.proposal-lock-cover-msg{background:#fff7ed;border:1px solid #fed7aa;border-radius:999px;box-shadow:0 6px 18px #9a341226;color:#9a3412;font-size:.8rem;padding:6px 12px}.proposal-locked .doc-info{opacity:.7}.proposal-lock-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;position:fixed;z-index:10000}.proposal-lock-modal{background:#fff;border-radius:12px;box-shadow:0 12px 40px #0003;padding:24px;width:min(520px,90vw)}.proposal-lock-modal h3{font-size:1.1rem;margin:0 0 8px}.proposal-lock-modal p{color:#444;font-size:.95rem;margin:0 0 18px}.proposal-lock-actions{display:flex;gap:10px;justify-content:flex-end}.spm-overlay{align-items:center;animation:spm-overlay-in .16s cubic-bezier(.22,1,.36,1);background:#00000073;display:flex;inset:0;justify-content:center;position:fixed;z-index:5000}.spm-modal{animation:spm-modal-in .18s cubic-bezier(.16,1,.3,1);background:#fff;border-radius:14px;box-shadow:0 12px 38px #0000001f;padding:28px 32px;width:420px;will-change:transform,opacity}.spm-modal h2{font-size:20px;font-weight:600;margin-bottom:20px;margin-top:0}.spm-field label{font-size:14px;opacity:.75}.spm-card-element{border:1px solid #ddd;border-radius:8px;margin-bottom:15px;margin-top:6px;padding:12px}.spm-pay-btn{background:#4a6f44;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;padding:12px;width:100%}.spm-pay-btn:disabled{cursor:not-allowed;opacity:.6}.spm-cancel{background:#0000;border:none;color:#333;cursor:pointer;margin-top:10px;padding:10px;width:100%}.spm-error{color:#c0392b;font-size:14px;margin-bottom:12px;margin-top:-8px}.spm-success{text-align:center}.spm-amount-input{background:#fafafa;border:1px solid #ddd;border-radius:8px;font-size:15px;margin-bottom:12px;margin-top:6px;padding:10px 12px;width:100%}@keyframes spm-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes spm-modal-in{0%{opacity:0;transform:translate3d(0,8px,0)}to{opacity:1;transform:translateZ(0)}}.ac-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;position:fixed;z-index:5000}.ac-modal{animation:acIn .2s ease-out;background:#fff;border-radius:14px;box-shadow:0 12px 38px #0000001f;padding:22px;width:420px}@keyframes acIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ac-modal h3{font-size:1.25rem;font-weight:700;margin:0 0 14px}.ac-empty,.ac-loading{color:#555;font-size:14px;padding:12px}.ac-modal label{color:#333;display:block;font-size:14px;margin-bottom:4px;margin-top:12px}.ac-modal input,.ac-modal select{border:1px solid #d1d5db;border-radius:8px;font-size:14px;margin-bottom:6px;padding:10px;width:100%}.ac-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}.ac-apply,.ac-cancel{border:none;border-radius:8px;cursor:pointer;font-size:14px;padding:8px 16px}.ac-cancel{background:#f3f4f6}.ac-apply{background:#62794e;color:#fff}.ac-apply:disabled{cursor:not-allowed;opacity:.6}.rd-container{max-width:1200px;padding:40px 32px 120px}.tb-btn-back{background:#f3f4f6;border:1px solid #e1e1e1;border-radius:8px;color:#333;cursor:pointer;margin-bottom:28px;padding:8px 14px;transition:.15s ease}.tb-btn-back:hover{background:#e9eaeb}.rd-header-grid{grid-template-columns:1fr 260px;margin-bottom:40px}.rd-company-section{align-items:flex-start}.rd-company-name{font-size:1.35rem}.rd-company-sub{line-height:1.4}.rd-meta-section{grid-gap:8px;gap:8px}.tb-group-heading{border-bottom:1px solid #e5e7eb;color:#111827;font-size:15px;font-weight:600;margin-top:22px;padding:12px 0 6px}.rd-items-table{margin-bottom:28px;margin-top:10px}.rd-items-table td{font-size:.9rem;padding:14px 12px}.rd-items-table tbody tr:nth-child(2n){background:#fafafa}.rd-totals-box{border-radius:12px;width:280px}.rd-pay-btn{border-radius:8px;gap:6px;margin-top:16px}.rd-payments-section h3{margin-bottom:14px}.rd-payment-row{cursor:pointer}.rd-payment-row:hover{background:#fafbfd}.rd-payment-detail-row td{background:#f9fafb;padding-bottom:10px;padding-top:10px}.rd-payment-details{grid-gap:8px 14px;color:#374151;display:grid;font-size:.82rem;gap:8px 14px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}@media (max-width:900px){.rd-header-grid{gap:20px;grid-template-columns:1fr}.rd-meta-section{text-align:left}.rd-totals-box{margin-top:20px;width:100%}}@media (max-width:600px){.rd-container{padding:24px 16px 80px}.rd-items-table td,.rd-items-table th{font-size:.8rem;padding:8px}}@media print{.rd-pay-btn,.tb-action-bar{display:none!important}.rd-container{box-shadow:none!important}}.tb-action-bar{align-items:center;display:flex;flex-wrap:wrap;gap:12px 16px;justify-content:flex-start;margin:24px auto 16px;max-width:1200px;padding:0 8px}.tb-action-bar .if-btn-qb,.tb-action-bar .if-btn-success,.tb-action-bar .tb-btn-back,.tb-action-bar .tb-btn-pdf{box-sizing:border-box;font-size:.9rem;font-weight:500;line-height:1;margin-bottom:0;min-height:40px;padding:0 16px}.tb-action-bar>:first-child{margin-right:auto}.tb-btn-pdf{align-items:center;background:#111827;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:600;gap:8px;padding:10px 14px;transition:background .18s ease,transform .12s ease}.tb-btn-pdf:hover{background:#000;transform:translateY(-1px)}.tb-btn-pdf svg{stroke-width:2}@media print{.no-print{display:none!important}}.rd-ref-cell{font-size:.85rem;line-height:1.3;max-width:220px;overflow-wrap:anywhere;white-space:normal;word-break:break-all}.tb-invoice-view .rd-header-grid{align-items:start;gap:56px;margin-bottom:32px}.tb-invoice-view .rd-company-section{min-width:0}.tb-invoice-view .rd-company-sub{max-width:520px}.tb-invoice-view .rd-meta-section{min-width:220px}.tb-invoice-view .tb-group-heading{margin-top:16px}.tb-invoice-view .tb-invoice-content{grid-gap:32px;align-items:start;display:grid;gap:32px;grid-template-columns:minmax(0,1fr) 300px}.tb-invoice-view .tb-invoice-main{min-width:0}.tb-invoice-view .rd-items-table td:nth-last-child(-n+3),.tb-invoice-view .rd-items-table th:nth-last-child(-n+3),.tb-invoice-view .rd-payments-table td:last-child,.tb-invoice-view .rd-payments-table th:last-child{text-align:right}.tb-invoice-view .rd-totals-box{background:#fff;box-shadow:0 10px 30px #0f172a0f;margin-left:0;margin-top:26px;padding:20px 20px 18px;width:min(100%,320px)}.tb-invoice-view .rd-payments-section{margin-top:40px}@media (max-width:900px){.tb-action-bar>:first-child{margin-right:0}.tb-invoice-view .tb-invoice-content{gap:16px;grid-template-columns:1fr}.tb-invoice-view .rd-header-grid{gap:24px}.tb-invoice-view .rd-meta-section{min-width:0}.tb-invoice-view .rd-totals-box{margin-top:0;width:100%}}@media (max-width:600px){.tb-action-bar{padding:0}.tb-action-bar>*{justify-content:center;width:100%}}.tb-pdf-export{background:#fff;color:#1f2937;left:-10000px;opacity:1;padding:24px 28px;pointer-events:none;position:fixed;top:0;width:780px;z-index:-1}.tb-pdf-export .tb-pdf-sheet{background:#fff;font-family:Arial,sans-serif}.tb-pdf-export .tb-pdf-topbar{align-items:flex-start;color:#7b8190;display:flex;font-size:11px;gap:16px;justify-content:space-between}.tb-pdf-export .tb-pdf-company-contact{line-height:1.35}.tb-pdf-export .tb-pdf-pagecount{white-space:nowrap}.tb-pdf-export .tb-pdf-logo-wrap{align-items:center;display:flex;justify-content:center;margin:10px 0 16px;min-height:84px}.tb-pdf-export .tb-pdf-logo{max-height:58px;max-width:180px;object-fit:contain}.tb-pdf-export .tb-pdf-header-row{grid-gap:24px;align-items:start;display:grid;gap:24px;grid-template-columns:minmax(0,1fr) 265px;margin-bottom:14px}.tb-pdf-export .tb-pdf-billto h1{color:#222;font-size:17px;font-weight:500;margin:0 0 2px}.tb-pdf-export .tb-pdf-billto,.tb-pdf-export .tb-pdf-meta{font-size:12px;line-height:1.3}.tb-pdf-export .tb-pdf-description,.tb-pdf-export .tb-pdf-project-name{font-weight:700}.tb-pdf-export .tb-pdf-meta-row{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr auto;margin-bottom:3px;text-align:right}.tb-pdf-export .tb-pdf-meta-row span{font-weight:700}.tb-pdf-export .tb-pdf-body{display:flex;flex-direction:column;gap:10px}.tb-pdf-export .tb-pdf-table{border-collapse:collapse;table-layout:fixed;width:100%}.tb-pdf-export .tb-pdf-table td,.tb-pdf-export .tb-pdf-table th{font-size:11px;padding:5px 7px;vertical-align:top}.tb-pdf-export .tb-pdf-table th{background:#f1f3f5;color:#333;font-weight:700;text-align:left}.tb-pdf-export .tb-pdf-table td{border-bottom:1px solid #ececec}.tb-pdf-export .tb-pdf-table td:first-child,.tb-pdf-export .tb-pdf-table th:first-child{width:27%}.tb-pdf-export .tb-pdf-table td:nth-child(2),.tb-pdf-export .tb-pdf-table th:nth-child(2){width:39%}.tb-pdf-export .tb-pdf-table td:nth-child(n+3),.tb-pdf-export .tb-pdf-table th:nth-child(n+3){text-align:right;width:11.33%}.tb-pdf-export .tb-pdf-summary-row{grid-gap:18px;display:grid;gap:18px;grid-template-columns:minmax(0,1fr) 220px;margin-top:2px}.tb-pdf-export .tb-pdf-summary{margin-left:auto;width:100%}.tb-pdf-export .tb-pdf-summary-item{grid-gap:12px;display:grid;font-size:12px;gap:12px;grid-template-columns:1fr auto;padding:2px 0}.tb-pdf-export .tb-pdf-summary-item span{font-weight:700;text-align:right}.tb-pdf-export .tb-pdf-summary-item strong{text-align:right}.tb-pdf-export .tb-pdf-summary-total{font-size:13px}.tb-pdf-export .tb-pdf-footer{margin-top:34px}.tb-pdf-export .tb-pdf-footer-line{background:#d9d9d9;height:1px}.tb-pdf-export .tb-pdf-footer-copy{color:#7b8190;font-size:10px;line-height:1.35;padding-top:14px;text-align:center}.public-proposal-wrapper{--pp-bg:#f6f7f8;--pp-card:#fff;--pp-border:#e5e7eb;--pp-muted:#6b7280;--pp-text:#111827;--pp-accent:#62794e;--pp-danger:#b43c3c;--pp-radius:16px;--pp-shadow:0 12px 32px #00000014;background:var(--pp-bg);color:var(--pp-text);font-family:Inter,system-ui,sans-serif;inset:0;overflow-x:hidden;overflow-y:auto;padding-bottom:calc(96px + env(safe-area-inset-bottom));position:fixed;z-index:9999}.public-topbar{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(180deg,#ffffffe6,#fff0);display:flex;height:80px;justify-content:center;position:-webkit-sticky;position:sticky;top:0;z-index:40}.public-topbar img{height:96px}.public-layout{margin:48px auto 0;max-width:1280px;padding:0 24px}.public-content,.public-layout{display:flex;justify-content:center}.public-content{width:100%}.public-proposal-card{background:var(--pp-card);border:1px solid var(--pp-border);border-radius:var(--pp-radius);box-shadow:var(--pp-shadow);max-width:820px;padding:40px;width:100%}.public-header{margin-bottom:32px}.public-status{border-radius:999px;display:inline-block;font-size:.75rem;font-weight:600;margin-top:10px;padding:6px 14px}.status-approved{background:#e8f7ed;color:#256d3b}.status-changes_requested{background:#fff1f2;color:#9f1239}.public-info-grid{grid-gap:24px 40px;display:grid;gap:24px 40px;grid-template-columns:repeat(2,1fr);margin-bottom:36px}.public-info-grid strong{color:var(--pp-muted);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase}.proposal-table{border-collapse:collapse;width:100%}.proposal-table th{color:var(--pp-muted);font-size:.65rem;padding-bottom:8px;text-align:left}.proposal-table td{border-bottom:1px solid #eef0f2;padding:24px 6px;vertical-align:top}.item-block{align-items:flex-start;display:flex;gap:18px}.item-img{background:#fafafa;border-radius:10px;height:72px;object-fit:cover;width:72px}.item-title{font-size:.95rem;font-weight:600}.item-room{color:var(--pp-muted);font-size:.8rem}.item-description{color:#4b5563;font-size:.82rem;line-height:1.4;margin-top:6px}.public-totals{border-top:1px solid var(--pp-border);margin-top:40px;padding-top:24px;text-align:right}.public-totals p{font-size:.95rem;margin:6px 0}.public-totals .grand{font-size:1.25rem;font-weight:700;margin-top:12px}.public-actions{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffeb;border-top:1px solid var(--pp-border);bottom:0;display:flex;gap:16px;height:50px;justify-content:center;left:0;padding:14px;position:fixed;right:0;z-index:10000}.public-actions button{border:none;border-radius:999px;cursor:pointer;font-weight:600;padding:10px 22px}.approve-btn{background:var(--pp-accent);color:#fff}.deny-btn{background:var(--pp-danger);color:#fff}.pdf-btn{background:#5465ff}@media (max-width:768px){.public-proposal-card{border-radius:14px;padding:24px}.public-info-grid{gap:20px;grid-template-columns:1fr}.proposal-table td:nth-child(n+3),.proposal-table th:nth-child(n+3){display:none}.item-img{height:56px;width:56px}}@media print{.public-actions,.public-topbar{display:none!important}.public-proposal-wrapper{overflow:visible;padding-bottom:0;position:static}.public-proposal-card{border:none;box-shadow:none}}.library-modal-overlay{align-items:center;animation:libraryOverlayFade .18s ease-out forwards;background:#00000073;display:flex;inset:0;justify-content:center;position:fixed;z-index:5000}@keyframes libraryOverlayFade{0%{opacity:0}to{opacity:1}}.library-modal-content{animation:libraryModalIn .22s cubic-bezier(.25,.9,.3,1.1) forwards;background:#fff;border-radius:14px;box-shadow:0 10px 32px #0000002e;max-width:90%;padding:24px;transform-origin:center;width:400px}@keyframes libraryModalIn{0%{opacity:0;transform:scale(.92) translateY(6px)}60%{opacity:1;transform:scale(1.02) translateY(0)}to{transform:scale(1) translateY(0)}}.library-modal-content.closing{animation:libraryModalOut .18s ease forwards}@keyframes libraryModalOut{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.96) translateY(6px)}}.library-modal-title{color:#333;font-size:18px;font-weight:600;margin:0 0 12px}.library-modal-form{display:flex;flex-direction:column;gap:12px}.library-modal-form input,.library-modal-form textarea{background:#fafafa;border:1px solid #ddd;border-radius:8px;font-size:14px;padding:10px;transition:border-color .2s,background .2s,box-shadow .2s}.library-modal-form input:focus,.library-modal-form textarea:focus{background:#fff;border-color:#a5d27d;box-shadow:0 0 0 3px #a5d27d40;outline:none}.library-modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:6px}.library-modal-save-btn{background:#62794e;border:none;border-radius:999px;color:#fff;cursor:pointer;font-weight:600;padding:8px 16px;transition:background .2s,transform .15s,box-shadow .2s}.library-modal-save-btn:hover{background:#93bb70;box-shadow:0 6px 16px #62794e40;transform:translateY(-1px)}.library-modal-cancel-btn{background:#f1f2f3;border:none;border-radius:999px;cursor:pointer;font-weight:500;padding:8px 16px;transition:background .15s,transform .15s}.library-modal-cancel-btn:hover{background:#e5e7e8;transform:translateY(-1px)}.animated-dd{font-family:Inter,sans-serif;min-width:160px;position:relative;width:-webkit-fit-content;width:fit-content}.animated-dd-trigger{align-items:center;background:#f4f4f4;border:1px solid #d9d9d9;border-radius:999px;cursor:pointer;display:flex;font-size:14px;gap:10px;height:34px;justify-content:space-between;line-height:16px;padding:8px 16px 8px 14px;transition:background-color .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s ease,opacity .22s ease}.animated-dd-trigger:hover{background:#ededed}.animated-dd-trigger.open{background:#fff;border-color:#a5d27d;box-shadow:0 0 0 3px #a5d27d47}.animated-dd-arrow{color:#555;margin-left:6px;margin-right:0;transition:transform .2s ease}.animated-dd-arrow.rotated{transform:rotate(180deg)}.animated-dd-menu{background:#fff;border:1px solid #e2e2e2;border-radius:10px;box-shadow:0 8px 24px #0000001f;left:0;opacity:0;pointer-events:none;position:absolute;top:calc(100% + 6px);transform:translateY(-4px) scale(.98);transition:opacity .2s ease,transform .2s ease;width:100%}.animated-dd-menu.show{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}.animated-dd-item{animation:ddFadeIn .25s ease forwards;cursor:pointer;font-size:14px;opacity:0;padding:10px 14px}.animated-dd-item:hover{background:#f3f8ee;color:#62794e}@keyframes ddFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.library-page{padding:20px}.library-room-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.library-room-card{background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000000d;cursor:pointer;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.library-room-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.library-room-images{background:#f7f7f7;display:flex;gap:2px;height:140px}.library-room-images img{height:100%;object-fit:cover;width:50%}.library-room-placeholder{background:#d9d9d9;border-radius:6px;flex:1 1;height:140px;width:100%}.library-room-card p{color:#333;font-size:15px;font-weight:500;margin:10px 0;text-align:center}.library-item-grid{padding-top:10px}.library-back-btn{background:none;border:none;color:#62794e;cursor:pointer;font-size:14px;margin-bottom:12px;transition:opacity .2s}.library-back-btn:hover{opacity:.6}.library-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.library-item-card{background:#fff;border-radius:10px;cursor:pointer;overflow:hidden;position:relative;transition:transform .2s ease,box-shadow .2s ease}.library-item-card:hover{box-shadow:0 6px 12px #0000001f;transform:translateY(-3px)}.library-item-card img{display:block;height:200px;object-fit:cover;width:100%}.library-overlay{align-items:center;background:#62794e73;color:#fff;display:flex;flex-direction:column;inset:0;justify-content:center;opacity:0;padding:16px;position:absolute;text-align:center;transition:opacity .3s ease}.library-item-card:hover .library-overlay{opacity:1}.library-overlay h4{font-size:18px;font-weight:600;margin:0 0 8px}.library-overlay span{font-size:16px;font-weight:500;margin-bottom:8px}.library-overlay p{font-size:14px;line-height:1.4;margin:0}.library-controls{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.library-search-row{align-items:center;display:flex;gap:12px;justify-content:space-between}.library-search-box{background:#fff;flex:1 1;max-width:350px;position:relative}.library-search-box input{background:#ececec;border:none;border-radius:999px;box-sizing:border-box;font-size:14px;height:34px;padding:0 36px 0 12px;width:100%}.library-search-icon{right:12px}.library-add-btn{background:#62794e;border:none;border-radius:999px;color:#fff;cursor:pointer;font-size:14px;padding:10px 16px;transition:background .2s;white-space:nowrap}.library-add-btn:hover{background:#93bb70}.library-filter-row{display:flex;flex-direction:column;font-size:13px;gap:6px}.library-filter-row label{color:#555;font-size:12px}.library-filter-box select{background:#ececec;border:none;border-radius:8px;font-size:14px;padding:10px 12px}.library-controls-bar{align-items:center;background:#fafafa;border:1px solid #ececec;border-radius:12px;box-shadow:0 2px 4px #00000008;display:flex;justify-content:space-between;margin:18px 0 10px;padding:12px 16px}.library-search-wrapper{flex:1 1;max-width:340px;position:relative}.library-search-wrapper input{background:#f4f4f4;border:1px solid #ddd;border-radius:999px;box-sizing:border-box;font-size:14px;height:34px;padding:0 40px 0 14px;transition:background .2s ease,border-color .2s ease;width:100%}.library-search-wrapper input:focus{background:#fff;border-color:#cdd8c3;outline:none}.library-search-icon{color:#888;font-size:16px;pointer-events:none;position:absolute;right:14px;top:50%;transform:translateY(-50%)}.library-sort-wrapper{gap:4px;min-width:160px}.library-sort-wrapper label{color:#666;font-size:12px}.library-sort-wrapper select{background:#f4f4f4;border:1px solid #ddd;border-radius:8px;cursor:pointer;font-size:14px;padding:8px 12px;transition:background .2s ease,border-color .2s ease}.library-sort-wrapper select:focus{background:#fff;border-color:#cdd8c3;outline:none}.library-add-button{background:#62794e;border:none;border-radius:999px;box-shadow:0 2px 6px #00000014;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 18px;transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease,opacity .2s ease,filter .2s ease;white-space:nowrap}.library-add-button:hover{background:#93bb70;transform:translateY(-1px)}.library-controls-row{align-items:center;display:flex;gap:14px;justify-content:space-between;margin-bottom:18px}.add-section-modal-overlay{background:#00000073;inset:0!important;position:fixed!important;z-index:9999!important}.add-section-modal{background:#fff;border-radius:10px;box-shadow:0 20px 60px #0000002e;left:50%!important;max-width:94%;padding:24px;position:fixed!important;top:50%!important;transform:translate(-50%,-50%)!important;width:480px;z-index:10000!important}@keyframes libraryCascade{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.library-item-card,.library-room-card{animation:libraryCascade .45s ease both;opacity:0}.library-item-card:first-child,.library-room-card:first-child{animation-delay:0s}.library-item-card:nth-child(2),.library-room-card:nth-child(2){animation-delay:.05s}.library-item-card:nth-child(3),.library-room-card:nth-child(3){animation-delay:.1s}.library-item-card:nth-child(4),.library-room-card:nth-child(4){animation-delay:.15s}.library-item-card:nth-child(5),.library-room-card:nth-child(5){animation-delay:.2s}.library-item-card:nth-child(6),.library-room-card:nth-child(6){animation-delay:.25s}.library-item-card:nth-child(7),.library-room-card:nth-child(7){animation-delay:.3s}.library-item-card:nth-child(8),.library-item-card:nth-child(n+9),.library-room-card:nth-child(8),.library-room-card:nth-child(n+9){animation-delay:.35s}.library-search-box input:focus,.library-search-wrapper input:focus{background:#fff;border-color:#a5d27d;box-shadow:0 0 0 2px #a5d27d47;outline:none;transition:box-shadow .2s ease,border-color .2s ease}.library-room-card{transition:transform .25s ease,box-shadow .25s ease,filter .25s ease}.library-room-card:hover{box-shadow:0 8px 22px #62794e38;filter:brightness(1.03);transform:translateY(-4px) scale(1.02)}.library-room-card img{transition:transform .35s ease}.library-room-card:hover img{transform:scale(1.08)}.library-sort-select{-moz-appearance:none;background:#f4f4f4 url("data:image/svg+xml;utf8,<svg fill=%27%23888%27 height=%2716%27 viewBox=%270 0 20 20%27 width=%2716%27 xmlns=%27http://www.w3.org/2000/svg%27><path d=%27M5.516 7.548L10 12.032l4.484-4.484L16 8.064l-6 6-6-6z%27/></svg>") no-repeat right 14px center;border:1px solid #d9d9d9;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease}.library-sort-select:hover{background-color:#ededed}.library-sort-wrapper{display:flex;flex-direction:column;gap:6px}.library-sort-wrapper label{color:#475569;font-size:14px;font-weight:600;margin-left:4px}.library-sort-row{align-items:center;display:flex;gap:12px;margin-bottom:14px}.library-sort-select{-webkit-appearance:none;appearance:none;background:#fafafa url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='%23888'%3E%3Cpath d='m5 7 5 5 5-5z'/%3E%3C/svg%3E") no-repeat right 14px center;background-size:16px;border:1px solid #dcdcdc;border-radius:999px;cursor:pointer;font-size:14px;padding:10px 38px 10px 14px;transition:border-color .2s,background-color .2s,box-shadow .2s}.library-sort-select:hover{background-color:#f0f0f0}.library-sort-select:focus{background-color:#fff;border-color:#a5d27d;box-shadow:0 0 0 3px #a5d27d47;outline:none}.library-top-buttons{display:flex;gap:10px}.library-cancel-delete,.library-delete-button{background:#fff3f3;border:1px solid #e0b4b4;border-radius:999px;color:#a33;cursor:pointer;font-size:14px;padding:10px 16px;transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease,opacity .2s ease,filter .2s ease}.library-delete-button:hover{background:#ffe5e5}.room-delete-check{background:#fff;border:2px solid #bbb;border-radius:50%;height:20px;position:absolute;right:10px;top:10px;transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease,opacity .2s ease,filter .2s ease;width:20px}.room-delete-check.checked{background:#a5d27d;border-color:#62794e}.library-delete-bar{align-items:center;background:#fff;border-radius:12px;bottom:20px;box-shadow:0 4px 20px #00000026;display:flex;gap:20px;left:50%;padding:12px 22px;position:fixed;transform:translateX(-50%)}.library-delete-confirm-btn{background:#b43636;border:none;border-radius:8px;color:#fff;cursor:pointer;padding:8px 16px}.library-delete-confirm-btn:hover{background:#992c2c}@keyframes roomWobble{0%{transform:rotate(-.4deg)}50%{transform:rotate(.5deg)}to{transform:rotate(-.4deg)}}.library-room-card.delete-mode{animation:roomWobble .22s ease-in-out infinite;transform-origin:center center}.library-room-card.selected{box-shadow:0 0 0 3px #a5d27d73!important;filter:brightness(1.05)}.room-select-circle{align-items:center;animation:popIn .2s ease-out forwards;background:#fff;border:2px solid #a5d27d;border-radius:50%;display:flex;height:22px;justify-content:center;left:10px;width:22px;z-index:20}.room-select-circle .inner{background:#0000;border-radius:50%;height:10px;transition:background .2s ease;width:10px}.room-select-circle.checked{background:#a5d27d;border-color:#7fb05d}.room-select-circle.checked .inner{background:#fff}@keyframes popIn{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.library-room-card.delete-mode .library-placeholder-block,.library-room-card.delete-mode .library-room-images img{opacity:1!important;visibility:visible!important}.library-room-images{position:static!important}.library-room-card.delete-mode{animation:none!important;opacity:1!important}.library-room-card.delete-mode img{opacity:1!important}.library-room-click{inset:0;pointer-events:all;position:absolute;z-index:5}.library-room-card{position:relative}.room-select-circle{pointer-events:all;position:absolute;right:10px;top:10px;z-index:10}.library-item-card.clickable{cursor:pointer}.retainer-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000047;display:flex;inset:0;justify-content:center;position:fixed;z-index:6000}.retainer-modal{animation:fadeIn .18s ease-out forwards;background:#fff;border-radius:14px;box-shadow:0 18px 40px #0000001f;max-width:95%;padding:28px;width:560px}.retainer-modal-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.retainer-modal-head h3{color:#111;font-size:1.25rem;font-weight:700;margin:0}.retainer-number{color:#3b3b3b;font-size:1.1rem;font-weight:600}.retainer-form{display:flex;flex-direction:column;gap:14px}.retainer-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.retainer-form input,.retainer-form textarea{border:1px solid #ccc;border-radius:8px;font-size:.95rem;padding:10px 12px;resize:none;width:100%}.retainer-form textarea{min-height:70px}.retainer-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}.retainer-cancel{background:#e5e5e5;padding:8px 18px}.retainer-cancel,.retainer-save{border:none;border-radius:999px;cursor:pointer;font-weight:600}.retainer-save{background:#62794e;color:#fff;padding:8px 22px}.retainer-save:hover{background:#93bb70}.retainer-field{display:flex;flex-direction:column;gap:4px}.retainer-field label{color:#6b7280;font-size:.75rem;font-weight:500;padding-left:2px}.retainer-field input[type=date]{background:#fff;border:1px solid #ccc;border-radius:6px;font-size:.9rem;padding:10px 12px}.retainer-error-msg{background:#fdecea;border:1px solid #f5c2c0;border-radius:6px;color:#b91c1c;font-size:.85rem;margin-bottom:10px;padding:10px 14px}.input-error{border:1px solid #dc2626!important;box-shadow:0 0 0 3px #dc262626}.manualcredit-overlay{align-items:center;animation:manualcredit-fadeIn .2s ease-out;background:#00000059;display:flex;inset:0;justify-content:center;position:fixed;z-index:1200}@keyframes manualcredit-fadeIn{0%{opacity:0}to{opacity:1}}.manualcredit-card{animation:manualcredit-popIn .25s cubic-bezier(.25,.9,.3,1);background:#fff;border-radius:14px;box-shadow:0 12px 38px #0000001f;display:flex;flex-direction:column;gap:18px;padding:24px 28px;width:clamp(420px,60vw,540px)}@keyframes manualcredit-popIn{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.manualcredit-head{align-items:center;display:flex;justify-content:space-between}.manualcredit-head h3{color:#111827;font-size:1.25rem;font-weight:700;margin:0}.manualcredit-close{background:none;border:none;color:#6b7280;cursor:pointer;font-size:1.6rem;transition:color .15s ease}.manualcredit-close:hover{color:#111827}.manualcredit-body{display:flex;flex-direction:column;gap:14px}.manualcredit-label{color:#374151;font-size:.85rem;font-weight:600}.manualcredit-input{border:1px solid #d1d5db;border-radius:8px;font-size:.95rem;padding:10px 12px;transition:border .15s ease,box-shadow .15s ease;width:100%}.manualcredit-input:focus{background:#fff;border-color:#a5d27d;box-shadow:0 0 0 3px #a5d27d40;outline:none}.manualcredit-footer{display:flex;gap:10px;justify-content:flex-end}.manualcredit-btn-primary,.manualcredit-btn-secondary{transition:background .15s ease}.manualcredit-btn-primary:hover{background:#a5d27d}.manualcredit-btn-primary,.manualcredit-btn-secondary{transition:background .2s ease,transform .18s ease,box-shadow .18s ease}.manualcredit-btn-secondary{background:#e5e7eb;border:none;border-radius:999px;cursor:pointer;font-weight:600;padding:8px 14px}.manualcredit-btn-secondary:hover{background:#d1d5db;box-shadow:0 2px 6px #00000012;transform:translateY(-1px)}.manualcredit-btn-secondary:active{box-shadow:none;transform:translateY(0) scale(.98)}.manualcredit-btn-primary{background:#62794e;border:none;border-radius:999px;color:#fff;cursor:pointer;font-weight:600;padding:8px 18px}.manualcredit-btn-primary:hover{background:#7fa263;box-shadow:0 4px 10px #62794e40;transform:translateY(-1px) scale(1.03)}.manualcredit-btn-primary:active{box-shadow:none;transform:translateY(0) scale(.97)}.rd-container{color:#1a1a1a;font-family:Inter,sans-serif;margin:0 auto;max-width:1100px;padding:40px 0 120px}.rd-header-grid{grid-gap:40px;display:grid;gap:40px;grid-template-columns:1fr 240px;margin-bottom:35px}.rd-company-section{display:flex;gap:16px}.rd-company-logo{height:72px;object-fit:cover;width:72px}.rd-company-name{font-size:1.4rem;font-weight:600;margin-bottom:4px}.rd-company-sub{color:#444;font-size:.9rem;line-height:1.35}.rd-meta-section{grid-gap:4px;align-content:start;display:grid;gap:4px;text-align:right}.rd-meta-label{color:#888;font-size:.75rem}.rd-meta-value{font-size:1.2rem;font-weight:600}.rd-meta-date{color:#666;font-size:.85rem}.rd-status-pill{border-radius:14px;display:inline-block;font-size:.75rem;font-weight:500;justify-self:end;padding:4px 12px}.rd-status-open{background:#fff8e6;color:#b88200}.rd-status-partial{background:#e9f3ff;color:#0064c8}.rd-status-paid{background:#e8f7ed;color:#0b7a38}.rd-items-table{border-collapse:collapse;margin-bottom:40px;width:100%}.rd-items-table th{background:#f7f9fc;border-bottom:1px solid #e2e2e2;font-size:.85rem;font-weight:600;padding:12px;text-align:left}.rd-items-table td{border-bottom:1px solid #efefef;padding:16px 12px;vertical-align:middle}.rd-item-img-wrapper{background:#ddd;height:54px;width:54px}.rd-totals-box{background:#fafafa;border:1px solid #e6e6e6;border-radius:10px;margin-left:auto;padding:18px 20px;width:260px}.rd-totals-row{display:flex;font-size:.9rem;justify-content:space-between;padding:6px 0}.rd-total{font-size:1rem;font-weight:600}.rd-pay-btn{align-items:center;background:#046c4e;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.95rem;justify-content:center;margin-top:14px;padding:12px 16px;transition:.15s ease;width:100%}.rd-pay-btn:hover{background:#035a40}.rd-payments-section{margin-top:50px}.rd-payments-section h3{font-size:1.1rem;font-weight:600;margin-bottom:12px}.rd-empty{background:#fafafa;border:1px solid #ececec;border-radius:8px;font-size:.9rem;padding:14px}.rd-payments-table{border-collapse:collapse;width:100%}.rd-payments-table th{background:#f7f9fc;border-bottom:1px solid #e6e6e6;color:#555;font-size:.8rem;padding:12px;text-align:left}.rd-payments-table td{border-bottom:1px solid #efefef;font-size:.9rem;padding:12px}.rd-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1500}.rd-choice-modal{animation:fadeUp .18s cubic-bezier(.16,1,.3,1);background:#fff;border-radius:12px;padding:24px 26px;position:relative;width:340px}.rd-choice-close{background:none;border:none;cursor:pointer;position:absolute;right:12px;top:12px}.rd-choice-sub{color:#666;font-size:.85rem;margin-bottom:16px;margin-top:-6px}.rd-choice-buttons{grid-gap:12px;display:grid;gap:12px}.rd-choice-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:.95rem;gap:10px;padding:12px 14px;transition:.15s;width:100%}.rd-choice-btn .rd-choice-icon{margin-left:4px}.rd-stripe{background:#eff6ff;color:#1d4ed8}.rd-stripe:hover{background:#dbeafe}.rd-manual{background:#f0fdf4;color:#15803d}.rd-manual:hover{background:#dcfce7}.rd-modal{animation:fadeUp .18s cubic-bezier(.16,1,.3,1);background:#fff;border-radius:12px;padding:22px 26px;width:360px}.rd-modal label{display:block;font-size:.85rem;margin-top:12px}.rd-modal input,.rd-modal select{border:1px solid #ddd;border-radius:6px;font-size:.9rem;margin-top:6px;padding:10px;width:100%}.rd-modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:18px}.rd-save{background:#62794e;border:none;border-radius:999px;color:#fff}.rd-cancel,.rd-save{cursor:pointer;padding:8px 14px}.rd-cancel{background:#f3f3f3;border:1px solid #ddd;border-radius:999px}.rd-footer-actions{display:flex;gap:16px;justify-content:flex-end;margin-top:60px}.rd-footer-actions button{background:none;border:none;color:#555;cursor:pointer;font-size:.9rem;text-decoration:underline}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.rd-company-logo{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:10px;flex-shrink:0;height:64px;object-fit:contain;object-position:center;padding:6px;width:64px}.rd-item-img-wrapper{align-items:center;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;display:flex;height:58px;justify-content:center;overflow:hidden;width:58px}.rd-item-img{height:100%;object-fit:cover;object-position:center;width:100%}.rd-item-img.is-default-logo{background:#f3f4f6;object-fit:contain;padding:6px}.link-btn{background:#0000;border:none;border-radius:6px;color:var(--muted);cursor:pointer;font-weight:700;padding:6px 8px;transition:background .12s ease,color .12s ease}.link-btn:hover{background:#f3f4f5;color:var(--text)}.link-btn.danger{color:#ef4444}.link-btn.danger:hover{background:#fdecec}.rd-allowance-container{color:#111827;font-family:Inter,system-ui,sans-serif;margin:32px auto 80px;max-width:1000px}.rd-header{display:flex;justify-content:space-between;margin-bottom:32px}.rd-project{align-items:center;display:flex;gap:14px}.rd-project-logo{border-radius:8px;height:48px;object-fit:cover;width:48px}.rd-meta{color:#6b7280;font-size:.85rem;text-align:right}.rd-allowance-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 12px 30px #0000000f;padding:28px}.rd-allowance-card h3{margin-bottom:20px}.rd-allowance-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(3,1fr)}.rd-allowance-grid label{color:#6b7280;font-size:.7rem;text-transform:uppercase}.rd-allowance-grid span{display:block;font-size:1rem;font-weight:600;margin-top:4px}.rd-remaining{color:#3b873e}.rd-add-funds{align-items:center;background:#62794e;border:none;border-radius:999px;color:#fff;cursor:pointer;display:inline-flex;font-weight:600;gap:8px;margin-top:24px;padding:10px 18px}.rd-activity{margin-top:48px}.rd-activity table{border-collapse:collapse;margin-top:12px;width:100%}.rd-activity td,.rd-activity th{border-bottom:1px solid #e5e7eb;font-size:.9rem;padding:10px}.rd-overlay{align-items:center;background:#0006;display:flex;inset:0;justify-content:center;position:fixed}.rd-choice{background:#fff;border-radius:14px;padding:24px;width:320px}.rd-choice button{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;margin-top:10px;padding:10px;width:100%}.rd-close{background:none;border:none;position:absolute;right:12px;top:12px}.rd-retainer-funded-note{align-items:center;animation:fadeIn .2s ease-out;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;color:#374151;display:flex;font-size:.85rem;font-weight:500;justify-content:center;margin-top:14px;padding:10px 14px;text-align:center}.rd-retainer-funded-note:before{align-items:center;background:#e8f7ed;border-radius:50%;color:#0b7a38;content:"✓";display:inline-flex;font-size:.7rem;font-weight:700;height:18px;justify-content:center;margin-right:8px;width:18px}.po-qb-divider{align-self:stretch;background:var(--border);flex:0 0 1px;margin:0 12px;min-height:28px;width:1px}.if-btn-qb{align-items:center;background:#eaf6ea;border:1px solid #2ca01c;border-radius:8px;color:#1d6f12;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:8px;padding:8px 14px;transition:background .15s ease,border-color .15s ease,transform .05s ease;white-space:nowrap}.if-btn-qb:hover:not(:disabled){background:#def1de;border-color:#249115}.if-btn-qb:active:not(:disabled){transform:translateY(1px)}.if-btn-qb:disabled{cursor:not-allowed;opacity:.6}.if-btn-success{align-items:center;background:#f4fbf4;border:1px solid #cde8cd;border-radius:8px;color:#1d6f12;display:inline-flex;font-size:13px;font-weight:500;gap:8px;padding:8px 14px;text-decoration:none;white-space:nowrap}.if-btn-success:hover{background:#eaf6ea}.qb-badge{align-items:center;background:#2ca01c;border-radius:6px;color:#fff;display:inline-flex;font-size:11px;font-weight:600;margin-left:6px;padding:2px 6px}.invoice-pdf{background:#fff;color:#222;font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:1.3;padding:24px 28px 40px}.invoice-pdf__header{margin-bottom:18px}.invoice-pdf__company{align-items:flex-start;display:flex;gap:24px;justify-content:space-between}.invoice-pdf__company-copy{color:#3a3a3a;font-size:11px;max-width:420px}.invoice-pdf__company-name{font-size:17px;font-weight:700;margin-bottom:4px}.invoice-pdf__logo{max-height:72px;max-width:180px;object-fit:contain}.invoice-pdf__overview{margin-top:34px}.invoice-pdf__title{font-size:34px;font-weight:300;margin-bottom:16px}.invoice-pdf__summary-grid{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:minmax(0,1fr) 220px}.invoice-pdf__project{color:#444;font-size:11px;font-weight:600;text-transform:uppercase}.invoice-pdf__description{margin-top:8px}.invoice-pdf__meta{font-size:11px}.invoice-pdf__meta-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:88px 1fr;margin-bottom:6px}.invoice-pdf__meta-row span{color:#555;text-align:right}.invoice-pdf__items{margin-top:20px}.invoice-pdf__table{border-collapse:collapse;width:100%}.invoice-pdf__table td,.invoice-pdf__table th{border-bottom:1px solid #e5e5e5;padding:8px 8px 7px;text-align:left;vertical-align:top}.invoice-pdf__table thead th{background:#f3f3f3;font-size:11px;font-weight:700}.invoice-pdf__table th:first-child{width:90px}.invoice-pdf__table th:nth-child(2),.invoice-pdf__table th:nth-child(3),.invoice-pdf__table th:nth-child(4){width:70px}.invoice-pdf__table th:nth-child(6),.invoice-pdf__table th:nth-child(7){width:110px}.invoice-pdf__table td:nth-child(6),.invoice-pdf__table td:nth-child(7){white-space:nowrap}.invoice-pdf__image-cell{padding-left:4px}.invoice-pdf__image-placeholder,.invoice-pdf__item-image{background:#f4f4f4;border:1px solid #e2e2e2;height:72px;object-fit:cover;width:72px}.invoice-pdf__description-block>div+div{margin-top:2px}.invoice-pdf__table tr{page-break-inside:avoid}.invoice-pdf__totals{display:flex;justify-content:flex-end;margin-top:18px}.invoice-pdf__totals-box{min-width:320px}.invoice-pdf__totals-row{display:flex;gap:24px;justify-content:space-between;padding:3px 0}.invoice-pdf__totals-row--grand{border-top:1px solid #ddd;margin-top:4px;padding-top:8px}.invoice-pdf__totals-row--balance{font-size:13px;font-weight:700;margin-top:2px}.invoice-pdf-export{left:-10000px;position:absolute;top:0;width:900px;z-index:-1}.contacts-page{background:#0000;box-sizing:border-box;color:var(--text);display:flex;flex-direction:column;font-family:Inter,system-ui,sans-serif;min-height:auto;padding:24px 32px;width:100%}.contacts-header{grid-gap:20px;align-items:end;display:grid;gap:20px;grid-template-columns:1fr auto;margin-bottom:1.8rem}.contacts-header-left{display:flex;flex-direction:column;gap:2px}.contacts-title{color:var(--text);font-size:1.8rem;font-weight:700;margin:0}.contacts-subtitle{color:var(--muted-2);font-size:.9rem;margin:0}.contacts-header-right{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.search-wrap{align-items:center;background:#fff;border:1px solid #0000000f;border-radius:999px;box-shadow:0 2px 6px #0000000d;display:flex;flex:1 1 180px;gap:8px;min-width:220px;padding:8px 14px;transition:box-shadow .2s,border-color .2s}.search-wrap:hover{box-shadow:0 3px 10px #00000014}.search-wrap:focus-within{border-color:var(--accent-strong-2);box-shadow:0 4px 14px #52785c26}.search-wrap input{background:#0000;border:none;color:#283032;font-size:14px;min-width:0;outline:none;width:100%}.search-wrap input::placeholder{color:#a0a6aa}.clear-btn{align-items:center;background:#0000;border:none;border-radius:50%;color:var(--muted);cursor:pointer;display:flex;height:22px;justify-content:center;transition:background .15s,color .15s;width:22px}.clear-btn:hover{background:#0000000d;color:var(--text)}.filter-select{background:#fff;border:1px solid #0000000d;border-radius:999px;box-shadow:0 2px 5px #0000000a;color:var(--muted);font-weight:600;outline:none;padding:6px 12px;transition:border-color .2s,box-shadow .2s}.filter-select:hover{border-color:#62794e66;box-shadow:0 3px 8px #0000000f}.filter-select:focus{border-color:var(--accent-strong-2);box-shadow:0 4px 12px #62794e26}.btn-add{align-items:center;background:#62794e;border:none;border-radius:999px;box-shadow:0 4px 12px #62794e33;color:#fff;cursor:pointer;display:inline-flex;font-size:.88rem;font-weight:700;gap:6px;padding:8px 16px;transition:background .25s,transform .15s,box-shadow .25s}.btn-add:hover{background:#a5d27d;transform:translateY(-1px)}.contacts-table-section{align-items:flex-start;display:flex;flex:1 1;justify-content:center;overflow:hidden}.contacts-table-card{background:#fff;border:1px solid #0000000d;border-radius:14px;box-shadow:0 1px 3px #00000008,0 6px 18px #0000000a;display:flex;flex:1 1;flex-direction:column;overflow-x:auto;padding:10px 14px}.contacts-table-card::-webkit-scrollbar{height:8px;width:8px}.contacts-table-card::-webkit-scrollbar-thumb{background:#0000001a;border-radius:999px}.contacts-table-card:hover::-webkit-scrollbar-thumb{background:#0003}.contacts-table{border-collapse:collapse;font-size:13.2px;min-width:850px;table-layout:auto;width:100%}.contacts-table th{border-bottom:1px solid #f0f3f4;color:#64748b;font-size:12.6px;font-weight:700;letter-spacing:.02em;padding:6px 10px;text-align:left;white-space:nowrap}.contacts-table td{border-top:1px solid #f1f5f9;color:#334155;line-height:1.4;padding:8px 10px;vertical-align:middle;word-break:break-word}.contacts-table tr:hover{background:#fafbfb;transform:translateY(-1px);transition:background-color .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease,opacity .15s ease}.avatar-cell{width:64px}.contacts-thumbnail{border-radius:50%;height:40px;object-fit:cover;width:40px}.actions-cell{text-align:right}.edit-btn{background:#0000;border:none;border-radius:6px;color:#9ca3af;cursor:pointer;padding:3px;transition:color .2s,background .2s}.edit-btn:hover{background:#0000000a;color:var(--accent-strong-2)}@media (max-width:900px){.contacts-title{font-size:1.5rem}.contacts-subtitle{font-size:.85rem}}@media (max-width:740px){.contacts-header{gap:14px;grid-template-columns:1fr}.contacts-header-right{flex-wrap:wrap;justify-content:flex-start}.btn-add,.filter-select{flex:0 0 auto}.search-wrap{flex:1 1 100%;min-width:0}}@media (max-width:540px){.contacts-page{padding:1.2rem}.contacts-table-card{padding:6px 10px}.contacts-table{font-size:12.2px;min-width:700px}.contacts-header-right{align-items:stretch;flex-direction:column;gap:8px}.btn-add,.search-wrap{width:100%}.btn-add{justify-content:center}}.contact-modal{animation:modalIn .22s cubic-bezier(.25,.9,.3,1) forwards;border-radius:18px;box-shadow:0 12px 32px #0e1e251f;padding:28px 32px 26px;width:860px}@media (max-width:640px){.contact-modal{border-radius:14px;padding:22px 18px}.form-grid{gap:12px;grid-template-columns:1fr}.modal-actions{flex-direction:column;gap:8px}.btn.ghost,.btn.primary{width:100%}}.icon-cell{padding-left:10px;text-align:left}.copy-wrapper{align-items:center;display:inline-flex;justify-content:flex-start;position:relative}.copy-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;justify-content:center;line-height:0;padding:4px;transition:color .15s,background .15s,transform .1s}.copy-btn:hover{background:#0000000a;color:var(--accent-strong-2);transform:scale(1.05)}.mail-icon{transform:translateY(1px)}.inline-feedback{background:var(--accent-strong-2);border-radius:6px;box-shadow:0 2px 8px #0000001a;color:#fff;font-size:.75rem;font-weight:600;left:0;opacity:0;padding:3px 7px;pointer-events:none;position:absolute;top:-1.5rem;transform:translateY(4px);transition:opacity .2s,transform .2s;white-space:nowrap;z-index:50}.inline-feedback.show{opacity:1;transform:translateY(0)}.copy-toast-fixed{animation:toastIn .15s ease forwards;background:var(--accent-strong-2);border-radius:8px;box-shadow:0 4px 14px #00000026;color:#fff;font-size:.82rem;font-weight:600;opacity:0;padding:6px 12px;position:fixed;right:26px;top:18px;transform:translateY(-6px);z-index:9999}.copy-toast-fixed.fade{animation:toastOut .3s ease forwards}@keyframes toastIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes toastOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}.form-grid .notes-group,.modal-form .notes-group{display:flex;flex-direction:column;gap:6px;grid-column:1/-1}.form-grid .notes-group label,.modal-form .notes-group label{color:#374151;font-size:13px;font-weight:600;margin-left:2px}.form-grid .notes-group textarea,.modal-form .notes-group textarea{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;box-shadow:inset 0 1px 2px #00000008;color:#111827;font-size:14px;min-height:100px;padding:9px 12px;resize:vertical;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;width:100%}.form-grid .notes-group textarea::placeholder,.modal-form .notes-group textarea::placeholder{color:#9ca3af}.form-grid .notes-group textarea:hover,.modal-form .notes-group textarea:hover{background:#fefefe;border-color:#d1d5db}.form-grid .notes-group textarea:focus,.modal-form .notes-group textarea:focus{background:#fff;border-color:#a5d27d;box-shadow:0 0 0 3px #a5d27d40;outline:none}.modal-body{gap:1rem}.modal-body,.modal-body .notes-group{display:flex;flex-direction:column;width:100%}.modal-body .notes-group{grid-column:1/-1!important;margin-top:1rem}.modal-body .notes-group label{color:#374151;font-size:13px;font-weight:600;margin-bottom:6px}.modal-body .notes-group textarea{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;box-shadow:inset 0 1px 2px #00000008;color:#111827;font-size:14px;line-height:1.5;min-height:100px;padding:10px 12px;resize:vertical;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;width:100%}.modal-body .notes-group textarea::placeholder{color:#9ca3af}.modal-body .notes-group textarea:hover{background:#fefefe;border-color:#d1d5db}.modal-body .notes-group textarea:focus{background:#fff;border-color:#a5d27d;box-shadow:0 0 0 3px #a5d27d40;outline:none}.contact-modal{animation:modalIn .2s cubic-bezier(.25,.9,.3,1) forwards;background:#fff;border-radius:14px;box-shadow:0 14px 36px #0e1e251f;display:flex;flex-direction:column;gap:18px;max-width:96%;padding:22px 26px;width:740px}.contact-modal-head{align-items:center;display:flex;justify-content:space-between}.contact-modal-head h2{color:var(--text);font-size:1.28rem;font-weight:700;margin:0}.contact-modal-close{background:none;border:none;color:#6b7280;cursor:pointer;font-size:1.4rem;transition:color .2s ease,transform .15s ease}.contact-modal-close:hover{color:#111;transform:scale(1.1)}.contact-form-grid{grid-gap:14px 18px;display:grid;gap:14px 18px;grid-template-columns:1fr 1fr}.contact-form-grid .full{grid-column:1/-1}.contact-form-grid label{color:#374151;display:block;font-size:13px;font-weight:600;margin-bottom:4px}.contact-form-grid input{width:90%}.contact-form-grid input,.contact-form-grid select,.contact-form-grid textarea{background:#fafafa;border:1px solid #e3e6e8;border-radius:8px;font-size:14px;padding:8px 10px;transition:border-color .15s,background .15s,box-shadow .15s}.contact-form-grid select,.contact-form-grid textarea{width:95%}.contact-form-grid input:hover,.contact-form-grid select:hover,.contact-form-grid textarea:hover{background:#fff;border-color:#d4d7d9}.contact-form-grid input:focus,.contact-form-grid select:focus,.contact-form-grid textarea:focus{background:#fff;border-color:var(--accent-strong);box-shadow:0 0 0 2px #a5d27d40;outline:none}.contact-form-grid textarea{line-height:1.4;min-height:70px;resize:vertical}.modal-actions{align-items:center;display:flex;gap:8px;justify-content:flex-end;padding-top:4px}.btn.cancel{background:#f4f5f6;border:1px solid #d3d5da;border-radius:999px;color:#374151;cursor:pointer;font-size:14px;font-weight:600;height:38px;min-width:112px;padding:10px 22px;transition:background .18s ease,transform .18s ease}.btn.cancel:hover{background:#e5e7eb;transform:translateY(-1px)}.btn.submit{background:#62794e;border:none;border-radius:999px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;height:38px;min-width:112px;padding:10px 22px;transition:background .18s ease,transform .18s ease,box-shadow .18s ease}.btn.submit:hover{background:#93bb70;box-shadow:0 6px 14px #62794e2e;transform:translateY(-1px)}@media (max-width:640px){.contact-modal{padding:18px 16px}.contact-form-grid{gap:12px;grid-template-columns:1fr}.modal-actions{flex-direction:column}.btn.cancel,.btn.submit{width:100%}}.modal-backdrop{align-items:center;animation:contactModalOverlayFade .22s ease-out forwards;background:#00000047;display:flex;inset:0;justify-content:center;position:fixed;will-change:opacity;z-index:5000}@keyframes contactModalOverlayFade{0%{opacity:0}to{opacity:1}}@keyframes contactModalIn{0%{opacity:0;transform:translate3d(0,18px,0) scale(.96)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes contactModalOut{0%{opacity:1;transform:translateZ(0) scale(1)}to{opacity:0;transform:translate3d(0,18px,0) scale(.96)}}.contact-modal-overlay,.modal-overlay{animation:contactModalOverlayFade .28s ease-out forwards;will-change:opacity}.contact-modal{animation:contactModalIn .34s cubic-bezier(.25,.9,.3,1) forwards;opacity:0;transform:translate3d(0,18px,0) scale(.96);will-change:transform,opacity}.contact-modal.closing{animation:contactModalOut .28s cubic-bezier(.25,.9,.3,1) forwards}.settings-page{background:#fff;display:flex;flex-direction:column;gap:.75rem;min-height:100vh;padding:20px 32px}.settings-title{font-size:1.55rem;font-weight:600;margin-bottom:.25rem}.settings-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:4px}.settings-tabs a{background:#f8fafc;border:1px solid #e5e7eb;border-radius:6px;color:#444;cursor:pointer;font-size:.9rem;padding:7px 16px;text-decoration:none;transition:background .2s ease,box-shadow .2s ease}.settings-tabs a:hover{background:#eef3ee}.settings-tabs a.active{background:#62794e;border-color:#62794e;color:#fff;font-weight:600}.divider{border:none;border-bottom:1px solid #e5e7eb;margin:6px 0}.settings-content{display:flex;flex-direction:column;gap:1rem;margin-top:0;padding-top:4px}.qb-settings-wrapper{max-width:620px;padding:0}.qb-title{font-size:1.4rem}.qb-subtitle{margin-top:2px}.qb-box{background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 2px 8px #00000008;display:flex;flex-direction:column;gap:14px;margin-top:12px;padding:20px 24px}.qb-status{align-items:center;display:flex;font-size:1rem;gap:8px}.qb-status.connected{color:#059669}.qb-status.disconnected{color:#dc2626}.qb-detail{color:#4b5563;font-size:.9rem}.qb-connect-btn,.qb-disconnect-btn{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;padding:9px 18px;transition:background .2s ease,transform .15s ease;width:-webkit-fit-content;width:fit-content}.qb-connect-btn{background:#059669;color:#fff}.qb-connect-btn:hover{background:#047857;transform:translateY(-2px)}.qb-disconnect-btn{background:#dc2626;color:#fff}.qb-disconnect-btn:hover{background:#b91c1c;transform:translateY(-2px)}.qb-settings-page{display:flex;flex-direction:column;gap:1rem}.qb-title{font-size:1.45rem;font-weight:600}.qb-subtitle{color:#6b7280;font-size:.9rem;margin-bottom:10px;margin-top:-4px}.qb-card{box-shadow:0 2px 8px #00000008;max-width:420px}.qb-status-row{align-items:center;display:flex;gap:8px;margin-bottom:12px}.qb-dot{border-radius:50%;height:12px;width:12px}.qb-dot.on{background:#059669}.qb-dot.off{background:#dc2626}.qb-info{font-size:.95rem;margin-bottom:18px}.qb-button{border:none;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:600;padding:10px 20px;transition:background .2s,box-shadow .2s}.qb-button.connect{background:#059669;color:#fff}.qb-button.connect:hover{background:#047857}.qb-button.disconnect{background:#dc2626;color:#fff}.qb-button.disconnect:hover{background:#b91c1c}.qb-pulse{animation:pulseGlow 1.4s infinite}@keyframes pulseGlow{0%{box-shadow:0 0 0 0 #05966966}70%{box-shadow:0 0 0 10px #05966900}to{box-shadow:0 0 0 0 #05966900}}.qb-spinner{animation:spin .7s linear infinite;border:3px solid #fff6;border-radius:50%;border-top-color:#fff;display:inline-block;height:18px;width:18px}@keyframes spin{to{transform:rotate(1turn)}}.qb-skeleton{display:flex;flex-direction:column;gap:14px}.sk-row{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#ececec,#f3f3f3 50%,#ececec);background-size:200% 100%;border-radius:6px}.sk-title{height:14px;width:55%}.sk-line{height:12px;width:70%}.sk-btn{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#e2e2e2,#f0f0f0 50%,#e2e2e2);border-radius:8px;height:38px;width:45%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}[data-projection-id]{display:contents!important;inset:auto!important;pointer-events:auto!important;position:static!important}.qb-card{align-items:center;animation:fadeIn .25s ease-out;background:#fff;border:1px solid #e5e7eb;border-radius:12px;display:flex;justify-content:space-between;padding:22px}.qb-left{flex:1 1}.qb-right{align-items:center;display:flex;justify-content:center;padding-left:20px}.qb-logo{height:70px;opacity:.95;width:auto}.company-settings{grid-gap:40px;display:grid;gap:40px;grid-template-columns:1fr 300px}.company-form{gap:20px}.company-form,.form-row{display:flex;flex-direction:column}.form-row{gap:4px}.form-row label{color:var(--muted-1);font-size:14px;font-weight:500}.form-row input{border:1px solid var(--border);border-radius:6px;font-size:14px;height:38px;padding:0 10px}.save-btn{border:none;border-radius:999px;color:#fff;cursor:pointer;height:38px;margin-top:10px;width:120px}.save-btn:disabled{opacity:.6;pointer-events:none}.save-btn:hover{background:var(--accent-strong)}.company-logo-box{color:var(--muted-2)}.company-logo-preview{border-radius:8px;display:block;left:50%;margin:0 auto;object-fit:cover;object-position:center center;position:absolute;top:50%;transform:translate(-50%,-50%)}.company-logo-box{align-items:center;display:flex;justify-content:center}.logo-hover-overlay{background:#00000073;font-size:14px;transition:.2s ease}.company-logo-box{background:#fafafa;border:1px solid var(--border);border-radius:8px;cursor:pointer;height:280px;overflow:hidden;position:relative}.logo-inner{height:100%;position:relative;width:100%}.company-logo-preview{height:100%;object-fit:contain;padding:20px;transition:opacity .25s ease;width:100%}.company-logo-box:hover .company-logo-preview{opacity:.1}.upload-placeholder{color:var(--muted-2);font-size:14px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:opacity .25s ease}.company-logo-box:hover .upload-placeholder{opacity:0}.logo-hover-overlay{align-items:center;background:#00000080;color:#fff;display:flex;font-size:15px;font-weight:500;inset:0;justify-content:center;opacity:0;position:absolute;transition:opacity .25s ease}.company-logo-box:hover .logo-hover-overlay{opacity:1}.upload-status{color:var(--text);left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.upload-progress-bar{background:#ffffff4d;border-radius:8px 8px 0 0;height:6px;left:0;overflow:hidden;position:absolute;top:0;width:100%}.upload-progress-fill{background:var(--accent-strong);height:100%;transition:width .15s ease}.team-settings{color:#1f2937;display:flex;flex-direction:column;gap:1.5rem}.team-settings .team-header{display:flex;justify-content:flex-end;margin-top:8px}.team-settings .add-team-btn{background:#62794e;border:none;border-radius:999px;box-shadow:0 2px 6px #62794e59;color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;height:34px;padding:9px 20px;transition:background .25s ease;width:112px}.team-settings .add-team-btn:hover{background:#51653e}.team-settings .team-table table{border-collapse:initial;border-spacing:0 6px;font-size:.9rem;width:100%}.team-settings .team-table th{background:#f3f4f6;color:#1f2937;font-size:.85rem;font-weight:600;padding:12px;text-align:left;vertical-align:middle}.team-settings .team-table tr{box-shadow:0 1px 2px #0000000a}.team-settings .team-table td{animation:tableIn .24s ease-out;background:#fff;color:#1f2937;height:48px;padding:12px;text-align:left;vertical-align:middle}.team-settings .team-table tr:nth-child(2n) td{background:#f9fafb}.team-settings .action-cell svg{cursor:pointer;transition:transform .15s ease}.team-settings .action-cell{text-align:center;width:64px}.team-settings .action-cell svg:hover{transform:scale(1.15)}.team-settings .team-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000040;display:flex;inset:0;justify-content:center;position:fixed;z-index:3000}.team-settings .team-modal{animation:modalFadeIn .25s ease-out;background:#fff;border-radius:14px;box-shadow:0 12px 32px #00000026;max-width:95%;padding:2rem 2.5rem;width:560px}.team-settings .team-modal h3{color:#111827;font-size:1.2rem;font-weight:600;margin-bottom:1.4rem}.team-settings .team-form{grid-row-gap:1rem;grid-column-gap:1.2rem;column-gap:1.2rem;display:grid;grid-template-columns:100px 1fr;row-gap:1rem}.team-settings .team-form label{align-items:center;color:#374151;display:flex;font-size:.88rem;height:42px}.team-settings .team-form input{background:#fafafa;border:1px solid #d1d5db;border-radius:8px;color:#111827;height:42px;padding:0 12px}.team-settings .team-address-row{grid-gap:16px;display:grid;gap:16px;grid-column:2/-1;grid-template-columns:1.4fr .7fr .8fr}.team-settings .team-address-col{display:flex;flex-direction:column;gap:2px;width:100%}.team-settings .team-address-col label{color:#374151;font-size:.8rem}.team-settings .team-address-col input{background:#fafafa;border:1px solid #d1d5db;border-radius:8px;color:#111827;font-size:.85rem;height:36px;padding:0 10px;width:80%}.team-settings .team-address-col:first-child{animation-delay:.05s}.team-settings .team-address-col:nth-child(2){animation-delay:.12s}.team-settings .team-address-col:nth-child(3){animation-delay:.18s}.team-settings .form-actions{display:flex;gap:12px;grid-column:1/-1;justify-content:flex-end;margin-top:8px}.team-settings .team-cancel-btn,.team-settings .team-save-btn{border:none;border-radius:999px;cursor:pointer;font-size:.9rem;font-weight:500;padding:10px 22px;transition:background .25s ease,transform .15s ease;width:90px}.team-settings .team-cancel-btn{background:#e5e7eb;color:#111827}.team-settings .team-save-btn{background:#62794e;color:#fff}.team-settings .team-cancel-btn:hover,.team-settings .team-save-btn:hover{transform:translateY(-1px)}.team-settings .team-cancel-btn:active,.team-settings .team-save-btn:active{transform:translateY(0) scale(.97)}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes tableIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes rowStagger{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.taxset-container{display:flex;flex-direction:column;gap:1.5rem}.taxset-header{display:flex;justify-content:flex-end;margin-top:8px}.taxset-add-btn{background:#62794e;border:none;border-radius:999px;box-shadow:0 2px 6px #62794e;color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;height:34px;padding:8px 18px;transition:background .2s ease,box-shadow .2s ease;width:111.75px}.taxset-add-btn:hover{background:#93c07b;box-shadow:0 4px 10px #a3d18a73}.taxset-table table{border-collapse:initial;border-spacing:0 6px;font-size:.9rem;width:100%}.taxset-table th{background:#f3f4f6;border-bottom:1px solid #e5e7eb;color:#555;font-size:.85rem;font-weight:600;padding:12px;text-align:left;vertical-align:middle}.taxset-table tr{background:#fff;border-radius:6px;box-shadow:0 1px 2px #0000000a}.taxset-table td{border-top:1px solid #f3f3f3;color:#222;padding:12px;text-align:left;vertical-align:middle}.taxset-action svg{cursor:pointer;transition:transform .15s ease}.taxset-action{text-align:center;width:64px}.taxset-action svg:hover{transform:scale(1.15)}.taxset-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#14141440;display:flex;inset:0;justify-content:center;position:fixed;z-index:3000}.taxset-modal{animation:taxsetModalFadeIn .25s ease-out;background:#fff;border-radius:14px;box-shadow:0 12px 32px #00000026;max-width:95%;padding:2rem 2.5rem;width:520px}.taxset-modal h3{color:#1e1e1e;font-size:1.2rem;font-weight:600;margin-bottom:1.4rem}.taxset-form{grid-row-gap:1rem;grid-column-gap:1.2rem;align-items:center;column-gap:1.2rem;display:grid;grid-template-columns:110px 1fr;row-gap:1rem}.taxset-form label{color:#333;font-size:.88rem;font-weight:500}.taxset-form input{background:#fafafa;border:1px solid #d1d5db;border-radius:8px;font-size:.92rem;padding:10px 12px;transition:border-color .2s ease,background .2s ease;width:95%}.taxset-form input:focus{background:#fff;border-color:#62794e;box-shadow:0 0 0 2px #62794e40;outline:none}.taxset-select{background:#fafafa;border:1px solid #d1d5db;border-radius:8px;font-size:.92rem;padding:10px 12px;transition:border-color .2s ease,background .2s ease;width:95%}.taxset-select:focus{background:#fff;border-color:#62794e;box-shadow:0 0 0 2px #62794e40;outline:none}.taxset-link-btn{background:#fff;border:1px solid #62794e;border-radius:999px;color:#62794e;cursor:pointer;font-size:.82rem;margin-top:8px;padding:8px 14px}.taxset-link-btn:disabled{cursor:default;opacity:.6}.taxset-actions{display:flex;gap:12px;grid-column:1/3;justify-content:flex-end;margin-top:1.2rem}.taxset-cancel-btn,.taxset-save-btn{border:none;border-radius:999px;cursor:pointer;font-size:.85rem;font-weight:500;height:34px;min-width:90px;padding:8px 18px;transition:background .2s ease,box-shadow .2s ease;width:auto}.taxset-cancel-btn{background:#e5e7eb;color:#4b5563}.taxset-cancel-btn:hover{background:#d1d5db}.taxset-save-btn{background:#62794e;box-shadow:0 3px 6px #62794e4d;color:#fff}.taxset-save-btn:hover{background:#556844;box-shadow:0 4px 10px #62794e59}@keyframes taxsetModalFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}:root{--saleset-green:#62794e;--saleset-green-soft:#a5d27d;--saleset-text-main:#1e1e1e;--saleset-text-muted:#6b7280;--saleset-border:#e5e7eb;--saleset-bg-soft:#fafafa}.saleset-page{display:flex;flex-direction:column;gap:1.5rem}.saleset-header{align-items:center;display:flex;justify-content:space-between;margin-top:8px}.saleset-header h2{color:#1e1e1e;color:var(--saleset-text-main);font-size:1.05rem;font-weight:600;margin:0}.saleset-actions{display:flex;gap:10px;justify-content:flex-end}.saleset-primary-btn{align-items:center;background:#62794e;background:var(--saleset-green);border:none;border-radius:999px;box-shadow:0 2px 6px #62794e59;color:#fff;cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:500;gap:6px;height:34px;justify-content:center;min-width:112px;padding:0 18px;transition:background .2s ease,box-shadow .2s ease,transform .15s ease}.saleset-primary-btn:hover{background:#a5d27d;box-shadow:0 4px 10px #62794e73}.saleset-primary-btn:active{transform:translateY(1px)}.saleset-ghost-btn{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--saleset-border);border-radius:999px;color:#1e1e1e;color:var(--saleset-text-main);cursor:pointer;font-size:.85rem;font-weight:500;height:34px;padding:8px 16px}.saleset-ghost-btn:hover{background:#fafafa;background:var(--saleset-bg-soft)}.saleset-table{border-collapse:initial;border-spacing:0 6px;width:100%}.saleset-table thead th{color:#6b7280;color:var(--saleset-text-muted);font-size:.7rem;font-weight:600;letter-spacing:.05em;padding:10px 12px;text-transform:uppercase}.saleset-table tbody tr{background:#fff;border-radius:6px;box-shadow:0 1px 2px #0000000a}.saleset-table tbody td{color:#1e1e1e;color:var(--saleset-text-main);font-size:.85rem;padding:12px}.saleset-table tbody tr:hover{background:#fafafa;background:var(--saleset-bg-soft)}.saleset-table .category{font-weight:500}.saleset-action svg{color:#6b7280;color:var(--saleset-text-muted);cursor:pointer;transition:transform .15s ease,color .15s ease}.saleset-action svg:hover{color:#62794e;color:var(--saleset-green);transform:scale(1.15)}.saleset-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#14141440;display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}.saleset-modal{animation:salesetModalIn .25s ease-out;background:#fff;border-radius:14px;box-shadow:0 12px 32px #00000026;max-width:95%;padding:2rem 2.5rem;width:480px}.saleset-modal h3{color:#1e1e1e;color:var(--saleset-text-main);font-size:1.05rem;font-weight:600;margin-bottom:1.4rem}.saleset-form{grid-row-gap:1rem;grid-column-gap:1.2rem;align-items:center;column-gap:1.2rem;display:grid;grid-template-columns:140px 1fr;row-gap:1rem}.saleset-form label{color:#333;font-size:.85rem;font-weight:500}.saleset-form input{background:#fafafa;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;padding:10px 12px;transition:border-color .2s ease,box-shadow .2s ease;width:95%}.saleset-form input:focus{background:#fff;border-color:#62794e;border-color:var(--saleset-green);box-shadow:0 0 0 2px #62794e40;outline:none}.saleset-modal-actions{display:flex;gap:12px;grid-column:1/3;justify-content:flex-end;margin-top:1.5rem}.saleset-cancel-btn,.saleset-save-btn{border:none;border-radius:999px;cursor:pointer;font-size:.9rem;font-weight:500;padding:10px 22px;width:120px}.saleset-cancel-btn{background:#e5e7eb;color:#4b5563}.saleset-cancel-btn:hover{background:#d1d5db}.saleset-save-btn{background:#62794e;background:var(--saleset-green);box-shadow:0 3px 6px #62794e4d;color:#fff}.saleset-save-btn:hover{background:#556844;box-shadow:0 4px 10px #62794e59}@keyframes salesetModalIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.tbset-container{display:flex;flex-direction:column;gap:1.5rem}.tbset-header{display:flex;justify-content:flex-end;margin-top:8px}.tbset-add-btn{background:#62794e;border:none;border-radius:999px;box-shadow:0 2px 6px #62794e59;color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;height:34px;min-width:120px;padding:8px 18px;transition:background .25s ease,box-shadow .25s ease}.tbset-add-btn:hover{background:#93c07b;box-shadow:0 4px 10px #a3d18a73}.tbset-table table{border-collapse:initial;border-spacing:0 6px;font-size:.9rem;width:100%}.tbset-table th{background:#f3f4f6;border-bottom:1px solid #e5e7eb;color:#555;font-size:.85rem;font-weight:600;padding:12px;text-align:left;vertical-align:middle}.tbset-table tr{background:#fff;border-radius:6px;box-shadow:0 1px 2px #0000000a}.tbset-table td{border-top:1px solid #f3f3f3;color:#222;padding:12px;text-align:left;vertical-align:middle}.tbset-actions{display:flex;gap:8px}.tbset-actions button{background:#e5e7eb;border:none;border-radius:999px;color:#374151;cursor:pointer;font-size:.82rem;font-weight:500;padding:6px 12px;transition:background .2s ease}.tbset-actions button:hover{background:#d1d5db}.tbset-actions button.danger{background:#fee2e2;color:#b91c1c}.tbset-actions button.danger:hover{background:#fecaca}.tbset-empty{color:#6b7280;text-align:center}.tbset-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#b91c1c;font-size:.85rem;padding:10px 12px}.tbset-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#14141440;display:flex;inset:0;justify-content:center;position:fixed;z-index:3000}.tbset-modal{animation:tbsetModalFadeIn .25s ease-out;background:#fff;border-radius:14px;box-shadow:0 12px 32px #00000026;max-width:95%;padding:1.5rem 1.8rem;width:460px}.tbset-modal h3{color:#1e1e1e;font-size:1.2rem;font-weight:600;margin-bottom:1.4rem}.tbset-modal label{color:#333;display:block;font-size:.88rem;font-weight:500;margin-bottom:8px}.tbset-modal input{background:#fafafa;border:1px solid #d1d5db;border-radius:8px;font-size:.92rem;padding:10px 12px;transition:border-color .2s ease,background .2s ease;width:93%}.tbset-modal input:focus{background:#fff;border-color:#62794e;box-shadow:0 0 0 2px #62794e40;outline:none}.tbset-modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:1.2rem}.tbset-modal-actions button{border:none;border-radius:999px;cursor:pointer;font-size:.85rem;font-weight:500;height:34px;min-width:90px;padding:8px 18px;transition:background .2s ease,box-shadow .2s ease}.tbset-modal-actions button[type=button]{background:#e5e7eb;color:#4b5563}.tbset-modal-actions button[type=button]:hover{background:#d1d5db}.tbset-modal-actions button[type=submit]{background:#62794e;box-shadow:0 3px 6px #62794e4d;color:#fff}.tbset-modal-actions button[type=submit]:hover{background:#556844;box-shadow:0 4px 10px #62794e59}.tbset-add-btn:disabled,.tbset-modal-actions button:disabled{box-shadow:none;cursor:not-allowed;opacity:.65}@keyframes tbsetModalFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.support-page{display:flex;flex-direction:column;gap:1.8rem;padding:var(--page-pad-y) var(--page-pad-x)}.support-header h1{color:var(--text);font-size:1.9rem;font-weight:700;margin:0}.support-header p{color:var(--muted);font-size:1rem}.support-content{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.support-card{background:#fff;border:1px solid #0000000d;border-radius:14px;box-shadow:0 4px 14px #0000000f;padding:20px 22px}.support-card h2{color:var(--text);font-size:1.1rem;font-weight:700;margin:0 0 10px}.support-card ul{color:#555;line-height:1.5;margin:0;padding-left:16px}.support-email{color:#62794e;font-size:.95rem;font-weight:700}.faq-list li{margin-bottom:6px}.support-form{display:flex;flex-direction:column;gap:10px}.support-form input,.support-form textarea{border:1px solid #d8d8d8;border-radius:10px;font-family:inherit;font-size:.95rem;padding:10px 12px;width:100%}.support-form textarea{resize:vertical}.support-form button{background:#62794e;border:0;border-radius:10px;color:#fff;cursor:pointer;font-weight:700;padding:10px 12px}.support-form button:disabled{cursor:not-allowed;opacity:.65}.support-form-status{font-size:.9rem;margin:2px 0 0}.support-form-status.success{color:#357349}.support-form-status.error{color:#b23a3a}@media (max-width:640px){.support-page{padding:1.2rem}}.support-inbox{--support-accent:#a5d27d;--support-accent-dark:#6f9150;--support-accent-deep:#58753e;--support-accent-soft:#eef7e4;grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:320px minmax(0,1fr);min-height:72vh}.support-inbox-sidebar,.support-inbox-thread{background:#fff;border:1px solid #14322c14;border-radius:24px;box-shadow:0 18px 48px #141f1c14;overflow:hidden}.support-inbox-thread{display:flex;flex-direction:column;min-width:0}.support-inbox-composer,.support-inbox-thread-header,.support-inbox-title{padding:1.15rem 1.25rem}.support-inbox-title{background:linear-gradient(180deg,#f3f8f5,#fff);border-bottom:1px solid #14322c14}.support-inbox-thread-header h3,.support-inbox-title h2{margin:0}.support-inbox-thread-header p,.support-inbox-title p{color:#5c6b66;margin:.35rem 0 0}.support-inbox-list{display:flex;flex-direction:column;max-height:calc(72vh - 86px);overflow-y:auto}.support-inbox-item{background:#fff;border:0;border-bottom:1px solid #14322c14;cursor:pointer;padding:1rem 1.1rem;text-align:left}.support-inbox-item.active{background:var(--support-accent-soft)}.support-inbox-actions,.support-inbox-item-foot,.support-inbox-item-head,.support-inbox-meta,.support-inbox-thread-header{align-items:center;display:flex;gap:.75rem;justify-content:space-between}.support-inbox-item p{color:#42514c;margin:.5rem 0}.support-inbox-item-foot b,.support-inbox-item-foot span,.support-inbox-item-head span,.support-inbox-meta time{color:#6b7b75;font-size:.78rem}.support-inbox-status{background:var(--support-accent-soft);border-radius:999px;color:var(--support-accent-deep);flex:0 0 auto;font-size:.8rem;font-weight:700;padding:.4rem .8rem;text-transform:capitalize}.support-inbox-messages{background:radial-gradient(circle at top,#a5d27d29,#0000 35%),#fbfbf8;flex:1 1 auto;max-height:calc(72vh - 160px);min-height:420px;overflow-y:auto;padding:1.25rem 1.5rem}.support-inbox-message{display:flex;margin-bottom:1rem}.support-inbox-message.admin{justify-content:flex-end}.support-inbox-message.user{justify-content:flex-start}.support-inbox-bubble{background:#f1f2ee;border-radius:18px;max-width:min(78%,860px);overflow-wrap:anywhere;padding:.9rem 1rem}.support-inbox-message.admin .support-inbox-bubble{background:linear-gradient(135deg,var(--support-accent-dark),var(--support-accent-deep));color:#fff}.support-inbox-bubble p{line-height:1.5;margin:.45rem 0 0;white-space:pre-wrap}.support-inbox-images{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:.75rem}.support-inbox-images img{aspect-ratio:1/1;border-radius:12px;object-fit:cover;width:100%}.support-inbox-composer{background:#fff;border-top:1px solid #14322c14;flex:0 0 auto}.support-inbox-composer textarea{border:1px solid #6f91503d;border-radius:18px;box-sizing:border-box;font:inherit;padding:.9rem 1rem;resize:none;width:100%}.support-inbox-attachments{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.support-inbox-attachment-chip{align-items:center;background:var(--support-accent-soft);border:0;border-radius:999px;color:var(--support-accent-deep);cursor:pointer;display:inline-flex;font-size:.84rem;gap:.35rem;padding:.45rem .75rem}.support-inbox-actions{margin-top:.8rem}.support-inbox-actions button{align-items:center;background:var(--support-accent-dark);border:0;border-radius:999px;color:#fff;cursor:pointer;display:inline-flex;gap:.45rem;justify-content:center;padding:.75rem 1rem}.support-inbox-actions button.ghost{background:var(--support-accent-soft);color:var(--support-accent-deep)}.support-inbox-empty,.support-inbox-error{color:#5c6b66;margin:0}.support-inbox-error{color:#b64141;margin-top:.6rem}@media (max-width:980px){.support-inbox{grid-template-columns:1fr}.support-inbox-list{max-height:280px}.support-inbox-messages{max-height:none;min-height:320px}}@media (max-width:720px){.support-inbox-thread-header{align-items:flex-start;flex-wrap:wrap}.support-inbox-messages{padding:1rem}.support-inbox-bubble{max-width:100%}.support-inbox-actions{flex-wrap:wrap;justify-content:flex-start}}.report-shell{background:#f7f7f5;box-sizing:border-box;color:#111827;min-height:100%;min-width:0;padding:28px 32px;width:100%}.report-shell-inner{display:flex;flex-direction:column;gap:18px;margin:0 auto;max-width:1600px;min-width:0}.report-breadcrumb{color:#6b7280;font-size:12px;letter-spacing:.02em;text-transform:uppercase}.report-header{align-items:flex-end;display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between}.report-title h1{color:#111827;font-size:22px;font-weight:600;margin:0}.report-title .muted{color:#6b7280;font-size:13px;margin-top:4px}.report-actions{flex-wrap:wrap}.report-filters{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.report-input,.report-select{background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 1px 0 #0f172a05;color:#111827;font-size:13px;height:34px;padding:6px 10px}.report-input:focus,.report-select:focus{border-color:#c7c7c7;box-shadow:0 0 0 3px #1118270f;outline:none}.report-card{background:#fff;border:1px solid #e6e6e3;border-radius:12px;box-shadow:0 1px 2px #0f172a0a;min-width:0;padding:16px}.report-metrics{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.report-metric{display:flex;flex-direction:column;gap:4px}.report-metric-value{color:#111827;font-size:20px;font-weight:600}.report-metric-label{color:#6b7280;font-size:12px}.report-table-wrap{-webkit-overflow-scrolling:touch;background:#fff;border:1px solid #e6e6e3;border-radius:12px;box-shadow:0 1px 2px #0f172a0a;max-width:100%;overflow:auto}.report-table{border-collapse:initial;border-spacing:0;min-width:100%}.report-table thead{background:#fbfbfa}.report-table th{border-bottom:1px solid #ececeb;color:#6b7280;font-size:12px;font-weight:600;padding:10px 12px;text-align:left;white-space:nowrap}.report-table td{border-bottom:1px solid #f3f4f2;color:#111827;padding:10px 12px;vertical-align:top}.report-table td.right,.report-table th.right{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.report-empty{color:#6b7280;font-size:13px;padding:24px;text-align:center}.report-badge{align-items:center;background:#f1f1ef;border-radius:999px;color:#4b5563;display:inline-flex;font-size:11px;font-weight:600;padding:3px 8px}.report-badge.status-paid{background:#e7f5ee;color:#0f766e}.report-badge.status-partial,.report-badge.status-partially-paid{background:#fff4e5;color:#b45309}.report-badge.status-draft,.report-badge.status-unpaid{background:#eef2f7;color:#475569}.report-badge.status-sent{background:#e8f1ff;color:#1d4ed8}.report-badge.status-overdue{background:#fde8e8;color:#b91c1c}.report-btn-primary,.report-btn-secondary{align-items:center;border-radius:6px;box-sizing:border-box;cursor:pointer;display:inline-flex;font-size:13px;height:34px;justify-content:center;line-height:1;padding:0 12px;transition:transform .12s ease,box-shadow .12s ease}.report-btn-primary{background:#111827;border:1px solid #0000;color:#fff}.report-btn-secondary{background:#fff;border:1px solid #e5e7eb;color:#111827}.report-btn-primary:hover,.report-btn-secondary:hover{transform:translateY(-1px)}.report-btn-primary:active,.report-btn-secondary:active{transform:translateY(0)}@media (max-width:768px){.report-shell{padding:20px}.report-header{align-items:flex-start}}.report-sheet{background:#fff;border:1px solid #e6e6e3;border-radius:12px;box-shadow:0 1px 2px #0f172a0a;color:#111827;font-family:Inter,system-ui,sans-serif;margin:0 auto;max-width:1500px;min-width:0;padding:20px 20px 32px;width:100%}.report-sheet-header{margin-bottom:14px;text-align:center}.report-sheet-header h1{color:#6b7280;font-size:.9rem;font-weight:600;letter-spacing:.01em;margin:0}.report-sheet-header h2{font-size:1.3rem;font-weight:650;margin:4px 0 6px}.report-dates{align-items:center;display:inline-flex;gap:6px}.date-edit-btn,.report-dates{color:#6b7280;font-size:.75rem}.date-edit-btn{background:none;border:none;cursor:pointer;padding:0}.date-edit-btn:hover{text-decoration:underline}.date-edit-inline{align-items:center;display:inline-flex;gap:6px}.date-edit-inline input{font-size:.75rem;padding:4px 6px}.date-edit-inline input,.date-save-btn{border:1px solid #e5e7eb;border-radius:6px}.date-save-btn{background:#f3f4f6;cursor:pointer;font-size:.7rem;padding:4px 8px}.date-save-btn:hover{background:#e5e7eb}.report-filter-row{align-items:flex-start;display:flex;flex-direction:column;gap:4px;margin:8px 0 12px}.report-filter-label{color:#6b7280;font-size:.7rem;font-weight:600}.report-filter-select{background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 1px 0 #0f172a05;color:#111827;font-size:.8rem;padding:6px 8px;width:200px}.report-filter-select option{background-color:#fff;color:#111827}.report-filter-select:hover{background-color:#fff;border-color:#d1d5db}.report-filter-select:focus{background-color:#fff;border-color:#c7c7c7;box-shadow:0 0 0 3px #1118270f;outline:none}.report-filter-select:active{transform:translateY(.5px)}.financial-report-table-wrap{-webkit-overflow-scrolling:touch;max-width:100%;overflow:auto;width:100%}.financial-report-table{border-collapse:collapse;font-size:.82rem;min-width:720px;width:100%}.financial-report-table thead th{border-bottom:1px solid #e6e6e3;color:#6b7280;font-size:.7rem;font-weight:600;padding:8px;text-align:right}.financial-report-table thead th:first-child{text-align:left}.financial-report-table td{border-bottom:1px solid #f3f4f2;padding:8px;text-align:right;white-space:nowrap}.financial-report-table td:first-child{text-align:left;white-space:normal}.project-row td{background:#fff;border-bottom:none;border-top:1px solid #e6e6e3;font-weight:600;padding-top:10px}.room-row td:first-child{padding-left:24px}.project-total td{background:#fff;border-top:1px solid #e6e6e3;font-weight:600}.grand-total td{background:#fff;border-top:2px solid #111827;font-weight:700;padding-top:8px}.financial-report-table td.negative{color:#b91c1c}.report-loading{color:#6b7280;font-size:.9rem;padding:32px;text-align:center}@media print{.date-edit-btn,.date-edit-inline,.report-filter-row{display:none}.report-sheet{border:none;box-shadow:none;padding:0}body{background:#fff}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.report-table-wrapper{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto;overflow-y:auto;padding-bottom:24px;width:100%}.report-table{border-collapse:collapse;font-size:13px;min-width:1600px;width:100%}.report-table thead th{background:#fff;border-bottom:1px solid #e6e6e3;font-weight:600;padding:10px 12px;position:-webkit-sticky;position:sticky;text-align:left;top:0;white-space:nowrap;z-index:2}.report-table tbody td{border-bottom:1px solid #f3f4f2;padding:10px 12px;vertical-align:top;white-space:nowrap}.report-table tbody tr:hover{background:#fbfbfa}.report-table td:first-child,.report-table th:first-child{min-width:56px;text-align:center;width:56px}.item-thumb{background:#f3f4f6;border-radius:6px;height:40px;object-fit:cover;width:40px}.item-thumb.placeholder{display:inline-block}.report-table td.notes-cell{color:#374151;line-height:1.4;max-width:320px;white-space:normal}.report-table td:nth-last-child(2){line-height:1.4;max-width:280px;white-space:normal}.status-pill{align-items:center;background:#f1f1ef;border-radius:999px;color:#4b5563;display:inline-flex;font-size:11px;font-weight:500;padding:4px 8px;white-space:nowrap}.status-ordered{background:#e8f7ed;color:#0f766e}.status-none{background:#f1f1ef;color:#6b7280}.empty-row{color:#9ca3af;padding:32px 0;text-align:center}.report-toolbar{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.report-title-wrap{display:flex;flex-direction:column;gap:4px}.report-title{font-size:20px;font-weight:600}.report-subtitle{color:#6b7280;font-size:13px}.report-actions{display:flex;gap:8px}.secondary-btn{background:#fff;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;font-size:13px;padding:8px 14px}.secondary-btn:hover{background:#f9fafb}.report-table-wrapper::-webkit-scrollbar{height:10px}.report-table-wrapper::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:999px}.report-table-wrapper::-webkit-scrollbar-track{background:#0000}.po-form{display:flex;flex-direction:column;gap:16px}.po-header-card{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.po-header-left{display:flex;flex-direction:column;gap:6px}.po-doc-title{font-size:18px;font-weight:700}.po-doc-sub{color:var(--if-muted);font-size:13px}.po-status-pill{align-items:center;background:#f1f3f5;border:1px solid #e2e5e8;border-radius:999px;color:#4b5563;display:inline-flex;font-size:12px;font-weight:600;gap:8px;padding:6px 10px}.po-status-pill .dot{background:#9ca3af;border-radius:999px;height:7px;width:7px}.po-status-pill.status-en-route,.po-status-pill.status-ordered,.po-status-pill.status-workroom{background:#e8f4fd;border-color:#b6d8f7;color:#175d96}.po-status-pill.status-en-route .dot,.po-status-pill.status-ordered .dot,.po-status-pill.status-workroom .dot{background:#2b8cd6}.po-status-pill.status-delivered,.po-status-pill.status-installed{background:#edf8f1;border-color:#dfe7e2;color:#1d6b44}.po-status-pill.status-delivered .dot,.po-status-pill.status-installed .dot{background:#3bb273}.po-status-pill.status-back-ordered{background:#fffbe6;border-color:#f7e2a3;color:#8a6d1d}.po-status-pill.status-back-ordered .dot{background:#e6b800}.po-status-pill.status-cancelled{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.po-status-pill.status-cancelled .dot{background:#ef4444}.po-grid{grid-gap:12px 16px;display:grid;gap:12px 16px}.po-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.po-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.po-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.po-field{display:flex;flex-direction:column;gap:6px}.po-field label{color:var(--if-muted);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.po-field.col-2{grid-column:span 2}.po-field.col-3{grid-column:span 3}.po-section-title{color:var(--if-text);font-size:13px;font-weight:700;margin-bottom:8px}.po-hint{color:var(--if-muted);font-size:12px}.po-items-wrap{display:flex;flex-direction:column;gap:14px}.po-line-item{grid-gap:14px;align-items:start;display:grid;gap:14px;grid-template-columns:90px 1fr 140px 120px 120px 80px}.po-line-item .po-thumb{background:#f3f4f6;background-position:50%;background-size:cover;border:1px solid var(--if-border);border-radius:var(--if-radius-sm);height:90px;width:100%}.po-line-item .po-line-total,.po-line-item .po-qty,.po-line-item .po-rate,.po-line-item .po-status{display:flex;flex-direction:column;gap:6px}.po-line-item .po-line-total .po-total{font-size:14px;font-weight:700}.po-line-item .po-line-total .po-sub,.po-line-item label{color:var(--if-muted);font-size:12px}.po-line-item label{font-weight:600;letter-spacing:.04em;text-transform:uppercase}.po-summary-card{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 280px}.po-totals{border:1px solid var(--if-border);border-radius:var(--if-radius);display:flex;flex-direction:column;gap:8px;padding:14px 16px}.po-totals-row{color:var(--if-text);display:flex;font-size:13px;justify-content:space-between}.po-totals-row.total{border-top:1px solid var(--if-border);font-weight:700;padding-top:8px}.po-empty{border:1px dashed var(--if-border);border-radius:var(--if-radius);color:var(--if-muted);font-size:13px;padding:16px;text-align:center}.po-pdf-render-root{left:-10000px;opacity:0;pointer-events:none;position:fixed;top:0;width:210mm}.po-print-sheet{background:#fff;box-sizing:border-box;color:#4a4a4a;font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:1.35;padding:14mm 12mm 12mm;width:100%}.po-print-brand{display:flex;justify-content:flex-end;margin-bottom:18px;min-height:56px}.po-print-brand-meta{align-items:flex-end;color:#f05a48;display:flex;flex-direction:column;gap:8px;text-align:right}.po-print-logo{max-height:52px;max-width:180px;object-fit:contain}.po-print-logo-fallback{color:#f05a48;font-size:20px;font-weight:700}.po-print-company-lines{font-size:11px}.po-print-title{border-bottom:1px solid #cfcfcf;color:#444;font-size:18px;font-weight:700;padding-bottom:10px}.po-print-header-grid{border-bottom:1px solid #cfcfcf;display:grid;grid-template-columns:minmax(0,1fr) 205px}.po-print-address-block{border-right:1px solid #cfcfcf}.po-print-block{padding:10px 0 12px}.po-print-ship-block{border-top:1px solid #cfcfcf}.po-print-label,.po-print-strong{font-weight:700}.po-print-spacer{height:10px}.po-print-meta-block{padding:10px 0 12px 14px}.po-print-meta-row{grid-gap:6px;display:grid;font-weight:700;gap:6px;grid-template-columns:78px minmax(0,1fr);margin-bottom:2px}.po-print-sidemark{border-bottom:1px solid #cfcfcf;font-weight:700;padding:10px 0 8px}.po-print-table{border-collapse:collapse;margin-top:8px;vertical-align:top;width:100%}.po-print-table th{background:#ebebeb;color:#6a6a6a;font-weight:700;padding:4px 6px;text-align:left}.po-print-table td.money,.po-print-table td.qty,.po-print-table td.unit,.po-print-table th.money,.po-print-table th.qty,.po-print-table th.unit{white-space:nowrap}.po-print-table td{border-bottom:1px solid #efefef;padding:8px 6px;vertical-align:top}.po-print-table .image{width:86px}.po-print-table .qty{width:56px}.po-print-table .unit{width:48px}.po-print-table .money{text-align:right;width:72px}.po-print-thumb{background:#fff;border:1px solid #d8d8d8;display:block;height:58px;object-fit:cover;width:58px}.po-print-thumb-empty{background:linear-gradient(45deg,#8f2d2d 25%,#0000 0,#0000 75%,#8f2d2d 0,#8f2d2d),linear-gradient(45deg,#8f2d2d 25%,#0000 0,#0000 75%,#8f2d2d 0,#8f2d2d);background-position:0 0,6px 6px;background-size:12px 12px;border-color:#d8d8d8}.po-print-item-room{font-weight:700;margin-bottom:2px}.po-print-item-name{font-weight:700}.po-print-item-sub{color:#555}.po-print-empty-row{color:#7a7a7a;text-align:center}.po-print-summary{margin-left:auto;margin-top:14px;width:210px}.po-print-summary-row{display:flex;gap:12px;justify-content:space-between;padding:2px 0}.po-print-summary-strong{font-weight:700}.po-print-summary-balance{border-top:1px solid #cfcfcf;font-weight:700;margin-top:4px;padding-top:6px}.po-print-footer{color:#666;margin-top:48px;text-align:center}@media (max-width:1200px){.po-line-item{grid-template-columns:90px 1fr 120px 100px 100px}.po-line-item .po-actions{grid-column:1/-1}}@media (max-width:980px){.po-grid.four,.po-grid.three,.po-grid.two,.po-line-item,.po-summary-card{grid-template-columns:1fr}.po-line-item .po-thumb{height:140px}}.time-report-page{background:#0000;display:flex;flex-direction:column;gap:18px;min-width:0;padding:0}.time-report-header{align-items:flex-end;display:flex;gap:18px;justify-content:space-between}.time-report-title h1{color:#111827;font-size:22px;font-weight:600;margin:0}.time-report-title .muted{color:#6b7280;font-size:13px;margin-top:4px}.time-report-controls{display:flex;gap:10px}.time-report-controls input[type=date],.time-report-controls select{background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#111827;font-size:13px;height:34px;padding:6px 10px}.time-report-table-wrap{-webkit-overflow-scrolling:touch;background:#fff;border:1px solid #e6e6e3;border-radius:12px;box-shadow:0 1px 2px #0f172a0a;max-width:100%;overflow:auto}.time-report-table{border-collapse:initial;border-spacing:0;font-size:13px;min-width:1000px;width:100%}.time-report-table thead{background:#fbfbfa}.time-report-table th{border-bottom:1px solid #ececeb;color:#6b7280;font-size:12px;font-weight:600;padding:10px 12px;text-align:left;white-space:nowrap}.time-report-table th.right{text-align:right}.time-report-table td{border-bottom:1px solid #f3f4f2;color:#111827;padding:10px 12px;vertical-align:top}.time-report-table td.right{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.time-report-table tbody tr:hover{background:#fbfbfa}.time-report-table .empty{color:#6b7280;font-size:13px;padding:24px;text-align:center}.time-report-table tfoot td{background:#fbfbfa;border-top:1px solid #ececeb;font-size:13px;font-weight:600}.time-report-loading{color:#6b7280;font-size:14px;padding:48px;text-align:center}.time-report-footer{display:flex;gap:12px;justify-content:flex-end;margin-top:16px}.timebillingreport-primary-btn,.timebillingreport-secondary-btn{align-items:center;border-radius:6px;box-sizing:border-box;cursor:pointer;display:inline-flex;font-size:13px;height:34px;justify-content:center;line-height:1;padding:0 12px;transition:transform .12s ease,box-shadow .12s ease}.timebillingreport-primary-btn{background:#111827;border:1px solid #0000;color:#fff}.timebillingreport-secondary-btn{background:#fff;border:1px solid #e5e7eb;color:#111827}.timebillingreport-primary-btn:hover,.timebillingreport-secondary-btn:hover{transform:translateY(-1px)}.timebillingreport-primary-btn:active,.timebillingreport-secondary-btn:active{transform:translateY(0)}.fade-in{animation:fadeIn .25s ease-out forwards}.slide-down{animation:slideDown .3s ease-out forwards}.slide-up{animation:slideUp .3s ease-out forwards}.time-report-table tbody tr{animation:rowFade .3s ease-out forwards;opacity:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes rowFade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.report-table th{cursor:pointer}.report-table th.right{text-align:right}.agenda-table-inner tbody tr,.animated-dd-menu,.cal-cell,.cal-event,.calendar-grid,.card,.catalog-card,.contact-modal,.dashboard-btn,.dashboard-motion-optimized,.day-drawer,.dropdown-menu,.event-popover,.filter-btn,.form-actions button,.library-add-button,.library-delete-button,.library-item-card,.library-room-card,.line-item-card,.menu-toggle,.modal-backdrop,.plans-billing-toggle button,.primary-action,.project-cover,.project-name,.project-slide,.proposal-modal,.proposal-modal-content,.record-add-btn,.slider-btn,.summary-card,.tb-btn-primary,.tb-delete-btn,.tb-edit-btn,.timebilling-table .primary-btn{will-change:transform,opacity}.dashboard-btn,.dashboard-motion-optimized button,.filter-btn,.form-actions button,.link-btn,.menu-toggle,.plans-billing-toggle button,.primary-action,.record-add-btn,.slider-btn,.tb-btn-primary,.tb-delete-btn,.tb-edit-btn,.timebilling-table .primary-btn,button[class*=btn]{transform:translateZ(0);transition-duration:.14s;transition-property:background-color,border-color,color,box-shadow,transform,opacity;transition-timing-function:cubic-bezier(.22,1,.36,1)}.dashboard-btn:hover,.dashboard-motion-optimized button:hover,.filter-btn:hover,.form-actions button:hover,.link-btn:hover,.menu-toggle:hover,.plans-billing-toggle button:hover,.primary-action:hover,.record-add-btn:hover,.slider-btn:hover,.tb-btn-primary:hover,.tb-delete-btn:hover,.tb-edit-btn:hover,.timebilling-table .primary-btn:hover,button[class*=btn]:hover{transform:translate3d(0,-1px,0)}.dashboard-btn:active,.dashboard-motion-optimized button:active,.filter-btn:active,.form-actions button:active,.link-btn:active,.menu-toggle:active,.plans-billing-toggle button:active,.primary-action:active,.record-add-btn:active,.slider-btn:active,.tb-btn-primary:active,.tb-delete-btn:active,.tb-edit-btn:active,.timebilling-table .primary-btn:active,button[class*=btn]:active{transform:translateZ(0) scale(.985);transition-duration:.09s}.ac-overlay,.contact-modal-overlay,.day-drawer-overlay,.library-modal-overlay,.manualcredit-overlay,.modal-backdrop,.modal-overlay,.payment-popup-overlay,.po-modal-overlay,.popover-overlay,.project-overlay,.proposal-lock-overlay,.qb-modal-overlay,.rd-overlay,.retainer-overlay,.saleset-modal-overlay,.spm-overlay,.taxset-modal-overlay,.tbset-modal-overlay,.todo-modal-overlay,[class*=modal-overlay],[class*=popup-overlay]{will-change:opacity}.contact-modal,.delete-modal,.library-modal-content,.modal-card,.modal-content,.payment-popup-panel,.proposal-lock-modal,.proposals-modal-content,.rd-choice-modal,.rd-modal,.spm-modal,.todo-modal-card,[class*=choice-modal],[class*=modal-content],[class*=popup-panel]{-webkit-backface-visibility:hidden;backface-visibility:hidden;will-change:transform,opacity}.ac-overlay,.contact-modal-overlay,.day-drawer-overlay,.library-modal-overlay,.manualcredit-overlay,.modal-backdrop,.modal-overlay,.payment-popup-overlay,.po-modal-overlay,.popover-overlay,.project-overlay,.proposal-lock-overlay,.qb-modal-overlay,.rd-overlay,.retainer-overlay,.saleset-modal-overlay,.spm-overlay,.taxset-modal-overlay,.tbset-modal-overlay,.todo-modal-overlay,[class*=modal-overlay],[class*=popup-overlay]{animation-duration:.14s!important;animation-name:payment-overlay-in!important;animation-timing-function:cubic-bezier(.22,1,.36,1)!important;transition-duration:.14s!important}.contact-modal,.delete-modal,.library-modal-content,.modal-card,.modal-content,.payment-popup-panel,.proposal-lock-modal,.proposals-modal-content,.rd-choice-modal,.rd-modal,.spm-modal,.todo-modal-card,[class*=choice-modal],[class*=modal-content],[class*=popup-panel]{animation-duration:.16s!important;animation-name:payment-panel-in!important;animation-timing-function:cubic-bezier(.16,1,.3,1)!important;transition-duration:.16s!important}@keyframes payment-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes payment-panel-in{0%{opacity:0;transform:translate3d(0,6px,0) scale(.992)}to{opacity:1;transform:translateZ(0) scale(1)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-delay:0ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-delay:0ms!important;transition-duration:.01ms!important}}
/*# sourceMappingURL=main.6af87f3b.css.map*/