:root{--bg-body: #121826;--bg-surface: #212936;--bg-elevated: #394150;--bg-inset: #1a2235;--text-primary: #ffffff;--text-secondary: #e5e7eb;--text-muted: #9ca3af;--text-dim: #6b7280;--border-color: #394150;--border-subtle: #374151;--hover-color: #69b8ff;--pending: #fbbf24;--hold: #f59e0b;--approved: #34d399;--cancelled: #ef4444;--completed: #3b82f6;--active: #10b981;--paid: #4E46DD;--purple: #4E46DC;--blue: #69b8ff;--white: #FFF;--primary-contact: #4E46DC;--max-width: none;color-scheme:dark}:root[data-theme=light]{--bg-body: #f3f4f6;--bg-surface: #ffffff;--bg-elevated: #e5e7eb;--bg-inset: #e9ecf0;--text-primary: #111827;--text-secondary: #374151;--text-muted: #6b7280;--text-dim: #9ca3af;--border-color: #d1d5db;--border-subtle: #e5e7eb;--hover-color: #2563eb;--pending: #92400e;--hold: #78350f;color-scheme:light}* .gap0{height:0px;width:100%}* .spacer0{display:inline-block;height:1px;width:0px}* .gap1{height:1px;width:100%}* .spacer1{display:inline-block;height:1px;width:1px}* .gap2{height:2px;width:100%}* .spacer2{display:inline-block;height:1px;width:2px}* .gap3{height:3px;width:100%}* .spacer3{display:inline-block;height:1px;width:3px}* .gap4{height:4px;width:100%}* .spacer4{display:inline-block;height:1px;width:4px}* .gap5{height:5px;width:100%}* .spacer5{display:inline-block;height:1px;width:5px}* .gap6{height:6px;width:100%}* .spacer6{display:inline-block;height:1px;width:6px}* .gap7{height:7px;width:100%}* .spacer7{display:inline-block;height:1px;width:7px}* .gap8{height:8px;width:100%}* .spacer8{display:inline-block;height:1px;width:8px}* .gap9{height:9px;width:100%}* .spacer9{display:inline-block;height:1px;width:9px}* .gap10{height:10px;width:100%}* .spacer10{display:inline-block;height:1px;width:10px}* .gap11{height:11px;width:100%}* .spacer11{display:inline-block;height:1px;width:11px}* .gap12{height:12px;width:100%}* .spacer12{display:inline-block;height:1px;width:12px}* .gap13{height:13px;width:100%}* .spacer13{display:inline-block;height:1px;width:13px}* .gap14{height:14px;width:100%}* .spacer14{display:inline-block;height:1px;width:14px}* .gap15{height:15px;width:100%}* .spacer15{display:inline-block;height:1px;width:15px}* .gap16{height:16px;width:100%}* .spacer16{display:inline-block;height:1px;width:16px}* .gap17{height:17px;width:100%}* .spacer17{display:inline-block;height:1px;width:17px}* .gap18{height:18px;width:100%}* .spacer18{display:inline-block;height:1px;width:18px}* .gap19{height:19px;width:100%}* .spacer19{display:inline-block;height:1px;width:19px}* .gap20{height:20px;width:100%}* .spacer20{display:inline-block;height:1px;width:20px}* .gap21{height:21px;width:100%}* .spacer21{display:inline-block;height:1px;width:21px}* .gap22{height:22px;width:100%}* .spacer22{display:inline-block;height:1px;width:22px}* .gap23{height:23px;width:100%}* .spacer23{display:inline-block;height:1px;width:23px}* .gap24{height:24px;width:100%}* .spacer24{display:inline-block;height:1px;width:24px}* .gap25{height:25px;width:100%}* .spacer25{display:inline-block;height:1px;width:25px}* .gap26{height:26px;width:100%}* .spacer26{display:inline-block;height:1px;width:26px}* .gap27{height:27px;width:100%}* .spacer27{display:inline-block;height:1px;width:27px}* .gap28{height:28px;width:100%}* .spacer28{display:inline-block;height:1px;width:28px}* .gap29{height:29px;width:100%}* .spacer29{display:inline-block;height:1px;width:29px}* .gap30{height:30px;width:100%}* .spacer30{display:inline-block;height:1px;width:30px}* .gap31{height:31px;width:100%}* .spacer31{display:inline-block;height:1px;width:31px}* .gap32{height:32px;width:100%}* .spacer32{display:inline-block;height:1px;width:32px}* .gap33{height:33px;width:100%}* .spacer33{display:inline-block;height:1px;width:33px}* .gap34{height:34px;width:100%}* .spacer34{display:inline-block;height:1px;width:34px}* .gap35{height:35px;width:100%}* .spacer35{display:inline-block;height:1px;width:35px}* .gap36{height:36px;width:100%}* .spacer36{display:inline-block;height:1px;width:36px}* .gap37{height:37px;width:100%}* .spacer37{display:inline-block;height:1px;width:37px}* .gap38{height:38px;width:100%}* .spacer38{display:inline-block;height:1px;width:38px}* .gap39{height:39px;width:100%}* .spacer39{display:inline-block;height:1px;width:39px}* .gap40{height:40px;width:100%}* .spacer40{display:inline-block;height:1px;width:40px}* .gap41{height:41px;width:100%}* .spacer41{display:inline-block;height:1px;width:41px}* .gap42{height:42px;width:100%}* .spacer42{display:inline-block;height:1px;width:42px}* .gap43{height:43px;width:100%}* .spacer43{display:inline-block;height:1px;width:43px}* .gap44{height:44px;width:100%}* .spacer44{display:inline-block;height:1px;width:44px}* .gap45{height:45px;width:100%}* .spacer45{display:inline-block;height:1px;width:45px}* .gap46{height:46px;width:100%}* .spacer46{display:inline-block;height:1px;width:46px}* .gap47{height:47px;width:100%}* .spacer47{display:inline-block;height:1px;width:47px}* .gap48{height:48px;width:100%}* .spacer48{display:inline-block;height:1px;width:48px}* .gap49{height:49px;width:100%}* .spacer49{display:inline-block;height:1px;width:49px}* .gap50{height:50px;width:100%}* .spacer50{display:inline-block;height:1px;width:50px}* .gap51{height:51px;width:100%}* .spacer51{display:inline-block;height:1px;width:51px}* .gap52{height:52px;width:100%}* .spacer52{display:inline-block;height:1px;width:52px}* .gap53{height:53px;width:100%}* .spacer53{display:inline-block;height:1px;width:53px}* .gap54{height:54px;width:100%}* .spacer54{display:inline-block;height:1px;width:54px}* .gap55{height:55px;width:100%}* .spacer55{display:inline-block;height:1px;width:55px}* .gap56{height:56px;width:100%}* .spacer56{display:inline-block;height:1px;width:56px}* .gap57{height:57px;width:100%}* .spacer57{display:inline-block;height:1px;width:57px}* .gap58{height:58px;width:100%}* .spacer58{display:inline-block;height:1px;width:58px}* .gap59{height:59px;width:100%}* .spacer59{display:inline-block;height:1px;width:59px}* .gap60{height:60px;width:100%}* .spacer60{display:inline-block;height:1px;width:60px}* .gap61{height:61px;width:100%}* .spacer61{display:inline-block;height:1px;width:61px}* .gap62{height:62px;width:100%}* .spacer62{display:inline-block;height:1px;width:62px}* .gap63{height:63px;width:100%}* .spacer63{display:inline-block;height:1px;width:63px}* .gap64{height:64px;width:100%}* .spacer64{display:inline-block;height:1px;width:64px}* .gap65{height:65px;width:100%}* .spacer65{display:inline-block;height:1px;width:65px}* .gap66{height:66px;width:100%}* .spacer66{display:inline-block;height:1px;width:66px}* .gap67{height:67px;width:100%}* .spacer67{display:inline-block;height:1px;width:67px}* .gap68{height:68px;width:100%}* .spacer68{display:inline-block;height:1px;width:68px}* .gap69{height:69px;width:100%}* .spacer69{display:inline-block;height:1px;width:69px}* .gap70{height:70px;width:100%}* .spacer70{display:inline-block;height:1px;width:70px}* .gap71{height:71px;width:100%}* .spacer71{display:inline-block;height:1px;width:71px}* .gap72{height:72px;width:100%}* .spacer72{display:inline-block;height:1px;width:72px}* .gap73{height:73px;width:100%}* .spacer73{display:inline-block;height:1px;width:73px}* .gap74{height:74px;width:100%}* .spacer74{display:inline-block;height:1px;width:74px}* .gap75{height:75px;width:100%}* .spacer75{display:inline-block;height:1px;width:75px}* .gap76{height:76px;width:100%}* .spacer76{display:inline-block;height:1px;width:76px}* .gap77{height:77px;width:100%}* .spacer77{display:inline-block;height:1px;width:77px}* .gap78{height:78px;width:100%}* .spacer78{display:inline-block;height:1px;width:78px}* .gap79{height:79px;width:100%}* .spacer79{display:inline-block;height:1px;width:79px}* .gap80{height:80px;width:100%}* .spacer80{display:inline-block;height:1px;width:80px}* .gap81{height:81px;width:100%}* .spacer81{display:inline-block;height:1px;width:81px}* .gap82{height:82px;width:100%}* .spacer82{display:inline-block;height:1px;width:82px}* .gap83{height:83px;width:100%}* .spacer83{display:inline-block;height:1px;width:83px}* .gap84{height:84px;width:100%}* .spacer84{display:inline-block;height:1px;width:84px}* .gap85{height:85px;width:100%}* .spacer85{display:inline-block;height:1px;width:85px}* .gap86{height:86px;width:100%}* .spacer86{display:inline-block;height:1px;width:86px}* .gap87{height:87px;width:100%}* .spacer87{display:inline-block;height:1px;width:87px}* .gap88{height:88px;width:100%}* .spacer88{display:inline-block;height:1px;width:88px}* .gap89{height:89px;width:100%}* .spacer89{display:inline-block;height:1px;width:89px}* .gap90{height:90px;width:100%}* .spacer90{display:inline-block;height:1px;width:90px}* .gap91{height:91px;width:100%}* .spacer91{display:inline-block;height:1px;width:91px}* .gap92{height:92px;width:100%}* .spacer92{display:inline-block;height:1px;width:92px}* .gap93{height:93px;width:100%}* .spacer93{display:inline-block;height:1px;width:93px}* .gap94{height:94px;width:100%}* .spacer94{display:inline-block;height:1px;width:94px}* .gap95{height:95px;width:100%}* .spacer95{display:inline-block;height:1px;width:95px}* .gap96{height:96px;width:100%}* .spacer96{display:inline-block;height:1px;width:96px}* .gap97{height:97px;width:100%}* .spacer97{display:inline-block;height:1px;width:97px}* .gap98{height:98px;width:100%}* .spacer98{display:inline-block;height:1px;width:98px}* .gap99{height:99px;width:100%}* .spacer99{display:inline-block;height:1px;width:99px}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;background-color:var(--bg-body);font-family:sans-serif;margin:0;min-height:100vh;padding:0}body select{background-color:var(--bg-surface);border:var(--border-color) 1px solid;border-radius:5px;color:var(--text-primary);font-size:1rem;padding:.4rem 2.5rem .4rem .5rem}body select:focus,body select:active,body select:hover,body select:visited,body select:link{outline:none}body a{color:var(--text-primary);text-decoration:none;transition:all .3s}body a:hover{color:var(--hover-color, #EFD500)}.login-logo{width:12rem}.guest{align-items:center;display:flex;flex-direction:column;min-height:100vh;overflow:hidden;padding-top:1.5rem}.guest__card{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;margin-top:1.5rem;overflow:hidden;padding:1rem 1.5rem;width:100%}@media (min-width: 640px){.guest{justify-content:center;padding-top:0}.guest__card{border-radius:.5rem;max-width:28rem}}.btn{background-color:var(--bg-elevated);border:none;border-radius:5px;color:var(--text-primary);cursor:pointer;display:inline-block;font-size:1rem;padding:10px 20px;transition:all .3s}.btn--danger{background-color:#dc2626;color:#fff}.btn--danger:hover{background-color:#ef4444}.btn--danger:active{background-color:#b91c1c}.btn--primary{background-color:#4e46dd;color:#fff}.btn--modal:after{content:"";font-family:"Font Awesome 6 Pro",sans-serif;font-size:12px;font-weight:300;margin-left:.5rem}.btn--sm{font-size:.85rem;padding:5px 12px}.btn.record-payment-trigger{margin-left:.5rem}.btn[target=_blank]:after{content:"";font-family:"Font Awesome 6 Pro",sans-serif;font-size:12px;font-weight:300;margin-left:.5rem}.record-payment-modal__header{display:flex;flex-direction:column;gap:.4rem}.record-payment-modal__meta{color:var(--text-muted);font-size:.85rem}.bulk-payment-bar{align-items:center;background:var(--bg-inset);border:1px solid #2a334a;border-radius:6px;color:var(--text-secondary);display:flex;gap:.75rem;margin:.75rem 0;padding:.6rem .9rem}.bulk-payment-bar__summary{color:var(--text-secondary);flex:1;font-size:.9rem}.bulk-payment-bar .btn{color:var(--text-secondary)}.bulk-payment-bar[hidden]{display:none}input.bulk-payment-check{accent-color:var(--purple, #4E46DC);-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;background:var(--bg-inset);border:1px solid var(--border-color);border-radius:3px;cursor:pointer;height:1.05rem;margin:0;padding:0;transition:transform 80ms ease;vertical-align:middle;width:1.05rem}input.bulk-payment-check:hover{transform:scale(1.1)}input.bulk-payment-check:focus-visible{outline:2px solid var(--blue, #69b8ff);outline-offset:2px}.record-bulk-payment-table{margin-bottom:0;width:100%}.record-bulk-payment-table th,.record-bulk-payment-table td{padding:.35rem .5rem;vertical-align:middle}.record-bulk-payment-table input.record-bulk-payment-amount{max-width:7rem;text-align:right}.record-bulk-payment-table tfoot td{border-top:1px solid var(--border-soft, #e5e7eb);font-weight:600}.record-bulk-payment-remove{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1.2rem;line-height:1;padding:0 .25rem}.record-bulk-payment-remove:hover{color:#ef4444}.record-payment-pick-empty{font-size:.85rem;margin:.5rem 0 .75rem}.record-payment-pick-group{display:block;margin:.5rem 0 1rem;width:100%}.record-payment-pick-group[hidden]{display:none}.badge{display:inline-block;font-size:.7rem;font-weight:600;padding:2px 8px;border-radius:3px;text-transform:uppercase;letter-spacing:.03em;vertical-align:middle}.badge--primary{background-color:var(--primary-contact);color:#fff}.checkbox-label,form .field .checkbox-label{align-items:center;cursor:pointer;display:flex;gap:.5rem;padding-top:1.75rem;width:-moz-fit-content;width:fit-content}.checkbox-label input[type=checkbox],form .field .checkbox-label input[type=checkbox]{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;background:none;border:none;border-radius:0;height:auto;margin:0;padding:0;width:auto}.pagination-bar{display:flex;align-items:center;justify-content:space-between}.pagination-bar__showing{font-size:.85rem;color:var(--text-muted);white-space:nowrap}.pagination-bar__controls{display:flex;align-items:center;gap:.75rem}.pagination-bar__perpage select{width:auto;padding:4px 24px 4px 8px;font-size:.85rem}.pagination-bar nav{background-color:transparent;border-bottom:none;display:flex;align-items:center;gap:.5rem}.pagination-bar__link{font-weight:500;line-height:1.25rem;position:relative}.pagination-bar__link--disabled{cursor:default;opacity:.5}.assign-contact{display:flex;gap:.5rem;align-items:center;margin-top:1rem}.assign-contact select{flex:1}.client-layout{display:flex;gap:1.5rem}.client-layout__column{width:50%}.filter-bar{display:flex;gap:.5rem;margin-bottom:1rem}.aging-bar{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:8px;display:grid;grid-template-columns:minmax(220px,1.05fr) repeat(5,1fr);margin-bottom:1rem;overflow:hidden}.aging-bar .aging-tally{border-right:1px solid var(--border-color);display:flex;flex-direction:column;gap:.25rem;justify-content:center;padding:.85rem 1.1rem}.aging-bar .aging-tally__amount{font-size:1.55rem;font-weight:600;letter-spacing:-.01em}.aging-bar .aging-tally__label{color:var(--text-muted);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}.aging-bar .aging-tally__meta{color:var(--text-muted);font-size:.78rem}.aging-chip{background:transparent;border-left:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;display:flex;flex-direction:column;gap:.2rem;justify-content:center;padding:.85rem 1rem;position:relative;text-align:left;text-decoration:none;transition:background .15s,color .15s}.aging-chip:hover{background:#ffffff0a;color:var(--text-primary)}.aging-chip__amt{font-size:1.05rem;font-weight:600}.aging-chip__bucket{color:var(--text-muted);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}.aging-chip__clear{color:var(--text-muted);font-size:1.25rem;line-height:1;position:absolute;right:.55rem;top:.5rem}.aging-chip__count{color:var(--text-muted);font-size:.72rem}.aging-chip[data-bucket="61-90"] .aging-chip__amt{color:#ffd9a8}.aging-chip[data-bucket="90+"] .aging-chip__amt{color:#ffb4b4}.aging-chip.is-active{background:#4e46dd22;box-shadow:inset 0 -2px #4e46dd}.aging-chip.is-active .aging-chip__bucket{color:#69b8ff}.aging-chip.is-empty:not(.is-active){opacity:.4}.client-inactive{opacity:.5}.client{border-radius:3px;display:inline-block;padding:3px 6px;text-decoration:none}.client--uncolored{background-color:var(--bg-elevated);color:var(--text-secondary)}.invoice-projects{list-style:none;margin:.75rem 0 0;padding:0}.invoice-projects li{font-size:.85em;line-height:1.3}.invoice-projects a{border:1px solid var(--border-color);padding:.125rem .5rem;border-radius:5px;color:var(--color-muted, #888)}.invoice-projects a:hover{color:inherit}.deduct-invoices-field .deduct-invoices-list{list-style:none;margin:.5rem 0 0;padding:0}.deduct-invoices-field .deduct-invoices-list__row{border-top:1px solid var(--border-color);padding:.35rem 0}.deduct-invoices-field .deduct-invoices-list__row:last-child{border-bottom:1px solid var(--border-color)}.deduct-invoices-field .deduct-invoices-list__label{align-items:center;cursor:pointer;display:grid;font-size:.85rem;gap:.6rem;grid-template-columns:auto auto 1fr auto auto;margin:0}.deduct-invoices-field .deduct-invoices-list__label input[type=checkbox]{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;background:none;border:none;border-radius:0;height:auto;justify-self:start;margin:0;padding:0;width:auto}.deduct-invoices-field .deduct-invoices-list__date{color:var(--text-muted);font-size:.8rem}.deduct-invoices-field .deduct-invoices-list__num{font-weight:600}.deduct-invoices-field .deduct-invoices-warning{color:var(--danger, #c0392b);font-size:.8rem;margin-top:.4rem}.invoices-box__list{list-style:none;margin:1rem 0;padding:0;width:100%}.invoices-box__row{align-items:center;border-top:1px solid var(--border-color);display:grid;font-size:.9rem;gap:.75rem;grid-template-columns:auto auto 1fr auto auto auto auto;padding:.5rem 0}.invoices-box__row:last-child{border-bottom:1px solid var(--border-color)}.invoices-box__num{font-weight:600}.invoices-box__date{color:var(--text-muted);font-size:.8rem}.invoices-box__total{color:var(--text-secondary)}.invoices-box__actions{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.invoices-box__balance{color:#ffd9a8;font-size:.8rem}.invoices-box__unlink{margin:0}.invoices-box__unlink-btn{background:transparent;border:1px solid var(--border-color);border-radius:4px;color:var(--text-muted);cursor:pointer;font-size:.85rem;height:1.5rem;line-height:1;padding:0;width:1.5rem}.invoices-box__unlink-btn:hover{background:var(--bg-elevated);color:var(--text-primary)}.invoices-box__empty{color:var(--text-muted);font-size:.85rem;margin:.75rem 0}.dropdown-menu{padding-top:.5rem;position:absolute;z-index:50}.dropdown-menu--left{inset-inline-start:0;transform-origin:top left}.dropdown-menu--right{inset-inline-end:0;transform-origin:top right}.dropdown-menu--w48{width:12rem}.dropdown-menu__panel{border-radius:.375rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a,0 0 0 1px #0000000d}nav{background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);position:sticky;top:0;width:100%;z-index:1000}nav .nav-menu{margin-inline:auto;max-width:var(--max-width, 90rem);padding-inline:1rem;width:100%}@media (min-width: 640px){nav .nav-menu{padding-inline:1.5rem}}@media (min-width: 1024px){nav .nav-menu{padding-inline:2rem}}nav .nav-menu .nav-flex{align-items:center}nav .nav-menu .nav-logo{align-items:center;display:flex;flex-shrink:0}nav .nav-menu .nav-group{display:none}@media (min-width: 640px){nav .nav-menu .nav-group{display:flex;margin-inline-start:2.5rem}}nav .nav-menu .nav-trigger{align-items:center;border-bottom:2px solid transparent;display:inline-flex;font-size:.875rem;font-weight:500}nav .nav-menu .nav-hamburger{align-items:center;display:flex;margin-inline-end:-.5rem}@media (min-width: 640px){nav .nav-menu .nav-hamburger{display:none}}nav .nav-menu .nav-hamburger__trigger{align-items:center;justify-content:center}nav .nav-menu .nav-hamburger__icon{height:1.5rem;width:1.5rem}nav .nav-menu .nav-hamburger__path{display:none}nav .nav-menu .nav-hamburger__path--active{display:inline-flex}nav .nav-menu .dropdown{background:var(--bg-surface);padding:10px 0}nav .nav-menu .dropdown a{color:var(--text-secondary)}nav .nav-menu .dropdown a:hover{background:var(--bg-elevated);color:var(--text-primary)}nav .nav-menu input[type=search]{background-color:var(--bg-surface);border:var(--border-color) 1px solid;border-radius:5px;box-shadow:0 1px 2px #0000000d;color:var(--text-primary);font-size:1rem;height:50px;max-width:320px;padding:.5rem;width:100%}nav .nav-menu input[type=search]:focus{box-shadow:0 0 0 1px #3b82f6;outline:none}nav .nav-menu .search-wrapper{position:relative;width:100%;max-width:320px}nav .nav-menu a,nav .nav-menu button{line-height:1.1;text-transform:uppercase}nav .nav-menu a:hover,nav .nav-menu button:hover{border-bottom-color:transparent;color:var(--hover-color)}nav .nav-menu a.active,nav .nav-menu button.active{background:#4e46dd2e;border-bottom-color:transparent;border-radius:6px;color:var(--text-primary);padding:5px 10px}nav .nav-menu a.pop-modal{cursor:pointer}nav .nav-menu a.pop-modal:after{content:"";font-family:"Font Awesome 6 Pro",sans-serif;font-size:12px;font-weight:300;margin-left:.5rem}nav .nav-menu button{display:flex;line-height:20px;padding:6px 4px}nav .nav-menu button.theme-toggle{line-height:1;padding:2px}nav a.logo{left:-5px;position:relative}nav a.logo img:hover{filter:drop-shadow(0 0 5px var(--hover-color))}nav a.logo svg{display:block;height:2.25rem;width:auto}nav .nav-mobile{display:none}nav .nav-mobile--open{display:block}@media (min-width: 640px){nav .nav-mobile{display:none}nav .nav-mobile--open{display:none}}nav .nav-mobile__settings-header{padding-inline:1rem}nav .nav-mobile__settings-name{font-size:1rem;font-weight:500}main nav>div{width:100%}header{align-items:flex-start;color:var(--text-primary);font-size:1.2rem;padding:10px 2rem;border-radius:5px;border:none;cursor:pointer;display:flex;justify-content:space-between;margin:0 auto 10px;max-width:var(--max-width, 90rem);transition:all .3s}header .buttons{display:flex;gap:1rem;align-items:center}header .buttons .btn{flex-shrink:0;font-size:.85rem;padding:6px 14px;white-space:nowrap}header h2{width:-moz-fit-content;width:fit-content}header select{background-color:var(--bg-surface);border:var(--border-color) 1px solid;border-radius:5px;color:var(--text-primary);font-size:.85rem;padding:.3rem 2rem .3rem .6rem;width:10rem;flex-shrink:0;text-overflow:ellipsis}main{color:var(--text-primary);max-width:var(--max-width, 90rem);margin:0 auto;padding:0 2rem}main a{color:var(--text-primary);text-decoration:none;transition:all .3s}main a:hover{color:var(--hover-color)}main header{flex-direction:column;padding:0}main fieldset{border:1px solid var(--border-color);border-radius:5px;margin-top:.5rem;padding:.5rem 1rem 1rem}main fieldset legend{font-size:.9rem;padding:0 .5rem}main fieldset div{font-size:2.8rem;line-height:1;margin-top:0;padding-left:1rem;text-align:center}main fieldset div sup{font-size:.5em;margin:0 .25rem;position:relative;top:-.7em}main .columns{display:flex;flex-wrap:wrap;gap:2rem;margin:2rem 0;width:100%}main .columns__column{display:flex;flex-direction:column;gap:1rem;width:calc(50% - 1rem)}main .columns__column>.p-4,main .columns__column>[class*=p-4]{background-color:var(--bg-surface)}main .columns__column--full-width{width:100%}main .columns__column .submenu{display:flex;flex-direction:row;gap:1rem;justify-content:flex-end}main .columns__column .submenu a{border-radius:5px;color:var(--text-primary);font-size:1rem;padding:.5rem 1rem;text-decoration:none;transition:all .3s}main .columns__column .submenu a:hover{color:var(--hover-color)}main .columns__column .submenu a.active{color:var(--text-primary);background-color:rgb(31 41 55 / var(--tw-bg-opacity))}main .columns__column .toggleable{display:none}main .columns__column .toggleable.active{display:block}main .columns--estimate{flex-wrap:nowrap;width:100%}main .columns--estimate .columns__column{width:50%}input[type=text].is-saving,input[type=password].is-saving,input[type=email].is-saving,input[type=number].is-saving,input[type=date].is-saving,input[type=time].is-saving,input[type=tel].is-saving,input[type=url].is-saving,input[type=search].is-saving{border-color:#efd500!important}input[type=text].is-error,input[type=password].is-error,input[type=email].is-error,input[type=number].is-error,input[type=date].is-error,input[type=time].is-error,input[type=tel].is-error,input[type=url].is-error,input[type=search].is-error{border-color:#ef4444!important}input[type=text].is-success,input[type=password].is-success,input[type=email].is-success,input[type=number].is-success,input[type=date].is-success,input[type=time].is-success,input[type=tel].is-success,input[type=url].is-success,input[type=search].is-success{border-color:#34d399!important}.auth-session-status{color:var(--success, #16a34a);font-size:.875rem;font-weight:500}.input-label{display:block;font-size:.875rem;font-weight:500}.text-input{border-radius:.375rem;box-shadow:0 1px 2px #0000000d}.text-input:focus{--tw-ring-color: #6366f1;border-color:#6366f1;box-shadow:0 0 0 1px #6366f1;outline:none}.auth-checkbox{color:#4f46e5}.auth-checkbox:focus{border-color:#6366f1;box-shadow:0 0 0 1px #6366f1;outline:none}.form-error-banner{color:var(--danger, #c0392b)}.form-section__heading{font-size:1.125rem;font-weight:500}.link-danger{color:var(--danger, #ef4444)}.link-danger:hover{color:#b91c1c}.link-underline{text-decoration:underline}.link-underline:focus{border-color:#6366f1;box-shadow:0 0 0 1px #6366f1;outline:none}.link-underline:hover{border-radius:.375rem}.merge-candidate{box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a;padding:1rem}@media (min-width: 640px){.merge-candidate{border-radius:.5rem}}@media (min-width: 640px){.page-container{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width: 1024px){.page-container{padding-left:2rem;padding-right:2rem}}.page-header__title{font-size:1.25rem;font-weight:600;line-height:1.25}.profile-page{padding-bottom:3rem;padding-top:3rem}.profile-page__container{margin-left:auto;margin-right:auto;max-width:80rem}@media (min-width: 640px){.profile-page__container{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width: 1024px){.profile-page__container{padding-left:2rem;padding-right:2rem}}.profile-card{box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a;padding:1rem}@media (min-width: 640px){.profile-card{border-radius:.5rem;padding:2rem}}.profile-card__inner{max-width:36rem}.shop-admin{padding-bottom:3rem;padding-top:3rem}.shop-admin__container{margin-left:auto;margin-right:auto;max-width:80rem}@media (min-width: 640px){.shop-admin__container{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width: 1024px){.shop-admin__container{padding-left:2rem;padding-right:2rem}}.shop-admin__section{box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a;padding:1rem}@media (min-width: 640px){.shop-admin__section{border-radius:.5rem;padding:2rem}}.project-hours-table-wrapper{overflow-x:auto;overflow-y:scroll;max-height:70vh;position:relative}.project-hours-table-wrapper::-webkit-scrollbar{width:1px}.project-hours-table-wrapper::-webkit-scrollbar-thumb{background:#3a414f;border-radius:5px}.project-hours-table-wrapper::-webkit-scrollbar-track{background:transparent}.project-hours-table-wrapper::-webkit-scrollbar-thumb:hover{background:#555}.project-hours-table-wrapper::-webkit-scrollbar-thumb:active{background:#555}.hours-columns__column{width:50%}table{border-collapse:collapse;max-width:var(--max-width, 90rem);width:100%;margin:2rem auto}table th,table td{color:var(--text-primary);line-height:1.2;padding:8px;position:relative;text-align:left}table th.low,table td.low{vertical-align:bottom}table th input[type=text],table td input[type=text],table th input[type=number],table td input[type=number]{background-color:var(--bg-surface);border:var(--border-color) 1px solid;border-radius:5px;color:var(--text-primary);display:inline-block;font-size:1rem;padding:.5rem;width:100%}table th input[type=text].hidden-until-focused,table td input[type=text].hidden-until-focused,table th input[type=number].hidden-until-focused,table td input[type=number].hidden-until-focused{border-color:transparent}table th input[type=text].short-input,table td input[type=text].short-input,table th input[type=number].short-input,table td input[type=number].short-input{width:80px}table th input[type=number],table td input[type=number]{text-align:center;width:80px}table th .client,table td .client{background-color:var(--bg-elevated);border-radius:5px;font-size:.9rem;padding:.25rem .75rem;white-space:nowrap}table th.count:after,table td.count:after{background:#222;border-radius:50%;color:var(--text-primary);content:attr(data-count);display:inline-block;height:24px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:24px;z-index:1}table th.center,table td.center{text-align:center}table th.is-zero:after,table td.is-zero:after{display:none}table th.muted,table td.muted,table th .muted,table td .muted{color:var(--text-muted);font-size:.9rem}table th .running,table td .running{color:var(--active)}table th:last-child,table td:last-child{text-align:right}table th{color:var(--text-primary)}table th.project-count{width:10%}table th.small{font-size:.9rem}table tr{border-top:var(--bg-surface) 1px solid}table.inside-table tbody tr,table.inside-table tfoot tr{border-top-color:var(--border-color)}table.inside-table td label{color:var(--text-muted);display:block;margin-bottom:.25rem;font-size:.9rem}table.inside-table td input{position:relative}table.inside-table td input:focus,table.inside-table td input:active,table.inside-table td input:hover,table.inside-table td input:focus-visible,table.inside-table td input:focus-within{border-color:#4e46dd;outline:none;--tw-ring-color: transparent}table.inside-table td:first-of-type input{left:-.5rem}table.project-hours-table{margin:0}table.project-hours-table th:last-child,table.project-hours-table td:last-child{padding-right:20px}table.project-hours-table tbody{position:relative;z-index:1}table.project-hours-table thead,table.project-hours-table tfoot{background:var(--bg-surface);position:sticky;top:0;z-index:2}table.project-hours-table thead:after{background:var(--bg-elevated);bottom:0;content:"";display:block;height:1px;position:absolute;width:100%}table.project-hours-table tfoot{top:auto;bottom:0}table.project-hours-table tfoot:after{background:var(--bg-elevated);top:0;content:"";display:block;height:1px;position:absolute;width:100%}table.project-hours-table tfoot tr{border-top:var(--border-color) 1px solid}table thead tr{border-top:none}table .pill{background-color:#4e46dd;border-radius:5px;color:#fff;display:inline-block;font-size:.7rem;padding:.25rem .5rem;text-transform:uppercase}table .pill--dark{background-color:var(--bg-surface);color:var(--text-primary)}table .pill--paid{background-color:var(--paid)}table .pill--progress{height:28px;line-height:28px;padding:0;position:relative;width:80px}table .pill--progress:after{background-color:#34d399;border-radius:0 0 0 5px;bottom:0;content:"";display:block;height:3px;left:0;position:absolute;width:var(--data-progress)}table .pill--over:after{background-color:#ef4444}table .pill--active{background-color:var(--success, #16a34a)}.shop-table__fulfilled{color:var(--success, #16a34a)}.shop-table__link{color:var(--hover-color);cursor:pointer}.shop-table__link:hover{text-decoration:underline}.shop-table th,.shop-table td{padding:.75rem 1rem}.shop-table th{font-size:.75rem;font-weight:500;text-transform:uppercase}.shop-table td{font-size:.875rem}.shop-table tbody tr{border-top:1px solid var(--border-color)}.week{display:flex;flex-direction:row;gap:4px;margin:0}.week__day{display:flex;flex:1;flex-direction:column;gap:2px}.week__day__detail{display:contents}.week__day__projects{display:flex;flex-direction:column;gap:2px;height:100px;justify-content:flex-end}.week__day__hours{color:var(--text-muted);font-size:13px;margin-top:2px;text-align:center}.week__day__label{border-bottom:1px solid var(--border-subtle);color:var(--text-dim);font-size:14px;line-height:1.1;margin-bottom:4px;padding-bottom:4px;text-align:center;text-transform:uppercase}.week__day--today .week__day__label{color:var(--text-secondary);font-weight:600}.week__day__todos{align-items:stretch;border-radius:4px;cursor:pointer;display:flex;flex:1;flex-direction:column;gap:5px;min-height:40px;padding:4px 2px}.week__day__todos__empty{align-items:flex-start;border-radius:4px;color:var(--text-dim);display:flex;font-size:13px;padding:6px 8px;transition:background-color .15s ease}.week__day__todos__empty:hover{background-color:#ffffff0a}.week__day__todo{align-items:center;background:#ffffff08;border-radius:6px;cursor:pointer;display:flex;gap:8px;justify-content:flex-start;max-width:100%;min-height:34px;padding:6px 8px;width:100%}.week__day__todo__grip{align-items:center;color:var(--text-dim);cursor:grab;display:flex;font-size:13px;padding:0 2px;touch-action:none}.week__day__todo__badge{border:1.5px solid #6b7280;border-radius:50%;flex-shrink:0;height:14px;width:14px}.week__day__todo__title{color:var(--text-primary);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.week__day__todo--done .week__day__todo__badge{background:#34d399;border-color:#34d399}.week__day__todo--done .week__day__todo__title{color:var(--text-dim);text-decoration:line-through}.week__day__todo--ghost{opacity:.4}.week__day__project{align-items:center;color:var(--text-primary);display:flex;font-size:9px;justify-content:center;min-height:0;padding:0;position:relative}.week__day__project:first-child{border-radius:3px 3px 0 0}.week__day__project:last-child{border-radius:0 0 3px 3px}.week__day__project:only-child{border-radius:3px}.week__day__project__tooltip{background:#111827;border:1px solid var(--border-subtle);border-radius:6px;bottom:calc(100% + 6px);box-shadow:0 4px 12px #0006;color:var(--text-secondary);display:none;font-size:12px;left:50%;line-height:1.35;max-width:260px;min-width:180px;overflow:hidden;padding:8px 10px;pointer-events:none;position:absolute;text-align:left;transform:translate(-50%);white-space:normal;z-index:30}.week__day__project__tooltip__client{color:var(--text-muted);font-size:11px;letter-spacing:.04em;text-transform:uppercase}.week__day__project__tooltip__name{color:#f9fafb;font-size:13px;font-weight:600;margin-top:2px}.week__day__project__tooltip__entries{border-top:1px solid var(--border-subtle);list-style:none;margin:6px 0 0;padding:6px 0 0}.week__day__project__tooltip__entries li{margin:0 0 2px}.week__day__project__tooltip__entries li:last-child{margin-bottom:0}.week__day__project__tooltip__progress{background:var(--border-subtle);height:4px;margin:8px -10px -8px;position:relative}.week__day__project__tooltip__progress:after{background:#34d399;content:"";height:100%;left:0;position:absolute;top:0;transition:width .3s ease;width:var(--progress, 0%)}.week__day__project__tooltip__progress--over:after{background:#ef4444}.week__day__project:hover .week__day__project__tooltip{display:block}.week__day__summary{align-items:center;background:none;border:none;color:var(--text-muted);cursor:pointer;display:none;gap:10px;padding:6px 4px;text-align:left;width:100%}.week__day__summary__label{color:var(--text-secondary);font-size:14px;font-weight:600}.week__day__summary__hours{color:var(--text-muted);font-size:13px}.week__day__summary__done{color:#34d399;font-size:13px;margin-left:auto}.week__day__summary__chevron{color:var(--text-dim);font-size:11px;margin-left:auto;transition:transform .2s}.todo-popover{background:var(--border-subtle);border-radius:8px;display:flex;border:1px solid var(--border-subtle);box-shadow:0 4px 12px #0006;gap:3px;padding:5px;position:fixed;z-index:20}.todo-popover:after{border:6px solid transparent;border-bottom-color:var(--border-subtle);content:"";left:50%;position:absolute;top:-12px;transform:translate(-50%)}.todo-popover:before{border:5px solid transparent;border-bottom-color:var(--border-subtle);content:"";left:50%;position:absolute;top:-10px;transform:translate(-50%);z-index:1}.todo-popover__btn{align-items:center;border-radius:5px;cursor:pointer;display:flex;font-size:13px;height:28px;justify-content:center;width:28px}.todo-popover__btn--complete{background:#34d399}.todo-popover__btn--move{background:#3b82f6}.todo-popover__btn--delete{background:#ef4444}.todo-popover__btn:hover{opacity:.8}.todo-popover__move-picker{background:var(--border-subtle);border-radius:6px;box-shadow:0 4px 12px #0006;display:flex;flex-direction:column;gap:2px;padding:4px;position:fixed;z-index:21}.todo-popover__move-row{display:flex;gap:2px}.todo-popover__move-label{align-items:center;color:var(--text-dim);display:flex;font-size:8px;height:16px;justify-content:center;width:22px}.todo-popover__move-label--current{color:var(--text-secondary);font-weight:600}.todo-popover__move-day{align-items:center;border-radius:4px;color:var(--text-muted);cursor:pointer;display:flex;font-size:10px;height:22px;justify-content:center;width:22px}.todo-popover__move-day:hover{background:var(--bg-elevated);color:var(--text-secondary)}.todo-popover__move-day--current{color:var(--text-dim);cursor:default}.todo-popover__move-day--current:hover{background:none;color:var(--text-dim)}.todo-popover__move-day--next{background:#3b82f6;color:var(--text-primary)}.todo-popover__move-day--next:hover{background:#2563eb;color:var(--text-primary)}.todo-popover__move-sep{border-top:1px solid var(--border-color);margin:2px 0}.todo-input{background:transparent;border:none;border-bottom:1px solid var(--border-color);border-radius:0;box-shadow:none;color:var(--text-secondary);font-size:13px;outline:none;padding:2px 0;text-align:center;width:90%}.todo-input:focus{border-bottom-color:var(--text-dim);box-shadow:none;outline:none}.todo-input::-moz-placeholder{color:var(--text-dim)}.todo-input::placeholder{color:var(--text-dim)}.week-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:8px}.week-header__stats{align-items:center;display:flex;font-size:15px;gap:12px}.week-header__hours{color:#34d399;font-weight:700}.week-header__dollars{color:#a78bfa}.week-header__avg{color:var(--text-dim)}.week-header .week-select{align-items:center;color:var(--text-dim);display:flex;font-size:11px;gap:4px}.week-header .week-select__button{color:var(--text-dim);font-size:12px;padding:0 4px}.week-header .week-select__button:hover{color:var(--text-secondary)}.week-header .week-select__button--prev:after{content:"";font-family:"Font Awesome 6 Pro",sans-serif;font-weight:300}.week-header .week-select__button--next:before{content:"";font-family:"Font Awesome 6 Pro",sans-serif;font-weight:300}.week-header .week-select select{background:var(--border-subtle);border:none;border-radius:4px;color:var(--text-muted);font-size:11px;padding:2px 6px 2px 24px}.dashboard-zone-1,.dashboard-zone-chart{margin-bottom:12px}.chart-range-buttons{display:flex;gap:6px;margin-bottom:12px}.chart-range-btn{background:var(--border-subtle);border:1px solid var(--border-color);border-radius:4px;color:var(--text-muted);cursor:pointer;font-size:12px;padding:4px 12px;transition:all .15s}.chart-range-btn:hover{background:var(--bg-elevated);color:var(--text-secondary)}.chart-range-btn--active{background:#4e46dc;border-color:#4e46dc;color:#fff}.chart-container{height:300px;position:relative;width:100%}.dashboard-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:8px;font-size:14px;overflow:hidden}.dashboard-card--collapsed .dashboard-card__header{border-bottom:none}.dashboard-card__header{align-items:center;border-bottom:1px solid var(--border-subtle);cursor:pointer;display:flex;font-size:13px;justify-content:space-between;min-height:44px;padding:8px 14px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dashboard-card__header>span{color:var(--text-primary);font-size:14px;text-transform:uppercase}.dashboard-card__title{color:var(--text-muted);font-size:13px;font-weight:600}.dashboard-card__header-right{align-items:center;display:flex;gap:10px}.dashboard-card__badge{color:var(--text-muted)}.dashboard-card__badge select{background:var(--border-subtle);border:none;border-radius:4px;color:var(--text-muted);font-size:11px;padding:2px 6px 2px 12px}.dashboard-card__chevron{color:var(--text-dim);font-size:10px;transition:transform .2s}.dashboard-card__chevron--collapsed{transform:rotate(-90deg)}.dashboard-card__body{max-height:1000px;overflow:hidden;padding:10px 14px;position:relative;transition:max-height .3s ease,padding .3s ease}.dashboard-card__body--collapsed{max-height:0;padding-bottom:0;padding-top:0}.dashboard-card[data-card-id=week-hours]{overflow:visible}.dashboard-card[data-card-id=week-hours] .dashboard-card__body:not(.dashboard-card__body--collapsed){overflow:visible}.dashboard-card[data-card-id="week-hours"]--loading::after{background:#212936b3;content:"";top:0;right:0;bottom:0;left:0;position:absolute}.status-strip{align-items:center;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:13px;gap:12px;justify-content:flex-end;line-height:1;margin-bottom:12px;padding:10px 16px}.status-strip__segment{align-items:center;color:inherit;display:inline-flex;gap:6px;text-decoration:none}.status-strip__segment:hover{color:var(--text-primary)}.status-strip__label{color:var(--text-dim);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.status-strip__value{font-weight:600}.status-strip__muted{color:var(--text-muted);font-size:11px}.status-strip__trend{font-size:11px;font-weight:500}.status-strip__trend--up{color:#34d399}.status-strip__trend--down{color:#ef4444}.status-strip__sep{color:var(--text-dim)}.status-strip .qbo-status__indicator{margin-right:0}.stat-card__value{font-size:24px;font-weight:700;margin-top:4px}.stat-card__value--green{color:#34d399}.stat-card__value--purple{color:#a78bfa}.stat-card__value--amber{color:var(--pending)}.stat-card__label{color:var(--text-dim);letter-spacing:.5px;text-transform:uppercase}.stat-card__subtitle{color:var(--text-dim);margin-top:2px}.card-row{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;padding:6px 0}.card-row:last-child{border-bottom:none}.card-row__label{color:var(--text-secondary)}.card-row__meta{color:var(--text-dim);font-size:12px;margin-left:6px}.card-row__value{color:var(--text-dim)}.card-row__value--red{color:#ef4444}.card-row__value--amber{color:var(--pending)}.card-row__value--green{color:#34d399}.card-row--stacked{flex-direction:column;gap:4px}.card-row--stacked .card-row__top{align-items:center;display:flex;justify-content:space-between;width:100%}.card-row--summary{border-bottom:none;border-top:1px solid var(--border-subtle);margin-top:4px;padding-top:10px}.card-row--summary .card-row__label{color:var(--text-muted);font-size:12px;text-transform:uppercase}.card-row--summary .card-row__value{color:var(--text-secondary);font-weight:600}.card-row--summary.card-row--summary-sub{border-top:none;margin-top:0;padding-top:2px}.value-mode__switch{display:inline-flex;background:var(--bg-surface);border-radius:4px;margin-bottom:8px;overflow:hidden}.value-mode__btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:11px;padding:4px 10px;transition:background .15s,color .15s}.value-mode__btn:hover{color:var(--text-secondary)}.value-mode__btn.is-active{background:var(--border-subtle);color:var(--text-secondary)}.value-mode[data-value-mode=excl] [data-value-mode-show=incl],.value-mode[data-value-mode=incl] [data-value-mode-show=excl]{display:none}.value-mode .card-row--alt{background:#ffffff06;margin:0 -14px;padding:6px 14px}.progress-bar{align-self:flex-end;background:var(--bg-surface);border-radius:2px;height:2px;max-width:160px;overflow:hidden;width:40%}.progress-bar__fill{background:#34d399;border-radius:2px;height:100%;transition:width .3s ease}.progress-bar__fill--warn{background:var(--pending)}.progress-bar__fill--over{background:#ef4444}.card-attention{border-bottom:1px solid var(--border-subtle);color:var(--pending);margin:-10px -14px 10px;padding:8px 14px}.status-dot{border-radius:50%;display:inline-block;height:8px;width:8px}.qbo-status__indicator{border-radius:50%;display:inline-block;height:10px;margin-right:6px;width:10px}.qbo-status__indicator--connected{background-color:#34d399}.qbo-status__indicator--expired{background-color:var(--pending)}.qbo-status__indicator--disconnected{background-color:#ef4444}.qbo-settings__status--success{color:var(--success, #16a34a)}.qbo-settings__status--error{color:var(--danger, #c0392b)}.qbo-settings__result{border:1px solid var(--border-color);border-radius:.5rem;padding:1rem}.qbo-settings__result--success{background-color:#16a34a14;border-color:#16a34a4d}.qbo-settings__result--error{background-color:#c0392b14;border-color:#c0392b4d}.qbo-settings__result-title{font-weight:500}.qbo-settings__result-title--success{color:var(--success, #16a34a)}.qbo-settings__result-title--error{color:var(--danger, #c0392b)}.qbo-settings__result-text--success{color:var(--success, #16a34a)}.qbo-settings__result-text--error{color:var(--danger, #c0392b)}.qbo-settings__result-list{color:var(--success, #16a34a);list-style:disc;list-style-position:inside}.sync-history{border-top:1px solid var(--border-subtle);margin-top:10px;padding-top:8px}.sync-history__title{color:var(--text-dim);font-size:10px;letter-spacing:.05em;margin-bottom:6px;text-transform:uppercase}.sync-history__row{align-items:center;display:flex;font-size:11px;gap:6px;padding:2px 0}.sync-history__indicator{border-radius:50%;display:inline-block;flex-shrink:0;height:6px;width:6px}.sync-history__indicator--success{background-color:#34d399}.sync-history__indicator--error{background-color:#ef4444}.sync-history__type{color:var(--text-secondary);min-width:50px}.sync-history__source{color:var(--text-dim)}.sync-history__time{color:var(--text-dim);margin-left:auto}.activity-row{border-bottom:1px solid var(--border-subtle);display:flex;gap:16px;padding:5px 0}.activity-row:last-child{border-bottom:none}.activity-row__date{color:var(--text-dim);min-width:50px}.activity-row__project{color:var(--text-secondary);flex:1}.activity-row__hours{color:var(--text-muted)}.client-pill{border-radius:3px;margin-right:6px;padding:3px 6px;text-decoration:none}.search-dropdown{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:5px;left:0;max-height:400px;overflow-y:auto;position:absolute;right:0;top:calc(100% + 5px);z-index:50}.search-dropdown__category{color:var(--text-dim);font-size:11px;letter-spacing:.5px;padding:8px 12px 4px;text-transform:uppercase}.search-dropdown__item{align-items:center;color:var(--text-secondary);display:flex;font-size:13px;gap:8px;padding:8px 12px;text-decoration:none}.search-dropdown__item:hover,.search-dropdown__item--active{background:var(--border-subtle);color:var(--text-primary)}.search-dropdown__name{flex:1}.search-dropdown__empty{color:var(--text-dim);font-size:13px;padding:12px;padding-top:1rem}.search-dropdown__heading{font-size:1.125rem;font-weight:500}.search-dropdown__spacer{height:1rem}.error-list{color:var(--danger, #c0392b);font-size:.875rem}.error-list__error{background-color:#f87171;border-radius:2px;color:var(--text-primary);margin-bottom:1rem;padding:.5rem 1rem}.error-list__error+.error-list__error{margin-top:.25rem}.flash-error{background-color:#f87171;border-radius:2px;color:var(--text-primary);margin:1rem 0;padding:.5rem 1rem}.flash-info{background-color:var(--blue);border-radius:2px;color:var(--bg-body);margin:1rem 0;padding:.5rem 1rem}.project-notes{max-height:70vh;overflow-y:scroll;padding-right:10px;position:relative}.project-notes::-webkit-scrollbar{width:1px}.project-notes::-webkit-scrollbar-thumb{background:#3a414f;border-radius:5px}.project-notes::-webkit-scrollbar-track{background:transparent}.project-notes::-webkit-scrollbar-thumb:hover{background:#555}.project-notes::-webkit-scrollbar-thumb:active{background:#555}.project-notes__note{border:1px solid var(--border-color);border-radius:5px;box-sizing:border-box;color:var(--text-primary);font-size:1rem;padding:.75rem 1.5rem .75rem 1rem;position:relative;margin:0 10% .5rem 0}.project-notes__note:last-child{margin-bottom:0}.project-notes__note--mine{border-color:var(--hover-color);margin:0 0 .5rem 10%}.project-notes__note__author{color:#ffffff80;font-size:.8rem;margin-top:.5rem}.project-notes__note__author em{color:var(--text-primary);font-style:normal}.project-notes__note__actions{display:flex;flex-direction:row;gap:1rem;justify-content:flex-end;margin-top:.5rem}.project-notes__note__actions a{color:var(--text-primary);text-decoration:none;transition:all .3s}.project-notes__note__actions a:hover{color:var(--hover-color)}.project-checklist{max-height:70vh;overflow-y:scroll;padding-right:10px;position:relative}.project-checklist::-webkit-scrollbar{width:1px}.project-checklist::-webkit-scrollbar-thumb{background:#3a414f;border-radius:5px}.project-checklist::-webkit-scrollbar-track{background:transparent}.project-checklist::-webkit-scrollbar-thumb:hover{background:#555}.project-checklist::-webkit-scrollbar-thumb:active{background:#555}.project-checklist__item{border:1px solid var(--border-color);border-left-width:.25rem;border-radius:5px;box-sizing:border-box;color:var(--text-primary);cursor:pointer;font-size:1rem;overflow:hidden;padding:.75rem 2.5rem .75rem 1rem;position:relative;margin:0 0 .5rem;transition:all .1s}.project-checklist__item:after{border:1px solid var(--border-color);border-radius:2px;content:"";font-family:"Font Awesome 6 Pro",sans-serif;font-size:.75rem;height:1.5rem;line-height:1.375rem;position:absolute;right:.25rem;text-align:center;top:.25rem;width:1.5rem}.project-checklist__item--completed{color:#ffffff4d;text-decoration:line-through}.project-checklist__item--completed:after{content:""}.project-checklist__item:last-child{margin-bottom:0}.project-checklist__item--mine{background-color:var(--bg-body)}.project-checklist__item:hover{border-left-width:1rem;padding-right:1.75rem}.project-checklist__item__author{color:#ffffff80;font-size:.8rem;margin-top:.5rem}.project-checklist__item__author em{color:var(--text-primary);font-style:normal}.project-checklist__item__meta{display:flex;margin-top:.5rem}.project-checklist__item__meta div{background:var(--bg-elevated);border-radius:2px;display:inline-block;font-size:.8rem;margin-right:.5rem;padding:.125rem .5rem}.project-checklist__item__due-at--overdue{background-color:#c93a59!important;color:var(--text-primary)}.project-checklist__item--completed .project-checklist__item__due-at--overdue{background-color:var(--bg-elevated)!important;color:inherit}.project-checklist__item__actions{display:flex;flex-direction:row;gap:1rem;justify-content:flex-end;margin-top:.5rem}.project-checklist__item__actions a{color:var(--text-primary);text-decoration:none;transition:all .3s}.project-checklist__item__actions a:hover{color:var(--hover-color)}.field-error{color:var(--danger, #ef4444);font-size:.75rem}.modal{border-radius:.5rem;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;color:var(--text-primary)}@media (min-width: 640px){.modal{margin-inline:auto;width:100%}}@media (min-width: 640px){.modal--sm{max-width:24rem}}@media (min-width: 640px){.modal--md{max-width:28rem}}@media (min-width: 640px){.modal--lg{max-width:32rem}}@media (min-width: 640px){.modal--xl{max-width:36rem}}@media (min-width: 640px){.modal--2xl{max-width:42rem}}@media (min-width: 640px){.modal--3xl{max-width:48rem}}@media (min-width: 640px){.modal--4xl{max-width:56rem}}@media (min-width: 640px){.modal--5xl{max-width:64rem}}@media (min-width: 640px){.modal--6xl{max-width:72rem}}.modal__backdrop{top:0;right:0;bottom:0;left:0;opacity:.75;position:absolute}.modal__viewport{top:0;right:0;bottom:0;left:0;position:fixed}.modal-overlay{top:0;right:0;bottom:0;left:0;overflow-y:auto;padding:1.5rem 1rem;position:fixed;z-index:50}@media (min-width: 640px){.modal-overlay{padding-inline:0}}.modal-overlay .modal{position:relative;z-index:1}.modal-overlay .modal__inset{background:var(--bg-surface);border-radius:3px}@property --angle{syntax: "<angle>"; inherits: false; initial-value: 0deg;}.modal-overlay .modal:before,.modal-overlay .modal:after{--angle: 0deg;border-radius:4px;content:"";position:absolute;height:calc(100% + 4px);width:calc(100% + 4px);background-image:conic-gradient(from var(--angle),#394150 0%,var(--purple) 50%,var(--hover-color),#394150 100%);top:50%;left:50%;transform:translate(-50%,-50%);z-index:-1;padding:5px;animation:spin 4s linear infinite}.modal-overlay .modal:before{filter:blur(10px);opacity:.5}@keyframes spin{0%{--angle: 0deg}to{--angle: 360deg}}.modal-overlay .modal .option-buttons{font-size:0}.modal-overlay .modal button.btn{border:none;margin:0}.modal-overlay .columns{display:flex;flex-wrap:wrap;gap:2rem;margin:2rem 0 0}.modal-overlay .columns__column{display:flex;flex-direction:column;gap:1rem;width:calc(50% - 1rem)}.modal-overlay .columns__column--two-thirds{width:calc(100% / 3 * 2 - 1rem)}.modal-overlay .columns__column--one-third{width:calc(100% / 3 - 1rem)}.modal-overlay .columns__column--full-width{width:100%}.modal-overlay .columns__column .submenu{display:flex;flex-direction:row;gap:1rem;justify-content:flex-end}.modal-overlay .columns__column .submenu a{border-radius:5px;color:var(--text-primary);font-size:1rem;padding:.5rem 1rem;text-decoration:none;transition:all .3s}.modal-overlay .columns__column .submenu a:hover{color:var(--hover-color)}.modal-overlay .columns__column .submenu a.active{color:var(--text-primary);background-color:rgb(31 41 55 / var(--tw-bg-opacity))}.modal-overlay .columns__column .toggleable{display:none}.modal-overlay .columns__column .toggleable.active{display:block}div.inside-form,form{color:var(--text-primary);display:flex;flex-direction:row;flex-wrap:wrap;gap:2%;width:100%}div.inside-form .clear,form .clear{clear:both;display:block;height:0;overflow:hidden;visibility:hidden;width:100%}div.inside-form .field,form .field{margin-top:.5rem!important;width:100%}div.inside-form .field--half,form .field--half{width:49%}div.inside-form .field--third,form .field--third{width:31%}div.inside-form .field--quarter,form .field--quarter{width:23%}div.inside-form .field--fifth,form .field--fifth{width:18%}div.inside-form .field ul.smaller,form .field ul.smaller{font-size:.8rem}div.inside-form .field label,form .field label{display:block;margin-bottom:.5rem}div.inside-form .field label .button,form .field label .button{background-color:var(--bg-body);border-radius:5px;color:var(--text-primary);cursor:pointer;display:inline-block;font-size:.7rem;margin-left:.5rem;padding:.125rem .5rem;text-align:center;text-transform:uppercase;vertical-align:text-top}div.inside-form .field label .button:before,form .field label .button:before{content:attr(data-label)}div.inside-form .field label .button.is-success,form .field label .button.is-success{background-color:#34d399}div.inside-form .field label .button.is-success:before,form .field label .button.is-success:before{content:attr(data-label-success)}div.inside-form .field label .button.is-success:hover,form .field label .button.is-success:hover{background-color:#10b981;color:var(--text-primary)}div.inside-form .field label .button:hover,form .field label .button:hover{color:var(--hover-color)}div.inside-form .field input,form .field input,div.inside-form .field select,form .field select,div.inside-form .field textarea,form .field textarea{background-color:var(--bg-body);border:var(--border-color) 1px solid;border-radius:3px;color:var(--text-primary);font-size:1rem;margin-bottom:1rem;padding:.5rem;width:100%}div.inside-form .field input[type=color],form .field input[type=color]{display:inline-block;height:42px;margin-right:.25rem;width:8rem}div.inside-form .field p.value,form .field p.value{padding:8px 0}div.inside-form .field p.value--disabled,form .field p.value--disabled{color:#ffffff80}div.inside-form .field .pill,form .field .pill{background-color:#4e46dd;border-radius:5px;color:var(--text-primary);display:inline-block;font-size:.7rem;padding:.25rem .5rem;text-transform:uppercase}div.inside-form .field .pill--dark,form .field .pill--dark{background-color:var(--bg-surface)}div.inside-form .field .pill--green,form .field .pill--green{background-color:#10b981}div.inside-form .field .pill--red,form .field .pill--red{background-color:#ef4444}div.inside-form .field .pill--progress,form .field .pill--progress{overflow:hidden;position:relative}div.inside-form .field .pill--progress:after,form .field .pill--progress:after{background-color:#34d399;bottom:0;content:"";display:block;height:3px;left:0;position:absolute;width:50%}div.inside-form .field div.below,form .field div.below{align-content:center;-moz-column-gap:1rem;column-gap:1rem;display:flex;flex-wrap:wrap;justify-content:flex-start;top:-.5rem;position:relative}div.inside-form .field div.below a.btn,form .field div.below a.btn{border-radius:3px;color:var(--text-primary);display:block;font-size:.8rem;padding:0 1rem;text-align:center;text-transform:uppercase}div.inside-form .field div.below a.btn:hover,form .field div.below a.btn:hover{color:#efd500;text-decoration:none}div.inside-form .field .below-button,form .field .below-button{background:#4e46dd;border-radius:3px;display:block;font-size:.8rem;padding:.25rem 1rem;text-align:center;text-transform:uppercase;width:100%}.clear{clear:both;display:block;height:0;overflow:hidden;visibility:hidden;width:0}@media only screen and (max-width: 768px){header{display:flex;flex-direction:column;gap:1rem;max-width:100%;padding:1rem}header .buttons{display:flex;flex-direction:column;gap:1rem;width:100%}nav .nav-menu button{padding-top:0}nav .nav-menu .nav-flex{gap:12px}nav .nav-menu .search-wrapper{min-width:0}main{overflow-x:hidden;padding:0 1rem}.card-row--stacked .card-row__top{flex-direction:column;align-items:flex-start;gap:2px}.dashboard-card__body:not(.dashboard-card__body--collapsed){max-height:none}.week{flex-direction:column;gap:8px}.week__day{border:1px solid var(--border-subtle);border-radius:6px;padding:6px}.week__day__projects{height:auto}.week__day__project{height:auto!important;min-height:0}.week__day__todos{gap:6px}.week__day__todos__empty{min-height:40px;padding:8px 10px}.week__day__todo{gap:10px;min-height:40px;padding:8px 10px}.week__day__todo__grip{font-size:15px}.week__day__todo__badge{height:18px;width:18px}.week__day__todo__title{font-size:15px}.week__day--settled .week__day__label,.week__day--settled .week__day__detail{display:none}.week__day--settled .week__day__summary{display:flex}.week__day--settled.week__day--expanded .week__day__detail{display:flex;flex-direction:column;gap:2px}.week__day--settled.week__day--expanded .week__day__summary__chevron{transform:rotate(180deg)}.todo-popover{gap:5px;padding:8px}.todo-popover__btn{font-size:16px;height:40px;width:40px}table .pill{margin-bottom:5px}table.dashboard-projects,table.projects{display:block;max-width:100%;width:100%}table.dashboard-projects thead,table.projects thead{display:none}table.dashboard-projects tbody,table.projects tbody{display:block;margin-top:2rem;width:100%}table.dashboard-projects tbody tr,table.projects tbody tr{display:block;font-size:0;padding:1rem 0;width:100%}table.dashboard-projects tbody tr td,table.projects tbody tr td{display:inline-block;padding:.25rem 0;text-align:left;width:100%;box-sizing:border-box}table.dashboard-projects tbody tr td:first-child,table.projects tbody tr td:first-child{font-size:1.1rem;line-height:1;padding:0 0 1rem}table.dashboard-projects tbody tr td:nth-child(2),table.projects tbody tr td:nth-child(2){font-size:.9rem;width:50%}table.dashboard-projects tbody tr td:nth-child(3),table.projects tbody tr td:nth-child(3){font-size:1rem;text-align:right;width:50%}table.dashboard-projects tbody tr td:nth-child(4),table.projects tbody tr td:nth-child(4){width:33%}table.dashboard-projects tbody tr td:nth-child(5),table.projects tbody tr td:nth-child(5),table.dashboard-projects tbody tr td:nth-child(6),table.projects tbody tr td:nth-child(6){font-size:.9rem;text-align:left;width:33%}table.dashboard-projects tbody tr td:nth-child(6),table.projects tbody tr td:nth-child(6){text-align:right}table.projects tbody tr td:nth-child(3){padding-right:.25rem}table.dashboard-projects tbody tr td:nth-child(4){width:100%}table.dashboard-projects tbody tr td:nth-child(4) span.pill{overflow:hidden;padding:0 .5rem;width:100%}table.dashboard-projects tbody tr td:nth-child(5),table.dashboard-projects tbody tr td:nth-child(6){font-size:.9rem;text-align:left;width:50%}table.dashboard-projects tbody tr td:nth-child(5){text-align:left}table.dashboard-projects tbody tr td:nth-child(5) span.pill{text-align:center}table.dashboard-projects tbody tr td:nth-child(6){text-align:right}table.dashboard-projects tbody tr td:nth-child(6):before{content:"Due Date: "}table.dashboard-projects tfoot tr td:nth-child(3){text-align:left;width:50%}table.dashboard-projects tfoot tr td:nth-child(6){text-align:right;width:50%}form .field,form .field--half,form .field--third,form .field--quarter,form .field--fifth{width:100%}main{margin:0;padding:0 1rem}main .columns{flex-direction:column;gap:1rem;margin:2rem 0}main .columns__column{margin-bottom:2rem;width:100%}main .columns__column--order-1{order:1}main .columns__column--order-2{order:2}main .hours-columns{flex-direction:column}main .hours-columns__column{width:100%}main .hours-columns__column--rows{margin-left:0!important;order:1}main .hours-columns__column--form{order:2}main .hours-columns ul li{display:block;margin:0 0 1rem;width:100%}}.section-group{border-top:1px solid var(--border-subtle)}.section-group:first-child{border-top:none}.section-group__header{align-items:center;cursor:pointer;display:flex;gap:10px;padding:12px 0;transition:color .15s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.section-group__header:hover{color:var(--text-primary)}.section-group__header:hover .section-group__chevron{color:var(--text-muted)}.section-group__chevron{color:var(--text-dim);font-size:10px;transition:transform .2s}.section-group__chevron--collapsed{transform:rotate(-90deg)}.section-group__title{color:var(--text-secondary);font-size:13px;font-weight:600;text-transform:uppercase}.section-group__badge{background:var(--border-subtle);border-radius:10px;color:var(--text-muted);font-size:11px;padding:2px 10px}.section-group__filter{background:var(--border-subtle);border:none;border-radius:4px;color:var(--text-muted);font-size:11px;margin-left:auto;padding:2px 6px 2px 12px}.section-group__body{display:none;padding:4px 0 14px}.section-group--expanded .section-group__body{display:block}.section-group__body--loading{opacity:.5;pointer-events:none}.estimate-actions{align-items:center;display:inline-flex;flex-shrink:0;gap:.5rem}.estimate-actions .btn{white-space:nowrap}.estimate-banner{border-left:3px solid;border-radius:3px;margin-bottom:1rem;padding:.75rem 1rem}.estimate-banner a{color:inherit;text-decoration:underline}.estimate-banner--info{background-color:var(--bg-inset);border-left-color:#4e46dd;color:#d4d4f5}.estimate-banner--error{background-color:#3a1a1f;border-left-color:#dc2626;color:#fca5a5}.recipient-list{align-items:flex-start;display:flex;flex-direction:column;gap:.25rem}.recipient-list .checkbox-label,.recipient-list form .field .checkbox-label{padding-top:0}.checkbox-label--disabled{color:#999;cursor:not-allowed}[x-cloak]{display:none!important}.estimate-stepper{align-items:center;display:flex;flex-wrap:wrap;font-size:.8rem;gap:.4rem;margin-top:.25rem}.estimate-stepper__node{align-items:center;background:var(--bg-elevated);border-radius:999px;color:#999;display:inline-flex;gap:.35rem;padding:.2rem .7rem}.estimate-stepper__node--done{background:#16a34a1f;color:#16a34a}.estimate-stepper__node--current{background:#2563eb1f;color:#2563eb;font-weight:600}.estimate-stepper__node--cancelled{background:#dc26261f;color:#dc2626}.estimate-stepper__sep{color:var(--text-muted);font-size:.7rem}.estimate-stepper__date{color:currentColor;font-size:.7rem;opacity:.7}.theme-toggle{align-items:center;background:var(--bg-elevated);border:none;border-radius:16px;cursor:pointer;display:flex;height:30px;line-height:1;padding:2px;position:relative;width:56px}.theme-toggle__icon{color:var(--text-muted);display:grid;height:26px;place-items:center;transition:color .2s ease;width:26px;z-index:1}.theme-toggle__icon i{font-size:12px}.theme-toggle__indicator{background:#4e46dd;border-radius:50%;height:26px;left:2px;position:absolute;top:2px;transition:transform .2s ease;width:26px}:root .theme-toggle .theme-toggle__indicator{transform:translate(26px)}:root .theme-toggle .theme-toggle__icon--moon{color:#fff}:root[data-theme=light] .theme-toggle .theme-toggle__indicator{transform:translate(0)}:root[data-theme=light] .theme-toggle .theme-toggle__icon--moon{color:var(--text-muted)}:root[data-theme=light] .theme-toggle .theme-toggle__icon--sun{color:#fff}.nav-settings{display:none;gap:.75rem}@media (min-width: 640px){.nav-settings{align-items:center;display:flex;margin-inline-start:1.5rem}}.dashboard-toast-host{bottom:24px;display:flex;flex-direction:column;gap:8px;position:fixed;right:24px;z-index:9999}.dashboard-toast{background:var(--bg-elevated);border:1px solid var(--border-color);border-left:3px solid var(--cancelled, #ef4444);border-radius:6px;box-shadow:0 6px 20px #00000040;color:var(--text-primary);font-size:13px;max-width:320px;opacity:0;padding:10px 14px;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease}.dashboard-toast--show{opacity:1;transform:translateY(0)}.dashboard-toast--action{cursor:pointer;text-decoration:underline}
