@import url(https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&display=swap);body{color:#3a4a5a;font-family:DM Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.875rem;font-weight:400;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.text-xs{font-size:.7rem}.text-sm{font-size:.8rem}.text-base{font-size:.875rem}.text-md{font-size:1rem}.text-lg{font-size:1.15rem}.text-xl{font-size:1.4rem}.text-muted{color:#7a8a9a}.text-light{color:#aab8c6}.text-dark{color:#1a2a3a}.text-white{color:#fff}.font-medium{font-weight:500}.font-bold{font-weight:700}.label{color:#7a8a9a;display:block;font-size:.8rem;letter-spacing:.01em;margin-bottom:.5rem}.btn,.label{font-weight:500}.btn{align-items:center;border:none;border-radius:100px;cursor:pointer;display:inline-flex;font-family:DM Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.875rem;gap:.5rem;justify-content:center;line-height:1.4;padding:.5rem 1.25rem;text-decoration:none;transition:background-color .15s ease,box-shadow .15s ease,transform .15s ease;white-space:nowrap}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:2px solid #4a90d9;outline-offset:3px}.btn-primary{background:linear-gradient(135deg,#f5bc3a,#f0a500);box-shadow:0 2px 8px rgba(240,165,0,.35);color:#fff}.btn-primary:hover{background:linear-gradient(135deg,#f0a500,#d4900a);box-shadow:0 3px 12px rgba(240,165,0,.45)}.btn-secondary{background:transparent;color:#7a8a9a;padding-left:.75rem;padding-right:.75rem}.btn-secondary:hover{color:#1a2a3a;text-decoration:underline}.btn-ghost{background:hsla(0,0%,100%,.15);border-radius:4px;color:#fff;padding:.25rem .75rem}.btn-ghost:hover{background:hsla(0,0%,100%,.25)}.input,.select,.textarea{appearance:none;-webkit-appearance:none;background-color:#fff;border:1px solid #b8c4d0;border-radius:4px;box-shadow:inset 0 1px 3px rgba(0,40,80,.06);color:#1a2a3a;display:block;font-family:DM Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.875rem;padding:.5rem .75rem;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.input::placeholder,.select::placeholder,.textarea::placeholder{color:#aab8c6}.input:focus,.select:focus,.textarea:focus{border-color:#4a90d9;box-shadow:0 0 0 3px rgba(74,144,217,.15);outline:none}.input--sm{font-weight:500;letter-spacing:.02em;text-align:center;width:80px}.select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath fill='none' stroke='%237a8a9a' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m1 1 5 5 5-5'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;cursor:pointer;padding-right:2rem}.select:hover{border-color:#6aaee8}.select-hint{color:#7a8a9a;font-size:.7rem;font-style:italic}.textarea{min-height:72px;resize:vertical}.input-help{align-items:center;background:#fff;border:1px solid #d0d8e0;border-radius:50%;color:#7a8a9a;cursor:help;display:inline-flex;flex-shrink:0;font-size:.7rem;font-weight:700;height:20px;justify-content:center;transition:border-color .15s ease,color .15s ease;width:20px}.input-help:hover{border-color:#4a90d9;color:#4a90d9}.week-nav{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:hsla(0,0%,100%,.18);border-radius:100px;gap:.25rem;padding:.25rem .5rem}.week-nav,.week-nav__arrow{align-items:center;display:flex}.week-nav__arrow{background:transparent;border:none;border-radius:50%;color:#fff;cursor:pointer;flex-shrink:0;height:28px;justify-content:center;text-decoration:none;transition:background .15s ease;width:28px}.week-nav__arrow:hover{background:hsla(0,0%,100%,.2)}.week-nav__arrow svg{height:14px;width:8px}.week-nav__days{align-items:center;display:flex;gap:.25rem;overflow:hidden;position:relative}.week-nav__days.slide-out-left{animation:slideOutLeft .18s ease forwards}.week-nav__days.slide-out-right{animation:slideOutRight .18s ease forwards}.week-nav__days.slide-in-right{animation:slideInRight .18s ease forwards}.week-nav__days.slide-in-left{animation:slideInLeft .18s ease forwards}@keyframes slideOutLeft{to{opacity:0;transform:translateX(-24px)}}@keyframes slideOutRight{to{opacity:0;transform:translateX(24px)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:translateX(0)}}.week-nav__day{align-items:center;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;flex-grow:0;flex-shrink:0;padding:.5rem .75rem;text-decoration:none;transition:background .15s ease;user-select:none;width:64px}.week-nav__day:hover:not(.week-nav__day--active){background:hsla(0,0%,100%,.15)}.week-nav__day--active{background:#fff}.week-nav__day--active .week-nav__day-date,.week-nav__day--active .week-nav__day-name{color:#1a2a3a}.week-nav__day--today:not(.week-nav__day--active) .week-nav__day-name{text-decoration:underline;text-underline-offset:3px}.week-nav__day-name{color:#fff;font-size:.8rem;font-weight:700;line-height:1.2}.week-nav__day-date{color:hsla(0,0%,100%,.78);font-size:.7rem;line-height:1.3}.week-nav__cal{align-items:center;background:hsla(0,0%,100%,.2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:34px;justify-content:center;margin-left:.25rem;transition:background .15s ease;width:34px}.week-nav__cal svg{height:16px;pointer-events:none;width:16px}.week-nav__cal--active,.week-nav__cal:hover{background:hsla(0,0%,100%,.35)}.entry-form{background:#f0f0f0;border-radius:16px;box-shadow:0 2px 12px rgba(0,60,120,.08);padding:1.5rem 2rem}.entry-form__grid{align-items:center;display:grid;gap:1rem 1.5rem;grid-template-columns:120px 1fr}.entry-form__label{color:#3a4a5a;font-size:.875rem;font-weight:400;padding-right:.5rem;text-align:right;white-space:nowrap}.entry-form__field{align-items:center;display:flex;gap:.5rem}.entry-form__field--selects{display:flex;flex-wrap:wrap;gap:.75rem}.entry-form__field--selects .select{flex:1;min-width:180px}.entry-form__actions{align-items:center;display:flex;gap:1rem;grid-column:2;padding-top:.5rem}.entry-list{background:#fff;border-radius:16px;box-shadow:0 2px 12px rgba(0,60,120,.08);overflow:hidden;transition:opacity .18s ease}.entry-list--fading{opacity:0}.empty-state{background:#fff;border-radius:16px;box-shadow:0 2px 12px rgba(0,60,120,.08);padding:1.5rem 2rem}.empty-state__title{color:#1a2a3a;font-size:.875rem;font-weight:700;margin:0 0 .5rem}.entry-list__footer{border-top:1px solid #d0d8e0;display:flex;justify-content:flex-end;padding:.75rem calc(3rem + 56px)}.entry-list__total{background:#f0f0f0;border-radius:100px;color:#1a2a3a;font-size:.875rem;font-weight:700;padding:.25rem 1rem}.entry-row{border-bottom:1px solid rgba(208,216,224,.5);transition:opacity .28s ease,transform .28s ease,max-height .28s ease}.entry-row:last-child{border-bottom:none}.entry-row--new{opacity:0;transform:translateY(-6px)}.entry-row--removing{margin:0;max-height:0;opacity:0;overflow:hidden;padding:0;transform:translateX(12px)}.entry-row__display{align-items:center;display:flex;gap:1rem;justify-content:space-between;padding:1rem 2rem}.entry-row__display:hover{background:rgba(74,144,217,.03)}.entry-row__display:hover .entry-row__btn{opacity:1}.entry-row__display[hidden]{display:none!important}.entry-row__info{flex:1;min-width:0}.entry-row__title{color:#1a2a3a;font-size:.875rem;font-weight:700}.entry-row__note,.entry-row__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-row__note{color:#7a8a9a;font-size:.8rem;margin-top:2px}.entry-row__actions{align-items:center;display:flex;flex-shrink:0;gap:.5rem}.entry-row__badge{background:#f0f0f0;border-radius:100px;color:#1a2a3a;font-size:.8rem;font-variant-numeric:tabular-nums;font-weight:700;min-width:48px;padding:.25rem .75rem;text-align:center}.entry-row__btn{align-items:center;background:transparent;border:none;border-radius:50%;color:#7a8a9a;cursor:pointer;display:flex;height:28px;justify-content:center;opacity:0;transition:opacity .15s ease,background .15s ease,color .15s ease;width:28px}.entry-row__btn svg{height:14px;pointer-events:none;width:14px}.entry-row__btn--edit:hover{background:rgba(74,144,217,.1);color:#4a90d9}.entry-row__btn--delete:hover{background:rgba(200,50,50,.1);color:#c83232}@media(hover:none){.entry-row__btn{opacity:1}}.entry-row__lock-indicator{align-items:center;color:#1a2a3a;display:flex;flex-shrink:0;justify-content:center;width:calc(56px + .5rem)}.entry-row__lock-indicator svg{height:14px;pointer-events:none;width:14px}.entry-row--invoiced .entry-row__title{color:#7a8a9a;font-weight:400}.entry-row--invoiced .entry-row__note{color:#aab8c6}.entry-row--invoiced .entry-row__badge{background:hsla(0,0%,94%,.6);color:#7a8a9a}.entry-row__edit{background:rgba(74,144,217,.03);border-top:1px solid rgba(208,216,224,.5);padding:1rem 2rem}.entry-form__grid--inline{align-items:center;display:grid;gap:.75rem 1.5rem;grid-template-columns:130px 1fr}.month-calendar{background:linear-gradient(160deg,#6aaee8,#3178b8);border-radius:24px;box-shadow:0 8px 32px rgba(0,60,120,.35);padding:1rem;position:absolute;right:0;top:calc(100% + 8px);transform-origin:top right;transition:opacity .28s ease,transform .28s ease;width:380px;z-index:200}.month-calendar--hidden{opacity:0;pointer-events:none;transform:scaleY(.92) translateY(-8px)}.month-calendar--visible{opacity:1;transform:scaleY(1) translateY(0)}.month-calendar__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.month-calendar__title{color:#fff;font-size:1rem;font-weight:700;letter-spacing:.01em}.month-calendar__arrow{align-items:center;background:transparent;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:28px;justify-content:center;transition:background .15s ease;width:28px}.month-calendar__arrow:hover{background:hsla(0,0%,100%,.2)}.month-calendar__arrow svg{height:14px;width:8px}.month-calendar__close{margin-left:0}.month-calendar__grid.slide-out-left{animation:slideOutLeft .16s ease forwards}.month-calendar__grid.slide-out-right{animation:slideOutRight .16s ease forwards}.month-calendar__weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:.5rem}.month-calendar__weekdays span{color:hsla(0,0%,100%,.6);font-size:.7rem;font-weight:700;letter-spacing:.04em;padding:.25rem 0;text-align:center;text-transform:uppercase}.month-calendar__days{display:grid;gap:2px;grid-template-columns:repeat(7,1fr)}.month-day{align-items:center;aspect-ratio:1;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.8rem;font-weight:500;justify-content:center;transition:background .15s ease;user-select:none}.month-day:hover:not(.month-day--other){background:hsla(0,0%,100%,.2)}.month-day--other{color:hsla(0,0%,100%,.35);cursor:default}.month-day--today{background:#fff;color:#1a2a3a;font-weight:700}.month-day--today:hover{background:hsla(0,0%,100%,.9)}.month-day--active:not(.month-day--today){background:hsla(0,0%,100%,.25);font-weight:700}.duration-help{cursor:help}.duration-help,.duration-help__icon{align-items:center;display:inline-flex;flex-shrink:0}.duration-help__icon{background:#fff;border:1px solid #d0d8e0;border-radius:50%;font-weight:700;height:20px;justify-content:center;transition:width .2s ease,opacity .2s ease,border .2s ease,margin .2s ease;width:20px}.duration-help__hint,.duration-help__icon{color:#7a8a9a;font-size:.7rem;overflow:hidden}.duration-help__hint{max-width:0;opacity:0;transition:max-width .28s ease,opacity .2s ease;white-space:nowrap}.duration-help:hover .duration-help__icon{border-width:0;margin-right:0;opacity:0;width:0}.duration-help:hover .duration-help__hint{max-width:500px;opacity:1}.main-nav{align-items:stretch;background:#1a2a3a;display:flex;flex-shrink:0;height:44px;justify-content:space-between;padding:0 1rem;position:sticky;top:0;z-index:200}.main-nav__left,.main-nav__right{align-items:stretch;display:flex;gap:0}.main-nav__item{align-items:center;border-bottom:2px solid transparent;color:hsla(0,0%,100%,.65);display:inline-flex;font-size:.8rem;font-weight:500;padding:0 1rem;text-decoration:none;transition:color .15s ease,border-color .15s ease;white-space:nowrap}.main-nav__item:hover{color:#fff}.main-nav__item--active{border-bottom-color:#6aaee8;color:#fff}.main-nav__item--disabled{cursor:default;opacity:.35;pointer-events:none}.greeting{margin:0 auto;max-width:860px;padding:1.25rem 1.5rem 0;width:100%}.greeting__text{color:#1a2a3a;font-size:1.15rem;font-weight:700}.crud-page{margin:0 auto;max-width:860px;padding:1.5rem}.crud-page__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.crud-page__title{color:#1a2a3a;font-size:1.4rem;font-weight:700}.crud-list{background:#fff;border-radius:16px;box-shadow:0 2px 12px rgba(0,60,120,.08);overflow:hidden}.crud-row{border-bottom:1px solid rgba(208,216,224,.5);transition:opacity .28s ease,transform .28s ease}.crud-row:last-child{border-bottom:none}.crud-row--removing{opacity:0;transform:translateX(12px)}.crud-row--new{opacity:0;transform:translateY(-4px)}.crud-row__display{align-items:center;display:flex;gap:1rem;padding:1rem 1.5rem;transition:background .15s ease}.crud-row__display:hover{background:rgba(74,144,217,.03)}.crud-row__display:hover .crud-row__btn{opacity:1}.crud-row__info{flex:1;min-width:0}.crud-row__name{color:#1a2a3a;font-size:.875rem;font-weight:700}.crud-row__meta{color:#7a8a9a;font-size:.8rem;font-weight:400;margin-left:.5rem}.crud-row__actions{align-items:center;display:flex;flex-shrink:0;gap:.5rem}.crud-row__btn{align-items:center;background:transparent;border:none;border-radius:50%;color:#7a8a9a;cursor:pointer;display:flex;height:28px;justify-content:center;opacity:0;transition:opacity .15s ease,background .15s ease,color .15s ease;width:28px}.crud-row__btn svg{height:14px;pointer-events:none;width:14px}.crud-row__btn--edit:hover{background:rgba(74,144,217,.1);color:#4a90d9}.crud-row__btn--delete:hover{background:rgba(200,50,50,.1);color:#c83232}@media(hover:none){.crud-row__btn{opacity:1}}.crud-row__edit{background:rgba(74,144,217,.03);border-top:1px solid rgba(208,216,224,.5);padding:1rem 1.5rem}.crud-row__display[hidden]{display:none!important}.crud-create{background:#f0f0f0;border-radius:16px;box-shadow:0 2px 12px rgba(0,60,120,.08);display:none;margin-bottom:1rem;padding:1.25rem 1.5rem}.crud-create--visible{display:block}.crud-tabs{background:#fff;border-radius:100px;box-shadow:0 2px 12px rgba(0,60,120,.08);display:inline-flex;margin-bottom:1rem;padding:3px}.crud-tab{background:transparent;border:none;border-radius:100px;color:#7a8a9a;cursor:pointer;font-family:DM Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.8rem;font-weight:500;padding:.25rem 1.25rem;transition:background .15s ease,color .15s ease}.crud-tab:hover{color:#1a2a3a}.crud-tab--active{background:#4a90d9;color:#fff}.crud-row--archived .crud-row__name{color:#7a8a9a;text-decoration:line-through;text-decoration-color:rgba(122,138,154,.5)}.crud-row__btn--restore:hover{background:rgba(74,180,74,.12);color:#3a9a3a}.crud-list__group+.crud-list__group{border-top:2px solid #d0d8e0}.crud-list__group-label{background:rgba(74,144,217,.03);border-bottom:1px solid rgba(208,216,224,.5);color:#7a8a9a;font-size:.7rem;font-weight:700;letter-spacing:.06em;padding:.75rem 1.5rem;text-transform:uppercase}.crud-checkbox-label{align-items:center;color:#3a4a5a;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem}.crud-checkbox-label input[type=checkbox]{accent-color:#4a90d9;cursor:pointer;flex-shrink:0;height:16px;width:16px}.login-body{align-items:center;background:#dce9f5;display:flex;justify-content:center;min-height:100vh}.login-card{background:#fff;border-radius:24px;box-shadow:0 2px 12px rgba(0,60,120,.08);max-width:540px;padding:2.5rem 3rem;width:100%}.login-card__title{color:#1a2a3a;font-size:1.4rem;font-weight:700;margin-bottom:2rem;text-align:center}.login-card__error{background:rgba(200,50,50,.08);border:1px solid rgba(200,50,50,.25);border-radius:4px;color:#c83232;font-size:.8rem;margin-bottom:1.5rem;padding:.75rem 1rem}.login-form__grid{align-items:center;display:grid;gap:1.25rem 1rem;grid-template-columns:90px 1fr;margin-bottom:1.25rem}.login-form__label{color:#7a8a9a;font-size:.875rem;padding-right:.5rem;text-align:right}.login-form__field{align-items:center;display:flex;gap:.75rem}.login-form__field--password{flex-wrap:wrap;gap:.5rem .75rem}.login-form__forgot{color:#7a8a9a;font-size:.8rem;text-decoration:none;white-space:nowrap}.login-form__forgot:hover{color:#4a90d9;text-decoration:underline}.login-form__footer{margin-top:1.5rem;text-align:center}.login-form__link{color:#7a8a9a;font-size:.8rem;text-decoration:none}.login-form__link:hover{color:#4a90d9;text-decoration:underline}.login-card__info{color:#3a4a5a;font-size:.875rem;line-height:1.6}.login-card__info,.login-card__sub{margin-bottom:1.5rem;text-align:center}.login-card__sub{color:#7a8a9a;font-size:.8rem}.login-form__remember{display:flex;justify-content:center;margin-bottom:1.5rem}.login-form__remember-label{align-items:center;color:#3a4a5a;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem}.login-form__remember-label input[type=checkbox]{accent-color:#4a90d9;cursor:pointer;height:16px;width:16px}.login-form__actions{display:flex;justify-content:center}.login-form__submit{font-size:1rem;padding:.75rem 2.5rem}.register-body{align-items:flex-start;background:#dce9f5;display:flex;justify-content:center;min-height:100vh;padding:2.5rem 1rem}.register-page{max-width:580px;width:100%}.register-card{background:#fff;border-radius:24px;box-shadow:0 2px 12px rgba(0,60,120,.08);padding:2.5rem 3rem}.register-card__brand{margin-bottom:1.5rem;text-align:center}.register-card__brand a{color:#4a90d9;font-size:.875rem;font-weight:700;letter-spacing:.02em;text-decoration:none}.register-card__title{color:#1a2a3a;font-size:1.4rem;font-weight:700;margin-bottom:.5rem;text-align:center}.register-card__sub{color:#7a8a9a;font-size:.8rem;margin-bottom:2rem;text-align:center}.register-errors:not(:empty){background:rgba(200,50,50,.07);border:1px solid rgba(200,50,50,.25);border-radius:4px;color:#c83232;font-size:.8rem;margin-bottom:1.5rem;padding:.75rem 1rem}.register-errors:not(:empty) p{line-height:1.6;margin:0}.register-errors:not(:empty) p+p{margin-top:.25rem}.register-fieldset{border:none;margin:0 0 2rem;padding:0}.register-fieldset__legend{color:#7a8a9a;display:block;font-size:.8rem;font-weight:700;letter-spacing:.06em;margin-bottom:1.25rem;text-transform:uppercase}.register-field{margin-bottom:1.25rem}.register-field:last-child{margin-bottom:0}.register-field__label{color:#7a8a9a;display:block;font-size:.8rem;margin-bottom:.5rem}.register-field__hint{color:#7a8a9a;font-size:.8rem;margin-top:.5rem}.register-field__slug{color:#4a90d9;font-family:monospace;font-size:.8rem}.register-field-row{display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:1.25rem}.register-actions{margin-top:2rem}.register-actions__submit{font-size:1rem;padding:1rem;width:100%}.register-actions__submit:disabled{cursor:not-allowed;opacity:.6}.register-actions__login{color:#7a8a9a;font-size:.8rem;margin-top:1rem;text-align:center}.register-actions__login a{color:#4a90d9;text-decoration:none}.register-actions__login a:hover{text-decoration:underline}.register-success{padding:1.5rem 0;text-align:center}.register-success__icon{align-items:center;background:#e6f5ee;border-radius:50%;color:#2d9e60;display:flex;font-size:1.6rem;font-weight:700;height:56px;justify-content:center;margin:0 auto 1.5rem;width:56px}.register-success__icon--error{background:rgba(200,50,50,.08);color:#c83232}.register-success__title{color:#1a2a3a;font-size:1.4rem;font-weight:700;margin-bottom:1rem}.register-success__text{color:#3a4a5a;font-size:1rem;line-height:1.5;margin-bottom:.75rem}.register-success__hint{color:#7a8a9a;font-size:.8rem;line-height:1.5}.account-page{background:#dce9f5;display:flex;flex-direction:column;min-height:100vh}.account-header{align-items:center;background:linear-gradient(135deg,#5b9fd6,#3a7bbf);box-shadow:0 2px 16px rgba(0,50,120,.2);display:flex;gap:1.5rem;justify-content:space-between;padding:1.5rem}.account-header__title{color:#fff;font-size:1.4rem;font-weight:700}.account-tabs{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:hsla(0,0%,100%,.18);border-radius:100px;display:flex;gap:.25rem;padding:3px}.account-tab{align-items:center;border-radius:100px;color:hsla(0,0%,100%,.8);display:inline-flex;font-size:.8rem;font-weight:500;padding:.5rem 1.25rem;text-decoration:none;transition:background .15s ease,color .15s ease;white-space:nowrap}.account-tab:hover:not(.account-tab--active){background:hsla(0,0%,100%,.12);color:#fff}.account-tab--active{background:#fff;color:#1a2a3a;font-weight:700}.account-content{display:flex;flex:1;flex-direction:column;gap:1.5rem;margin:2rem auto;max-width:680px;padding:0 1.5rem;width:100%}.account-card{background:#fff;border-radius:16px;box-shadow:0 2px 12px rgba(0,60,120,.08);padding:2rem}.account-form__grid{align-items:start;display:grid;gap:1rem 1.5rem;grid-template-columns:160px 1fr}.account-form__label{color:#7a8a9a;font-size:.8rem;font-weight:500;padding-top:7px}.account-form__field{display:flex;flex-direction:column;gap:.5rem}.account-form__hint{color:#7a8a9a;font-size:.7rem}.account-form__hint--owner{font-size:.8rem;line-height:1.55;margin-top:.25rem}.account-form__link{color:#4a90d9;font-size:.8rem;text-decoration:none}.account-form__link:hover{text-decoration:underline}.account-form__pw-section{display:contents}.account-form__pw-section[hidden]{display:none!important}.account-form__actions{align-items:center;border-top:1px solid #d0d8e0;display:flex;gap:1rem;grid-column:1/-1;margin-top:.5rem;padding-top:1rem}.account-toast{background:#1a2a3a;border-radius:8px;bottom:1.5rem;color:#fff;font-size:.8rem;opacity:0;padding:.75rem 1.25rem;pointer-events:none;position:fixed;right:1.5rem;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease;z-index:9999}.account-toast--visible{opacity:1;transform:translateY(0)}.account-toast--error{background:#c83232}.team-badge{border-radius:100px;display:inline-block;font-size:.7rem;font-weight:500;margin-left:.5rem;padding:1px 8px}.team-badge--pending{background:rgba(232,130,10,.12);color:#b86200}.modal-overlay{align-items:center;background:rgba(0,0,0,.45);display:flex;inset:0;justify-content:center;position:fixed;z-index:200}.modal-overlay[hidden]{display:none!important}.modal-card{background:#fff;border-radius:16px;box-shadow:0 2px 12px rgba(0,60,120,.08);max-width:460px;overflow:hidden;padding:0;width:100%}.modal-card__header{align-items:center;border-bottom:1px solid rgba(208,216,224,.6);display:flex;justify-content:space-between;padding:1.25rem 1.5rem}.modal-card__title{color:#1a2a3a;font-size:1.15rem;font-weight:700}.modal-card__close{align-items:center;background:transparent;border:none;border-radius:50%;color:#7a8a9a;cursor:pointer;display:flex;height:28px;justify-content:center;transition:background .15s ease;width:28px}.modal-card__close svg{height:16px;width:16px}.modal-card__close:hover{background:rgba(208,216,224,.5)}.modal-card__body{display:flex;flex-direction:column;gap:1rem;padding:1.25rem 1.5rem}.modal-card__footer{border-top:1px solid rgba(208,216,224,.6);display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem}.form-row{display:grid;gap:1rem;grid-template-columns:1fr 1fr}.form-field{display:flex;flex-direction:column;gap:.25rem}.form-field__label{color:#1a2a3a;font-size:.8rem;font-weight:500}.form-errors{background:rgba(200,50,50,.08);border:1px solid rgba(200,50,50,.2);border-radius:8px;color:#c83232;font-size:.8rem;margin:0 1.5rem;padding:.75rem 1rem}.form-errors[hidden]{display:none!important}.form-errors ul{margin:0;padding-left:1.2em}.crud-list__empty{color:#7a8a9a;font-size:.8rem;padding:1.5rem;text-align:center}.team-role-selector{display:flex;flex-direction:row;flex-wrap:wrap;gap:1.25rem}.team-role-selector--disabled{opacity:.45;pointer-events:none}.team-role-option{align-items:center;cursor:pointer;display:flex;gap:.5rem}.team-role-option input[type=radio]{accent-color:#4a90d9;cursor:pointer;flex-shrink:0;height:15px;width:15px}.team-role-option__label{color:#1a2a3a;font-size:.8rem}.team-role-hint{color:#7a8a9a;font-size:.7rem;margin-top:.25rem}.tt-page{background:#dce9f5;display:flex;flex-direction:column;min-height:100vh}.tt-header{align-items:center;background:linear-gradient(135deg,#5b9fd6,#3a7bbf);box-shadow:0 2px 16px rgba(0,50,120,.2);display:flex;gap:1.5rem;justify-content:space-between;min-height:88px;padding:1rem 1.5rem;position:sticky;top:0;z-index:100}.tt-header__meta{flex-shrink:0}.tt-header__date{color:#fff;font-size:1.15rem;font-weight:700;line-height:1.2}.tt-header__kw{color:hsla(0,0%,100%,.75);font-size:.8rem;font-weight:700;line-height:1.3}.tt-content{flex:1;gap:1rem;margin:0 auto;max-width:860px;padding:1.5rem;width:100%}.home-body,.tt-content{display:flex;flex-direction:column}.home-body{background:#dce9f5;min-height:100vh}.home-header{background:linear-gradient(135deg,#5b9fd6,#3a7bbf);padding:1rem 2rem}.home-header__inner{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1000px}.home-header__brand{color:#fff;font-size:1.15rem;font-weight:700}.home-header__brand span{font-weight:400;opacity:.8}.home-hero{align-items:center;display:flex;flex:1;justify-content:center;padding:3rem 2rem}.home-hero__inner{max-width:600px;text-align:center}.home-hero__title{color:#1a2a3a;font-size:2.8rem;font-weight:700;line-height:1.2;margin-bottom:1.5rem}.home-hero__sub{color:#7a8a9a;font-size:1.15rem;line-height:1.5;margin-bottom:2.5rem}.home-hero__cta{font-size:1rem;padding:1rem 2.5rem}.report-page{background:#dce9f5;display:flex;flex-direction:column;min-height:100vh}.report-header{align-items:center;background:linear-gradient(135deg,#5b9fd6,#3a7bbf);box-shadow:0 2px 16px rgba(0,50,120,.2);display:flex;gap:1.5rem;justify-content:space-between;padding:1rem 1.5rem}.report-header__title{color:#fff;font-size:1.4rem;font-weight:700}.report-header__right{align-items:center;display:flex;gap:1rem}.report-account-name{align-items:center;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:hsla(0,0%,100%,.15);border:1px solid hsla(0,0%,100%,.25);border-radius:100px;color:hsla(0,0%,100%,.9);display:inline-flex;font-size:.8rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;white-space:nowrap}.report-account-name__icon{flex-shrink:0;height:16px;width:16px}.account-tab--disabled{cursor:default;opacity:.45;pointer-events:none}.report-content{flex:1;margin:1.5rem auto;max-width:1200px;padding:0 1.5rem;width:100%}.report-card{background:#fff;border-radius:16px;box-shadow:0 2px 12px rgba(0,60,120,.08);overflow:hidden}.report-toolbar{align-items:center;border-bottom:1px solid #d0d8e0;display:flex;justify-content:space-between;padding:.75rem 1.25rem}.report-toolbar__left{align-items:center;display:flex;gap:1.5rem}.report-toolbar__action{align-items:center;color:#4a90d9;cursor:pointer;display:inline-flex;font-size:.8rem;font-weight:500;gap:.5rem;text-decoration:none}.report-toolbar__action svg{flex-shrink:0;height:14px;width:14px}.report-toolbar__action--disabled{color:#7a8a9a;cursor:default;pointer-events:none}.report-table{width:100%}.report-table__head,.report-table__row{align-items:center;border-bottom:1px solid #d0d8e0;display:grid;grid-template-columns:110px 140px 130px 120px 140px 1fr 80px 100px 88px;padding:0 1.25rem}.report-table__head{background:transparent;padding-bottom:.5rem;padding-top:.5rem}.report-table__head .report-table__cell{color:#3a4a5a;font-size:.7rem;font-weight:700;letter-spacing:.03em;line-height:1.3;text-transform:uppercase}.report-table__row{padding-bottom:.75rem;padding-top:.75rem;transition:background .15s ease}.report-table__row:hover{background:rgba(74,144,217,.035)}.report-table__row:hover .report-action-btn{opacity:1}.report-table__row--invoiced .report-table__cell--client,.report-table__row--invoiced .report-table__cell--date,.report-table__row--invoiced .report-table__cell--duration,.report-table__row--invoiced .report-table__cell--note,.report-table__row--invoiced .report-table__cell--project,.report-table__row--invoiced .report-table__cell--revenue,.report-table__row--invoiced .report-table__cell--service,.report-table__row--invoiced .report-table__cell--user{color:#aab8c6}.report-table__row--editing{background:rgba(74,144,217,.04)}.report-table__row--editing .report-table__cell--actions{visibility:hidden}.report-table__row:last-child{border-bottom:none}.report-table__cell{color:#3a4a5a;font-size:.875rem;line-height:1.4;min-width:0;padding-right:.75rem}.report-table__cell--duration,.report-table__cell--revenue{font-variant-numeric:tabular-nums;padding-right:1rem;text-align:right;white-space:nowrap}.report-table__cell--actions{align-items:center;display:flex;gap:.25rem;justify-content:flex-end;padding-right:0}.report-table__cell--note{color:#7a8a9a;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-table__sort-icon{font-size:.7rem;margin-left:2px}.report-table__summary{color:#7a8a9a;display:block;font-size:.7rem;font-weight:400;margin-top:1px}.report-table__empty{color:#7a8a9a;font-size:.8rem;padding:2.5rem 1.25rem;text-align:center}.report-action-btn{align-items:center;background:none;border:none;border-radius:4px;color:#aab8c6;cursor:pointer;display:inline-flex;height:26px;justify-content:center;opacity:0;transition:opacity .15s ease,color .15s ease,background .15s ease;width:26px}.report-action-btn svg{height:14px;width:14px}.report-action-btn:hover{background:rgba(26,42,58,.06);color:#7a8a9a}.report-action-btn--delete:hover{background:rgba(200,50,50,.08);color:#c83232}.report-lock{align-items:center;background:none;border:none;border-radius:4px;color:#aab8c6;cursor:pointer;display:inline-flex;height:24px;justify-content:center;transition:color .15s ease,background .15s ease;width:24px}.report-lock svg{height:14px;width:14px}.report-lock:hover{background:rgba(26,42,58,.06);color:#7a8a9a}.report-lock--invoiced{color:#1a2a3a}.report-lock--invoiced:hover{background:rgba(26,42,58,.06);color:#1a2a3a}.report-row__edit{background:rgba(74,144,217,.025);border-top:1px solid #d0d8e0;grid-column:1/-1;padding:1rem 0}.report-row__edit-grid{align-items:center;display:grid;gap:.75rem 1.25rem;grid-template-columns:140px 1fr;max-width:680px}.report-row__edit-label{color:#7a8a9a;font-size:.8rem;padding-right:.5rem;text-align:right;white-space:nowrap}.report-row__edit-field{align-items:center;display:flex;gap:.5rem}.report-row__edit-field--selects{gap:.75rem}.report-row__edit-field--selects .select{flex:1;min-width:160px}.report-row__edit-field .textarea{width:100%}.report-row__edit-actions{display:flex;gap:.75rem;grid-column:2;padding-top:.5rem}.report-pagination{align-items:center;border-top:1px solid #d0d8e0;color:#7a8a9a;display:grid;font-size:.8rem;grid-template-columns:1fr 80px 100px 88px;padding:.75rem 1.25rem}.report-pagination__limits{align-items:center;display:flex;gap:.5rem}.report-pagination__limits a{color:#4a90d9;cursor:pointer;text-decoration:underline}.report-pagination__limits a:hover{color:#3178b8}.report-pagination__limits strong{color:#1a2a3a;font-weight:700}.report-pagination__duration,.report-pagination__revenue{color:#7a8a9a;font-variant-numeric:tabular-nums;font-weight:500;padding-right:1rem;text-align:right;white-space:nowrap}button.report-toolbar__action{background:none;border:none;border-radius:100px;cursor:pointer;font-family:DM Sans,Helvetica Neue,Helvetica,Arial,sans-serif;margin:-.25rem -.75rem;padding:.25rem .75rem;transition:background .15s ease,color .15s ease}button.report-toolbar__action--active{background:#1a2a3a;color:#fff}button.report-toolbar__action--active svg circle,button.report-toolbar__action--active svg path{stroke:#fff}.report-filter{background:#f0f0f0;border-bottom:1px solid #d0d8e0;padding:1.25rem 1.25rem 0}.report-filter__body{display:flex;gap:2.5rem}.report-filter__col{flex:1;max-width:66%;min-width:0}.report-filter__heading{color:#7a8a9a;font-size:.7rem;font-weight:700;letter-spacing:.06em;margin-bottom:.75rem;text-transform:uppercase}.filter-row{align-items:flex-start;border-bottom:1px solid rgba(208,216,224,.6);display:grid;gap:.75rem;grid-template-columns:160px 1fr;padding:.5rem 0}.filter-row:last-child{border-bottom:none}.filter-row--inactive .filter-note-input,.filter-row--inactive .filter-period-select,.filter-row--inactive .filter-select{color:#7a8a9a;opacity:.5}.filter-row--inactive .filter-row__add{opacity:.4}.filter-row--inactive .filter-radio{opacity:.5}.filter-row--inactive .filter-neg{opacity:.4;pointer-events:none}.filter-row__label{align-items:center;color:#3a4a5a;cursor:pointer;display:flex;font-size:.8rem;gap:.5rem;padding-top:7px;user-select:none}.filter-row__checkbox{accent-color:#4a90d9;cursor:pointer;flex-shrink:0;height:14px;width:14px}.filter-row__body{align-items:flex-start;display:flex;gap:.75rem}.filter-row__controls{display:flex;flex:1;flex-direction:column;gap:.5rem;min-width:0}.filter-row__control-group{align-items:center;display:flex;gap:.5rem}.filter-row__control-group .filter-note-input,.filter-row__control-group .filter-select{max-width:100%;width:300px}.filter-row__control-group--period{align-items:flex-start;flex-direction:column;gap:.5rem}.filter-row__control-group--radio{gap:1rem;padding-top:7px}.filter-row__meta{align-items:center;display:flex;flex-shrink:0;gap:.75rem;padding-top:7px;white-space:nowrap}.filter-row__meta--no-add{padding-left:calc(22px + .75rem)}.filter-row__add{align-items:center;background:#fff;border:1px solid #b8c4d0;border-radius:4px;color:#7a8a9a;cursor:pointer;display:flex;flex-shrink:0;font-size:1rem;height:22px;justify-content:center;line-height:1;transition:border-color .15s ease,color .15s ease;width:22px}.filter-row__add:hover{border-color:#4a90d9;color:#4a90d9}.filter-row__remove{align-items:center;background:none;border:none;border-radius:4px;color:#aab8c6;cursor:pointer;display:flex;flex-shrink:0;font-size:1rem;height:20px;justify-content:center;line-height:1;transition:color .15s ease,background .15s ease;width:20px}.filter-row__remove:hover{background:rgba(200,50,50,.08);color:#c83232}.filter-custom-dates{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.filter-custom-dates[hidden]{display:none}.filter-date-group{align-items:center;display:flex;gap:.5rem}.filter-date-label{color:#7a8a9a;flex-shrink:0;font-size:.8rem;width:26px}.filter-date-select{display:inline-block;width:auto}.filter-date-select--sm{min-width:60px;padding-right:1.5rem}.filter-date-select--month{min-width:100px;padding-right:1.5rem}.filter-radio{accent-color:#4a90d9;align-items:center;color:#3a4a5a;cursor:pointer;display:inline-flex;font-size:.8rem;gap:.25rem;user-select:none}.report-filter__footer{align-items:center;display:flex;gap:1rem;padding:1rem 0}.filter-footer__link{background:none;border:none;color:#7a8a9a;cursor:pointer;font-family:DM Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.8rem;padding:0;text-decoration:underline;text-underline-offset:2px;transition:color .15s ease}.filter-footer__link:hover{color:#3a4a5a}.filter-neg{align-items:center;color:#7a8a9a;cursor:pointer;display:inline-flex;font-size:.8rem;gap:.25rem;user-select:none;white-space:nowrap}.filter-neg input[type=checkbox]{accent-color:#b86200;cursor:pointer;flex-shrink:0;height:13px;width:13px}.filter-neg:has(input:checked){color:#b86200;font-weight:500}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{background:#dce9f5}